如何部署網站
當你在本地完成筆記撰寫後,最後一步就是將這些 Markdown 檔案轉換為瀏覽器可讀的 HTML 網頁,若是要放在私有伺服器中使用(例如公司機密資訊),直接使用 Build 的方式生成 HTML 檔即可;若是要部署至網路上,可以搭配 Github Pages 完成,再透過 Cloudflare Pages 免費將網站部署,如果你有購買網域的話,也可以為網站自訂網域,網域購買講求便宜快速的話,直接透過 Clouflare 購買即可,最便宜的非特殊 .com 域名換算台幣大約一年 300 元左右。
手動生成靜態網頁 (Build)
如果你只是想在本地開啟網頁,或是手動將檔案上傳到自己的虛擬主機,可以使用 MkDocs 內建的構建功能。
執行指令
在專案根目錄執行:
產出結果
執行後,專案中會出現一個名為 site/ 的資料夾。
- 內容:這是一個完整的靜態網站,包含所有的 HTML、CSS、JS 與圖片。
- 使用:直接將
site/內的檔案拖入任何支援靜態網頁的空間。
上傳至 GitHub 並透過 Cloudflare Pages 發布
部署前置作業
- 需要先申請 Github 與 Cloudflare 帳號
- 如果有額外外掛(例如:mkdocs-material、literate-nav),在專案下必須要有一個
requirements.txt,並寫入
上傳至 Github
- 在 Github 上創建一個專案倉庫(Repository),可以設為 Private,會生成上傳的指令
-
將 MkDocs 資料上傳,在終端機依序輸入
3. 至此可以選擇透過 Github Pages 部署,但國內速度會比較慢,建議部署到 Cloudflare Pages 上
部署至 Cloudflare Pages
- 登入 Cloudflare 控制台
- Workers & Pages > Create application > Pages
- 連結 GitHub 帳號並選擇 MkDocs 專案的儲存庫
- 在 Build settings 中設定如下:
- Framework preset: None
- Build command:
pip install -r requirements.txt && mkdocs build - Build output directory:
site
- 點擊 Save and Deploy,會生成一個網址(例如
my-notes.pages.dev).此為免費且內建 SSL 憑證 -
網站更新:之後網站內容若有更新,只要你推送程式碼到 GitHub,Cloudflare 就會自動更新網站
8. 若有購買個人網址,可以綁定個人網址
綁定個人網址
- 在 Cloudflare Pages 專案頁面中點選 Custom domains
- 點擊 Set up a custom domain 並輸入你的網址
- 若你的網域就在 Cloudflare 管理,系統會自動幫你設定 DNS 解析
- 若網域在其他平台,請依照指示在該平台的 DNS 設定中加入一筆 CNAME 紀錄,指向你的
pages.dev網址,若在 Cloudflare 購買的網域不會有這個問題