在 docusaurus 新增兩個以上的 blog 頁面
在設定 docusaurus 時我想要網站能有兩個以上 blog 的頁面排列方式的網頁。我想要有一個 blog 發常規 blog 貼文,另一個發一些幹文,markdown 檔案樹如下,預計用這三個目錄產生兩個 blog 樣式和一個文檔樣式的網頁。至於為什麼我把 Thread 多打一個 a ,因為這樣目錄在排列的時候才會排的比較上面啊,我想讓這三個資料夾排在一起嘛XD。docusaurus 預設會認檔案路徑生成網頁導覽路徑,不過最後我會想辦法讓別人在看的時候讀到的會是 'Thread' 的,不用擔心,有的是方法。
root
├── aThread
│ ├── blog2.md
├── blog
│ ├── blog1.md
├── docs
│ ├── doc1.md
│
下略...
我原本很理所當然的在 docusaurus.config.js 裡面的 themeConfig > item 加上目錄的路徑就覺得能動了,但這隻傻恐龍好像一直找不到頁面回報 404 。找不到也很正常,items 只是告訴小恐龍上方 bavbar 要放什麼而已,壓根就沒生成這一頁,點進去當然是壞掉的。
items: [
{
type: 'docSidebar',
sidebarId: 'tutorialSidebar',
position: 'right',
label: '文章',
},
{to: '/blog', label: 'Blog', position: 'right'},
{to: '/aThread', label: 'Thread', position: 'right'},//我一開始只加了這一行,這樣還不夠,這只是在 nav bar 生成連結的文字
{
href: 'https://github.com/iach526526',
label: 'GitHub',
position: 'right',
},
],
},
//下略...
後來我發現還要在 docusaurus.config.js 加入 plugin-content-blog 這個擴充套件,如果安裝的時候用的是 classic 主題會預設裝好,沒有的話可以參考這篇官方文檔安裝
plugins: [
[
'@docusaurus/plugin-content-blog',
{
id: 'Thread',
routeBasePath: 'Thread',
path: './aThread',
},
],
]
這樣就能告訴告訴 docusaurus 要去 path(./aThread) 這個資料夾去生成 blog 樣式的網站,並且在網址列上把它的路徑命名成 routeBasePath (Thread)。所以之後只要在站內找 /Thread 就會進到以 aThread 這個資料夾內容生成的網頁了。
最後如果要讓這個路徑可以出現在 navbar 直接被點到的話可以在 items 底下這樣寫:
{to: '/Thread', label: 'Thread', position: 'right'}