跳至主要內容
TODO 網站名稱

工程1 分鐘閱讀

網站開張:為什麼用 Astro 打造這個網站

(範例文章)記錄這個網站的技術選擇:Astro、Content Collections 與中英雙語路由。

這是一篇範例文章,用來驗證內容模型、雙語路由與程式碼區塊;正式上線前會替換。

為什麼是 Astro

內容型網站幾乎不需要前端框架的執行期,Astro 預設輸出純 HTML,需要互動的地方再按需載入。

零 JS 的預設

文章頁只有目錄高亮需要一小段腳本,其餘都是靜態 HTML。

雙語怎麼配對

中英版本使用相同檔名,例如 zh-tw/hello-world.mdx 與 en/hello-world.mdx。

src/i18n/utils.ts
export function getLocalizedPath(path: string, lang: Lang): string {
const clean = `/${path.replace(/^\/+/, '')}`;
return lang === defaultLang ? clean : `/${lang}${clean}`; // 預設語言不加前綴
}

改了什麼

const site = 'https://example.pages.dev';
const site = profile.site.url;

結語

之後的文章都會用 npm run new:post -- <slug> 建立。

← 返回文章列表