scrapbox上でnote (Anki)を記述する案1
編集しやすくするために、複数のformatで書けるようにしたい
必要な情報
gyazoで使われている /[a-f0-9]{32}/
の衝突確率
生成速度1000IDs/hで1%の衝突確率を得るのに~298billion yearsかかる
/[a-zA-Z0-9]{18}/
が~219million years
このくらいあれば十分だろう
/[a-zA-Z0-9]{18}/
を採用する
✅
Ankiが内部で使っているID生成アルゴリズムをそのまま使った
タグ (optional)
id
exportする際のapkgのnotes table上で一意であればいいので、適当な値をprogram側で自動生成すればいい
updated
行の更新日時を使えばいい
インライン方式
一行で書く
$ gHerX6 [表裏ノート] Tokyo 東京
1行1ノートとして、テーブル記法で書く方法もある
テーブル方式
fieldの中身が1行で済むならこれが楽
リンクをつなげたままにできるのもよい
同じnote typeを使ったnoteが書き込まれたすべてのページがつながってしまうのは欠点かも
コードブロック方式
fieldに複数行詰め込みたいときはこれしかない
穴埋め問題とかだとこうせざるをえない
1.note[system-cloze]
{{c1::follow her advice}}
{{c2::彼女の助言に従う}}
リンク置換不能なのが面倒
リンクさせたいとき、コードブロック中と同じ説明を別途記さなければならない
コードブロックと同じインデントの行を、コードブロック内の行として認識させればリンク付きにできる?
同じ説明を二回書いても大したことないか
拡張子で複数のfieldを表現する
例
:%Y4u,z/).noteYou must {{c1::carry out}} the plan as soon as possible.
君はすぐに計画{{c2::を実行する}}必要がある。
:%Y4u,z/).note.refsee [carry out https://www.oxfordlearnersdictionaries.com/definition/english/carry-out_1]
わざわざコードブロックにする必要のないのもあるな……
メインのfield以外は、table記法で表現する
例
;)f$&p&/.noteYou must {{c1::carry out}} the plan as soon as possible.
君はすぐに計画{{c2::を実行する}}必要がある。
;)f$&p&/.noteref | see [carry out https://www.oxfordlearnersdictionaries.com/definition/english/carry-out_1] |
tag | システム英熟語,Tr.3-05 |
2023-04-09
2023-02-14 05:56:07 最初から一般的な形式を考えるのではなく、一番必要な形式だけに特化させて始めよう
最初から一般的な形式で作ろうとすると、コストも
手戻りもかかる