Add bilingual manual and localized docs routes

This commit is contained in:
2026-08-14 11:16:37 +09:00
parent 3645a2cc2d
commit cda32cc260
85 changed files with 2316 additions and 71 deletions
@@ -1,20 +0,0 @@
---
import ManualLayout from '../../layouts/ManualLayout.astro';
import { allDocSlugs, docTitle, renderMarkdown } from '../../lib/docs.js';
import '@fontsource/ibm-plex-sans-jp/400.css';
import '@fontsource/ibm-plex-sans-jp/600.css';
export function getStaticPaths() {
return allDocSlugs().map((slug) => ({
params: { slug },
props: { slug },
}));
}
const { slug } = Astro.props;
const html = renderMarkdown(slug);
const title = docTitle(slug);
---
<ManualLayout title={`${title} — Decodal Manual`} active={slug}>
<article class="markdown" set:html={html} />
</ManualLayout>
@@ -0,0 +1,20 @@
---
import ManualLayout from '../../../layouts/ManualLayout.astro';
import { allDocSlugs, docTitle, renderMarkdown } from '../../../lib/docs.js';
import '@fontsource/ibm-plex-sans-jp/latin-400.css';
import '@fontsource/ibm-plex-sans-jp/latin-600.css';
export function getStaticPaths() {
return allDocSlugs('en').map((slug) => ({
params: { slug },
props: { slug },
}));
}
const { slug } = Astro.props;
const html = renderMarkdown(slug, 'en');
const title = docTitle(slug, 'en');
---
<ManualLayout title={`${title} — Decodal Manual`} active={slug} locale="en">
<article class="markdown" set:html={html} />
</ManualLayout>
@@ -0,0 +1,16 @@
---
import ManualLayout from '../../../layouts/ManualLayout.astro';
import { renderMarkdown } from '../../../lib/docs.js';
import '@fontsource/ibm-plex-sans-jp/latin-400.css';
import '@fontsource/ibm-plex-sans-jp/latin-600.css';
const html = renderMarkdown('index', 'en');
---
<ManualLayout
title="Decodal Manual"
description="The Decodal language specification and public APIs for embedding it in applications."
active="index"
locale="en"
>
<article class="markdown" set:html={html} />
</ManualLayout>
+1 -9
View File
@@ -1,11 +1,3 @@
---
import ManualLayout from '../../layouts/ManualLayout.astro';
import { renderMarkdown } from '../../lib/docs.js';
import '@fontsource/ibm-plex-sans-jp/400.css';
import '@fontsource/ibm-plex-sans-jp/600.css';
const html = renderMarkdown('index');
return Astro.redirect('/docs/en/');
---
<ManualLayout title="Decodal Manual" description="Decodalの言語仕様と、アプリケーションへ組み込むための公開API。" active="index">
<article class="markdown" set:html={html} />
</ManualLayout>
@@ -0,0 +1,20 @@
---
import ManualLayout from '../../../layouts/ManualLayout.astro';
import { allDocSlugs, docTitle, renderMarkdown } from '../../../lib/docs.js';
import '@fontsource/ibm-plex-sans-jp/400.css';
import '@fontsource/ibm-plex-sans-jp/600.css';
export function getStaticPaths() {
return allDocSlugs('ja').map((slug) => ({
params: { slug },
props: { slug },
}));
}
const { slug } = Astro.props;
const html = renderMarkdown(slug, 'ja');
const title = docTitle(slug, 'ja');
---
<ManualLayout title={`${title} — Decodalマニュアル`} active={slug} locale="ja">
<article class="markdown" set:html={html} />
</ManualLayout>
@@ -0,0 +1,16 @@
---
import ManualLayout from '../../../layouts/ManualLayout.astro';
import { renderMarkdown } from '../../../lib/docs.js';
import '@fontsource/ibm-plex-sans-jp/400.css';
import '@fontsource/ibm-plex-sans-jp/600.css';
const html = renderMarkdown('index', 'ja');
---
<ManualLayout
title="Decodalマニュアル"
description="Decodalの言語仕様と、アプリケーションへ組み込むための公開API。"
active="index"
locale="ja"
>
<article class="markdown" set:html={html} />
</ManualLayout>