Hexo 2.8 リリース

Hexo 2.8 が書き直され、パフォーマンスの向上と多くの改善が行われました。以下はこのバージョンのハイライトです。GitHub で 詳細 を確認できます。

高速処理速度

Hexo 2.8 以前では、Hexo を使用すると毎回すべてのソースファイルが処理されていましたが、Hexo 2.8 では、データベース全体が db.json に保存されるため、Hexo はすべてのファイルを再び処理する必要はありません。また、プロセッサがファイルが変更されたかどうかを検出するために、新しいデータタイプ「skip」が追加されました。

Hexo 2.8 では、生成も変更されました。コンソールで各ファイルの経過時間を確認できます。しかし、マルチプロセス生成は生成速度に大きな影響を与えませんでした。したがって、multi_threadmax_open_file の設定は Hexo 2.8 では非推奨になっています。

ドラフトパブリッシュ

記事を公開するために完全なファイル名を入力する必要がなくなりました。ドラフトパブリッシュシステムは Hexo 2.8 で書き直されました。new_post_name 設定は、ドラフトが公開されるまで適用されます。さらに、公開時に適用するレイアウトを選択できます。

$ hexo publish [layout] <filename>

新しい API post.publish が追加され、ドラフトの公開がさらに簡単になりました。

hexo.post.publish({slug: 'hello-world', layout: 'post'}, function(err, target){
// ...
});

パーマリンク

ファイル名とパーマリンクは、今ではより普遍的な変数システムを共有します。ファイル名内のすべての変数は、パーマリンクでも読み取ることができます。例として、次の設定があります

permalink: :type/:title/
new_post_name: :type/:title.md

記事を作成すると、記事は source/_posts/test/Hello-World.md に保存され、URL は https://:4000/test/Hello-World/ になります。

$ hexo new "Hello World" --type test

多言語サポート

前のセクションで導入された新しいパーマリンクを使用すると、より簡単に多言語サイトを作成できます。例えば

permalink: :lang/:title/
new_post_name: :lang/:title.md

次に、--lang オプションを使用して記事を作成できます。

$ hexo new "Hello World" --lang en
# => This post will be saved to source/_posts/en/Hello-World.md
# => URL: https://:4000/en/Hello-World/

$ hexo new "你好世界" --lang tw
# => This post will be saved to source/_posts/tw/你好世界.md
# => URL: https://:4000/tw/你好世界/

permalink_defaults 設定で、パーマリンク変数のデフォルト値を定義できます。例えば、デフォルトの言語を英語として定義します。

permalink_defaults:
lang: en