Back to templates

Template details

Attila

A content-focused responsive theme for Pelican, ported from the Ghost theme Attila, with cover images, author bios, and analytics support.

About this template

Attila is a content-focused responsive theme for the Pelican static site generator, ported from the Ghost theme of the same name by Zutrinken. It transforms Pelican's generated site into a blog with parallax cover images, reading progress, and SEO metadata.

What is Attila?

Attila is a theme for Pelican, a Python-based static site generator that converts Markdown or reStructuredText content into static HTML. The theme takes Pelican's standard content structure — articles, pages, tags, categories, authors — and renders it with a responsive, content-first layout. It is maintained by Arulraj V (GitHub: arulrajnet) on GitHub and is released under the MIT License, originally authored by Peter Amende in 2015–2016 and ported by Arulraj V in 2016.

Key Features

  • Responsive layout — The theme adapts to mobile, tablet, and desktop viewports with a clean, typography-driven design.
  • Parallax cover images — Set cover images for the blog home page (HOME_COVER), articles (via cover metadata), tags, categories, and authors using TAG_META, CATEGORY_META, and AUTHOR_META configuration dictionaries.
  • Reading progress indicator — Articles automatically display a reading progress bar during scroll.
  • Automatic syntax highlighting — Code blocks are highlighted with Pygments without additional configuration.
  • Social and analytics integrations — Built-in support for Disqus comments, Google Analytics, GAUGES, and Piwik (via GOOGLE_ANALYTICS, GAUGES, PIWIK_URL, and PIWIK_SITE_ID settings).
  • SEO metadata — Open Graph tags and JSON-LD rich snippets are generated automatically, with og_image and twitter_image metadata options per article.
  • Tag cloud — The tags archive page renders as a tag cloud with configurable font-size steps via TAG_CLOUD_STEPS (default: 5).
  • Customization overrides — CSS_OVERRIDE and JS_OVERRIDE settings let you inject your own stylesheets and scripts after the theme's defaults.

Who is it for?

  • Pelican users — Bloggers and developers who run a site on Pelican and want a polished, content-focused theme without building their own templates.
  • Content-heavy publishers — Writers who want prominent imagery, author bios, and reading progress to keep readers engaged.
  • SEO-conscious bloggers — Site owners who rely on Open Graph, Twitter Cards, and JSON-LD structured data for social sharing and search visibility.

What can you do with Attila?

  • Launch a personal blog — Set HOME_COVER for a striking homepage, add articles with per-post cover images, and enable author bios with SHOW_AUTHOR_BIO_IN_ARTICLE.
  • Organize content by tags and categories — Give each tag or category its own cover image and description via TAG_META and CATEGORY_META.
  • Add social proof — Display sharing buttons, Disqus comment counts in article summaries (SHOW_COMMENTS_COUNT_IN_ARTICLE_SUMMARY), and a footer with GitHub Sponsors links.
  • Customize the look — Override the theme's CSS with CSS_OVERRIDE or adjust the header color with a simple HOME_COLOR setting (e.g., black).

How does the theme work for you?

To use Attila, install it either by running pip install git+https://github.com/arulrajnet/attila.git@master and setting THEME = attila.get_path() in pelicanconf.py, or by downloading a release zip and installing it with the pelican-themes command. Then configure site-wide settings like HOME_COVER, SOCIAL URLs, and analytics keys. The theme renders all standard Pelican pages (tag archives, author archives, the full archive listing, and static pages) with its own templates.

Pricing

Attila is free and open source under the MIT License. You can use it for personal or commercial projects without license fees.

FAQ

Is Attila free?

Yes, Attila is released under the MIT License, so it is free to use, modify, and distribute, including in commercial projects.

How do I set a cover image for my blog?

Set the HOME_COVER property in your pelicanconf.py file to the path of your image, for example '/assets/images/blog_cover.png'. The deprecated HEADER_COVER property is still used as a fallback.

Can I show author bios on my articles?

Yes. Define an AUTHOR_META dictionary with entries for each author (keyed by author name) that includes name, bio, image, website, and location fields, then set SHOW_AUTHOR_BIO_IN_ARTICLE to True in your configuration.

Which analytics services does Attila support?

Attila supports Google Analytics (GOOGLE_ANALYTICS), GAUGES (GAUGES), and Piwik (PIWIK_URL and PIWIK_SITE_ID). Only the analytics service you configure will be loaded.

Can I add custom CSS to the theme?

Yes. Set CSS_OVERRIDE in pelicanconf.py to a list of CSS file paths, for example ['css/myblog.css'], and they will be included after the theme's stylesheet.

screenshot of Attila on template0.com