Releases: getnikola/nikola
v7.8.5
On behalf of the Nikola team, I am pleased to announce the immediate availability of Nikola v7.8.5. It fixes some bugs and adds new features.
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
Math support changes
- If you edited templates related to indexes and posts (
index.tmpl
,
post.tmpl
,index_helper.tmpl
,post_helper.tmpl
) in your
templates, you should adjust them to usemath_helper.tmpl
. - If you are using KaTeX, you should remove the CSS snippet from your
configuration (templates), as that is now handled by Nikola.
Features
- Get rid of
THEME_REVEAL_CONFIG_*
settings, use global context
instead (Issue #2485) - New emoji shortcode
- Add
SECTION_PATH
support to move the section indexes to a
user-defined location (Issue #2738) - Add a list of template variables to documentation (Issues #2328,
#2712, #2259) and update the theming reference (Issue #2259) - Add
{post_title}
tag for Read More links (Issue #2709) - Include MathJax config only when needed (via Issue #2715)
- Include KaTeX CSS automatically when needed (Issue #2715)
- Split out math code into new
math_helper.tmpl
template (Issue
#2715) - Added
jpegoptim_progressive
filter to convert jpeg images to progressive
jpegs.
Bugfixes
- Open
127.0.0.1
when usingnikola serve -b
and default
0.0.0.0
hostname to avoid resolution issues — the site is still
available on all interfaces (Issue #2755) - Don't break animated GIFs in postprocessing (Issue #2750)
- More robust shortcodes, no need to escape URLs in reSt, work better
with LaTeX, etc. - No longer creates empty subarchive pages, and no longer create broken
archive navigation links on day level (Issue #2734) - Fixes post scanner plugin order (Issue #2720)
- Rename
POSTS_SECTION_ARE_INDEXES
toPOSTS_SECTIONS_ARE_INDEXES
- Make date ranges work in shortcode-based post lists (Issue #2690)
- Read data files only if Nikola configuration exists (Issue #2708)
- Make
PAGE_INDEX
work withPRETTY_URLS
(Issue #2705) - Fix PHP posts/pages not rendering on Windows (Issue #2706)
- Improving support for PostScanner plugins by asking them which compilers
are unused (Issue #2496)
v7.8.4
On behalf of the Nikola team, I am pleased to announce the immediate availability of Nikola v7.8.4. It fixes some bugs and adds new features.
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
Features
- Refactor RSS feed generation to allow better plugin access
- Add Jupyter config as dependency for jupyter posts (by @knowsuchagency)
- Make
nikola plugin --list-installed
more readable (Issue #2692) - Accept
now
in post-list date conditions - Add
RSS_COPYRIGHT
,RSS_COPYRIGHT_PLAIN
, andRSS_COPYRIGHT_FORMATS
options in conf.py which can be disabled by specifyingcopyright_=False
togeneric_rss_renderer
, or overriden by specifying an explicit value. - Write PID of detached
nikola serve
process to a file callednikolaserve.pid
- Append file name (generated from title) if
nikola new_post
receives directory name as path (Issue #2651) - Add a
require_all_tags
parameter to thepost-list
directive to show only posts that have all specified tags. (Issue #2665) - Add
META_GENERATOR_TAG
option in conf.py allowing the meta generator tag to be disabled (Issue #2628) - Add
YUI_COMPRESSOR_EXECUTABLE
,CLOSURE_COMPILER_EXECUTABLE
,OPTIPNG_EXECUTABLE
,JPEGOPTIM_EXECUTABLE
andHTML_TIDY_EXECUTABLE
to configure executables for built-in filters. (Issue #2615) - Allow setting custom GUID in feeds (Issue #2378)
Bugfixes
- Remove misplaced and duplicated meta description tags (Issue #2694)
- Fix crash if
PAGE_INDEX
is enabled and make them actually work (Issues #2646, #2702) - Ignore
NEW_POST_DATE_PATH
when creating pages (Issue #2699) - Ensure
post.updated
is timezone-aware (Issue #2698) - Pass previously missing post object and language to reST compiler and language to Markdown compiler (for shortcodes)
- Fix crashes when rendering subcategories (Issue #2681)
- Prevent writing cache files outside of the cache folder (Issue #2684)
- Fix mimetype guessing in auto mode (Issue #2645)
- Fix filters.html5lib_xmllike for laters html5lib (Issue #2648)
- Skip the current post in post lists (Issue #2666)
- Fix poor performance when compiling multiple markdown documents with the markdown compiler. (Issue #2660)
- Fix crash if
SHOW_INDEX_PAGE_NAVIGATION
isTrue
whileINDEXES_STATIC
isFalse
. (Issue #2654) - Make
NEW_POST_DATE_PATH
followrrule
if it exists (Issue #2653)
v7.8.3
On behalf of the Nikola team, I am pleased to announce the immediate availability of Nikola v7.8.3. This is an emergency bugfix release, which fixes a bug that prevented nikola new_page
from working. There has also been a minor change to post sorting order (won’t affect most sites). The wheel packages have also been fixed (they now exist for Python 2 and 3, with correct doit versioning).
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
Features
- Sort posts chronologically with one unified function (easier to change). (Issue #2627)
- Sort posts in the following order (most important last): source path (A-Z), title (A-Z), date (reverse chronological order), priority meta number (descending). (Issue #2627)
Bugfixes
- Fix a bug that prevents
nikola new_page
from working (Issue #2631)
v7.8.2
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 customizability - Automatic 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)
v7.8.1
On behalf of the Nikola team, I am pleased to announce the immediate availability of Nikola v7.8.1. It fixes some bugs and adds new features.
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
Bugfixes
- Rename
stories
topages
in most of the codebase (Issue
#1891) - Report missing/unknown dates in posts with filenames
(Issues #2505, #2506) - Report filename of post that raised exception when scanning
(Issue #2505) - Accept
page
andpages
for thetype
field in post lists - Don’t crash if a post list has no posts (Issue #2489)
Features
- Add Hebrew translation by Yitzhak Bar Geva
- Add Chinese (Traditional)
zh_TW
translation by Po-Wen Chi - Add
nikola theme --list-installed
(Issue #2504) - Add
KATEX_AUTO_RENDER
setting to configure math delimiters - Update KaTeX version to 0.6.0: support aligned math display
- Better support for a tree of files in
data/
Version 7.8.0
On behalf of the Nikola team, I am pleased to announce the immediate availability of Nikola v7.8.0. It fixes some bugs and adds new features.
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
Features
- Exposed
gist
as a shortcode (Issue #2459) - Always copy source files for listings (Issue #2473)
- Detect dependencies in template strings (Issue #2455)
- RSS feeds for sections (Issue #2068)
- New
data
metadata that loads data from external files (Issue #2450) - Shortcode to escape to the template language (Issue #1227)
- Added link to raw file in listings (Issue #1995)
- New NO_DOCUTILS_TITLE_TRANSFORM (Issue #2382)
- Update options of chart directive to Pygal 2.2.3
- Pass global context to template shortcodes (Issue #2424)
- Added new options --html2text and --transform-to-markdown
to WordPress importer (Issue #2261) - Listing: guess the lexer if cannot be determined from the file name.
- Read files from data/ and insert data in global context (Issue #2477)
Bugfixes
- Added link to sources in the output of listing directive (Issue #2472)
- Fix Windows crash with calendar locales (Issue #2332)
- Remove the (useless)
<base>
tag by default; change conf.py to
opt in (Issue #2471) - Show tag descriptions when TAG_PAGES_ARE_INDEXES is True (Issue #2444)
- Record template dependencies for post-list shortcut (Issue #2451)
- Default to English for docutils messages if no translations exist
(Issues #2422, #2437)
v7.7.12
On behalf of the Nikola team, I am pleased to announce the immediate availability of Nikola v7.7.12. It fixes some bugs and adds new features.
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
Features
- New Telugu translation by Chillar Anand
- Add
sections
filtering in the post list directive (Issue #2409) - Update Bootstrap to v3.3.7
Bugfixes
- Added code documentation to ReadTheDocs (Issue #2124)
- Pass language to docutils so admonitions are translated (Issue #2422)
- Put 2-file post metadata in the same place as the text file when specifying a path in
new_post
,new_page
(Issue #2420) - Register dependencies in post-list shortcode (Issue #2412)
- Support post-list shortcode better (Issue #2408)
- Fix gallery links in base theme (Issue #2416)
- Respect
DEPLOY_DRAFTS
andDEPLOY_FUTURE
ingithub_deploy
(Issue #2406) - Don’t remove
<!DOCTYPE html>
if typogrify filters are in use - Avoid infinite loop if bootstrap3 can't be loaded (Issue #2402)
- Fixed image rotation to update image size correctly (Issue #2418)
v7.7.11
On behalf of the Nikola team, I am pleased to announce the immediate availability of Nikola v7.7.10. It fixes some bugs and adds new features.
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
This release fixes a single bad bug in image resizing that slipped into release 7.7.10
v7.7.10
On behalf of the Nikola team, I am pleased to announce the immediate availability of Nikola v7.7.10. It fixes some bugs and adds new features.
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
Features
- New EXIF_WHITELIST option to filter EXIF data (Issue #2323)
- Support
date
filtering in the post list directive
(Issue #1889) - Support
doc
shortcode (equivalent to reSTdoc
role — part of
Issue #2170) - Added Albanian translation by Vango Stavro
- Added
post-(type)
class tostory.tmpl
(uses thetype
meta field, defaults topost-text
— same behavior as posts) - New
compiled
signal after post is compiled (Issue #2369)
Bugfixes
- Some images were copied ignoring the PRESERVE_EXIF_DATA option
- Warn about possible outdated files after --clean-files (Issue #2017)
- Improved EXIF orientation handling
- Register post list template as a dependency (Issue #2391)
- Fix section color hashing when using Python 2
- Use
en_US
dictionary name with pyphen for better compatibility - Fix graceful degradation if
pyphen
lacks dictionaries - Add horizontal scrollbar to listings (via getnikola/nikola-themes#86)
- Copy files when importing two-file posts instead of reading and
writing (useful for binary formats, eg. docx) (Issue #2380) - Using correct category titles for category hierarchies
(Issue #2384)
v7.7.9
On behalf of the Nikola team, I am pleased to announce the immediate availability of Nikola v7.7.9. It fixes some bugs and adds new features.
For this release, we also passed a milestone — Nikola has got over 1000 stars on GitHub. Thanks for the continued support!
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
Features
- New
sc
orhtml
reST role, which passes content unaltered (Issue #1854) - Point the user to our users site after 1st successful deploy (Issue #2096)
- Option to disable color output using
NIKOLA_MONO
environment variable (Issue #2360) - Improved locale detection in Windows (Issue #2343)
- Added
enclosure_length
meta field for better interop (Issue #2338) - New Lithuanian translation by Antanas Lasys
Bugfixes
- Avoid conflicts caused by multiple copies of the same plugin (#2362)
- Fix handling of some wordpress dumps (Issue #2340)
- When using the plugin command, load ALL plugins (Issue #2359)
- Fix plugin removal for plugins that are a package (Issue #2356)
- Reload English messages for every theme to prevent caching (Issue #2347)
- Cache theme messages after loading once (Issue #2344)
- Add
<link>
tags to other languages even if the post is untranslated (Google complained otherwise) - Don't call sys.exit() from plugins if possible (Issue #1839)
- Create Persistor directories only if site is configured (Issue #2334)
- Remove newlines in imported WordPress titles (Issue #2330)