A static website and blog generator
On behalf of the Nikola team, I am pleased to announce the immediate availability of Nikola v8.0.4. This release fixes a few small bugs, including a date glitch that appeared around New Year’s Eve.
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/
Install using pip install Nikola
.
Nikola now supports Python 3.5 or newer. If you are on 3.4, please upgrade to a newer release of Python.
CATEGORY_PAGES_FOLLOW_DESTPATH
yyyy-MM-dd
to avoid bug with ISO years (Issue #3337)extra_header
and extra_footer
from base
theme due to incompatibility with Mako. The blocks are still available in bootstrap4
and bootblog4
. (Issue #3319 via #3291)conf.py
cannot be importedFILE_METADATA_REGEXP
is set, load metadata from the filename first, then continue with the other sources (Issue #3344)On behalf of the Nikola team, I am pleased to announce the immediate availability of Nikola v8.0.3. This release fixes a few bugs, including a notable one with galleries not working on mobile.
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/
Install using pip install Nikola
.
extra_header
and extra_footer
blocks to templates (Issue #3291)REST_FILE_INSERTION_ENABLED
config option to enable or disable reST external file inclusion directives (Issue #3311)<code>
tag for double backticks in reST (Issue #3276)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.
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/
Install using pip install Nikola
. (Python 3-only since v8.0.0.)
ARCHIVE_PATH
, ARCHIVE_FILENAME
translatable (Issue #3234)GLOBAL_CONTEXT['isso_config']
(Issue #3225)default_metadata
before copying it to other languagesnikola new_post
receives directory name as path (Issue #3207)nikola serve
only if there isn’t one before ?
published
explicitly (Issue #3181)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.
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/
Install using pip install Nikola
. (Python 3-only since v8.0.0.)
nikola auto
and nikola serve
clickable (Issue #3166)nikola version --check
work again (Issue #3170)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.
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/
Install using pip install Nikola==8.0.0
.
If you want to upgrade to Nikola v8, make sure to read the Upgrading blog post.
crumbs.tmpl
to ui_helper.tmpl
and the breadcrumbs bar
function to breadcrumbs
(your templates may need changing as well)post.is_mathjax
to post.has_math
. Themes using post.is_mathjax
must be updated; it is recommended that they are changed to use math_helper.tmpl
.USE_REST_DOCINFO_METADATA
now (Issue #2987)RSS_PATH
behavior changes (you may need to change RSS_PATH
, RSS_FILENAME_BASE
)<a class="reference">
(instead of image-reference
) to activate the lightbox nowBABEL_FORMAT
(Issues #2606, 3121)USE_REST_DOCINFO_METADATA
is enabled (Issues #2382, #3124)updated
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.DATE_FANCINESS
option.THEME_CONFIG['navbar_light']
(Issue #2863)nikola serve
can't find a file (i.e. when an 404 error occurs).nikola plugin
and nikola theme
(Issue getnikola/plugins#282)DATE_FORMAT
formats to CLDR formats (Issue #2606)NAVIGATION_ALT_LINKS
option, displayed on the right side in bootstrap4/bootblog4 (Issue #3030)THEME_CONFIG
setting that themes can use in any wayyoutube
reST directive and improve the appearance of the playerDISABLE_MAIN_ATOM_FEED
setting (Issue #3016, Issue #3039)ATOM_FILENAME_BASE
setting (defaults to index
for existing sites, but feed
for new sites) (Issue #3016)CATEGORY_DESTPATH_AS_DEFAULT
, CATEGORY_DESTPATH_TRIM_PREFIX
, CATEGORY_DESTPATH_FIRST_DIRECTORY_ONLY
settings, as part of replacing sections with categories (Issue #2833)draft
, private
and mathjax
are no longer treated special if USE_TAG_METADATA
is set to False
(default for new sites) (Issue #2761)draft
and private
tags with a status
meta field (supports published
, featured
, draft
, private
) and mathjax
with .. has_math: yes
(Issue #2761)TAG_PAGES_TITLES
→ TAG_TITLES
, TAG_PAGES_DESCRIPTIONS
→ TAG_DESCRIPTIONS
.CATEGORY_PAGES_TITLES
→ CATEGORY_TITLES
, CATEGORY_PAGES_DESCRIPTIONS
→ CATEGORY_DESCRIPTIONS
.metadata.yml
file (Issue #3017, Issue #3050, Issue #2837)ATOM_PATH
setting (Issue #2971)crumbs
available to all pagesRSS_EXTENSION
, ATOM_EXTENSION
settings (Issue #3041)RSS_FILENAME_BASE
setting (Issue #3041)METADATA_VALUE_MAPPING
setting to allow for flexible global modification of metadata (Issue #3025)smartjoin
template function/filter that joins lists and leaves strings as-is (Issue #3025)flowr.js
with justified-layout.js
by Flickr (does not require jQuery!)bootblog4
is the new default theme (Issue #2964)bootstrap4
and bootblog4
themes (Issue #2964)thumbnail
shortcode similar to the reStructuredText thumbnail
directive (via Issue #2809)nikola auto
with asyncio and aiohttp (Issue #2850)listings
shortcode similar to the reStructuredText listings directive (Issue #2868)html4css1.css
in favor of rst_base.css
(Issue #2874)MetadataExtractor
plugins that allow custom, extensible metadata extraction from posts (Issue #2830)UNSLUGIFY_TITLES
→ FILE_METADATA_UNSLUGIFY_TITLES
(Issue #2840)NIKOLA_SHOW_TRACEBACKS
environment variable that shows full tracebacks instead of one-line summariesPRETTY_URLS
by default on all sites (Issue #1838)BLOG_EMAIL
to global context to make it available for templates (Issue #2968)USE_REST_DOCINFO_METADATA
is disabled (Issue #3124)NO_DOCUTILS_TITLE_TRANSFORM
setting, this is now default behavior if USE_REST_DOCINFO_METADATA
is disabled (Issue #2382, #3124)nikola auto
(Issue #3140)nikola auto
(Issue #3119)MARKDOWN_EXTENSION_CONFIGS
properly (Issue #2970).DS_Store
when processing listings (Issue #3099)bootblog4
on mobile (Issue #3069)smartjoin
more flexible (Issue #3080)CATEGORY_DESTPATH_NAMES
with pages following destpathCATEGORY_PAGES_FOLLOW_DESTPATH
more resilient (Issue #3081)USE_FILENAME_AS_TITLE
in galleries with a meta fileFEED_LENGTH
for Atom feedsDISABLE_INDEXES_PLUGIN_INDEX_AND_ATOM_FEED
to DISABLE_INDEXES
and DISABLE_INDEXES_PLUGIN_RSS_FEED
to DISABLE_MAIN_RSS_FEED
(Issue #3039)nikola serve
(Issue #3000)SHOW_INDEX_PAGE_NAVIGATION
with Jinja templates (Issue #2960)auto
running on all platforms (Issue #2940)<pre>
blocks (Issue #2939)link://
magic URLs (Issue #2934)SCHEDULE_ALL
to posts only (Issue #2921)slug
magic linksadd_header_permalinks
or deduplicate_ids
are used.html
posts (Issue #2851)github_deploy
(Issue #2847)new_post
failsThe following settings have been removed. Nikola will now always behave as if the value was what is displayed afer the setting name.
FEED_PREVIEWIMAGE = True
SITEMAP_INCLUDE_FILELESS_DIRS = True
USE_OPEN_GRAPH = True
USE_BASE_TAG = False
googleplus
comments (no longer supported) (Issue #635)nikola install_theme
— use nikola theme
insteadalso_create_classifications_from_other_languages
(Issue #2785) and generate_atom_feeds_for_post_lists
(Issue #3016)tag_cloud_data.json
generation to a separate tagcloud
plugin (Issue #1696)webassets
library is no longer required, we now manually bundle files (Issue #3074)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.
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/
Install using pip install Nikola==8.0.0rc1
.
If you want to upgrade to Nikola v8, make sure to read the Upgrading blog post.
updated
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.DATE_FANCINESS
option.THEME_CONFIG['navbar_light']
(Issue #2863)USE_REST_DOCINFO_METADATA
is disabled (Issue #3124)NO_DOCUTILS_TITLE_TRANSFORM
setting, this is now default behavior if USE_REST_DOCINFO_METADATA
is disabled (Issue #2382, #3124)nikola auto
(Issue #3140)tag_cloud_data.json
generation to a separate tagcloud
plugin (Issue #1696)webassets
library is no longer required, we now manually bundle files (Issue #3074)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.
Many themes in our Index have been ported for Nikola v8, but some of them are not yet there.
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/
Install using pip install Nikola==8.0.0b3
.
If you want to upgrade to Nikola v8, make sure to read the Upgrading blog post.
nikola serve
can't find a file (i.e. when an 404 error occurs).nikola plugin
and nikola theme
(Issue getnikola/plugins#282)DATE_FORMAT
formats to CLDR formats (Issue #2606)nikola auto
(Issue #3119)MARKDOWN_EXTENSION_CONFIGS
properly (Issue #2970).DS_Store
when processing listings (Issue #3099)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)
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.
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/
Install using pip install Nikola==8.0.0.b2
.
<a class="reference">
(instead of image-reference
) to activate the lightbox nowNAVIGATION_ALT_LINKS
option, displayed on the right side in bootstrap4/bootblog4 (Issue #3030)THEME_CONFIG
setting that themes can use in any wayyoutube
reST directive and improve the appearance of the playerFeatured post details: https://getnikola.com/handbook.html#featured-posts
bootblog4
on mobile (Issue #3069)smartjoin
more flexible (Issue #3080)CATEGORY_DESTPATH_NAMES
with pages following destpathCATEGORY_PAGES_FOLLOW_DESTPATH
more resilient (Issue #3081)USE_FILENAME_AS_TITLE
in galleries with a meta fileOn behalf of the Nikola team, I am pleased to announce the immediate availability of Nikola v8.0.0b1.
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.
Nikola is a static site and blog generator, written in Python. It can use Mako and Jinja2 templates, and input in many popular markup formats, such as reStructuredText and Markdown — and can even turn Jupyter (IPython) Notebooks into blog posts! It also supports image galleries, and is multilingual. Nikola is flexible, and page builds are extremely fast, courtesy of doit (which is rebuilding only what has been changed).
Find out more at the website: https://getnikola.com/
Install using pip install Nikola==8.0.0.beta1
.
Before upgrading to Nikola v8, make sure to read the “Upgrading” document.
crumbs.tmpl
to ui_helper.tmpl
and the breadcrumbs
bar
function to breadcrumbs
(your templates may need
changing as well)post.is_mathjax
to post.has_math
. Themes using
post.is_mathjax
must be updated; it is recommended that they are
changed to use math_helper.tmpl
.USE_REST_DOCINFO_METADATA
now (Issue #2987)RSS_PATH
behavior changes (you may need to change RSS_PATH
,
RSS_FILENAME_BASE
)DISABLE_MAIN_ATOM_FEED
setting (Issue #3016, Issue #3039)ATOM_FILENAME_BASE
setting (defaults to index
for
existing sites, but feed
for new sites) (Issue #3016)CATEGORY_DESTPATH_AS_DEFAULT
, CATEGORY_DESTPATH_TRIM_PREFIX
,
CATEGORY_DESTPATH_FIRST_DIRECTORY_ONLY
settings, as part of
replacing sections with categories (Issue #2833)draft
, private
and mathjax
are no longer treated
special if USE_TAG_METADATA
is set to False
(default for
new sites) (Issue #2761)draft
and private
tags with a status
meta field
(supports published
, featured
, draft
, private
)
and mathjax
with .. has_math: yes
(Issue #2761)TAG_PAGES_TITLES
→ TAG_TITLES
,
TAG_PAGES_DESCRIPTIONS
→ TAG_DESCRIPTIONS
.CATEGORY_PAGES_TITLES
→ CATEGORY_TITLES
,
CATEGORY_PAGES_DESCRIPTIONS
→ CATEGORY_DESCRIPTIONS
.metadata.yml
file (Issue #3017,
Issue #3050, Issue #2837)ATOM_PATH
setting (Issue #2971)crumbs
available to all pagesRSS_EXTENSION
, ATOM_EXTENSION
settings (Issue #3041)RSS_FILENAME_BASE
setting (Issue #3041)METADATA_VALUE_MAPPING
setting to allow for flexible global
modification of metadata (Issue #3025)smartjoin
template function/filter that joins lists and
leaves strings as-is (Issue #3025)flowr.js
with justified-layout.js
by Flickr
(does not require jQuery!)bootblog4
is the new default theme (Issue #2964)bootstrap4
and bootblog4
themes (Issue #2964)thumbnail
shortcode similar to the reStructuredText
thumbnail
directive (via Issue #2809)nikola auto
with asyncio and aiohttp (Issue #2850)listings
shortcode similar to the reStructuredText listings
directive (Issue #2868)html4css1.css
in favor of rst_base.css
(Issue
#2874)MetadataExtractor
plugins that allow custom,
extensible metadata extraction from posts (Issue #2830)UNSLUGIFY_TITLES
→ FILE_METADATA_UNSLUGIFY_TITLES
(Issue #2840)NIKOLA_SHOW_TRACEBACKS
environment variable that shows
full tracebacks instead of one-line summariesPRETTY_URLS
by default on all sites (Issue #1838)BLOG_EMAIL
to global context to make it available for
templates (Issue #2968)FEED_LENGTH
for Atom feedsDISABLE_INDEXES_PLUGIN_INDEX_AND_ATOM_FEED
to DISABLE_INDEXES
and DISABLE_INDEXES_PLUGIN_RSS_FEED
to DISABLE_MAIN_RSS_FEED
(Issue #3039)nikola serve
(Issue #3000)SHOW_INDEX_PAGE_NAVIGATION
with Jinja templates
(Issue #2960)auto
running on
all platforms (Issue #2940)<pre>
blocks (Issue #2939)link://
magic URLs (Issue #2934)SCHEDULE_ALL
to posts only (Issue #2921)slug
magic linksadd_header_permalinks
or
deduplicate_ids
are used.html
posts (Issue #2851)github_deploy
(Issue #2847)new_post
failsThe following settings have been removed. Nikola will now always behave as if the value was what is displayed afer the setting name.
FEED_PREVIEWIMAGE = True
SITEMAP_INCLUDE_FILELESS_DIRS = True
USE_OPEN_GRAPH = True
USE_BASE_TAG = False
googleplus
comments (no longer supported) (Issue #635)nikola install_theme
— use nikola theme
insteadalso_create_classifications_from_other_languages
(Issue #2785) and generate_atom_feeds_for_post_lists
(Issue
#3016)On behalf of the Nikola team, I am pleased to announce the immediate availability of Nikola v7.8.15. Nikola v7.8.15 is the last v7 maintenance release with a few more bug fixes.
Install using pip install Nikola==7.8.15
.