PaperCSS is an archived Hugo theme that builds a blog-focused static website using the PaperCSS "less formal" CSS framework, turning Markdown content into a styled site via the Hugo static site generator.
What is PaperCSS?
PaperCSS is a Hugo theme that uses the PaperCSS framework to style a static site, taking Markdown content files and outputting a complete static website through Hugo. It was created by zwbetz-gh and is now archived and read-only, with a live demo at https://papercss-hugo-theme.netlify.com/. The theme requires Hugo version 0.81.0 or higher and is installed by adding the repository as a git submodule.
Key Features
- Hugo static site generator — Runs on Hugo 0.81.0 or newer, with installation via the git submodule command
git submodule add https://github.com/zwbetz-gh/papercss-hugo-theme.git themes/papercss-hugo-theme. - PaperCSS styling — Uses the PaperCSS framework, a "less formal" CSS framework originally created by Rhyne Vlaservich, which gives sites a hand-drawn, notebook-like appearance.
- Automatic table of contents — Blog posts with two or more subheadings (h2 elements) automatically get a table of contents; this can be disabled per post by setting
toctofalsein the post's front matter. - Homepage post summaries — The homepage lists each blog post with a summary; disable a post's summary by setting
show_summarytofalsein its front matter. - Shortcode support — Includes a set of PaperCSS shortcodes, with the full list documented on the demo site at https://papercss-hugo-theme.netlify.com/papercss-shortcodes/.
- Favicon integration — The README explains how to generate favicons with RealFaviconGenerator and place the resulting files under the static directory.
- Example site and configuration — The theme ships with an exampleSite directory that includes a config.yaml file to copy and edit, and the example site can be run locally with
hugo server --themesDir ../... - Submodule-based updates — The theme updates via
git submodule update --remote --mergefrom the root of your site.
Who is it for?
- Personal bloggers — People who want a distinctive, hand-drawn PaperCSS look for a Markdown-driven blog with automatic table of contents and homepage summaries.
- Hugo developers — Users of the Hugo static site generator who need a ready-made theme with a less formal visual style and a simple submodule-based install.
- Hugo learners — Those exploring Hugo who can use the included exampleSite to see how a theme is structured, configured, and localized.
What can you do with PaperCSS?
- Publish a styled blog — Write posts in Markdown and get a static blog with a PaperCSS-styled homepage and per-post pages.
- Long-form writing — Automatically generate a table of contents for posts with two or more headings, or turn it off for short posts.
- Experiment with Hugo themes — Run the example site locally to inspect the theme layout, shortcodes, and config values.
How does PaperCSS work?
Install the theme from the root of your site with git submodule add https://github.com/zwbetz-gh/papercss-hugo-theme.git themes/papercss-hugo-theme. Update it later with git submodule update --remote --merge. To run the example site, change into themes/papercss-hugo-theme/exampleSite and run hugo server --themesDir ../...
Pros and cons
- Distinctive design — The PaperCSS framework provides a unique, hand-drawn aesthetic not found in typical corporate templates.
- Simple installation — Git submodule setup makes the theme easy to add and update.
- Automatic TOC — Useful for long blog posts without extra configuration.
- Archived repository — The project is no longer maintained and is read-only, so there are no bug fixes or feature updates.
- Hugo version requirement — Hugo 0.81.0 or higher is mandatory, which may exclude older installations.
Pricing
The PaperCSS Hugo theme is free to use; the source code is publicly available on GitHub and can be installed directly as a git submodule.
FAQ
Is the PaperCSS Hugo theme still maintained?
No. The GitHub repository is archived and read-only, meaning the theme no longer receives updates, bug fixes, or feature additions.
What Hugo version do I need to use PaperCSS?
You need Hugo version 0.81.0 or higher. The README points to the Hugo releases page to download the appropriate binary.
How do I disable the table of contents for a post?
Set toc to false in the post's front matter. By default, posts with two or more subheadings (h2s) automatically get a table of contents.
How do I disable the summary for a blog post on the homepage?
Set show_summary to false in the post's front matter. This removes the post's summary from the homepage blog listing.
Where can I see a live demo of the PaperCSS Hugo theme?
The live demo is at https://papercss-hugo-theme.netlify.com/. The full list of shortcodes is also documented at https://papercss-hugo-theme.netlify.com/papercss-shortcodes/.




