A minimal personal blog built with Hugo and PaperMod theme, deployed on GitHub Pages.
🌐 Live Site: https://syccxdr.github.io
- Hugo: v0.156.0 (extended)
- Theme: PaperMod
- Fonts:
- English: Inter
- Chinese: LXGW WenKai (霞鹜文楷)
- Code: Fira Code with ligatures
- Deployment: GitHub Actions → GitHub Pages
- Homebrew (macOS/Linux)
- Git
brew install hugo
hugo version # Should be v0.156.0 or highergit clone --recursive git@github.com:syccxdr/syccxdr.github.io.git
cd syccxdr.github.io--recursive flag is required to clone the PaperMod theme submodule. If you forgot it:
git submodule update --init --recursivehugo server -DOpen http://localhost:1313 in your browser.
.
├── .github/workflows/hugo.yaml # GitHub Actions deployment
├── assets/css/extended/ # Custom CSS overrides
│ └── fonts.css # Custom font configuration
├── content/
│ ├── archives.md # Archives page
│ ├── posts/ # Blog posts (Markdown)
│ └── search.md # Search page
├── themes/PaperMod/ # Theme (git submodule)
├── hugo.yaml # Site configuration
├── PUBLISH_GUIDE.md # How to publish new posts
└── README.md # This file
| Setting | Value | Purpose |
|---|---|---|
baseURL |
https://syccxdr.github.io/ |
Production URL |
languageCode |
en-us |
English UI |
theme |
PaperMod |
Hugo theme |
params.homeInfoParams |
Home-Info mode | Welcome banner + post list |
params.ShowCodeCopyButtons |
true |
Copy buttons for code blocks |
outputs.home |
[HTML, RSS, JSON] |
JSON required for search |
This repository uses local git config to separate from work accounts:
# View current repo git identity
git config --local user.name # syccxdr
git config --local user.email # 1070211640@qq.comTo set up the same local config after cloning:
cd syccxdr.github.io
git config --local user.name "syccxdr"
git config --local user.email "1070211640@qq.com"This only affects this repository, your global git config remains unchanged.
Every push to main branch triggers GitHub Actions automatically:
- Builds the site with Hugo v0.156.0
- Deploys to GitHub Pages
View workflow runs: https://github.com/syccxdr/syccxdr.github.io/actions
If you need to deploy from a different machine:
# 1. Make changes
git add .
git commit -m "Your commit message"
# 2. Push (triggers GitHub Actions)
git pushImportant: Ensure GitHub Pages source is set to GitHub Actions:
- Go to: https://github.com/syccxdr/syccxdr.github.io/settings/pages
- Source: GitHub Actions
- Save
See PUBLISH_GUIDE.md for detailed instructions.
Quick reference:
# 1. Create new post
hugo new content posts/my-new-post.md
# 2. Edit the file (set draft: false to publish)
# 3. Preview locally
hugo server -D
# 4. Commit and push
git add content/posts/my-new-post.md
git commit -m "New post: My New Post"
git pushCustom fonts are defined in assets/css/extended/fonts.css:
- English: Inter (Google Fonts)
- Chinese: LXGW WenKai via CDN
- Code: Fira Code with ligatures
To change fonts, edit this file.
PaperMod configuration is in hugo.yaml under params:. Key toggles:
ShowReadingTime: Show estimated reading timeShowCodeCopyButtons: Copy buttons for code blocksShowToc: Table of contents for postsdefaultTheme:auto(respects system dark/light mode)
Full options: https://github.com/adityatelange/hugo-PaperMod/wiki/Variables
Navigation menu is configured in hugo.yaml under menu.main:
menu:
main:
- identifier: posts
name: Posts
url: /posts/
weight: 10Solution: Install Hugo with Homebrew:
brew install hugoSolution: Initialize git submodules:
git submodule update --init --recursiveCommon causes:
- Hugo version mismatch (check
.github/workflows/hugo.yaml) - Theme not cloned (check
submodules: recursivein workflow) - Pages source not set to "GitHub Actions"
Fix: Ensure Hugo version in CI matches local version (v0.156.0).
Check:
assets/css/extended/fonts.cssexists- CDN links are accessible (Google Fonts, jsDelivr)
- Clear browser cache
- Hugo Documentation: https://gohugo.io/documentation/
- PaperMod Wiki: https://github.com/adityatelange/hugo-PaperMod/wiki
- GitHub Pages Docs: https://docs.github.com/en/pages
This blog content is © 2026 syccxdr. The Hugo framework and PaperMod theme have their own licenses.