破壊的変更
- Node 8.10 以上が必要 #3778
- Node 8 は1ヶ月以内に非推奨になる予定です。Node 10 以降へのアップグレードを強くお勧めします。
og:locale
Open Graph タグは、language:
(設定、投稿/ページのフロントマター、またはopen_graph()
ヘルパー)がlanguage-TERRITORY
形式でない場合、挿入されません #3808en
は無効ですen-GB
は有効です- すべてのロケールがサポートされているわけではありません (例:
en-AU
は無効)。公式リストを参照してください - 多言語サポートにはダッシュ (例: “en-GB”) を使用する必要があります。ダッシュは
og:locale
で自動的にアンダースコア (例: “en_GB”) に変換されます language:
設定を変更する前に、インストールされたテーマのlanguages/
フォルダに該当するファイルが存在することを確認してください
機能
投稿のパーマリンクに時間と分を追加するサポート #3629
- 使用例
_config.yml
permalink: :year/:month/:day/:hour/:minute/:title/- 結果は
https://example.com/2019/12/09/23/59/a-post/
になります
article:published_time
#3674article:author
#3805 Open Graph タグを挿入iframe関連のタグプラグインで
lazyload
を有効にする #3798iframe
,jsfiddle
,vimeo
,youtube
タグプラグインに影響します- この機能を利用するには、サポートされているブラウザが必要です
- サポートされていないブラウザは単に属性を無視するため、安全に使用でき、常に有効です
メタデータ要素タグを挿入する
meta_generator
ヘルパー #3782- 使用例
- テーマレイアウトの
<head>
要素内に以下のスニペット(EJSを使用している場合)を挿入します。
<%- meta_generator() %>
<meta name="generator" content="Hexo 4.1.0">
を出力します- Hexo 3.9.0 以降はタグを自動的に挿入します。パフォーマンス上の利点(
meta_generator
ヘルパー)を得るには、meta_generator:
オプションを無効にする必要があります。
_config.yml
meta_generator: falsejs()
#3681 およびcss()
#3690 ヘルパーでカスタム属性をサポート- 使用例
<%- js({ src: 'script.js', integrity: 'foo', async: true }) %>
// <script src="/script.js" async></script>
<%- css({ href: 'style.css', integrity: 'foo' }) %>
// <link rel="stylesheet" href="/style.css">バックティックコードブロックを
<table>
要素でラップする有効/無効を切り替えるwrap:
オプションのサポート #3827- デフォルトで有効になっており、
line_number
を有効にするとこれも有効になります highlight:
で設定します
_config.yml
highlight:
line_number: false # must be disabled to disable wrap:
wrap: false- このオプションは
codeblock()
タグプラグインにも渡すことができます #3848
{% codeblock lang:js wrap:false %}
const foo = (bar) => {
return bar;
};
{% endcodeblock %}- 出力:
const foo = (bar) => {
return bar;
};
- デフォルトで有効になっており、
修正
引用符で囲まれたコードブロック内の空白行を保持する #3770
非推奨の
og_updated_time
Open Graph タグをarticle:modified_time
に置き換えました #3674非推奨の
keywords
Open Graph タグをarticle:tag
に置き換えました #3805meta_generator タグは複数行にまたがる
<head>
に挿入されるべきです #3778hexo new
またはhexo --help
の実行時にデータベースdb.json
をクリアしなくなりました #3793ignore:
オプションで指定されたファイル/フォルダを完全に無視する #3797- テーマで Webpack または関連ツールを使用している場合、
node_modules
フォルダが問題を引き起こす可能性があります - 一時的な回避策は、そのフォルダを無視するように Hexo を設定することです。
_config.yml
ignore: '**/themes/*/node_modules/**'- この回避策は将来のバージョンでは不要になります
- テーマで Webpack または関連ツールを使用している場合、
jsfiddle、vimeo、および youtube のタグプラグインは https のみを使用するようになりました #3806
external_link
フィルターはデータ URL (例:mailto:
&javascript:
) [#3812] および<article>
要素を処理するべきではありません #3895Hexo CLI でエイリアスを使用する際に、不要なフロントマターの挿入を防止する #3830
-p
は--path
のエイリアスです-s
は--slug
のエイリアスです-r
は--replace
のエイリアスです
ignore:
オプションは、フォルダに加えてファイルにも機能するはずです [#3878]
整理
- オープンソースソフトウェアライセンスコンプライアンス用の FOSSA ライセンスアナライザーを追加 #3779
- 回帰を検出するために CI でベンチマークを実行 #3776
- lodash の使用量をさらに削減 #3786, #3788, #3790, #3785, #3809, #3791, #3810, #3826, #3867, #3845
- ユニットテストの最後に不要なファイルを削除 #3792
- npm に資金調達ソースを追加 #3851
- strip-ansi を 5.2.0 から 6.0.0 にアップデート #3852
- chalk を 2.4.2 から 3.0.0 にアップデート #3853