2021-13

2021年3月22日から3月28日の記録

Nextra 0.4.4へのアップデート

Warning: this project is not production ready, API might change without notice.

ということで、Nextraのバージョンを0.4.4に上げた際に発生するエラーと解決策について、まだ公式ドキュメントに書かれていないようなのでここにメモしておく。結論としては、全文検索エンジンにstorkが導入されたので設定を更新してインデックスのビルド用バイナリを置けば良い。

まず、stork.binをプロジェクトの/bin/に配置する。

次に、next.config.js, theme.config.jsを編集する

diff --git a/next.config.js b/next.config.js
--- a/next.config.js
+++ b/next.config.js
-const withNextra = require('nextra')('nextra-theme-docs', './theme.config.js')
+const withNextra = require('nextra')({
+ theme: 'nextra-theme-docs',
+ themeConfig: './theme.config.js',
+ stork: true
+})
diff --git a/theme.config.js b/theme.config.js
--- a/theme.config.js
+++ b/theme.config.js
export default {
+ UNSTABLE_stork: true,
}

配置したstork.binはUbuntuでビルドされたもので、Macで実行することができなかった。そこでHomebrewでstorkをインストールする。

$ brew install stork-search/stork-tap/stork

ビルド時に環境変数STORK_PATHがセットされている場合はSTORK_PATHを参照するみたいなので、Vercel用にscriptを追加した。run-script-osなどで分けてもよいが、自分の環境では開発 (Mac) と本番 (Vercel) の2通りしか存在しないので。

diff --git a/package.json b/package.json
index 1301803..302e6d6 100644
--- a/package.json
+++ b/package.json
@@ -4,17 +4,18 @@
"scripts": {
+ "build:vercel": "STORK_PATH=$(pwd)/bin/stork.bin yarn build",
},

最後に、storkで生成されるファイルを.gitignoreに追加する。

diff --git a/.gitignore b/.gitignore
--- a/.gitignore
+++ b/.gitignore
+public/*.st
+public/*.toml