Official plugins hexo-cli 4.1.0, hexo-migrator-wordpress 2.1.0, hexo-migrator-rss 1.1.0 & hexo-generator-sitemap 2.1.0 released

hexo-cli 4.1.0

Include changes in v4.0.0

Breaking change

  • Requires Node 10.13+ #195

Fixes

  • More detailed information for hexo not found @stevenjoezhang #206
    • When hexo binary could not be located, we usually recommend removing the node_modules folder and reinstall the packages.
    • $ rm -rf node_modules && npm install --force
  • fix(init): fix hexo init error with a number target project name @brelian #200
    • It’s now possible to hexo init 888
  • fix(init): shallow clone and reduce verbosity @curbengh #129
    • This should result in faster hexo init due to less file download.
    • hexo init operates by git clone hexo-starter. With this change, git now just clone recent commit history (shallow clone), instead of full history.
    • hexo init is also more quiet while still show error if encountered.
  • Improve Node 14 compatibility #185 #190

Refactor

Housekeeping

  • chore: update hexo-starter @curbengh #147
  • chore: add release-drafter @YoshinoriN #165
  • ci: drop Node 8 @curbengh #185
  • ci: add GitHub Actions @curbengh #223
  • chore(deps-dev): bump hexo-renderer-marked from 2.0.0 to 3.0.0 #216
  • chore(deps-dev): bump mocha from 6.2.2 to 8.0.1 #172 #203 #209
  • chore(deps-dev): bump eslint from 6.8.0 to 7.0.0 #197
  • chore(deps-dev): bump rewire from 4.0.1 to 5.0.0 #170
  • chore(deps): bump chalk from 2.4.2 to 4.0.0 #131 #178
  • chore(deps-dev): bump sinon from 7.5.0 to 9.0.2 #151 #180
  • chore(deps-dev): bump nyc from 14.1.1 to 15.0.0 #149
  • chore(deps-dev): bump eslint-config-hexo from 3.0.0 to 4.1.0 #139 #143

hexo-migrator-wordpress 2.1.0

Breaking change

  • Drop support of Node 13 due to compatibility issue; this doesn’t prevent npm from installing this plugin in Node 13, it shows warning instead. #96
    • Nodejs has officially dropped support of Node 13 since 1 Jun 2020.
  • fix(turndown): headingStyle: ‘atx’ & codeBlockStyle: ‘fenced’ #65
    • More in-line with markdown style preferred by Hexo.

Feature

  • feat: import excerpt with markup #64

    • Retain original markup of excerpt
    title: foo bar
    date: 2020-01-01 00:00:00
    ---

    Lorem ipsum [dolor](http://example.com/) sit amet, **nam** ex putant _intellegat_ reprehendunt.

    <!-- more -->

    Cu nulla aeterno nec, tibique deterruisset an eam, ea pro dolorem vituperata.
  • Option to import image attachments (original WP link must be up) #69 #70 #72 #73 #78 #85 #91

    • All attachments are imported by default, including original-sized and resized.
      • Usage: $ hexo migrate wordpress /path/export.xml --import-image
    • There is an option to import original-size images only.
      • Usage: $ hexo migrate wordpress /path/export.xml --import-image original
  • Import nested categories #89

    • Imported categories are also no longer nested anymore if the original are not.
  • feat: ‘default-category’ option #93

    • Uncategorized category is now skipped by default.
    • A default category can be set for posts without any category.
      $ hexo migrate wordpress /path/export.xml --default-category 'unknown'
    • Category name defaults to the value set in user configuration:
    _config.yml
    default_category: uncategorized

Fix

  • fix: unescape title if escaped #82
    • A post could be entitled Some&quot;Title&quot;, the fix is to detect the pattern and unescape it when necessary.
  • fix: stricter excerpt regex #88
    • Now only the following variants of excerpt tag are valid.
    1. <!--more-->
    2. <!-- more-->
    3. <!--more -->
    4. <!-- more -->
  • fix: handle title with double quotes #67
    • Escape double quote before passing to yml parser
  • fix: restore paragraph #79
  • Import tags and categories separately #81

Documentation

  • Add export instruction for Wordpress v5 #84

hexo-migrator-rss 1.1.0

Breaking change

  • Drop support of Node 13 due to compatibility issue; this doesn’t prevent npm from installing this plugin in Node 13, it shows warning instead. #69
    • Nodejs has officially dropped support of Node 13 since 1 Jun 2020.
  • fix(turndown): headingStyle: ‘atx’ & codeBlockStyle: ‘fenced’ #65
    • More in-line with markdown style preferred by Hexo.

Feature

  • feat: import excerpt with markup #65

    • Retain original markup of excerpt
    title: foo bar
    date: 2020-01-01 00:00:00
    ---

    Lorem ipsum [dolor](http://example.com/) sit amet, **nam** ex putant _intellegat_ reprehendunt.

    <!-- more -->

    Cu nulla aeterno nec, tibique deterruisset an eam, ea pro dolorem vituperata.

Fix

  • fix: unescape title if escaped #71
    • A post could be entitled Some&quot;Title&quot;, the fix is to detect the pattern and unescape it when necessary.
  • fix: stricter excerpt regex #70
    • Now only the following variants of excerpt tag are valid.
    1. <!--more-->
    2. <!-- more-->
    3. <!--more -->
    4. <!-- more -->
  • fix: handle title with double quotes #64
    • Escape double quote before passing to yml parser

hexo-generator-sitemap 2.1.0

Changes

  • Include site’s tags, categories and home page in the sitemap #26
  • fix(sitemap): use date only in <lastmod> #94
    • 2020-01-02 13:42:599Z => 2020-01-02