Hugo搭建个人博客(1)

Hugo是由Go语言实现的静态网站生成器。其特点如下:

  • 简单、易用、高效、易扩展、快速部署。
  • Hugo可配合GitHub Pages进行托管。

步骤

1. 安装Hugo

Hugo Releases下载对应平台的二进制文件或压缩包,安装方法如下。

  • 通用

    • tar.gz压缩包解压并安装:
      1
      2
      3
      
      tar -zxvf <对应平台>.tar.gz -C /usr/local/bin \
        && cd /usr/local/bin \
          && rm LICENSE README.md
      
  • Debian系

    • deb文件安装(推荐):

      1
      
      dpkg -i <对应平台>.deb
      

      卸载也方便,需不需要保留配置文件根据需求决定即可(好像hugo也没配置文件XD)。

      1
      2
      3
      
      dpkg -l # 列出已安装包,找到hugo的包名。
      dpkg -r 包名 # 删除包,但保留配置文件。
      dpkg -P 包名 # 删除包,且删除配置文件。
      
    • APT安装(官方不推荐,因为版本较老):

      1
      
      apt install hugo
      
  • 其他系统: 参照官方安装文档

运行以下命令,输出版本信息则安装成功。

1
hugo version

2. 生成站点

1
2
hugo new site /path/to/site -f yml \
  && cd /path/to/site

3. 安装主题

本次使用 Hugo PaperMod 进行演示,安装方法 在此 ,采用 Method 1

  • 在网站根目录执行命令即可:
    1
    
    git clone https://github.com/adityatelange/hugo-PaperMod themes/PaperMod --depth=1
    
  • 更新主题:
    1
    2
    
    cd themes/PaperMod
    git pull
    

4. 新建文章

创建一个about页面:

1
hugo new about.md

about.md自动生成到了content/about.md,打开about.md看下:

1
2
3
4
5
6
7
---
title: "About"
date: 2022-01-22T10:45:17Z
draft: true
---

# 正文

内容是Markdown格式的,---之间的内容是YAML格式的,根据你的喜好,你可以换成TOML格式(使用+++标记)或者JSON格式,个人推荐YAML
创建第一篇文章,放到post目录,方便之后生成聚合页面。

1
hugo new posts/first.md

使用Markdown语法编辑first.md正文内容即可

5. 运行Hugo,上线网站

在网站根目录执行

1
hugo server --buildDrafts

以上为默认启动,--buildDrafts用于是否显示草稿文章,另外默认只允许本机访问;如果希望其他人也可以通过ip访问,使用以下命令

1
hugo server -b "http://ip:8080" -p 8080 --bind "0.0.0.0" --gc
  • -b http://ip:8080是由于其他人访问的时候,静态资源默认是localhost,所以需要指向自己ip地址和默认端口。
  • -p 8080默认端口1313,指定端口8080
  • --bind "0.0.0.0",默认启动只允许本机访问,所以需要bind所有机器都可以访问。

官方命令文档:Commands

引用