Pelican Clean Blog is an open-source blog theme for the Pelican static site generator, ported from the Start Bootstrap Clean Blog layout and requiring Pelican 4.0.0 or newer. It turns Markdown or reStructuredText content into a clean, content-first blog design with configurable header covers, six code highlighting palettes, and built-in integration for social links, analytics, and AddThis sharing buttons.
What is Pelican Clean Blog?
Pelican Clean Blog is a theme for the Pelican static site generator, based on the Clean Blog layout by BlackrockDigital (Start Bootstrap). It takes Markdown or reStructuredText content and outputs a blog with a header image, an index page, and article detail pages. All configuration happens through variables in pelicanconf.py, so no template editing is required. The theme is free and distributed as a GitHub repository.
Key Features
The theme's functionality is driven entirely from pelicanconf.py settings and per-article metadata fields.
- Header covers — Set a global header image with HEADER_COVER in pelicanconf.py, or override it per article using the header_cover metadata.
- Header color — Use HEADER_COLOR to define any valid CSS color (for example, 'black') as the header background instead of an image.
- Social network icons — Add links via the SOCIAL tuple using FontAwesome icon names such as twitter, github, facebook, flickr, and envelope; icons display in the header and footer, and an rss or rss-square icon switches to an external feed URL.
- Code highlighting — Ships with six Pygments stylesheets: tomorrow.css, tomorrow_night.css, monokai.css, github.css, github_jekyll.css, and darkly.css (default), selected via COLOR_SCHEME_CSS.
- Analytics integration — Optional support for Google Analytics (GOOGLE_ANALYTICS), Gauges (GAUGES), and Piwik (PIWIK_URL plus PIWIK_SITE_ID).
- Per-article images — Use header_cover for the post cover, og_image for Open Graph, and twitter_image for Twitter cards; Twitter cards are generated automatically when a twitter icon is present in SOCIAL.
- Customization hooks — Insert a custom stylesheet with CSS_OVERRIDE, replace the default footer with FOOTER_INCLUDE, and disable the theme's JavaScript with DISABLE_CUSTOM_THEME_JAVASCRIPT.
- Metadata extras — The headline field displays a short resume of an article, SHOW_FULL_ARTICLE displays full content on the index page, and SHOW_SITESUBTITLE_IN_HTML includes the SITESUBTITLE in the page title tag.
Who is it for?
This theme suits any Pelican user who wants a clean, content-focused blog design without writing their own templates.
- Pelican bloggers who publish regularly can set up the entire look from pelicanconf.py, including header images and colors.
- Technical writers benefit from six included syntax-highlighting schemes for code-heavy posts.
- Social-media-savvy authors can enable automatic Open Graph and Twitter card generation with a few metadata lines.
- Self-hosted site owners can connect Google Analytics, Gauges, or Piwik for traffic measurement and add AddThis sharing buttons.
What can you do with Pelican Clean Blog?
With its configurable settings, the theme adapts to several common blogging needs.
- Personal bloggers: Write posts in Markdown or reStructuredText and get a responsive blog with a large header cover and per-post images.
- Code-focused sites: Pick Monokai or Tomorrow Night from COLOR_SCHEME_CSS to display code blocks clearly on dark backgrounds.
- Publisher sites: Add AddThis sharing buttons, social icons, and Google site verification to support content distribution and SEO.
- Custom footer needs: Use FOOTER_INCLUDE plus EXTRA_TEMPLATES_PATHS to render a unique footer instead of the default "Powered by Pelican".
How does Pelican Clean Blog work?
The theme reads Pelican settings from pelicanconf.py and per-article metadata from the content files. Global options like HEADER_COVER, SOCIAL, and COLOR_SCHEME_CSS apply site-wide, while article fields such as header_cover, og_image, and twitter_image override or extend them for individual posts. To install, point Pelican's THEME setting to the repository folder; no extra plugins are required.
Alternatives
Pelican users comparing themes might also consider:
- Elegant — a Pelican theme known for its extensive configuration options and built-in search.
- Flex — a minimalist, responsive two-column Pelican theme.
FAQ
Does Pelican Clean Blog work with older Pelican versions?
No, the theme explicitly requires Pelican 4.0.0 or newer. Attempting to use it with an earlier release will cause errors.
How do I set a custom header image per article?
Add the header_cover metadata to the article's front matter. In reStructuredText, use :header_cover: /path/to/image.png; in Markdown, use Header_Cover: /path/to/image.png. All image paths are relative to the site root.
Can I disable the theme's JavaScript?
Yes. Set DISABLE_CUSTOM_THEME_JAVASCRIPT to True in pelicanconf.py. This stops the loading of js/clean-blog.min.js, which may affect forms and input fields.
What code highlighting schemes are included?
Six Pygments color schemes come with the theme: Tomorrow, Tomorrow Night, Monokai, Github, Github Jekyll, and Darkly (the default). Assign the CSS filename to COLOR_SCHEME_CSS, for example 'monokai.css'.
How do I add an external feed URL like FeedBurner?
Add an entry to the SOCIAL tuple using the rss or rss-square icon, and the theme will show it in the footer and place a link element in the head instead of the default Pelican feeds.





