Hugo建站基础信息

常用命令,配置、目录说明

Hugo 常用命令

命令说明示例用法
hugo生成静态站点,输出到public/ 目录hugo --minify
hugo server启动开发服务器,默认端口 1313,实时预览站点hugo server --bind 0.0.0.0
hugo new创建新内容文件(如文章或页面)hugo new post/my-post.md
hugo version显示当前 Hugo 版本信息hugo version
hugo mod管理 Hugo Modules(模块化主题或依赖)hugo mod init github.com/user/repo
hugo config显示当前配置信息hugo config
hugo env显示 Hugo 环境信息(如版本、Go 版本)hugo env
hugo list列出内容文件(如草稿、未来文章)hugo list drafts
hugo check检查内容文件的完整性hugo check
hugo --help显示 Hugo 命令帮助信息hugo --help

常用选项:

  • --watch:监控文件变化(hugo server 默认启用)。
  • --ignoreCache:忽略缓存,强制重新构建。
  • --minify:压缩输出文件(如 HTML、CSS、JS)。
  • --debug:显示调试信息。

其他重要内容

配置项(hugo.yaml 中常用)

配置项说明示例值
baseURL站点根 URL,用于生成绝对链接https://www.test.com/
languageCode默认语言代码en-us
theme使用的主题名称hugo-theme-stack
title网站标题My Blog
permalinks定义内容类型的 URL 结构post: /p/:slug/
outputs指定页面类型的输出格式home: ["HTML", "RSS", "JSON"]
params自定义参数,供主题使用sidebar.avatar: /img/avatar.png
menu自定义导航菜单main: [{name: "Home", url: "/"}]

Front Matter(内容文件头部)

字段说明示例值
title文章或页面标题My First Post
date发布日期2025-03-28
draft是否为草稿(true 不发布)false
tags标签列表["tech", "blog"]
categories分类列表["Programming"]
slugURL 的自定义部分my-first-post

Hugo Pipes(资源处理)

功能说明示例用法
resources.Get获取资源文件(如图片、SCSS){{ resources.Get "images/pic.jpg" }}
Resize调整图片大小{{ $img.Resize "300x" }}
ToCSS将 SCSS 编译为 CSS`{{ $css := resources.Get “scss/main.scss”

主题相关

  • 安装主题:
    1git submodule add https://github.com/CaiJimmy/hugo-theme-stack themes/hugo-theme-stack
    
  • 启用主题:hugo.yaml 中设置 theme: hugo-theme-stack

常用 Hugo 主题表格

主题名称链接说明
PaperModgithub.com/adityatelange/hugo-PaperMod简洁、响应式的博客主题,支持深色模式,易于阅读,优化用户体验,适合个人博客。
Stackgithub.com/CaiJimmy/hugo-theme-stack多功能主题,支持博客、作品集,带有侧边栏和评论系统(如 Waline),适合技术博主。
Docsygithub.com/google/docsy专为技术文档设计,支持多语言,集成了搜索和导航,适合开源项目文档。
Anatolegithub.com/lxndrblz/anatole极简双列主题,适合博客和个人作品集,设计优雅,响应式布局。
Bookgithub.com/alex-shpak/hugo-book简洁的文档主题,模仿书籍风格,适合教程或知识库网站。
Hello Friend NGgithub.com/rhazdon/hugo-theme-hello-friend-ng简约博客主题,支持深色/浅色模式切换,注重排版和阅读体验。
Mainroadgithub.com/vimux/mainroad杂志风格主题,响应式设计,适合内容丰富的博客或新闻站点。
Codergithub.com/luizdepra/hugo-coder极简单页主题,适合开发者展示个人简介和项目,加载速度快。
Beautiful Hugogithub.com/halogenica/beautifulhugo多功能博客主题,支持 Disqus 评论、社交分享,适合个人和专业博客。
Reveal-Hugogithub.com/dzello/reveal-hugo基于 Reveal.js 的演示主题,适合创建 HTML 幻灯片展示。

Hugo 根目录和主题目录下的文件夹说明表格

Hugo 根目录文件夹

文件夹/文件说明注意事项
archetypes/内容模板目录,用于定义新文件(如hugo new)的默认 front matter默认包含default.md,可自定义其他模板
assets/资源文件目录,存放 SCSS、图片等,通过 Hugo Pipes 处理(如编译 SCSS 为 CSS)需在hugo.yaml 中配置支持(如 assets.dir
content/内容文件目录,存放 Markdown 文件,按类型组织(如content/post/ 表示文章)文件名决定 URL(如my-post.md -> /post/my-post/
data/数据文件目录,存放 YAML、JSON 或 TOML 文件,用于动态数据(如导航菜单数据)在模板中通过.Site.Data 访问
layouts/自定义模板目录,覆盖主题的默认模板优先级高于themes/ 中的同名模板
public/生成的静态站点输出目录,构建后内容在此每次运行hugo 会清空并重新生成
static/静态文件目录,存放图片、CSS、JS 等,直接复制到站点根目录不经 Hugo 处理,直接输出到public/
themes/主题目录,存放下载或自定义的主题(如hugo-theme-stack通过theme 配置启用
hugo.yaml主配置文件,定义站点设置(如语言、主题、URL 等)支持 YAML、TOML、JSON 格式

主题目录文件夹(themes/<theme-name>/

文件夹/文件说明注意事项
archetypes/主题提供的默认内容模板,创建新文件时使用可被根目录的archetypes/ 覆盖
assets/主题的资源文件目录,存放 SCSS、图片等,通过 Hugo Pipes 处理通常包含主题的样式文件(如main.scss
layouts/主题的模板目录,定义页面渲染逻辑(如single.htmllist.html可被根目录的layouts/ 覆盖
static/主题的静态文件目录,存放 CSS、JS、图片等,直接复制到站点根目录输出到public/,如 static/img/ -> /img/
data/主题的数据文件目录,提供主题特定的数据(如菜单配置)在模板中通过.Site.Data 访问
i18n/国际化文件目录,存放多语言翻译文件(如en.yamlzh-cn.yaml用于支持多语言站点
README.md主题说明文档,提供安装和使用指南建议仔细阅读以了解配置要求
theme.yaml主题元数据文件,定义主题名称、作者、最低版本等用于 Hugo 主题管理系统识别主题

补充说明

  1. 如何选择主题:
    • 根据需求选择:博客用 PaperMod 或 Stack,文档用 Docsy,简历用 Coder。
    • 检查活跃度:查看 GitHub 上的最后更新时间和问题(Issues)响应情况。
  2. 文件夹使用建议:
    • 将自定义图片放入 static/ 以避免 Hugo 处理(如不需要压缩)。
    • assets/ 中存放 SCSS 文件以利用 Hugo Pipes 的编译功能。
  3. 调试技巧:
    • 运行 hugo server --debug 查看文件加载和渲染日志。
    • 使用 hugo --printPathWarnings 检查路径问题。
Licensed under CC BY-NC-SA 4.0
使用 Hugo 构建
主题 StackJimmy 设计
发表了 8 篇文章 · 总计 11.52k 字
本站已稳定运行 0 天 00 小时 00 分 00 秒