Nikola v7.8.2 is out!
On behalf of the Nikola team, I am pleased to announce the immediate availability of Nikola v7.8.2. It adds a ton of new features, while also fixing some bugs.
Key Changes¶
A rewrite of all taxonomies (tags, categories, sections, etc.) in a generic fashion, allowing for much greater flexibility (by Felix Fontein) — adds new settings, enables new features (
CREATE_ARCHIVE_NAVIGATION
) and customizabilityAutomatic cration of
year/month/day
directory structures (NEW_POST_DATE_PATH
)Ability to sort posts from within templates (
sort_posts
)API changes for post compilers (new
compile
,compile_string
functions)Addition of a generator meta tag to default themes — we hope you do not mind a bit of promotion for 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 (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
or download tarballs on GitHub and PyPI.
Changes¶
Minor API change: The compile_string
compiler method (partially
internal) now takes a post argument and returns between two and four
values, adding shortcode_deps
and shortcode support. See issues
#2623 and #2624.
Features¶
Add meta generator tag to default templates to promote Nikola (Issue #2619)
Add
nikola new_post -d
andNEW_POST_DATE_PATH
to allow automatic creation of year/month/day (date-based) directory structures (Issue #2513)Allow enabling pretty URLs with per-post setting (Issue #2613)
Add a
sort_posts
function (available as Jinja filter in global context), which allows general-purpose timeline sorting (Issue #2602)Allow creating archive navigation (Issue #1639)
Accept a
page
argument for taxonomy paths (Issue #2585)Query strings in magic links are passed as keyword arguments to path handlers (via Issue #2580)
Accept arbitrary arguments to path handlers (via Issue #2580)
Added new
typogrify_oldschool
filter (Issue #2574)Improving handling of .dep files, and allowing compilers to specify additional targets for the
render_posts
task (Issue #2536)render_template
andgeneric_renderer
can now create HTML fragments.Allow posts to set custom
URL_TYPE
by using theurl_type
meta tag (useful for HTML fragments inserted using JavaScript)Plugins can depend on other plugins being installed (Issue #2533)
The destination folder in
POSTS
andPAGES
can now be translated (Issue #2116)Pass
post
object andlang
to post compilers (Issue #2531)Pass
url_type
into template's context.Make thumbnail naming configurable with
IMAGE_THUMBNAIL_FORMAT
.There is a new plugin category
Taxonomy
which allows to easily create new taxonomies. All of the existing taxonomies (authors, archives, indexes, page index, sections, tags, and categories) have been converted to the new system. (Issue #2107)Added
CATEGORIES_INDEX_PATH
, similar toTAGS_INDEX_PATH
. (Issue #2567)Made
INDEX_PATH
,RSS_PATH
andAUTHOR_PATH
translatable. (Issue #1914)Added setting
SHOW_INDEX_PAGE_NAVIGATION
which enables a basic page navigation for indexes. (Issue #2299)Added settings
DISABLE_INDEXES_PLUGIN_INDEX_AND_ATOM_FEED
andDISABLE_INDEXES_PLUGIN_RSS_FEED
to disable specific parts of theclassify_indexes
taxonomy plugin. (Issue #2591)
Bugfixes¶
Work around conflicts between posts and sections trying to render index.html files (via Issue #2613)
Make
AUTHOR_PAGES_ARE_INDEXES
really work (Issue #2600)WordPress importer now correctly handles & etc. in tags. (Issue #2557)
If
CODE_COLOR_SCHEME
is empty, don’t generatecode.css
(Issue #2597)Don’t warn about
nikolademo
DISQUS account when comments are disabled (Issue #2588)Make
data
from global context available to templated shortcodes asglobal_data
(Issue #2488)Don't crash if plugins is a file (Issue #2539)
Don't mangle bare
#
links (Issue #2553)generic_index_renderer
now always produces output. It previously did not when the post list was empty andINDEXES_STATIC == False
. (via Issue #2579)