2020-06-20

6/20

gitconfigでpull.rebase = trueにしていたらローカルの履歴が失われた

https://github.com/progrhyme/myenv/commits/a75f069fad8dd05fe26d40526deab10d7912cb51

この辺の作業をしていたとき。
macOSで作業した後、Ubuntuに戻ったときについ git push -f してしまい、 [darwin] なコミットログが失われてしまった。

その後macOSに戻ってgit pullしたが、 pull.rebase = true にしていたからtopにあったコミットはなかったことにされてしまったようだ。

関連項目:

Go moduleの更新をpkg.go.devに反映する

shelpはmodule / packageとしての利用は想定してないのだけど、久しぶりにpkg.go.devで見てみたら、未だにv0.1.0しかないのが気になった。

https://pkg.go.dev/mod/github.com/progrhyme/shelp?tab=versions

※今は後述の操作を行って、v0.5.3までインデックされている。

ふつうにGitHubにリリースしているだけでは新しいバージョンがインデックスされないみたい。
https://go.dev/about によると

Data for the site is downloaded from proxy.golang.org. We monitor the Go Module Index regularly for new packages to add to pkg.go.dev. If you don’t see a package on pkg.go.dev, you can add it by doing one of the following:

以下、いずれかの操作が必要だそうだ:

関連項目:

Golangでmoduleのパスの外でmodule-aware modeで入れたmoduleの消し方がわからん

https://golang.org/cmd/go/ には載ってないと思う。

go mod tidyで消えるかもしれないが、何が対象になるかわからなくて、怖くてまだ打ってない。
別に全部消えてもなんとかなると思うけど。

参考:

MkDocs事始め

shelpのドキュメントサイトを作ろうと思った。
そんなにページ数も行かないだろうから、Docsyは牛刀過ぎる。
このぐらいのサイトならMkDocsで十分行けそうである。

そして、Material for MkDocsはとてもデザインが良い。

というわけで、まずはMkDocs環境をセットアップ。

全部mkdocs-materialのDockerでやろうかとも思ったけど、まあPythonも既にpyenvで3.8を入れてたし、そんなに面倒じゃなかったのと、Dockerでファイルを作るとパーミッションがあーって感じになりがちなので、mkdocs用のvenvを作ってやることにした。

# venvセットアップ
python -m venv venv/mkdocs
source venv/mkdocs/bin/activate
# mkdocsインストール
pip install mkdocs

# リポジトリ作成
mkdocs new shelp-doc

関連項目:

mkdocs-materialをDockerで動かす

docker-wrapsというリポジトリを作って、ラッパースクリプトを書いた。
やってることはこれだけ:

#!/usr/bin/env bash
docker run --rm -it -p 8000:8000 -v ${PWD}:/docs squidfunk/mkdocs-material "$@"

これを上で作ったshelp-docリポジトリで動かす…の前に、mkdocs.ymlでテーマを設定してから:

site_name: shelp doc
theme:
  name: material

ラッパーコマンドを実行すると、docker pull -> runが行われ、 0.0.0.0:8000 でmkdocsのWebサーバが起動した。