インジェクターは、生成されたHTMLファイルの<head>や<body>に静的なコードスニペットを追加します。 Hexoはafter_render:htmlフィルターが実行される前にインジェクターを実行します。
概要
| hexo.extend.injector.register(entry, value, to); | 
entry <string>
HTML内でコードが挿入される場所です。
以下の値がサポートされています:
- head_begin:- <head>の直後にコードスニペットを挿入します(デフォルト)。
- head_end:- </head>の直前にコードスニペットを挿入します。
- body_begin:- <body>の直後にコードスニペットを挿入します。
- body_end:- </body>の直前にコードスニペットを挿入します。
value <string> | <Function>
文字列を返す関数がサポートされています。
挿入されるコードスニペットです。
to <string>
コードスニペットが挿入されるページです。
- default: すべての記事やページに挿入します(デフォルト)。
- home: ホームページのみに挿入します(- is_home()ヘルパーが- trueの場合)。
- post: 記事ページのみに挿入します(- is_post()ヘルパーが- trueの場合)。
- page: ページのみに挿入します(- is_page()ヘルパーが- trueの場合)。
- archive: アーカイブページのみに挿入します(- is_archive()ヘルパーが- trueの場合)。
- category: カテゴリページのみに挿入します(- is_category()ヘルパーが- trueの場合)。
- tag: タグページのみに挿入します(- is_tag()ヘルパーが- trueの場合)。
- カスタムレイアウト名も使用可能です。 詳細は執筆 - レイアウトを参照してください。
他にも内部関数があります。 詳細は、hexojs/hexo#4049 を参照してください。
例
| const css = hexo.extend.helper.get("css").bind(hexo); | 
上記の設定では、musicレイアウトの任意のページの</head>にAPlayer.min.css (<link>タグ) を、</body>にAPlayer.min.js (<script>タグ) を、 またすべてのページの</body>にjquery.js (<script> タグ) を挿入します。
ユーザー設定へのアクセス
以下のいずれかを方法を使用します:
| const css = hexo.extend.helper.get("css").bind(hexo); | 
| /* global hexo */ | 
| module.exports = function () { | 
| function injectFn() { | 
| /* global hexo */ | 
| module.exports = (hexo) => () => { | 
| const injectFn = (hexo) => { |