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/daydirectory structures (NEW_POST_DATE_PATH)Ability to sort posts from within templates (
sort_posts)API changes for post compilers (new
compile,compile_stringfunctions)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 -dandNEW_POST_DATE_PATHto 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_postsfunction (available as Jinja filter in global context), which allows general-purpose timeline sorting (Issue #2602)Allow creating archive navigation (Issue #1639)
Accept a
pageargument 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_oldschoolfilter (Issue #2574)Improving handling of .dep files, and allowing compilers to specify additional targets for the
render_poststask (Issue #2536)render_templateandgeneric_renderercan now create HTML fragments.Allow posts to set custom
URL_TYPEby using theurl_typemeta tag (useful for HTML fragments inserted using JavaScript)Plugins can depend on other plugins being installed (Issue #2533)
The destination folder in
POSTSandPAGEScan now be translated (Issue #2116)Pass
postobject andlangto post compilers (Issue #2531)Pass
url_typeinto template's context.Make thumbnail naming configurable with
IMAGE_THUMBNAIL_FORMAT.There is a new plugin category
Taxonomywhich 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_PATHandAUTHOR_PATHtranslatable. (Issue #1914)Added setting
SHOW_INDEX_PAGE_NAVIGATIONwhich enables a basic page navigation for indexes. (Issue #2299)Added settings
DISABLE_INDEXES_PLUGIN_INDEX_AND_ATOM_FEEDandDISABLE_INDEXES_PLUGIN_RSS_FEEDto disable specific parts of theclassify_indexestaxonomy plugin. (Issue #2591)
Bugfixes¶
Work around conflicts between posts and sections trying to render index.html files (via Issue #2613)
Make
AUTHOR_PAGES_ARE_INDEXESreally work (Issue #2600)WordPress importer now correctly handles & etc. in tags. (Issue #2557)
If
CODE_COLOR_SCHEMEis empty, don’t generatecode.css(Issue #2597)Don’t warn about
nikolademoDISQUS account when comments are disabled (Issue #2588)Make
datafrom 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_renderernow always produces output. It previously did not when the post list was empty andINDEXES_STATIC == False. (via Issue #2579)