ホスティング先をNetlifyに変更するついでにやったこと、ハマったことまとめ。
1.記事が前日のものとして公開される
Netlifyが自動デプロイした記事のパーマリンクが1日前に設定されていることに気づいた。Markdownにはdate: 2017-08-04
と記述しているが、デプロイされると
http://rythgs.co/archives/2017/08/03/hogehoge/
上記のような1日前のパーマリンクになってしまう。ローカル環境でhexo generate
すると大丈夫なのでhexo generate
したサーバーのtimezoneに依存するのだろう。おそらくUTCで-9時間してるんだよね。
解決法としては、すべてのMarkdownに時間まで設定してデプロイし直したらOKだった。(ex. date: 2017-08-04 12:12:12
)
2.webpack導入
モジュールをバンドルするのにgulp使っていたのをwebpackに移行した。
主な変更点は以下の通り。
- Hexoプラグインでやっていたminifyをバンドル時に実施
- jQueryプラグイン系はすべてnpmで管理
yarn add --dev webpack babel-core babel-loader babel-preset-es2015 |
const webpack = require('webpack'); |
ハマったところ
webpack実行しようとしたらisotope-layoutの名前解決ができねーよって怒られる。
どうやらresolve設定を書いてやる必要があるみたいで。
jQueryプラグインとして使用するとエラーになったのでバニラで記述するようにした。
const isotope = new Isotope('.hoge', { /* options */ }); |
3.Hexoプラグインの見直し
Hexoで運用してしばらくたったのでプラグインを整理してみた。browsersyncやminify系プラグインを外したり。現在入れているプラグインは以下の通り。
hexo-clean-css
CSSをminifyする。JavaScriptはwebpackで実施。
hexo-html-minifier
HTMLをminifyする。
hexo-generator-robotstxt
robots.txtを生成する。
hexo-generator-feed
Atomfeedの生成。
hexo-generator-seo-friendly-sitemap
sitemap.xmlの生成。もう一つhexo-generator-sitemap
があるが、「seo friendly」と掲げているのでこちらを採用した。
4.フォント設定を見直し
Note Sans Japaneseを読み込んでいたが、1.6MBと重たいので廃止した(サブセット化するまでもない)。それとカーニング設定を追加。
letter-spacing: .1em |
以上、内部的なお話でした。