Nikola 8.3.0

Nikola generates static websites and blogs, with feeds, comments, media galleries and an archive. Content can be authored in reStructuredText, Markdown/CommonMark, Wiki, BBCode, Textile, AsciiDoc, Python Notebooks, Misaka, Pandoc, txt2tags, orgmode, or plain HTML. It also provides code sections with syntax highlighting, is multi-lingual, fully themeable, and can utilize external tools. It's foremost rather fast and its static pages don't have further webserver requirements.

Tags python website blog code-generator static-pages
License MITL
State development

Recent Releases

8.3.011 Jan 2024 06:45 major bugfix: Features Implement a new plugin manager from scratch to replace Yapsy. Which does not work on Python 3.12 due to Python 3.12 carelessly Removing parts of the standard library Support for Discourse as comment system. Loading of templates from plugins with `__init__.py` files. Margins of paragraphs at the end of sections. Ignore `.DS_Store` files in listing indexes. BaguetteBox.js invoking in the base theme. Development (preview) server `nikola auto`. For non-root SITE_URL, in particular when URL_TYPE is full_path. . For plugin developers. Nikola now requires the `.plugin` file to contain a ` Nikola `. Section with a `PluginCategory` entry set to the name of the plugin Category class. This was already required by `plugins.getnikola.com`, But you may have custom plugins that don t have this set.
8.2.401 May 2023 06:45 minor bugfix: Features Add a `-q`, `--ignore-query-strings` option to ignore query strings for internal links, allowing their use for cache busting. Update reST stylesheets. Add a `--timeout` parameter to the `check` plugin, defaulting to 30s.. GZIP compression is now deterministic for automatic deploys. failures to build with a "Document is empty" error in default themes. `PAGE_INDEX` skipping generation when there exists a conflicting post. RSS generation of galleries containing WebP images, which caused an unhandled exception due to not having a known MIME type. `auto` command infinite loop. API URL in CSS and JS minifiers. `:align: center` for images in reST. `GZIP_COMMAND` parsing on `win32` platforms.
8.2.302 Aug 2022 11:25 minor feature: Compatibility with Markdown 3.4.0. Find substring in string instead of using `contains` in utils. Don't add semicolon in docinfo fields via CSS (caused duplicated semicolons). Nikola now requires Python 3.7 or newer.
8.2.124 Apr 2022 03:17 minor feature: Features Add `emphasize_lines` directive to code blocks. Gallery index pages support the `status` flag. Add `start_at` option to youtube directive. Add data files to dependency file. Compatibility with doit 0.36.0. Note: `nikola doit_auto` is not available if using `doit =0.36.0`. You can still use `nikola auto`.
8.2.028 Dec 2021 09:25 major feature: Features Add `category_titles`, `category_descriptions`, `tag_titles`. `tag_descriptions` to default context of tags page. Add Maori translation. Add Occitan translation. New `auto_command_starting` signal when `nikola auto` is starting. `typogrify_custom` filter adds a default value for. `typogrify_filters` so that `ignore_tags` can be specified as the only option. The default `ignore_tags` are appended to the user-supplied. `ignore_tags` added via `typogrify_custom`. Allow adding comment systems from a plugin. New `CommentSystem` plugin category. changes to `INDEX_READ_MORE_LINK` and `FEED_READ_MORE_LINK` not triggering rebuilds. Make `CATEGORY_TITLES`, `CATEGORY_DESCRIPTIONS`, `TAG_TITLES`. `TAG_DESCRIPTIONS` translatable settings for consistency. with posts after the first one appearing shifted due to a. `` too early. support for files outside of site root directory on Windows. Support passing `--backend` and `--db-file` to `nikola auto`. Support blank values in certain WordPress-imported structures. Typogrify ignores `div` elements with `.math` CSS class. Adjust panorama aspect ratio to 3:1 and document behaviour.
8.1.314 Feb 2021 17:05 minor bugfix: Features Provide the full `GLOBAL_CONTEXT` to the post list shortcode plugin. Add `BasePlugin.register_auto_watched_folder()`. Allow different `PANDOC_OPTIONS` values based on input extensions by specifying a dict of ` ".extension": options `. Allow boolean/integer `pretty_url` post meta values in YAML/TOML. . an `UnboundLocalError` crash in `nikola deploy`. Other. For `nikola github_deploy`, the `ghp-import` PyPI package is now recommended instead of `ghp-import2`. Both versions should work, but you can t have both installed at the same time..
8.1.216 Nov 2020 03:17 minor bugfix: Features Support for multiple authors per post comma-separated, enabled by. `MULTIPLE_AUTHORS_PER_POST` setting. Add `navbar_custom_bg` theme option to `bootstrap4` and document options for `bootstrap4` better. Add Marathi translation. Restore `caps` typogrify filter (wraps strings of capital letters with ``. Improve `nikola auto` performance with rate-limiting, support. `-n` argument to pass to `nikola build`. Add support for the `Utterances `_ comment system. previewimages (post- and root-relative) in bootblog4/galleries featured posts for non-server-root sites. Windows: Also symlinks when installing from source with pip; if possible, enable Developer Mode and run `git config --global core.symlinks true` before cloning the Nikola repo. clicking on links to image files. baguetteBox now requires a link (``) to have an `` as a child in order to make the link activate the lightbox.. `LINK_CHECK_WHITELIST` having due to mixing Unicode and bytestrings. Add support for `nbconvert =6.0.0`. Read files as utf-8-sig to allow BOM in input files. Don t break slugs with slashes in `doc` directive. Avoid warnings from type annotations in `auto` caused by missing. `aiohttp`. Ensure query strings and fragments are kept with `URL_TYPE =. "full_path"`. Don t run typogrify filters on `` tag to avoid adding extra tags. handling of duplicate plugins on Windows. Allow else clause in post-list plugin.. Ensure `type` metadata value from plugins is preserved (). path handlers with slashes on Windows.
8.1.106 Jul 2020 10:25 minor bugfix: Default to no line numbers in code blocks, honor CodeHilite requesting no line numbers. Listing pages still use line numbers. Remove duplicate MathJax config in bootstrap themes. `doit` requirement to `doit =0.32.0`.
8.1.028 Jun 2020 03:16 major feature: Features Support posts without titles. Support WebP image scaling. Use Luxon instead of Moment for fancy dates to make it more lightweight, going from 328k to 68k. New `nikola console -s script.py` option to run scripts that access your site. Allow preview images to be relative to posts for bootblog4 featured posts. Change the listings formatting to support word wrap with line numbers and improve appearance. Put the current language s feed links first so that feed readers prefer it. Added support for default preview image for posts. Added support for thumbnails in gallery lists. Support directory names in `REDIRECTIONS`. Return a non-zero error code when `nikola github_deploy` fails. Refactored scale_image causing performance increasing in image resizing. Don t force absolute links for brand/languages. RTL mirroring in base theme (`:dir()` pseudo-class is Firefox only). Work around Bootstrap 4 alignment for RTL languages. Handle multiple level of inherit/import nesting in Mako templates correctly. Output a more informative error when files are missing due to broken symlinks or incorrect `TRANSLATIONS_PATTERN` values. Avoid installing `tests` package to site-packages, remove it from your environment if it was inadvertently added. Sometimes hyphenation added hyphens at the beginning of words. Mark gallery images as "dirty" if EXIF configuration changes. regression in gallery titles being "index" if there was a index.txt and no title. Make gallery indexes depend on destination images to avoid multithreading race condition. Mark gallery thumbnails as lazy loading. Don't consider JPEG images with EXIF thumbnails as animated. Use correct language for hyphenation in posts that are not translated to all languages. Internal. Added Post.source() method to get a Post's object unprocessed contents. Added Post.save() method to modify Post contents. Made is_two_file a property that uses save().
8.0.407 Feb 2020 09:25 minor bugfix: Nikola now supports Python 3.5 or newer. If you are on 3.4, please Upgrade to a newer release of Python. Hiding future posts in sitemaps for posts without pretty URLs. Pass the correct parameters to shortcodes in jupyter notebooks. Handling of conflicts between posts/pages and indexes generated by `CATEGORY_PAGES_FOLLOW_DESTPATH`. Default date format to `yyyy-MM-dd` to avoid with ISO. Years Remove `extra_header` and `extra_footer` from `base` theme. Due to incompatibility with Mako. The blocks are still available in `bootstrap4` and `bootblog4`.. Show tracebacks when `conf.py` cannot be imported. Loading complex config files that import modules. Behavior of header demotion for negative values. If `FILE_METADATA_REGEXP` is set, load metadata from the filename. First, then continue with the other sources Other compatibility information. 1. Nikola no longer requires logbook. You may need to upgrade plugins. 2. If you receive an error stating that *sitemap is not a package*, You need to remove a leftover `nikola/plugins/task/sitemap` Directory (the full path is in the error message).
8.0.303 Nov 2019 03:16 minor bugfix: Features Add Friulian translation by aoanla. Add `extra_header` and `extra_footer` blocks to templates. Add `REST_FILE_INSERTION_ENABLED` config option to enable or disable reST external file inclusion directives. Support Markdown v3.x. galleries in Firefox Mobile and when resizing window. Output `` tag for double backticks in reST. Fully switch to HTML5 writer for reST. Make ipynb listings work again. Correctly link to listings with spaces in their names. import_wordpress plugin doesn't require anymore a translation and can use nikola's default if none provided. Wordpress+qtranslate import (--qtranslate option) now works with more recent versions of plugins from the qtranslate family (namely qtranslate-X). a wordpress import exception when image metadata has floats formated with ',' instead of '.'.
8.0.223 Feb 2019 16:25 minor feature: Features Make `ARCHIVE_PATH`, `ARCHIVE_FILENAME` translatable. Support configuring Isso via `GLOBAL_CONTEXT 'isso_config' `. Handle fragments in doc role. Slugify references in doc role. Add Interlingua translation by Alberto Mardegan. Add Afrikaans translation by Friedel Wolff. Support for docutils.conf. Avoid random rebuilds with sites whose locales are not fullly supported, and random rebuilds on multilingual sites using Python 3.4/3.5. Apply modifications to `default_metadata` before copying it to other languages. Make Commento comments work. Correctly handle separators in the relative path given to. "ignored_assets" key in theme meta files. error when `nikola new_post` receives directory name as path. Add slashes to paths with query strings in `nikola serve` only if there isn t one before `?`. Read listings files as UTF-8. Set one-file status basing on default language only. Don t warn if post status is set to `published` explicitly. Remove mention of Twitter cards requiring an opt-in. This is not true anymore - anyone can use them. fancydates now workwith listdate items (eg. archives). bootstrap4 and bootblog4 themes no longer load moment.js when fancydates are off..
8.0.101 Oct 2018 03:15 minor bugfix: Not compatible with Markdown 3.x yet, this release pins the requirement down to 2.x (until we get 3.x support done). Features. Make URL displayed by `nikola auto` and `nikola serve` clickable. . Pandoc compiler was passing deleted argument. Make `nikola version --check` work again. Set logging level for reST to warning in order to limit noise. docinfo removal for sites that use reST docinfo metadata. .
8.0.010 Sep 2018 03:15 major feature: Important compatibility changes Rename `crumbs.tmpl` to `ui_helper.tmpl` and the breadcrumbs. `bar` function to `breadcrumbs` (your templates may need changing as well). Rename `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`. Reading reST docinfo metadata, including first heading as title, requires `USE_REST_DOCINFO_METADATA` now. RSS feeds might have changed their places due to `RSS_PATH` behavior changes (you may need to change `RSS_PATH`. `RSS_FILENAME_BASE`). Atom feeds for archives and Atom pagination are no longer supported. Sections are replaced by categories. You need `` (instead of `image-reference`) to activate the lightbox now. Date formatting now uses the Babel library, you might need to change `BABEL_FORMAT`. The first heading in a reST document is not removed anymore by default unless `USE_REST_DOCINFO_METADATA` is enabled. . Features. Add Malayalam translation by Nemo Dicto. Add Vietnamese translation by Hoai-Thu Vuong. Don t generate gallery index if the destination directory is site root and it would conflict with blog index. All built-in themes now support `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. All built-in themes now support the `DATE_FANCINESS` option. Theme bundles are now parsed using the configparser module and can support newlines inside entries as well as comments. Make bootstrap4 navbar color configurable with. `THEME_CONFIG 'navbar_light' `. New data_file option for chart shortcode and directive. Show the filename of the missing file when `nikola serve` can't find a file (i.e. when an 404 error occurs). Better error messages for JSON download failures in `nikola plugin` and `nikola theme` (ge
7.8.1506 May 2018 03:15 minor bugfix: Behavior for posts not available in default language. Behavior of RSS_PATH to do what the documentation. Says it does Use documented dateutil API for time zone list.
7.8.814 Jun 2017 03:15 minor feature: This release two grave in TOML metadata support (sorry!). The built-in themes have also been cleaned up and include less unused assets. In addition, taxonomies now support translations. HTML meta tags are also possible metadata sources. The default metadata format to generate can now be changed. Features. Providing infrastructure for taxonomies for classification pages to link to related classifications in other languages. Added alternate links (visible and header) for archives and authors. (). Added options to add alternative links (visible and header) for tags, sections and categories. New METADATA_FORMAT option to choose preferred metadata format. (Nikola/YAML/TOML/Pelican). Extract metadata from HTML meta and title tags like Pelican. Update assets in the `base` and `base-jinja` themes and clean up code. Show captions in the base theme gallery. two grave in TOML metadata. Require just one line break after TOML/YAML metadata. Add alt attribute to images in galleries in base theme. Support empty lines in YAML/TOML metadata. Tests run on macOS.
7.8.706 Jun 2017 03:15 minor bugfix: In an effort to improve interoperability with other static site generators, make importing data easier, and help with world domination, Nikola v7.8.7 ships with support for the following metadata formats: reST-style comments (`.. name: value` default format). Two-file format (reST-style comments or 7-line). Jupyter Notebook metadata. YAML, between `---` (Jekyll, Hugo). TOML, between `+++` (Hugo). reST docinfo (Pelican). Markdown metadata extension (Pelican). In addition, Markdown is now enabled and required by default. More details: The release also two important, one that crashes when. trying to detect locale in some edge cases, and another which made some themes quietly leak template files. If you re using a Jinja2-based theme that does not have its own `parent` file, please force a rebuild (`nikola build -a`). Features. Enable markdown by default. Allowing to register filters from plugins, and allowing to specify default filters as strings of the form `filters.`. Support ignoring assets via `ignore_assets` theme meta field. Ignore unused Colorbox locales. Accept tag metadata as lists for YAML/TOML. Support for mapping metadata from other formats to Nikola names using the `METADATA_MAPPING` setting. Support for reStructured text docinfo metadata with. `USE_REST_DOCINFO_METADATA` option, defaulting to False. New `HIDE_REST_DOCINFO` option, defaulting to False. Support for Markdown Metadata for Pelican compatibility by adding. `'markdown.extensions.meta'` to `MARKDOWN_EXTENSIONS`. Support for YAML and TOML metadata. Use inheritance tree when looking for theme engine. unbound variable error in locale guessing.
7.8.627 May 2017 06:25 minor feature: Features Guess file format from file name on new_post. Use BaguetteBox as lightbox in base theme. New `deduplicate_ids` filter, for preventing duplication of HTML. `id` attributes. Ported gallery image layout to base theme. Better error handling when posts can't be parsed. Use `.theme` files to store theme metadata. New `add_header_permalinks` filter, for Sphinx-style header links. Added alternate links for gallery translations (). Use `locale.getdefaultlocale()` for better locale guessing. Save dependencies for template hooks properly (using `.__doc__` or. `.template_registry_identifier` for callables). Enable larger panorama thumbnails. Disable `archive_rss` link handler, which was useless because no such RSS was ever generated. Ignore files ending wih "bak". Use page.tmpl by default, which is inherited from story.tmpl. Other. Limit Jupyter support to notebook = 4.0.0.
7.8.513 May 2017 03:15 minor feature: 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 use `math_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. New emoji shortcode. Add `SECTION_PATH` support to move the section indexes to a user-defined location. Add a list of template variables to documentation and update the theming reference. Add ` post_title ` tag for Read More links. Include MathJax config only when needed. Include KaTeX CSS automatically when needed. Split out math code into new `math_helper.tmpl` template. Added `jpegoptim_progressive` filter to convert jpeg images to progressive jpegs. Open `127.0.0.1` when using `nikola serve -b` and default. `0.0.0.0` hostname to avoid resolution the site is still available on all interfaces. Don't break animated GIFs in postprocessing. 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. post scanner plugin order. Rename `POSTS_SECTION_ARE_INDEXES` to `POSTS_SECTIONS_ARE_INDEXES`. Make date ranges work in shortcode-based post lists. Read data files only if Nikola configuration exists. Make `PAGE_INDEX` work with `PRETTY_URLS`. PHP posts/pages not rendering on Windows. Improving support for PostScanner plugins by asking them which compilers are unused.
7.8.427 Mar 2017 03:15 minor feature: Features Refactor RSS feed generation to allow better plugin access. Add Jupyter config as dependency for jupyter posts. Make `nikola plugin --list-installed` more readable. Accept `now` in post-list date conditions. Add `RSS_COPYRIGHT`, `RSS_COPYRIGHT_PLAIN`, and. `RSS_COPYRIGHT_FORMATS` options in conf.py which can be disabled by specifying `copyright_=False` to `generic_rss_renderer`, or overriden by specifying an explicit value. Write PID of detached `nikola serve` process to a file called. `nikolaserve.pid`. Append file name if `nikola new_post` receives directory name as path. Add a `require_all_tags` parameter to the `post-list` directive to show only posts that have all specified tags.. Add `META_GENERATOR_TAG` option in conf.py allowing the meta generator tag to be disabled. Add `YUI_COMPRESSOR_EXECUTABLE`, `CLOSURE_COMPILER_EXECUTABLE`. `OPTIPNG_EXECUTABLE`, `JPEGOPTIM_EXECUTABLE` and. `HTML_TIDY_EXECUTABLE` to configure executables for built-in filters. Allow setting custom GUID in feeds. Remove misplaced and duplicated meta description tags. crash if `PAGE_INDEX` is enabled and make them actually work. Ignore `NEW_POST_DATE_PATH` when creating pages. Ensure `post.updated` is timezone-aware. Pass previously missing post object and language to reST compiler and language to Markdown compiler (for shortcodes). crashes when rendering subcategories. Prevent writing cache files outside of the cache folder. mimetype guessing in auto mode. filters.html5lib_xmllike for laters html5lib. Skip the current post in post lists. poor performance when compiling multiple markdown documents with the markdown compiler.. crash if `SHOW_INDEX_PAGE_NAVIGATION` is `True` while. `INDEXES_STATIC` is `False`.. Make `NEW_POST_DATE_PATH` follow `rrule` if it exists.
7.8.314 Jan 2017 06:25 minor bugfix: Emergency release (`nikola new_page` did not work in v7.8.2). Features. Sort posts chronologically with one unified function (easier to change).. Sort posts in the following order (most important last): source path. (A-Z), title (A-Z), date (reverse chronological order), priority meta number (descending).. a that prevents `nikola new_page` from working.
7.8.209 Jan 2017 03:15 minor feature: 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 and #2624. Features. Add meta generator tag to default templates to promote Nikola. Add `nikola new_post -d` and `NEW_POST_DATE_PATH` to allow automatic creation of year/month/day (date-based) directory structures. Allow enabling pretty URLs with per-post setting. Add a `sort_posts` function (available as Jinja filter in global context), which allows general-purpose timeline sorting. Allow creating archive navigation. Accept a `page` argument for taxonomy paths. Query strings in magic links are passed as keyword arguments to path handlers. Accept arbitrary arguments to path handlers. Added new `typogrify_oldschool` filter. Improving handling of.dep files, and allowing compilers to specify additional targets for the `render_posts` task. `render_template` and `generic_renderer` can now create HTML fragments. Allow posts to set custom `URL_TYPE` by using the `url_type` meta tag (useful for HTML fragments inserted using JavaScript). Plugins can depend on other plugins being installed. The destination folder in `POSTS` and `PAGES` can now be translated. Pass `post` object and `lang` to post compilers. 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.. Added `CATEGORIES_INDEX_PATH`, similar to `TAGS_INDEX_PATH`. Made `INDEX_PATH`, `RSS_PATH` and `AUTHOR_PATH` translatable. Added setting `SHOW_INDEX_PAGE_NAVIGATION` which enables a basic page navigation for indexes.. Added settings `DISABLE_INDEXES_PLUGIN_INDEX_AND_ATOM_FEED` and. `DISABLE_INDEXES_PLUGIN_RSS_FEED` to disa
7.8.114 Oct 2016 07:25 minor feature: Rename `stories` to `pages` in most of the codebase. Report missing/unknown dates in posts with filenames. Report filename of post that raised exception when scanning. Accept `page` and `pages` for the `type` field in post lists. Don t crash if a post list has no posts. Features. Add Hebrew translation by Yitzhak Bar Geva. Add Chinese (Traditional) `zh_TW` translation by Po-Wen Chi. Add `nikola theme --list-installed`. 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/`.
7.8.030 Aug 2016 03:15 major feature: Features Exposed `gist` as a shortcode. Always copy source files for listings. Detect dependencies in template strings. RSS feeds for sections. New `data` metadata that loads data from external files. Shortcode to escape to the template language. Added link to raw file in listings. New NO_DOCUTILS_TITLE_TRANSFORM. Update options of chart directive to Pygal 2.2.3. Pass global context to template shortcodes. Added new options --html2text and --transform-to-markdown to WordPress importer. Listing: guess the lexer if cannot be determined from the file name. Read files from data/ and insert data in global context. Added link to sources in the output of listing directive. Windows crash with calendar locales. Remove the (useless) `` tag by default; change conf.py to opt in. Show tag descriptions when TAG_PAGES_ARE_INDEXES is True. Record template dependencies for post-list shortcut. Default to English for docutils messages if no translations exist. .
7.7.1206 Aug 2016 03:15 minor feature: Features New Telugu translation by Chillar Anand. Add `sections` filtering in the post list directive. Update Bootstrap to v3.3.7. Added code documentation to ReadTheDocs. (https://nikola.readthedocs.io/en/latest/). Pass language to docutils so admonitions are translated. Put 2-file post metadata in the same place as the text file when specifying a path in `new_post`, `new_page`. Register dependencies in post-list shortcode. Support post-list shortcode better. gallery links in base theme. Respect `DEPLOY_DRAFTS` and `DEPLOY_FUTURE` in `github_deploy`. Don t remove `` if typogrify filters are in use. Avoid infinite loop if bootstrap3 can't be loaded. image rotation to update image size correctly.
7.7.912 Jun 2016 03:15 minor feature: (1000+ stars on GitHub thanks!). Features. New `sc` or `html` reST role, which passes content unaltered. Point the user to our users site after 1st successful deploy. Option to disable color output using `NIKOLA_MONO` environment variable. Improved locale detection in Windows. Added `enclosure_length` meta field for better interop. New Lithuanian translation by Antanas Lasys. Avoid conflicts caused by multiple copies of the same plugin. handling of some wordpress dumps. When using the plugin command, load ALL plugins. plugin removal for plugins that are a package. Reload English messages for every theme to prevent caching. Cache theme messages after loading once. Add `` tags to other languages even if the post is untranslated (Google complained otherwise). Don't call sys.exit() from plugins if possible. Create Persistor directories only if site is configured. Remove newlines in imported WordPress titles.
7.7.830 Apr 2016 05:25 minor bugfix: Features Template-based shortcodes now receive positional arguments too. Use state files in `nikola github_deploy` and `nikola status`. Add `align` options for `youtube`, `vimeo`, `soundcloud` reST directives. Update `FILE_METADATA_REGEXP` example in docs. Show tags too similar error instead of cryptic doit crash. crashes when tag appears multiple times in a post. Use binary I/O for `.svg` files in galleries. Accept `.svgz` extension by default. Don't randomly load plugins when Nikola is called with no arguments.
7.7.711 Mar 2016 03:15 minor bugfix: Features New `--one-file` option to wordpress importer. New Pygal-based chart shortcode. Add `post_type` to post-list directive. Use `sys.executable` for launching pip in `plugin`. Indonesian translation. a JSON conversion in the WordPress importer. Don t create download directories when not downloading WordPress attachments. Don t display Good link messages in `nikola check -l` by default, can be re-enabled with `-v` option. a format string in `nikola check`. Don't crash wordpress importer when posts are "empty". Don't put untranslated and nonexistant posts in sitemap.
7.7.618 Feb 2016 03:15 minor feature: Features Add `FRONT_INDEX_HEADER` setting to allow adding greeting notices to the main index page. Make Jupyter posts build.
7.7.512 Feb 2016 03:15 minor feature: Features Add `nikola theme --new` command for creating new themes. Add `nikola theme --copy-template` command for copying templates to customize them. Add `nikola theme --uninstall` command for deleting themes. Replace `nikola install_theme` with more capable `nikola theme` command. Allow for customizing `github_deploy` commit messages with `-m`. Commit to source branch automatically in `github_deploy` if `GITHUB_COMMIT_SOURCE` is set to True. Hugo-like shortcodes. New Galician translation. New facilities for data persistence and data caching. (internal) allow `scripts/jinjify.py` usage with scripts. some rebuilds with indexes and galleries. Make state files work on Python 3. Don t attempt to create redirects for URLs with query strings in WordPress imports if the site is in a subdirectory. Avoid some random file rebuilds. Honor `MATHJAX_CONFIG` setting. Display tags and archives in a unified format, with the date on the left, instead of a misplaced dash in tags. Decide `is_mathjax` based on current language tags. Don't duplicate images in flowr when resizing page.
7.7.421 Dec 2015 03:15 minor bugfix: Features Added cache for Jinja templates. Use Jupyter instead of IPython shims. Automatically open gallery images colorbox based on URL fragment. enclosures from metadata. Restored log level to INFO (it broke many messages). Check HTTP response status of minifying tools and skip them if they re unavailable. Change rewrite rule for fragment-only links. Mention disabled plugins in `nikola plugin --list-installed`. Don't examine all gallery image dates every build.
7.7.331 Oct 2015 03:15 minor bugfix: Features Recommend `ghp-import2` (better packaging). New `TAGS_INDEX_PATH` option for overwriting the path of the tag index list page. Support for ` strikethrough ` in Markdown. Hungarian translation. `serve` and `auto` publishes DNS Service Discovery records to the local network announcing they re running web servers. Implement translating `DATE_FORMAT` properly. Remove superfluous translatability for a boolean. Pass messages to post-list template. Changed default log level from INFO to NOTICE (`nikola check` is less chatty). support for panorama images in gallery. Support "maps.world.World" and similar charts in Pygal. Capitalize "UTF-8" properly in locale guessing.
7.7.209 Oct 2015 05:45 minor bugfix: Features Warning about Python 2.7 deprecation. New `jsonminify` filter for minifying JSON files. New `xmlminify` filter for minifying XML files. New option `FEED_PREVIEWIMAGE` includes the `post.meta.previewimage` image in Atom and RSS feeds.. Support Pillow v3.0.0. Support setting template in metadata in translated posts. false orphan report for code.css and robots.txt. reST post list date formatting error. Deprecated `RSS_TEASERS`, `RSS_PLAIN`, `RSS_READ_MORE_LINK`, and. `RSS_LINKS_APPEND_QUERY` in favor of `FEED_TEASERS`, `FEED_PLAIN`. `FEED_READ_MORE_LINK`, and `FEED_LINKS_APPEND_QUERY` for both Atom and RSS feeds.. /robots.txt was never being built. SVG thumbnails. Deprecations. Post.section_link is now deprecated. Use site.link('section_index', post.section_slug()) instead. (not. 'section_index_link', as previously stated in this document).
7.7.116 Sep 2015 06:45 minor feature: Features Better Template / JS / CSS demo in sample site. New normalize_html filter. Support UTF-8 paths and encoded links when the `USE_SLUGIFY` option is disabled.. Per-document hyphenation using "hyphenate" metadata flag. New option USE_KATEX to switch from MathJax to KaTeX (Experimental). Support SVG in galleries. Made TAG_PATH translatable. Made CATEGORY_PATH translatable. Display post counts for archive links. Document link/path handlers. Made DATE_FORMAT and JS_DATE_FORMAT translatable. Generate language-specific section links. Rebuild pages when user changes POST_SECTION_COLORS. Look for bundle assets also in output/, allowing bundling of files created by plugins. In listings, if lexer is not specified, use literal. Remove bogus ambiguity on listing links. Unix-slash caused conflict in Windows. Locale is now threadsafe, avoid races in threaded builds. Make typogrify filter work when applied from metadata. Handle metadata in post files that start with a BOM. Handle error downloading bootswatches. Monitor plugins/ in `nikola auto`. Multi-lingual and multi-level directories confused section slug detection. Use Unicode strings for WordPress comment headers. Don't add stories to author pages.
7.7.004 Sep 2015 11:45 major feature: Features New support for online CSS and JS minifying services. Make tag optional with USE_BASE_TAG flag. Render author pages. Atom feeds for tag lists. New `THEME_COLOR` option for customizing themes from a primary color. New `color_hsl_adjust_hex` and `colorize_str_from_base_color` functions available in themes. New `POSTS` output subfolders now generate sections by deault. New `POSTS_SECTIONS` and `POSTS_SECTION_*` options for configuring the section pages. For themers: Each `post` are now asssociated with section_color, section_link, and section_name. Each new section page has a auto-assigned color based on shifting the hue of `THEME_COLOR` based on a hash of the section name, can be overwritten with `POSTS_SECTION_COLORS` option. New `TAG_PAGES_TITLES` and `CATEGORY_PAGES_TITLES` options. Add Bosnian and Serbian (Latin) languages, by Saša Savić bs, sr_latin . Add Portuguese (Portugal) language, by jamatos pt . Make nikola tabcompletion work outside sites. display of categories list in bootstrap theme. If webassets is not installed, use unbundled assets. Check links in Atom and sitemap files. Link checker should check all absolute URLs to self. Check `img source @srcset ` as part of `check -l`. Clean up translations for third party components. `pagekind "main_index" ` set on the main indexes to differentiate them from all the other indexes. Add dependency on metadata file for 2-file posts. Set UTF-8 charset in Content-Type or text/ and *+xml.
7.6.423 Aug 2015 03:15 minor feature: Features Checking remote links also checks redirects (nikola check -lr). Update suggested license to its latest version. Add Punjabi language, by Jasdeep Singh. New option to use custom, and several `TEASER_END` values. Rewrite srcset links. Add dependencies for include tag in Mako. Don t duplicate BLOG_TITLE in the front page title. Escape instad of strip HTML in titles. Make LINK_CHECK_WHITELIST apply to remote link checks. Make STORY_INDEX work together with PRETTY_URLS. Refactor new_post to match lazy plugin loading. Make Nikola startup faster by not loading useless plugins. Ignore sliced multibyte characters when reading metadata for sitemaps. NameError caused by failed import in auto plugin.
7.6.309 Aug 2015 21:45 feature bugfix: Features New translations: Serbian and Bosnian, by saleone. Added mechanism for rest extensions to depend on configuration options. Render Jupyter notebooks (ipynb) in listings. Bugfixes. Handle folders without trailing slashes in nikola auto. Set a base element to aid relative URL resolution, stripped on-the-fly when using the auto or serve command to view site locally.. Rebuild archives when post slugs and titles change. Handle special characters in URLs in nikola auto. Avoid Broken Pipe error in nikola auto. "nikola auto" serving implicit index.html with wrong mime type. Handle non-integer shutter speeds and other variables in WordPress importer.
7.6.230 Jul 2015 14:45 minor bugfix: Features: Make the Google Search example prettier, integrating well with Bootstrap 3. Add categories filter to post list directive. Remove empty directories with nikola check --clean-files. Bugfixes: Don't assume things are HTML in auto mode. Don t rebuild Atom syndication files unnecessarily often. Include.php files in sitemaps. Retry all client errors (4xx) to HEAD as GET reques when checking remote links. Graceful fallback in `nikola serve --detach` on Windows. Don't auto-rebuild on changes to ".foo" or "foo " or changes in folders. auto should also rebuild in response to move events. Don t get metadata from file if compiler-specific metadata exist. Fix PRETTY_URLS prompt for Windows. Fix reST and Markdown title extraction from documents. Minor improvements to the extending document. Re-add the hack to kill nikola auto on C.
7.6.116 Jul 2015 06:25 feature bugfix: Features Several improvements to WordPress importer : Allowing to export categories and category hierarchy with. --export-categories-as-categories. Allowing to exclude private posts, and allowing to include empty posts. Allowing to use HTTP authentication for downloads with --download-auth. Allowing to export comments with --export-comments. Allowing to use WordPress page compiler to directly convert posts to HTML on import with --transform-to-html. Allowing to use WordPress page compiler on imported site instead of converting posts to markdown with --use-wordpress-compiler. Allowing to automatically install the WordPress page compiler when needed with --install-wordpress-compiler. Exporting information on attachments per post as JSON. Exporting post status and excerpt. New pagekind variable available to identify different kind of pages from theme templates. Add `--no-server` option to `nikola auto`. Always return unicode in slugify. Remove logging handlers. Add `-d`, `--detach` option to `nikola serve`. Use provided teaser format (`*_READ_MORE_LINK`) with custom teaser text. Delete old `bootstrap` theme (use `bootstrap3` instead). Screen reader-friendly navbar collapses and dropdowns. Modern reST stylesheets, based in part on Bootstrap 3. Bugfixes. Add missing `xmlns:xhtml` namespace to sitemaps. Fixed superfluous rebuild problems with Python 3. Note that this will cause rebuilds for most sites.. Fix links in sample post. Don't use deprecated Yapsy methods. Surpress wincing when auto is aborted during rebuilding. Show tags only from the current language on tag listing pages. Remove gap between line numbers and code. Fix spurious warnings about posts published in the future.
7.6.003 Jul 2015 04:45 feature bugfix: Features Translate `Write your post here.` to default language. Enable `PRETTY_URLS` by default on new sites created by the wizard. Add `-F`, `--available-compilers` option to `nikola new_post` and `nikola new_page`. Add print CSS to all default themes. Support other kernels for ipynb/Jupyter using. `nikola new_post -f ipynb@kernel`. Add distinct styling for the site footer in bootstrap3. Bootstrap v3.3.5. Use `watchdog` in `nikola auto`. Add redirection for tags in Wordpress importer. Add support for `html_tidy_withconfig` to use a `tidy5.conf` file. Change default tidy5 filters not to drop empty elements. Apply per-post filters via metadata (). Bugfixes. Nikola auto was broken in python 3. Read configuration when importing into an existing site. Don t crash on non-UTF-8 files during sitemap generation. Unnecessary rebuilds of yearly archives. Quietly ignore non-existent files in `nikola check -l`. Don t rebuild all tag or category pages when changing tag/category descriptions. Fix crash in wordpress code importer. Call correct command in `nikola auto`.
7.5.113 Jun 2015 03:15 feature bugfix: Features Suggest misspelled commands. New implementation of the `nikola auto` command. `requests` is now required for all Nikola sites. New `nikola version --check` option. Bugfixes. Support pure markdown posts in WP import (). Make auto shutdown with ctrl-c. Log properly in `nikola auto`. Handle rare gettz failure. Handle missing dependencies better in auto plugin. IDNA mixing unicode/bytes in python 3. Cleaner splitting of metadata in onefile posts (). It's markdown extra, not extras.
7.5.009 Jun 2015 03:15 feature bugfix: Features Make default themes more accessible (). Add ipython support to the default themes. Automatically mark ipynb posts/pages as requiring mathjax. New --get-path option for `nikola install_theme`. New `nikola rst2html` command. New `nikola status` command. Support code in wordpress importers. Cleaner formatting of HTML output. Allowing category hierarchies via new option CATEGORY_ALLOW_HIERARCHIES. . Bugfixes. Dropped empty languages (fil, tl, zh_TW). Extract `nikola check` target list from actual task list instead of parsing. Treat special-purpose draft tag case-insensitive. Avoid some rebuild loops. Better error if two posts/pages output conflict. Scanning of posts refactored out of core. github_deploy records lastdeploy timestamp like regular deploy. Use a global directory for gallery images, ignoring translations. The post-list directive only triggers rebuilds if timeline changes. Don t check the same remote URL more than once. All remotely checked links resulted in incorrect warnings (`nikola check -lr`). Exclude `` from sitemaps. new_post paths are now relative to CWD.
7.4.110 May 2015 12:05 feature bugfix: =============. Features. --------. Better handling of missing/unconfigured compilers. New -r option for the link checker to check remote links. Use static navbars in bootstrap3 and bootstrap themes. Bugfixes. --------. Handle strange URLs, like ed2k://. Fix very old metadata format support.
7.4.006 May 2015 16:45 feature bugfix: Features: Substitutions for RSS_LINKS_APPEND_QUERY for identifying the source feed (feedRelUri) and the kind of feed (feedFormat). New option GENERATE_ATOM, off by default. Current and archive Atom feeds for indexes; category, tag, and archive indexes (RFC-4287 and RFC-5005). Atom feed auto-discovery in HTML indexes and category/tag indexes. .atom included in the sitemap index. New post metadata "updated", inherits "date" if unset. Allow IPv6 in `nikola auto`. Allow IPv6 in `nikola serve`. Set default new site URL to https://example.com/. Plugins can manipulate task dependencies. LINK_CHECK_WHITELIST now works with output relative and full fs paths. Four new filters: html_tidy_nowrap, html_tidy_wrap, html_tidy_wrap_attr, and html_tidy_mini for prettification and minification. Requires tidy5. Multilingual sitemaps. Compatibility with doit v0.28.0. AddThis is no longer added by default to users sites. New translations (az, fil, tl, uk, zh_TW). Add reStructuredText transform support. Produce Unicode output in ``nikola init``. Add ``HIDDEN_TAGS`` and ``HIDDEN_CATEGORIES`` settings to hide some tags and categories (eg. ``mathjax``) from view. Instruct browsers to prefetch newest post when visiting the front page. Add a ``sort`` parameter to the post-list directive to sort posts in the list using natsort. Bugfixes: Make ``.islink`` work properly. RSS_LINKS_APPEND_QUERY not working in RSS feeds for tags. `nikola check -l` didn t scan posts. Don t use sets for ``FAVICONS``. Posts/Pages that use post-list will never be up to date. Support using post.text() in post_list_directive.tmpl. Avoid recursive dep when using post-list in a post. Encode IDNs to Punycode in ``nikola init`` and in links; show an error if the site URL is not Punycode. Make ``images`` the default output directory for IMAGE_FOLDERS. Don't default to any swatch in bootswatch_theme. Fix ``nikola check -l`` for absolute and full-path URL styles. Really add missing trail
7.3.1.123 Apr 2015 12:25 minor feature: ===============. Emergency release to pin doit version to 0.27.0. No code changes since v7.3.1 (not even ``nikola --version``).
7.3.108 Mar 2015 22:55 feature bugfix: Features: Separate new option IMAGE_THUMBNAIL_SIZE for setting size of thumbnails created by scale_images plugin. Don't create larger thumbnails for panorama images in scale_images Added ``root`` path handler. Added RSS feeds to gallery HEAD. Bugfixes: Use pyphen properly when there are no dictionaries for this language. Fix ``nikola deploy`` when there is no cache. Report issues in scale_images properly. Correctly read sub-timezones in ``nikola init``. Fix zoneinfo reading in ``nikola init``. Fix ``.islink`` detection for galleries. Links to languages point to site root and not the blog. Brand link is now language-specific. Fixed compatibility with IPython 3.x. Compilers mark tasks as out of date if compiler-specific options and plugins change.
7.3.014 Jan 2015 08:45 feature bugfix: Features Added ``-a``, ``--author`` option to set post author field Added option INDEXES_PRETTY_PAGE_URL to make URLs for indexes pages more pretty. Added ``-i``, ``--import`` argument to ``new_post`` for importing existing post contents Added warning about ``password`` in posts being insecure INDEXES_TITLE and INDEXES_PAGES are translatable Added new option ARCHIVES_ARE_INDEXES which allows archive pages which list posts to be rendered with the post contents. Added new option INDEXES_STATIC which allows to define the page ordering for indexes . Also, if tag pages are created as indexes, they will behave more close to the default indexes. Use ``table`` line-numbering style with reST code, making copy-pasting code possible Tag and category pages are now more separated. The prefix for category pages can be changed and the folder can be modified independently of the tags' folder. Writing the tag cloud data file can now be disabled. Will be disabled by default in the future. The ``utils.config_changed`` function now takes an optional extra argument, ``identifier``, used to identify the source of a specific dependency save. As such, ALL your files will be rebuilt after upgrading. New option GALLERY_FOLDERS replacing GALLERY_PATH New PANDOC_OPTIONS option New tab-width option in code-block directive New option TAG_PAGES_DESCRIPTIONS for optionally making individual tag pages more unique and interesting New option LISTINGS_FOLDERS which allows to separate input and output folder names for listings, and allows to have more than one listings folder ReST listing directive now honors alternative listings folder names New command line option --conf= to specify the configuration file Added Arabic translation Added Danish translation Added Indonesian translation Added Korean translation Added Serbian translation Added Swedish translation New advanced option RSS_LINKS_APPEND_QUERY for tracking traffic from RSS subscribers Add ``robots`` meta tag with value ``no
7.2.002 Nov 2014 22:25 major feature: Added support for fancy dates via moment.js. Updates: jQuery v1.11.1, Bootstrap v3.3.0. Allow presets usage with ``nikola deploy`` ``DEPLOY_COMMANDS`` is now a dict of preset: commands . New ``GLOBAL_CONTEXT_FILLER`` setting, functions listed there will be called with the local context and the template name before template rendering. New ``USE_CDN_WARNING`` setting to block warnings about potential ``USE_CDN`` misuse (defaults to True). ``nikola check -l`` will warn about mixed-security (HTTP on HTTPS). New ``ConfigPlugin`` category (without any specific behavior by default). New meta property previewimage for use with Open Graph. Expose publishing date, tags, and more in Open Graph. XSL Transform RSS into pretty and helpful webpages when opened in browsers. Multiple bugfixes.