Releases: getnikola/nikola
v8.3.1
On behalf of the Nikola team, I am pleased to announce the immediate availability of Nikola v8.3.1. This release fixes some small bugs, including some introduced by the new Nikola Plugin Manager.
The minimum Python version supported is now 3.8, and we have adopted a formal policy to define the Python versions supported by Nikola.
What is Nikola?
Nikola is a static site and blog generator, written in Python.
It can use Mako and Jinja2 templates, and input in many popular markup formats, such as reStructuredText and Markdown — and can even turn Jupyter Notebooks into blog posts! It also supports image galleries, and is multilingual. Nikola is flexible, and page builds are extremely fast, courtesy of doit (which is rebuilding only what has been changed).
Find out more at the website: https://getnikola.com/
Downloads
Install using pip install Nikola
.
Changes
Features
- Support passing
--poll
tonikola auto
to better deal with symlink farms.
Bugfixes
- Remove insecure HTTP fallback from
nikola plugin
- Fix the
nikola plugin
command not working (Issue #3736, #3737) - Fix
nikola new_post --available-formats
crashing with TypeError (Issue #3750) - Fix the new plugin manager not loading plugins if the plugin folder is a symlink (Issue #3741)
- Fix the
nikola plugin
command not working (Issue #3736) - Remove no longer used leftovers of annotations support (Issue #3764)
Other
- Nikola now requires Python 3.8 or newer.
- Nikola has adopted a policy for Python version support, promising support for versions supported by the Python core team, Ubuntu LTS, or Debian stable, and taking into consideration Debian oldstable and PyPy.
- Remove polyfill from
polyfill.io
.
v8.3.0
On behalf of the Nikola team, I am pleased to announce the immediate availability of Nikola v8.3.0. This release adds support for Python 3.12, with some other features and bugfixes.
Note that Nikola v8.3.0 no longer uses the Yapsy plugin manager, which has been replaced by a custom, minimal manager. The new Nikola Plugin Manager was tested with some typical plugins, but there might be issues if your plugins have an unusual structure or are outdated. Please update your plugins and report any bugs you may encounter.
The Nikola developers would also like to express discontent with Python’s efforts to remove features from the standard library, causing breakage without a solid reason, other than “it’s old”.
What is Nikola?
Nikola is a static site and blog generator, written in Python.
It can use Mako and Jinja2 templates, and input in many popular markup formats, such as reStructuredText and Markdown — and can even turn Jupyter Notebooks into blog posts! It also supports image galleries, and is multilingual. Nikola is flexible, and page builds are extremely fast, courtesy of doit (which is rebuilding only what has been changed).
Find out more at the website: https://getnikola.com/
Downloads
Install using pip install Nikola
.
Changes
Features
- Implement a new plugin manager from scratch to replace Yapsy,
which does not work on Python 3.12 due to Python 3.12 carelessly
removing parts of the standard library (Issue #3719) - Support for Discourse as comment system (Issue #3689)
Bugfixes
- Fix loading of templates from plugins with
__init__.py
files (Issue #3725) - Fix margins of paragraphs at the end of sections (Issue #3704)
- Ignore
.DS_Store
files in listing indexes (Issue #3698) - Fix baguetteBox.js invoking in the base theme (Issue #3687)
- Fix development (preview) server
nikola auto
for non-root SITE_URL, in particular when URL_TYPE is full_path. (Issue #3715)
For plugin developers
Nikola now requires the .plugin
file to contain a [Nikola]
section with a PluginCategory
entry set to the name of the plugin category class. This was already required by plugins.getnikola.com
, but you may have custom plugins that don’t have this set.
v8.2.4
On behalf of the Nikola team, I am pleased to announce the immediate availability of Nikola v8.2.3. This release comes with some new features and a handful of bug fixes.
What is Nikola?
Nikola is a static site and blog generator, written in Python.
It can use Mako and Jinja2 templates, and input in many popular markup formats, such as reStructuredText and Markdown — and can even turn Jupyter Notebooks into blog posts! It also supports image galleries, and is multilingual. Nikola is flexible, and page builds are extremely fast, courtesy of doit (which is rebuilding only what has been changed).
Find out more at the website: https://getnikola.com/
Downloads
Install using pip install Nikola
.
Changes
Features
- Add a
-q
,--ignore-query-strings
option to ignore query strings for internal links, allowing their use for cache busting - Update reST stylesheets (Issue #3657)
- Add a
--timeout
parameter to thecheck
plugin, defaulting to 30s. (Issue #3643) - GZIP compression is now deterministic for automatic deploys (Issue #3650)
Bugfixes
- Fix failures to build with a "Document is empty" error in default themes (Issue #3679)
- Fix
PAGE_INDEX
skipping generation when there exists a conflicting post - Fix RSS generation of galleries containing WebP images, which caused an unhandled exception due to not having a known MIME type (Issue #3671)
- Fix
auto
command infinite loop (Issue #3677) - Fix API URL in CSS and JS minifiers (Issue #3658)
- Fix
:align: center
for images in reST (Issue #3657) GZIP_COMMAND
parsing onwin32
platforms (Issue #3649)
v8.2.3
On behalf of the Nikola team, I am pleased to announce the immediate availability of Nikola v8.2.3. This is a bugfix release, which fixes compatibility with python-markdown and two more minor bugs.
What is Nikola?
Nikola is a static site and blog generator, written in Python.
It can use Mako and Jinja2 templates, and input in many popular markup formats, such as reStructuredText and Markdown — and can even turn Jupyter Notebooks into blog posts! It also supports image galleries, and is multilingual. Nikola is flexible, and page builds are extremely fast, courtesy of doit (which is rebuilding only what has been changed).
Find out more at the website: https://getnikola.com/
Downloads
Install using pip install Nikola
.
Changes
- Compatibility with Markdown 3.4.0 (Issue #3635)
- Find substring in string instead of using
contains
in utils - Don't add semicolon in docinfo fields via CSS (caused duplicated semicolons)
Nikola now requires Python 3.7 or newer.
v8.2.2
On behalf of the Nikola team, I am pleased to announce the immediate availability of Nikola v8.2.2. This is a bugfix release, whose only change is support for the latest version of Pygments.
What is Nikola?
Nikola is a static site and blog generator, written in Python.
It can use Mako and Jinja2 templates, and input in many popular markup formats, such as reStructuredText and Markdown — and can even turn Jupyter Notebooks into blog posts! It also supports image galleries, and is multilingual. Nikola is flexible, and page builds are extremely fast, courtesy of doit (which is rebuilding only what has been changed).
Find out more at the website: https://getnikola.com/
Downloads
Install using pip install Nikola
.
Changes
v8.2.1
On behalf of the Nikola team, I am pleased to announce the immediate availability of Nikola v8.2.1. This is a minor release with a couple new features, as well as fixes for compatibility with the latest version of doit.
What is Nikola?
Nikola is a static site and blog generator, written in Python.
It can use Mako and Jinja2 templates, and input in many popular markup formats, such as reStructuredText and Markdown — and can even turn Jupyter Notebooks into blog posts! It also supports image galleries, and is multilingual. Nikola is flexible, and page builds are extremely fast, courtesy of doit (which is rebuilding only what has been changed).
Find out more at the website: https://getnikola.com/
Downloads
Install using pip install Nikola
.
Changes
Features
- Add
emphasize_lines
directive to code blocks (Issue #3607) - Gallery index pages support the
status
flag (Issue #3598) - Add
start_at
option to youtube directive (Issue #3603)
Bugfixes
Note: nikola doit_auto
is not available if using doit>=0.36.0
. You can still use nikola auto
.
v8.2.0
On behalf of the Nikola team, I am pleased to announce the immediate availability of Nikola v8.2.0. This release includes some new features as well as a bunch of bugfixes.
What is Nikola?
Nikola is a static site and blog generator, written in Python.
It can use Mako and Jinja2 templates, and input in many popular markup formats, such as reStructuredText and Markdown — and can even turn Jupyter Notebooks into blog posts! It also supports image galleries, and is multilingual. Nikola is flexible, and page builds are extremely fast, courtesy of doit (which is rebuilding only what has been changed).
Find out more at the website: https://getnikola.com/
Downloads
Install using pip install Nikola
.
Changes
Features
- Add
category_titles
,category_descriptions
,tag_titles
,tag_descriptions
to default context of tags page (Issue #3584) - Add Maori translation
- Add Occitan translation
- New
auto_command_starting
signal whennikola auto
is starting typogrify_custom
filter adds a default value fortypogrify_filters
so thatignore_tags
can be specified as the only option.- The default
ignore_tags
are appended to the user-suppliedignore_tags
added viatypogrify_custom
. - Allow adding comment systems from a plugin (Issue #3544)
- New
CommentSystem
plugin category (Issue #3544)
Bugfixes
- Fix changes to
INDEX_READ_MORE_LINK
andFEED_READ_MORE_LINK
not triggering rebuilds - Make
CATEGORY_TITLES
,CATEGORY_DESCRIPTIONS
,TAG_TITLES
,TAG_DESCRIPTIONS
translatable settings for consistency (Issue #3584) - Fix bug with posts after the first one appearing shifted due to a
<div>
closed too early (Issue #3573, #3564) - Fix support for files outside of site root directory on Windows
- Support passing
--backend
and--db-file
tonikola auto
- Support blank values in certain WordPress-imported structures (Issue #3535)
- Typogrify ignores
div
elements with.math
CSS class. (Issue #3512) - Adjust panorama aspect ratio to 3:1 and document behaviour.
v8.1.3
On behalf of the Nikola team, I am pleased to announce the immediate availability of Nikola v8.1.3. This release has some minor fixes, and a minor dependency change.
What is Nikola?
Nikola is a static site and blog generator, written in Python.
It can use Mako and Jinja2 templates, and input in many popular markup formats, such as reStructuredText and Markdown — and can even turn Jupyter Notebooks into blog posts! It also supports image galleries, and is multilingual. Nikola is flexible, and page builds are extremely fast, courtesy of doit (which is rebuilding only what has been changed).
Find out more at the website: https://getnikola.com/
Downloads
Install using pip install Nikola
.
Changes
Features
- Provide the full
GLOBAL_CONTEXT
to the post list shortcode plugin (Issue #3481) - Add
BasePlugin.register_auto_watched_folder()
- Allow different
PANDOC_OPTIONS
values based on input extensions by specifying a dict of{".extension": [options]}
(Issue #3492) - Allow boolean/integer
pretty_url
post meta values in YAML/TOML (Issue #3503)
Bugfixes
- Fix an
UnboundLocalError
crash innikola deploy
(Issue #3479)
Other
- For
nikola github_deploy
, theghp-import
PyPI package is now recommended instead ofghp-import2
. Both versions should work, but you can’t have both installed at the same time. (Issue #3499)
v8.1.2
On behalf of the Nikola team, I am pleased to announce the immediate availability of Nikola v8.1.2. This release has a bunch of new features, fixes some bugs, and improves compatibility with some dependencies and Windows.
What is Nikola?
Nikola is a static site and blog generator, written in Python.
It can use Mako and Jinja2 templates, and input in many popular markup formats, such as reStructuredText and Markdown — and can even turn Jupyter Notebooks into blog posts! It also supports image galleries, and is multilingual. Nikola is flexible, and page builds are extremely fast, courtesy of doit (which is rebuilding only what has been changed).
Find out more at the website: https://getnikola.com/
Downloads
Install using pip install Nikola
.
Changes
Features
- Support for multiple authors per post — comma-separated, enabled by
MULTIPLE_AUTHORS_PER_POST
setting (Issue #3252) - Add
navbar_custom_bg
theme option tobootstrap4
and document options forbootstrap4
better (Issue #3443) - Add Marathi translation
- Restore
caps
typogrify filter (wraps strings of capital letters with<span class="caps">
(via Issue #3405) - Improve
nikola auto
performance with rate-limiting, support-n
argument to pass tonikola build
(Issue #3401) - Add support for the Utterances comment system
Bugfixes
- Fix previewimages (post- and root-relative) in bootblog4/galleries featured posts for non-server-root sites (Issue #3471)
- Windows: Also fix symlinks when installing from source with pip; if possible, enable Developer Mode and run
git config --global core.symlinks true
before cloning the Nikola repo - Fix clicking on links to image files. baguetteBox now requires a link (
<a>
) to have an<img>
as a child in order to make the link activate the lightbox. (Issue #3472) - Fix
LINK_CHECK_WHITELIST
having issues due to mixing Unicode and bytestrings (Issue #3466) - Add support for
nbconvert>=6.0.0
(Issue #3457) - Read files as utf-8-sig to allow BOM in input files
- Don’t break slugs with slashes in
doc
directive (Issue #3450) - Avoid warnings from type annotations in
auto
caused by missingaiohttp
(Issue #3451) - Ensure query strings and fragments are kept with
URL_TYPE = "full_path"
(Issue #3448) - Don’t run typogrify filters on
<title>
tag to avoid adding extra tags (Issue #3405) - Fix handling of duplicate plugins on Windows
- Allow else clause in post-list plugin. (Issue #3436)
- Ensure
type
metadata value from plugins is preserved (Issue 3445) - Fix path handlers with slashes on Windows
v8.1.1
On behalf of the Nikola team, I am pleased to announce the immediate availability of Nikola v8.1.1. This release is mainly due to an incorrect PGP key being used for the PyPI artifacts; three regressions were also fixed in this release.
What is Nikola?
Nikola is a static site and blog generator, written in Python.
It can use Mako and Jinja2 templates, and input in many popular markup formats, such as reStructuredText and Markdown — and can even turn Jupyter Notebooks into blog posts! It also supports image galleries, and is multilingual. Nikola is flexible, and page builds are extremely fast, courtesy of doit (which is rebuilding only what has been changed).
Find out more at the website: https://getnikola.com/
Downloads
Install using pip install Nikola
.