Version 5.5.1 released

I am happy to share the latest release of Nikola a static site and blog generator.

This version includes several bugfixes and new features, including but not limited to:


  • New FEED_LENGTH option, defaults to 10 (Issue #549)

  • Added no-cache headers to nikola serve (Issue #545)

  • New mincss command, removes unused and redundant CSS (Issue #364)

  • New chart directive based on pygal

  • Update of IPython plugin to work with the upcoming IPython 1.0


  • Remove cache/ when running nikola clean (Issue #558)

  • Mark bundles as "cleanable" (Issue #558)

  • Made nikola help much more resilient against broken (Issue #550)

  • Show docinfo part of docutils output (Issue #556)

  • Exit with error code when there is an error (Issue #543)

  • Revamped requirements.txt — now requirements.txt contains the required dependencies and requirements-full.txt contains the optional ones (Issue #547)

  • Fixed bug in example usage of install_theme.

  • Better help text for bootswatch command.

  • Fixed installation under pip 1.4 or later (pytz and yapsy versions must be hardcoded due to crazy versioning schemes)

  • Added .rst to the default reStructuredText extensions (via Issue #542)

  • Moved the sample site to the new one-file format (Issue #542)

  • Escape HTML in titles (Issue #537)

  • Fixed issues with index pages indices (Issue #532)

  • Fixed IPython plugin to work with the latest IPython.nbconvert machinery

  • Fixed failing build because of hidden folders and files inside post folder

Version 5.5 released

After a longer-than-desired wait, version 5.5 of Nikola is out!

You can get it here and here is a not exhaustive list of changes:


  • New HIDE_SOURCELINK option (defaults to False)

  • Switched theme repo to (Issue #411)

  • New (untested) ASCIIDoc compiler

  • Display very annoying warning when deploying the nikolademo Disqus account

  • New Bulgarian translation

  • New man page (created with help2man nikola -N --version-string=5.5) (Issue #460)

  • Added "nikola version" command (Issue #504)

  • Added more search form examples in (Issue #515)

  • Template dependency support for Jinja (by koniiiik, Issue #511)

  • New --clean-files option for nikola check

  • Support --version on "run" command (Issue #504)

  • New Turkish translation.

  • New MARKDOWN_EXTENSIONS option, defaults to previopus behaviour (Issue #496)

  • Posts with dates in the future will be treated as drafts (Implemented by punchagan)

  • New "TaskMultiplier" plugin category, takes a task, returns 0 or more new tasks (Issue #483)

  • New 'LINK_CHECK_WHITELIST' option for link checker (Issue #477)

  • New Croatian translation.

  • Jinja-default and jinja-site themes now automatically generated from the Mako versions.

  • New Persian translation

  • RSS feed now includes post tags (Issue #462)

  • Experimental generic RSS/Atom importer (Issue #347)

  • PHP support (Issue #313)

  • New PRETTY_URLS option (generates slug/index.html instead of slug.html) (Issue #429)

  • Added "templates/" folder to template path.

  • Keyword metadata support in post pages (Issue #451)


  • Improve custom.css detection (Issue #526)

  • Fixed bad interaction between 2-file-format and untranslated posts in multilingual sites (Issue #525)

  • Workaround in site theme for navbar hiding targets

  • Flip index pages order (Issue #521)

  • Make txt2tags work again (Issue #520)

  • Updated to latest colorbox

  • Skip metadata when compiling one-file posts (Issue #508)

  • Use schema-relative URL for addthis to avoid insecure page warnings on HTTPS sites (Issue #510)

  • Made the gzip plugin generate less confusing task names (no more double colon)

  • Made "nikola check -f" respect OUTPUT_DIR

  • Customizable teasers were broken (Issue #502)

  • Be less invasive when processing rendered HTML (Issue #500)

  • Run all tasks that should run (Issue #494, #493)

  • Handle timezones in posterous imports (Issue #475)

  • Actually ensure LateTasks are run later than Tasks

  • Don't add drafts and retired posts to the sitemap (Issue #476)

  • Avoid __future__ in because it breaks buildout (Issue #478)

  • Use correct source links with PRETTY_URL=True (Issue #474)

  • Handle non-ascii path in bundles (Issue #473)

  • Handle non-ascii path in plugin loader (Issue #471)

  • Handle non-ascii arguments in main (Issue #470)

  • Make sitemap depend on file dates (reported by Kay Hayen)

  • Better support for non-ascii urlencoded paths in the wp importer (Issue #468)

  • Avoid crashing if user does a deploy with no commands

  • Strip HTML and BODY tags in Post.text() (Issue #464)

  • -f option broken in HTML compiler (Issue #463)

  • Don't map empty folders, map folders with index.html, and don't map index.html (Issue #430)

  • Wordpress import: write correct redirections for URLs not ending in an / (Issue #459)

Version 5.4.4 is out!

Yes, version 5.4.4 is just published at the usual place, including the following improvements:


  • New Japanese translation.

  • Nikola check exists with 1 if there is an error

  • New HIDE_UNTRANSLATED_POSTS option that ensures you don't have mixed-language pages (Issue #373)

  • New theme "site-planetoid" for use with the planetoid plugin.

  • New 'retired' tag for posts that should no longer be in feeds.


  • Added post data as a uptodate check for mustache (Issue #456)

  • Rebuild post pages when the post's translation list changes (Issue #458)

  • Handle "-h" (Issue #460)

  • Added correct help for console command (Issue #460)

  • Escape twittercard data (Issue #452)

  • Added missing "twittercard" in story template

  • Added support for per-language tags (Issue #450)

  • Fix wrong path splitting (Issue #434)

  • Remember locale even when set_locale failes (Issue #446)

  • Decode path argument in new_post (Issue #442)

  • task_indexes had missing config dependencies (Issue #441)

  • Removed bogus links to slides assets that were removed

  • Compressed files were seen as unknown by "nikola check"

  • local search and mustache plugins must be disabled by default (Issue #437)

  • Avoid failure if there are no tags and USE_GZIP is enabled (Issue #439)

  • Fix aspect ratio detection in Vimeo videos (Issue #440)

  • Blogger importer was passing wrong options to "nikola init" (Issue #408)

Version 5.4.3 released

I am happy to announce the availability of version 5.4.3 of Nikola!

This is this version's changelog:


  • Simpler slideshows based on Bootstrap's Carousel

  • New CREATE_MONTHLY_ARCHIVE option, defaults to False (Issue #433)

  • Added gist support for Markdown.

  • New "nocomments" metadata that disables comments for a page/post (Issue #278)

  • New HIDE_UNTRANSLATED_POSTS option (does nothing yet)

  • New EXTRA_HEAD_DATA option, which adds extra things in <HEAD> (Issue #385)

  • Moved translations to

  • New custom sitemap generator (Issue #395)

  • New STRIP_INDEX_HTML option for cleaner URLs

  • New alternative markdown compiler based on misaka

  • New "internals" doc

  • Place links to RSS feeds more visible to the visitor

  • New CODE_COLOR_SCHEME option

  • New "template" metadata that changes the template for a page/post (Issue #199)

  • Added workaround for when Disqus doesn't support your exact locale (spanish only at the moment) Issue #389

  • Extra plugins can be enabled via

  • Password-protected pages.


  • Listings CSS fixes (Issue #416)

  • If dateutil is installed, try to use it to parse dates (Issue #419)

  • Fixed posterous import via import_wordpress (Issue #419)

  • Set locale to the value of "lang" in templates, so things like strftime use localized values. (Issue #368)

  • Fixed console command.

  • Cleaned up arbitrary metadata.

  • Don't crash in posts without actual post text.

  • Nicer tag listing.

  • Fixed unicode bug in markdown compiler.

  • Fixed unicode crash with polish dates and %B (Issue #383)

  • Fixed localsearch plugin

  • Warn if combining USE_CDN with a theme providing a copy of bootstrap (Issue #386)

  • Improved localsearch README

  • Updated to Tipue 2.1

  • Don't index draft posts for Tipue (Issue #387)

  • Modernized all rst extensions, added tests (rbistolfi)

  • Removed obsolete custom code-block directive

  • New function messages(msgid, lang=current_lang) available for templates

  • Fixed teasers (Issue #398)

  • Smarter guessing of the default post format (Issue #400)

  • Make headings not overlap navbar in site theme.

  • Added dummy codeblock fallback for docutils < 0.9

  • Detect dependency on included files in rest compiler

  • Use gallery path from config

  • Don't fail in corrupted images

  • Don't assume filenames are ASCII

  • Don't crash if sidebar_links is not set for a language.

  • All RSS feed links for tags pointed to the DEFAULT_LANG one in some themes.

  • and Nikola.path are now locale aware and lang is optional.

  • Make docutils a soft requirement

  • Normalize paths on task names (Issue #406)

  • Planetoid requires only 3 runs now ;-)

  • Blogger import: imports will not result in an TypeError because str.join expects all it's arguments to be of type str

Nikola 5.4 is out!

I am thrilled to announce the release of version 5.4 of Nikola, a static site/blog generator

Here's the (incomplete!) changelog for this release [1]:


  • Twitter Card / Open Graph support.

  • Smart math support

  • New soundcould directive

  • Custom "read more" links

  • Better time display, timezone support

  • Better doit integration (Issue #151)

  • Make the whole listings folder browsable (Issue #128)

  • New GZIP_FILES/GZIP_EXTENSIONS options to create gzipped copies of some files (Issue #348)

  • New optional path parameter to new_post command.

  • Wordpress importer: option to not download files

  • Wordpress importer: option to squash newlines

  • Separated BLOG_URL into SITE_URL and BASE_URL

  • Added DISABLED_PLUGINS option (Issue #354)


  • Added missing </div> in default theme templates.

  • Wordpress import: Description is left empty if no description is found.

  • When running the build command it is now possible to get help.

  • Load jQuery before bootstrap in JS bundle (Issue #327)

  • Generate valid HTML5 for redirects (Issue #276)

  • Fixed "nikola check"

  • Fixed internationalized RSS links

  • Make commands that need to be run in a site fail gracefully (Issue #342)

  • Use localized links on lxml fixer

  • Redirections created during the import from wordpress are now written to

  • Stop parsing metadata in post file on first blank line

  • Metadata handling cleanups by Tordek

  • Fixed blockquote font size inconsistency

  • Wordpress Import: Do not break indentation (issue #189)

  • Make things work even if SITE_URL has a path (Fix #307)

New Nikola Tutorial

Tim van der Linden has written a impressive tutorial about how he used Nikola to create his new site

It documents the whole process from scratch, starting by downloading Nikola up to building your own theme.

Even if you are already using Nikola you may find some new stuff there, so take a read (also, his theme is so pretty :-)