Hexo 5.1.0, hexo-renderer-marked 3.1.0, hexo-math 4.0.0 & hexo-util 2.4.0 がリリースされました

Hexo 5.1.0

機能

  • feat(highlight): prismHighlight に 'caption' オプションを解析する @curbengh #4476

    • caption が prismjs で利用可能になりました
    _config.yml
    highlight:
    enable: false
    prismjs:
    enable: true
    • トリプルバッククォートのコードブロックで使用できます
    ``` js caption
    console.log('foo')
    ```
    • 上記のコードブロックは以下のようにレンダリングされます
      (簡潔にするため、class 属性は省略します)

      <pre><div class="caption"><span>caption</span></div><code>console...</code></pre>
    • キャプションのスタイルは以下のように指定できます

      pre div.caption {
      font-size: 0.9em;
      color: #888;
      }

      pre div.caption a {
      float: right;
      }
    • codeblock および include_code タグプラグインでも利用可能です。

  • fix: ポストエスケープをリファクタリングする @SukkaW #4472

    • 一部のケースで、prismjs が hexo の処理タグを適切に削除しない問題を修正しました
  • 設定からプラグインオプションを削除する @stevenjoezhang #4475

    # _config.yml
    plugins:
    • plugins オプションは以前から非推奨となっており、今回完全に削除されました
    • プラグインは scripts/ フォルダに保存するか、npm の package.json を介してインストールする必要があります。

パフォーマンス

  • perf(backtick_code): 重複したエスケープを避ける @SukkaW #4478

Hexo 5.0.2

変更点

  • “perf: 'clean' コマンドでプラグインの実行を避ける” をリバートする #4386 @curbengh #4470
    • これにより、hexo clean でのエラーが修正されます。

Hexo 5.0.1

変更点

  • fix(helpers): hexo-util から url_for を呼び出す @curbengh #4447
  • perf(external_link): 正規表現を更新する @SukkaW #4467
    • external_link フィルターの正規表現が、isExternalLink にのみ依存するのではなく、事前に外部リンクをマッチングするようになりました。
  • perf(injector): 短縮形の最適化 @SukkaW #4462

hexo-renderer-marked 3.1.0

機能

  • feat: ポストの相対パスを先頭に追加する postAsset #159

    • この機能により、asset_img タグプラグインは不要になりました。
    • post_asset_folder にのみ適用されます
    • 例として、”image.jpg” が “/2020/01/02/foo/image.jpg” にあり、これは “/2020/01/02/foo/“ のポストアセットであるとします。
      • ![](image.jpg)<img src="/2020/01/02/foo/image.jpg"> になります
    • 有効にするには
    _config.yml
    post_asset_folder: true
    marked:
    prependRoot: true
    postAsset: true
  • feat: レイジーロード #156

    • 画像がビューに入ってきたときにのみロードします。解説
    • loading="lazy" がすべての画像埋め込み <img> に挿入されます。
    • サポートされているブラウザでのみ有効です。
    • 有効にするには
    marked:
    lazyload: true

依存関係

  • chore(deps-dev): hexo を 4.2.1 から 5.0.0 に上げる #158

hexo-math 4.0.0

破壊的な変更

  • 構文がタグプラグイン構文 {% %} に変更されました #130

    {% katex %}
    c = \pm\sqrt{a^2 + b^2}
    {% endkatex %}
    {% mathjax %}
    \frac{1}{x^2-1}
    {% endmathjax %}
    • レンダラーオプションは高度にカスタマイズ可能であり、投稿間や投稿内でも異なる場合があります。使い方のガイドについては、ドキュメントを参照してください。
    • $...$ 構文を使用したい場合は、Hexo 開発者である @stevenjoezhang が開発した hexo-filter-mathjax をお勧めします。

その他

  • Travis CI を削除 #134

hexo-util 2.4.0

破壊的な変更

  • fix(highlight): wrap が無効の場合は <div> を使用する @curbengh #229

    • wrap が無効の場合
    _config.yml
    highlight:
    wrap: false # defaults to true
    • 以前は、キャプションは次のようにレンダリングされていました
    <pre>
    <figcaption>caption</figcaption>
    <code></code>
    </pre>
    • 現在は次のようにレンダリングされます
    <pre>
    <div class="caption">caption</div>
    <code></code>
    </pre>

機能

  • feat(prism): キャプション @curbengh #227

    • キャプションは次のようにレンダリングされます
    <pre>
    <div class="caption">caption</div>
    <code></code>
    </pre>

hexo-util 2.3.0

変更点

  • feat(highlight): wrap が無効の場合に ‘tab’ と ‘mark’ をサポートする @curbengh #225

    • 以前は tab および mark オプションは wrap が有効な場合にのみ利用可能でしたが、現在は wrap が無効な場合でも利用可能です。
    _config.yml
    highlight:
    tab_replace: ' '
    wrap: false
    {% codeblock lang:js mark:2,5 %}
    const input = [
    { name: 'lorem', item: 'ipsum' },
    { name: 'per', item: 'doming' },
    { name: 'dolor', item: 'lorem' },
    { name: 'usu', item: 'pericula' }
    ]
    {% endcodeblock %}
  • ci: appveyor を削除 @curbengh #224

  • docs(spawn): アップストリームドキュメントへのリンク @curbengh #223

hexo-util 2.2.0

機能

  • perf(cache): オブジェクトの代わりに高速な Map を使用します。 @SukkaW #209

  • feat(cache): cache#dump & cache#size @SukkaW #209

    // Output number of key-value pairs
    cache.size();
    // 3

    // Outputs everything in cache
    cache.dump();
    /*
    {
    foo: 'bar',
    baz: 123,
    qux: 456
    }
    */

修正

  • spawn() での文字列引数をサポートする @curbengh #220

    • 以前は spawn() は配列引数のみをサポートしていました
    spawn('cat', ['test.txt']).then((content) => {
    console.log(content);
    });
    • 現在は文字列引数も有効です
    spawn('cat', 'test.txt').then((content) => {
    console.log(content);
    });
  • fix(highlight): wrap が無効な場合に キャプション をサポートする @curbengh #210

    _config.yml
    highlight:
    wrap: false
    ```js caption
    const hi = 'bob'
    ```

ハウスキーピング

依存関係

  • chore(deps-dev): mocha を 7.2.0 から 8.0.1 に上げる #211
  • chore(deps-dev): eslint を 6.8.0 から 7.0.0 に上げる #207

hexo-util 2.1.0

破壊的な変更

リファクタリング

  • refactor: プロトタイプからクラス構文へ @curbengh #199

hexo-util 2.0.0

破壊的な変更

修正

その他

依存関係

  • chore(deps-dev): rewire を 4.0.1 から 5.0.0 にアップデート #187