A project to htmlize vim-jp Slack logs.
This solves the following problems due to using free tier
- No old messages to see
- Can't see unless you join the workspace, even though you'd like to refer from something such as your blogs
- We lose our knowledge base
@tyru and @thinca will invite you to slacklog Team if you contact us via vim-jp Slack or Twitter. We'll share Slack token as well.
How to join vim-jp Slack (Japanese): https://vim-jp.org/docs/chat.html
- Go
- (Optional) GNU Make
Create .env
copiying .env.template
.
See the details for each env vars in the file.
Unarchive logs
$ make logdata
Generate HTML
The following commands will generate them under _site
dir.
scripts/generate_html.sh
scripts/build.sh
Or simply run make
or gmake
scripts/download_emoji.sh
scripts/download_files.sh
Use your favourite server under _site
e.g.
python -m http.server --directory=_site
The generate-html output diff from your changes can be checked with this:
$ ./scripts/site_diff.sh
TODO translate the following
site_diff.sh
では現在のHEADでの generate-html の結果と merge-base での geneate-html の結果の diff を取得しています。 出力先は./tmp/site_diff/current/
および./tmp/site_diff/{merge-base-commit-id}/
ディレクトリとなっています。merge-base の算出基準はローカルの origin/master です。そのため origin/master が リモート(GitHub)の物よりも古いと出力内容が異なり、差分も異なる場合があります。
-u
オプションを使うと merge-base の算出前にローカルの origin/master を更新し ます。変更がなくても更新にそれなりに時間がかかるため、デフォルトではオフになっ ており明示的に指定するようにしています。merge-base の出力結果はキャッシュし再利用しています。このキャッシュを無視して強 制的に再出力するには
-f
オプションを使ってください。$ ./scripts/site_diff.sh -f
全てのキャッシュを破棄したい場合には
-c
オプションを使ってください。-c
オプ ションでは./tmp/site_diff/
ディレクトリを消すだけで差分の出力は行いません。$ ./scripts/site_diff.sh -c
差分だけを特定のファイルに出力するには
-o {filename}
オプションを使ってくださ い。リダイレクト (> filename
) では差分以外の動作ログも含まれる場合がありま す。注意事項:
./scripts/site_diff.sh
は未コミットな変更を stash を用いて保存・復 帰しているため staged な変更が unstaged に巻き戻ることに留意してください。
TODO translate the following
log-data ブランチにはSlackからエクスポートしたデータを格納し、それを本番の生成 に利用しています。log-data ブランチの更新手順は以下の通りです。
Slack からログをエクスポート(今はできる人が限られてる)
ログをワーキングスペースに展開する
convert-exported-logs
サブコマンドを実行する$ go run . convert-exported-logs {indir} {outdir}
更新内容を log-data ブランチに
commit --amend
してpush -f
TODO translate the following
以下の手順で Pull Request への
site_diff.sh
の実行結果を Artifacts として Web から取得できます。レビューの際に利用してください。
- Pull Request の Checks タブを開く
- CI ワークフロー(右側)を選択
- Compare Pages and Site ジョブ(右側)を選択
- Artifacts ドロワー(左側)を選択
diffs-{数値}
アーティファクトをダウンロード以下のスクリーンショットは、上記の選択個所をマーキングしたものです。 (SSには3つのアーティファクトが表示されますが、現在は2つになっています)
Artifacts はそれぞれ zip としてダウンロードできます。
diffs-*.zip
にはsites_diff.sh
の差分が含まれています。log-*.zip
は動作ログが含まれていますが、こちらはCIの動作デバッグ目的のものです。 末尾の数値は${{ github.run_id }}
由来です。
TODO translate the following
Artifacts に差分を出力している主な理由は2つあります。1つ目は、小さな変更でも差 分をオンライン上のどこかに出力しないと、レビューの負荷が高すぎてそれを解消した かったという動機です。
2つ目は、テストデータとして実際のログを使っているため、差分とはいえログの一部の コピーが消せない状態で永続化されるのを避けたい、という動機です。vim-jp slackで は参加者の「忘れられる権利」を尊重しています。
以上の理由から消せる状態でデータ=差分をオンライン上にホストできる GitHub Actions の Artifacts を利用しています。
TODO translate the following
この 作品 は クリエイティブ・コモンズ 表示 4.0 国際 ライセンスの下に提供されています。