Hexo 使用

Undefined443發表於2024-07-02

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 搭建個人部落格站

  1. 使用 hexo-cli 初始化一個專案。

    npx hexo-cli init <repository>
    
  2. 修改 Hexo 配置檔案。

    編輯 _config.yml,將這下面段配置中的 URL 改為 <github-username>.github.io/<repository>

    • 其中 <github-username> 是你的 GitHub 使用者名稱,<repository> 是當前庫名。
    url: http://example.com
    
  3. 建立 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 的版本。

  4. 在 GitHub 上建立同名新倉庫。

  5. 編輯倉庫配置,開啟 Settings > Pages,並將 Source 改為 GitHub Actions

  6. 將本地專案上傳到 GitHub。

  7. 開啟 https://<github-username>.github.io/<repository> 檢視效果。

參見:Hexo 文件

相關文章