Nikola v8.0.0.b1 Release Notes
Release Date: 2018-05-05 // almost 6 years ago-
On 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.
What is Nikola?
Nikola is a static site and blog generator, written in Python.
It can use Mako and Jinja2 templates, and input in many popular markup
formats, such as reStructuredText and Markdown β and can even turn
π Jupyter (IPython) Notebooks into blog posts! It also supports image
π galleries, and is multilingual. Nikola is flexible, and page builds
are extremely fast, courtesy of doit (which is rebuilding only what
has been changed).Find out more at the website: https://getnikola.com/
Downloads
Install using
pip install Nikola==8.0.0.beta1
.β¬οΈ Before upgrading to Nikola v8, make sure to read the βUpgradingβ document.
π Changes in v8.0.0b1
Important compatibility changes
- π Rename
crumbs.tmpl
toui_helper.tmpl
and the breadcrumbs
bar
function tobreadcrumbs
(your templates may need
changing as well) - Rename
post.is_mathjax
topost.has_math
. Themes using
β‘οΈpost.is_mathjax
must be updated; it is recommended that they are
π changed to usemath_helper.tmpl
. - π Reading reST docinfo metadata, including first heading as title,
requiresUSE_REST_DOCINFO_METADATA
now (Issue #2987) - RSS feeds might have changed their places due to
RSS_PATH
behavior changes (you may need to changeRSS_PATH
,
RSS_FILENAME_BASE
) - π Atom feeds for archives and Atom pagination are no longer supported
(Issue #3016) - Sections are replaced by categories (Issue #2833)
π Features
- π Support hackerthemes.com themes and renamed bootswatch_theme command subtheme (Issue #3049)
- Add
DISABLE_MAIN_ATOM_FEED
setting (Issue #3016, Issue #3039) - Add
ATOM_FILENAME_BASE
setting (defaults toindex
for
existing sites, butfeed
for new sites) (Issue #3016) - Add
CATEGORY_DESTPATH_AS_DEFAULT
,CATEGORY_DESTPATH_TRIM_PREFIX
,
CATEGORY_DESTPATH_FIRST_DIRECTORY_ONLY
settings, as part of
replacing sections with categories (Issue #2833) - π· Tags
draft
,private
andmathjax
are no longer treated
π· special ifUSE_TAG_METADATA
is set toFalse
(default for
π new sites) (Issue #2761) - Replace
draft
andprivate
tags with astatus
meta field
π (supportspublished
,featured
,draft
,private
)
andmathjax
with.. has_math: yes
(Issue #2761) - Rename
TAG_PAGES_TITLES
βTAG_TITLES
,
TAG_PAGES_DESCRIPTIONS
βTAG_DESCRIPTIONS
. - Rename
CATEGORY_PAGES_TITLES
βCATEGORY_TITLES
,
CATEGORY_PAGES_DESCRIPTIONS
βCATEGORY_DESCRIPTIONS
. - π Produce a better error message when a template referenced in another
template is missing (Issue #3055) - π Support captioned images and image ordering in galleries, as well as
π arbitrary metadata through a newmetadata.yml
file (Issue #3017,
Issue #3050, Issue #2837) - π New
ATOM_PATH
setting (Issue #2971) - π Make
crumbs
available to all pages - π Allowing to customize RSS and Atom feed extensions with
RSS_EXTENSION
,ATOM_EXTENSION
settings (Issue #3041) - π Allowing to customize filename base appended to RSS_PATH
withRSS_FILENAME_BASE
setting (Issue #3041) - 0οΈβ£ Use basic ipynb template by default for slightly better appearance
and behavior - π Fixing behavior of RSS_PATH to do what the documentation
says it does (Issue #3024) - β Add support for fragments in path handlers (Issue #3032)
- New
METADATA_VALUE_MAPPING
setting to allow for flexible global
π modification of metadata (Issue #3025) - π New
smartjoin
template function/filter that joins lists and
leaves strings as-is (Issue #3025) - π Explain index.html conflicts better (Issue #3022)
- 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) - New MARKDOWN_EXTENSION_CONFIGS setting (Issue #2970)
- Replace
flowr.js
withjustified-layout.js
by Flickr
(does not require jQuery!) - 0οΈβ£
bootblog4
is the new default theme (Issue #2964) - π New
bootstrap4
andbootblog4
themes (Issue #2964) - π New Thai translation by Narumol Hankrotha and Jean Jordaan
- π Support for Commento comment system (Issue #2773)
- New PRESERVE_ICC_PROFILES option to control whether ICC profiles are
preserved when copying images. - π Use baguetteBox in Bootstrap theme (part of Issue #2777)
- π New default-config command to generate a clean configuration.
- π New
thumbnail
shortcode similar to the reStructuredText
thumbnail
directive (via Issue #2809) - Rewrite
nikola auto
with asyncio and aiohttp (Issue #2850) - π New
listings
shortcode similar to the reStructuredText listings
directive (Issue #2868) - Switch to reStructuredTextβs new HTML 5 renderer (Issue #2874)
- π Deprecate
html4css1.css
in favor ofrst_base.css
(Issue
#2874) - β Add support for
MetadataExtractor
plugins that allow custom,
π extensible metadata extraction from posts (Issue #2830) - π Support YAML and TOML metadata in 2-file posts (via Issue #2830)
- Renamed
UNSLUGIFY_TITLES
βFILE_METADATA_UNSLUGIFY_TITLES
(Issue #2840) - π Add
NIKOLA_SHOW_TRACEBACKS
environment variable that shows
full tracebacks instead of one-line summaries - 0οΈβ£ Use
PRETTY_URLS
by default on all sites (Issue #1838) - π¨ Feed link generation is completely refactored (Issue #2844)
- Let path handlers return absolute URLs (Issue #2876)
- β Add
BLOG_EMAIL
to global context to make it available for
templates (Issue #2968)
π Bugfixes
- π Fixes behavior for posts not available in default language
(Issues #2956 and #3073) - Always follow
FEED_LENGTH
for Atom feeds - Apply filters to all Atom feeds
- π Read file metadata if compiler metadata exists and prefer it over
π compiler metadata (Issue #3008) - Rename
DISABLE_INDEXES_PLUGIN_INDEX_AND_ATOM_FEED
toDISABLE_INDEXES
andDISABLE_INDEXES_PLUGIN_RSS_FEED
toDISABLE_MAIN_RSS_FEED
(Issue #3039) - π Make chart shortcode its own plugin and make the reST directive
depend on it. - π Put post_list shortcode in its own plugin and make the reST
directive depend on it. - Donβt silence syntax errors and other exceptions that occur while
π reading metadata - π Use documented dateutil API for time zone list (Issue #3006)
- π Handle trailing slash redirects with query strings correctly in
nikola serve
(Issue #3000) - π Fix w3c validation errors for itemscope entries in default themes
- Hide βIncomplete languageβ message for overrides of complete
languages - π Handle '/' and other absolute paths better in POSTS / PAGES / TRANSLATIONS
(Issue #2982) - π Fix loading non-default languages
- π Support KaTeX for reST display math (Issue #2888)
- π Use npm for asset management instead of bower, which was deprecated
(Issue #2790) - Properly handle
SHOW_INDEX_PAGE_NAVIGATION
with Jinja templates
(Issue #2960) - π Prevent crashes due to Windows-specific code in
auto
running on
all platforms (Issue #2940) - Donβt run hyphenate on
<pre>
blocks (Issue #2939) - π Make errors in reST display in logs again
- Unquote paths given to
link://
magic URLs (Issue #2934) - 0οΈβ£ Specify UTF-8 input encoding for Mako as default (Issue #2930)
- Don't trigger rebuilds in auto mode for files it's safe to ignore
(Issue #2906) - π Fix padding for Jupyter code blocks (Issue #2927)
- β± Apply
SCHEDULE_ALL
to posts only (Issue #2921) - βͺ Restore version number to Bootswatch URLs (Issue #2916)
- Do not strip trailing slash in
slug
magic links - π Ignore empty tags in HTML metadata reader (Issue #2890)
- Do not remove doctype if
add_header_permalinks
or
deduplicate_ids
are used - π Handle empty slug metadata (Issue #2887)
- π Fix crash when compiling empty
.html
posts (Issue #2851) - π Make failures to get source commit hash non-fatal in
πgithub_deploy
(Issue #2847) - Less cryptic error when guessing format from extension in
new_post
fails - π Use Jupyter name more consistently in docs
- Support CODE_COLOR_SCHEME in Jupyter notebooks (Issue #2093)
- Language was not passed to title and link generation for page indexes
- β Addressed issue with snaps not allowing certain functions to work properly.
β Removed conf.py settings
π The 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
β Removed features
- β Removed Colorbox, baguetteBox is used instead (Issue #2777)
- β Removed
googleplus
comments (no longer supported) (Issue #635) - β Removed the slides directive for docutils, it will now be a separate plugin.
- β¬οΈ Dropped Python 2 and Python 3.3 support (oldest supported version is 3.4)
- β Removed
nikola install_theme
β usenikola theme
instead - β¬οΈ Droppped insecure post βencryptionβ feature
- π Stopped supporting all deprecated config options
- β¬οΈ Dropped annotations support (annotateit.org closed down in March 2017)
- Removed taxonomy option
also_create_classifications_from_other_languages
(Issue #2785) andgenerate_atom_feeds_for_post_lists
(Issue
#3016) - β Removed old 7-line metadata format (Issue #2839)
- Atom feeds are now limited to one page (Issue #3016)
- β Removed sections (replaced by improved categories) (Issue #2833)
- π Rename