<NME> CHANGES.txt <BEF> New in master ============= Features -------- * Add a ``--timeout`` parameter to the ``check`` plugin, defaulting to 30s. (Issue #3643) Bugfixes -------- * 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) * 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. New in v8.2.2 ============= * Compatibility with Pygments 2.12.0 (Issue #3617, #3618) New in v8.2.1 ============= Features -------- * Add ``emphasize_lines`` directive to code blocks (Issue #3607) * Gallery index pages support the ``status`` flag (Issue #3598) * Add ``start_at`` option to youtube directive (Issue #3603) Bugfixes -------- * Add data files to dependency file (Issue #3608) * Compatibility with doit 0.36.0 (Issue #3612) Note: ``nikola doit_auto`` is not available if using ``doit>=0.36.0``. You can still use ``nikola auto``. New in v8.2.0 ============= Features -------- * Add ``category_titles``, ``category_descriptions``, ``tag_titles``, ``tag_descriptions`` to default context of tags page (Issue #3584) * 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 (Issue #3544) * New ``CommentSystem`` plugin category (Issue #3544) Bugfixes -------- * Fix 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 (Issue #3584) * Fix bug with posts after the first one appearing shifted due to a ``<div>`` closed too early (Issue #3573, #3564) * Fix 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 (Issue #3535) * Typogrify ignores ``div`` elements with ``.math`` CSS class. (Issue #3512) * Adjust panorama aspect ratio to 3:1 and document behaviour. New in v8.1.3 ============= Features -------- * Provide the full ``GLOBAL_CONTEXT`` to the post list shortcode plugin (Issue #3481) * Add ``BasePlugin.register_auto_watched_folder()`` * Allow different ``PANDOC_OPTIONS`` values based on input extensions by specifying a dict of ``{".extension": [options]}`` (Issue #3492) * Allow boolean/integer ``pretty_url`` post meta values in YAML/TOML (Issue #3503) Bugfixes -------- * Fix an ``UnboundLocalError`` crash in ``nikola deploy`` (Issue #3479) 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. (Issue #3499) New in v8.1.2 ============= Features -------- * Fix time zone guessing logic in ``nikola init`` (Issue #3510) * Support for multiple authors per post — comma-separated, enabled by ``MULTIPLE_AUTHORS_PER_POST`` setting (Issue #3252) * Add ``navbar_custom_bg`` theme option to ``bootstrap4`` and document options for ``bootstrap4`` better (Issue #3443) * Add Marathi translation * Restore ``caps`` typogrify filter (wraps strings of capital letters with ``<span class="caps">`` (via Issue #3405) * Improve ``nikola auto`` performance with rate-limiting, support ``-n`` argument to pass to ``nikola build`` (Issue #3401) * Add support for the `Utterances <https://utteranc.es>`_ comment system Bugfixes -------- * Fix previewimages (post- and root-relative) in bootblog4/galleries featured posts for non-server-root sites (Issue #3471) * Windows: Also fix 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 * Fix clicking on links to image files. baguetteBox now requires a link (``<a>``) to have an ``<img>`` as a child in order to make the link activate the lightbox. (Issue #3472) * Fix ``LINK_CHECK_WHITELIST`` having issues due to mixing Unicode and bytestrings (Issue #3466) * Add support for ``nbconvert>=6.0.0`` (Issue #3457) * Read files as utf-8-sig to allow BOM in input files * Don’t break slugs with slashes in ``doc`` directive (Issue #3450) * Avoid warnings from type annotations in ``auto`` caused by missing ``aiohttp`` (Issue #3451) * Ensure query strings and fragments are kept with ``URL_TYPE = "full_path"`` (Issue #3448) * Don’t run typogrify filters on ``<title>`` tag to avoid adding extra tags (Issue #3405) * Fix handling of duplicate plugins on Windows * Allow else clause in post-list plugin. (Issue #3436) * Ensure ``type`` metadata value from plugins is preserved (Issue 3445) * Fix path handlers with slashes on Windows New in v8.1.1 ============= Bugfixes -------- * Default to no line numbers in code blocks, honor CodeHilite requesting no line numbers. Listing pages still use line numbers (Issue #3426) * Remove duplicate MathJax config in bootstrap themes (Issue #3427) * Fix ``doit`` requirement to ``doit>=0.32.0`` (Issue #3422) New in v8.1.0 ============= Features -------- * Support posts without titles (Issue #3408) * Support WebP image scaling (Issue #3399) * Use Luxon instead of Moment for fancy dates to make it more lightweight, going from 328k to 68k (Issue #3232) * New ``nikola console -s script.py`` option to run scripts that access your site (Issue #3385) * 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 (Issue #3248) * Added support for default preview image for posts (Issue #3326) * Added support for thumbnails in gallery lists (Issue #1771) Bugfixes -------- * Support directory names in ``REDIRECTIONS`` (Issue #3421) * 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 (Issue #3229) * Fix RTL mirroring in base theme (``:dir()`` pseudo-class is Firefox only) (Issue #3353) * Work around Bootstrap 4 alignment bug for RTL languages (Issue #3353) * Handle multiple level of inherit/import nesting in Mako templates correctly (Issue #3349) * 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 (Issue #3348) * Sometimes hyphenation added hyphens at the beginning of words (Issue #3362) * Mark gallery images as "dirty" if EXIF configuration changes (Issue #3357) * Fix regression in gallery titles being "index" if there was a index.txt and no title (Issue #3360) * Make gallery indexes depend on destination images to avoid multithreading race condition (Issue #3361) * Mark gallery thumbnails as lazy loading (Issue #2918) * Don't consider JPEG images with EXIF thumbnails as animated (Issue #3332) * Use correct language for hyphenation in posts that are not translated to all languages (Issue #3377) 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() New in v8.0.4 ============= Nikola now supports Python 3.5 or newer. If you are on 3.4, please upgrade to a newer release of Python. Bugfixes -------- * Fix hiding future posts in sitemaps for posts without pretty URLs (Issue #3339) * Pass the correct parameters to shortcodes in jupyter notebooks * Fix handling of conflicts between posts/pages and indexes generated by ``CATEGORY_PAGES_FOLLOW_DESTPATH`` * Fix default date format to ``yyyy-MM-dd`` to avoid bug with ISO years (Issue #3337) * Remove ``extra_header`` and ``extra_footer`` from ``base`` theme due to incompatibility with Mako. The blocks are still available in ``bootstrap4`` and ``bootblog4``. (Issue #3319 via #3291) * Show tracebacks when ``conf.py`` cannot be imported * Fix loading complex config files that import modules (Issue #3314) * Fix 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 (Issue #3344) 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). New in v8.0.3 ============= Features -------- * Add Friulian translation by aoanla * Add ``extra_header`` and ``extra_footer`` blocks to templates (Issue #3291) * Add ``REST_FILE_INSERTION_ENABLED`` config option to enable or disable reST external file inclusion directives (Issue #3311) Bugfixes -------- * Support Markdown v3.x (Issue #3173) * Fix galleries in Firefox Mobile and when resizing window (Issue #3258) * Output ``<code>`` tag for double backticks in reST (Issue #3276) * Fully switch to HTML5 writer for reST (Issue #3276, getnikola/plugins#294) * 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) * Fixed a wordpress import exception when image metadata has floats formated with ',' instead of '.' New in v8.0.2 ============= Features -------- * Make ``ARCHIVE_PATH``, ``ARCHIVE_FILENAME`` translatable (Issue #3234) * Support configuring Isso via ``GLOBAL_CONTEXT['isso_config']`` (Issue #3225) * Handle fragments in doc role (Issue #3212) * Slugify references in doc role. * Add Interlingua translation by Alberto Mardegan * Add Afrikaans translation by Friedel Wolff * Support for docutils.conf (Issue #3188) * Add support for inherited config-files Bugfixes -------- * Avoid random rebuilds with sites whose locales are not fullly supported, and random rebuilds on multilingual sites using Python 3.4/3.5 (Issue #3216) * Apply modifications to ``default_metadata`` before copying it to other languages * Make Commento comments work (Issue #3198) * Correctly handle separators in the relative path given to "ignored_assets" key in theme meta files (Issue #3210) * Fix error when ``nikola new_post`` receives directory name as path (Issue #3207) * 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 (Issue #3191) * Don’t warn if post status is set to ``published`` explicitly (Issue #3181) * 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. (Issue #3231) New in v8.0.1 ============= * 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 (Issue #3166) Bugfixes -------- * Pandoc compiler was passing deleted argument (Issue #3171) * Make ``nikola version --check`` work again (Issue #3170) * Set logging level for reST to warning in order to limit noise * Fix docinfo removal for sites that use reST docinfo metadata (Issue #3167) New in v8.0.0 ============= 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 (Issue #2987) * 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 (Issue #3016) * Sections are replaced by categories (Issue #2833) * You need ``<a class="reference">`` (instead of ``image-reference``) to activate the lightbox now * Date formatting now uses the Babel library, you might need to change ``BABEL_FORMAT`` (Issues #2606, 3121) * The first heading in a reST document is not removed anymore by default unless ``USE_REST_DOCINFO_METADATA`` is enabled (Issues #2382, #3124) 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 (Issue #3133) * 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']`` (Issue #2863) * New data_file option for chart shortcode and directive (Issue #3129) * 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`` (Issue getnikola/plugins#282) * Use Babel instead of the locale module to better handle localizations (Issues #2606, #3121) * Change ``DATE_FORMAT`` formats to CLDR formats (Issue #2606) * Add ``NAVIGATION_ALT_LINKS`` option, displayed on the right side in bootstrap4/bootblog4 (Issue #3030) * Added documentation of Post objects to list of template variables (Issue #3003) * Support featured posts in bootblog4 (Issue #2964) * Add ``THEME_CONFIG`` setting that themes can use in any way * Use youtube-nocookie.com for better privacy in ``youtube`` reST directive and improve the appearance of the player * 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 to ``index`` for existing sites, but ``feed`` 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`` and ``mathjax`` are no longer treated special if ``USE_TAG_METADATA`` is set to ``False`` (default for new sites) (Issue #2761) * Replace ``draft`` and ``private`` tags with a ``status`` meta field (supports ``published``, ``featured``, ``draft``, ``private``) and ``mathjax`` 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 new ``metadata.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 with ``RSS_FILENAME_BASE`` setting (Issue #3041) * 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`` with ``justified-layout.js`` by Flickr (does not require jQuery!) * ``bootblog4`` is the new default theme (Issue #2964) * New ``bootstrap4`` and ``bootblog4`` 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 of ``rst_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 * 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 -------- * Use UTF-8 instead of system encoding for gallery metadata.yml file * Do not remove first heading in document (reST document title) if ``USE_REST_DOCINFO_METADATA`` is disabled (Issue #3124) * Remove ``NO_DOCUTILS_TITLE_TRANSFORM`` setting, this is now default behavior if ``USE_REST_DOCINFO_METADATA`` is disabled (Issue #2382, #3124) * Enforce trailing slash for directories in ``nikola auto`` (Issue #3140) * Galleries with baguetteBox don’t glitch out on the first image anymore (Issue #3141) * Pass arguments to youtube directive unchanged (Issue #3150) * Fix listing installed themes if theme directory is missing. * Watch correct output folder in ``nikola auto`` (Issue #3119) * Fix post fragment dependencies when posts are only available in a non-default language (Issue #3112) * Implement ``MARKDOWN_EXTENSION_CONFIGS`` properly (Issue #2970) * Ignore ``.DS_Store`` when processing listings (Issue #3099) * Remove redundant check for tag similarity (Mentioned in Issue #3123) * Improve appearance of ``bootblog4`` on mobile (Issue #3069) * Make ``smartjoin`` more flexible (Issue #3080) * Make post-list and post_list synonymous (Issue #3083) * Support ``CATEGORY_DESTPATH_NAMES`` with pages following destpath * Make ``CATEGORY_PAGES_FOLLOW_DESTPATH`` more resilient (Issue #3081) * Guard against null items in gallery meta files (Issues #3076, #3077) * Respect ``USE_FILENAME_AS_TITLE`` in galleries with a meta file * Fix gallery metadata for multilingual sites (Issue #3078) * 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`` to ``DISABLE_INDEXES`` and ``DISABLE_INDEXES_PLUGIN_RSS_FEED`` to ``DISABLE_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) * 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`` — use ``nikola 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) and ``generate_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) * Moved ``tag_cloud_data.json`` generation to a separate ``tagcloud`` plugin (Issue #1696) * The ``webassets`` library is no longer required, we now manually bundle files (Issue #3074) New in v7.8.15 ============== * Fix behavior for posts not available in default language (Issues #2956 and #3073) * Fix behavior of RSS_PATH to do what the documentation says it does (Issue #3024) * Use documented dateutil API for time zone list (Issue #3006) New in v7.8.14 ============== * doit v0.31.0 compatibility (Issue #2980, #3004, v8 backport) New in v7.8.13 ============== * Add new Thai translation by Narumol Hankrotha and Jean Jordaan (v8 backport) * Hide “Incomplete language” message for overrides of complete languages * Restore ability to override messages partially New in v7.8.12 ============== * Fix loading non-default languages New in v7.8.11 ============== * Make errors in reST display in logs again * Restore version number to Bootswatch URLs (Issue #2916) New in v7.8.10 ============== * Fix crashes with Jinja2 themes and tag indexes (Issue #2900) * Ignore empty tags in HTML metadata reader (Issue #2890) * Fix crash when compiling empty ``.html`` posts (Issue #2851) New in v7.8.9 ============= * Restore missing unminified assets * Make failures to get source commit hash non-fatal in ``github_deploy`` (Issue #2847) * Fix a bug in HTML meta parsing that crashed on ``<meta>`` tags without ``name`` (Issue #2835) * Fix math not showing up in some circumstances (Issue #2841) New in v7.8.8 ============= This release fixes two grave bugs 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 (Issue #993) * 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) (Part of Issue #2801) * Extract metadata from HTML meta and title tags like Pelican (Issue #1923) * Update assets in the ``base`` and ``base-jinja`` themes and clean up code (Issue #2744) * Show captions in the base theme gallery (Part of issue #2777) Bugfixes -------- * Fix two grave bugs in TOML metadata * Require just one line break after TOML/YAML metadata * Add alt attribute to images in galleries in base theme (Part of issue #2777) * Support empty lines in YAML/TOML metadata (Part of issue #2801) * Tests run on macOS. New in v7.8.7 ============= 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: <https://getnikola.com/handbook.html#metadata-formats> The release also fixes two important bugs, 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 (part of Issue #2809) * Allowing to register filters from plugins, and allowing to specify default filters as strings of the form ``filters.<name>`` (part of Issue #2475) * Support ignoring assets via ``ignore_assets`` theme meta field (Issue #2812) * Ignore unused Colorbox locales (Issue #2812) * Accept tag metadata as lists for YAML/TOML (Issue #2801) * Support for mapping metadata from other formats to Nikola names using the ``METADATA_MAPPING`` setting (Issue #2817) * Support for reStructured text docinfo metadata with ``USE_REST_DOCINFO_METADATA`` option, defaulting to False (Issue #1923) * New ``HIDE_REST_DOCINFO`` option, defaulting to False. * Support for Markdown Metadata for Pelican compatibility by adding ``'markdown.extensions.meta'`` to ``MARKDOWN_EXTENSIONS`` (Issue #1923) * Support for YAML and TOML metadata (Issue #2801) Bugfixes -------- * Use inheritance tree when looking for theme engine (Issue #2816) * Fix unbound variable error in locale guessing (Issue #2806) New in v7.8.6 ============= Features -------- * Guess file format from file name on new_post (Issue #2798) * Use BaguetteBox as lightbox in base theme (Issue #2777) * New ``deduplicate_ids`` filter, for preventing duplication of HTML ``id`` attributes (Issue #2570) * Ported gallery image layout to base theme (Issue #2775) * Better error handling when posts can't be parsed (Issue #2771) * Use ``.theme`` files to store theme metadata (Issue #2758) * New ``add_header_permalinks`` filter, for Sphinx-style header links (Issue #2636) * Added alternate links for gallery translations (Issue #993) Bugfixes -------- * Use ``locale.getdefaultlocale()`` for better locale guessing (credit: @madduck) * Save dependencies for template hooks properly (using ``.__doc__`` or ``.template_registry_identifier`` for callables) * Enable larger panorama thumbnails (Issue #2780) * Disable ``archive_rss`` link handler, which was useless because no such RSS was ever generated (Issue #2783) * Ignore files ending wih "bak" (Issue #2740) * Use page.tmpl by default, which is inherited from story.tmpl (Issue #1891) Other ----- * Limit Jupyter support to notebook >= 4.0.0 (it already was in requirements-extras.txt; Issue #2733) New in v7.8.5 ============= 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 (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 using ``nikola 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`` to ``POSTS_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 with ``PRETTY_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) New in v7.8.4 ============= 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``, 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 (generated from title) if ``nikola new_post`` receives directory name as path (Issue #2651) * Add a ``require_all_tags`` parameter to the ``post-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`` and ``HTML_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`` is ``True`` while ``INDEXES_STATIC`` is ``False``. (Issue #2654) * Make ``NEW_POST_DATE_PATH`` follow ``rrule`` if it exists (Issue #2653) New in v7.8.3 ============= Emergency bugfix release (``nikola new_page`` did not work in v7.8.2). 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) New in v7.8.2 ============= **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`` and ``NEW_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`` 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 (Issue #2533) * The destination folder in ``POSTS`` and ``PAGES`` can now be translated (Issue #2116) * Pass ``post`` object and ``lang`` 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 to ``TAGS_INDEX_PATH``. (Issue #2567) * Made ``INDEX_PATH``, ``RSS_PATH`` and ``AUTHOR_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`` and ``DISABLE_INDEXES_PLUGIN_RSS_FEED`` to disable specific parts of the ``classify_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 &amp; etc. in tags. (Issue #2557) * If ``CODE_COLOR_SCHEME`` is empty, don’t generate ``code.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 as ``global_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 and ``INDEXES_STATIC == False``. (via Issue #2579) New in v7.8.1 ============= 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/`` Bugfixes -------- * Rename ``stories`` to ``pages`` 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`` and ``pages`` for the ``type`` field in post lists * Don’t crash if a post list has no posts (Issue #2489) New in v7.8.0 ============= 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) New in v7.7.12 ============== Features -------- * New Telugu translation by Chillar Anand * Add ``sections`` filtering in the post list directive (Issue #2409) * Update Bootstrap to v3.3.7 * Add ``EXTRA_THEMES_DIRS`` search path, similar to ``EXTRA_PLUGINS_DIRS``, to locate themes at other places (Issue #2427) Bugfixes -------- * Added code documentation to ReadTheDocs (Issue #2124) (https://nikola.readthedocs.io/en/latest/) * 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`` and ``DEPLOY_FUTURE`` in ``github_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) New in v7.7.11 ============== Bugfixes -------- * Brown bag bug in image resizing (ralsina says my fault!) New in v7.7.10 ============== 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 reST ``doc`` role — part of Issue #2170) * Added Albanian translation by Vango Stavro * Added ``post-(type)`` class to ``story.tmpl`` (uses the ``type`` meta field, defaults to ``post-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) New in v7.7.9 ============= (1000+ stars on GitHub — thanks!) Features -------- * New ``sc`` or ``html`` 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) New in v7.7.8 ============= Features -------- * Template-based shortcodes now receive positional arguments too (Issue #2319) Bugfixes -------- * Fix folder handling and redirects in ``nikola auto`` (Issue #2331) * Use state files in ``nikola github_deploy`` and ``nikola status`` (Issue #2317) * Add ``align`` options for ``youtube``, ``vimeo``, ``soundcloud`` reST directives (Issue #2304) * Update ``FILE_METADATA_REGEXP`` example in docs (Issue #2296) * Show “tags too similar” error instead of cryptic doit crash (Issue #2325) * Fix crashes when tag appears multiple times in a post (Issue #2315) * 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 (Issue #2297) New in v7.7.7 ============= Features -------- * New ``--one-file`` option to wordpress importer (Issue #2262) * New Pygal-based chart shortcode (Issue #2170) * Add ``post_type`` to post-list directive (Issue #2272) * Use ``sys.executable`` for launching pip in ``plugin`` (Issue #2275) Bugfixes -------- * Fix Indonesian translation (Issue #2291) * Fix a JSON conversion bug in the WordPress importer (Issue #2264) * Don’t create download directories when not downloading WordPress attachments (Issue #2260) * Don’t display “Good link” messages in ``nikola check -l`` by default, can be re-enabled with ``-v`` option (Issue #2268) * Fix a format string in ``nikola check`` (Issue #2267) * Don't crash wordpress importer when posts are "empty" (Issue #2263) * Don't put untranslated and nonexistant posts in sitemap (Issue #2289) New in v7.7.6 ============= Features -------- * Add ``FRONT_INDEX_HEADER`` setting to allow adding greeting notices to the main index page (Issue #2249) Bugfixes -------- * Make Jupyter posts build (Issues #2248, #2252) New in v7.7.5 ============= Features -------- * Add ``nikola theme --new`` command for creating new themes (Issue #2231) * Add ``nikola theme --copy-template`` command for copying templates to customize them (Issue #2231) * Add ``nikola theme --uninstall`` command for deleting themes (Issue #2231) * Replace ``nikola install_theme`` with more capable ``nikola theme`` command (Issue #2231) * Allow for customizing ``github_deploy`` commit messages with ``-m`` (Issue #2198) * Commit to source branch automatically in ``github_deploy`` if ``GITHUB_COMMIT_SOURCE`` is set to True (Issue #2186) * Hugo-like shortcodes (Issue #1707) * New Galician translation * New PRESERVE_EXIF_DATA option to copy EXIF when resizing images (Issue #2204) * New facilities for data persistence and data caching (Issues #2209 and #2009) * (internal) allow ``scripts/jinjify.py`` usage with scripts (Issue #2240) Bugfixes -------- * Fix 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 (Issue #2224) * Avoid some random file rebuilds (Issue #2220) * 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 (Issue #2212) * Decide ``is_mathjax`` based on current language tags (Issue #2205) * Don't duplicate images in flowr when resizing page (Issue #2202) New in v7.7.4 ============= Features -------- * Added cache for Jinja templates (Issue #2166) * Use Jupyter instead of IPython shims (Issue #1938) * Automatically open gallery images colorbox based on URL fragment (Issue #2146) Bugfixes -------- * Fix enclosures from metadata (Issue #2189) * 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 (Issue #2132) * Mention disabled plugins in ``nikola plugin --list-installed`` (Issue #2139) * Don't examine all gallery image dates every build (Issue #2160) New in v7.7.3 ============= Features -------- * Recommend ``ghp-import2`` (better packaging) (Issue #2152) * New ``TAGS_INDEX_PATH`` option for overwriting the path of the tag index list page. * Support for ``~~strikethrough~~`` in Markdown (Issue #2149) * Hungarian translation (by Baptiste Darthenay) * ``serve`` and ``auto`` publishes DNS Service Discovery records to the local network announcing they’re running web servers. Bugfixes -------- * Implement translating ``DATE_FORMAT`` properly * Remove superfluous translatability for a boolean (Issue #2140) * Pass messages to post-list template (Issue #2156) * Changed default log level from INFO to NOTICE (``nikola check`` is less chatty) * Fix support for panorama images in gallery(Issue #2143) * Support "maps.world.World" and similar charts in Pygal (Issue #2142) * Capitalize "UTF-8" properly in locale guessing (Issue #2137) New in v7.7.2 ============= Features -------- * Warning about Python 2.7 deprecation (Issues #2121, #2122) * 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. (Issue #2095) Bugfixes -------- * Support Pillow v3.0.0 (Issue #2130) * Support setting template in metadata in translated posts (Issue #2114) * Fix false orphan report for code.css and robots.txt (Issue #2106) * Fix reST post list date formatting error (Issue #2104) * 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. (Issue #2095) * /robots.txt was never being built (Issue #2098) * SVG thumbnails (Issue #2094) Deprecations ------------ * Post.section_link is now deprecated (Issue #2086). Use site.link('section_index', post.section_slug()) instead. (not 'section_index_link', as previously stated in this document) New in v7.7.1 ============= 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. (Issue #2037) * Per-document hyphenation using "hyphenate" metadata flag. * New option USE_KATEX to switch from MathJax to KaTeX (Experimental). * Support SVG in galleries (Issue #1605) * Made TAG_PATH translatable (Issue #1914) * Made CATEGORY_PATH translatable (Issue #1914) * Display post counts for archive links (Issue #2011) * Document link/path handlers (Issue #2008) * Made DATE_FORMAT and JS_DATE_FORMAT translatable (Issue #2032) Bugfixes -------- * Generate language-specific section links (Issue #2069) * Rebuild pages when user changes POST_SECTION_COLORS (Issue #2066) * Look for bundle assets also in output/, allowing bundling of files created by plugins (Issue #1370) * In listings, if lexer is not specified, use literal (Issue #2078) * Remove bogus ambiguity on listing links (Issue #2080) * Unix-slash caused conflict in Windows (Issue #2079) * Locale is now threadsafe, avoid races in threaded builds (Issue #2071) * Make typogrify filter work when applied from metadata (Issue #2064) * Handle metadata in post files that start with a BOM (Issue #2059) * Handle error downloading bootswatches (Issue #2054) * Monitor plugins/ in ``nikola auto`` (Issue #2044) * Multi-lingual and multi-level directories confused section slug detection (Issue #2023) * Use Unicode strings for WordPress comment headers (Issue #2019) * Don't add stories to author pages (Issue #2007) New in v7.7.0 ============= Features -------- * New support for online CSS and JS minifying services (Issue #1999) * Make <base> tag optional with USE_BASE_TAG flag (Issue #1985) * Render author pages (Issue #1972) * Atom feeds for tag lists (Issue #1686) * New ``THEME_COLOR`` option for customizing themes from a primary color (Issue #1980) * New ``color_hsl_adjust_hex`` and ``colorize_str_from_base_color`` functions available in themes (Issue #1980) * New ``POSTS`` output subfolders now generate sections by deault (Issue #1980) * New ``POSTS_SECTIONS`` and ``POSTS_SECTION_*`` options for configuring the section pages (Issue #1980) * For themers: Each ``post`` are now asssociated with section_color, section_link, and section_name (Issue #1980) * 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 (Issue #1980) * New ``TAG_PAGES_TITLES`` and ``CATEGORY_PAGES_TITLES`` options (Issue #1962) * Add Bosnian and Serbian (Latin) languages, by Saša Savić [bs, sr_latin] * Add Portuguese (Portugal) language, by jamatos [pt] Bugfixes -------- * Make nikola tabcompletion work outside sites (Issue #1983) * Fix display of categories list in bootstrap theme (Issue #2002) * If webassets is not installed, use unbundled assets (Issue #1992) * Check links in Atom and sitemap files (Issue #1993) * Link checker should check all absolute URLs to self (Issue #1991) * Check ``img|source[@srcset]`` as part of ``check -l`` (Issue #1989) * 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 (Issue #1968) * Set UTF-8 charset in Content-Type or ``text/*`` and ``*+xml`` (Issue #1966) New in v7.6.4 ============= Features -------- * Checking remote links also checks redirects (nikola check -lr) * Update suggested license to its latest version (Issue #1950) * Add Punjabi language, by Jasdeep Singh (Issue #1940) * New option to use custom, and several ``TEASER_END`` values Bugfixes -------- * Rewrite srcset links (Issue #1939) * Add dependencies for include tag in Mako (Issue #1956) * Don’t duplicate BLOG_TITLE in the front page title (Issue #1952) * Escape instad of strip HTML in titles (Issue #1952) * Make LINK_CHECK_WHITELIST apply to remote link checks * Make STORY_INDEX work together with PRETTY_URLS (Issue #1949) * Refactor new_post to match lazy plugin loading (Issue #1943) * Make Nikola startup faster by not loading useless plugins (Issue #1825) * Ignore sliced multibyte characters when reading metadata for sitemaps * Fix NameError caused by failed import in auto plugin. New in v7.6.3 ============= Features -------- * New translations: Serbian and Bosnian, by saleone * Added mechanism for rest extensions to depend on configuration options (Issue #1919) * Render Jupyter notebooks (ipynb) in listings (Issue #1900) Bugfixes -------- * Ignore sliced multibyte characters when reading metadata for sitemaps * Handle folders without trailing slashes in nikola auto (Issue #1933) * Set a base element to aid relative URL resolution, stripped on-the-fly when using the auto or serve command to view site locally. (Issue #1922) * Rebuild archives when post slugs and titles change (Issue #1931) * Handle special characters in URLs in nikola auto (Issue #1925) * Avoid Broken Pipe error in nikola auto (Issue #1906) * "nikola auto" serving implicit index.html with wrong mime type (Issue #1921) * Handle non-integer shutter speeds and other variables in WordPress importer (Issue #1917) New in v7.6.2 ============= Features -------- * Make the Google Search example prettier, integrating well with Bootstrap 3 (Issue #1912) * Add categories filter to post list directive (via Issue #1889) * Remove empty directories with nikola check --clean-files (Issue #1873) Bugfixes -------- * Don't auto-rebuild on changes to ".foo" or "foo~" or changes in folders. * Don't assume things are HTML in auto mode (Issue #1915) * 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 (Issue #1913) * 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 (Issue #1904) * Fix PRETTY_URLS prompt for Windows (Issue #1901) * Fix
{'addition_count': 1, 'commit_subject': 'Update changelog [ci skip]', 'deletion_count': 0, 'file_extension': '.txt', 'lang': 'txt', 'license': 'mit', 'repo_name': 'getnikola/nikola'}