靜態網站產生器Docusaurus
靜態網站生成器
這邊先簡單介紹靜態網站生成器(Static Site Generator,簡稱 SSG)
靜態網站生成器是一種可以將原始內容(例如:Markdown 文本格式)轉換為靜態網頁的工具,可以直接佈署到網路形成一個靜態網站。相較於動態網站,靜態網站具有較少的安全風險、較快的加載速度、較容易維護等優點。
目前常見的靜態網站生成器:
Jekyll:使用 Ruby 編寫的靜態網站生成器,是 GitHub Pages 的默認生成器。它使用 Liquid 模板語言和 Markdown 標記語言,可以輕鬆地構建博客、文檔網站等。
Gatsby:使用 React 編寫的靜態網站生成器,具有現代化、高度可定製化等優點。它支持多種數據源、多主題、多語言等功能,並且可以輕鬆地集成各種前端框架和工具。
Hugo:使用 Go 編寫的靜態網站生成器,具有快速、高效、易於使用等優點。它支持多種內容格式(包括 Markdown、AsciiDoc 等)、多語言、多主題等功能。
Hexo:使用 Node.js 編寫的靜態網站生成器,特別受到中文社區的歡迎,具有快速、易於使用等優點。支持多種主題、多語言、多數據源等功能,並且可以輕鬆地集成各種前端框架和工具。
實際上還有更多其他語言編寫的生成器,目前上述幾種是較常見的。
不使用網路上部落格平台,打算自己架設的原因:
- 主要目的是為了要放置筆記資料,不需要高曝光度或是社群功能。
- 文件資料確保在自己手上,不用擔心哪天部落格平台關閉要怎麼辦。
- 各種意義的高自由度,版面、功能等都能自己決定(依照個人能力)。
- 版面不會有廣告。
- 靜態網頁空間容易找,直接使用 GitHub Pages 也不需要費用。
最初其實是打算使用 Hexo 作為這次的架站工具,因為是以 Node.js 編寫的套件,所以稍微懂一些 javascript 語法應該也是能比較好上手,實際嘗試安裝使用的確是很簡單,但在套用主題的部分總是找不到喜歡的版面,要自己想辦法寫一個版面又變成沒有快速建立的意義,最後放棄 Hexo 改為使用目前中文語系比較少人分享的 Docusaurus,簡潔版面和可折疊的文檔目錄就是自己一直想找的主題。
Docusaurus
首先貼上官方中文說明
Docusaurus 是一款静态站点生成器。 可以搭建带有快速客户端导航的单页应用,充分利用了 React,让你的网站具有交互能力。 它提供了开箱即用的文档功能,不过也可用于搭建各种网站(个人网站、产品、博客、营销主页,等等)。
Docusaurus 是一個由 Facebook 開發的開源工具,使用 React 編寫可以快速建立靜態文檔或網誌網站。具有以下特色:
- 如果不要求客製化版面,簡單幾個設定就可以直接做成一個文檔網站或部落格。
- 支援 Markdown 標記語法,只要使用少數符號就可以完成文章排版。
- 文檔內可使用 JSX 語法來導入 React 元件。
- 版面可高度客製化,此部分必須懂 React 才可以實現,整個網站基本上都是以 React 元件組成。
- 支援多語系,支援 i18n,可使用 Crowdin 將文檔翻譯成其他語言。
- 輕鬆佈署,網路上其實可以找到不少文章分享幾分鐘佈署到靜態網站空間,只需要幾個步驟就可以完成。
非熟練的網站工程師的話,實際使用上應該還是會有蠻多地方碰到問題,之後會在另外的文章說明使用心得與過程。