Nikola v7.0.1 released!

On behalf of the Nikola team, I am pleased to announce the release of Nikola v7.0.1.

Nikola v7.0.1 is a bugfix release. It fixes some bugs found in the original v7.0.0 release — including, but not limited to, symlinks and Unicode output under Windows; Jinja themes’ assets; date formats, and more.

Get it!

Nikola v7.0.1 is available for download at GitHub and PyPI.

Changelog

Features

  • added -e, --edit parameter to new_post and new_page to open $EDITOR after creation (Issue #1294)
  • added scanned signal (after posts are scanned) (via Issue #1291)
  • added missing initialized event (after tasks are loaded) (Issue #1291)

Bugfixes

  • sanitized dates generated by new_post by forcing an ISO 8601-esque format of YYYY-mm-dd HH:MM:SS (Issues #1284, #1313)
  • made github_deploy compatible with Python 3 (Issue #1311)
  • rebuild stuff on TranslatableSettings’ change (Issue #1297)
  • made bootstrap-jinja and bootstrap3-jinja work again, assets were missing (Issue #1309)
  • ignore non-utf8-encoded .html files in sitemaps (Issue #1308)
  • fixed missing assets in Windows (Issue #1306)
  • locales are ignored if there is no config (via Issue #1304)
  • “fixed” a weird bug which tried to find the __file__ of __builtin__
  • made nikola init locale-independent (via Issues #1288, #1304)
  • fixed theme/plugin installation under Python 2.6 (Issue #1298)
  • removed colorama and color support under Windows due to Unicode problems (Issue #1288)
  • made files/assets/css/code.css work again (Issue #1290)

Nikola v7.0.0 released!

On behalf of the Nikola team, I am pleased to announce the release of Nikola v7.0.0 (after 10 days of testing in RC1).

Nikola v7.0.0 is the first major release since 8 months. As such, we had many things that could be changed. There are some things that you might need to change on your site, especially if you have a custom theme. Here is a short and incomplete list of the most important changes:

Key Changes since v6.4.0

  • New dependencies: natsort (natural sorting in galleries) and dateutil (replaces pytz)

  • Many deprecated options were removed.

  • SCHEDULE_FORCE_TODAY, EXTRA_PLUGINS and ENABLED_EXTRAS are now removed and have no effect.

  • Two options were changed:

    • HIDE_SOURCELINK → SHOW_SOURCELINK (inverted)
    • HIDE_UNTRANSLATED_POSTS → SHOW_UNTRANSLATED_POSTS (inverted)
  • READ_MORE_LINK is split into INDEX_READ_MORE_LINK and RSS_READ_MORE_LINK. Moreover, new tags, like (remaining_)reading_time and (remaining_)paragraph_count, were added.

  • Added options: FORCE_ISO8601, LOGO_URL, SHOW_BLOG_TITLE (logo support), GENERATE_RSS, ROBOTS_EXCLUSIONS, CONTENT_FOOTER_FORMATS, RSS_PLAIN, UNSLUGIFY_TITLES (for meta extraction from filenames).

  • Certain settings are now translatable. As of now, the settings are:

    BLOG_AUTHOR, BLOG_TITLE, BLOG_DESCRIPTION, LICENSE, CONTENT_FOOTER, SOCIAL_BUTTONS_CODE, SEARCH_FORM, BODY_END, EXTRA_HEAD_DATA, NAVIGATION_LINKS, READ_MORE_LINK.

  • There are many changes to themes. The base theme now offers a stylish look and is usable on sites, through a new stylesheet. The HTML code is now more semantic and sectioned, making it easier to style sites. Some templates are also renamed or removed.

  • The basic Jinja themes (base-jinja, bootstrap-jinja, bootstrap3-jinja) are now shipped with Nikola. Please remove any leftover copies from your themes/ folders.

  • You now can (and should!) specify a timezone offset in post dates, using a UTC±00:00 syntax. (warning: UTC-03:00 means 3 hours east of UTC and not west, as is done in some Unix tools!) You can also use ISO 8601 dates (and if you want to do that, you can set FORCE_ISO8601=True to get those in new_post and new_page)

  • You now can use the reST metadata format in .meta files, allowing for greater flexibility.

Get it!

Nikola v7.0.0 is available for download at GitHub and PyPI.

Changelog

Features

  • Added UNSLUGIFY_TITLES option for making titles fetched via the filename regexp prettier (Issue #1282)
  • New dependencies: natsort (natural sorting in galleries) and dateutil (replaces pytz)
  • Nikola.commands are now the user-friendly wrappers from console (Issue #1177)
  • Add a github_deploy command to deploy to GitHub pages (Issue #1208)
  • Remove tidy filter (it was broken due to tidy being ancient) (Issue #1164)
  • Added GENERATE_RSS setting to allow disabling RSS in Nikola (Issue #1236)
  • Link listings raw sources if COPY_SOURCES is True (Issue #1214)
  • Much more powerful nikola plugin command (Issue #1189)
  • More powerful console mode allows access to all nikola commands (Issue #830)
  • New `ROBOTS_EXCLUSIONS` option listing resources to exclude from sitemap and include in new generated /robots.txt (Issue #804)
  • Generate sitemapindex containing RSS and sitemap files (Issue #804)
  • Support hooks in templates, for use by plugins (Issue #896)
  • Use readline if available (Issue #1238)
  • Replaced READ_MORE_LINK with INDEX_READ_MORE_LINK and RSS_READ_MORE_LINK (Issue #1222)
  • Added reading_time, remaining_reading_time, paragraph_count, remaining_paragraph_count tags for READ_MORE_LINK (Issue #1220)
  • Add canonical link in listings.
  • Added support for new meta files that are the same format as 1-file metadata, allowing for greater flexibility (Issue #954)
  • Colorbox is now internationalized (Issue #1205)
  • Added LOGO_URL and SHOW_BLOG_TITLE=True settings to facilitate showing off logos (Issue #1122)
  • Create automatic story index pages for subfolders, too (Issue #793)
  • New Slovak translation by Tomáš Prékop
  • Created a MarkdownExtension plugin class (Issue #1175)
  • The base theme produces properly sectioned and semantic HTML5 (Issues #1123, #1137)
  • The base theme comes with a new stylish look by default (Issue #1137)
  • The base theme supports Right-to-Left by using ::dir(rtl) CSS4 rules and <html dir="rtl"> tags where valid (Issue #1146)
  • Bootstrap 2 updated to 2.3.2 (via Issue #1137)
  • Added FORCE_ISO8601 setting that currently makes new_post use ISO 8601 dates (via Issue #1156)
  • Added support for TZ specified in post date (Issue #1118)
  • Make nikola init ask about the site’s settings (Issue #1080)
  • Use natural sorting for files and folders list in listings and galleries (Issue #1144)
  • Added invariance testing (Issue #672)
  • Plugins can inject templates in the system (Issue #1139)
  • nikola import_wordpress now has a --qtranslate option, to parse posts in the qtranslate wordpress plugin format and turn them into multilingual Nikola posts (Issue #1072)
  • nikola console allows for interpreter choice via -b, -i, -p; moreover, support for bpython is not deprecated anymore (Issue #1126)
  • retired tag for posts has been replaced with private (via Issue #686)
  • Changed the default TRANSLATIONS_PATTERN to "{path}.{lang}.{ext}". (Issues #990, #829)
  • Backwards compatibility with v5 is broken. Added backwards-incompatible changes. (Issue #829)
  • Added a CONTENT_FOOTER_FORMATS config option. It is used to format the CONTENT_FOOTER variable properly, for compatibility with the Translatable Settings feature. The variable takes a dict, the keys of which are languages, and values are (args, kwargs). (Issue #1112)
  • Certain settings are now translatable. As of now, the settings are: BLOG_AUTHOR, BLOG_TITLE, BLOG_DESCRIPTION, LICENSE, CONTENT_FOOTER, SOCIAL_BUTTONS_CODE, SEARCH_FORM, BODY_END, EXTRA_HEAD_DATA, NAVIGATION_LINKS, READ_MORE_LINK (the up-to-date list is available in SITE.TRANSLATABLE_SETTINGS) (Issues #851, #1057, #1061, #1112)
  • New Post.author() returns meta 'author' or BLOG_AUTHOR (Issue #1117)
  • Ship base-jinja, bootstrap-jinja, bootstrap3-jinja with Nikola (Issue #1104)
  • Invert HIDE_SOURCELINK and HIDE_UNTRANSLATED_POSTS into SHOW_SOURCELINK and SHOW_UNTRANSLATED_POSTS (Issue #1076)
  • Remove old messages left over for backwards compatibility: (Issues #829, #1105)
    • "More posts about", replaced by "More posts about %s"
    • "Posted", replaced by "Posted:"
    • "Also available in", replaced by "Also available in:"
  • Remove old "sl_SI", "tr_TR" locale aliases (use "sl" and "tr") (Issue #829, #1105)
  • New option RSS_PLAIN to optionally strip HTML from RSS feeds (Issue #1107)
  • Support content key in compilers' create_post (Issue #1098)
  • Use setuptools’ extras feature. Use pip install nikola[extras] to install Nikola with extras (requirements-extras.txt, formerly requirements-full.txt -- note the name change!) (Issue #1089)

Bugfixes

  • Markdown now outputs code in a reST-like fashion (Issue #1063)
  • code.css is back to supporting only pre.code (Issue #1063)
  • Links in monthly archives did not have /index.html if STRIP_INDEXES was set to False (Issue #1263)
  • Fix lxml adding extra root tags being added by lxml by lxml.html.tostring
  • Not having typogrify installed now produces a valid error (Issue #1262)
  • Pages were not rebuilt when DEMOTE_HEADERS was changed (Issue #1261)
  • Removed SCHEDULE_FORCE_TODAY option (Issue #984)
  • Give better error for unknown subcommands (Issue #1233)
  • Handle conf.py for import plugins more generically (Issue #1235)
  • Remove RSS files from the sitemap (Issue #804)
  • nikola deploy works with DEPLOY_FUTURE = True (Issue #1249)
  • Removed EXTRA_PLUGINS and ENABLED_EXTRAS options (Issue #1247)
  • nikola COMMAND -h/--help now outputs command help and not Nikola help (showing the command help is standard behavior) (Issue #1245)
  • Redirect pages should have a body linking to the new location
  • The typogrify filter is now Python 3-compatible (Issue #1244)
  • Fix nikola auto not watching changes in FILES_FOLDERS (Issue #1241)
  • Vimeo and YouTube embedding in reStructuredText is now protocol-relative
  • Don't crash if a unknown kind of path/link is requested (Issue #1236)
  • Don't run clean and list outside sites (Issue #1232)
  • If an invalid language is specified, Nikola now shows a helpful error message instead of a traceback (via Issue #1225)
  • Ensure the locale is set correctly when compiling posts (Issue #1219)
  • Fix site-dependent commands (they tried to run anyways) (Issue #1223)
  • Follow symlinks when walking trees (Issue #1206)
  • bootswatch_theme works again and does not try using server hostname=swatch (Issue #1202)
  • Make markdown extensions not break when markdown is not installed (Issue #1201)
  • hidetitle now works in posts, too (Issue #1188)
  • Refactoring of post translation checking (Issue #1194)
  • Trigger rebuild on gallery changes in auto mode (Issue #1180)
  • Galleries are more usable in non-Bootstrap-based themes (Issue #1137)
  • Removed dependency on pytz because mixing it with dateutil breaks things.
  • Use current system TZ for current_time (Issue #1161)
  • Fix links with full path in RSS for files outside root (Issue #1162)
  • nikola new_post now always outputs a newline at the end of file (Issue #1169)
  • Gallery code cleanup (Issue #1121)
  • USE_FILENAME_AS_TITLE works again (Issue #1073)
  • Rebuild CSS bundles when files change, and also when files are removed (Issue #1153)
  • Don't call links to SITE_URL bad on check when URL_TYPE is 'absolute' (Issue #1147)
  • Trigger rebuilds if URL_TYPE changes (Issue #1095)
  • Eliminate repeated tags in posts (Issue #1142)
  • custom.css not included in bundles
  • Don’t publish email addresses in RSS, use author name via Dublin Core
  • Rebuild a lot of files when TIMEZONE changes (Issue #1110)
  • The init command and the importers now always output to the CWD. Previously, if you had a conf.py file higher in the directory structure, Nikola would put the output of those commands in the directory that contained the file. (Issue #1132)
  • Files with non-ASCII characters in filenames are copied only when needed, and not every build (Issue #1129)
  • Split Twitter Cards and Open Graph, enable the latter by default
  • Load html5shiv.js from remote or local server depending on USE_CDN option
  • Fix dependency issue in listings (Issue #1032)
  • Logging configuration has been fixed. The stderr handler can now only be set to DEBUG or INFO (any higher levels are corrected as INFO), and unwanted (i.e. DEBUG) messages are not shown, as intended. (Issue #1111)
  • Catch keyboard exit while serving so traceback does not show (Issue #1124)
  • Support rescanning posts in the Nikola class (Issue #1100)
  • Use TIMEZONE with nikola new_post and nikola new_page. (Issue #1088)

Release Candidate 1 for Nikola v7.0.0 out

In order to make the v7 release as perfect as possible, we hereby provide Nikola v7.0.0-rc1. This is a release candidate. Using and testing it is not mandated, but if you want to test whether your website will work with it, you can test — and report any bugs to us.

Key Changes since v6.4.0

  • Many deprecated options were removed.

  • SCHEDULE_FORCE_TODAY, EXTRA_PLUGINS and ENABLED_EXTRAS are now removed and have no effect.

  • Two options were changed:

    • HIDE_SOURCELINK → SHOW_SOURCELINK (inverted)
    • HIDE_UNTRANSLATED_POSTS → SHOW_UNTRANSLATED_POSTS (inverted)
  • READ_MORE_LINK is split into INDEX_READ_MORE_LINK and RSS_READ_MORE_LINK. Moreover, new tags, like (remaining_)reading_time and (remaining_)paragraph_count, were added.

  • Added options: FORCE_ISO8601, LOGO_URL, SHOW_BLOG_TITLE (logo support), GENERATE_RSS, ROBOTS_EXCLUSIONS, CONTENT_FOOTER_FORMATS, RSS_PLAIN.

  • Certain settings are now translatable. As of now, the settings are:

    BLOG_AUTHOR, BLOG_TITLE, BLOG_DESCRIPTION, LICENSE, CONTENT_FOOTER, SOCIAL_BUTTONS_CODE, SEARCH_FORM, BODY_END, EXTRA_HEAD_DATA, NAVIGATION_LINKS, READ_MORE_LINK.

  • There are many changes to themes. The base theme now offers a stylish look and is usable on sites, through a new stylesheet. The HTML code is now more semantic and sectioned, making it easier to style sites. Some templates are also renamed or removed.

  • The basic Jinja themes (base-jinja, bootstrap-jinja, bootstrap3-jinja) are now shipped with Nikola. Please remove any leftover copies from your themes/ folders.

  • You can now specify a timezone offset in post dates, using a UTC±00:00 syntax. (warning: UTC-03:00 means 3 hours ahead of UTC and not the reverse, as is done in many Unix tools!) You can also use ISO 8601 dates (and if you want to do that, you can set FORCE_ISO8601=True to get those in new_post and new_page)

  • You can now use the reST metadata format in .meta files, allowing for greater flexibility.

Downloads

Nikola v7.0.0-rc1 is available for download at GitHub and PyPI.

Changelog

Features

  • Add a github_deploy command to deploy to GitHub pages (Issue #1208)
  • Remove tidy filter (it was broken due to tidy being ancient) (Issue #1164)
  • Added GENERATE_RSS setting to allow disabling RSS in Nikola (Issue #1236)
  • Link listings raw sources if COPY_SOURCES is True (Issue #1214)
  • Much more powerful nikola plugin command (Issue #1189)
  • More powerful console mode allows access to all nikola commands (Issue #830)
  • New `ROBOTS_EXCLUSIONS` option listing resources to exclude from sitemap and include in new generated /robots.txt (Issue #804)
  • Generate sitemapindex containing RSS and sitemap files (Issue #804)
  • Support hooks in templates, for use by plugins (Issue #896)
  • Use readline if available (Issue #1238)
  • Replaced READ_MORE_LINK with INDEX_READ_MORE_LINK and RSS_READ_MORE_LINK (Issue #1222)
  • Added reading_time, remaining_reading_time, paragraph_count, remaining_paragraph_count tags for READ_MORE_LINK (Issue #1220)
  • Add canonical link in listings.
  • Added support for new meta files that are the same format as 1-file metadata, allowing for greater flexibility (Issue #954)
  • Colorbox is now internationalized (Issue #1205)
  • Added LOGO_URL and SHOW_BLOG_TITLE=True settings to facilitate showing off logos (Issue #1122)
  • Create automatic story index pages for subfolders, too (Issue #793)
  • New Slovak translation by Tomáš Prékop
  • Created a MarkdownExtension plugin class (Issue #1175)
  • The base theme produces properly sectioned and semantic HTML5 (Issues #1123, #1137)
  • The base theme comes with a new stylish look by default (Issue #1137)
  • The base theme supports Right-to-Left by using ::dir(rtl) CSS4 rules and <html dir="rtl"> tags where valid (Issue #1146)
  • Bootstrap 2 updated to 2.3.2 (via Issue #1137)
  • Added FORCE_ISO8601 setting that currently makes new_post use ISO 8601 dates (via Issue #1156)
  • Added support for TZ specified in post date (Issue #1118)
  • Make nikola init ask about the site’s settings (Issue #1080)
  • Use natural sorting for files and folders list in listings and galleries (Issue #1144)
  • Added invariance testing (Issue #672)
  • Plugins can inject templates in the system (Issue #1139)
  • nikola import_wordpress now has a --qtranslate option, to parse posts in the qtranslate wordpress plugin format and turn them into multilingual Nikola posts (Issue #1072)
  • nikola console allows for interpreter choice via -b, -i, -p; moreover, support for bpython is not deprecated anymore (Issue #1126)
  • retired tag for posts has been replaced with private (via Issue #686)
  • Changed the default TRANSLATIONS_PATTERN to "{path}.{lang}.{ext}". (Issues #990, #829)
  • Backwards compatibility with v5 is broken. Added backwards-incompatible changes. (Issue #829)
  • Added a CONTENT_FOOTER_FORMATS config option. It is used to format the CONTENT_FOOTER variable properly, for compatibility with the Translatable Settings feature. The variable takes a dict, the keys of which are languages, and values are (args, kwargs). (Issue #1112)
  • Certain settings are now translatable. As of now, the settings are: BLOG_AUTHOR, BLOG_TITLE, BLOG_DESCRIPTION, LICENSE, CONTENT_FOOTER, SOCIAL_BUTTONS_CODE, SEARCH_FORM, BODY_END, EXTRA_HEAD_DATA, NAVIGATION_LINKS, READ_MORE_LINK (the up-to-date list is available in SITE.TRANSLATABLE_SETTINGS) (Issues #851, #1057, #1061, #1112)
  • New Post.author() returns meta 'author' or BLOG_AUTHOR (Issue #1117)
  • Ship base-jinja, bootstrap-jinja, bootstrap3-jinja with Nikola (Issue #1104)
  • Invert HIDE_SOURCELINK and HIDE_UNTRANSLATED_POSTS into SHOW_SOURCELINK and SHOW_UNTRANSLATED_POSTS (Issue #1076)
  • Remove old messages left over for backwards compatibility: (Issues #829, #1105)
    • "More posts about", replaced by "More posts about %s"
    • "Posted", replaced by "Posted:"
    • "Also available in", replaced by "Also available in:"
  • Remove old "sl_SI", "tr_TR" locale aliases (use "sl" and "tr") (Issue #829, #1105)
  • New option RSS_PLAIN to optionally strip HTML from RSS feeds (Issue #1107)
  • Support content key in compilers' create_post (Issue #1098)
  • Use setuptools’ extras feature. Use pip install nikola[extras] to install Nikola with extras (requirements-extras.txt, formerly requirements-full.txt -- note the name change!) (Issue #1089)

Bugfixes

  • Links in monthly archives did not have /index.html if STRIP_INDEXES was set to False (Issue #1263)
  • Fix lxml adding extra root tags being added by lxml by lxml.html.tostring
  • Not having typogrify installed now produces a valid error (Issue #1262)
  • Pages were not rebuilt when DEMOTE_HEADERS was changed (Issue #1261)
  • code.css was not rebuilt, even though there were changes in v6.4.0 to its format (via Issue #1050)
  • Removed SCHEDULE_FORCE_TODAY option (Issue #984)
  • Give better error for unknown subcommands (Issue #1233)
  • Handle conf.py for import plugins more generically (Issue #1235)
  • Remove RSS files from the sitemap (Issue #804)
  • nikola deploy works with DEPLOY_FUTURE = True (Issue #1249)
  • Removed EXTRA_PLUGINS and ENABLED_EXTRAS options (Issue #1247)
  • nikola COMMAND -h/--help now outputs command help and not Nikola help (showing the command help is standard behavior) (Issue #1245)
  • Redirect pages should have a body linking to the new location
  • The typogrify filter is now Python 3-compatible (Issue #1244)
  • Fix nikola auto not watching changes in FILES_FOLDERS (Issue #1241)
  • Vimeo and YouTube embedding in reStructuredText is now protocol-relative
  • Don't crash if a unknown kind of path/link is requested (Issue #1236)
  • Don't run clean and list outside sites (Issue #1232)
  • If an invalid language is specified, Nikola now shows a helpful error message instead of a traceback (via Issue #1225)
  • Ensure the locale is set correctly when compiling posts (Issue #1219)
  • Fix site-dependent commands (they tried to run anyways) (Issue #1223)
  • Follow symlinks when walking trees (Issue #1206)
  • bootswatch_theme works again and does not try using server hostname=swatch (Issue #1202)
  • Make markdown extensions not break when markdown is not installed (Issue #1201)
  • hidetitle now works in posts, too (Issue #1188)
  • Refactoring of post translation checking (Issue #1194)
  • Trigger rebuild on gallery changes in auto mode (Issue #1180)
  • Galleries are more usable in non-Bootstrap-based themes (Issue #1137)
  • Removed dependency on pytz because mixing it with dateutil breaks things.
  • Use current system TZ for current_time (Issue #1161)
  • Fix links with full path in RSS for files outside root (Issue #1162)
  • nikola new_post now always outputs a newline at the end of file (Issue #1169)
  • Gallery code cleanup (Issue #1121)
  • USE_FILENAME_AS_TITLE works again (Issue #1073)
  • Rebuild CSS bundles when files change, and also when files are removed (Issue #1153)
  • Don't call links to SITE_URL bad on check when URL_TYPE is 'absolute' (Issue #1147)
  • Trigger rebuilds if URL_TYPE changes (Issue #1095)
  • Eliminate repeated tags in posts (Issue #1142)
  • custom.css not included in bundles
  • Don’t publish email addresses in RSS, use author name via Dublin Core
  • Rebuild a lot of files when TIMEZONE changes (Issue #1110)
  • The init command and the importers now always output to the CWD. Previously, if you had a conf.py file higher in the directory structure, Nikola would put the output of those commands in the directory that contained the file. (Issue #1132)
  • Files with non-ASCII characters in filenames are copied only when needed, and not every build (Issue #1129)
  • Split Twitter Cards and Open Graph, enable the latter by default
  • Load html5shiv.js from remote or local server depending on USE_CDN option
  • Fix dependency issue in listings (Issue #1032)
  • Logging configuration has been fixed. The stderr handler can now only be set to DEBUG or INFO (any higher levels are corrected as INFO), and unwanted (i.e. DEBUG) messages are not shown, as intended. (Issue #1111)
  • Catch keyboard exit while serving so traceback does not show (Issue #1124)
  • Support rescanning posts in the Nikola class (Issue #1100)
  • Use TIMEZONE with nikola new_post and nikola new_page. (Issue #1088)

Nikola v6.4.0 released!

We’re pleased to announce the release of Nikola v6.4.0.

What is Nikola?

Nikola is a static site and blog generator, written in Python. It can use Mako and Jinja2 templates, and input in many popular markup formats, such as reStructuredText and Markdown — and can even turn IPython Notebooks into blog posts! It also supports image galleries, and is multilingual. Nikola is flexible, and page builds are extremely fast, courtesy of doit (rebuilding only what has been changed).

Find out more at the website: http://getnikola.com/

Key Changes since v6.3.0

  • The code.css (and all*.css) files have been revamped to support dark themes and Markdown properly. Please remove those files from your output directory and run nikola build to get the fixes.
  • nikola auto supports livereload v2.1.0.
  • Added nikola new_page, equivalent to nikola new_post -p.
  • Deploys to sub-directories (eg. http://example.com/blog/) are now fully supported and bug-free.

Get it!

Nikola is available for download at GitHub and PyPI.

Debian Packages

In the v6.3.0 announcement, it was promised that an install_bs3 command would be added to the Debian packages. The v6.3.0 packages were released yesterday and they contain the promised patch. Please use it to install the theme if you need it.

Committers

$ git log v6.3.0..v6.4.0 --pretty='format:%an'|sort|uniq -c|sort \
> --reverse
    144 Chris “Kwpolska” Warrick
     83 Roberto Alsina
     19 Ramiro Morales
     12 Thibauld Nion
     11 Daniel Aleksandersen
      9 Eric Meaney
      8 Ondrej Grover
      4 Evgeni Golov
      3 Tim Chase
      2 Casey M. Bessette
      1 Puneeth Chaganti
      1 Ivan Teoh
      1 Dav Clark

Changelog

Features

  • Add nikola new_page command (equivalent to nikola new_post -p) (Issue #1060)
  • Add LESS_OPTIONS and SASS_OPTIONS for specifying additional parameters to LESS/Sass compilers (Issue #1020)
  • Warn users about bootswatch_theme being incompatible with bootstrap3-gradients
  • Add link://filename/foo/bar.rst syntax to refer to the post generated from foo/bar.rst (Issue #1035)
  • Log messages are colorized (colorama is required under Windows) (Issue #1044)
  • Template filters are configurable via the TEMPLATE_FILTERS config variable (Issue #1038)
  • Added Hindi translation by Sean Pue
  • Livereload v2.1.0 is supported and frozen as the version to use due to backwards-incompatible updates (Issue #1023)
  • Support :linenos: and :number-lines: in listings (Issue #1010)
  • Support :linenos: in code blocks for Sphinx compatibility (Issue #1010)
  • New link:///foo links which always point to absolute paths (/foo in that case) (Issue #986)
  • Bootstrap 3 has been updated to v3.1.1 (Issue #1015)
  • New --browser/-b option on the serve command to open instantly in a web browser (Issue #997)
  • SASS/LESS files and targets file will be processed from site root (Issue #941)

Bugfixes

  • lastdeploy time recording was broken, changed to ISO format (Issue #1083)
  • Avoid undefined behaviour if NAVIGATION_LINKS is missing keys for a translation (Issue #1082)
  • Make livereload actually rebuild the site when changes are made (Issue #1067)
  • Fix filename encodings in WordPress imports (Issue #1053)
  • nikola check supports URL_TYPE="absolute" and URL_TYPE="full_path" (Issue #1046)
  • Fix URL_TYPE="absolute" and URL_TYPE="full_path" on non-root sites (Issue #1046)
  • Avoid running bundle tasks twice (Issue #1032)
  • Fix post links in RSS feeds for sites outside of webserver root (Issue #986)
  • Only run sitemap once (Issue #1032)
  • Fix a bug with some multilingual pages
  • Normalize paths (Issue #1028)
  • Fix drafts being leaked in feeds (Issues #934, #971)
  • If two tags generate the same slug, they are the same tag (Issue #1022)
  • Assume UTF-8 if user's locale doesn't have any encodings attached (Issue #1026 via #1021)
  • Support PRETTY_URLS for tag files (Issue #655)
  • Change code.css and rst.css to have sane output everywhere (Issues #913, #1009, #1050)
  • Fix image URLs in galleries for sites outside of webserver root (Issue #986)
  • Fix link:// in RSS contents (Issue #952)
  • HIDE_SOURCELINK was set to True sometimes (Issue #1004)
  • Properly import cool URIs from WordPress, instead of just slugify-ing the path (Issue #693)
  • Fixed SASS/LESS errors when more than one theme in chain has a targets file (Issue #941)
  • Guard against empty list-items in base templates (Issue #936)

Nikola version 6.3.0 released

Version 6.3.0 of Nikola is out. This is a large improvement, with many features and bugfixes (it is also over a month late, sorry!)

Compatibility Warnings

If you have your own locale files, you may want to check them. There were some changes lately.

If you use any themes from the Themes Index, make sure to update them — and make sure to upgrade the whole inheritance tree. For example, the base-jinja theme has a new file (tagindex.tmpl).

Debian and Bootstrap 3

During this release cycle, we discovered that the Debian (and Ubuntu) packages remove our copy of Bootstrap 3 and don’t provide any replacement. For those users, a install_bs3 command is provided. It is available only for people who installed from those packages (after all, nobody else should need it). Patch: install_bs3 for Debian.

Downloads at GitHub and PyPI, as usual.

Committers

$ git log v6.2.1..v6.3.0 --pretty='format:%an'|sort|uniq -c|sort --reverse
234 Chris “Kwpolska” Warrick
 21 Roberto Alsina
 20 Daniel Aleksandersen
 13 Ivan Teoh
 12 Puneeth Chaganti
 10 Alex Popescu
  9 Ondrej Grover
  6 Eric Meaney
  5 schettino72
  4 nlaurens
  4 Roman Yepishev
  4 Claudio Canepa
  3 damianavila
  3 Onno Broekmans
  2 Tim Chase
  2 Kay Hayen
  1 ermeaney
  1 Simon van der Veldt
  1 Areski Belaid

Changelog

Features

  • Added translations:
    • Basque by aitorp
    • Czech by Ondřej Grover
    • Estonian by Lauri Võsandi
    • Norwegian Bokmål by Daniel Aleksandersen
  • TIMEZONE now defaults to UTC (via Issue #893)
  • Added a DEMOTE_HEADERS option (on by default; previously implemented by the Markdown and reST compilers) to have consenting compilers produce documents with headers lower by one than the one defined (Issue #891)
  • isso comments are now supported (Issue #905)
  • Gallery titles are used in more places (Issue #902)
  • Gallery titles also are used in breadcrumbs (Issue #902)
  • tagindex.tmpl is used for tag indexes instead of index.tmpl (Issues #930, #933)
  • Added SASS_COMPILER option (defaults to sass) to add support for alternate compilers like sassc (Issue #940)
  • Added LESS_COMPILER option (defaults to lessc) to add support for alternate compilers like recess (via Issue #940)
  • sass/less files and targets file will be processed from site root (Issue #941)
  • Added a list of posts for each tag in tag_cloud_data.json
  • Added EXTRA_PLUGINS_DIRS option, for specifying additional plugin directories (Issue #953)
  • Expose original doit "auto" command as "doit_auto" (Issue #955)
  • New "type" metadata to make differences for posts (Issue #927)
  • New Post.is_post attribute to differentiate posts and pages without bias (Post.use_in_feeds is False if the post is retired/unpublished/a draft)
  • Add rel=canonical <link> elements (Issue #449)
  • Add rel=alternate <link> elements to translations of the current page (Issues #988, #989)
  • Added a INDEXES_PAGES_MAIN setting to show the page number on the index page if desired (True) (Issues #210, #987)
  • Added a TRANSLATIONS_PATTERN setting to specify the format for language-dependent filenames (Issue #990)

Bugfixes

  • Support livereload 2.0 (Issue #968)
  • Don't crash when docutils exception have no line number (Issue #920)
  • Forced permalinks in active menu items (Issue #916)
  • Remind the user to set THEME to use a downloaded theme
  • Fix crash when using USE_FILENAME_AS_TITLE = False (Issue #892)
  • Fixed deploy events if there is no TIMEZONE set (Issue #893 via #822)
  • Modified translation strings: "Posted", "Also available in", "More posts about" — may break backwards compatibility (Issue #905) Details: https://groups.google.com/forum/#!topic/nikola-discuss/ABXKk9G0_u0
  • Facebook comments are now showing properly
  • Added a warning/error when lessc/sass are missing (via Issue themes#24)
  • Fixed sass/less under Windows (Issue #939, themes#24)
  • Fix URL rewriting of fragment-only links (Issue #945)
  • Fixed the deploy rsync example (rsync --delete doesn't work with '/*' as source) (Issue #959)
  • Added a notice for the user if webassets is not installed and USE_BUNDLES is True (Issue #965)
  • Support livereload 2.0 (Issue #968)
  • Remove some unnecessary elements (Issues #969, #970)
  • abs_link should return absolute URI

Nikola version 6.2.1 released

Version 6.2.1 of Nikola is out. This is a partially-unplanned bugfix release to fix issues with locales and address some more bugs, also adding a few little features.

Downloads at GitHub and PyPI

Changelog

Features

  • Default themes adds semantic meanings to posts using h-entry (a microformats2) and HTML 5 microdata (Issue #867)
  • New "hidetitle" metadata to suppress printing a title as heading (Issue #584)
  • Template systems can now render to and from a string. (Issue #881)
  • New event for newly deployed posts (Issue #882)

Bugfixes

  • Fixed some locale problems in posix systems (Issues #886, #884, #875)
  • Don’t include BLOG_DESCRIPTION as meta tag on tag and gallery pages (Issue #876)

Nikola v6.1.0 released!

Version 6.1.0 is out and available in the usual places! (github , PyPI)

One cool thing about this release: it's the first one to support downloadable plugins!

Here is a somewhat incomplete changelog:

Features

  • Added slug support to the magic link:// URLs
  • New Esperanto translation.
  • New -q flag for quiet running (Issue #762)
  • Added author field in RSS items (Issue #767)
  • Annotations using annotateit.org (Issue #623)
  • New GALLERY_SORT_BY_DATE option, defaulting to True. If set to False, sorts by name (Issue #667)

Bugfixes

  • Fixed compatibility with Windows’ multiple partitions (Issues #776, #784)
  • Added language in the RSS feeds (Issue #777)
  • Don't fail for empty bundles.
  • Fix USE_BUNDLES compatibility with Python 3 (Issue #760)
  • Compatibility with doit 0.23.0 (Issues #756 #758)
  • Install enough of the theme chain to ensure themes are usable (Issue #748)
  • Support Gist URLs in the gist directive for compatibility with sphinx-gist-embed (Issue #754)
  • windows, dev - fix point pth to clone and run nikola without install (Issue #751)
  • windows - fix install from clone or from a Github download (Issue #747, Windows)
  • Make Listings directive inherit Include making it simpler and more powerful (Issue #744)
  • Install builtin themes (Issue #741)
  • LOGGER was incorrectly imported in planetoid.py
  • Order Monthly Archive properly, descending order (Issue #740)

Version 6.0.0 Released!

I am thrilled to announce the immediate release of Nikola version 6.0.0.

This is a major feature release. If you have an existing site, you will get a number of warnings about deprecated options. Don't worry, things most likely will still work, and you can take your time fixing them.

Some of the new features are described in a series of blog posts: 1 2 3 4 5

Here is the (probably incomplete) changelog:

Features

  • Deprecated post_compilers for COMPILERS (Issue #601)
  • Replaced post_pages option with POSTS and PAGES (Issue #601)
  • Support for bootswatch in boostrap 2 and 3 (Issue #599)
  • New ADDITIONAL_METADATA option to set extra metadata on all posts.
  • All reStructuredText extensions are now plugins (Issue #621)
  • New multiple comment system support (Issue #606, #634)
    • Deprecated DISQUS_FORUM option for COMMENT_SYSTEM_ID
    • New COMMENT_SYSTEM option to change comment systems, defaults to disqus
  • New bootstrap3 theme (by areski)
  • Added docs/upgrading-to-v6.txt for upgrade tips.
  • Theme cleanup (Issue #599)
  • Support for nested navigation links (Issue #104)
  • New media directive for reStructuredText (Issue #608)
  • New DEPLOY_DRAFTS and DEPLOY_FUTURE options (Issue #583)
  • New Dutch translation
  • Optional hyphenation (HYPHENATE option, Issue #576)
  • Made AddThis support replaceable through new SOCIAL_BUTTONS_CODE option.
  • categories
  • Added a FUTURE_IS_NOW option for publishing future-dated posts now (Issues #486, #577)
  • New typogrify filter (Issue #576)
  • New COPY_SOURCES option, defaults to True (Issue #544)
  • Customizable Read More (Issues #412, #533, #574)
  • Support for LESS/RECESS CSS compilers
  • Updated to Colorbox 1.4.27
  • New pandoc compiler.
  • Separate slides.tmpl template so that non-bootstrap themes can support them.
  • New ADDITIONAL_METADATA option to specify metadata to include in the new_post command, alongside with the defaults (Issue #622)
  • Schedule new posts automatically by specifying an iCal recursive rule as SCHEDULE_RULE (Issue #602)

Bugfixes

  • Added missing rel="self" link suggested by feedvalidator.org (Issue #264)
  • Switched to semantic versioning (Issue #614)
  • Better figure styling (Issue #626)
  • Switched docutils math rendering to MathJax (Issue #620)
  • Refactored crumb bar into a separate tmpl to avoid code duplication (Issue #612)
  • Fix broken config dep for tags when NAVIGATION_LINKS is not set (Issue #610)
  • Fixed bundles in base theme
  • Deprecated ANALYTICS, replaced with BODY_END (Issue #601)
  • Deprecated SIDEBAR_LINKS, replaced with NAVIGATION_LINKS (Issue #104 #601)
  • Solve site theme's navbar overlapping Issues (Issue #585)
  • Deprecated ADD_THIS_BUTTONS option.
  • Show warning if unable to thumbnail an image (Issue #551)
  • Use absolute URLs in feeds (Issue #590)
  • Fix for mincss path munging (Issues #570 #589)
  • Added missing dependency in gallery indexes (Issue #536)
  • Anchors in listings had wrong filename slugs
  • Only warn about incomplete translations once (Issue #580)
  • Right-align image title in colorbox to avoid overlapping so much (Mentioned in Issue #570)
  • Added LICENSE in the footer (Issue #528)
  • Use random IDs for slides so you can have more than one in a page (Issue #572)