Hugo作品集博客

hugo-terminal-theme — Hugo 作品集模板

作者 rpsadarangani

一个终端风格的 Hugo 主题,支持深色/浅色模式切换,适合搭建个人作品集与博客站点。

看看你的网站会是什么样

浏览真实页面截图,比较内容排版与手机效果。点击下方缩略图切换,放大查看整页细节。

3 个预览视图
桌面端首页1 / 3
桌面端截图首屏预览

由服务器浏览器实际访问页面后截取。

全部页面与视图 3

截图用于了解视觉与布局,交互效果请以实际项目为准。

采集于 2026-10-01查看来源

值得关注的模板亮点

从已有项目资料中,快速了解它的特点。

01

深色/浅色模式切换,通过 localStorage 持久化并参考一天中的时间

02

首页由 front matter 驱动职业时间线、教育经历与技能网格

03

博客支持按日期排序、标签和分页

04

零外部依赖,不使用 npm 与 JavaScript 框架

05

Hugo Pipes 合并、压缩并指纹化 CSS/JS,带 SRI,无内联脚本

06

输出 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 等目录。演示图片、字体、图标等第三方素材需按各自许可核对。

Hugo作品集博客

适合你的项目吗?

适用场景

  • 搭建个人作品集站点,展示职业时间线、教育经历与技能分类
  • 搭建带标签和分页的个人博客
  • 制作终端风格的个人主页与 setup/gear 页面
  • 需要深色/浅色模式切换与 CSP 友好输出的静态站点

适合人群

  • 使用 Hugo 并希望快速起步个人站点的开发者
  • 偏好终端视觉风格与极简排版的用户
  • 需要作品集与博客合一、且不引入前端框架的个人项目
  • 对 CSP 兼容性和结构化数据有要求的站点

上手与定制指南

结合仓库当前版本的说明,按下面的资料检查内容、配置与运行要求。

  1. 1

    需要 Hugo Extended v0.120.0 或更高版本

  2. 2

    通过 git submodule 将主题加入 themes/terminal,并复制 exampleSite 的 content 与 hugo.toml

  3. 3

    所有配置集中在 hugo.toml,包括分页、params、菜单与 markup 设置

  4. 4

    首页时间线、教育与技能通过 content/_index.md 的 front matter 填写

  5. 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 原文

Self-hosted JetBrains Mono font with preload

README 原文
https://github.com/rpsadarangani/hugo-terminal-theme/blob/main/LICENSEhttps://github.com/rpsadarangani/hugo-terminal-theme/blob/main/README.md

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).
反馈内容错误

看看同类模板

对比同技术栈与用途的模板,找到更适合的视觉与内容结构。