chore: Make docs URL configurable during build

This commit is contained in:
Sidharth Vinod
2026-01-28 11:37:12 +05:30
parent 7f551dbbe6
commit d72e91a7b8
7 changed files with 11 additions and 4 deletions
+1
View File
@@ -1,4 +1,5 @@
MERMAID_DOMAIN='' MERMAID_DOMAIN=''
MERMAID_DOCS_URL='https://mermaid.js.org'
MERMAID_ANALYTICS_URL='' MERMAID_ANALYTICS_URL=''
MERMAID_RENDERER_URL='https://mermaid.ink' MERMAID_RENDERER_URL='https://mermaid.ink'
MERMAID_KROKI_RENDERER_URL='https://kroki.io' MERMAID_KROKI_RENDERER_URL='https://kroki.io'
+1
View File
@@ -1,5 +1,6 @@
[build.environment] [build.environment]
MERMAID_ANALYTICS_URL = 'https://p.mermaid.live' MERMAID_ANALYTICS_URL = 'https://p.mermaid.live'
MERMAID_DOCS_URL = 'https://mermaid.js.org'
MERMAID_DOMAIN = 'mermaid.live' MERMAID_DOMAIN = 'mermaid.live'
MERMAID_RENDERER_URL = 'https://mermaid.ink' MERMAID_RENDERER_URL = 'https://mermaid.ink'
MERMAID_KROKI_RENDERER_URL = 'https://kroki.io' MERMAID_KROKI_RENDERER_URL = 'https://kroki.io'
+1
View File
@@ -4,6 +4,7 @@ interface ImportMetaEnv {
readonly MERMAID_RENDERER_URL?: string; readonly MERMAID_RENDERER_URL?: string;
readonly MERMAID_KROKI_RENDERER_URL?: string; readonly MERMAID_KROKI_RENDERER_URL?: string;
readonly MERMAID_ANALYTICS_URL?: string; readonly MERMAID_ANALYTICS_URL?: string;
readonly MERMAID_DOCS_URL?: string;
readonly MERMAID_DOMAIN?: string; readonly MERMAID_DOMAIN?: string;
readonly MERMAID_IS_ENABLED_MERMAID_CHART_LINKS?: string; readonly MERMAID_IS_ENABLED_MERMAID_CHART_LINKS?: string;
// more env variables... // more env variables...
+2 -1
View File
@@ -1,5 +1,6 @@
<script lang="ts"> <script lang="ts">
import type { EditorProps } from '$/types'; import type { EditorProps } from '$/types';
import { env } from '$/util/env';
import { stateStore } from '$/util/state'; import { stateStore } from '$/util/state';
import { initEditor } from '$lib/util/monacoExtra'; import { initEditor } from '$lib/util/monacoExtra';
import { errorDebug } from '$lib/util/util'; import { errorDebug } from '$lib/util/util';
@@ -52,7 +53,7 @@
schemas: [ schemas: [
{ {
fileMatch: ['config.json'], fileMatch: ['config.json'],
uri: 'https://mermaid.js.org/schemas/config.schema.json' uri: `${env.docsUrl}/schemas/config.schema.json`
} }
] ]
}); });
@@ -2,11 +2,12 @@
import { Button } from '$/components/ui/button'; import { Button } from '$/components/ui/button';
import { TID } from '$/constants'; import { TID } from '$/constants';
import type { DocumentationConfig } from '$/types'; import type { DocumentationConfig } from '$/types';
import { env } from '$/util/env';
import { standardizeDiagramType } from '$/util/mermaid'; import { standardizeDiagramType } from '$/util/mermaid';
import { stateStore } from '$/util/state'; import { stateStore } from '$/util/state';
import BookIcon from '~icons/material-symbols/book-2-outline-rounded'; import BookIcon from '~icons/material-symbols/book-2-outline-rounded';
const docURLBase = 'https://mermaid.js.org'; const docURLBase = env.docsUrl;
const docMap = { const docMap = {
architecture: { architecture: {
code: '/syntax/architecture.html' code: '/syntax/architecture.html'
+3 -2
View File
@@ -2,6 +2,7 @@
import McWrapper from '$/components/McWrapper.svelte'; import McWrapper from '$/components/McWrapper.svelte';
import * as Popover from '$/components/ui/popover'; import * as Popover from '$/components/ui/popover';
import { Switch } from '$/components/ui/switch'; import { Switch } from '$/components/ui/switch';
import { env } from '$/util/env';
import { urlsStore } from '$/util/state'; import { urlsStore } from '$/util/state';
import { cn } from '$/utils'; import { cn } from '$/utils';
import { mode, setMode } from 'mode-watcher'; import { mode, setMode } from 'mode-watcher';
@@ -41,13 +42,13 @@
{ {
label: 'Mermaid.js', label: 'Mermaid.js',
icon: MermaidTailIcon, icon: MermaidTailIcon,
href: 'https://mermaid.js.org/', href: env.docsUrl,
renderer: menuItem renderer: menuItem
}, },
{ {
label: 'Documentation', label: 'Documentation',
icon: BookIcon, icon: BookIcon,
href: 'https://mermaid.js.org/intro/', href: `${env.docsUrl}/intro/`,
renderer: menuItem renderer: menuItem
}, },
{ {
+1
View File
@@ -1,5 +1,6 @@
export const env = { export const env = {
analyticsUrl: import.meta.env.MERMAID_ANALYTICS_URL ?? '', analyticsUrl: import.meta.env.MERMAID_ANALYTICS_URL ?? '',
docsUrl: import.meta.env.MERMAID_DOCS_URL ?? 'https://mermaid.js.org',
domain: import.meta.env.MERMAID_DOMAIN ?? '', domain: import.meta.env.MERMAID_DOMAIN ?? '',
isEnabledMermaidChartLinks: import.meta.env.MERMAID_IS_ENABLED_MERMAID_CHART_LINKS === 'true', isEnabledMermaidChartLinks: import.meta.env.MERMAID_IS_ENABLED_MERMAID_CHART_LINKS === 'true',
krokiRendererUrl: import.meta.env.MERMAID_KROKI_RENDERER_URL ?? '', krokiRendererUrl: import.meta.env.MERMAID_KROKI_RENDERER_URL ?? '',