The Motivation
After years of using fragmented note-taking tools, I decided to build a dedicated space for my technical reflections. My requirements were simple: speed, minimalism, Markdown native, and zero maintenance overhead.
I landed on Hugo paired with the PaperMod theme. Hugo’s Go-based engine provides blazing-fast build times, while PaperMod offers a clean, distraction-free aesthetic.
Architecture Overview
The site is hosted on GitHub and utilizes GitHub Actions for automated building and deployment.
- Static Site Generator: Hugo (Extended version)
- Theme: PaperMod (Home-info mode)
- Deployment: GitHub Pages
- Automation: GitHub Actions
- Configuration: YAML (
hugo.yaml)
Key Technical Setup
1. Configuration (hugo.yaml)
While many Hugo sites use TOML, I preferred YAML for its readability. I configured PaperMod in home-info mode to serve as a minimalist landing page rather than a heavy profile view.
params:
homeInfoParams:
Title: "👋 Welcome to Njx'Log"
Content: >
Hi, this is Jiaxing Ni. I share my AI/ML learning notes here.
2. Special Pages & Search
PaperMod supports local search out-of-the-box using Fuse.js. To enable this, I ensured the build output includes JSON:
outputs:
home:
- HTML
- RSS
- JSON # Required for search
I also set up dedicated layouts for archives and search by creating specific Markdown files in the content/ directory with layout parameters.
3. CI/CD Workflow
The deployment is fully automated. Every push to the main branch triggers a workflow in .github/workflows/hugo.yaml. It sets up the Hugo environment, builds the static assets, and uploads them to GitHub Pages.
- name: Setup Hugo
uses: peaceiris/actions-hugo@v3
with:
hugo-version: '0.153.0'
extended: true # Necessary for SCSS compilation
My Content Workflow
To maintain consistency, I follow these self-imposed rules:
- Creation: Use
hugo new posts/your-post.mdto scaffold new content. - Timezone: Always use
+08:00in frontmatter. - Assets: Store images in
static/and link them via relative paths.
Conclusion
“The faintest ink is better than the best memory.”
This blog is more than just a repository of notes; it’s a laboratory for my engineering thoughts. Moving forward, I’ll be sharing more deep dives into LLM fine-tuning, RAG pipelines, and MLOps.
Stay tuned for more updates.