跳至主要内容

Docusaurus

搜尋

本站使用Local Search的做法,可參考

中文化

  • 先在docusaurus.config.js 加入 i18n 選項
  i18n: {
defaultLocale: 'zh-Hant', // 預設語系
locales: ['zh-Hant'], // 支援的語系
localeConfigs: {
'zh-Hant': {
label: '繁體中文', // 語系切換選單上的名稱
},
},
},
  • 執行指令
npm run write-translations -- --locale zh-Hant
  • 之後去 i18n/zh-Hant/* 底下去做修改即可

預設深色模式

資訊

我喜歡黑黑的,我喜歡深色模式

  themeConfig: {
// 其他設定...
colorMode: {
defaultMode: 'dark', // 預設深色
disableSwitch: false, // 是否允許使用者切換(true = 不允許)
respectPrefersColorScheme: false, // 是否依照使用者系統設定
},
},

將某文章置頂

  • 建立一個控制 theme 的 index.js
// src/theme/BlogListPage/index.js
import BlogListPage from "@theme-original/BlogListPage";

export default function BlogListPageWrapper(props) {
const { items } = props;

// 將 sticky=true 的文章排在最上面
const sortedItems = [...items].sort((a, b) => {
const aSticky = a.content.frontMatter.sticky ? 1 : 0;
const bSticky = b.content.frontMatter.sticky ? 1 : 0;
if (aSticky !== bSticky) return bSticky - aSticky; // sticky 的排前面
return (
new Date(b.content.metadata.date) - new Date(a.content.metadata.date)
); // 其餘照日期
});

return <BlogListPage {...props} items={sortedItems} />;
}

這樣只要文章加入 sticky 這個屬性就可以了

title: 架站筆記
date: "2025-10-31 23:36:55+08:00"
hide_table_of_contents: false
sticky: true