深色/浅色模式切换,通过 localStorage 持久化并参考一天中的时间
hugo-terminal-theme — Hugo 作品集模板
作者 rpsadarangani
一个终端风格的 Hugo 主题,支持深色/浅色模式切换,适合搭建个人作品集与博客站点。
看看你的网站会是什么样
浏览真实页面截图,比较内容排版与手机效果。点击下方缩略图切换,放大查看整页细节。
全部页面与视图 3
截图用于了解视觉与布局,交互效果请以实际项目为准。
值得关注的模板亮点
从已有项目资料中,快速了解它的特点。
首页由 front matter 驱动职业时间线、教育经历与技能网格
博客支持按日期排序、标签和分页
零外部依赖,不使用 npm 与 JavaScript 框架
Hugo Pipes 合并、压缩并指纹化 CSS/JS,带 SRI,无内联脚本
输出 Open Graph、Twitter Card 元标签与 JSON-LD 结构化数据
模板详细介绍
该主题由 rpsadarangani 开发,采用 MIT 许可,基于 Hugo 构建,定位为极简、终端风格的个人站点模板,同时覆盖作品集与博客两种用途。README 明确说明其零外部依赖:不需要 npm,也不依赖 JavaScript 框架。
功能层面,主题提供深色/浅色模式切换(通过 localStorage 持久化,并参考一天中的时间),页面加载时不会出现无样式内容闪烁(FOUC)。首页支持用 front matter 驱动职业时间线、教育经历和技能网格;博客支持按日期排序、标签与分页。另有终端风格的 setup/gear 页面、600px 移动断点响应式布局、打印样式,以及可选的 Giscus 评论集成。
工程细节上,主题使用 Hugo Pipes 对 CSS 与 JS 做合并、压缩和带 SRI 的指纹处理,不含内联脚本,便于配合 CSP;同时输出 Open Graph 与 Twitter Card 元标签、JSON-LD 结构化数据(Person、BlogPosting),并由 Hugo 自动生成 RSS。字体为自托管的 JetBrains Mono,带 preload。
使用限制方面,README 要求 Hugo Extended v0.120.0 或更高版本;配置集中在 hugo.toml,内容结构固定为首页、blog、contact、setup 等目录。演示图片、字体、图标等第三方素材需按各自许可核对。
适合你的项目吗?
适用场景
- 搭建个人作品集站点,展示职业时间线、教育经历与技能分类
- 搭建带标签和分页的个人博客
- 制作终端风格的个人主页与 setup/gear 页面
- 需要深色/浅色模式切换与 CSP 友好输出的静态站点
适合人群
- 使用 Hugo 并希望快速起步个人站点的开发者
- 偏好终端视觉风格与极简排版的用户
- 需要作品集与博客合一、且不引入前端框架的个人项目
- 对 CSP 兼容性和结构化数据有要求的站点
上手与定制指南
结合仓库当前版本的说明,按下面的资料检查内容、配置与运行要求。
- 1
需要 Hugo Extended v0.120.0 或更高版本
- 2
通过 git submodule 将主题加入 themes/terminal,并复制 exampleSite 的 content 与 hugo.toml
- 3
所有配置集中在 hugo.toml,包括分页、params、菜单与 markup 设置
- 4
首页时间线、教育与技能通过 content/_index.md 的 front matter 填写
- 5
可选配置 Giscus 评论;启用时需按 README 建议调整 CSP 头
授权与来源资料
使用条件与限制
免费使用 · 保留许可声明本次收录的是公开仓库中采用 MIT 许可的免费版本;免费范围为该版本代码,不代表外部服务或第三方素材免费。
使用时需要遵守
- 允许免费使用、修改、商用和分发该版本代码。
- 分发代码副本或实质性部分时,保留原作者版权声明和完整 MIT 许可声明。
- 代码按现状提供;担保与责任限制以原许可证及适用法律为准。
额外费用与待核对事项
- Giscus 评论为可选功能,启用需在 hugo.toml 中配置 Giscus 仓库、repoId、category 与 categoryId,并依赖外部服务 giscus.app;不启用则无需该服务。
- 使用该主题需 Hugo Extended 0.120.0 或更高版本,非 Extended 版本可能无法正常构建。
- 主题自托管 JetBrains Mono 字体,字体本身的许可需自行核对,MIT 代码许可不必然覆盖该字体素材。
- 演示图片、字体、图标及其他第三方素材需按各自许可核对,不能仅凭代码的 MIT 许可判断。
- 域名、托管、数据库、支付或 AI 等外部服务可能另外收费。
查看原文依据
Permission is hereby granted, free of charge
许可证原文
Optional Giscus comments integration
README 原文
- Hugo Extended v0.120.0 or later
README 原文
https://github.com/rpsadarangani/hugo-terminal-theme/blob/main/LICENSEhttps://github.com/rpsadarangani/hugo-terminal-theme/blob/main/README.mdSelf-hosted JetBrains Mono font with preload
README 原文
DeepSeek 根据仓库许可证和 README 整理 ·2026-10-01。结果仅覆盖已读取资料,依赖、图片、字体及后续条款变更以各自原文为准。
项目核对记录与介绍依据
模板资料
- 来源平台
- GitHub
- 资料与维护参考分
- 资料较完整 · 88 / 100
- 技术栈
- Hugo
- 网站类型
- 作品集 · 博客
这个分数如何计算
本站按许可资料(最高30分)、演示链接(12分)、预览图(10分)、Star数(15分)、记录的维护时间(15分)、描述完整度(8分)、功能记录(5分)和分类资料(5分)计算。它不是代码、安全或性能测试,也不是 Google 评分;有链接不代表已实测可用。
这个项目需要核对什么
- 记录的仓库更新时间
- 2026-02-13
- 截图检查日期
- 2026-10-01
已收录演示链接。请用你的内容与屏幕尺寸检查;有演示不代表表单、认证或支付已经可用。
目录记录的主要技术栈是 Hugo。请通过依赖清单和锁文件核对实际版本与托管要求。这些说明基于收录资料,不代表代码审计或部署实测。
查看具体选型方法 →介绍的制作与核对状态
介绍由 AI 辅助整理目录与仓库资料。仓库作者不等于这篇介绍的审核者。
已完成服务器许可规则与 AI 来源核对;未经过人工编辑审核。
查看当时使用的来源资料
SHA-256: cd105cc40af376769e486d9b4ceb7eb30b28b4eab9c3e9de7618b17cdee5942c
2026-10-01T00:16:54.855Z
来源文件 / 仓库# Hugo Terminal Theme
A minimal, terminal-inspired Hugo theme with dark/light mode support. Zero external dependencies — no npm, no JavaScript frameworks.
**Demo**: [rpsadarangani.github.io/hugo-terminal-theme](https://rpsadarangani.github.io/hugo-terminal-theme/)
## Features
- Dark/light mode toggle (persisted via localStorage, respects time of day)
- No flash of unstyled content (FOUC) on page load
- Career timeline component driven by front matter
- Skills grid with categories
- Blog with date-sorted posts, tags, and pagination
- Setup/gear page with terminal-styled sections
- Responsive design (mobile breakpoint at 600px)
- Hugo Pipes: CSS & JS concatenated, minified, fingerprinted with SRI
- Zero inline scripts — fully CSP compatible
- Open Graph and Twitter Card meta tags
- JSON-LD structured data (Person, BlogPosting)
- RSS feed (auto-generated by Hugo)
- Self-hosted JetBrains Mono font with preload
- Print styles
- Optional Giscus comments integration
## Quick Start
```bash
# Create a new Hugo site
hugo new site mysite
cd mysite
# Add the theme
git submodule add https://github.com/rpsadarangani/hugo-terminal-theme.git themes/terminal
# Copy example content
cp -r themes/terminal/exampleSite/content .
cp themes/terminal/exampleSite/hugo.toml .
# Start the dev server
hugo server -D
```
## Configuration
All configuration is in `hugo.toml`:
```toml
baseURL = "https://example.com/"
languageCode = "en-us"
title = "your name"
theme = "terminal"
[pagination]
pagerSize = 7
[params]
description = "your tagline"
author = "Your Name"
terminalPrompt = "~ you_" # header branding with blinking cursor
twitter = "@yourhandle" # optional: twitter card meta tag
# Optional: structured data for homepage
# jobTitle = "Senior Software Engineer"
# worksFor = "Acme Corp"
# sameAs = ["https://github.com/you", "https://linkedin.com/in/you"]
# Optional: giscus comments (https://giscus.app)
# [params.giscus]
# repo = "your-username/your-repo"
# repoId = "your-repo-id"
# category = "Blog Comments"
# categoryId = "your-category-id"
[menu]
[[menu.main]]
name = "/home"
url = "/"
weight = 1
[[menu.main]]
name = "/blog"
url = "/blog/"
weight = 2
[[menu.main]]
name = "/contact"
url = "/contact/"
weight = 3
[markup]
[markup.goldmark]
[markup.goldmark.renderer]
unsafe = true
[markup.highlight]
noClasses = false
```
## Content Structure
```
content/
├── _index.md # Home page (with timeline, education, skills)
├── blog/
│ ├── _index.md # Blog list page
│ └── my-post.md # Blog post
├── contact.md # Contact page
├── setup/
│ └── _index.md # Setup/gear page
└── privacy.md # Optional: privacy policy
```
## Home Page Front Matter
The home page supports career timeline, education, and skills via front matter:
```yaml
---
title: "hey, i'm jane"
timeline:
- role: "Senior Engineer"
company: "Acme Corp"
date: "01.2024 — present"
current: true # adds glow effect on timeline dot
- role: "Software Engineer"
company: "Startup Inc"
date: "06.2021 — 12.2023"
education:
- degree: "BSc Computer Science"
school: "State University"
date: "2015 — 2019"
skills:
languages: ["Go", "Python", "TypeScript"]
cloud: ["AWS", "GCP"]
tools: ["Kubernetes", "Terraform"]
---
your intro text here.
```
## Blog Post Front Matter
```yaml
---
title: "my post title"
date: 2026-01-01
lastmod: 2026-01-01
description: "shown in the post list and meta tags"
tags: ["go", "kubernetes"]
---
```
## Customization
### Colors
All colors are CSS custom properties in `assets/css/variables.css`. Override them by creating your own CSS file:
```css
/* Dark theme */
:root, [data-theme="dark"] {
--accent: #00ff88; /* green accent */
--bg: #0a0a0a; /* background */
--text: #e0e0e0; /* primary text */
}
/* Light theme */
[data-theme="light"] {
--accent: #007744;
--bg: #fafafa;
--text: #1a1a1a;
}
```
### Terminal Prompt
Set `terminalPrompt` in your config to customize the header branding:
```toml
[params]
terminalPrompt = "~ myname_"
```
### Nav Links
Menu items are prefixed with `/` by convention (e.g., `/home`, `/blog`). Configure them in `[menu]`.
### Content Security Policy
This theme uses zero inline scripts. A recommended CSP header:
```
Content-Security-Policy: default-src 'self'; script-src 'self' https://giscus.app; style-src 'self' 'unsafe-inline' https://giscus.app; frame-src https://giscus.app; img-src 'self' data:; font-src 'self'; connect-src 'self'
```
## Requirements
- Hugo Extended v0.120.0 or later
## License
MIT
## Credits
Created by [Rahul Sadarangani](https://rahulsadarangani.com).
看看同类模板
对比同技术栈与用途的模板,找到更适合的视觉与内容结构。

hugo-PaperMod
PaperMod 是 Hugo 生态里知名度较高的主题之一,定位很明确:给博客和轻量作品集站点提供一套干净、响应式的阅读界面。
Hugo · 作品集

LoveIt
❤️A clean, elegant but advanced blog theme for Hugo 一个简洁、优雅且高效的 Hugo 主题
Hugo · 博客

hugo-coder
A minimalist blog theme for hugo.
Hugo · 博客

blowfish
Personal Website & Blog Theme for Hugo
Hugo · 博客

hugo-paper
🪺 A simple, clean, customizable Hugo theme
Hugo · 博客

hextra
Hextra 是一个 Hugo 主题,定位在文档站与博客之间:既提供侧边栏导航、目录、面包屑、分页这类文档站结构,也能承载博客内容。
Hugo · 文档
