<?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 (Posts by Roberto Alsina)</title><link>https://getnikola.com/</link><description></description><atom:link href="https://getnikola.com/authors/roberto-alsina.xml" rel="self" type="application/rss+xml"></atom:link><language>en</language><lastBuildDate>Sat, 17 May 2025 18:06:07 GMT</lastBuildDate><generator>Nikola (getnikola.com)</generator><docs>http://blogs.law.harvard.edu/tech/rss</docs><item><title>Nikola v8.3.3 is out!</title><link>https://getnikola.com/blog/nikola-v833-is-out.html</link><dc:creator>Roberto Alsina</dc:creator><description>&lt;p&gt;On behalf of the Nikola team, I am pleased to announce
the immediate availability of Nikola v8.3.3. This is a bugfix release.&lt;/p&gt;
&lt;p&gt;We’ve had to release Nikola v8.3.3 immediately after releasing
Nikola v8.3.2, as it is broken on Python 3.8. We would like to thank
the Python packaging ecosystem for being an incomprehensible and
incompatible trainwreck.&lt;/p&gt;
&lt;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;/section&gt;
&lt;section id="downloads"&gt;
&lt;h2&gt;Downloads&lt;/h2&gt;
&lt;p&gt;Install using &lt;code class="docutils literal"&gt;pip install Nikola&lt;/code&gt;.&lt;/p&gt;
&lt;/section&gt;
&lt;section id="changes-from-v8-3-1"&gt;
&lt;h2&gt;Changes from v8.3.1&lt;/h2&gt;
&lt;section id="features"&gt;
&lt;h3&gt;Features&lt;/h3&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;p&gt;Trace template usage when an environment variable &lt;code class="docutils literal"&gt;NIKOLA_TEMPLATES_TRACE&lt;/code&gt;
is set to any non-empty value.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Give user control over the raw underlying template engine
(either &lt;code class="docutils literal"&gt;mako.lookup.TemplateLookup&lt;/code&gt; or &lt;code class="docutils literal"&gt;jinja2.Environment&lt;/code&gt;)
via an optional &lt;code class="docutils literal"&gt;conf.py&lt;/code&gt; method &lt;code class="docutils literal"&gt;TEMPLATE_ENGINE_FACTORY&lt;/code&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Switch to pyproject.toml&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Add path handler &lt;code class="docutils literal"&gt;slug_source&lt;/code&gt; linking to source of post.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/section&gt;
&lt;section id="bugfixes"&gt;
&lt;h3&gt;Bugfixes&lt;/h3&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;p&gt;Ignore errors in parsing SVG files for shrinking them, copy original file to output instead
(Issue #3785)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Restore &lt;code class="docutils literal"&gt;annotation_helper.tmpl&lt;/code&gt; with dummy content - fix themes still mentioning it
(Issue #3764, #3773)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Fix compatibility with watchdog 4 (Issue #3766)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code class="docutils literal"&gt;nikola serve&lt;/code&gt; now works with non-root SITE_URL.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Stack traces meaningless for end users now more reliably suppressed (Issue #3838).&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/section&gt;
&lt;section id="other"&gt;
&lt;h3&gt;Other&lt;/h3&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;p&gt;Changed filter for tidy from  &lt;code class="docutils literal"&gt;tidy5&lt;/code&gt; to &lt;code class="docutils literal"&gt;tidy&lt;/code&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/section&gt;
&lt;/section&gt;</description><category>nikola</category><category>planet</category><category>programming</category><category>python</category><category>release</category><guid>https://getnikola.com/blog/nikola-v833-is-out.html</guid><pubDate>Sat, 17 May 2025 17:16:57 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;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;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;/section&gt;
&lt;section id="downloads"&gt;
&lt;h2&gt;Downloads&lt;/h2&gt;
&lt;p&gt;Install using &lt;code class="docutils literal"&gt;pip install Nikola&lt;/code&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;/section&gt;
&lt;section id="changes"&gt;
&lt;h2&gt;Changes&lt;/h2&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;p&gt;Add new Thai translation by Narumol Hankrotha and Jean Jordaan
(v8 backport)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Hide “Incomplete language” message for overrides of complete
languages&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Restore ability to override messages partially&lt;/p&gt;&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;/section&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><item><title>Nikola v7.8.5 is out!</title><link>https://getnikola.com/blog/nikola-v785-is-out.html</link><dc:creator>Roberto Alsina</dc:creator><description>&lt;p&gt;On behalf of the Nikola team, I am pleased to announce the immediate availability of Nikola v7.8.5. It fixes some bugs and adds new features.&lt;/p&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 href="https://getnikola.com/"&gt;https://getnikola.com/&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;Downloads&lt;/h2&gt;
&lt;p&gt;Install using &lt;code&gt;pip install Nikola&lt;/code&gt; or download tarballs on &lt;a href="https://github.com/getnikola/nikola/releases/tag/v7.8.5"&gt;GitHub&lt;/a&gt; and &lt;a href="https://pypi.python.org/pypi/Nikola/7.8.5"&gt;PyPI&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;Changes&lt;/h2&gt;
&lt;h3&gt;Math support changes&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;If you edited templates related to indexes and posts (&lt;code&gt;index.tmpl&lt;/code&gt;,
  &lt;code&gt;post.tmpl&lt;/code&gt;, &lt;code&gt;index_helper.tmpl&lt;/code&gt;, &lt;code&gt;post_helper.tmpl&lt;/code&gt;) in your
  templates, you should adjust them to use &lt;code&gt;math_helper.tmpl&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;If you are using KaTeX, you should remove the CSS snippet from your
  configuration (templates), as that is now handled by Nikola.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Features&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Get rid of &lt;code&gt;THEME_REVEAL_CONFIG_*&lt;/code&gt; settings, use global context
  instead (Issue #2485)&lt;/li&gt;
&lt;li&gt;New emoji shortcode&lt;/li&gt;
&lt;li&gt;Add &lt;code&gt;SECTION_PATH&lt;/code&gt; support to move the section indexes to a
  user-defined location (Issue #2738)&lt;/li&gt;
&lt;li&gt;Add a list of template variables to documentation (Issues #2328,
  #2712, #2259) and update the theming reference (Issue #2259)&lt;/li&gt;
&lt;li&gt;Add &lt;code&gt;{post_title}&lt;/code&gt; tag for Read More links (Issue #2709)&lt;/li&gt;
&lt;li&gt;Include MathJax config only when needed (via Issue #2715)&lt;/li&gt;
&lt;li&gt;Include KaTeX CSS automatically when needed (Issue #2715)&lt;/li&gt;
&lt;li&gt;Split out math code into new &lt;code&gt;math_helper.tmpl&lt;/code&gt; template (Issue
  #2715)&lt;/li&gt;
&lt;li&gt;Added &lt;code&gt;jpegoptim_progressive&lt;/code&gt; filter to convert jpeg images to progressive
  jpegs.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Bugfixes&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Open &lt;code&gt;127.0.0.1&lt;/code&gt; when using &lt;code&gt;nikola serve -b&lt;/code&gt; and default
  &lt;code&gt;0.0.0.0&lt;/code&gt; hostname to avoid resolution issues — the site is still
  available on all interfaces (Issue #2755)&lt;/li&gt;
&lt;li&gt;Don't break animated GIFs in postprocessing (Issue #2750)&lt;/li&gt;
&lt;li&gt;More robust shortcodes, no need to escape URLs in reSt, work better
  with LaTeX, etc.&lt;/li&gt;
&lt;li&gt;No longer creates empty subarchive pages, and no longer create broken
  archive navigation links on day level (Issue #2734)&lt;/li&gt;
&lt;li&gt;Fixes post scanner plugin order (Issue #2720)&lt;/li&gt;
&lt;li&gt;Rename &lt;code&gt;POSTS_SECTION_ARE_INDEXES&lt;/code&gt; to &lt;code&gt;POSTS_SECTIONS_ARE_INDEXES&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Make date ranges work in shortcode-based post lists (Issue #2690)&lt;/li&gt;
&lt;li&gt;Read data files only if Nikola configuration exists (Issue #2708)&lt;/li&gt;
&lt;li&gt;Make &lt;code&gt;PAGE_INDEX&lt;/code&gt; work with &lt;code&gt;PRETTY_URLS&lt;/code&gt; (Issue #2705)&lt;/li&gt;
&lt;li&gt;Fix PHP posts/pages not rendering on Windows (Issue #2706)&lt;/li&gt;
&lt;li&gt;Improving support for PostScanner plugins by asking them which compilers
  are unused (Issue #2496)&lt;/li&gt;
&lt;/ul&gt;</description><category>nikola</category><category>planet</category><category>programming</category><category>python</category><category>release</category><guid>https://getnikola.com/blog/nikola-v785-is-out.html</guid><pubDate>Fri, 12 May 2017 12:50:41 GMT</pubDate></item><item><title>Nikola Available as a Snap</title><link>https://getnikola.com/blog/nikola-available-as-a-snap.html</link><dc:creator>Roberto Alsina</dc:creator><description>&lt;aside class="admonition note"&gt;
&lt;p class="admonition-title"&gt;Note&lt;/p&gt;
&lt;p&gt;This is all slightly experimental&lt;/p&gt;
&lt;/aside&gt;
&lt;p&gt;One of the larger challenges for free software developers is getting our software
in the hands of the public, promptly, with the least amount of effort. Let's say that,
so far, the least aount of effort has been &lt;strong&gt;a lot of effort&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;For windows, we need to do lots of work I, personally don't want to do, so Nikola's
possible windows users are left with the path of doing things like a developer, and
building from source. The same for OSX users.&lt;/p&gt;
&lt;p&gt;On Linux, thanks to the effort of a bunch of people (thanks y'all!) Nikola is available
as a distro package of one sort or another for most distributions, so you can get it
easily. But ... you usually will not get the latest release of Nikola, unless you are
an Arch user.&lt;/p&gt;
&lt;p&gt;I am happy to announce there is an alternative path that is a real improvement for a
large number of Linux users, specifically Ubuntu users (disclaimer: I work for
Canonical, I like Canonical, and I did this)&lt;/p&gt;
&lt;p&gt;For a while I have been building Nikola as a &lt;a class="reference external" href="http://snapcraft.io/"&gt;snap&lt;/a&gt;
after every release. But what's a snap?&lt;/p&gt;
&lt;p&gt;A snap is a new package format that runs applications safely in a confined sandbox.
That means that the packages don't need to go through as complicated a process as
traditional Linux distro packages. Also, they are much, much, much easier to create.&lt;/p&gt;
&lt;p&gt;So, if you are on a recent Ubuntu, or in one of the &lt;a class="reference external" href="http://snapcraft.io/"&gt;other distros where snaps work&lt;/a&gt; you can get Nikola 7.8.1 &lt;strong&gt;and keep it up to date, probably never more than a
day behind the current release&lt;/strong&gt; by installing it through snap:&lt;/p&gt;
&lt;pre class="literal-block"&gt;$ snap install nikola
nikola (stable) 7.8.1 from 'ralsina' installed&lt;/pre&gt;
&lt;p&gt;Then you need to give Nikola permission to write in your home folder:&lt;/p&gt;
&lt;pre class="literal-block"&gt;$ snap connect nikola:home core:home&lt;/pre&gt;
&lt;p&gt;And permission to use the network:&lt;/p&gt;
&lt;pre class="literal-block"&gt;$ snap connect nikola:network core:network
$ snap connect nikola:network-bind core:network-bind&lt;/pre&gt;
&lt;p&gt;That is all. It's not, however perfect. There are a few functions of Nikola that won't
currently work whe used in this way:&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;p&gt;Some plugins that require installing 3rd party software will not work. For example, the
asciidoc compiler will not be able to call asciidoc&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The &lt;code class="docutils literal"&gt;nikola deploy&lt;/code&gt; command will not work because the sandbox prevents Nikola from calling
3rd party commands. Probably the same is true about &lt;code class="docutils literal"&gt;nikola github_deploy&lt;/code&gt;. You will have
to use scripts or just run the deployment commands manually.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The &lt;code class="docutils literal"&gt;&lt;span class="pre"&gt;-b&lt;/span&gt;&lt;/code&gt; option of &lt;code class="docutils literal"&gt;nikola serve&lt;/code&gt; and &lt;code class="docutils literal"&gt;nikola auto&lt;/code&gt;, which opens the site in a browser,
will not work. You will have to open the site manually.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The snapped Nikola takes slightly longer to start than a regular setup (about half a second
in my system)&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;There will also be a daily snapshot of the current code available in the snap "edge channel", as soon as I can automate it via a 3rd party build service.&lt;/p&gt;</description><category>nikola</category><category>planet</category><guid>https://getnikola.com/blog/nikola-available-as-a-snap.html</guid><pubDate>Thu, 20 Oct 2016 10:50:06 GMT</pubDate></item><item><title>Markdown can affect performance</title><link>https://getnikola.com/blog/markdown-can-affect-performance.html</link><dc:creator>Roberto Alsina</dc:creator><description>&lt;p&gt;Markdown is a very popular input format for static site generators, that's why
Nikola has supported it since very early in life, even if I prefer reSt most
of the time.&lt;/p&gt;
&lt;p&gt;One thing that has surprised me a while ago is that, considering how minimalistic
markdown is, and how little it does, it can be pretty slow to process. But it
turns out this is not completely markdown's fault, but that the python markdown
implementation is really, &lt;em&gt;really&lt;/em&gt;, &lt;strong&gt;really&lt;/strong&gt; slow.&lt;/p&gt;
&lt;p&gt;How slow? Let's check it out. All benchmarks in this post were done in my notebook,
a nice Asus Zenbook UX305, with a fast SSD and plenty of RAM. In all cases the builds
were done using no parallelization.&lt;/p&gt;
&lt;p&gt;The test site is an empty site to which I added 1000 copies of a simple, not too large
markdown file (our theming guide, converted from reSt using pandoc).&lt;/p&gt;
&lt;p&gt;As a baseline, a site with 1000 copies of the original reSt theming.txt builds in &lt;code class="docutils literal"&gt;126&lt;/code&gt; seconds.&lt;/p&gt;
&lt;p&gt;The markdown version of that site? It gets progressively slower as files build, so
I suspect it leaks &lt;em&gt;something&lt;/em&gt; between builds, and finishes in ... &lt;code class="docutils literal"&gt;1584&lt;/code&gt; seconds. That is
over 12 times &lt;strong&gt;slower&lt;/strong&gt; than the reSt compiler.&lt;/p&gt;
&lt;p&gt;But you don't want to switch to reSt? No problem! We support more markdown compilers than
we probably should, so you can just choose which one you prefer.&lt;/p&gt;
&lt;p&gt;Here is a &lt;a class="reference external" href="https://getnikola.com/handbook.html#chart"&gt;chart&lt;/a&gt; showing the performance of each (HTML and reSt added as reference):&lt;/p&gt;
&lt;?xml version='1.0' encoding='utf-8'?&gt;
&lt;svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="chart-756a7c5f-a38b-40e8-b8db-2e0f5ecc2581" class="pygal-chart" viewbox="0 0 800 600"&gt;&lt;!--Generated with pygal 3.0.5 (lxml) ©Kozea 2012-2016 on 2025-05-17--&gt;&lt;!--http://pygal.org--&gt;&lt;!--http://github.com/Kozea/pygal--&gt;&lt;defs&gt;&lt;style type="text/css"&gt;#chart-756a7c5f-a38b-40e8-b8db-2e0f5ecc2581{-webkit-user-select:none;-webkit-font-smoothing:antialiased;font-family:Consolas,"Liberation Mono",Menlo,Courier,monospace}#chart-756a7c5f-a38b-40e8-b8db-2e0f5ecc2581 .title{font-family:Consolas,"Liberation Mono",Menlo,Courier,monospace;font-size:16px}#chart-756a7c5f-a38b-40e8-b8db-2e0f5ecc2581 .legends .legend text{font-family:Consolas,"Liberation Mono",Menlo,Courier,monospace;font-size:14px}#chart-756a7c5f-a38b-40e8-b8db-2e0f5ecc2581 .axis text{font-family:Consolas,"Liberation Mono",Menlo,Courier,monospace;font-size:10px}#chart-756a7c5f-a38b-40e8-b8db-2e0f5ecc2581 .axis text.major{font-family:Consolas,"Liberation Mono",Menlo,Courier,monospace;font-size:10px}#chart-756a7c5f-a38b-40e8-b8db-2e0f5ecc2581 .text-overlay text.value{font-family:Consolas,"Liberation Mono",Menlo,Courier,monospace;font-size:16px}#chart-756a7c5f-a38b-40e8-b8db-2e0f5ecc2581 .text-overlay text.label{font-family:Consolas,"Liberation Mono",Menlo,Courier,monospace;font-size:10px}#chart-756a7c5f-a38b-40e8-b8db-2e0f5ecc2581 .tooltip{font-family:Consolas,"Liberation Mono",Menlo,Courier,monospace;font-size:14px}#chart-756a7c5f-a38b-40e8-b8db-2e0f5ecc2581 text.no_data{font-family:Consolas,"Liberation Mono",Menlo,Courier,monospace;font-size:64px}
#chart-756a7c5f-a38b-40e8-b8db-2e0f5ecc2581{background-color:#f0f0f0}#chart-756a7c5f-a38b-40e8-b8db-2e0f5ecc2581 path,#chart-756a7c5f-a38b-40e8-b8db-2e0f5ecc2581 line,#chart-756a7c5f-a38b-40e8-b8db-2e0f5ecc2581 rect,#chart-756a7c5f-a38b-40e8-b8db-2e0f5ecc2581 circle{-webkit-transition:250ms ease-in;-moz-transition:250ms ease-in;transition:250ms ease-in}#chart-756a7c5f-a38b-40e8-b8db-2e0f5ecc2581 .graph &amp;gt; .background{fill:#f0f0f0}#chart-756a7c5f-a38b-40e8-b8db-2e0f5ecc2581 .plot &amp;gt; .background{fill:#f8f8f8}#chart-756a7c5f-a38b-40e8-b8db-2e0f5ecc2581 .graph{fill:rgba(0,0,0,0.9)}#chart-756a7c5f-a38b-40e8-b8db-2e0f5ecc2581 text.no_data{fill:rgba(0,0,0,0.9)}#chart-756a7c5f-a38b-40e8-b8db-2e0f5ecc2581 .title{fill:rgba(0,0,0,0.9)}#chart-756a7c5f-a38b-40e8-b8db-2e0f5ecc2581 .legends .legend text{fill:rgba(0,0,0,0.9)}#chart-756a7c5f-a38b-40e8-b8db-2e0f5ecc2581 .legends .legend:hover text{fill:rgba(0,0,0,0.9)}#chart-756a7c5f-a38b-40e8-b8db-2e0f5ecc2581 .axis .line{stroke:rgba(0,0,0,0.9)}#chart-756a7c5f-a38b-40e8-b8db-2e0f5ecc2581 .axis .guide.line{stroke:rgba(0,0,0,0.6)}#chart-756a7c5f-a38b-40e8-b8db-2e0f5ecc2581 .axis .major.line{stroke:rgba(0,0,0,0.9)}#chart-756a7c5f-a38b-40e8-b8db-2e0f5ecc2581 .axis text.major{fill:rgba(0,0,0,0.9)}#chart-756a7c5f-a38b-40e8-b8db-2e0f5ecc2581 .axis.y .guides:hover .guide.line,#chart-756a7c5f-a38b-40e8-b8db-2e0f5ecc2581 .line-graph .axis.x .guides:hover .guide.line,#chart-756a7c5f-a38b-40e8-b8db-2e0f5ecc2581 .stackedline-graph .axis.x .guides:hover .guide.line,#chart-756a7c5f-a38b-40e8-b8db-2e0f5ecc2581 .xy-graph .axis.x .guides:hover .guide.line{stroke:rgba(0,0,0,0.9)}#chart-756a7c5f-a38b-40e8-b8db-2e0f5ecc2581 .axis .guides:hover text{fill:rgba(0,0,0,0.9)}#chart-756a7c5f-a38b-40e8-b8db-2e0f5ecc2581 .reactive{fill-opacity:.5;stroke-opacity:.8;stroke-width:1}#chart-756a7c5f-a38b-40e8-b8db-2e0f5ecc2581 .ci{stroke:rgba(0,0,0,0.9)}#chart-756a7c5f-a38b-40e8-b8db-2e0f5ecc2581 .reactive.active,#chart-756a7c5f-a38b-40e8-b8db-2e0f5ecc2581 .active .reactive{fill-opacity:.9;stroke-opacity:.9;stroke-width:4}#chart-756a7c5f-a38b-40e8-b8db-2e0f5ecc2581 .ci .reactive.active{stroke-width:1.5}#chart-756a7c5f-a38b-40e8-b8db-2e0f5ecc2581 .series text{fill:rgba(0,0,0,0.9)}#chart-756a7c5f-a38b-40e8-b8db-2e0f5ecc2581 .tooltip rect{fill:#f8f8f8;stroke:rgba(0,0,0,0.9);-webkit-transition:opacity 250ms ease-in;-moz-transition:opacity 250ms ease-in;transition:opacity 250ms ease-in}#chart-756a7c5f-a38b-40e8-b8db-2e0f5ecc2581 .tooltip .label{fill:rgba(0,0,0,0.9)}#chart-756a7c5f-a38b-40e8-b8db-2e0f5ecc2581 .tooltip .label{fill:rgba(0,0,0,0.9)}#chart-756a7c5f-a38b-40e8-b8db-2e0f5ecc2581 .tooltip .legend{font-size:.8em;fill:rgba(0,0,0,0.6)}#chart-756a7c5f-a38b-40e8-b8db-2e0f5ecc2581 .tooltip .x_label{font-size:.6em;fill:rgba(0,0,0,0.9)}#chart-756a7c5f-a38b-40e8-b8db-2e0f5ecc2581 .tooltip .xlink{font-size:.5em;text-decoration:underline}#chart-756a7c5f-a38b-40e8-b8db-2e0f5ecc2581 .tooltip .value{font-size:1.5em}#chart-756a7c5f-a38b-40e8-b8db-2e0f5ecc2581 .bound{font-size:.5em}#chart-756a7c5f-a38b-40e8-b8db-2e0f5ecc2581 .max-value{font-size:.75em;fill:rgba(0,0,0,0.6)}#chart-756a7c5f-a38b-40e8-b8db-2e0f5ecc2581 .map-element{fill:#f8f8f8;stroke:rgba(0,0,0,0.6) !important}#chart-756a7c5f-a38b-40e8-b8db-2e0f5ecc2581 .map-element .reactive{fill-opacity:inherit;stroke-opacity:inherit}#chart-756a7c5f-a38b-40e8-b8db-2e0f5ecc2581 .color-0,#chart-756a7c5f-a38b-40e8-b8db-2e0f5ecc2581 .color-0 a:visited{stroke:#00b2f0;fill:#00b2f0}#chart-756a7c5f-a38b-40e8-b8db-2e0f5ecc2581 .color-1,#chart-756a7c5f-a38b-40e8-b8db-2e0f5ecc2581 .color-1 a:visited{stroke:#43d9be;fill:#43d9be}#chart-756a7c5f-a38b-40e8-b8db-2e0f5ecc2581 .color-2,#chart-756a7c5f-a38b-40e8-b8db-2e0f5ecc2581 .color-2 a:visited{stroke:#0662ab;fill:#0662ab}#chart-756a7c5f-a38b-40e8-b8db-2e0f5ecc2581 .color-3,#chart-756a7c5f-a38b-40e8-b8db-2e0f5ecc2581 .color-3 a:visited{stroke:#00668a;fill:#00668a}#chart-756a7c5f-a38b-40e8-b8db-2e0f5ecc2581 .color-4,#chart-756a7c5f-a38b-40e8-b8db-2e0f5ecc2581 .color-4 a:visited{stroke:#98eadb;fill:#98eadb}#chart-756a7c5f-a38b-40e8-b8db-2e0f5ecc2581 .color-5,#chart-756a7c5f-a38b-40e8-b8db-2e0f5ecc2581 .color-5 a:visited{stroke:#97d959;fill:#97d959}#chart-756a7c5f-a38b-40e8-b8db-2e0f5ecc2581 .color-6,#chart-756a7c5f-a38b-40e8-b8db-2e0f5ecc2581 .color-6 a:visited{stroke:#033861;fill:#033861}#chart-756a7c5f-a38b-40e8-b8db-2e0f5ecc2581 .color-7,#chart-756a7c5f-a38b-40e8-b8db-2e0f5ecc2581 .color-7 a:visited{stroke:#ffd541;fill:#ffd541}#chart-756a7c5f-a38b-40e8-b8db-2e0f5ecc2581 .color-8,#chart-756a7c5f-a38b-40e8-b8db-2e0f5ecc2581 .color-8 a:visited{stroke:#7dcf30;fill:#7dcf30}#chart-756a7c5f-a38b-40e8-b8db-2e0f5ecc2581 .text-overlay .color-0 text{fill:black}#chart-756a7c5f-a38b-40e8-b8db-2e0f5ecc2581 .text-overlay .color-1 text{fill:black}#chart-756a7c5f-a38b-40e8-b8db-2e0f5ecc2581 .text-overlay .color-2 text{fill:black}#chart-756a7c5f-a38b-40e8-b8db-2e0f5ecc2581 .text-overlay .color-3 text{fill:black}#chart-756a7c5f-a38b-40e8-b8db-2e0f5ecc2581 .text-overlay .color-4 text{fill:black}#chart-756a7c5f-a38b-40e8-b8db-2e0f5ecc2581 .text-overlay .color-5 text{fill:black}#chart-756a7c5f-a38b-40e8-b8db-2e0f5ecc2581 .text-overlay .color-6 text{fill:black}#chart-756a7c5f-a38b-40e8-b8db-2e0f5ecc2581 .text-overlay .color-7 text{fill:black}#chart-756a7c5f-a38b-40e8-b8db-2e0f5ecc2581 .text-overlay .color-8 text{fill:black}
#chart-756a7c5f-a38b-40e8-b8db-2e0f5ecc2581 text.no_data{text-anchor:middle}#chart-756a7c5f-a38b-40e8-b8db-2e0f5ecc2581 .guide.line{fill:none}#chart-756a7c5f-a38b-40e8-b8db-2e0f5ecc2581 .centered{text-anchor:middle}#chart-756a7c5f-a38b-40e8-b8db-2e0f5ecc2581 .title{text-anchor:middle}#chart-756a7c5f-a38b-40e8-b8db-2e0f5ecc2581 .legends .legend text{fill-opacity:1}#chart-756a7c5f-a38b-40e8-b8db-2e0f5ecc2581 .axis.x text{text-anchor:middle}#chart-756a7c5f-a38b-40e8-b8db-2e0f5ecc2581 .axis.x:not(.web) text[transform]{text-anchor:start}#chart-756a7c5f-a38b-40e8-b8db-2e0f5ecc2581 .axis.x:not(.web) text[transform].backwards{text-anchor:end}#chart-756a7c5f-a38b-40e8-b8db-2e0f5ecc2581 .axis.y text{text-anchor:end}#chart-756a7c5f-a38b-40e8-b8db-2e0f5ecc2581 .axis.y text[transform].backwards{text-anchor:start}#chart-756a7c5f-a38b-40e8-b8db-2e0f5ecc2581 .axis.y2 text{text-anchor:start}#chart-756a7c5f-a38b-40e8-b8db-2e0f5ecc2581 .axis.y2 text[transform].backwards{text-anchor:end}#chart-756a7c5f-a38b-40e8-b8db-2e0f5ecc2581 .axis .guide.line{stroke-dasharray:4,4;stroke:black}#chart-756a7c5f-a38b-40e8-b8db-2e0f5ecc2581 .axis .major.guide.line{stroke-dasharray:6,6;stroke:black}#chart-756a7c5f-a38b-40e8-b8db-2e0f5ecc2581 .horizontal .axis.y .guide.line,#chart-756a7c5f-a38b-40e8-b8db-2e0f5ecc2581 .horizontal .axis.y2 .guide.line,#chart-756a7c5f-a38b-40e8-b8db-2e0f5ecc2581 .vertical .axis.x .guide.line{opacity:0}#chart-756a7c5f-a38b-40e8-b8db-2e0f5ecc2581 .horizontal .axis.always_show .guide.line,#chart-756a7c5f-a38b-40e8-b8db-2e0f5ecc2581 .vertical .axis.always_show .guide.line{opacity:1 !important}#chart-756a7c5f-a38b-40e8-b8db-2e0f5ecc2581 .axis.y .guides:hover .guide.line,#chart-756a7c5f-a38b-40e8-b8db-2e0f5ecc2581 .axis.y2 .guides:hover .guide.line,#chart-756a7c5f-a38b-40e8-b8db-2e0f5ecc2581 .axis.x .guides:hover .guide.line{opacity:1}#chart-756a7c5f-a38b-40e8-b8db-2e0f5ecc2581 .axis .guides:hover text{opacity:1}#chart-756a7c5f-a38b-40e8-b8db-2e0f5ecc2581 .nofill{fill:none}#chart-756a7c5f-a38b-40e8-b8db-2e0f5ecc2581 .subtle-fill{fill-opacity:.2}#chart-756a7c5f-a38b-40e8-b8db-2e0f5ecc2581 .dot{stroke-width:1px;fill-opacity:1;stroke-opacity:1}#chart-756a7c5f-a38b-40e8-b8db-2e0f5ecc2581 .dot.active{stroke-width:5px}#chart-756a7c5f-a38b-40e8-b8db-2e0f5ecc2581 .dot.negative{fill:transparent}#chart-756a7c5f-a38b-40e8-b8db-2e0f5ecc2581 text,#chart-756a7c5f-a38b-40e8-b8db-2e0f5ecc2581 tspan{stroke:none !important}#chart-756a7c5f-a38b-40e8-b8db-2e0f5ecc2581 .series text.active{opacity:1}#chart-756a7c5f-a38b-40e8-b8db-2e0f5ecc2581 .tooltip rect{fill-opacity:.95;stroke-width:.5}#chart-756a7c5f-a38b-40e8-b8db-2e0f5ecc2581 .tooltip text{fill-opacity:1}#chart-756a7c5f-a38b-40e8-b8db-2e0f5ecc2581 .showable{visibility:hidden}#chart-756a7c5f-a38b-40e8-b8db-2e0f5ecc2581 .showable.shown{visibility:visible}#chart-756a7c5f-a38b-40e8-b8db-2e0f5ecc2581 .gauge-background{fill:rgba(229,229,229,1);stroke:none}#chart-756a7c5f-a38b-40e8-b8db-2e0f5ecc2581 .bg-lines{stroke:#f0f0f0;stroke-width:2px}&lt;/style&gt;&lt;script type="text/javascript"&gt;window.pygal = window.pygal || {};window.pygal.config = window.pygal.config || {};window.pygal.config['756a7c5f-a38b-40e8-b8db-2e0f5ecc2581'] = {"allow_interruptions": false, "box_mode": "extremes", "classes": ["pygal-chart"], "css": ["file://style.css", "file://graph.css"], "defs": [], "disable_xml_declaration": false, "dots_size": 2.5, "dynamic_print_values": false, "explicit_size": false, "fill": false, "force_uri_protocol": "https", "formatter": null, "half_pie": false, "height": 600, "include_x_axis": false, "inner_radius": 0, "interpolate": null, "interpolation_parameters": {}, "interpolation_precision": 250, "inverse_y_axis": false, "js": ["//kozea.github.io/pygal.js/2.0.x/pygal-tooltips.min.js"], "legend_at_bottom": false, "legend_at_bottom_columns": null, "legend_box_size": 12, "logarithmic": false, "margin": 20, "margin_bottom": null, "margin_left": null, "margin_right": null, "margin_top": null, "max_scale": 16, "min_scale": 4, "missing_value_fill_truncation": "x", "no_data_text": "No data", "no_prefix": false, "order_min": null, "pretty_print": false, "print_labels": false, "print_values": false, "print_values_position": "center", "print_zeroes": true, "range": null, "rounded_bars": null, "secondary_range": null, "show_dots": true, "show_legend": true, "show_minor_x_labels": true, "show_minor_y_labels": true, "show_only_major_dots": false, "show_x_guides": false, "show_x_labels": true, "show_y_guides": true, "show_y_labels": true, "spacing": 10, "stack_from_top": false, "strict": false, "stroke": true, "stroke_style": null, "style": {"background": "#f0f0f0", "ci_colors": [], "colors": ["#00b2f0", "#43d9be", "#0662ab", "#00668a", "#98eadb", "#97d959", "#033861", "#ffd541", "#7dcf30", "#3ecdff", "#daaa00"], "dot_opacity": "1", "font_family": "Consolas, \"Liberation Mono\", Menlo, Courier, monospace", "foreground": "rgba(0, 0, 0, 0.9)", "foreground_strong": "rgba(0, 0, 0, 0.9)", "foreground_subtle": "rgba(0, 0, 0, 0.6)", "guide_stroke_color": "black", "guide_stroke_dasharray": "4,4", "label_font_family": "Consolas, \"Liberation Mono\", Menlo, Courier, monospace", "label_font_size": 10, "legend_font_family": "Consolas, \"Liberation Mono\", Menlo, Courier, monospace", "legend_font_size": 14, "major_guide_stroke_color": "black", "major_guide_stroke_dasharray": "6,6", "major_label_font_family": "Consolas, \"Liberation Mono\", Menlo, Courier, monospace", "major_label_font_size": 10, "no_data_font_family": "Consolas, \"Liberation Mono\", Menlo, Courier, monospace", "no_data_font_size": 64, "opacity": ".5", "opacity_hover": ".9", "plot_background": "#f8f8f8", "stroke_opacity": ".8", "stroke_opacity_hover": ".9", "stroke_width": "1", "stroke_width_hover": "4", "title_font_family": "Consolas, \"Liberation Mono\", Menlo, Courier, monospace", "title_font_size": 16, "tooltip_font_family": "Consolas, \"Liberation Mono\", Menlo, Courier, monospace", "tooltip_font_size": 14, "transition": "250ms ease-in", "value_background": "rgba(229, 229, 229, 1)", "value_colors": [], "value_font_family": "Consolas, \"Liberation Mono\", Menlo, Courier, monospace", "value_font_size": 16, "value_label_font_family": "Consolas, \"Liberation Mono\", Menlo, Courier, monospace", "value_label_font_size": 10}, "title": "Seconds to build (bigger is worse)", "tooltip_border_radius": 0, "tooltip_fancy_mode": true, "truncate_label": null, "truncate_legend": null, "width": 800, "x_label_rotation": 0, "x_labels": null, "x_labels_major": null, "x_labels_major_count": null, "x_labels_major_every": null, "x_title": null, "xrange": null, "y_label_rotation": 0, "y_labels": null, "y_labels_major": null, "y_labels_major_count": null, "y_labels_major_every": null, "y_title": null, "zero": 0, "legends": ["markdown", "kramdown", "rest", "pandoc", "commonmark", "mistune", "mistune+cython", "misaka", "html"]}&lt;/script&gt;&lt;script type="text/javascript" xlink:href="https://kozea.github.io/pygal.js/2.0.x/pygal-tooltips.min.js"&gt;&lt;/script&gt;&lt;/defs&gt;&lt;title&gt;Seconds to build (bigger is worse)&lt;/title&gt;&lt;g class="graph bar-graph vertical"&gt;&lt;rect x="0" y="0" width="800" height="600" class="background"&gt;&lt;/rect&gt;&lt;g transform="translate(193, 46)" class="plot"&gt;&lt;rect x="0" y="0" width="586.4" height="534" class="background"&gt;&lt;/rect&gt;&lt;g class="axis y always_show"&gt;&lt;g class="guides"&gt;&lt;path d="M0.000000 523.730769 h586.400000" class="axis major line"&gt;&lt;/path&gt;&lt;text x="-5" y="527.2307692307693" class="major"&gt;0&lt;/text&gt;&lt;title&gt;0&lt;/title&gt;&lt;/g&gt;&lt;g class="guides"&gt;&lt;path d="M0.000000 491.315268 h586.400000" class="guide line"&gt;&lt;/path&gt;&lt;text x="-5" y="494.81526806526807" class=""&gt;100&lt;/text&gt;&lt;title&gt;100&lt;/title&gt;&lt;/g&gt;&lt;g class="guides"&gt;&lt;path d="M0.000000 458.899767 h586.400000" class="guide line"&gt;&lt;/path&gt;&lt;text x="-5" y="462.3997668997669" class=""&gt;200&lt;/text&gt;&lt;title&gt;200&lt;/title&gt;&lt;/g&gt;&lt;g class="guides"&gt;&lt;path d="M0.000000 426.484266 h586.400000" class="guide line"&gt;&lt;/path&gt;&lt;text x="-5" y="429.98426573426576" class=""&gt;300&lt;/text&gt;&lt;title&gt;300&lt;/title&gt;&lt;/g&gt;&lt;g class="guides"&gt;&lt;path d="M0.000000 394.068765 h586.400000" class="guide line"&gt;&lt;/path&gt;&lt;text x="-5" y="397.56876456876455" class=""&gt;400&lt;/text&gt;&lt;title&gt;400&lt;/title&gt;&lt;/g&gt;&lt;g class="guides"&gt;&lt;path d="M0.000000 361.653263 h586.400000" class="major guide line"&gt;&lt;/path&gt;&lt;text x="-5" y="365.1532634032634" class="major"&gt;500&lt;/text&gt;&lt;title&gt;500&lt;/title&gt;&lt;/g&gt;&lt;g class="guides"&gt;&lt;path d="M0.000000 329.237762 h586.400000" class="guide line"&gt;&lt;/path&gt;&lt;text x="-5" y="332.73776223776224" class=""&gt;600&lt;/text&gt;&lt;title&gt;600&lt;/title&gt;&lt;/g&gt;&lt;g class="guides"&gt;&lt;path d="M0.000000 296.822261 h586.400000" class="guide line"&gt;&lt;/path&gt;&lt;text x="-5" y="300.3222610722611" class=""&gt;700&lt;/text&gt;&lt;title&gt;700&lt;/title&gt;&lt;/g&gt;&lt;g class="guides"&gt;&lt;path d="M0.000000 264.406760 h586.400000" class="guide line"&gt;&lt;/path&gt;&lt;text x="-5" y="267.90675990675993" class=""&gt;800&lt;/text&gt;&lt;title&gt;800&lt;/title&gt;&lt;/g&gt;&lt;g class="guides"&gt;&lt;path d="M0.000000 231.991259 h586.400000" class="guide line"&gt;&lt;/path&gt;&lt;text x="-5" y="235.49125874125878" class=""&gt;900&lt;/text&gt;&lt;title&gt;900&lt;/title&gt;&lt;/g&gt;&lt;g class="guides"&gt;&lt;path d="M0.000000 199.575758 h586.400000" class="major guide line"&gt;&lt;/path&gt;&lt;text x="-5" y="203.07575757575762" class="major"&gt;1000&lt;/text&gt;&lt;title&gt;1000&lt;/title&gt;&lt;/g&gt;&lt;g class="guides"&gt;&lt;path d="M0.000000 167.160256 h586.400000" class="guide line"&gt;&lt;/path&gt;&lt;text x="-5" y="170.66025641025647" class=""&gt;1100&lt;/text&gt;&lt;title&gt;1100&lt;/title&gt;&lt;/g&gt;&lt;g class="guides"&gt;&lt;path d="M0.000000 134.744755 h586.400000" class="guide line"&gt;&lt;/path&gt;&lt;text x="-5" y="138.24475524475525" class=""&gt;1200&lt;/text&gt;&lt;title&gt;1200&lt;/title&gt;&lt;/g&gt;&lt;g class="guides"&gt;&lt;path d="M0.000000 102.329254 h586.400000" class="guide line"&gt;&lt;/path&gt;&lt;text x="-5" y="105.8292540792541" class=""&gt;1300&lt;/text&gt;&lt;title&gt;1300&lt;/title&gt;&lt;/g&gt;&lt;g class="guides"&gt;&lt;path d="M0.000000 69.913753 h586.400000" class="guide line"&gt;&lt;/path&gt;&lt;text x="-5" y="73.41375291375294" class=""&gt;1400&lt;/text&gt;&lt;title&gt;1400&lt;/title&gt;&lt;/g&gt;&lt;g class="guides"&gt;&lt;path d="M0.000000 37.498252 h586.400000" class="major guide line"&gt;&lt;/path&gt;&lt;text x="-5" y="40.99825174825179" class="major"&gt;1500&lt;/text&gt;&lt;title&gt;1500&lt;/title&gt;&lt;/g&gt;&lt;/g&gt;&lt;g class="series serie-0 color-0"&gt;&lt;g class="bars"&gt;&lt;g class="bar"&gt;&lt;rect x="48.41558974358975" y="10.26923076923083" rx="0" ry="0" width="48.51582905982906" height="513.4615384615385" class="rect reactive tooltip-trigger"&gt;&lt;/rect&gt;&lt;desc class="value"&gt;1584&lt;/desc&gt;&lt;desc class="x centered"&gt;72.67350427350428&lt;/desc&gt;&lt;desc class="y centered"&gt;267.00000000000006&lt;/desc&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;g class="series serie-1 color-1"&gt;&lt;g class="bars"&gt;&lt;g class="bar"&gt;&lt;rect x="103.54721367521368" y="460.844696969697" rx="0" ry="0" width="48.51582905982906" height="62.886072261072286" class="rect reactive tooltip-trigger"&gt;&lt;/rect&gt;&lt;desc class="value"&gt;194&lt;/desc&gt;&lt;desc class="x centered"&gt;127.80512820512821&lt;/desc&gt;&lt;desc class="y centered"&gt;492.28773310023314&lt;/desc&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;g class="series serie-2 color-2"&gt;&lt;g class="bars"&gt;&lt;g class="bar"&gt;&lt;rect x="158.67883760683762" y="482.88723776223776" rx="0" ry="0" width="48.51582905982906" height="40.84353146853152" class="rect reactive tooltip-trigger"&gt;&lt;/rect&gt;&lt;desc class="value"&gt;126&lt;/desc&gt;&lt;desc class="x centered"&gt;182.93675213675215&lt;/desc&gt;&lt;desc class="y centered"&gt;503.3090034965035&lt;/desc&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;g class="series serie-3 color-3"&gt;&lt;g class="bars"&gt;&lt;g class="bar"&gt;&lt;rect x="213.81046153846154" y="488.07371794871796" rx="0" ry="0" width="48.51582905982906" height="35.65705128205133" class="rect reactive tooltip-trigger"&gt;&lt;/rect&gt;&lt;desc class="value"&gt;110&lt;/desc&gt;&lt;desc class="x centered"&gt;238.06837606837607&lt;/desc&gt;&lt;desc class="y centered"&gt;505.90224358974365&lt;/desc&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;g class="series serie-4 color-4"&gt;&lt;g class="bars"&gt;&lt;g class="bar"&gt;&lt;rect x="268.9420854700855" y="502.9848484848485" rx="0" ry="0" width="48.51582905982906" height="20.745920745920785" class="rect reactive tooltip-trigger"&gt;&lt;/rect&gt;&lt;desc class="value"&gt;64&lt;/desc&gt;&lt;desc class="x centered"&gt;293.20000000000005&lt;/desc&gt;&lt;desc class="y centered"&gt;513.3578088578089&lt;/desc&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;g class="series serie-5 color-5"&gt;&lt;g class="bars"&gt;&lt;g class="bar"&gt;&lt;rect x="324.07370940170944" y="512.7094988344988" rx="0" ry="0" width="48.51582905982906" height="11.021270396270438" class="rect reactive tooltip-trigger"&gt;&lt;/rect&gt;&lt;desc class="value"&gt;34&lt;/desc&gt;&lt;desc class="x centered"&gt;348.331623931624&lt;/desc&gt;&lt;desc class="y centered"&gt;518.2201340326341&lt;/desc&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;g class="series serie-6 color-6"&gt;&lt;g class="bars"&gt;&lt;g class="bar"&gt;&lt;rect x="379.20533333333333" y="513.3578088578089" rx="0" ry="0" width="48.51582905982906" height="10.372960372960392" class="rect reactive tooltip-trigger"&gt;&lt;/rect&gt;&lt;desc class="value"&gt;32&lt;/desc&gt;&lt;desc class="x centered"&gt;403.46324786324783&lt;/desc&gt;&lt;desc class="y centered"&gt;518.5442890442891&lt;/desc&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;g class="series serie-7 color-7"&gt;&lt;g class="bars"&gt;&lt;g class="bar"&gt;&lt;rect x="434.3369572649573" y="515.626893939394" rx="0" ry="0" width="48.51582905982906" height="8.103875291375289" class="rect reactive tooltip-trigger"&gt;&lt;/rect&gt;&lt;desc class="value"&gt;25&lt;/desc&gt;&lt;desc class="x centered"&gt;458.5948717948718&lt;/desc&gt;&lt;desc class="y centered"&gt;519.6788315850816&lt;/desc&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;g class="series serie-8 color-8"&gt;&lt;g class="bars"&gt;&lt;g class="bar"&gt;&lt;rect x="489.4685811965812" y="519.1925990675991" rx="0" ry="0" width="48.51582905982906" height="4.538170163170207" class="rect reactive tooltip-trigger"&gt;&lt;/rect&gt;&lt;desc class="value"&gt;14&lt;/desc&gt;&lt;desc class="x centered"&gt;513.7264957264957&lt;/desc&gt;&lt;desc class="y centered"&gt;521.4616841491842&lt;/desc&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;g class="titles"&gt;&lt;text x="400.0" y="26" class="title plot_title"&gt;Seconds to build (bigger is worse)&lt;/text&gt;&lt;/g&gt;&lt;g transform="translate(193, 46)" class="plot overlay"&gt;&lt;g class="series serie-0 color-0"&gt;&lt;/g&gt;&lt;g class="series serie-1 color-1"&gt;&lt;/g&gt;&lt;g class="series serie-2 color-2"&gt;&lt;/g&gt;&lt;g class="series serie-3 color-3"&gt;&lt;/g&gt;&lt;g class="series serie-4 color-4"&gt;&lt;/g&gt;&lt;g class="series serie-5 color-5"&gt;&lt;/g&gt;&lt;g class="series serie-6 color-6"&gt;&lt;/g&gt;&lt;g class="series serie-7 color-7"&gt;&lt;/g&gt;&lt;g class="series serie-8 color-8"&gt;&lt;/g&gt;&lt;/g&gt;&lt;g transform="translate(193, 46)" class="plot text-overlay"&gt;&lt;g class="series serie-0 color-0"&gt;&lt;/g&gt;&lt;g class="series serie-1 color-1"&gt;&lt;/g&gt;&lt;g class="series serie-2 color-2"&gt;&lt;/g&gt;&lt;g class="series serie-3 color-3"&gt;&lt;/g&gt;&lt;g class="series serie-4 color-4"&gt;&lt;/g&gt;&lt;g class="series serie-5 color-5"&gt;&lt;/g&gt;&lt;g class="series serie-6 color-6"&gt;&lt;/g&gt;&lt;g class="series serie-7 color-7"&gt;&lt;/g&gt;&lt;g class="series serie-8 color-8"&gt;&lt;/g&gt;&lt;/g&gt;&lt;g transform="translate(193, 46)" class="plot tooltip-overlay"&gt;&lt;g transform="translate(0 0)" style="opacity: 0" class="tooltip"&gt;&lt;rect rx="0" ry="0" width="0" height="0" class="tooltip-box"&gt;&lt;/rect&gt;&lt;g class="text"&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;g transform="translate(10, 56)" class="legends"&gt;&lt;g id="activate-serie-0" class="legend reactive activate-serie"&gt;&lt;rect x="0.0" y="1.0" width="12" height="12" class="color-0 reactive"&gt;&lt;/rect&gt;&lt;text x="17.0" y="11.2"&gt;markdown&lt;/text&gt;&lt;/g&gt;&lt;g id="activate-serie-1" class="legend reactive activate-serie"&gt;&lt;rect x="0.0" y="22.0" width="12" height="12" class="color-1 reactive"&gt;&lt;/rect&gt;&lt;text x="17.0" y="32.2"&gt;kramdown&lt;/text&gt;&lt;/g&gt;&lt;g id="activate-serie-2" class="legend reactive activate-serie"&gt;&lt;rect x="0.0" y="43.0" width="12" height="12" class="color-2 reactive"&gt;&lt;/rect&gt;&lt;text x="17.0" y="53.2"&gt;rest&lt;/text&gt;&lt;/g&gt;&lt;g id="activate-serie-3" class="legend reactive activate-serie"&gt;&lt;rect x="0.0" y="64.0" width="12" height="12" class="color-3 reactive"&gt;&lt;/rect&gt;&lt;text x="17.0" y="74.2"&gt;pandoc&lt;/text&gt;&lt;/g&gt;&lt;g id="activate-serie-4" class="legend reactive activate-serie"&gt;&lt;rect x="0.0" y="85.0" width="12" height="12" class="color-4 reactive"&gt;&lt;/rect&gt;&lt;text x="17.0" y="95.2"&gt;commonmark&lt;/text&gt;&lt;/g&gt;&lt;g id="activate-serie-5" class="legend reactive activate-serie"&gt;&lt;rect x="0.0" y="106.0" width="12" height="12" class="color-5 reactive"&gt;&lt;/rect&gt;&lt;text x="17.0" y="116.2"&gt;mistune&lt;/text&gt;&lt;/g&gt;&lt;g id="activate-serie-6" class="legend reactive activate-serie"&gt;&lt;rect x="0.0" y="127.0" width="12" height="12" class="color-6 reactive"&gt;&lt;/rect&gt;&lt;text x="17.0" y="137.2"&gt;mistune+cython&lt;/text&gt;&lt;/g&gt;&lt;g id="activate-serie-7" class="legend reactive activate-serie"&gt;&lt;rect x="0.0" y="148.0" width="12" height="12" class="color-7 reactive"&gt;&lt;/rect&gt;&lt;text x="17.0" y="158.2"&gt;misaka&lt;/text&gt;&lt;/g&gt;&lt;g id="activate-serie-8" class="legend reactive activate-serie"&gt;&lt;rect x="0.0" y="169.0" width="12" height="12" class="color-8 reactive"&gt;&lt;/rect&gt;&lt;text x="17.0" y="179.2"&gt;html&lt;/text&gt;&lt;/g&gt;&lt;/g&gt;&lt;g transform="translate(790, 56)" class="legends"&gt;&lt;/g&gt;&lt;/g&gt;&lt;/svg&gt;&lt;p&gt;There are just a few disadvantages to using any of the alternative Markdown compilers:&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;p&gt;They are less tested, because fewer people use them (and if you use them, that changes!)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;They may lack a specific feature of the "standard" markdown compiler, such as extension
support (in which case, &lt;a class="reference external" href="https://github.com/getnikola/issues"&gt;file a bug&lt;/a&gt; with us!)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The produced output may differ from the "standard", but that happens :-)&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;</description><guid>https://getnikola.com/blog/markdown-can-affect-performance.html</guid><pubDate>Tue, 18 Oct 2016 12:52:55 GMT</pubDate></item><item><title>Really Static Comments with Staticman</title><link>https://getnikola.com/blog/really-static-comments-with-staticman.html</link><dc:creator>Roberto Alsina</dc:creator><description>&lt;p&gt;Static sites have many advantages, we always say. But they also have at least one
large inherent disadvantage: they are not dynamic. Not being dynamic means that
forms that alter the content of the site itself are not possible without going
outside the static side of things.&lt;/p&gt;
&lt;p&gt;That's why for comments we all end up using something like &lt;a class="reference external" href="http://disqus.com"&gt;Disqus&lt;/a&gt;
or some other alternative service, or &lt;a class="reference external" href="http://posativ.org/isso"&gt;Isso&lt;/a&gt; if you
prefer the annoyance of self-hosting instead of the annoyance of having your data
be owned by someone else.&lt;/p&gt;
&lt;p&gt;So... how about a service that lets you do forms, but:&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;p&gt;You keep full control of your data&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The service doesn't limit what you can do with the data&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;You can use it for most things a form is used for?&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;It's free!&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;That service is called &lt;a class="reference external" href="https://staticman.net"&gt;Staticman&lt;/a&gt; and it's &lt;strong&gt;awesome&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;This is how it works:&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;p&gt;You put your site in GitHub (or soon, Gitlab!)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;You do &lt;a class="reference external" href="https://github.com/ralsina/staticman-data/blob/master/staticman.yml"&gt;some configuration&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;And Staticman will take the form's data, convert it to JSON, YAML, or whatever, and put
it back in your site's GitHub repo. You can choose whether it uses "moderation", and
do that via a pull request, or not, in which case it just commits directly.&lt;/p&gt;
&lt;p&gt;Nikola can then use those data files from its templates, like in &lt;a class="reference external" href="https://github.com/ralsina/staticman-data/blob/master/templates/post.tmpl"&gt;this example&lt;/a&gt; which displays a form to post comments, and a list of previous comments.&lt;/p&gt;
&lt;p&gt;Then, if you combine that with an autobuild system, like &lt;a class="reference external" href="https://getnikola.com/blog/automating-nikola-rebuilds-with-travis-ci.html"&gt;using Travis&lt;/a&gt; or &lt;a class="reference external" href="https://getnikola.com/blog/from-zero-to-nikola-in-one-minute-without-installing-anything.html"&gt;Netlify&lt;/a&gt; or &lt;a class="reference external" href="https://gitlab.com/pages/nikola"&gt;Gitlab&lt;/a&gt; that means a few seconds/minutes after the form is submitted, the data appears back in the site.&lt;/p&gt;
&lt;p&gt;So, what do we end up with? A site with comments, where you own all the data, and not even need to
use Javascript to display the comments!&lt;/p&gt;
&lt;p&gt;You can see it in action in this demo site: &lt;a class="reference external" href="http://staticman-demo.netlify.com/posts/sample-post-with-staticman-comments.html"&gt;staticman-demo.netlify.com&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;TODO:&lt;/strong&gt; submit the form via Javascript instead, so it does it in the background instead of
dumping JSON results on you.&lt;/p&gt;
&lt;p&gt;Have fun, leave a comment :-)&lt;/p&gt;</description><category>comments</category><category>netlify</category><category>nikola</category><category>staticman</category><guid>https://getnikola.com/blog/really-static-comments-with-staticman.html</guid><pubDate>Wed, 31 Aug 2016 12:51:07 GMT</pubDate></item><item><title>From Zero to Nikola in One Minute Without Installing Anything</title><link>https://getnikola.com/blog/from-zero-to-nikola-in-one-minute-without-installing-anything.html</link><dc:creator>Roberto Alsina</dc:creator><description>&lt;p&gt;Maybe slightly more than one minute, but it's close to that. Thanks to &lt;a class="reference external" href="http://netlify.com"&gt;netlify&lt;/a&gt; and &lt;a class="reference external" href="http://github.com"&gt;GitHub&lt;/a&gt; (or &lt;a class="reference external" href="http://gitlab.com"&gt;GitLab&lt;/a&gt; or
&lt;a class="reference external" href="http://bitbucket.org"&gt;Bitbucket&lt;/a&gt;) you can create, edit and publish a Nikola-based blog
without installing anything on your own computer.&lt;/p&gt;
&lt;p&gt;This gives you about 75% of the convenience of a hosted blogging solution while keeping
all the advantages of a static site, like data ownership, versioning and avoiding vendor
lockin.&lt;/p&gt;
&lt;p&gt;How to do it: you start by forking &lt;a class="reference external" href="https://github.com/getnikola/blog-template"&gt;this repo&lt;/a&gt;
and follow the steps in this video:&lt;/p&gt;
&lt;div width="100%" style="text-align: center;"&gt;
&lt;iframe width="854" height="480" src="https://www.youtube.com/embed/7Yg6HbwdRro" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;
&lt;/div&gt;&lt;p&gt;Keep in mind that this is not in any way a crippled version of Nikola, it has all the same features
as you would get installing it on your own device, you can add themes, plugins, image galleries,
etc by just adding things in your GitHub repository.&lt;/p&gt;
&lt;p&gt;You should be able to do this with your own site, as long as it's stored in a GitHub repository
and you add a &lt;a class="reference external" href="https://github.com/getnikola/blog-template/blob/master/requirements.txt"&gt;requirements.txt like this one&lt;/a&gt; to your root directory.&lt;/p&gt;
&lt;p&gt;So, a big round of applause for &lt;a class="reference external" href="http://netlify.com"&gt;netlify&lt;/a&gt; for an awesome service!&lt;/p&gt;</description><guid>https://getnikola.com/blog/from-zero-to-nikola-in-one-minute-without-installing-anything.html</guid><pubDate>Tue, 30 Aug 2016 12:09:48 GMT</pubDate></item><item><title>Nikola v7.8.0 is out!</title><link>https://getnikola.com/blog/nikola-v780-is-out.html</link><dc:creator>Roberto Alsina</dc:creator><description>&lt;p&gt;On behalf of the Nikola team, I am pleased to announce the immediate availability of Nikola v7.8.0. It fixes some bugs and adds new features.&lt;/p&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: https://getnikola.com/&lt;/p&gt;
&lt;h2&gt;Downloads&lt;/h2&gt;
&lt;p&gt;Install using &lt;code&gt;pip install Nikola&lt;/code&gt; or download tarballs on &lt;a href="https://github.com/getnikola/nikola/releases/tag/v7.8.0"&gt;GitHub&lt;/a&gt; and &lt;a href="https://pypi.python.org/pypi/Nikola/7.8.0"&gt;PyPI&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;Changes&lt;/h2&gt;
&lt;h3&gt;Features&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Exposed &lt;code&gt;gist&lt;/code&gt; as a shortcode (Issue #2459)&lt;/li&gt;
&lt;li&gt;Always copy source files for listings (Issue #2473)&lt;/li&gt;
&lt;li&gt;Detect dependencies in template strings (Issue #2455)&lt;/li&gt;
&lt;li&gt;RSS feeds for sections (Issue #2068)&lt;/li&gt;
&lt;li&gt;New &lt;code&gt;data&lt;/code&gt; metadata that loads data from external files (Issue #2450)&lt;/li&gt;
&lt;li&gt;Shortcode to escape to the template language (Issue #1227)&lt;/li&gt;
&lt;li&gt;Added link to raw file in listings (Issue #1995)&lt;/li&gt;
&lt;li&gt;New NO_DOCUTILS_TITLE_TRANSFORM (Issue #2382)&lt;/li&gt;
&lt;li&gt;Update options of chart directive to Pygal 2.2.3&lt;/li&gt;
&lt;li&gt;Pass global context to template shortcodes (Issue #2424)&lt;/li&gt;
&lt;li&gt;Added new options --html2text and --transform-to-markdown
  to WordPress importer (Issue #2261)&lt;/li&gt;
&lt;li&gt;Listing: guess the lexer if cannot be determined from the file name.&lt;/li&gt;
&lt;li&gt;Read files from data/ and insert data in global context (Issue #2477)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Bugfixes&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Added link to sources in the output of listing directive (Issue #2472)&lt;/li&gt;
&lt;li&gt;Fix Windows crash with calendar locales (Issue #2332)&lt;/li&gt;
&lt;li&gt;Remove the (useless) &lt;code&gt;&amp;lt;base&amp;gt;&lt;/code&gt; tag by default; change conf.py to
  opt in (Issue #2471)&lt;/li&gt;
&lt;li&gt;Show tag descriptions when TAG_PAGES_ARE_INDEXES is True (Issue #2444)&lt;/li&gt;
&lt;li&gt;Record template dependencies for post-list shortcut (Issue #2451)&lt;/li&gt;
&lt;li&gt;Default to English for docutils messages if no translations exist
  (Issues #2422, #2437)&lt;/li&gt;
&lt;/ul&gt;</description><category>nikola</category><category>planet</category><category>programming</category><category>python</category><category>release</category><guid>https://getnikola.com/blog/nikola-v780-is-out.html</guid><pubDate>Mon, 29 Aug 2016 12:50:41 GMT</pubDate></item><item><title>Nikola v7.7.7 is out!</title><link>https://getnikola.com/blog/nikola-v777-is-out.html</link><dc:creator>Roberto Alsina</dc:creator><description>&lt;p&gt;On behalf of the Nikola team, I am pleased to announce the immediate availability of Nikola v7.7.7. It fixes some bugs and adds new features.&lt;/p&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: https://getnikola.com/&lt;/p&gt;
&lt;h2&gt;Downloads&lt;/h2&gt;
&lt;p&gt;Install using &lt;code&gt;pip install Nikola&lt;/code&gt; or download tarballs on &lt;a href="https://github.com/getnikola/nikola/releases/tag/v7.7.7"&gt;GitHub&lt;/a&gt; and &lt;a href="https://pypi.python.org/pypi/Nikola/7.7.7"&gt;PyPI&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;Changes&lt;/h2&gt;
&lt;h3&gt;Features&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;New &lt;code&gt;--one-file&lt;/code&gt; option to wordpress importer (Issue #2262)&lt;/li&gt;
&lt;li&gt;New Pygal-based chart shortcode (Issue #2170)&lt;/li&gt;
&lt;li&gt;Add &lt;code&gt;post_type&lt;/code&gt; to post-list directive (Issue #2272)&lt;/li&gt;
&lt;li&gt;Use &lt;code&gt;sys.executable&lt;/code&gt; for launching pip in &lt;code&gt;plugin&lt;/code&gt; (Issue #2275)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Bugfixes&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Fix Indonesian translation (Issue #2291)&lt;/li&gt;
&lt;li&gt;Fix a JSON conversion bug in the WordPress importer (Issue #2264)&lt;/li&gt;
&lt;li&gt;Don’t create download directories when not downloading WordPress
  attachments (Issue #2260)&lt;/li&gt;
&lt;li&gt;Don’t display "Good link" messages in &lt;code&gt;nikola check -l&lt;/code&gt; by default,
  can be re-enabled with &lt;code&gt;-v&lt;/code&gt; option (Issue #2268)&lt;/li&gt;
&lt;li&gt;Fix a format string in &lt;code&gt;nikola check&lt;/code&gt; (Issue #2267)&lt;/li&gt;
&lt;li&gt;Don't crash wordpress importer when posts are "empty" (Issue #2263)&lt;/li&gt;
&lt;li&gt;Don't put untranslated and nonexistent posts in sitemap (Issue #2289)&lt;/li&gt;
&lt;/ul&gt;</description><category>nikola</category><category>planet</category><category>programming</category><category>python</category><category>release</category><guid>https://getnikola.com/blog/nikola-v777-is-out.html</guid><pubDate>Thu, 10 Mar 2016 17:16:24 GMT</pubDate></item><item><title>Nikola v7.7.6 is out!</title><link>https://getnikola.com/blog/nikola-v776-is-out.html</link><dc:creator>Roberto Alsina</dc:creator><description>&lt;p&gt;On behalf of the Nikola team, I am pleased to announce the immediate availability of Nikola v7.7.6. It fixes some bugs and adds new features.&lt;/p&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: https://getnikola.com/&lt;/p&gt;
&lt;p&gt;This is a bugfix release, fixing a critical error in version 7.7.5's support for IPython/Jupyter notebooks.
If you had upgraded Nikola to version 7.7.5 and suddenly got errors or empty pages for your notebooks, 
upgrade to 7.7.6 and run &lt;code&gt;nikola build -a&lt;/code&gt; to get everything in order.&lt;/p&gt;
&lt;p&gt;Really sorry!&lt;/p&gt;
&lt;h2&gt;Downloads&lt;/h2&gt;
&lt;p&gt;Install using &lt;code&gt;pip install Nikola&lt;/code&gt; or download tarballs on &lt;a href="https://github.com/getnikola/nikola/releases/tag/v7.7.6"&gt;GitHub&lt;/a&gt; and &lt;a href="https://pypi.python.org/pypi/Nikola/7.7.6"&gt;PyPI&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;Changes&lt;/h2&gt;
&lt;h3&gt;Features&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Add &lt;code&gt;FRONT_INDEX_HEADER&lt;/code&gt; setting to allow adding greeting notices
  to the main index page (Issue #2249)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Bugfixes&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Make Jupyter posts build (Issues #2248, #2252)&lt;/li&gt;
&lt;/ul&gt;</description><category>nikola</category><category>planet</category><category>programming</category><category>python</category><category>release</category><guid>https://getnikola.com/blog/nikola-v776-is-out.html</guid><pubDate>Wed, 17 Feb 2016 18:47:19 GMT</pubDate></item></channel></rss>