加载中...
hugo使用
发表于:2023-03-21 | 分类: 网络应用
字数统计: 1.4k | 阅读时长: 5分钟 | 阅读量:

缘起

以前曾经初步测试过 hugo,印象中安装后没有合适的主题,接近于白纸,就放下了,选择了 hexo作为自己的日常工具,后来看到网上对 hugo 评价挺高,就再次做一个测试。

了解

hugo号称速度最快的静态站点生成器,The world’s fastest framework for building websites,是基于 go 语言开发的。

安装部署

windows环境

准备 git 环境

hugo 需要 git 环境,git 的安装就不详述。

准备go环境

hugo 需要 go 环境

  • 下载 go:https://golang.google.cn/dl
  • 添加环境变量:安装完,将 bin 目录添加到环境变量,环境变量-系统变量-path
  • 测试:go version

准备hugo工具

  • hugo是跨平台的,这里是在 windows下测试,下载对应的exe文件,选择了扩展版的:
    hugo_extended_0.111.3_windows-amd64.zip
  • 解压后得到 hugo.exe 文件
  • 将 hugo.exe 所在的路径加入环境变量,不带 hugo.exe,环境变量-系统变量-Path
  • 测试hugo:hugo version

linux 环境

测试环境 ubuntu docker

debian/Ubuntu:
apt-get update

apt search hugo 查询看版本够不够新

apt install hugo
sudo apt install hugo
hugo version

安装的版本可能不够新

重新下载二进制包安装,选择 extend 的

apt install ./xxx.deb

指定环境变量以便使用 hugo 指令
whereis hugo
export PATH=$PATH:/usr/local/bin/hugo

hugo 使用

基本使用

  • 新建站点:hugo new site mysite,会生成一堆目录文件
  • 创建文章:cd mysitehugo new post/first.md,则生成文件位于 content 目录
  • 下载主题:可以 cd themes 切换到主题目录,然后 git 拉取主题,也可以直接访问官网 https://themes.gohugo.io,下载主题放到 themes 目录中,或者直接在 github 中搜索 hugo theme,挑选 star 星级较高的热门主题
  • 修改主题:config.toml 中修改主题相关的语句,比如 theme = "maupassant"
  • 仿真模拟:hugo server -D,默认端口 1313,修改内容后会自动更新,不用重新运行,测试时自带的更方便,lightserver 可能没有刷新显示

自定义端口和任意IP访问:
hugo server --bind 0.0.0.0 --port 8000

  • 最终生成站点:hugo

考察路径特点

  • 文章比如 first.md,则路径为 post/first
  • 文件名比如为 中文.md,则路径为 post/中文
  • 比如子目录互联网中的文件互联网笔记1.md,则路径为 post/互联网/互联网笔记1
  • /categories/分类1
  • tags/标签1

这样方式应该有它的好处,和文件系统路径保持一致,但也有缺点,如果文件名会频繁修改的话,就不太友好。

主题

找了很久主题,功能丰富的主题太稀少,这方面与 hexo 相比差距较大。

获取主题:官网中主题菜单,或者 github 中搜索 hugo theme

相比而言,较好的主题有:

  • hugo-theme-tokiwa-master

  • hugo-theme-learn-master

  • FixIt-master
  • hugo-theme-cleanwhite-master
  • hugo-theme-stack-master
  • maupassant

有些主题用不起来,出错

了解主题模板:
Go模板是HTML文件,增加了[变量][variables]和[函数][functions]。Go模板的变量和函数可以在 {{ }} 内部访问。

文章目录列表

自己对文章目录需求较高,hexo 中带文章目录的俯拾即是,而 hugo 则很稀少。

配置文件

以前是 config.yml 配置文件的,现在新的是 hugo.toml 了
With v0.109.0 and earlier the basename of the site configuration file was config instead of hugo

总结优缺点

优点

  • 编译速度快,hugo 基于 go,直接二进制文件,编译速度快,据资料,200篇左右的博文用Hexo 需要10分钟去生成静态网页,而Hugo 只需要10秒
  • 搜索引擎中搜索 hugo 结果比 hexo 还多,应该比较有潜力
  • github上关于 hugo 的 star 比 hexo 还多
  • 有人评价说 Hugo 在稳定性和易用性上都无愧于开源社区里关注度第一

缺点

  • 国内用的人少一些,没有 hexo 多
  • 主题比较少一些,对于自己来说,有合适主题非常重要,相比之下,hexo 的主题丰富美观,hugo 还是差的比较远,想实现 blog、树形菜单等都找不到合适的主题,目前没有找到理想的主题,需要带文章目录、文章搜索功能等主题
  • 据称缺少扩展性和插件,因为 Go 是编译型语言
  • 使用中怎么有的文章没有生成

特点

  • Hugo 中的部类是与标签无差别的,所以在 Hugo 中你是无法实现多级的部类的
  • 站点的 content 目录下的文件夹和子文件夹,一个文件夹即一个分区 Section。很明显,这是基于文件系统的结构的,自然也就支持树状╱网状╱嵌套结构,也就能够用来实现文章的树状分类。Hugo 默认的分区的 URL 结构 /:sections/:slug/

总结

虽然看别人用 hugo 做出不错的站点,但是自己捣鼓很费劲,距离自己能用还有很长距离,连个 TOC 都没有成功

从目前来说,自己还没有决定从 hexo 转换到 hugo 的打算,应该还会保持关注。

历史

  • 20240810 补充在 linux 下安装 hugo,在debian中安装
  • 20240808 再次测试 hugo,环境变量未生效,hugo.exe 直接放在站点目录中运行,用起来还是不太顺利,中间各种出错,实测过程和以前一些记录不太相同了,测试时自带的 hugo server 测试更方便,lightserver 可能没有刷新显示
  • 20230321 再次测试 hugo,整理文章
上一篇:
LED灯关灯时微亮问题原因及解决办法
下一篇:
树莓派上插鼠标共享为电脑的鼠标的方法
本文目录
本文目录