组件分享之后端组件——基于Go语言的HTML和CSS网站生成器Hugo

Python014

组件分享之后端组件——基于Go语言的HTML和CSS网站生成器Hugo,第1张

近期正在探索前端、后端、系统端各类常用组件与工具,对其一些常见的组件进行再次整理一下,形成标准化组件专题,后续该专题将包含各类语言中的一些常用组件。欢迎大家进行持续关注。

本节分享一个基于Go语言的HTML和CSS网站生成器 hugo ,它针对速度、易用性和可配置性进行了优化。Hugo 获取一个包含内容和模板的目录,并将它们呈现为一个完整的 HTML 网站。Hugo 依赖于 Markdown 文件和元数据的前端,你可以从任何目录运行 Hugo。这适用于您没有特权帐户的共享主机和其他系统。例如我们日常编写一些博客文章,进行快速生成一套静态页面进行分享时可以使用它来进行生成一套静态页面作为我们的博客部署基础。

它支持大量的主题模板,我们可以通过 https://themes.gohugo.io/ 进行选择相关的主题使用,有兴趣的小伙伴可以进行深入研究一下

以前使用wordpress搭建网站,插件太多,完善起来比较费时费力。现在,静态博客也很受欢迎,hugo就是GO语言开发的一个静态博客生成器。

mackbook上直接使用 brew install hugo 安装hugo,安装完成后使用 hugo version 来查看hugo的版本。

在Github目录下打开终端,或者cd到Github目录下:

hugo new site site_name

其中,si te_name为github账号名称加上 .github.io ,例如:

hugo new site gary-hertel.github.io

创建成功后会显示一些信息,诸如:

这就表示站点已经创建成功了。

然后进入到站点目录:

cd gary-hertel.github.io

使用 tree 查看目录结构如下:

接下来需要为我们的网站指定一个主题,这里我们选择 even 这个主题:

git clone https://github.com/olOwOlo/hugo-theme-even themes/even

将该主题增加到网站的配置文件中,这样才能生效:

echo 'theme = "even"' >>config.toml

测试下是否成功,运行:

hugo serve

这里是按照别的教程操作的,但是发生了报错,查看even这个主题的文档后发现有如下内容:

这里提示我们查看 themes/even/exampleSite 目录下有一个示例的 config 配置文件,我们需要将这个文件复制到站点根目录,覆盖原文件,这样才能够使站点生效。配置文件中的信息可以查看一下,然后进行相应的修改。

在站点根目录:

hugo new post/first_article.md

查看 gary-hertel.github.io/content/post 目录下新增了一个 first_article.md 的markdown文档,打开之后对其进行编辑即可,注意将 draft:true 修改为 false .

撰写文章的方法就是通常开发者常用的markdown格式。

在站点根目录下:

Hugo serve

然后就可以在浏览器中输入 http://127.0.0.1:1313/ 进行查看了,在撰写文章或者进行配置修改等等操作时,内容会自动更新。

hugo -d docs

静态页面会保存至站点根目录下的docs文件夹。

每次更新后我们都需要执行一下这条命令。

在github上新建一个公开仓库,名为github用户名加上 .github.io ,例如 gary-hertel.github.io

在仓库的settings的pages设置中,Source那里设置为:

说明如下:

使用hugo搭建个个人博客还是不错的,一开始要花些时间折腾和摸索,后续就使用起来比较方便了,也不需要购买服务器去部署,部署在github上可能国内访问较慢,可以考虑部署到gitee.