跳轉到

如何部署網站

當你在本地完成筆記撰寫後,最後一步就是將這些 Markdown 檔案轉換為瀏覽器可讀的 HTML 網頁,若是要放在私有伺服器中使用(例如公司機密資訊),直接使用 Build 的方式生成 HTML 檔即可;若是要部署至網路上,可以搭配 Github Pages 完成,再透過 Cloudflare Pages 免費將網站部署,如果你有購買網域的話,也可以為網站自訂網域,網域購買講求便宜快速的話,直接透過 Clouflare 購買即可,最便宜的非特殊 .com 域名換算台幣大約一年 300 元左右。

手動生成靜態網頁 (Build)

如果你只是想在本地開啟網頁,或是手動將檔案上傳到自己的虛擬主機,可以使用 MkDocs 內建的構建功能。

執行指令

在專案根目錄執行:

mkdocs build

產出結果

執行後,專案中會出現一個名為 site/ 的資料夾。

  • 內容:這是一個完整的靜態網站,包含所有的 HTML、CSS、JS 與圖片。
  • 使用:直接將 site/ 內的檔案拖入任何支援靜態網頁的空間。

上傳至 GitHub 並透過 Cloudflare Pages 發布

部署前置作業

  1. 需要先申請 Github 與 Cloudflare 帳號
  2. 如果有額外外掛(例如:mkdocs-material、literate-nav),在專案下必須要有一個 requirements.txt,並寫入
mkdocs<2.0.0
mkdocs-material
mkdocs-literate-nav

上傳至 Github

  1. 在 Github 上創建一個專案倉庫(Repository),可以設為 Private,會生成上傳的指令
  2. 將 MkDocs 資料上傳,在終端機依序輸入

    git init
    git add .
    git commit -m "更新說明"
    git branch -M main
    git remote add origin https://github.com/XXX.git 
    git push -u origin main
    
    3. 至此可以選擇透過 Github Pages 部署,但國內速度會比較慢,建議部署到 Cloudflare Pages 上

部署至 Cloudflare Pages

  1. 登入 Cloudflare 控制台
  2. Workers & Pages > Create application > Pages
  3. 連結 GitHub 帳號並選擇 MkDocs 專案的儲存庫
  4. Build settings 中設定如下:
    • Framework preset: None
    • Build command: pip install -r requirements.txt && mkdocs build
    • Build output directory: site
  5. 點擊 Save and Deploy,會生成一個網址(例如 my-notes.pages.dev).此為免費且內建 SSL 憑證
  6. 網站更新:之後網站內容若有更新,只要你推送程式碼到 GitHub,Cloudflare 就會自動更新網站

    git add .
    git commit -m "更新說明"
    git push
    
    8. 若有購買個人網址,可以綁定個人網址

綁定個人網址

  1. 在 Cloudflare Pages 專案頁面中點選 Custom domains
  2. 點擊 Set up a custom domain 並輸入你的網址
  3. 若你的網域就在 Cloudflare 管理,系統會自動幫你設定 DNS 解析
  4. 若網域在其他平台,請依照指示在該平台的 DNS 設定中加入一筆 CNAME 紀錄,指向你的 pages.dev 網址,若在 Cloudflare 購買的網域不會有這個問題