✅Linksに載せるリンク数はオプションで指定できるようにする
他の小さなprojectではcutなしでもいけるはず
まずは名前をつけつつ
https://gyazo.com/c1e3ed9670bafb7d725d30210e58e075
1と2と3の名前
1はlinkfrom limit、F limit
2はlinkto limit、T limit
3は2hop-link limit、H limit
ページAが持つリンク数はf + t + t*h
with 16-8-4cut
35745
制限なし(だが is_B_links_too_large = len(B.linkfrom_page_instances)>=100 だけは入れてる)
136639
1ページ平均で27リンク持ってる
[](xxxx)が27行個並んでるということ x 5000ファイル分
制限なし(だが is_B_links_too_large = len(B.linkfrom_page_instances)>=50 にしてみた)
90909
制限なし(だが is_B_links_too_large = len(B.linkfrom_page_instances)>=33 にしてみた)
72849
とりあえず可視化できることはわかったので、実装していこうか
うーん、できればスコア化したいんだがsta.icon
10分ビルド時間超えちゃうラインをスコア化したい
スコアはファイル数とリンク数で表せるはず
が、ghpagesがブラックボックスすぎて調べようがない……
設計
カウンター
F, T, Hの個数を数えるやつ
ページ単位とproject全体が欲しい
呼び出し元はcount()的なメソッドを呼び出すだけでいい
が、呼び出し先で「F/T/Hのどの文脈か」はわからないので、count_as_linkfrom() みたいな形で用意するしかないか
コマンドライン引数
--flimit
--tlimit
--hlimit
--no-flimit
--no-tlimit
--no-hlimit
これでいいか
helpで limit count of linkFrom of a specific page みたいな説明書いておけばいい
デフォは今採用してる16-8-4でいく(深い理由はない)
制限取っ払いたい場合はマイナス値で
ちょっとわかりにくいが、--no-flimitみたいなスイッチは無闇に増やしたくない
helpに「If given minus value, means No limit」みたいに書いておけばいい(英語力ry)
いや、どうせ内部的には args 変数いじりゲーだし、あっていいか
実装
1 limit入れる
2 カウンター入れる
と思ったけど、クラス化するの逆にだるいな
どうせgenerate_links()内で完結するんだし、もっと雑でいい
グローバル変数か返り値
3 no-limit入れる
全部
scrapbox-staのローカル側でちょっと試す
code:terminal
$ cat build.bat
@echo off
python scbjson2ghpages.py -i sta.json --print-linkcount --flimit 16 --tlimit 8 --hlimit 4 %*
$ build.bat --dryrun --no-dryrun-pagename
Link count is about 45172.
$ build.bat --dryrun --no-dryrun-pagename --no-flimit
Link count is about 47028.
$ build.bat --dryrun --no-dryrun-pagename --no-tlimit
Link count is about 51328.
$ build.bat --dryrun --no-dryrun-pagename --no-hlimit
Link count is about 131175.
バグはなさそう
linktoとlinkfromは大差ないな
やっぱり2hopの数がエグい
ともあれ指定はできるようになったのでおしまい