制作一个极速 Hugo 主题

Nov 24, 2019 • 预计阅读时间 2 分钟

Hugo 是一个静态网站生成工具,具有生成速度很快、简单易学的特点。
官网是 https://gohugo.io

官网已经提供了丰富的主题,但我依然选择自己制作一款主题自己使用。
主要是自己的博客使用,要求非常简单,只要能像微信公众号那样显示文章就行,其他的花哨功能都不要。

基于以上需求,我的要求如下:

  • HTML + CSS
  • 不用 JS
  • 只包含文章列表文章内容两个页面

周末倒腾了一天,搞出来了一个可以凑合着用的模版,只包含 HTML 和 CSS ,纯文字的页面加载速度很快:

首页加载只需要一个 CSS 样式文件,总的加载资源只有 4KB 大小。
即使网络环境很恶劣,也能保证页面的加载速度。

一个简单的 Hugo 主题

  1. 创建一个空的网站模版

    hugo new site demo
    
  2. 创建一个空的主题模版

    cd demo
    hugo new theme hugo-notepad
    

    得到输出信息:

    Creating theme at /tmp/demo/themes/hugo-notepad
    
  3. config.toml里添加一行:

    theme = "hugo-notepad"
    

    这样就可以加载主题hugo-notepad了,运行看看有没有报错:

    hugo server
    

    如果配置有问题会显示出错误信息,一切正常的话,能看到下面的输出:

                      | EN  
    +------------------+----+
      Pages            |  3  
      Paginator pages  |  0  
      Non-page files   |  0  
      Static files     |  0  
      Processed images |  0  
      Aliases          |  0  
      Sitemaps         |  1  
      Cleaned          |  0  
    
    Total in 5 ms
    Watching for changes in /tmp/demo/{archetypes,content,data,layouts,static,themes}
    Watching for config changes in /tmp/demo/config.toml
    Environment: "development"
    Serving pages from memory
    Running in Fast Render Mode. For full rebuilds on change: hugo server --disableFastRender
    Web Server is available at http://localhost:1313/ (bind address 127.0.0.1)
    Press Ctrl+C to stop
    

    用浏览器访问 http://localhost:1313/ 看到一个空页面,这个时候什么内容都还没有。

Hugo 的目录结构

  • index.html 是首页,single.html 是文章页面。
  • baseof.html 所有页面的模版,每个页面都是基于这个页面进行扩展。
  • css 目录用来放样式文件。
  • head.html用来定义<head>部分的内容,加载 CSS 样式文件就在这里添加。
  • footer.html一般用来展示版权信息。
  • header.html显示在顶部,展示网站名称。

基于以上我实现了一个简单的模版,源码在 Github: hugo-notepadium

可以点击查看我的博客效果。

【本文完】

Hugo
版权声明:如果转发请带上本文链接和注明来源。

lvv.me

iOS/macOS Developer

在 netlify 使用最新版本的 hugo 和 go 构建网站

Git 操作技巧