Hugo搭建博客
教你如何简单地搭建属于自己的博客。
一、安装hugo
本人以window系统为例,介绍如何安装Hugo,具体可见官方文档 。
- 下载hugo二进制文件hugo_extended_0.102.2_Windows-64bit.zip
- 再配置环境变量,若你的
hugo.exe
的位置为C:\environment\hugo\hugo.exe
,就在用户环境变量path
中配置C:\environment\hugo
。 - 配置完后重启计算机。
二、 创建站点
-
创建站点文件并安装主题
选择你站点文件夹所要存放的位置,命令行中cd进入该位置,使用
new
命令创建站点1
hugo new site blog
进入blog文件夹,下载主题。本人采用 LoveIt 主题,文档地址 。当然也可以配置其它主题。下载 LoveIt 主题方法如下:
1 2
cd blog git clone https://github.com/dillonzq/LoveIt.git themes/LoveIt
也可以下载主题.zip 文件,解压后放在themes目录下。
-
LoveIt 主题的基本配置
将lovelt的基本配置放于config.toml文件中,直接覆盖config.toml即可。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
baseURL = "http://example.org/" # 更改使用 Hugo 构建网站时使用的默认主题 theme = "LoveIt" # 网站标题 title = "我的全新 Hugo 网站" # 网站语言, 仅在这里 CN 大写 ["en", "zh-CN", "fr", "pl", ...] languageCode = "zh-CN" # 语言名称 ["English", "简体中文", "Français", "Polski", ...] languageName = "简体中文" # 是否包括中日韩文字 hasCJKLanguage = true # 作者配置 [author] name = "xxxx" email = "" link = "" # 菜单配置 [menu] [[menu.main]] weight = 1 identifier = "posts" # 你可以在名称 (允许 HTML 格式) 之前添加其他信息, 例如图标 pre = "" # 你可以在名称 (允许 HTML 格式) 之后添加其他信息, 例如图标 post = "" name = "文章" url = "/posts/" # 当你将鼠标悬停在此菜单链接上时, 将显示的标题 title = "" [[menu.main]] weight = 2 identifier = "tags" pre = "" post = "" name = "标签" url = "/tags/" title = "" [[menu.main]] weight = 3 identifier = "categories" pre = "" post = "" name = "分类" url = "/categories/" title = "" # Hugo 解析文档的配置 [markup] # 语法高亮设置 (https://gohugo.io/content-management/syntax-highlighting) [markup.highlight] # false 是必要的设置 (https://github.com/dillonzq/LoveIt/issues/158) noClasses = false
-
创建第一篇博客并启动网站
1 2
hugo new posts/first_post.md #创建第一篇博客 hugo serve --buildDrafts #启动网站
访问http://localhost:1313可查看网站。
-
博客文件first_post.md会放置在content文件夹中的posts文件夹下。以后想要写博客,都要采用
hugo new
的方式,将博客放置在posts文件夹中。想要删除博客,只需删掉posts文件夹下对应的博客md文件即可。
三、将博客部署到github
GitHub拥有一个GitHub pages功能,可以充当部署静态网站的服务器。
-
首先在GitHub上创建一个Repository,命名为:
你的github用户名.github.io
。 -
执行
Hugo
命令生成最终页面1 2
hugo --theme=LoveIt --baseUrl="https://chengsecret.github.io/" --buildDrafts # chengsecret.github.io为我的GitHubPages地址,改成你的即可
-
上述步骤会生成public文件夹,将public文件夹push到GitHub的
你的github用户名.github.io
仓库中即可。1 2 3 4 5 6 7 8
cd public git init git add . git commit -m "first commit" git branch -M main git remote add origin git@github.com:chengsecret/chengsecret.github.io.git # 修改为自己的仓库地址 git push -u origin main
浏览器访问https://chengsecret.github.io/,成功!(可能会有延迟,可以过一会儿再访问)
-
后续要再上传博客的话,可以:
1 2 3 4 5 6 7
hugo new posts/second_post.md #创建第二篇博客 # .....编写你的博客second_post.md hugo --theme=LoveIt --baseUrl="https://chengsecret.github.io/" cd public git add . git commit -m "second commit" git push -u origin main
-
后续再根据自己的喜好和LoveIt官网 ,编辑配置文件config.toml
四、githubpages自定义域名
如果你拥有域名,可以用自己的域名来访问你的博客。因为githubpages已经充当了搭建博客的服务器角色。因此,只需两步即可完成用自己的域名来访问博客。
-
进入服务商(如腾讯云)提供的域名管理界面,添加域名解析。记录类型CHAME表示域名指向的也是一个域名,记录值填GitHub博客访问域名。
-
在GitHub的XXX.github.io仓库中,点击settings—->pages—–>custom domain中,填入你的域名,点击save即可。完成后,就可以通过blog.koisecret.site来访问博客了。此操作会在代码中生成一个CNAME文件,因此本地git要pull一下,防止下次提交的冲突。
-
后续还可以自己搜索,如何使用CDN加快博客的访问速度,毕竟现在的博客仍然是放在GitHub服务器上的,访问速度可能会比较慢。
五、在多台电脑写博客?
现在的xxx.github.io仓库中,存放的是hugo生成的public文件夹。如果你有多台电脑(实验室一台、寝室一台…),想要哪里都能用hugo写博客,那就必须保证content文件夹中的md文件同时保存在你使用的多台电脑中,并且多台电脑上hugo的主题、配置等都需完全一样,否则生成的public文件夹会各不相同,你无法在多台电脑上上传博客。
怎么办?将整个blog站点文件夹都上传到仓库中,再通过git来同步多台电脑中的文件。
-
Github Pages默认是将仓库根目录作为网页进行发布,只需在settings—->pages中,将
/root
改为/docs
,GitHub pages就会将读取网站的目录改为docs
目录。 -
修改config.toml文件,将生成的静态页面文件夹设置到 docs 下,而不是 publish
1 2
baseURL = "https://blog.koisecret.site/" # 设置为 github pages 发布的地址 publishDir = "docs" # 将生成的静态页面文件夹设置到 docs 下,而不是 publish
-
再次用hogu命令创建博客以及构建网站,会发现此时生成的网站不在public文件夹中,而在docs文件夹中。
-
将整个blog站点文件夹通过git上传至githubpages即可。如果有冲突,可以:
1
git push -f --set-upstream origin main:main
-
在另一台电脑上,安装hugo,使用
git clone
从github上下载整个blog站点文件夹,那两台电脑上的文件就一模一样了。
遇到的问题
我在另一台电脑上使用hugo命令报错 Failed to read Git log: Git executable not found in $PATH
,将config.toml中的enableGitInfo = true
改为enableGitInfo = false
即可。