Nikola v8.0.0.b1 Release Notes

Release Date: 2018-05-05 // almost 6 years ago
  • On behalf of the Nikola team, I am pleased to announce the immediate availability of Nikola v8.0.0b1.

    πŸš€ Nikola v8.0.0b1 (Beta 1) is the first test release of the v8 series. The v8 series adds a ton of new features and fixes bugs, while also breaking backwards compatibility.

    What is Nikola?

    Nikola is a static site and blog generator, written in Python.
    It can use Mako and Jinja2 templates, and input in many popular markup
    formats, such as reStructuredText and Markdown β€” and can even turn
    πŸ‘ Jupyter (IPython) Notebooks into blog posts! It also supports image
    πŸ— galleries, and is multilingual. Nikola is flexible, and page builds
    are extremely fast, courtesy of doit (which is rebuilding only what
    has been changed).

    Find out more at the website: https://getnikola.com/

    Downloads

    Install using pip install Nikola==8.0.0.beta1.

    ⬆️ Before upgrading to Nikola v8, make sure to read the β€œUpgrading” document.

    πŸ”„ Changes in v8.0.0b1

    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)

    πŸ”‹ Features

    • πŸ‘Œ 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)
    • 0️⃣ 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!)
    • 0️⃣ 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
    • 0️⃣ 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

    • πŸ›  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)
    • 0️⃣ 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)