Hexoの設定とカスタマイズについて。一般的なブログを作成する場合に必要なプラグインについて紹介。
目次#
Hexoの設定#
公式サイト:Configuration | Hexo
画像ファイルの配置場所#
デフォルトではsourceディレクトリ直下か、source/imagesなどのディレクトリを作成してそこに配置する。
別の選択肢として、post_asset_folderという変数をtrueにすると記事ごとに画像ファイルなどの保存ディレクトリを自動的に作成する。
post_asset_folder: true |
作成されるディレクトリ名はhexo new post XXXのように生地ファイルの名称と同じ。
関連:HexoのPostに画像を置く | SAUCER blog
とりあえず現状としてはsource/imagesというディレクトリを作成してそこに配置している。
目次に関する設定#
目次の挿入はhexo-tocというプラグインです。おそらく最初からインストールされているはず。
記事を作成する際に、目次を挿入したい位置に<!– toc –>と 書くとその部分に目次が挿入されます。
設定は_config.ymlに記載。
toc: |
重要なのはslugifyという項目は見出しの文字列を変換する方法を指定するオプション。
URLエンコード(uslag)と音訳(transliteration)の二種類(デフォルトはuslaug)。
音訳を選ぶと例えば「見出し」が”midasi”の様に変換される。
詳細:GitHub - bubkoo/hexo-toc: 📖 Insert a markdown TOC before posts be rendered.
エラーとその対策#
上記のプラグインをインストールする際、下記のメッセージが表示されるケースがあります。
npm WARN deprecated [email protected]: CoffeeScript on NPM has moved to "coffeescript" (no hyphen) |
メッセージにある様に、詳細を確認したい場合はnpm audit、自動修正を試みる場合はnpm audit fixです。
npm audit fix |
実際に実行すると、脆弱性のうち、4つは自動修復下画の頃は手動で対処しろというメッセージが表示されます。
ローカルマシン上で使う限り、無視しても問題はないはず。
サイトマップ#
サイトマップのジェネレーターをインストール。
npm install hexo-generator-sitemap --save |
詳細:hexojs/hexo-generator-sitemap: Sitemap generator for Hexo.
設定ファイルに下記を追加。
sitemap: |
テンプレートとして./sitemap_template.xmlというファイルを用意する。pluginのページのsitemap.xmlをコピーする。
hexo-generator-sitemap/sitemap.xml at master · hexojs/hexo-generator-sitemap · GitHub
RSSフィード#
公式:GitHub - hexojs/hexo-generator-feed: Feed generator for Hexo.
RSSフィードのジェネレーターをインストールします。
npm install hexo-generator-feed |
設定に問題がないか、http://localhost:4000/atom.xmlにアクセスして確認する。
OGP#
OGP用のヘルパーは用意されているので、テーマが対応していれば特に問題ない。
titleやdescriptionが適切に設定してある必要あり。
コンテンツディレクトリの_config.ymlもしくは各テーマの_configにSNSアカウントのIDをセットしておくと埋め込まれる。
theme_config: |
参考:HexoでOpen Gragh Protocolの設定をする | エンジニアっぽいことを書くブログ
補助ツール#
hexo admin#
jaredly/hexo-admin: An Admin Interface for Hexo
ブラウザで記事を書くツール。ローカルマシン上で使用してもいいし、サーバー上にインストールしてもいい。
npm install --save hexo-admin |
hexo sでサーバーを起動して、http://localhost:4000/adminにアクセスすると管理画面が表示される。
プログの記事一覧から編集したい記事を選んで、鉛筆のマークのアイコンをクリックすると編集画面が開く。編集すると記事は自動保存される。
編集画面の右上のボタンでPublish/Unpubulishを切り替えることも可能。
適切に設定していればデプロイもメニューからできるようです。
その他#
テーマの設定値の上書き#
コンテンツディレクトリ直下の_config.ymlに以下のようにtheme_configというキー名のあとに記載する。
theme_config: |
theme/テーマ名のディレクトリにある設定ファイルを直接編集してもいいが、git submoduleで追加している場合は避けたほうが良い((デプロイ手段の設定に依存))。
独自タグの作成#
HexoのMarkdownを拡張する | Hello New World