Hexo 是一個靜態部落格站點生成工具,可以將 Markdown 格式的文件轉換成靜態頁面,非常適合用來做個人技術部落格。
常用命令
建站
npx hexo-cli init blog # 初始化一個部落格站
npx hexo-cli server # 啟動部落格站,用於除錯
npx hexo-cli generate # 生成靜態頁面到 public 目錄
npx hexo-cli deploy # 一鍵部署
靜態頁面目錄 public
下的檔案可以放到 Nginx 配置目錄下作為一個站點。
寫作
npx hexo-cli new <title> # 建立 Markdown 檔案
vim source/_posts/<title>.md # 編輯 Markdown 檔案
使用 Hexo + GitHub Pages 搭建個人部落格站
-
使用
hexo-cli
初始化一個專案。npx hexo-cli init <repository>
-
修改 Hexo 配置檔案。
編輯
_config.yml
,將這下面段配置中的 URL 改為<github-username>.github.io/<repository>
。- 其中
<github-username>
是你的 GitHub 使用者名稱,<repository>
是當前庫名。
url: http://example.com
- 其中
-
建立 GitHub Actions 配置檔案
編輯
.github/workflows/pages.yml
:name: Pages on: push: branches: - main # default branch jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 with: token: ${{ secrets.GITHUB_TOKEN }} # If your repository depends on submodule, please see: https://github.com/actions/checkout submodules: recursive - name: Use Node.js 20 uses: actions/setup-node@v4 with: # Examples: 20, 18.19, >=16.20.2, lts/Iron, lts/Hydrogen, *, latest, current, node # Ref: https://github.com/actions/setup-node#supported-version-syntax node-version: "20" - name: Cache NPM dependencies uses: actions/cache@v4 with: path: node_modules key: ${{ runner.OS }}-npm-cache restore-keys: | ${{ runner.OS }}-npm-cache - name: Install Dependencies run: npm install - name: Build run: npm run build - name: Upload Pages artifact uses: actions/upload-pages-artifact@v3 with: path: ./public deploy: needs: build permissions: pages: write id-token: write environment: name: github-pages url: ${{ steps.deployment.outputs.page_url }} runs-on: ubuntu-latest steps: - name: Deploy to GitHub Pages id: deployment uses: actions/deploy-pages@v4
將檔案中的
20
改為你實際使用的 Node.js 的版本。 -
在 GitHub 上建立同名新倉庫。
-
編輯倉庫配置,開啟
Settings
>Pages
,並將Source
改為GitHub Actions
。 -
將本地專案上傳到 GitHub。
-
開啟
https://<github-username>.github.io/<repository>
檢視效果。
參見:Hexo 文件