用hugo搭建博客并设置blowfish主题的简单教程

·
m1ngFU
m1ngFU
落花慵扫,留衬苍苔

待完善….

下载资源
#

HUGO
点击右上角github图标,进入HUGO的Releases界面,选择适合系统的版本下载。Windows系统选windows-amd64.zip结尾的文件,没找到的话点Assets里的Show all。

blowfish
点击右上角github图标,进入blowfish的Releases界面,选择Source code(zip)下载。也可以通过HUGO官网,进入THEME页面,寻找喜欢的主题。

安装hugo
#

将hugo.exe解压到一个文件夹中。在文件夹的路径里输入cmd,新界面中输入hugo newsite {文件夹名称}。文件夹名称自定义。

hugo new site {文件夹名称}

把hugo.exe复制到文件夹中,在新的文件夹中打开cmd。输入hugo server -D,显示Web Server is available at http://localhost:1313/ (bind address 127.0.0.1)即为运行成功。点击http://localhost:1313/,可以打开页面。

hugo server -D

不出意外的话,浏览器应该显示Page Not Found,这是因为没有设置主页。

安装主题
#

将blowfish文件夹解压到themes文件夹下,删去后面的版本号。进入blowfish文件夹,将config文件夹复制到hugo文件夹中。

打开config\_default\hugo.toml,把theme = "blowfish"取消注释,然后刷新浏览器,就会显示blog页面了。

配置
#

语言配置
#

这里只设置中文。打开hugo.toml,把defaultContentLanguage的值改为cn。把languages.en.tomlmenus.en.toml文件名中的en也改为cn。打开languages.cn.toml,把displayNameisoCode的值全部改为cn。

网站logo与个人信息
#

取消注释logodescription以及params.author下除links以外的所有内容。
准备两个图片,储存在assets\img文件夹下,第一个命名为logo.png,用于的网站logo,第二个命名为blowfish_logo.png,用于个人头像。

个人信息如下

[params.author]
  name = "你的名字"
  email = "你的邮箱@example.com"
  image = "img/blowfish_logo.png"          # 头像,显示在主页面
  imageQuality = 96
  headline = "I'm only human"              # 一句话,显示在主页面的头像下面
  bio = "A little bit about you"           # 显示在文章前、头像后
  links = [                                # 个人链接
    { email = "mailto:hello@your_domain.com" },
    ......
  ]

第一篇blog
#

输入hugo new posts/my-first-post.md,会在ontent文件夹下创建posts/my-first-post.md。打开它,可以看到如下内容。

+++
date = '2025-05-08T20:23:25+08:00'   # 创建日期
draft = true    # 草稿。改为true可以直接渲染,启动时不yong 输入`-D`命令
title = 'My First Post'              # blog名称
+++

blog使用markdown语法书写,如果已经运行了hugo,保存文件后会自动生成页面。markdown语法较为简单,自行学习即可。

托管github pages
#

现在blog文件夹中新建.github\workflows\deploy.yml,等下会用到。

github设置
#

这里将设置两个仓库,一个用于保存blog数据,一个用于显示网页。

新建一个源码仓库,名称随意,为演示命名为blog_source,设置为Private,点击Create repository

新建第二个仓库,命名为<github账户名>.github.io,设置为Public,点击Create repository。 ###

配置token。点击头像-Setting-Developer settings- Personal access tokens-Tokens (classic),点击右上角Generate new token-Generate new token (classic),设置一个名称(Note),时间(Expiration)设置为永久(No expiration),勾上repoworkflow。点击Generate token生成token,然后复制。退出界面后token不会再次现世。

本地设置
#

打开blog_source仓库,点击Settings-Secrets and variables-Actions-New repository secret,在Secret输入秘钥,名称随意,点击Add secret
回到blog文件夹,打开.github\workflows\deploy.yml,将以下内容粘贴进去

name: deploy

on:
  push:
    branches:
      - main 

jobs:
  deploy:
    runs-on: ubuntu-latest

    steps:
      - name: Checkout repository
        uses: actions/checkout@v2
        with:
          submodules: true
          fetch-depth: 0

      - name: Set up Hugo
        uses: peaceiris/actions-hugo@v2
        with:
          hugo-version: "latest"

      - name: Build and Deploy
        run: |
          hugo -F --cleanDestinationDir

      - name: Deploy to GitHub Pages
        uses: peaceiris/actions-gh-pages@v3
        with:
          PERSONAL_TOKEN: ${{ secrets.BLOG }}
          EXTERNAL_REPOSITORY: m1ngfu/m1ngfu.github.io  # 你的GitHub Pages仓库
          PUBLISH_BRANCH: main # 你的GitHub Pages分支
          PUBLISH_DIR: ./public
          commit_message: ${{ github.event.head_commit.message }}

完成后,推送至github仓库即可(过程略)