Nikola v7.8.14 is out!

On behalf of the Nikola team, I am pleased to announce the immediate availability of Nikola v7.8.14. This is a maintenance release for the v7 series.

Future releases in the v7 series are going to be small maintenance releases that include bugfixes only, as work on v8.0.0 is underway. If you wish to test new features, you can install from the master branch on GitHub.

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 Jupyter Notebooks into blog posts! It also supports image galleries, and is multilingual. Nikola is flexible, and page builds are extremely fast, courtesy of doit (which is rebuilding only what has been changed).

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

Downloads

Install using pip install Nikola or download tarballs on GitHub and PyPI.

Changes

  • doit v0.31.0 compatibility (Issue #2980, #3004, v8 backport)

Nikola v7.8.13 is out! (maintenance release)

On behalf of the Nikola team, I am pleased to announce the immediate availability of Nikola v7.8.13. This is a maintenance release for the v7 series.

Future releases in the v7 series are going to be small maintenance releases that include bugfixes only, as work on v8.0.0 is underway.

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 Jupyter Notebooks into blog posts! It also supports image galleries, and is multilingual. Nikola is flexible, and page builds are extremely fast, courtesy of doit (which is rebuilding only what has been changed).

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

Downloads

Install using pip install Nikola or download tarballs on GitHub and PyPI.

Changes

  • Add new Thai translation by Narumol Hankrotha and Jean Jordaan (v8 backport)
  • Hide “Incomplete language” message for overrides of complete languages
  • Restore ability to override messages partially

(Note: for a while, this post said v7.8.14 was released. We apologise for the confusion.)

Nikola v7.8.12 is out! (maintenance release)

On behalf of the Nikola team, I am pleased to announce the immediate availability of Nikola v7.8.12. This is a maintenance release for the v7 series.

Future releases in the v7 series are going to be small maintenance releases that include bugfixes only, as work on v8.0.0 is underway.

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 Jupyter Notebooks into blog posts! It also supports image galleries, and is multilingual. Nikola is flexible, and page builds are extremely fast, courtesy of doit (which is rebuilding only what has been changed).

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

Downloads

Install using pip install Nikola or download tarballs on GitHub and PyPI.

Changes

  • Fix loading non-default languages

Nikola v7.8.11 is out! (maintenance release)

On behalf of the Nikola team, I am pleased to announce the immediate availability of Nikola v7.8.11. This is a maintenance release for the v7 series.

Future releases in the v7 series are going to be small maintenance releases that include bugfixes only, as work on v8.0.0 is underway.

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 Jupyter Notebooks into blog posts! It also supports image galleries, and is multilingual. Nikola is flexible, and page builds are extremely fast, courtesy of doit (which is rebuilding only what has been changed).

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

Downloads

Install using pip install Nikola or download tarballs on GitHub and PyPI.

Changes

  • Make errors in reST display in logs again
  • Restore version number to Bootswatch URLs (Issue #2916)

A CMS (or two) for Nikola: Dato CMS and Netlify CMS integration

One of the many complaints users have about static site generators is the fact that non-tech-savvy users who don’t understand the command line or don’t want to learn Markdown/reST can’t use SSGs. We’ve tried to solve this before with Coil CMS, but that project is now dead, and was hard to configure properly. The problem was not solved, until now.

Roberto Alsina and Chris Warrick independently built integrations for Dato CMS, Netlify CMS and Contentful. Here they are:

Both CMSes offer facilities for non-technical editors to write content, including a WYSIWYG editor.

Dato CMS may require a bit more work at first, but you can automate it (eg. with Travis CI, or Netlify). Our integration lets you deploy your site anywhere.

Netlify CMS can be deployed with one click (and a few configuration changes), and includes automation and hosting at Netlify (and GitHub). You can also use some other hosting service, but that will require some extra work on your side.

Contentful does not require a local install of Node to work, which makes it easier to use and automate, while leaving the hosting up to you.

Make sure to check them both out — have fun!

(Updated 2017-12-06 to add Contentful support)

Nikola v7.8.10 is out! (maintenance release)

On behalf of the Nikola team, I am pleased to announce the immediate availability of Nikola v7.8.10. This is a maintenance release for the v7 series.

Future releases in the v7 series are going to be small maintenance releases that include bugfixes only, as work on v8.0.0 is underway.

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 Jupyter Notebooks into blog posts! It also supports image galleries, and is multilingual. Nikola is flexible, and page builds are extremely fast, courtesy of doit (which is rebuilding only what has been changed).

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

Downloads

Install using pip install Nikola or download tarballs on GitHub and PyPI.

Changes

  • Fix crashes with Jinja2 themes and tag indexes (Issue #2900)
  • Ignore empty tags in HTML metadata reader (Issue #2890)
  • Fix crash when compiling empty .html posts (Issue #2851)

Nikola v7.8.9 is out! (maintenance release)

On behalf of the Nikola team, I am pleased to announce the immediate availability of Nikola v7.8.9. This is a maintenance release for the v7 series.

Future releases in the v7 series are going to be small maintenance releases that include bugfixes only, as work on v8.0.0 is underway.

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 Jupyter Notebooks into blog posts! It also supports image galleries, and is multilingual. Nikola is flexible, and page builds are extremely fast, courtesy of doit (which is rebuilding only what has been changed).

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

Downloads

Install using pip install Nikola or download tarballs on GitHub and PyPI.

Changes

  • Restore missing unminified assets
  • Make failures to get source commit hash non-fatal in github_deploy (Issue #2847)
  • Fix a bug in HTML meta parsing that crashed on <meta> tags without name (Issue #2835)
  • Fix math not showing up in some circumstances (Issue #2841)

Nikola v7.8.8 is out!

On behalf of the Nikola team, I am pleased to announce the immediate availability of Nikola v7.8.8. It fixes some bugs, some related to metadata support, while also adding more internationalization features.

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 Jupyter Notebooks into blog posts! It also supports image galleries, and is multilingual. Nikola is flexible, and page builds are extremely fast, courtesy of doit (which is rebuilding only what has been changed).

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

Downloads

Install using pip install Nikola or download tarballs on GitHub and PyPI.

Changes

This release fixes two grave bugs in TOML metadata support (sorry!). The built-in themes have also been cleaned up and include less unused assets. In addition, taxonomies now support translations. HTML meta tags are also possible metadata sources. The default metadata format to generate can now be changed.

Features

  • Providing infrastructure for taxonomies for classification pages to link to related classifications in other languages
  • Added alternate links (visible and header) for archives and authors (Issue #993)
  • Added options to add alternative links (visible and header) for tags, sections and categories.
  • New METADATA_FORMAT option to choose preferred metadata format (Nikola/YAML/TOML/Pelican) (Part of Issue #2801)
  • Extract metadata from HTML meta and title tags like Pelican (Issue #1923)
  • Update assets in the base and base-jinja themes and clean up code (Issue #2744)
  • Show captions in the base theme gallery (Part of issue #2777)

Bugfixes

  • Fix two grave bugs in TOML metadata
  • Require just one line break after TOML/YAML metadata
  • Add alt attribute to images in galleries in base theme (Part of issue #2777)
  • Support empty lines in YAML/TOML metadata (Part of issue #2801)
  • Tests run on macOS.

Nikola v7.8.7 is out!

On behalf of the Nikola team, I am pleased to announce the immediate availability of Nikola v7.8.7. This is a part-emergency bugfix, part-world domination release.

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 Jupyter (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 (which is rebuilding only what has been changed).

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

Downloads

Install using pip install Nikola or download tarballs on GitHub and PyPI.

Changes

In an effort to improve interoperability with other static site generators, make importing data easier, and help with world domination, Nikola v7.8.7 ships with support for the following metadata formats:

  • reST-style comments (.. name: value — default format)
  • Two-file format (reST-style comments or 7-line)
  • Jupyter Notebook metadata
  • YAML, between --- (Jekyll, Hugo)
  • TOML, between +++ (Hugo)
  • reST docinfo (Pelican)
  • Markdown metadata extension (Pelican)

In addition, Markdown is now enabled and required by default. More details: https://getnikola.com/handbook.html#metadata-formats

The release also fixes two important bugs, one that crashes when trying to detect locale in some edge cases, and another which made some themes quietly leak template files. If you’re using a Jinja2-based theme that does not have its own parent file, please force a rebuild (nikola build -a).

Features

  • Enable markdown by default (part of Issue #2809)
  • Allowing to register filters from plugins, and allowing to specify default filters as strings of the form filters.<name> (part of Issue #2475)
  • Support ignoring assets via ignore_assets theme meta field (Issue #2812)
  • Ignore unused Colorbox locales (Issue #2812)
  • Accept tag metadata as lists for YAML/TOML (Issue #2801)
  • Support for mapping metadata from other formats to Nikola names using the METADATA_MAPPING setting (Issue #2817)
  • Support for reStructured text docinfo metadata with USE_REST_DOCINFO_METADATA option, defaulting to False (Issue #1923)
  • New HIDE_REST_DOCINFO option, defaulting to False.
  • Support for Markdown Metadata for Pelican compatibility by adding 'markdown.extensions.meta' to MARKDOWN_EXTENSIONS (Issue #1923)
  • Support for YAML and TOML metadata (Issue #2801)

Bugfixes

  • Use inheritance tree when looking for theme engine (Issue #2816)
  • Fix unbound variable error in locale guessing (Issue #2806)

Nikola v7.8.6 is out!

On behalf of the Nikola team, I am pleased to announce the immediate availability of Nikola v7.8.6. It fixes some bugs and adds new features.

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 Jupyter (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 (which is rebuilding only what has been changed).

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

Downloads

Install using pip install Nikola or download tarballs on GitHub and PyPI.

Or if you prefer, Snapcraft packages are now built automatically, and Nikola v7.8.6 will be available in the stable channel.

Changes

Features

  • Guess file format from file name on new_post (Issue #2798)
  • Use BaguetteBox as lightbox in base theme (Issue #2777)
  • New deduplicate_ids filter, for preventing duplication of HTML id attributes (Issue #2570)
  • Ported gallery image layout to base theme (Issue #2775)
  • Better error handling when posts can't be parsed (Issue #2771)
  • Use .theme files to store theme metadata (Issue #2758)
  • New add_header_permalinks filter, for Sphinx-style header links (Issue #2636)
  • Added alternate links for gallery translations (Issue #993)

Bugfixes

  • Use locale.getdefaultlocale() for better locale guessing (credit: @madduck)
  • Save dependencies for template hooks properly (using .__doc__ or .template_registry_identifier for callables)
  • Enable larger panorama thumbnails (Issue #2780)
  • Disable archive_rss link handler, which was useless because no such RSS was ever generated (Issue #2783)
  • Ignore files ending wih "bak" (Issue #2740)
  • Use page.tmpl by default, which is inherited from story.tmpl (Issue #1891)

Other

  • Limit Jupyter support to notebook >= 4.0.0 (it already was in requirements-extras.txt; Issue #2733)