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): 解析 ‘caption’ 選項到 prismHighlight @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;
      }
    • 也適用於 codeblockinclude_code 標籤外掛。

  • fix: 重構文章跳脫 @SukkaW #4472

    • 修復了 prismjs 的問題,在某些情況下,沒有正確移除 hexo 的處理標籤
  • 移除設定中的 plugins 選項 @stevenjoezhang #4475

    # _config.yml
    plugins:
    • plugins 選項很久以前就已棄用,現在已完全移除
    • 外掛應該儲存在 scripts/ 資料夾中,或是透過 npm package.json 安裝。

效能


Hexo 5.0.2

變更

  • 還原 “perf: 避免在 ‘clean’ 指令中執行外掛” #4386 @curbengh #4470
    • 這修復了 hexo clean 中的錯誤。

Hexo 5.0.1

變更


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-filter-mathjax,它也是由 Hexo 開發人員 @stevenjoezhang 所開發。

其他

  • 移除 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

    • 先前 tabmark 選項僅在啟用 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 而不是 Object。 @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

重大變更

重構


hexo-util 2.0.0

重大變更

修復

雜項

相依性

  • chore(deps-dev): 將 rewire 從 4.0.1 升級到 5.0.0 #187