本人才疏学浅,如有错误,敬请指正。
无论是Github还是Gitee都提供静态网站托管服务,搭建简单而且免费,是十分理想的写博客环境。
本文将介绍如何使用HUGO搭建博客,以及如何将博客部署到Github/Gitee上。
1. HUGO简介
HUGO是一个静态网站生成器,用于创建个人博客、文档、网站等。它使用Markdown语言编写内容,支持自定义模板和主题,可以轻松地创建美观、响应式的网站。HUGO还提供了许多方便的功能,如网站搜索、分类、标签、RSS等。它是用Go语言编写的,具有高效率和快速构建的优点。使用HUGO创建博客非常简单,只需要一些基本的网页制作知识即可。
当前主流的博客网站主要分为两类,一类是以wordpress为代表的动态网站,另一类是以HUGO为代表的静态网站。动态网站的内容是动态生成的,每次访问都会从数据库中读取数据,然后再生成网页。也就是说该类网站必须使用服务器或其他计算资源进行托管。静态网站的内容是静态生成的,每次访问都是直接读取网页文件,不需要从数据库中读取数据。动态网站的优点是可以实时更新内容,缺点是需要数据库支持,而且每次访问都需要从数据库中读取数据,速度较慢。静态网站的优点是速度快,缺点是不能实时更新内容,需要手动更新网页文件。静态网站可以非常便捷的部署在Github、Gitee等代码托管网站上,而且可以使用网站提供的免费GitPages服务,无服务器成本并且访问速度非常快。因此,本人选择了HUGO搭建博客。
2. HUGO安装
HUGO的安装非常简单,只需要下载对应的安装包,然后解压到指定目录并将该目录添加到 PATH 环境变量即可。HUGO的安装包可以在官网下载,也可以在Github上下载。本人选择了Github上的安装包。下载地址:https://github.com/gohugoio/hugo/releases
注意hugo有两个版本:标准版及拓展版,使用拓展版可以对 WebP 图像进行编码,也可以使用嵌入式 LibSass 转译器将 Sass 转译为 CSS。
如果需要使用开源主题,推荐下载带有extended的安装包,否则将可能会报错,无法使用。
因此建议安装拓展版!
HUGO官网有完善的安装教程,本文就不再赘述。安装完成后,可以在命令行中输入 hugo version
查看版本信息,如果出现版本信息,则说明安装成功。
3. 创建博客
在成功安装HUGO后,就可以创建博客了。创建博客的方法有很多种,本文介绍的是使用HUGO自带的命令创建博客。在命令行中输入hugo new site blog
,即可创建一个名为blog的博客。创建完成后,会在当前目录下生成一个名为blog的文件夹,该文件夹就是博客的根目录。
进入该文件夹,文件夹内目录结构如下:
├─config.toml
│
├─archetypes
─default.md
│
├─content
├─data
├─layouts
├─static
└─themes
config.toml
文件包含了网站的配置信息,例如标题、语言、作者等。archetypes
文件夹包含了新内容创建的模板文件,例如默认的 Markdown 文件。content
文件夹包含了网站的内容,例如文章、页面等。data
文件夹包含了网站的数据文件,例如 JSON 或 YAML 格式。layouts
文件夹包含了网站的布局模板,例如首页、文章页面等。static
文件夹包含了网站的静态文件,例如图片、CSS、JavaScript 等。themes
文件夹包含了网站的主题,可以自定义网站的样式和布局。
将该目录初始化为Git仓库,并将ananke主题添加为子模块,这样就可以方便地更新主题了。
git init
git submodule add https://github.com/theNewDynamic/gohugo-theme-ananke themes/ananke
echo "theme = 'ananke'" >> config.toml
我们来尝试对这个世界 Say Hello!
使用 hugo new posts/hello-world.md
命令创建一个名为hello-world的文章
然后在 content/posts/hello-world.md
文件中输入以下内容:
---
title: "Hello World"
date: 2020-03-01T16:00:00+08:00
draft: false
---
Hello World!
大功告成!现在我们可以使用 hugo server
命令来启动本地服务器,然后在浏览器中输入 http://localhost:1313
即可访问我们的博客。
4. 部署博客
这里我们以gitee为例,介绍如何将博客部署到gitee上。
首先在gitee上创建一个新的仓库,以 https://gitee.com/ipvb 这个用户为例,该用户的个性地址为ipvb,则建立一个与自己个性地址同名的仓库ipvb。
如果你的仓库名与个性地址不同,那么你需要将博客的根目录下的配置文件config.toml中的baseURL改为自己的仓库地址,如下所示:
baseURL = "https://ipvb.gitee.io/blog"
然后在本地博客的根目录下执行以下命令:
# 编译为静态文件
hugo
# 将所有文件推送到gitee,也可以仅推送public文件夹,这里推送所有文件是为了方便
# 如果你仅推送public文件夹,那么你需要将public文件夹初始化为git仓库后再推送
git add .
git commit -m "first commit"
git remote add origin https://gitee.com/ipvb/ipvb.git
git push -u origin master
现在我们已经将本地的博客推送到了gitee上,接下来我们需要将博客部署到gitee上,这里我们使用gitee提供的pages服务来部署我们的博客。
首先在gitee上的仓库的服务中选择Gitee Pages服务,然后选择分支为master,如果推送了所有文件则将部署目录设置为为 public,如果仅推送public文件夹则设置为根目录也就是置空,最后点击保存即可。
这样我们的博客就部署成功了,可以通过 https://ipvb.gitee.io 访问我们的博客了。
Github也提供了类似的pages服务,可以参考官方文档来部署博客。
大功告成!现在我们已经拥有了一个属于自己的博客了。
有任何问题欢迎大家留言,我会及时更新。