2020-04-25
4/25
技術メモ用のサイトをHugoで新設することにした
来年末には旧版のGoogleサイトが使えなくなるそうなので、早く移行しないとなー、と前々から思っていた。 今回、ようやく重い腰を上げた形。
今時はhugoで作ったGitHub PagesのサイトはGitHub Actionで自動更新できるようだ。
参考:
…で、前々から目をつけていたHugoのテーマ「LEARN」を使うことにした。
Googleが去年公開したDocsyというテーマでもよさそうだと思ったけど、LEARNの方は一度軽く試したこともあったので、安心感があった。
LEARNで気に入らなかったところ
少しHugoのLEARNテーマでサイトを作っていたのだけど、少し不満が出てきた。
- chapterページを作らないといけなくて、自由度が阻害されるように感じた。(自分でchapterページをカスタマイズするというやり方もあるが)
- 検索が妙にヒットしすぎる
- ページの目次がちょっとわかりにくい。慣れれば問題ないけど
GitBookを試してみたけど、OSS版は先行きが微妙
GitBookでもいいんじゃないかと思って試していたのだけど、残念なことに気がついた。
詳しくはSoftware > GitBookに書いた。
手順:
npm install -g gitbook-cli
mkdir new-docs
cd $_
gitbook init
gitbook serve
参考にした記事:
結局、Docsyへ
azuさんがGitBookからDocusaurusに移行していたので、それもいいかもと思ったけど、見た目がDocsyに似ていたのでもうDocsyでいいだろうと思った。
4/26
プロフィールサイトのgulpがつらい
昨日、Docsyを扱うにあたって、UbuntuマシンのNode.jsをv8 -> v12に上げた。
ReferenceError: primordials is not defined
今日、プロフィールサイト https://progrhy.me の編集をしようとそのまま作業していたら、次とほぼ同じ問題に遭遇した。
自分の環境で問題になったのは natives
module.
% gulp
fs.js:35
} = primordials;
^
ReferenceError: primordials is not defined
at fs.js:35:5
at req_ (/home/progrhyme/my/repos/progrhyme.github.io/node_modules/natives/index.js:137:5)
at Object.req [as require] (/home/progrhyme/my/repos/progrhyme.github.io/node_modules/natives/index.js:54:
10)
at Object.<anonymous> (/home/progrhyme/my/repos/progrhyme.github.io/node_modules/vinyl-fs/node_modules/gra
ceful-fs/fs.js:1:37)
at Module._compile (internal/modules/cjs/loader.js:1156:30) at Object.Module._extensions..js (internal/modules/cjs/loader.js:1176:10)
at Module.load (internal/modules/cjs/loader.js:1000:32)
at Function.Module._load (internal/modules/cjs/loader.js:899:14)
at Module.require (internal/modules/cjs/loader.js:1042:19)
at require (internal/modules/cjs/helpers.js:77:18)
自分の場合も、上の記事と同じように、 package-lock.json
内に graceful-fs
のv3系への依存があった。
また、依存の解消は難しいようだった。
前回の挑戦から、gulpのバージョンアップは今のところ諦めているので、Node.jsのバージョンをv10系に下げることにした。
ReferenceError: internalBinding is not defined
次に出くわしたのは下のエラー:
% gulp
internal/util/inspect.js:31
const types = internalBinding('types');
^
ReferenceError: internalBinding is not defined
at internal/util/inspect.js:31:15
at req_ (/home/progrhyme/my/repos/progrhyme.github.io/node_modules/natives/index.js:137:5)
at require (/home/progrhyme/my/repos/progrhyme.github.io/node_modules/natives/index.js:110:12)
at util.js:25:21
at req_ (/home/progrhyme/my/repos/progrhyme.github.io/node_modules/natives/index.js:137:5)
at require (/home/progrhyme/my/repos/progrhyme.github.io/node_modules/natives/index.js:110:12)
at fs.js:42:21
at req_ (/home/progrhyme/my/repos/progrhyme.github.io/node_modules/natives/index.js:137:5)
at Object.req [as require] (/home/progrhyme/my/repos/progrhyme.github.io/node_modules/natives/index.js:54:
10)
at Object.<anonymous> (/home/progrhyme/my/repos/progrhyme.github.io/node_modules/vinyl-fs/node_modules/gra
ceful-fs/fs.js:1:37)
上の記事にあったように、 npm i natives@latest --no-save
を実行したら解消した。