Scrapbox to Markdown sta.jsonを食わせて全部通るまで帰れま10
sta.jsonを食わせて全部通るまで帰れま10
- dryrun取って保存させてみまーす
- ok
- 1分かからん
- PC2 ASUS Gaming WindowsでSSDだからだろうけど
~~sta.jsonを食わせて全部通るまで帰れま10~~ dryrunレベルではok
- 早速死んだ
- /sta/Scrapbox to Markdown テーブル
- こいつで死んでる模様
- たぶん
- ...
- ...
- これを3bqと名付けることにする
- scb内にこの文字がそのまま出現しているパターンだな
```py
prefix, langname_part = newline.split('```')
- ...
- ...
- いや、今のコードだと入るわ
- どうしようか
- 案1: scb_to_markdown の方で「1行目だけヒットさせる」条件分岐つくる
- o 役割分担適切
- x 実装難しい
- 案2: line_to_start... の方で要素3以上のケースを無視する
- o 実装かんたん
- x lineのくせにコンテキスト考えてて役割分担崩壊してる
- 案1: scb_to_markdown の方で「1行目だけヒットさせる」条件分岐つくる
- 案1じゃないとダメだな
```py
aaa
aaa
- ...
- ...
- ↑ こういうときに死ぬ
- 「今はコードの中身だから code:xxx という記述があっても解釈しないよ」としなければならない
- そのためには……うーん、state.is_entered_block_just_now() みたいなのが要る?
- ~~pagetestでこのケースつくってためしましょー~~
- と思ったけど、少し路線変えた
- そもそも 3bqが2回以上続くケースがありえないので、想定しないとみなしてみた
- https://github.com/stakiran/scbjson2ghpages/commit/bd5c2c75b7e7930caa412c6b8ad0f86139bc570b
- ~~あと display-pagename は要らない(save_one_file()内で dryrun 立ってるなら pagename も出してしまえばいい)~~ok
- ...
- とりあえず全部変換は通った
- 5秒くらいかかる with PC2 ASUS Gaming Windows
- Markdown記法で書かれた「Markdownファイルへのリンク」部分をWindowsで保存できる名前に変換する
いよいよscbjson2ghpages.py側の実装に入る
- コマンドラインオプション
- 1ページだけ変換する
- --page-to-scb
- 全ページを変換する
- デフォルトはこっちでいい
- 保存先は?
- -d でディレクトリ指定する?
- ghpages決め打ちだから、その仕様に合わせればいい
- docs/ と / があるんだったっけ?
- ならオプションで決めてしまえばいい
- --use-docs-dir
- これ入れたら /docs になる
- デフォは /
- とか
- が、scbjsonは何千ページになるわけで、それを / に展開するのは辛いから /docs 一択でいいよね
- いいです:sta:
- --use-docs-dir
- /docs の存在を前提にします
- 存在チェックしてなければエラーだそう
- あとはどんなオプション?
- これは追々でいい
- 1ページだけ変換する
- 変換処理、もう実装しちゃう
- ここまではいい
- 問題は/staを食わせたときやで……