<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="assets/xml/rss.xsl" media="all"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Nikola</title><link>https://getnikola.com/</link><description>A blog about Nikola, the static website generator.</description><atom:link href="https://getnikola.com/rss.xml" rel="self" type="application/rss+xml"></atom:link><language>en</language><lastBuildDate>Sun, 24 Feb 2019 19:10:19 GMT</lastBuildDate><generator>Nikola (getnikola.com)</generator><docs>http://blogs.law.harvard.edu/tech/rss</docs><item><title>Nikola v8.0.2 is out!</title><link>https://getnikola.com/blog/nikola-v802-is-out.html</link><dc:creator>Chris Warrick</dc:creator><description>&lt;div&gt;&lt;p&gt;On behalf of the Nikola team, I am pleased to announce the immediate
availability of Nikola v8.0.2. This is a quality-of-life release
with a handful of bug fixes, two new translations and a few extra features.&lt;/p&gt;
&lt;div class="section" id="what-is-nikola"&gt;
&lt;h2&gt;What is Nikola?&lt;/h2&gt;
&lt;p&gt;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).&lt;/p&gt;
&lt;p&gt;Find out more at the website: &lt;a class="reference external" href="https://getnikola.com/"&gt;https://getnikola.com/&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class="section" id="downloads"&gt;
&lt;h2&gt;Downloads&lt;/h2&gt;
&lt;p&gt;Install using &lt;tt class="docutils literal"&gt;pip install Nikola&lt;/tt&gt;. (Python 3-only since v8.0.0.)&lt;/p&gt;
&lt;/div&gt;
&lt;div class="section" id="changes"&gt;
&lt;h2&gt;Changes&lt;/h2&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;Make &lt;tt class="docutils literal"&gt;ARCHIVE_PATH&lt;/tt&gt;, &lt;tt class="docutils literal"&gt;ARCHIVE_FILENAME&lt;/tt&gt; translatable
(Issue #3234)&lt;/li&gt;
&lt;li&gt;Support configuring Isso via &lt;tt class="docutils literal"&gt;&lt;span class="pre"&gt;GLOBAL_CONTEXT['isso_config']&lt;/span&gt;&lt;/tt&gt;
(Issue #3225)&lt;/li&gt;
&lt;li&gt;Handle fragments in doc role (Issue #3212)&lt;/li&gt;
&lt;li&gt;Slugify references in doc role.&lt;/li&gt;
&lt;li&gt;Add Interlingua translation by Alberto Mardegan&lt;/li&gt;
&lt;li&gt;Add Afrikaans translation by Friedel Wolff&lt;/li&gt;
&lt;li&gt;Support for docutils.conf (Issue #3188)&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="section" id="bugfixes"&gt;
&lt;h3&gt;Bugfixes&lt;/h3&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;Avoid random rebuilds with sites whose locales are not fullly
supported, and random rebuilds on multilingual sites using Python
3.4/3.5 (Issue #3216)&lt;/li&gt;
&lt;li&gt;Apply modifications to &lt;tt class="docutils literal"&gt;default_metadata&lt;/tt&gt; before copying it to
other languages&lt;/li&gt;
&lt;li&gt;Make Commento comments work (Issue #3198)&lt;/li&gt;
&lt;li&gt;Correctly handle separators in the relative path given to
"ignored_assets" key in theme meta files (Issue #3210)&lt;/li&gt;
&lt;li&gt;Fix error when &lt;tt class="docutils literal"&gt;nikola new_post&lt;/tt&gt; receives directory name as
path (Issue #3207)&lt;/li&gt;
&lt;li&gt;Add slashes to paths with query strings in &lt;tt class="docutils literal"&gt;nikola serve&lt;/tt&gt;
only if there isn’t one before &lt;tt class="docutils literal"&gt;?&lt;/tt&gt;&lt;/li&gt;
&lt;li&gt;Read listings files as UTF-8&lt;/li&gt;
&lt;li&gt;Set one-file status basing on default language only (Issue #3191)&lt;/li&gt;
&lt;li&gt;Don’t warn if post status is set to &lt;tt class="docutils literal"&gt;published&lt;/tt&gt; explicitly
(Issue #3181)&lt;/li&gt;
&lt;li&gt;Remove mention of Twitter cards requiring an opt-in.
This is not true anymore - anyone can use them.&lt;/li&gt;
&lt;li&gt;fancydates now workwith listdate items (eg. archives)&lt;/li&gt;
&lt;li&gt;bootstrap4 and bootblog4 themes no longer load moment.js when
fancydates are off. (Issue #3231)&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;/div&gt;</description><category>nikola</category><category>planet</category><category>programming</category><category>python</category><category>release</category><guid>https://getnikola.com/blog/nikola-v802-is-out.html</guid><pubDate>Fri, 22 Feb 2019 19:34:20 GMT</pubDate></item><item><title>Nikola v8.0.1 is out!</title><link>https://getnikola.com/blog/nikola-v801-is-out.html</link><dc:creator>Chris Warrick</dc:creator><description>&lt;div&gt;&lt;p&gt;On behalf of the Nikola team, I am pleased to announce the immediate
availability of Nikola v8.0.1. Some bugs were fixed; more importantly,
we pinned down the Markdown package version due to incompatibilities.&lt;/p&gt;
&lt;div class="section" id="what-is-nikola"&gt;
&lt;h2&gt;What is Nikola?&lt;/h2&gt;
&lt;p&gt;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).&lt;/p&gt;
&lt;p&gt;Find out more at the website: &lt;a class="reference external" href="https://getnikola.com/"&gt;https://getnikola.com/&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class="section" id="downloads"&gt;
&lt;h2&gt;Downloads&lt;/h2&gt;
&lt;p&gt;Install using &lt;tt class="docutils literal"&gt;pip install Nikola&lt;/tt&gt;. (Python 3-only since v8.0.0.)&lt;/p&gt;
&lt;/div&gt;
&lt;div class="section" id="changes"&gt;
&lt;h2&gt;Changes&lt;/h2&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;Not compatible with Markdown 3.x yet, this release pins the
requirement down to 2.x (until we get 3.x support done)&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="section" id="features"&gt;
&lt;h3&gt;Features&lt;/h3&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;Make URL displayed by &lt;tt class="docutils literal"&gt;nikola auto&lt;/tt&gt; and &lt;tt class="docutils literal"&gt;nikola serve&lt;/tt&gt; clickable
(Issue #3166)&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class="section" id="bugfixes"&gt;
&lt;h3&gt;Bugfixes&lt;/h3&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;Pandoc compiler was passing deleted argument (Issue #3171)&lt;/li&gt;
&lt;li&gt;Make &lt;tt class="docutils literal"&gt;nikola version &lt;span class="pre"&gt;--check&lt;/span&gt;&lt;/tt&gt; work again (Issue #3170)&lt;/li&gt;
&lt;li&gt;Set logging level for reST to warning in order to limit noise&lt;/li&gt;
&lt;li&gt;Fix docinfo removal for sites that use reST docinfo metadata
(Issue #3167)&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;/div&gt;</description><category>nikola</category><category>planet</category><category>programming</category><category>python</category><category>release</category><guid>https://getnikola.com/blog/nikola-v801-is-out.html</guid><pubDate>Sun, 30 Sep 2018 17:53:13 GMT</pubDate></item><item><title>Nikola v8.0.0 is out!</title><link>https://getnikola.com/blog/nikola-v800-is-out.html</link><dc:creator>Chris Warrick</dc:creator><description>&lt;div&gt;&lt;p&gt;On behalf of the Nikola team, I am pleased to announce the immediate
availability of Nikola v8.0.0. After 15 months in development, we’ve
created our best release ever, with new features, many bugs squashed,
and some improvements under the hood.&lt;/p&gt;
&lt;div class="section" id="what-is-nikola"&gt;
&lt;h2&gt;What is Nikola?&lt;/h2&gt;
&lt;p&gt;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).&lt;/p&gt;
&lt;p&gt;Find out more at the website: &lt;a class="reference external" href="https://getnikola.com/"&gt;https://getnikola.com/&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class="section" id="downloads"&gt;
&lt;h2&gt;Downloads&lt;/h2&gt;
&lt;p&gt;Install using &lt;tt class="docutils literal"&gt;pip install &lt;span class="pre"&gt;Nikola==8.0.0&lt;/span&gt;&lt;/tt&gt;.&lt;/p&gt;
&lt;p&gt;If you want to upgrade to Nikola v8, make sure to read &lt;a class="reference external" href="https://getnikola.com/blog/upgrading-to-nikola-v8.html"&gt;the Upgrading blog post&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;div class="section" id="changes"&gt;
&lt;h2&gt;Changes&lt;/h2&gt;
&lt;div class="section" id="important-compatibility-changes"&gt;
&lt;h3&gt;Important compatibility changes&lt;/h3&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;Rename &lt;tt class="docutils literal"&gt;crumbs.tmpl&lt;/tt&gt; to &lt;tt class="docutils literal"&gt;ui_helper.tmpl&lt;/tt&gt; and the breadcrumbs
&lt;tt class="docutils literal"&gt;bar&lt;/tt&gt; function to &lt;tt class="docutils literal"&gt;breadcrumbs&lt;/tt&gt; (your templates may need
changing as well)&lt;/li&gt;
&lt;li&gt;Rename &lt;tt class="docutils literal"&gt;post.is_mathjax&lt;/tt&gt; to &lt;tt class="docutils literal"&gt;post.has_math&lt;/tt&gt;. Themes using
&lt;tt class="docutils literal"&gt;post.is_mathjax&lt;/tt&gt; must be updated; it is recommended that they are
changed to use &lt;tt class="docutils literal"&gt;math_helper.tmpl&lt;/tt&gt;.&lt;/li&gt;
&lt;li&gt;Reading reST docinfo metadata, including first heading as title,
requires &lt;tt class="docutils literal"&gt;USE_REST_DOCINFO_METADATA&lt;/tt&gt; now (Issue #2987)&lt;/li&gt;
&lt;li&gt;RSS feeds might have changed their places due to &lt;tt class="docutils literal"&gt;RSS_PATH&lt;/tt&gt;
behavior changes (you may need to change &lt;tt class="docutils literal"&gt;RSS_PATH&lt;/tt&gt;,
&lt;tt class="docutils literal"&gt;RSS_FILENAME_BASE&lt;/tt&gt;)&lt;/li&gt;
&lt;li&gt;Atom feeds for archives and Atom pagination are no longer supported
(Issue #3016)&lt;/li&gt;
&lt;li&gt;Sections are replaced by categories (Issue #2833)&lt;/li&gt;
&lt;li&gt;You need &lt;tt class="docutils literal"&gt;&amp;lt;a &lt;span class="pre"&gt;class="reference"&amp;gt;&lt;/span&gt;&lt;/tt&gt; (instead of &lt;tt class="docutils literal"&gt;&lt;span class="pre"&gt;image-reference&lt;/span&gt;&lt;/tt&gt;)
to activate the lightbox now&lt;/li&gt;
&lt;li&gt;Date formatting now uses the Babel library, you might need to
change &lt;tt class="docutils literal"&gt;BABEL_FORMAT&lt;/tt&gt; (Issues #2606, 3121)&lt;/li&gt;
&lt;li&gt;The first heading in a reST document is not removed anymore by
default unless &lt;tt class="docutils literal"&gt;USE_REST_DOCINFO_METADATA&lt;/tt&gt; is enabled
(Issues #2382, #3124)&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class="section" id="features"&gt;
&lt;h3&gt;Features&lt;/h3&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;Add Malayalam translation by Nemo Dicto&lt;/li&gt;
&lt;li&gt;Add Vietnamese translation by Hoai-Thu Vuong&lt;/li&gt;
&lt;li&gt;Don’t generate gallery index if the destination directory is
site root and it would conflict with blog index (Issue #3133)&lt;/li&gt;
&lt;li&gt;All built-in themes now support &lt;tt class="docutils literal"&gt;updated&lt;/tt&gt; timestamp fields in
posts. The update time, if it is specified and different from
the posting time, will be displayed as
"{postDate} (${messages("updated")} {updateDate})". If no update
time is specified, the posting time will be displayed alone.&lt;/li&gt;
&lt;li&gt;All built-in themes now support the &lt;tt class="docutils literal"&gt;DATE_FANCINESS&lt;/tt&gt; option.&lt;/li&gt;
&lt;li&gt;Theme bundles are now parsed using the configparser module and
can support newlines inside entries as well as comments&lt;/li&gt;
&lt;li&gt;Make bootstrap4 navbar color configurable with
&lt;tt class="docutils literal"&gt;&lt;span class="pre"&gt;THEME_CONFIG['navbar_light']&lt;/span&gt;&lt;/tt&gt; (Issue #2863)&lt;/li&gt;
&lt;li&gt;New data_file option for chart shortcode and directive (Issue #3129)&lt;/li&gt;
&lt;li&gt;Show the filename of the missing file when &lt;tt class="docutils literal"&gt;nikola serve&lt;/tt&gt; can't
find a file (i.e. when an 404 error occurs).&lt;/li&gt;
&lt;li&gt;Better error messages for JSON download failures in &lt;tt class="docutils literal"&gt;nikola
plugin&lt;/tt&gt; and  &lt;tt class="docutils literal"&gt;nikola theme&lt;/tt&gt; (Issue getnikola/plugins#282)&lt;/li&gt;
&lt;li&gt;Use Babel instead of the locale module to better handle
localizations (Issues #2606, #3121)&lt;/li&gt;
&lt;li&gt;Change &lt;tt class="docutils literal"&gt;DATE_FORMAT&lt;/tt&gt; formats to CLDR formats (Issue #2606)&lt;/li&gt;
&lt;li&gt;Add &lt;tt class="docutils literal"&gt;NAVIGATION_ALT_LINKS&lt;/tt&gt; option, displayed on the right side in
bootstrap4/bootblog4 (Issue #3030)&lt;/li&gt;
&lt;li&gt;Added documentation of Post objects to list of template variables
(Issue #3003)&lt;/li&gt;
&lt;li&gt;Support featured posts in bootblog4 (Issue #2964)&lt;/li&gt;
&lt;li&gt;Add &lt;tt class="docutils literal"&gt;THEME_CONFIG&lt;/tt&gt; setting that themes can use in any way&lt;/li&gt;
&lt;li&gt;Use youtube-nocookie.com for better privacy in &lt;tt class="docutils literal"&gt;youtube&lt;/tt&gt; reST
directive and improve the appearance of the player&lt;/li&gt;
&lt;li&gt;Support hackerthemes.com themes and renamed bootswatch_theme command subtheme (Issue #3049)&lt;/li&gt;
&lt;li&gt;Add &lt;tt class="docutils literal"&gt;DISABLE_MAIN_ATOM_FEED&lt;/tt&gt; setting (Issue #3016, Issue #3039)&lt;/li&gt;
&lt;li&gt;Add &lt;tt class="docutils literal"&gt;ATOM_FILENAME_BASE&lt;/tt&gt; setting (defaults to &lt;tt class="docutils literal"&gt;index&lt;/tt&gt; for
existing sites, but &lt;tt class="docutils literal"&gt;feed&lt;/tt&gt; for new sites) (Issue #3016)&lt;/li&gt;
&lt;li&gt;Add &lt;tt class="docutils literal"&gt;CATEGORY_DESTPATH_AS_DEFAULT&lt;/tt&gt;, &lt;tt class="docutils literal"&gt;CATEGORY_DESTPATH_TRIM_PREFIX&lt;/tt&gt;,
&lt;tt class="docutils literal"&gt;CATEGORY_DESTPATH_FIRST_DIRECTORY_ONLY&lt;/tt&gt; settings, as part of
replacing sections with categories (Issue #2833)&lt;/li&gt;
&lt;li&gt;Tags &lt;tt class="docutils literal"&gt;draft&lt;/tt&gt;, &lt;tt class="docutils literal"&gt;private&lt;/tt&gt; and &lt;tt class="docutils literal"&gt;mathjax&lt;/tt&gt; are no longer treated
special if &lt;tt class="docutils literal"&gt;USE_TAG_METADATA&lt;/tt&gt; is set to &lt;tt class="docutils literal"&gt;False&lt;/tt&gt; (default for
new sites) (Issue #2761)&lt;/li&gt;
&lt;li&gt;Replace &lt;tt class="docutils literal"&gt;draft&lt;/tt&gt; and &lt;tt class="docutils literal"&gt;private&lt;/tt&gt; tags with a &lt;tt class="docutils literal"&gt;status&lt;/tt&gt; meta field
(supports &lt;tt class="docutils literal"&gt;published&lt;/tt&gt;, &lt;tt class="docutils literal"&gt;featured&lt;/tt&gt;, &lt;tt class="docutils literal"&gt;draft&lt;/tt&gt;, &lt;tt class="docutils literal"&gt;private&lt;/tt&gt;)
and &lt;tt class="docutils literal"&gt;mathjax&lt;/tt&gt; with &lt;tt class="docutils literal"&gt;.. has_math: yes&lt;/tt&gt; (Issue #2761)&lt;/li&gt;
&lt;li&gt;Rename &lt;tt class="docutils literal"&gt;TAG_PAGES_TITLES&lt;/tt&gt; → &lt;tt class="docutils literal"&gt;TAG_TITLES&lt;/tt&gt;,
&lt;tt class="docutils literal"&gt;TAG_PAGES_DESCRIPTIONS&lt;/tt&gt; → &lt;tt class="docutils literal"&gt;TAG_DESCRIPTIONS&lt;/tt&gt;.&lt;/li&gt;
&lt;li&gt;Rename &lt;tt class="docutils literal"&gt;CATEGORY_PAGES_TITLES&lt;/tt&gt; → &lt;tt class="docutils literal"&gt;CATEGORY_TITLES&lt;/tt&gt;,
&lt;tt class="docutils literal"&gt;CATEGORY_PAGES_DESCRIPTIONS&lt;/tt&gt; → &lt;tt class="docutils literal"&gt;CATEGORY_DESCRIPTIONS&lt;/tt&gt;.&lt;/li&gt;
&lt;li&gt;Produce a better error message when a template referenced in another
template is missing (Issue #3055)&lt;/li&gt;
&lt;li&gt;Support captioned images and image ordering in galleries, as well as
arbitrary metadata through a new &lt;tt class="docutils literal"&gt;metadata.yml&lt;/tt&gt; file (Issue #3017,
Issue #3050, Issue #2837)&lt;/li&gt;
&lt;li&gt;New &lt;tt class="docutils literal"&gt;ATOM_PATH&lt;/tt&gt; setting (Issue #2971)&lt;/li&gt;
&lt;li&gt;Make &lt;tt class="docutils literal"&gt;crumbs&lt;/tt&gt; available to all pages&lt;/li&gt;
&lt;li&gt;Allowing to customize RSS and Atom feed extensions with
&lt;tt class="docutils literal"&gt;RSS_EXTENSION&lt;/tt&gt;, &lt;tt class="docutils literal"&gt;ATOM_EXTENSION&lt;/tt&gt; settings (Issue #3041)&lt;/li&gt;
&lt;li&gt;Allowing to customize filename base appended to RSS_PATH
with &lt;tt class="docutils literal"&gt;RSS_FILENAME_BASE&lt;/tt&gt; setting (Issue #3041)&lt;/li&gt;
&lt;li&gt;Use basic ipynb template by default for slightly better appearance
and behavior&lt;/li&gt;
&lt;li&gt;Fixing behavior of RSS_PATH to do what the documentation
says it does (Issue #3024)&lt;/li&gt;
&lt;li&gt;Add support for fragments in path handlers (Issue #3032)&lt;/li&gt;
&lt;li&gt;New &lt;tt class="docutils literal"&gt;METADATA_VALUE_MAPPING&lt;/tt&gt; setting to allow for flexible global
modification of metadata (Issue #3025)&lt;/li&gt;
&lt;li&gt;New &lt;tt class="docutils literal"&gt;smartjoin&lt;/tt&gt; template function/filter that joins lists and
leaves strings as-is (Issue #3025)&lt;/li&gt;
&lt;li&gt;Explain index.html conflicts better (Issue #3022)&lt;/li&gt;
&lt;li&gt;Recognize both TEASER_END and (new) END_TEASER (Issue #3010)
(warning: if you perform manual splits, the regex change means new
indexes must be used)&lt;/li&gt;
&lt;li&gt;New MARKDOWN_EXTENSION_CONFIGS setting (Issue #2970)&lt;/li&gt;
&lt;li&gt;Replace &lt;tt class="docutils literal"&gt;flowr.js&lt;/tt&gt; with &lt;tt class="docutils literal"&gt;&lt;span class="pre"&gt;justified-layout.js&lt;/span&gt;&lt;/tt&gt; by Flickr
(does not require jQuery!)&lt;/li&gt;
&lt;li&gt;&lt;tt class="docutils literal"&gt;bootblog4&lt;/tt&gt; is the new default theme (Issue #2964)&lt;/li&gt;
&lt;li&gt;New &lt;tt class="docutils literal"&gt;bootstrap4&lt;/tt&gt; and &lt;tt class="docutils literal"&gt;bootblog4&lt;/tt&gt; themes (Issue #2964)&lt;/li&gt;
&lt;li&gt;New Thai translation by Narumol Hankrotha and Jean Jordaan&lt;/li&gt;
&lt;li&gt;Support for Commento comment system (Issue #2773)&lt;/li&gt;
&lt;li&gt;New PRESERVE_ICC_PROFILES option to control whether ICC profiles are
preserved when copying images.&lt;/li&gt;
&lt;li&gt;Use baguetteBox in Bootstrap theme (part of Issue #2777)&lt;/li&gt;
&lt;li&gt;New default-config command to generate a clean configuration.&lt;/li&gt;
&lt;li&gt;New &lt;tt class="docutils literal"&gt;thumbnail&lt;/tt&gt; shortcode similar to the reStructuredText
&lt;tt class="docutils literal"&gt;thumbnail&lt;/tt&gt; directive (via Issue #2809)&lt;/li&gt;
&lt;li&gt;Rewrite &lt;tt class="docutils literal"&gt;nikola auto&lt;/tt&gt; with asyncio and aiohttp (Issue #2850)&lt;/li&gt;
&lt;li&gt;New &lt;tt class="docutils literal"&gt;listings&lt;/tt&gt; shortcode similar to the reStructuredText listings
directive (Issue #2868)&lt;/li&gt;
&lt;li&gt;Switch to reStructuredText’s new HTML 5 renderer (Issue #2874)&lt;/li&gt;
&lt;li&gt;Deprecate &lt;tt class="docutils literal"&gt;html4css1.css&lt;/tt&gt; in favor of &lt;tt class="docutils literal"&gt;rst_base.css&lt;/tt&gt; (Issue
#2874)&lt;/li&gt;
&lt;li&gt;Add support for &lt;tt class="docutils literal"&gt;MetadataExtractor&lt;/tt&gt; plugins that allow custom,
extensible metadata extraction from posts (Issue #2830)&lt;/li&gt;
&lt;li&gt;Support YAML and TOML metadata in 2-file posts (via Issue #2830)&lt;/li&gt;
&lt;li&gt;Renamed &lt;tt class="docutils literal"&gt;UNSLUGIFY_TITLES&lt;/tt&gt; → &lt;tt class="docutils literal"&gt;FILE_METADATA_UNSLUGIFY_TITLES&lt;/tt&gt;
(Issue #2840)&lt;/li&gt;
&lt;li&gt;Add &lt;tt class="docutils literal"&gt;NIKOLA_SHOW_TRACEBACKS&lt;/tt&gt; environment variable that shows
full tracebacks instead of one-line summaries&lt;/li&gt;
&lt;li&gt;Use &lt;tt class="docutils literal"&gt;PRETTY_URLS&lt;/tt&gt; by default on all sites (Issue #1838)&lt;/li&gt;
&lt;li&gt;Feed link generation is completely refactored (Issue #2844)&lt;/li&gt;
&lt;li&gt;Let path handlers return absolute URLs (Issue #2876)&lt;/li&gt;
&lt;li&gt;Add &lt;tt class="docutils literal"&gt;BLOG_EMAIL&lt;/tt&gt; to global context to make it available for
templates (Issue #2968)&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class="section" id="bugfixes"&gt;
&lt;h3&gt;Bugfixes&lt;/h3&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;Use UTF-8 instead of system encoding for gallery metadata.yml file&lt;/li&gt;
&lt;li&gt;Do not remove first heading in document (reST document title)
if &lt;tt class="docutils literal"&gt;USE_REST_DOCINFO_METADATA&lt;/tt&gt; is disabled (Issue #3124)&lt;/li&gt;
&lt;li&gt;Remove &lt;tt class="docutils literal"&gt;NO_DOCUTILS_TITLE_TRANSFORM&lt;/tt&gt; setting,
this is now default behavior if &lt;tt class="docutils literal"&gt;USE_REST_DOCINFO_METADATA&lt;/tt&gt;
is disabled (Issue #2382, #3124)&lt;/li&gt;
&lt;li&gt;Enforce trailing slash for directories in &lt;tt class="docutils literal"&gt;nikola auto&lt;/tt&gt;
(Issue #3140)&lt;/li&gt;
&lt;li&gt;Galleries with baguetteBox don’t glitch out on the first image
anymore (Issue #3141)&lt;/li&gt;
&lt;li&gt;Pass arguments to youtube directive unchanged (Issue #3150)&lt;/li&gt;
&lt;li&gt;Fix listing installed themes if theme directory is missing.&lt;/li&gt;
&lt;li&gt;Watch correct output folder in &lt;tt class="docutils literal"&gt;nikola auto&lt;/tt&gt; (Issue #3119)&lt;/li&gt;
&lt;li&gt;Fix post fragment dependencies when posts are only available in a
non-default language (Issue #3112)&lt;/li&gt;
&lt;li&gt;Implement &lt;tt class="docutils literal"&gt;MARKDOWN_EXTENSION_CONFIGS&lt;/tt&gt; properly (Issue #2970)&lt;/li&gt;
&lt;li&gt;Ignore &lt;tt class="docutils literal"&gt;.DS_Store&lt;/tt&gt; when processing listings (Issue #3099)&lt;/li&gt;
&lt;li&gt;Remove redundant check for tag similarity (Mentioned in Issue #3123)&lt;/li&gt;
&lt;li&gt;Improve appearance of &lt;tt class="docutils literal"&gt;bootblog4&lt;/tt&gt; on mobile (Issue #3069)&lt;/li&gt;
&lt;li&gt;Make &lt;tt class="docutils literal"&gt;smartjoin&lt;/tt&gt; more flexible (Issue #3080)&lt;/li&gt;
&lt;li&gt;Make post-list and post_list synonymous (Issue #3083)&lt;/li&gt;
&lt;li&gt;Support &lt;tt class="docutils literal"&gt;CATEGORY_DESTPATH_NAMES&lt;/tt&gt; with pages following destpath&lt;/li&gt;
&lt;li&gt;Make &lt;tt class="docutils literal"&gt;CATEGORY_PAGES_FOLLOW_DESTPATH&lt;/tt&gt; more resilient (Issue #3081)&lt;/li&gt;
&lt;li&gt;Guard against null items in gallery meta files (Issues #3076, #3077)&lt;/li&gt;
&lt;li&gt;Respect &lt;tt class="docutils literal"&gt;USE_FILENAME_AS_TITLE&lt;/tt&gt; in galleries with a meta file&lt;/li&gt;
&lt;li&gt;Fix gallery metadata for multilingual sites (Issue #3078)&lt;/li&gt;
&lt;li&gt;Fixes behavior for posts not available in default language
(Issues #2956 and #3073)&lt;/li&gt;
&lt;li&gt;Always follow &lt;tt class="docutils literal"&gt;FEED_LENGTH&lt;/tt&gt; for Atom feeds&lt;/li&gt;
&lt;li&gt;Apply filters to all Atom feeds&lt;/li&gt;
&lt;li&gt;Read file metadata if compiler metadata exists and prefer it over
compiler metadata (Issue #3008)&lt;/li&gt;
&lt;li&gt;Rename &lt;tt class="docutils literal"&gt;DISABLE_INDEXES_PLUGIN_INDEX_AND_ATOM_FEED&lt;/tt&gt; to &lt;tt class="docutils literal"&gt;DISABLE_INDEXES&lt;/tt&gt;
and &lt;tt class="docutils literal"&gt;DISABLE_INDEXES_PLUGIN_RSS_FEED&lt;/tt&gt; to &lt;tt class="docutils literal"&gt;DISABLE_MAIN_RSS_FEED&lt;/tt&gt; (Issue #3039)&lt;/li&gt;
&lt;li&gt;Make chart shortcode its own plugin and make the reST directive
depend on it.&lt;/li&gt;
&lt;li&gt;Put post_list shortcode in its own plugin and make the reST
directive depend on it.&lt;/li&gt;
&lt;li&gt;Don’t silence syntax errors and other exceptions that occur while
reading metadata&lt;/li&gt;
&lt;li&gt;Use documented dateutil API for time zone list (Issue #3006)&lt;/li&gt;
&lt;li&gt;Handle trailing slash redirects with query strings correctly in
&lt;tt class="docutils literal"&gt;nikola serve&lt;/tt&gt; (Issue #3000)&lt;/li&gt;
&lt;li&gt;Fix w3c validation errors for itemscope entries in default themes&lt;/li&gt;
&lt;li&gt;Hide “Incomplete language” message for overrides of complete
languages&lt;/li&gt;
&lt;li&gt;Handle '/' and other absolute paths better in POSTS / PAGES / TRANSLATIONS
(Issue #2982)&lt;/li&gt;
&lt;li&gt;Fix loading non-default languages&lt;/li&gt;
&lt;li&gt;Support KaTeX for reST display math (Issue #2888)&lt;/li&gt;
&lt;li&gt;Use npm for asset management instead of bower, which was deprecated
(Issue #2790)&lt;/li&gt;
&lt;li&gt;Properly handle &lt;tt class="docutils literal"&gt;SHOW_INDEX_PAGE_NAVIGATION&lt;/tt&gt; with Jinja templates
(Issue #2960)&lt;/li&gt;
&lt;li&gt;Prevent crashes due to Windows-specific code in &lt;tt class="docutils literal"&gt;auto&lt;/tt&gt; running on
all platforms (Issue #2940)&lt;/li&gt;
&lt;li&gt;Don’t run hyphenate on &lt;tt class="docutils literal"&gt;&amp;lt;pre&amp;gt;&lt;/tt&gt; blocks (Issue #2939)&lt;/li&gt;
&lt;li&gt;Make errors in reST display in logs again&lt;/li&gt;
&lt;li&gt;Unquote paths given to &lt;tt class="docutils literal"&gt;&lt;span class="pre"&gt;link://&lt;/span&gt;&lt;/tt&gt; magic URLs (Issue #2934)&lt;/li&gt;
&lt;li&gt;Specify UTF-8 input encoding for Mako as default (Issue #2930)&lt;/li&gt;
&lt;li&gt;Don't trigger rebuilds in auto mode for files it's safe to ignore
(Issue #2906)&lt;/li&gt;
&lt;li&gt;Fix padding for Jupyter code blocks (Issue #2927)&lt;/li&gt;
&lt;li&gt;Apply &lt;tt class="docutils literal"&gt;SCHEDULE_ALL&lt;/tt&gt; to posts only (Issue #2921)&lt;/li&gt;
&lt;li&gt;Restore version number to Bootswatch URLs (Issue #2916)&lt;/li&gt;
&lt;li&gt;Do not strip trailing slash in &lt;tt class="docutils literal"&gt;slug&lt;/tt&gt; magic links&lt;/li&gt;
&lt;li&gt;Ignore empty tags in HTML metadata reader (Issue #2890)&lt;/li&gt;
&lt;li&gt;Do not remove doctype if &lt;tt class="docutils literal"&gt;add_header_permalinks&lt;/tt&gt; or
&lt;tt class="docutils literal"&gt;deduplicate_ids&lt;/tt&gt; are used&lt;/li&gt;
&lt;li&gt;Handle empty slug metadata (Issue #2887)&lt;/li&gt;
&lt;li&gt;Fix crash when compiling empty &lt;tt class="docutils literal"&gt;.html&lt;/tt&gt; posts (Issue #2851)&lt;/li&gt;
&lt;li&gt;Make failures to get source commit hash non-fatal in
&lt;tt class="docutils literal"&gt;github_deploy&lt;/tt&gt; (Issue #2847)&lt;/li&gt;
&lt;li&gt;Less cryptic error when guessing format from extension in &lt;tt class="docutils literal"&gt;new_post&lt;/tt&gt;
fails&lt;/li&gt;
&lt;li&gt;Use Jupyter name more consistently in docs&lt;/li&gt;
&lt;li&gt;Support CODE_COLOR_SCHEME in Jupyter notebooks (Issue #2093)&lt;/li&gt;
&lt;li&gt;Language was not passed to title and link generation for page indexes&lt;/li&gt;
&lt;li&gt;Addressed issue with snaps not allowing certain functions to work properly.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class="section" id="removed-conf-py-settings"&gt;
&lt;h3&gt;Removed conf.py settings&lt;/h3&gt;
&lt;p&gt;The following settings have been removed. Nikola will now always
behave as if the value was what is displayed afer the setting name.&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;tt class="docutils literal"&gt;FEED_PREVIEWIMAGE = True&lt;/tt&gt;&lt;/li&gt;
&lt;li&gt;&lt;tt class="docutils literal"&gt;SITEMAP_INCLUDE_FILELESS_DIRS = True&lt;/tt&gt;&lt;/li&gt;
&lt;li&gt;&lt;tt class="docutils literal"&gt;USE_OPEN_GRAPH = True&lt;/tt&gt;&lt;/li&gt;
&lt;li&gt;&lt;tt class="docutils literal"&gt;USE_BASE_TAG = False&lt;/tt&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class="section" id="removed-features"&gt;
&lt;h3&gt;Removed features&lt;/h3&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;Removed Colorbox, baguetteBox is used instead (Issue #2777)&lt;/li&gt;
&lt;li&gt;Removed &lt;tt class="docutils literal"&gt;googleplus&lt;/tt&gt; comments (no longer supported) (Issue #635)&lt;/li&gt;
&lt;li&gt;Removed the slides directive for docutils, it will now be a separate plugin.&lt;/li&gt;
&lt;li&gt;Dropped Python 2 and Python 3.3 support (oldest supported version is 3.4)&lt;/li&gt;
&lt;li&gt;Removed &lt;tt class="docutils literal"&gt;nikola install_theme&lt;/tt&gt; — use &lt;tt class="docutils literal"&gt;nikola theme&lt;/tt&gt; instead&lt;/li&gt;
&lt;li&gt;Droppped insecure post “encryption” feature&lt;/li&gt;
&lt;li&gt;Stopped supporting all deprecated config options&lt;/li&gt;
&lt;li&gt;Dropped annotations support (annotateit.org closed down in March 2017)&lt;/li&gt;
&lt;li&gt;Removed taxonomy option &lt;tt class="docutils literal"&gt;also_create_classifications_from_other_languages&lt;/tt&gt;
(Issue #2785) and &lt;tt class="docutils literal"&gt;generate_atom_feeds_for_post_lists&lt;/tt&gt; (Issue
#3016)&lt;/li&gt;
&lt;li&gt;Removed old 7-line metadata format (Issue #2839)&lt;/li&gt;
&lt;li&gt;Atom feeds are now limited to one page (Issue #3016)&lt;/li&gt;
&lt;li&gt;Removed sections (replaced by improved categories) (Issue #2833)&lt;/li&gt;
&lt;li&gt;Moved &lt;tt class="docutils literal"&gt;tag_cloud_data.json&lt;/tt&gt; generation to a separate
&lt;tt class="docutils literal"&gt;tagcloud&lt;/tt&gt; plugin (Issue #1696)&lt;/li&gt;
&lt;li&gt;The &lt;tt class="docutils literal"&gt;webassets&lt;/tt&gt; library is no longer required, we now manually
bundle files (Issue #3074)&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;/div&gt;</description><category>nikola</category><category>planet</category><category>programming</category><category>python</category><category>release</category><guid>https://getnikola.com/blog/nikola-v800-is-out.html</guid><pubDate>Mon, 10 Sep 2018 19:00:00 GMT</pubDate></item><item><title>Nikola v8.0.0rc1 is out!</title><link>https://getnikola.com/blog/nikola-v800rc1-is-out.html</link><dc:creator>Chris Warrick</dc:creator><description>&lt;div&gt;&lt;p&gt;On behalf of the Nikola team, I am pleased to announce the immediate
availability of Nikola v8.0.0rc1. This is the end of the road to Nikola
version 8. Within 48 hours, assuming there are no grave bugs reported in that
timeframe, we intend to release v8 final.&lt;/p&gt;
&lt;div class="section" id="what-is-nikola"&gt;
&lt;h2&gt;What is Nikola?&lt;/h2&gt;
&lt;p&gt;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).&lt;/p&gt;
&lt;p&gt;Find out more at the website: &lt;a class="reference external" href="https://getnikola.com/"&gt;https://getnikola.com/&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class="section" id="downloads"&gt;
&lt;h2&gt;Downloads&lt;/h2&gt;
&lt;p&gt;Install using &lt;tt class="docutils literal"&gt;pip install &lt;span class="pre"&gt;Nikola==8.0.0rc1&lt;/span&gt;&lt;/tt&gt;.&lt;/p&gt;
&lt;p&gt;If you want to upgrade to Nikola v8, make sure to read &lt;a class="reference external" href="https://getnikola.com/blog/upgrading-to-nikola-v8.html"&gt;the Upgrading blog post&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;div class="section" id="changes"&gt;
&lt;h2&gt;Changes&lt;/h2&gt;
&lt;div class="section" id="features"&gt;
&lt;h3&gt;Features&lt;/h3&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;Add Vietnamese translation by Hoai-Thu Vuong&lt;/li&gt;
&lt;li&gt;Don’t generate gallery index if the destination directory is
site root and it would conflict with blog index (Issue #3133)&lt;/li&gt;
&lt;li&gt;All built-in themes now support &lt;tt class="docutils literal"&gt;updated&lt;/tt&gt; timestamp fields in
posts. The update time, if it is specified and different from
the posting time, will be displayed as
"{postDate} (${messages("updated")} {updateDate})". If no update
time is specified, the posting time will be displayed alone.&lt;/li&gt;
&lt;li&gt;All built-in themes now support the &lt;tt class="docutils literal"&gt;DATE_FANCINESS&lt;/tt&gt; option.&lt;/li&gt;
&lt;li&gt;Theme bundles are now parsed using the configparser module and
can support newlines inside entries as well as comments&lt;/li&gt;
&lt;li&gt;Make bootstrap4 navbar color configurable with
&lt;tt class="docutils literal"&gt;&lt;span class="pre"&gt;THEME_CONFIG['navbar_light']&lt;/span&gt;&lt;/tt&gt; (Issue #2863)&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class="section" id="bugfixes"&gt;
&lt;h3&gt;Bugfixes&lt;/h3&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;Use UTF-8 instead of system encoding for gallery metadata.yml file&lt;/li&gt;
&lt;li&gt;Do not remove first heading in document (reST document title)
if &lt;tt class="docutils literal"&gt;USE_REST_DOCINFO_METADATA&lt;/tt&gt; is disabled (Issue #3124)&lt;/li&gt;
&lt;li&gt;Remove &lt;tt class="docutils literal"&gt;NO_DOCUTILS_TITLE_TRANSFORM&lt;/tt&gt; setting,
this is now default behavior if &lt;tt class="docutils literal"&gt;USE_REST_DOCINFO_METADATA&lt;/tt&gt;
is disabled (Issue #2382, #3124)&lt;/li&gt;
&lt;li&gt;Enforce trailing slash for directories in &lt;tt class="docutils literal"&gt;nikola auto&lt;/tt&gt;
(Issue #3140)&lt;/li&gt;
&lt;li&gt;Galleries with baguetteBox don’t glitch out on the first image
anymore (Issue #3141)&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class="section" id="removed-features"&gt;
&lt;h3&gt;Removed features&lt;/h3&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;Moved &lt;tt class="docutils literal"&gt;tag_cloud_data.json&lt;/tt&gt; generation to a separate
&lt;tt class="docutils literal"&gt;tagcloud&lt;/tt&gt; plugin (Issue #1696)&lt;/li&gt;
&lt;li&gt;The &lt;tt class="docutils literal"&gt;webassets&lt;/tt&gt; library is no longer required, we now manually
bundle files (Issue #3074)&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;/div&gt;</description><category>nikola</category><category>planet</category><category>programming</category><category>python</category><category>release</category><guid>https://getnikola.com/blog/nikola-v800rc1-is-out.html</guid><pubDate>Sat, 08 Sep 2018 18:55:34 GMT</pubDate></item><item><title>Nikola v8.0.0b3 is out!</title><link>https://getnikola.com/blog/nikola-v800b3-is-out.html</link><dc:creator>Chris Warrick</dc:creator><description>&lt;div&gt;&lt;p&gt;On behalf of the Nikola team, I am pleased to announce the immediate
availability of Nikola v8.0.0b3. This is the third and hopefully final
beta of Nikola v8. The big change in this release is the adoption of
Babel to handle date translations (instead of relying on system locale,
which didn’t work well for us). Other issues and bugs were fixed.&lt;/p&gt;
&lt;p&gt;Many themes in our Index have been ported for Nikola v8, but some of
them are not yet there.&lt;/p&gt;
&lt;div class="section" id="what-is-nikola"&gt;
&lt;h2&gt;What is Nikola?&lt;/h2&gt;
&lt;p&gt;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).&lt;/p&gt;
&lt;p&gt;Find out more at the website: &lt;a class="reference external" href="https://getnikola.com/"&gt;https://getnikola.com/&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class="section" id="downloads"&gt;
&lt;h2&gt;Downloads&lt;/h2&gt;
&lt;p&gt;Install using &lt;tt class="docutils literal"&gt;pip install &lt;span class="pre"&gt;Nikola==8.0.0b3&lt;/span&gt;&lt;/tt&gt;.&lt;/p&gt;
&lt;p&gt;If you want to upgrade to Nikola v8, make sure to read &lt;a class="reference external" href="https://getnikola.com/blog/upgrading-to-nikola-v8.html"&gt;the Upgrading blog post&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;div class="section" id="changes"&gt;
&lt;h2&gt;Changes&lt;/h2&gt;
&lt;div class="section" id="features"&gt;
&lt;h3&gt;Features&lt;/h3&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;New data_file option for chart shortcode and directive (Issue #3129)&lt;/li&gt;
&lt;li&gt;Show the filename of the missing file when &lt;tt class="docutils literal"&gt;nikola serve&lt;/tt&gt; can't
find a file (i.e. when an 404 error occurs).&lt;/li&gt;
&lt;li&gt;Better error messages for JSON download failures in &lt;tt class="docutils literal"&gt;nikola
plugin&lt;/tt&gt; and  &lt;tt class="docutils literal"&gt;nikola theme&lt;/tt&gt; (Issue getnikola/plugins#282)&lt;/li&gt;
&lt;li&gt;Use Babel instead of the locale module to better handle
localizations (Issues #2606, #3121)&lt;/li&gt;
&lt;li&gt;Change &lt;tt class="docutils literal"&gt;DATE_FORMAT&lt;/tt&gt; formats to CLDR formats (Issue #2606)&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class="section" id="bugfixes"&gt;
&lt;h3&gt;Bugfixes&lt;/h3&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;Fix listing installed themes if theme directory is missing.&lt;/li&gt;
&lt;li&gt;Watch correct output folder in &lt;tt class="docutils literal"&gt;nikola auto&lt;/tt&gt; (Issue #3119)&lt;/li&gt;
&lt;li&gt;Fix post fragment dependencies when posts are only available in a
non-default language (Issue #3112)&lt;/li&gt;
&lt;li&gt;Implement &lt;tt class="docutils literal"&gt;MARKDOWN_EXTENSION_CONFIGS&lt;/tt&gt; properly (Issue #2970)&lt;/li&gt;
&lt;li&gt;Ignore &lt;tt class="docutils literal"&gt;.DS_Store&lt;/tt&gt; when processing listings (Issue #3099)&lt;/li&gt;
&lt;li&gt;Remove redundant check for tag similarity (Mentioned in Issue #3123)&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;/div&gt;</description><category>nikola</category><category>planet</category><category>programming</category><category>python</category><category>release</category><guid>https://getnikola.com/blog/nikola-v800b3-is-out.html</guid><pubDate>Tue, 07 Aug 2018 16:44:34 GMT</pubDate></item><item><title>Nikola v8.0.0b2 is out!</title><link>https://getnikola.com/blog/nikola-v800b2-is-out.html</link><dc:creator>Chris Warrick</dc:creator><description>&lt;div&gt;&lt;p&gt;On behalf of the Nikola team, I am pleased to announce the immediate
availability of Nikola v8.0.0b2. This release fixes some bugs found in
v8.0.0b1, and adds a few new appearance features (featured posts,
alternate navigation links)&lt;/p&gt;
&lt;p&gt;The final version of Nikola v8 should be out in early June.
We welcome everyone to test it with their site and report any issues
to make it the best release ever.&lt;/p&gt;
&lt;div class="section" id="what-is-nikola"&gt;
&lt;h2&gt;What is Nikola?&lt;/h2&gt;
&lt;p&gt;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).&lt;/p&gt;
&lt;p&gt;Find out more at the website: &lt;a class="reference external" href="https://getnikola.com/"&gt;https://getnikola.com/&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class="section" id="downloads"&gt;
&lt;h2&gt;Downloads&lt;/h2&gt;
&lt;p&gt;Install using &lt;tt class="docutils literal"&gt;pip install &lt;span class="pre"&gt;Nikola==8.0.0.b2&lt;/span&gt;&lt;/tt&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;div class="section" id="changes"&gt;
&lt;h2&gt;Changes&lt;/h2&gt;
&lt;div class="section" id="important-compatibility-changes-not-mentioned-previously"&gt;
&lt;h3&gt;Important compatibility changes not mentioned previously&lt;/h3&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;You need &lt;tt class="docutils literal"&gt;&amp;lt;a &lt;span class="pre"&gt;class="reference"&amp;gt;&lt;/span&gt;&lt;/tt&gt; (instead of &lt;tt class="docutils literal"&gt;&lt;span class="pre"&gt;image-reference&lt;/span&gt;&lt;/tt&gt;)
to activate the lightbox now&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class="section" id="features"&gt;
&lt;h3&gt;Features&lt;/h3&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;Add &lt;tt class="docutils literal"&gt;NAVIGATION_ALT_LINKS&lt;/tt&gt; option, displayed on the right side in
bootstrap4/bootblog4 (Issue #3030)&lt;/li&gt;
&lt;li&gt;Added documentation of Post objects to list of template variables
(Issue #3003)&lt;/li&gt;
&lt;li&gt;Support featured posts in bootblog4 (Issue #2964)&lt;/li&gt;
&lt;li&gt;Add &lt;tt class="docutils literal"&gt;THEME_CONFIG&lt;/tt&gt; setting that themes can use in any way&lt;/li&gt;
&lt;li&gt;Use youtube-nocookie.com for better privacy in &lt;tt class="docutils literal"&gt;youtube&lt;/tt&gt; reST
directive and improve the appearance of the player&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Featured post details: &lt;a class="reference external" href="https://getnikola.com/handbook.html#featured-posts"&gt;https://getnikola.com/handbook.html#featured-posts&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class="section" id="bugfixes"&gt;
&lt;h3&gt;Bugfixes&lt;/h3&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;Improve appearance of &lt;tt class="docutils literal"&gt;bootblog4&lt;/tt&gt; on mobile (Issue #3069)&lt;/li&gt;
&lt;li&gt;Make &lt;tt class="docutils literal"&gt;smartjoin&lt;/tt&gt; more flexible (Issue #3080)&lt;/li&gt;
&lt;li&gt;Make post-list and post_list synonymous (Issue #3083)&lt;/li&gt;
&lt;li&gt;Support &lt;tt class="docutils literal"&gt;CATEGORY_DESTPATH_NAMES&lt;/tt&gt; with pages following destpath&lt;/li&gt;
&lt;li&gt;Make &lt;tt class="docutils literal"&gt;CATEGORY_PAGES_FOLLOW_DESTPATH&lt;/tt&gt; more resilient (Issue #3081)&lt;/li&gt;
&lt;li&gt;Guard against null items in gallery meta files (Issues #3076, #3077)&lt;/li&gt;
&lt;li&gt;Respect &lt;tt class="docutils literal"&gt;USE_FILENAME_AS_TITLE&lt;/tt&gt; in galleries with a meta file&lt;/li&gt;
&lt;li&gt;Fix gallery metadata for multilingual sites (Issue #3078)&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;/div&gt;</description><category>nikola</category><category>planet</category><category>programming</category><category>python</category><category>release</category><guid>https://getnikola.com/blog/nikola-v800b2-is-out.html</guid><pubDate>Sun, 13 May 2018 18:46:16 GMT</pubDate></item><item><title>Nikola v7.8.15 and v8.0.0b1 are out!</title><link>https://getnikola.com/blog/nikola-v7815-and-v800b1-are-out.html</link><dc:creator>Chris Warrick</dc:creator><description>&lt;div&gt;&lt;p&gt;On behalf of the Nikola team, I am pleased to announce the immediate
availability of Nikola v7.8.15 and v8.0.0b1.&lt;/p&gt;
&lt;p&gt;Nikola v7.8.15 is the last v7 maintenance release with a few more bug fixes.&lt;/p&gt;
&lt;p&gt;Nikola v8.0.0b1 (Beta 1) is the first test release of the v8 series. The v8 series adds a ton of
new features and fixes bugs, while also breaking backwards compatibility.&lt;/p&gt;
&lt;div class="section" id="what-is-nikola"&gt;
&lt;h2&gt;What is Nikola?&lt;/h2&gt;
&lt;p&gt;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).&lt;/p&gt;
&lt;p&gt;Find out more at the website: &lt;a class="reference external" href="https://getnikola.com/"&gt;https://getnikola.com/&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class="section" id="downloads"&gt;
&lt;h2&gt;Downloads&lt;/h2&gt;
&lt;p&gt;Install using &lt;tt class="docutils literal"&gt;pip install &lt;span class="pre"&gt;Nikola==7.8.15&lt;/span&gt;&lt;/tt&gt; or &lt;tt class="docutils literal"&gt;pip install &lt;span class="pre"&gt;Nikola==8.0.0.beta1&lt;/span&gt;&lt;/tt&gt;.&lt;/p&gt;
&lt;p&gt;Before upgrading to Nikola v8, &lt;a class="reference external" href="https://getnikola.com/blog/upgrading-to-nikola-v8.html"&gt;make sure to read the “Upgrading” document&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;div class="section" id="changes-in-v7-8-15"&gt;
&lt;h2&gt;Changes in v7.8.15&lt;/h2&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;Fix behavior for posts not available in default language
(Issues #2956 and #3073)&lt;/li&gt;
&lt;li&gt;Fix behavior of RSS_PATH to do what the documentation
says it does (Issue #3024)&lt;/li&gt;
&lt;li&gt;Use documented dateutil API for time zone list (Issue #3006)&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class="section" id="changes-in-v8-0-0b1"&gt;
&lt;h2&gt;Changes in v8.0.0b1&lt;/h2&gt;
&lt;div class="section" id="important-compatibility-changes"&gt;
&lt;h3&gt;Important compatibility changes&lt;/h3&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;Rename &lt;tt class="docutils literal"&gt;crumbs.tmpl&lt;/tt&gt; to &lt;tt class="docutils literal"&gt;ui_helper.tmpl&lt;/tt&gt; and the breadcrumbs
&lt;tt class="docutils literal"&gt;bar&lt;/tt&gt; function to &lt;tt class="docutils literal"&gt;breadcrumbs&lt;/tt&gt; (your templates may need
changing as well)&lt;/li&gt;
&lt;li&gt;Rename &lt;tt class="docutils literal"&gt;post.is_mathjax&lt;/tt&gt; to &lt;tt class="docutils literal"&gt;post.has_math&lt;/tt&gt;. Themes using
&lt;tt class="docutils literal"&gt;post.is_mathjax&lt;/tt&gt; must be updated; it is recommended that they are
changed to use &lt;tt class="docutils literal"&gt;math_helper.tmpl&lt;/tt&gt;.&lt;/li&gt;
&lt;li&gt;Reading reST docinfo metadata, including first heading as title,
requires &lt;tt class="docutils literal"&gt;USE_REST_DOCINFO_METADATA&lt;/tt&gt; now (Issue #2987)&lt;/li&gt;
&lt;li&gt;RSS feeds might have changed their places due to &lt;tt class="docutils literal"&gt;RSS_PATH&lt;/tt&gt;
behavior changes (you may need to change &lt;tt class="docutils literal"&gt;RSS_PATH&lt;/tt&gt;,
&lt;tt class="docutils literal"&gt;RSS_FILENAME_BASE&lt;/tt&gt;)&lt;/li&gt;
&lt;li&gt;Atom feeds for archives and Atom pagination are no longer supported
(Issue #3016)&lt;/li&gt;
&lt;li&gt;Sections are replaced by categories (Issue #2833)&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class="section" id="features"&gt;
&lt;h3&gt;Features&lt;/h3&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;Support hackerthemes.com themes and renamed bootswatch_theme command subtheme (Issue #3049)&lt;/li&gt;
&lt;li&gt;Add &lt;tt class="docutils literal"&gt;DISABLE_MAIN_ATOM_FEED&lt;/tt&gt; setting (Issue #3016, Issue #3039)&lt;/li&gt;
&lt;li&gt;Add &lt;tt class="docutils literal"&gt;ATOM_FILENAME_BASE&lt;/tt&gt; setting (defaults to &lt;tt class="docutils literal"&gt;index&lt;/tt&gt; for
existing sites, but &lt;tt class="docutils literal"&gt;feed&lt;/tt&gt; for new sites) (Issue #3016)&lt;/li&gt;
&lt;li&gt;Add &lt;tt class="docutils literal"&gt;CATEGORY_DESTPATH_AS_DEFAULT&lt;/tt&gt;, &lt;tt class="docutils literal"&gt;CATEGORY_DESTPATH_TRIM_PREFIX&lt;/tt&gt;,
&lt;tt class="docutils literal"&gt;CATEGORY_DESTPATH_FIRST_DIRECTORY_ONLY&lt;/tt&gt; settings, as part of
replacing sections with categories (Issue #2833)&lt;/li&gt;
&lt;li&gt;Tags &lt;tt class="docutils literal"&gt;draft&lt;/tt&gt;, &lt;tt class="docutils literal"&gt;private&lt;/tt&gt; and &lt;tt class="docutils literal"&gt;mathjax&lt;/tt&gt; are no longer treated
special if &lt;tt class="docutils literal"&gt;USE_TAG_METADATA&lt;/tt&gt; is set to &lt;tt class="docutils literal"&gt;False&lt;/tt&gt; (default for
new sites) (Issue #2761)&lt;/li&gt;
&lt;li&gt;Replace &lt;tt class="docutils literal"&gt;draft&lt;/tt&gt; and &lt;tt class="docutils literal"&gt;private&lt;/tt&gt; tags with a &lt;tt class="docutils literal"&gt;status&lt;/tt&gt; meta field
(supports &lt;tt class="docutils literal"&gt;published&lt;/tt&gt;, &lt;tt class="docutils literal"&gt;featured&lt;/tt&gt;, &lt;tt class="docutils literal"&gt;draft&lt;/tt&gt;, &lt;tt class="docutils literal"&gt;private&lt;/tt&gt;)
and &lt;tt class="docutils literal"&gt;mathjax&lt;/tt&gt; with &lt;tt class="docutils literal"&gt;.. has_math: yes&lt;/tt&gt; (Issue #2761)&lt;/li&gt;
&lt;li&gt;Rename &lt;tt class="docutils literal"&gt;TAG_PAGES_TITLES&lt;/tt&gt; → &lt;tt class="docutils literal"&gt;TAG_TITLES&lt;/tt&gt;,
&lt;tt class="docutils literal"&gt;TAG_PAGES_DESCRIPTIONS&lt;/tt&gt; → &lt;tt class="docutils literal"&gt;TAG_DESCRIPTIONS&lt;/tt&gt;.&lt;/li&gt;
&lt;li&gt;Rename &lt;tt class="docutils literal"&gt;CATEGORY_PAGES_TITLES&lt;/tt&gt; → &lt;tt class="docutils literal"&gt;CATEGORY_TITLES&lt;/tt&gt;,
&lt;tt class="docutils literal"&gt;CATEGORY_PAGES_DESCRIPTIONS&lt;/tt&gt; → &lt;tt class="docutils literal"&gt;CATEGORY_DESCRIPTIONS&lt;/tt&gt;.&lt;/li&gt;
&lt;li&gt;Produce a better error message when a template referenced in another
template is missing (Issue #3055)&lt;/li&gt;
&lt;li&gt;Support captioned images and image ordering in galleries, as well as
arbitrary metadata through a new &lt;tt class="docutils literal"&gt;metadata.yml&lt;/tt&gt; file (Issue #3017,
Issue #3050, Issue #2837)&lt;/li&gt;
&lt;li&gt;New &lt;tt class="docutils literal"&gt;ATOM_PATH&lt;/tt&gt; setting (Issue #2971)&lt;/li&gt;
&lt;li&gt;Make &lt;tt class="docutils literal"&gt;crumbs&lt;/tt&gt; available to all pages&lt;/li&gt;
&lt;li&gt;Allowing to customize RSS and Atom feed extensions with
&lt;tt class="docutils literal"&gt;RSS_EXTENSION&lt;/tt&gt;, &lt;tt class="docutils literal"&gt;ATOM_EXTENSION&lt;/tt&gt; settings (Issue #3041)&lt;/li&gt;
&lt;li&gt;Allowing to customize filename base appended to RSS_PATH
with &lt;tt class="docutils literal"&gt;RSS_FILENAME_BASE&lt;/tt&gt; setting (Issue #3041)&lt;/li&gt;
&lt;li&gt;Use basic ipynb template by default for slightly better appearance
and behavior&lt;/li&gt;
&lt;li&gt;Fixing behavior of RSS_PATH to do what the documentation
says it does (Issue #3024)&lt;/li&gt;
&lt;li&gt;Add support for fragments in path handlers (Issue #3032)&lt;/li&gt;
&lt;li&gt;New &lt;tt class="docutils literal"&gt;METADATA_VALUE_MAPPING&lt;/tt&gt; setting to allow for flexible global
modification of metadata (Issue #3025)&lt;/li&gt;
&lt;li&gt;New &lt;tt class="docutils literal"&gt;smartjoin&lt;/tt&gt; template function/filter that joins lists and
leaves strings as-is (Issue #3025)&lt;/li&gt;
&lt;li&gt;Explain index.html conflicts better (Issue #3022)&lt;/li&gt;
&lt;li&gt;Recognize both TEASER_END and (new) END_TEASER (Issue #3010)
(warning: if you perform manual splits, the regex change means new
indexes must be used)&lt;/li&gt;
&lt;li&gt;New MARKDOWN_EXTENSION_CONFIGS setting (Issue #2970)&lt;/li&gt;
&lt;li&gt;Replace &lt;tt class="docutils literal"&gt;flowr.js&lt;/tt&gt; with &lt;tt class="docutils literal"&gt;&lt;span class="pre"&gt;justified-layout.js&lt;/span&gt;&lt;/tt&gt; by Flickr
(does not require jQuery!)&lt;/li&gt;
&lt;li&gt;&lt;tt class="docutils literal"&gt;bootblog4&lt;/tt&gt; is the new default theme (Issue #2964)&lt;/li&gt;
&lt;li&gt;New &lt;tt class="docutils literal"&gt;bootstrap4&lt;/tt&gt; and &lt;tt class="docutils literal"&gt;bootblog4&lt;/tt&gt; themes (Issue #2964)&lt;/li&gt;
&lt;li&gt;New Thai translation by Narumol Hankrotha and Jean Jordaan&lt;/li&gt;
&lt;li&gt;Support for Commento comment system (Issue #2773)&lt;/li&gt;
&lt;li&gt;New PRESERVE_ICC_PROFILES option to control whether ICC profiles are
preserved when copying images.&lt;/li&gt;
&lt;li&gt;Use baguetteBox in Bootstrap theme (part of Issue #2777)&lt;/li&gt;
&lt;li&gt;New default-config command to generate a clean configuration.&lt;/li&gt;
&lt;li&gt;New &lt;tt class="docutils literal"&gt;thumbnail&lt;/tt&gt; shortcode similar to the reStructuredText
&lt;tt class="docutils literal"&gt;thumbnail&lt;/tt&gt; directive (via Issue #2809)&lt;/li&gt;
&lt;li&gt;Rewrite &lt;tt class="docutils literal"&gt;nikola auto&lt;/tt&gt; with asyncio and aiohttp (Issue #2850)&lt;/li&gt;
&lt;li&gt;New &lt;tt class="docutils literal"&gt;listings&lt;/tt&gt; shortcode similar to the reStructuredText listings
directive (Issue #2868)&lt;/li&gt;
&lt;li&gt;Switch to reStructuredText’s new HTML 5 renderer (Issue #2874)&lt;/li&gt;
&lt;li&gt;Deprecate &lt;tt class="docutils literal"&gt;html4css1.css&lt;/tt&gt; in favor of &lt;tt class="docutils literal"&gt;rst_base.css&lt;/tt&gt; (Issue
#2874)&lt;/li&gt;
&lt;li&gt;Add support for &lt;tt class="docutils literal"&gt;MetadataExtractor&lt;/tt&gt; plugins that allow custom,
extensible metadata extraction from posts (Issue #2830)&lt;/li&gt;
&lt;li&gt;Support YAML and TOML metadata in 2-file posts (via Issue #2830)&lt;/li&gt;
&lt;li&gt;Renamed &lt;tt class="docutils literal"&gt;UNSLUGIFY_TITLES&lt;/tt&gt; → &lt;tt class="docutils literal"&gt;FILE_METADATA_UNSLUGIFY_TITLES&lt;/tt&gt;
(Issue #2840)&lt;/li&gt;
&lt;li&gt;Add &lt;tt class="docutils literal"&gt;NIKOLA_SHOW_TRACEBACKS&lt;/tt&gt; environment variable that shows
full tracebacks instead of one-line summaries&lt;/li&gt;
&lt;li&gt;Use &lt;tt class="docutils literal"&gt;PRETTY_URLS&lt;/tt&gt; by default on all sites (Issue #1838)&lt;/li&gt;
&lt;li&gt;Feed link generation is completely refactored (Issue #2844)&lt;/li&gt;
&lt;li&gt;Let path handlers return absolute URLs (Issue #2876)&lt;/li&gt;
&lt;li&gt;Add &lt;tt class="docutils literal"&gt;BLOG_EMAIL&lt;/tt&gt; to global context to make it available for
templates (Issue #2968)&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class="section" id="bugfixes"&gt;
&lt;h3&gt;Bugfixes&lt;/h3&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;Fixes behavior for posts not available in default language
(Issues #2956 and #3073)&lt;/li&gt;
&lt;li&gt;Always follow &lt;tt class="docutils literal"&gt;FEED_LENGTH&lt;/tt&gt; for Atom feeds&lt;/li&gt;
&lt;li&gt;Apply filters to all Atom feeds&lt;/li&gt;
&lt;li&gt;Read file metadata if compiler metadata exists and prefer it over
compiler metadata (Issue #3008)&lt;/li&gt;
&lt;li&gt;Rename &lt;tt class="docutils literal"&gt;DISABLE_INDEXES_PLUGIN_INDEX_AND_ATOM_FEED&lt;/tt&gt; to &lt;tt class="docutils literal"&gt;DISABLE_INDEXES&lt;/tt&gt;
and &lt;tt class="docutils literal"&gt;DISABLE_INDEXES_PLUGIN_RSS_FEED&lt;/tt&gt; to &lt;tt class="docutils literal"&gt;DISABLE_MAIN_RSS_FEED&lt;/tt&gt; (Issue #3039)&lt;/li&gt;
&lt;li&gt;Make chart shortcode its own plugin and make the reST directive
depend on it.&lt;/li&gt;
&lt;li&gt;Put post_list shortcode in its own plugin and make the reST
directive depend on it.&lt;/li&gt;
&lt;li&gt;Don’t silence syntax errors and other exceptions that occur while
reading metadata&lt;/li&gt;
&lt;li&gt;Use documented dateutil API for time zone list (Issue #3006)&lt;/li&gt;
&lt;li&gt;Handle trailing slash redirects with query strings correctly in
&lt;tt class="docutils literal"&gt;nikola serve&lt;/tt&gt; (Issue #3000)&lt;/li&gt;
&lt;li&gt;Fix w3c validation errors for itemscope entries in default themes&lt;/li&gt;
&lt;li&gt;Hide “Incomplete language” message for overrides of complete
languages&lt;/li&gt;
&lt;li&gt;Handle '/' and other absolute paths better in POSTS / PAGES / TRANSLATIONS
(Issue #2982)&lt;/li&gt;
&lt;li&gt;Fix loading non-default languages&lt;/li&gt;
&lt;li&gt;Support KaTeX for reST display math (Issue #2888)&lt;/li&gt;
&lt;li&gt;Use npm for asset management instead of bower, which was deprecated
(Issue #2790)&lt;/li&gt;
&lt;li&gt;Properly handle &lt;tt class="docutils literal"&gt;SHOW_INDEX_PAGE_NAVIGATION&lt;/tt&gt; with Jinja templates
(Issue #2960)&lt;/li&gt;
&lt;li&gt;Prevent crashes due to Windows-specific code in &lt;tt class="docutils literal"&gt;auto&lt;/tt&gt; running on
all platforms (Issue #2940)&lt;/li&gt;
&lt;li&gt;Don’t run hyphenate on &lt;tt class="docutils literal"&gt;&amp;lt;pre&amp;gt;&lt;/tt&gt; blocks (Issue #2939)&lt;/li&gt;
&lt;li&gt;Make errors in reST display in logs again&lt;/li&gt;
&lt;li&gt;Unquote paths given to &lt;tt class="docutils literal"&gt;&lt;span class="pre"&gt;link://&lt;/span&gt;&lt;/tt&gt; magic URLs (Issue #2934)&lt;/li&gt;
&lt;li&gt;Specify UTF-8 input encoding for Mako as default (Issue #2930)&lt;/li&gt;
&lt;li&gt;Don't trigger rebuilds in auto mode for files it's safe to ignore
(Issue #2906)&lt;/li&gt;
&lt;li&gt;Fix padding for Jupyter code blocks (Issue #2927)&lt;/li&gt;
&lt;li&gt;Apply &lt;tt class="docutils literal"&gt;SCHEDULE_ALL&lt;/tt&gt; to posts only (Issue #2921)&lt;/li&gt;
&lt;li&gt;Restore version number to Bootswatch URLs (Issue #2916)&lt;/li&gt;
&lt;li&gt;Do not strip trailing slash in &lt;tt class="docutils literal"&gt;slug&lt;/tt&gt; magic links&lt;/li&gt;
&lt;li&gt;Ignore empty tags in HTML metadata reader (Issue #2890)&lt;/li&gt;
&lt;li&gt;Do not remove doctype if &lt;tt class="docutils literal"&gt;add_header_permalinks&lt;/tt&gt; or
&lt;tt class="docutils literal"&gt;deduplicate_ids&lt;/tt&gt; are used&lt;/li&gt;
&lt;li&gt;Handle empty slug metadata (Issue #2887)&lt;/li&gt;
&lt;li&gt;Fix crash when compiling empty &lt;tt class="docutils literal"&gt;.html&lt;/tt&gt; posts (Issue #2851)&lt;/li&gt;
&lt;li&gt;Make failures to get source commit hash non-fatal in
&lt;tt class="docutils literal"&gt;github_deploy&lt;/tt&gt; (Issue #2847)&lt;/li&gt;
&lt;li&gt;Less cryptic error when guessing format from extension in &lt;tt class="docutils literal"&gt;new_post&lt;/tt&gt;
fails&lt;/li&gt;
&lt;li&gt;Use Jupyter name more consistently in docs&lt;/li&gt;
&lt;li&gt;Support CODE_COLOR_SCHEME in Jupyter notebooks (Issue #2093)&lt;/li&gt;
&lt;li&gt;Language was not passed to title and link generation for page indexes&lt;/li&gt;
&lt;li&gt;Addressed issue with snaps not allowing certain functions to work properly.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class="section" id="removed-conf-py-settings"&gt;
&lt;h3&gt;Removed conf.py settings&lt;/h3&gt;
&lt;p&gt;The following settings have been removed. Nikola will now always
behave as if the value was what is displayed afer the setting name.&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;tt class="docutils literal"&gt;FEED_PREVIEWIMAGE = True&lt;/tt&gt;&lt;/li&gt;
&lt;li&gt;&lt;tt class="docutils literal"&gt;SITEMAP_INCLUDE_FILELESS_DIRS = True&lt;/tt&gt;&lt;/li&gt;
&lt;li&gt;&lt;tt class="docutils literal"&gt;USE_OPEN_GRAPH = True&lt;/tt&gt;&lt;/li&gt;
&lt;li&gt;&lt;tt class="docutils literal"&gt;USE_BASE_TAG = False&lt;/tt&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class="section" id="removed-features"&gt;
&lt;h3&gt;Removed features&lt;/h3&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;Removed Colorbox, baguetteBox is used instead (Issue #2777)&lt;/li&gt;
&lt;li&gt;Removed &lt;tt class="docutils literal"&gt;googleplus&lt;/tt&gt; comments (no longer supported) (Issue #635)&lt;/li&gt;
&lt;li&gt;Removed the slides directive for docutils, it will now be a separate plugin.&lt;/li&gt;
&lt;li&gt;Dropped Python 2 and Python 3.3 support (oldest supported version is 3.4)&lt;/li&gt;
&lt;li&gt;Removed &lt;tt class="docutils literal"&gt;nikola install_theme&lt;/tt&gt; — use &lt;tt class="docutils literal"&gt;nikola theme&lt;/tt&gt; instead&lt;/li&gt;
&lt;li&gt;Droppped insecure post “encryption” feature&lt;/li&gt;
&lt;li&gt;Stopped supporting all deprecated config options&lt;/li&gt;
&lt;li&gt;Dropped annotations support (annotateit.org closed down in March 2017)&lt;/li&gt;
&lt;li&gt;Removed taxonomy option &lt;tt class="docutils literal"&gt;also_create_classifications_from_other_languages&lt;/tt&gt;
(Issue #2785) and &lt;tt class="docutils literal"&gt;generate_atom_feeds_for_post_lists&lt;/tt&gt; (Issue
#3016)&lt;/li&gt;
&lt;li&gt;Removed old 7-line metadata format (Issue #2839)&lt;/li&gt;
&lt;li&gt;Atom feeds are now limited to one page (Issue #3016)&lt;/li&gt;
&lt;li&gt;Removed sections (replaced by improved categories) (Issue #2833)&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;/div&gt;</description><category>nikola</category><category>planet</category><category>programming</category><category>python</category><category>release</category><guid>https://getnikola.com/blog/nikola-v7815-and-v800b1-are-out.html</guid><pubDate>Sat, 05 May 2018 19:15:31 GMT</pubDate></item><item><title>Upgrading to Nikola v8</title><link>https://getnikola.com/blog/upgrading-to-nikola-v8.html</link><dc:creator>Chris Warrick</dc:creator><description>&lt;div&gt;&lt;p class="lead"&gt;Nikola v8 is a huge release with lots of new features and fixed bugs. However,
a few manual changes are required to upgrade.&lt;/p&gt;
&lt;div class="contents alert alert-primary topic" id="contents"&gt;
&lt;p class="topic-title first"&gt;Contents&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;a class="reference internal" href="https://getnikola.com/blog/upgrading-to-nikola-v8.html#revisions-to-this-document" id="id5"&gt;Revisions to this document&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference internal" href="https://getnikola.com/blog/upgrading-to-nikola-v8.html#how-to-upgrade" id="id6"&gt;How to upgrade&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference internal" href="https://getnikola.com/blog/upgrading-to-nikola-v8.html#upgrading-post-metadata" id="id7"&gt;Upgrading post metadata&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference internal" href="https://getnikola.com/blog/upgrading-to-nikola-v8.html#changes-to-themes-and-templates" id="id8"&gt;Changes to themes and templates&lt;/a&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class="reference internal" href="https://getnikola.com/blog/upgrading-to-nikola-v8.html#zen-modernized-and-uses-new-font-awesome" id="id9"&gt;zen modernized and uses new Font Awesome&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a class="reference internal" href="https://getnikola.com/blog/upgrading-to-nikola-v8.html#backwards-incompatible-changes" id="id10"&gt;Backwards incompatible changes&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference internal" href="https://getnikola.com/blog/upgrading-to-nikola-v8.html#babel-and-i18n-changes-added-2018-08-07" id="id11"&gt;Babel and i18n changes (added 2018-08-07)&lt;/a&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class="reference internal" href="https://getnikola.com/blog/upgrading-to-nikola-v8.html#date-format-changed" id="id12"&gt;DATE_FORMAT changed&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference internal" href="https://getnikola.com/blog/upgrading-to-nikola-v8.html#babeldates-plugin-obsoleted-localeborg-internal-api-changed" id="id13"&gt;babeldates plugin obsoleted, LocaleBorg internal API changed&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference internal" href="https://getnikola.com/blog/upgrading-to-nikola-v8.html#translation-help-wanted" id="id14"&gt;Translation help wanted&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a class="reference internal" href="https://getnikola.com/blog/upgrading-to-nikola-v8.html#removed-and-renamed-settings" id="id15"&gt;Removed and renamed settings&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference internal" href="https://getnikola.com/blog/upgrading-to-nikola-v8.html#sections-were-replaced-by-categories" id="id16"&gt;Sections were replaced by categories&lt;/a&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class="reference internal" href="https://getnikola.com/blog/upgrading-to-nikola-v8.html#changes-to-posts" id="id17"&gt;Changes to posts&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference internal" href="https://getnikola.com/blog/upgrading-to-nikola-v8.html#changes-to-configuration" id="id18"&gt;Changes to configuration&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference internal" href="https://getnikola.com/blog/upgrading-to-nikola-v8.html#recreating-the-old-behavior-of-sections" id="id19"&gt;Recreating the old behavior of sections&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference internal" href="https://getnikola.com/blog/upgrading-to-nikola-v8.html#colorizing-categories-or-anything-really" id="id20"&gt;Colorizing categories (or anything, really)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a class="reference internal" href="https://getnikola.com/blog/upgrading-to-nikola-v8.html#plugins" id="id21"&gt;Plugins&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference internal" href="https://getnikola.com/blog/upgrading-to-nikola-v8.html#on-yaml-configuration" id="id22"&gt;On YAML configuration&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class="section" id="revisions-to-this-document"&gt;
&lt;h2&gt;&lt;a class="toc-backref" href="https://getnikola.com/blog/upgrading-to-nikola-v8.html#id5"&gt;Revisions to this document&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;2018-09-08:&lt;/strong&gt; moved &lt;tt class="docutils literal"&gt;tag_cloud_data.json&lt;/tt&gt; generation to separate plugin&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;2018-09-06:&lt;/strong&gt; Removed &lt;tt class="docutils literal"&gt;NO_DOCUTILS_TITLE_TRANSFORM&lt;/tt&gt; setting&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;2018-07-07:&lt;/strong&gt; Beta 3: Babel and changes to i18n&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;2018-05-13:&lt;/strong&gt; Beta 2: bootblog4 has featured posts, zen modernized; one new backwards
incompatible change found and described (&lt;tt class="docutils literal"&gt;reference&lt;/tt&gt; replaces
&lt;tt class="docutils literal"&gt;&lt;span class="pre"&gt;image-reference&lt;/span&gt;&lt;/tt&gt; in thumbnails)&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;2018-05-09:&lt;/strong&gt; fixes to style and missing sentences&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;2018-05-05:&lt;/strong&gt; initial version&lt;/p&gt;
&lt;/div&gt;
&lt;div class="section" id="how-to-upgrade"&gt;
&lt;h2&gt;&lt;a class="toc-backref" href="https://getnikola.com/blog/upgrading-to-nikola-v8.html#id6"&gt;How to upgrade&lt;/a&gt;&lt;/h2&gt;
&lt;ol class="arabic simple"&gt;
&lt;li&gt;Upgrade to the latest v7 version: &lt;tt class="docutils literal"&gt;pip install &lt;span class="pre"&gt;Nikola==7.8.15&lt;/span&gt;&lt;/tt&gt; and make sure
there are no outstanding warnings.&lt;/li&gt;
&lt;li&gt;Upgrade to v8: &lt;tt class="docutils literal"&gt;pip install &lt;span class="pre"&gt;-U&lt;/span&gt; &lt;span class="pre"&gt;--upgrade-strategy=eager&lt;/span&gt; &lt;span class="pre"&gt;Nikola==8.0.0&lt;/span&gt;&lt;/tt&gt;&lt;/li&gt;
&lt;li&gt;Read the upgrade notes below and &lt;a class="reference external" href="https://getnikola.com/changes.html"&gt;the full changelog&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Upgrade all third-party plugins and themes. (&lt;tt class="docutils literal"&gt;nikola plugin &lt;span class="pre"&gt;--upgrade&lt;/span&gt;&lt;/tt&gt;,
&lt;tt class="docutils literal"&gt;nikola theme &lt;span class="pre"&gt;--upgrade&lt;/span&gt;&lt;/tt&gt;)&lt;/li&gt;
&lt;li&gt;Run &lt;tt class="docutils literal"&gt;nikola status&lt;/tt&gt; and fix all warnings.&lt;/li&gt;
&lt;li&gt;When all warnings are fixed, run &lt;tt class="docutils literal"&gt;nikola build&lt;/tt&gt;.&lt;/li&gt;
&lt;li&gt;Run &lt;tt class="docutils literal"&gt;nikola check &lt;span class="pre"&gt;-l&lt;/span&gt;&lt;/tt&gt; and &lt;tt class="docutils literal"&gt;nikola check &lt;span class="pre"&gt;-f&lt;/span&gt;&lt;/tt&gt;. If there are broken links
or orphaned files, take care of them.&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;div class="section" id="upgrading-post-metadata"&gt;
&lt;h2&gt;&lt;a class="toc-backref" href="https://getnikola.com/blog/upgrading-to-nikola-v8.html#id7"&gt;Upgrading post metadata&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;There are a few changes in post metadata you should make:&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;tt class="docutils literal"&gt;draft&lt;/tt&gt; and &lt;tt class="docutils literal"&gt;private&lt;/tt&gt; tags are now &lt;tt class="docutils literal"&gt;status&lt;/tt&gt; metadata values (eg. &lt;tt class="docutils literal"&gt;..
status: draft&lt;/tt&gt;)&lt;/li&gt;
&lt;li&gt;&lt;tt class="docutils literal"&gt;mathjax&lt;/tt&gt; tag is now a &lt;tt class="docutils literal"&gt;has_math&lt;/tt&gt; metadata key (eg. &lt;tt class="docutils literal"&gt;.. has_math: yes&lt;/tt&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Both changes can be applied by using the &lt;a class="reference external" href="https://plugins.getnikola.com/v8/upgrade_metadata_v8/"&gt;upgrade_metadata_v8&lt;/a&gt; plugin.&lt;/p&gt;
&lt;/div&gt;
&lt;div class="section" id="changes-to-themes-and-templates"&gt;
&lt;h2&gt;&lt;a class="toc-backref" href="https://getnikola.com/blog/upgrading-to-nikola-v8.html#id8"&gt;Changes to themes and templates&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;The default theme for Nikola was changed to &lt;tt class="docutils literal"&gt;bootblog4&lt;/tt&gt;, which has a modern,
clean look, and can optionally display &lt;a class="reference external" href="https://getnikola.com/handbook.html#featured-posts"&gt;featured posts&lt;/a&gt;.
There’s also &lt;tt class="docutils literal"&gt;bootstrap4&lt;/tt&gt; with the classic look.  The &lt;tt class="docutils literal"&gt;bootstrap3&lt;/tt&gt; theme is
not included by default, but can still be installed (&lt;tt class="docutils literal"&gt;nikola theme &lt;span class="pre"&gt;-i&lt;/span&gt;
bootstrap3&lt;/tt&gt;)&lt;/p&gt;
&lt;p&gt;Moreover, there are a few changes to templates that you must take care of if
you’ve customized any:&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;Rename &lt;tt class="docutils literal"&gt;crumbs.tmpl&lt;/tt&gt; to &lt;tt class="docutils literal"&gt;ui_helper.tmpl&lt;/tt&gt; and the breadcrumbs
&lt;tt class="docutils literal"&gt;bar&lt;/tt&gt; function to &lt;tt class="docutils literal"&gt;breadcrumbs&lt;/tt&gt; (your templates may need
changing as well)&lt;/li&gt;
&lt;li&gt;Rename &lt;tt class="docutils literal"&gt;post.is_mathjax&lt;/tt&gt; to &lt;tt class="docutils literal"&gt;post.has_math&lt;/tt&gt;. Themes using
&lt;tt class="docutils literal"&gt;post.is_mathjax&lt;/tt&gt; must be updated; it is recommended that they are
changed to use &lt;tt class="docutils literal"&gt;math_helper.tmpl&lt;/tt&gt;.&lt;/li&gt;
&lt;li&gt;For galeries and images, colorbox was replaced by baguetteBox.&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="section" id="zen-modernized-and-uses-new-font-awesome"&gt;
&lt;h3&gt;&lt;a class="toc-backref" href="https://getnikola.com/blog/upgrading-to-nikola-v8.html#id9"&gt;zen modernized and uses new Font Awesome&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;The Zen theme was thoroughly modernized. The modernization means that:&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;Font Awesome v5 is used by default, you can switch to Fork Awesome v1 by
installing &lt;tt class="docutils literal"&gt;&lt;span class="pre"&gt;zen-forkawesome&lt;/span&gt;&lt;/tt&gt;&lt;/li&gt;
&lt;li&gt;Your &lt;tt class="docutils literal"&gt;conf.py&lt;/tt&gt; needs changing to reflect new icon names and classes
(Font Awesome v5 examples: &lt;tt class="docutils literal"&gt;'fa &lt;span class="pre"&gt;fa-tags'&lt;/span&gt;&lt;/tt&gt; and &lt;tt class="docutils literal"&gt;'fab &lt;span class="pre"&gt;fa-twitter'&lt;/span&gt;&lt;/tt&gt;)&lt;/li&gt;
&lt;li&gt;the &lt;tt class="docutils literal"&gt;&lt;span class="pre"&gt;zen-ipython&lt;/span&gt;&lt;/tt&gt; theme is not needed anymore, &lt;tt class="docutils literal"&gt;zen&lt;/tt&gt; and &lt;tt class="docutils literal"&gt;&lt;span class="pre"&gt;zen-jinja&lt;/span&gt;&lt;/tt&gt;
handle Jupyter posts correctly (as do the built-in themes)&lt;/li&gt;
&lt;li&gt;the theme internals were rewritten to more closely match built-in themes
(notably, galleries Just Work™)&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="section" id="backwards-incompatible-changes"&gt;
&lt;h2&gt;&lt;a class="toc-backref" href="https://getnikola.com/blog/upgrading-to-nikola-v8.html#id10"&gt;Backwards incompatible changes&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;The following changes may cause issues with blog appearance and links.
Please make sure you’ve taken care of them before deploying.&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;Sections are replaced by categories (Issue #2833) — &lt;em&gt;see below&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;Reading reST docinfo metadata, including first heading as title,
requires &lt;tt class="docutils literal"&gt;USE_REST_DOCINFO_METADATA&lt;/tt&gt; now (Issue #2987)&lt;/li&gt;
&lt;li&gt;&lt;tt class="docutils literal"&gt;NO_DOCUTILS_TITLE_TRANSFORM&lt;/tt&gt; setting removed, behavior now
depends on &lt;tt class="docutils literal"&gt;USE_REST_DOCINFO_METADATA&lt;/tt&gt; (Issue #3124) &lt;strong&gt;(added 2018-09-06)&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;RSS feeds might have changed their places due to &lt;tt class="docutils literal"&gt;RSS_PATH&lt;/tt&gt;
behavior changes (you may need to change &lt;tt class="docutils literal"&gt;RSS_PATH&lt;/tt&gt;,
&lt;tt class="docutils literal"&gt;RSS_FILENAME_BASE&lt;/tt&gt;)&lt;/li&gt;
&lt;li&gt;Atom feeds for archives and Atom pagination are no longer supported
(Issue #3016)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(added 2018-05-10)&lt;/strong&gt; You need &lt;tt class="docutils literal"&gt;&amp;lt;a &lt;span class="pre"&gt;class="reference"&amp;gt;&lt;/span&gt;&lt;/tt&gt; (instead of
&lt;tt class="docutils literal"&gt;&lt;span class="pre"&gt;image-reference&lt;/span&gt;&lt;/tt&gt;) to activate the lightbox now&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;(added 2018-09-08)&lt;/strong&gt; &lt;tt class="docutils literal"&gt;tag_cloud_data.json&lt;/tt&gt; now requires a separate plugin: &lt;tt class="docutils literal"&gt;nikola theme &lt;span class="pre"&gt;-i&lt;/span&gt;
tagcloud&lt;/tt&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class="section" id="babel-and-i18n-changes-added-2018-08-07"&gt;
&lt;h2&gt;&lt;a class="toc-backref" href="https://getnikola.com/blog/upgrading-to-nikola-v8.html#id11"&gt;Babel and i18n changes (added 2018-08-07)&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;For a long time, Nikola’s i18n features depended on the system locale support.
That led to a bunch of issues and strange bugs. We’ve replaced this with the Babel
library. New features include:&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;more flexible date formatting&lt;/li&gt;
&lt;li&gt;no more strange bugs related to system locale configuration&lt;/li&gt;
&lt;li&gt;translated dates even if system support was not there
(eg. on Alpine Linux, cf. discussion on issue #2606)&lt;/li&gt;
&lt;li&gt;proper forms for some Slavic languages (eg. marzec vs marca)&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="section" id="date-format-changed"&gt;
&lt;h3&gt;&lt;a class="toc-backref" href="https://getnikola.com/blog/upgrading-to-nikola-v8.html#id12"&gt;DATE_FORMAT changed&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;DATE_FORMAT uses different tokens. If you customized &lt;tt class="docutils literal"&gt;DATE_FORMAT&lt;/tt&gt;, you need
to change it to use &lt;a class="reference external" href="http://cldr.unicode.org/translation/date-time"&gt;CLDR formats&lt;/a&gt;. (Hint: the new default value
is &lt;tt class="docutils literal"&gt;&lt;span class="pre"&gt;YYYY-MM-dd&lt;/span&gt; HH:mm&lt;/tt&gt;)&lt;/p&gt;
&lt;/div&gt;
&lt;div class="section" id="babeldates-plugin-obsoleted-localeborg-internal-api-changed"&gt;
&lt;h3&gt;&lt;a class="toc-backref" href="https://getnikola.com/blog/upgrading-to-nikola-v8.html#id13"&gt;babeldates plugin obsoleted, LocaleBorg internal API changed&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;The babeldates plugin is obsoleted by the changes. If you were using it, rename
&lt;tt class="docutils literal"&gt;BABEL_DATE_FORMAT&lt;/tt&gt; to &lt;tt class="docutils literal"&gt;DATE_FORMAT&lt;/tt&gt; and remove the plugin.&lt;/p&gt;
&lt;p&gt;In addition, the LocaleBorg extension API was simplified. The new API expects
extension authors to create functions matching the signatured and assign them
to the following names:&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;tt class="docutils literal"&gt;LocaleBorg.datetime_formatter(date, date_format, lang, locale)&lt;/tt&gt;&lt;/li&gt;
&lt;li&gt;&lt;tt class="docutils literal"&gt;LocaleBorg.in_string_formatter(date, mode, custom_format, lang, locale)&lt;/tt&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class="section" id="translation-help-wanted"&gt;
&lt;h3&gt;&lt;a class="toc-backref" href="https://getnikola.com/blog/upgrading-to-nikola-v8.html#id14"&gt;Translation help wanted&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;However, this means that we needed to reorganize translations. In order
to have things in a working state, I used some guessworks and tried to
produce a working form. However, not all languages will have
grammatically correct output at this point. This is why we need help
from our community around the world.&lt;/p&gt;
&lt;p&gt;So, if you have the time, please help us check if our translations (on
&lt;a class="reference external" href="https://www.transifex.com/ralsina/nikola/dashboard/"&gt;Transifex&lt;/a&gt;
or &lt;a class="reference external" href="https://github.com/getnikola/nikola/tree/master/nikola/data/themes/base/messages"&gt;GitHub&lt;/a&gt;) are correct. Specifically, we need to know
if the date tags (in “Posts for XX” messages) are correctly placed. We
also need to know if the translation for those fits the required form.
To find out, you can run the &lt;a class="reference external" href="https://gist.github.com/Kwpolska/3c0d1af8bd641229d4ab64f1b98d88de"&gt;test script&lt;/a&gt; and check how all the forms
look for your locale. If they don't fit, they can be overridden:
for example, Polish uses “Posty z {month_year:MMMM yyyy}” and takes
advantage of the last bullet point.&lt;/p&gt;
&lt;p&gt;As a bonus, the use of Babel means that it's even easier to use
"human-friendly" dates on your blog — try setting &lt;tt class="docutils literal"&gt;DATE_FORMAT = 'long'&lt;/tt&gt;
on Nikola master. (If you have customized that setting, you will need
to change it to use CLDR-style date formats.)&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="section" id="removed-and-renamed-settings"&gt;
&lt;h2&gt;&lt;a class="toc-backref" href="https://getnikola.com/blog/upgrading-to-nikola-v8.html#id15"&gt;Removed and renamed settings&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;The following settings have been removed. Nikola will now always
behave as if the value was what is displayed afer the setting name.&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;tt class="docutils literal"&gt;FEED_PREVIEWIMAGE = True&lt;/tt&gt;&lt;/li&gt;
&lt;li&gt;&lt;tt class="docutils literal"&gt;SITEMAP_INCLUDE_FILELESS_DIRS = True&lt;/tt&gt;&lt;/li&gt;
&lt;li&gt;&lt;tt class="docutils literal"&gt;USE_OPEN_GRAPH = True&lt;/tt&gt;&lt;/li&gt;
&lt;li&gt;&lt;tt class="docutils literal"&gt;USE_BASE_TAG = False&lt;/tt&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The following settings were renamed:&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;tt class="docutils literal"&gt;UNSLUGIFY_TITLES&lt;/tt&gt; → &lt;tt class="docutils literal"&gt;FILE_METADATA_UNSLUGIFY_TITLES&lt;/tt&gt;&lt;/li&gt;
&lt;li&gt;&lt;tt class="docutils literal"&gt;TAG_PAGES_TITLES&lt;/tt&gt; → &lt;tt class="docutils literal"&gt;TAG_TITLES&lt;/tt&gt;&lt;/li&gt;
&lt;li&gt;&lt;tt class="docutils literal"&gt;TAG_PAGES_DESCRIPTIONS&lt;/tt&gt; → &lt;tt class="docutils literal"&gt;TAG_DESCRIPTIONS&lt;/tt&gt;&lt;/li&gt;
&lt;li&gt;&lt;tt class="docutils literal"&gt;CATEGORY_PAGES_TITLES&lt;/tt&gt; → &lt;tt class="docutils literal"&gt;CATEGORY_TITLES&lt;/tt&gt;&lt;/li&gt;
&lt;li&gt;&lt;tt class="docutils literal"&gt;CATEGORY_PAGES_DESCRIPTIONS&lt;/tt&gt; → &lt;tt class="docutils literal"&gt;CATEGORY_DESCRIPTIONS&lt;/tt&gt;&lt;/li&gt;
&lt;li&gt;&lt;tt class="docutils literal"&gt;DISABLE_INDEXES_PLUGIN_INDEX_AND_ATOM_FEED&lt;/tt&gt; → &lt;tt class="docutils literal"&gt;DISABLE_INDEXES&lt;/tt&gt; and
&lt;tt class="docutils literal"&gt;DISABLE_MAIN_ATOM_FEED&lt;/tt&gt;&lt;/li&gt;
&lt;li&gt;&lt;tt class="docutils literal"&gt;DISABLE_INDEXES_PLUGIN_RSS_FEED&lt;/tt&gt; → &lt;tt class="docutils literal"&gt;DISABLE_MAIN_RSS_FEED&lt;/tt&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class="section" id="sections-were-replaced-by-categories"&gt;
&lt;h2&gt;&lt;a class="toc-backref" href="https://getnikola.com/blog/upgrading-to-nikola-v8.html#id16"&gt;Sections were replaced by categories&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a class="reference external" href="https://github.com/getnikola/nikola/issues/2833"&gt;Sections were an unfinished feature.&lt;/a&gt; Having both sections and categories at the same time made no sense. The sections feature was removed and replaced by categories. Categories now support using the destination path, with the possibility to ignore common prefixes, and to use subdirectories. Categories can do everything sections used to.&lt;/p&gt;
&lt;p&gt;The way to migrate depends on what your blog setup was:&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;if you were only using categories, you don’t need to do anything (except for
the two renamed settings mentioned above)&lt;/li&gt;
&lt;li&gt;if you were only using sections, read on or details of required changes&lt;/li&gt;
&lt;li&gt;if you were using both, you’ll need to pick one of the two (beware: might
break links)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;PS. the &lt;tt class="docutils literal"&gt;section_prevnext&lt;/tt&gt; plugin has been renamed &lt;tt class="docutils literal"&gt;category_prevnext&lt;/tt&gt; for
v8.&lt;/p&gt;
&lt;div class="section" id="changes-to-posts"&gt;
&lt;h3&gt;&lt;a class="toc-backref" href="https://getnikola.com/blog/upgrading-to-nikola-v8.html#id17"&gt;Changes to posts&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;If your posts are using the &lt;tt class="docutils literal"&gt;section&lt;/tt&gt; metadata field, you should rename it to &lt;tt class="docutils literal"&gt;category&lt;/tt&gt;.  Nikola will do this conversion automatically if no category is specified, while also issuing a warning.&lt;/p&gt;
&lt;/div&gt;
&lt;div class="section" id="changes-to-configuration"&gt;
&lt;h3&gt;&lt;a class="toc-backref" href="https://getnikola.com/blog/upgrading-to-nikola-v8.html#id18"&gt;Changes to configuration&lt;/a&gt;&lt;/h3&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;tt class="docutils literal"&gt;POSTS_SECTION_TITLE&lt;/tt&gt; has been merged into &lt;tt class="docutils literal"&gt;CATEGORY_TITLES&lt;/tt&gt; (whose name has changed from &lt;tt class="docutils literal"&gt;CATEGORY_PAGES_TITLES&lt;/tt&gt;)&lt;/li&gt;
&lt;li&gt;&lt;tt class="docutils literal"&gt;POSTS_SECTION_DESCRIPTIONS&lt;/tt&gt; has been merged into &lt;tt class="docutils literal"&gt;CATEGORY_DESCRIPTIONS&lt;/tt&gt; (whose name has changed from &lt;tt class="docutils literal"&gt;CATEGORY_PAGES_DESCRPTIONS&lt;/tt&gt;)&lt;/li&gt;
&lt;li&gt;In order to activate the path-based behavior, enable &lt;tt class="docutils literal"&gt;CATEGORY_DESTPATH_AS_DEFAULT&lt;/tt&gt;&lt;/li&gt;
&lt;li&gt;To control what is used to generate paths, you can set &lt;tt class="docutils literal"&gt;CATEGORY_DESTPATH_TRIM_PREFIX&lt;/tt&gt; and &lt;tt class="docutils literal"&gt;CATEGORY_DESTPATH_FIRST_DIRECTORY_ONLY&lt;/tt&gt; (old sections behavior/default values are False and True respectively, but flipping them makes the feature much more flexible)&lt;/li&gt;
&lt;li&gt;&lt;tt class="docutils literal"&gt;POSTS_SECTION_NAME&lt;/tt&gt; is now &lt;tt class="docutils literal"&gt;CATEGORY_DESTPATH_NAMES&lt;/tt&gt;&lt;/li&gt;
&lt;li&gt;&lt;tt class="docutils literal"&gt;POSTS_SECTION_COLORS&lt;/tt&gt; is not supported by default, but you can replace it with some manual tinkering&lt;/li&gt;
&lt;li&gt;&lt;tt class="docutils literal"&gt;CATEGORY_ALLOW_HIERARCHIES&lt;/tt&gt;, &lt;tt class="docutils literal"&gt;CATEGORY_OUTPUT_FLAT_HIERARCHY&lt;/tt&gt; are heavily recommended if you use &lt;tt class="docutils literal"&gt;CATEGORY_DESTPATH_AS_DEFAULT&lt;/tt&gt;, and required if you use &lt;tt class="docutils literal"&gt;CATEGORY_PAGES_FOLLOW_DESTPATH&lt;/tt&gt;&lt;/li&gt;
&lt;li&gt;&lt;tt class="docutils literal"&gt;NO_DOCUTILS_TITLE_TRANSFORM&lt;/tt&gt; has been removed, behavior now depends on &lt;tt class="docutils literal"&gt;USE_REST_DOCINFO_METADATA&lt;/tt&gt; (Issue #3124) &lt;strong&gt;(added 2018-09-06)&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class="section" id="recreating-the-old-behavior-of-sections"&gt;
&lt;h3&gt;&lt;a class="toc-backref" href="https://getnikola.com/blog/upgrading-to-nikola-v8.html#id19"&gt;Recreating the old behavior of sections&lt;/a&gt;&lt;/h3&gt;
&lt;pre class="code python"&gt;&lt;a name="rest_code_7fe1902fcf414f09b90b627324dbfe9c-1"&gt;&lt;/a&gt;&lt;span class="n"&gt;CATEGORY_ALLOW_HIERARCHIES&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="bp"&gt;True&lt;/span&gt;
&lt;a name="rest_code_7fe1902fcf414f09b90b627324dbfe9c-2"&gt;&lt;/a&gt;&lt;span class="n"&gt;CATEGORY_OUTPUT_FLAT_HIERARCHY&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="bp"&gt;True&lt;/span&gt;
&lt;a name="rest_code_7fe1902fcf414f09b90b627324dbfe9c-3"&gt;&lt;/a&gt;&lt;span class="n"&gt;CATEGORY_DESTPATH_AS_DEFAULT&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="bp"&gt;True&lt;/span&gt;
&lt;a name="rest_code_7fe1902fcf414f09b90b627324dbfe9c-4"&gt;&lt;/a&gt;&lt;span class="n"&gt;CATEGORY_DESTPATH_TRIM_PREFIX&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="bp"&gt;False&lt;/span&gt;
&lt;a name="rest_code_7fe1902fcf414f09b90b627324dbfe9c-5"&gt;&lt;/a&gt;&lt;span class="n"&gt;CATEGORY_DESTPATH_FIRST_DIRECTORY_ONLY&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="bp"&gt;True&lt;/span&gt;
&lt;a name="rest_code_7fe1902fcf414f09b90b627324dbfe9c-6"&gt;&lt;/a&gt;&lt;span class="n"&gt;CATEGORY_PAGES_FOLLOW_DESTPATH&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="bp"&gt;True&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;div class="section" id="colorizing-categories-or-anything-really"&gt;
&lt;h3&gt;&lt;a class="toc-backref" href="https://getnikola.com/blog/upgrading-to-nikola-v8.html#id20"&gt;Colorizing categories (or anything, really)&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;The colorization feature is now available for &lt;em&gt;anything&lt;/em&gt;, not only sections.
Templates can use the &lt;tt class="docutils literal"&gt;colorize_str(string, base_color, presets)&lt;/tt&gt; function,
like so:&lt;/p&gt;
&lt;pre class="code mako"&gt;&lt;a name="rest_code_1a36dd3c1fcc4221a5b70be698d64c7d-1"&gt;&lt;/a&gt;&lt;span class="cp"&gt;${&lt;/span&gt;&lt;span class="n"&gt;colorize_str&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;post&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;meta&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'category'&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; &lt;span class="n"&gt;theme_color&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;category_colors&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="cp"&gt;}&lt;/span&gt;&lt;span class="x"&gt;&lt;/span&gt;
&lt;/pre&gt;&lt;p&gt;You need to add &lt;tt class="docutils literal"&gt;category_colors&lt;/tt&gt; to the global context manually — this
expects a regular (untranslated) dict mapping category names to hex colors.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="section" id="plugins"&gt;
&lt;h2&gt;&lt;a class="toc-backref" href="https://getnikola.com/blog/upgrading-to-nikola-v8.html#id21"&gt;Plugins&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;If you are using &lt;tt class="docutils literal"&gt;section_prevnext&lt;/tt&gt;, remove it and install
&lt;tt class="docutils literal"&gt;category_prevnext&lt;/tt&gt; instead.&lt;/p&gt;
&lt;p&gt;If you are using the &lt;tt class="docutils literal"&gt;projectpages&lt;/tt&gt; plugin, you can migrate your metadata like this:&lt;/p&gt;
&lt;pre class="code text"&gt;&lt;a name="rest_code_3648c3e68414445096c2ebac10b59442-1"&gt;&lt;/a&gt;sed 's/.. status:/.. devstatus:/g' *.rst -i
&lt;a name="rest_code_3648c3e68414445096c2ebac10b59442-2"&gt;&lt;/a&gt;sed '/.. featured: False/d' *.rst -i
&lt;a name="rest_code_3648c3e68414445096c2ebac10b59442-3"&gt;&lt;/a&gt;sed 's/.. featured: True/.. status: featured/g' *.rst -i
&lt;a name="rest_code_3648c3e68414445096c2ebac10b59442-4"&gt;&lt;/a&gt;sed '/.. hidden: False/d' *.rst -i
&lt;a name="rest_code_3648c3e68414445096c2ebac10b59442-5"&gt;&lt;/a&gt;sed 's/.. hidden: True/.. status: private/g' *.rst -i
&lt;/pre&gt;&lt;/div&gt;
&lt;div class="section" id="on-yaml-configuration"&gt;
&lt;h2&gt;&lt;a class="toc-backref" href="https://getnikola.com/blog/upgrading-to-nikola-v8.html#id22"&gt;On YAML configuration&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;One of the features we’ve promised for Nikola v8 was YAML config. We’re afraid
we won’t offer this in the v8.0.0 release just yet. Doing this &lt;em&gt;right&lt;/em&gt; will require
substantial amounts of time, and the v8 project has been going for over a year.&lt;/p&gt;
&lt;p&gt;Rest assured: we haven’t scrapped this idea. YAML config will appear in a
future v8.x.0 release. Before that happens, we need to build a configuration
management framework, with support for &lt;a class="reference external" href="https://github.com/getnikola/nikola/issues/2475#issuecomment-384064771"&gt;migrations&lt;/a&gt;
among other things — its main focus will be Nikola config, but we hope
to make it flexible enough to work anywhere.
(If you’re aware of a good project that does this, do tell us!)&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;</description><category>documentation</category><category>nikola</category><guid>https://getnikola.com/blog/upgrading-to-nikola-v8.html</guid><pubDate>Sat, 05 May 2018 18:55:43 GMT</pubDate></item><item><title>Nikola v7.8.14 is out!</title><link>https://getnikola.com/blog/nikola-v7814-is-out.html</link><dc:creator>Chris Warrick</dc:creator><description>&lt;div&gt;&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;div class="section" id="what-is-nikola"&gt;
&lt;h2&gt;What is Nikola?&lt;/h2&gt;
&lt;p&gt;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).&lt;/p&gt;
&lt;p&gt;Find out more at the website: &lt;a class="reference external" href="https://getnikola.com/"&gt;https://getnikola.com/&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class="section" id="downloads"&gt;
&lt;h2&gt;Downloads&lt;/h2&gt;
&lt;p&gt;Install using &lt;tt class="docutils literal"&gt;pip install Nikola&lt;/tt&gt; or download tarballs on &lt;a class="reference external" href="https://github.com/getnikola/nikola/releases/tag/v7.8.14"&gt;GitHub&lt;/a&gt; and &lt;a class="reference external" href="https://pypi.python.org/pypi/Nikola/7.8.14"&gt;PyPI&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;div class="section" id="changes"&gt;
&lt;h2&gt;Changes&lt;/h2&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;doit v0.31.0 compatibility (Issue #2980, #3004, v8 backport)&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;&lt;/div&gt;</description><category>nikola</category><category>planet</category><category>programming</category><category>python</category><category>release</category><guid>https://getnikola.com/blog/nikola-v7814-is-out.html</guid><pubDate>Sat, 31 Mar 2018 09:41:04 GMT</pubDate></item><item><title>Nikola v7.8.13 is out! (maintenance release)</title><link>https://getnikola.com/blog/nikola-v7813-is-out-maintenance-release.html</link><dc:creator>Roberto Alsina</dc:creator><description>&lt;div&gt;&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;div class="section" id="what-is-nikola"&gt;
&lt;h2&gt;What is Nikola?&lt;/h2&gt;
&lt;p&gt;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).&lt;/p&gt;
&lt;p&gt;Find out more at the website: &lt;a class="reference external" href="https://getnikola.com/"&gt;https://getnikola.com/&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class="section" id="downloads"&gt;
&lt;h2&gt;Downloads&lt;/h2&gt;
&lt;p&gt;Install using &lt;tt class="docutils literal"&gt;pip install Nikola&lt;/tt&gt; or download tarballs on &lt;a class="reference external" href="https://github.com/getnikola/nikola/releases/tag/v7.8.13"&gt;GitHub&lt;/a&gt; and &lt;a class="reference external" href="https://pypi.python.org/pypi/Nikola/7.8.13"&gt;PyPI&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;div class="section" id="changes"&gt;
&lt;h2&gt;Changes&lt;/h2&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;Add new Thai translation by Narumol Hankrotha and Jean Jordaan
(v8 backport)&lt;/li&gt;
&lt;li&gt;Hide “Incomplete language” message for overrides of complete
languages&lt;/li&gt;
&lt;li&gt;Restore ability to override messages partially&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;(Note: for a while, this post said &lt;em&gt;v7.8.14&lt;/em&gt; was released. We apologise for the confusion.)&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;</description><category>nikola</category><category>planet</category><category>programming</category><category>python</category><category>release</category><guid>https://getnikola.com/blog/nikola-v7813-is-out-maintenance-release.html</guid><pubDate>Tue, 20 Mar 2018 17:50:57 GMT</pubDate></item></channel></rss>