Newsletter
Join the Community
Subscribe to our newsletter for the latest news and updates
A fast, 100% JavaScript-free Hugo blog theme focused on reading, with syntax highlighting, math, and dark mode.
Notepadium is a fast, reading-focused Hugo blog theme that generates static sites with 100% JavaScript-free output. It is built by cntrump and distributed on GitHub as an open-source theme for Hugo, requiring Hugo version 0.124.0 or newer. The theme takes Markdown content from a Hugo site and renders a complete blog with navigation, pagination, syntax highlighting, math, comments, and a customizable layout.
Notepadium is a Hugo theme designed for fast loading and uncluttered reading. It produces a static HTML site with no JavaScript on the client side, which improves performance and accessibility. The theme is configured entirely through the standard Hugo config.toml file, with parameters for style, syntax, math, comments, navigation, and custom assets. It comes with an exampleSite that you can preview by cloning the repository and running hugo server --themesDir ../.. from the exampleSite directory.
params.math, globally or per page; inline and block LaTeX math is supported.services.disqus.shortname, and utterances (GitHub-comment based) can be enabled by setting params.comments.utterances.repo.params.style to "auto", "light", or "dark"; auto mode follows the system preference.params.assets.css and JS files under params.assets.js; they are compiled into core.css and core.js, and Hugo templating in assets is allowed.plist shortcode for API property lists and a Bilibili shortcode for embedding Chinese video platform content.Install the theme as a git submodule (git submodule add https://github.com/cntrump/hugo-notepadium.git themes/hugo-notepadium), then configure it in config.toml with the theme name and your desired params. Create Markdown content in the usual Hugo way, and run hugo to generate a static site. To test locally, clone the repository and hugo server from the exampleSite directory.
No. The theme is 100% JavaScript-free; all functionality is rendered at build time by Hugo. This is a primary design goal, as stated in the repository.
Hugo 0.124.0 or later. The repository explicitly states this minimum requirement, and older Hugo versions may not work correctly with the theme.
Set params.math.enable = true in config.toml and choose use = "katex" or "mathjax". You can also enable math on individual pages by adding math = true to that page's front matter.
Disqus and utterances. Disqus is enabled by setting the shortname under services.disqus; utterances needs a GitHub repository set in params.comments.utterances.repo. Comments are disabled globally by default and can be enabled per page.
Yes, via params.assets.css and params.assets.js. The listed files are bundled into core.css and core.js, and you can use Hugo templating inside those assets.
Yes. Set params.style to "light", "dark", or "auto". In auto mode, the theme follows the user's system color scheme. You can also configure separate syntax highlighting themes for light and dark modes.
