接触hugo的契机是我需要一个文档平台。
我在写api文档的时候,需要一个美观的工具。

简单考察了下主流工具
锁定在docsify,gitbook和vuepress上

docsify是动态加载md文件,非常非常轻量,可以放在github pages上,适合写项目文档,但感觉也只适合写项目文档.我也简单部署了一下,不算漂亮但很干练--> https://viogami.github.io/VioGo/

gitbook是真的文档工具,不用任何自定义,也无法自定义,集成git。是商业产品但也挺不错的,啥都能写。

vuepress得有前端维护,我是放弃了,美观是真的美观,各种生态支持也很棒,适合前端小伙伴。

都很简单,上手即用,然后写完是要部署和发布的,自然就想到了各类博客平台。
写这篇文章是在typecho上,这也是我比较青睐的一个平台,虽然要搭建基础设施--数据库之类的,但搭建完了写博客非常容易,功能也很完善,加上我之前也是简单折腾过,整体模样我已经很满意了。

但是人就是喜新厌旧呀,看到不少人推荐了hugo生成静态md文件,也想试下效果。说做就做,即刻下载hugo,选择主题,然后放两篇已有的博文看看效果。

2025-04-07T03:15:42.png

选了QUBT这个主题,感觉还是挺美观的,主要针对的是移动端的显示,但整体也很棒。直接迁移。

我的hugo站点:https://viogami.github.io/blog

写hugo需要懂点前端,专注md文件的编写。hugo官方文档中的很多功能实际上是针对hugo主题开发者的,写博客需要了解的就是hugo的全局yaml文件的配置,以及md语法和为了美化可能需要嵌入的html语法。

如果用了主题,要更多的自定义化再了解下hugo生成的目录结构就好了,因为重写只要新建相同目录覆盖

hugo写博客坑点

不要使用hugo短代码!

官方示例是{{<figure src=""...>}}的方式实现短代码的,但这样就会把md文件限死了只能在hugo上显示了,md文件应该是通用的,而且这种短代码也并不“短”,既然这样为什么不用html嵌入呢。

把博客文章命名为index.md

这样是为了可以以相对路径插入图片
命名为index.md后,就能识别在同一文件夹下的图片,用![xxx](1.png)的方式就能访问到md文件同级的1.png文件了。
有各种图片导入方式,但这样更通用,更多平台兼容,强推。至于文章名,用文件夹名区分就好了。
2025-04-07T03:45:18.png

建议部署在github pages

都用hugo了,还依赖基础设施部署也有点奇怪了,那为什么不用typecho呢?性能在当今已经看不出区别了。
直接用github的action,每次提交自动部署。注意action的使用次数是有限制的,但更新这么勤快也不至于吧

typecho还是hugo?

  • 想轻量部署选hugo,但部署后需要折腾前端,适合无服务器用户
  • 有服务器懂后端选typecho,需要折腾部署前,部署后很轻松

  • 想依赖git管理博客选hugo
  • 想随时随地写博客选typecho
  • typecho可以直接网页浏览器上写博客,和任何博客平台一样
  • hugo需要在编辑器中编写了后git提交,比如我就得在vscode中写

  • typecho数据在数据库,hugo的数据在本地。typecho通过用户管理系统来实现多人写作,hugo是通过git,然后在文章中添加作者信息。
  • typecho官方基本不更新,但主题很多,好看的多。hugo在更新,生态相比较弱一点,但在发展。