NetlifyGatsbyに変更した理由Hugoは元々サイトビルドが爆速という理由で採用しました。事実、ローカルサーバを作る場合でも300ページ近いブログも一瞬(0.2秒程度)でビルドが終わりlocalhostで接続できるのでこの点については全く不満なし。実際にWEBサイトとして運用するにあたって下記の点が課題になっていました。submoduleを使ったテーマのアップデートができなかった(そもそもテーマも結構いじってしまったので単純アップデートができない)テーマをいじるのにGolangでフロントエンドを書くという苦行をしなければならない特にきついのは画像配信周りとテーマの弄り難さでした。そんなわけもあってReact.jsでフロント周りを自分で1から書きながらGatsbyで採用したフレームワークなどほぼ自分でデザインを書くと決めていたので、採用するフレームワークも選び放題なのでなるべくモダンで、かつ最小で済むようにしました。Gatsby-starter-blogをベースに使わないと思われるプラグインを削除して、下記のサービスやフレームワークに必要なものをインストール。今はgatsby-starter-blog-mdxで始めるのがいいと思いますwww.gatsbyjs.orgnpmの文脈で全てが完結するので、新たに勉強しなければならないことが少なく割と楽ちんでした。Managerはかなり便利だったので別途記事書きます。paginationPWA特に工夫という工夫はなく、各プラグインやフレームワークの記載に従って実装しました。いうよりも、3ヶ月ほどかかってそれなりにハマったはずなのに、逐一メモらなかったために終わったら綺麗サッパリ忘れてしまった。どこかでハマってたどり着いた人はリポジトリ参照してください。不毛だと感じたのがHugo用に書いたShortcodeと、Markdownのfrontmaterを正規表現と手動Grepで置き換える作業。flavorな)Markdown記法だけに利用をとどめましょう...Markdown以外から画像を利用するのはGatsby.jsにおけるクソ実装レベルがかなり高い行為なのでなるべくMarkdownからページ生成したほうがいいということはわかった。移行結果lighthouse出来上がったものがこちらblog.gensobunya.net記事書いといてLighthouseスコア100じゃないのかよとツッコミたくなりますが、以前のブログは画像サイズのせいで70台などと全体的に低迷していたのでかなり改善されました。Performanceは毎回数字が変わるので飾りです。AccessibilityはもうちょいUIの実装力や色の知識を上げれば90後半になりそう。テストに関してホスティングに使っているNetlifyのDeploy-preview機能を利用しました。リンクしているGithubリポジトリのプルリクから自動的にステージングサイトを生成してくれるので、CI/CDをほぼ書かなくても実装できます。今回、本番サイトはhugoでビルドしているため、ビルドコマンドが変更となりますがNetlifyはこんな要件にも対応しています。プロジェクトrootのnetlify.tomlに下記のように環境毎のビルドコマンドと公開ディレクトリを指定できるので本番と違うコマンドで自動ビルド可能です。buildの中身を書き換えておけばいいんですが言語ごと変わるとそれもできないのでありがたい。deployをONにすると特定のブランチが更新されるたびにステージングサイトを作ることもできます。Netlifyマジですごい、神。Managerでパスごとに読み込むscriptを変更してパフォーマンス劣化を防ぐ+Adsenseタグの配信方法はてなブログをはじめよう!gensobunyaさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。