Hydrogen is a lightweight and clean Jekyll blog theme built for GitHub Pages, designed to render a fast, uncluttered reading experience with minimal modules. It is authored by link9596 and demonstrated live at atlinker.cn, with documentation available in both Simplified Chinese and English.
What is Hydrogen?
Hydrogen is a Jekyll theme that converts Markdown posts and configuration settings into a static blog site. It takes a _config.yml file for site-wide options, a _data/friends.yml file for link exchanges, and posts with front matter as input, then outputs a static HTML site suitable for hosting on GitHub Pages or any static web server. The theme emphasizes "lightweight and clean," using a modular approach to avoid bulky page loads.
Key Features
- Configuration-driven customization — Edit
_config.ymlto set title, description, keywords, baseurl, url, theme color, background image, author name, and more; no code changes required. - MathJax support — Toggle MathJax rendering with a boolean value in
_config.ymlto display mathematical formulas in posts. - PJAX no-refresh navigation — Enable the developer option
PJAXto load pages without full browser refreshes, speeding up navigation. - Sticky posts — Pin articles to the top of the homepage by adding
stickie: trueto the post's front matter. - Friend links — Manage blogroll links easily by editing
_data/friends.ymlfollowing the provided template. - Automatic footer timestamp — Set
buildtimeto a Unix timestamp (via a date-to-timestamp tool) and the theme calculates and displays the blog's establishment time in the footer. - Pagination — Control the maximum number of articles on the homepage with
paginate; older posts are automatically moved to subsequent pages. - Custom domain support — Change the
CNAMEfile in the root directory to point the blog to your own domain.
Who is it for?
- Personal bloggers — Individuals who want a fast, minimalist blog without navigation clutter and want to host it free on GitHub Pages.
- Jekyll users — Developers familiar with Jekyll who want a clean, configurable theme that can be customized entirely through YAML files.
- Chinese/English bilingual writers — The theme ships documentation in both Simplified Chinese and English, making it accessible to both audiences.
What can you do with Hydrogen?
- Set up a blog in minutes — Clone the repository, modify
_config.ymlwith your site name and metadata, and deploy to GitHub Pages. - Write with math formulas — Enable MathJax and include LaTeX-style math in Markdown posts for technical or academic writing.
- Create a link blogroll — Add friend sites in
_data/friends.ymlto build a community blogroll. - Customize appearance without code — Change the top bar color via rgba values, set a background image, and adjust the homepage post count through configuration.
How does Hydrogen work?
First, open _config.yml in the theme root and adjust options such as title, description, baseurl, url, and pagination. Second, set your custom domain by editing the CNAME file in the root directory. Finally, add posts with standard front matter and optional stickie: true for pinning; the theme generates a static site that can be pushed to GitHub Pages.
FAQ
Is Hydrogen free to use?
Yes, Hydrogen is an open-source Jekyll theme available on GitHub under the repository link9596/hydrogen. You can freely use, modify, and deploy it for your own blog.
How do I set up a custom domain?
Modify the CNAME file in the root directory of the theme to contain your domain name, such as atlinker.cn. Ensure your domain's DNS is configured to point to GitHub Pages.
Does Hydrogen support MathJax?
Yes. Set the MathJax option in _config.yml to a boolean value (true or false) to enable or disable MathJax rendering for mathematical formulas in your posts.
Can I pin a specific post to the top of the homepage?
Yes. Add stickie: true to the front matter of the post you want to pin. The theme will keep that post at the top of the homepage listing.
What color formats are supported for the top bar?
The theme_color option accepts rgba color codes, such as rgba(0,0,0,0.5). Hex values with a leading # are not supported.








