denote
名前は実装に使っているのがDenoであることと、「意味」「表現」などを意味するdenoteが言語化支援ツールとして丁度よさそうだったことから 進捗
2022-04-18
記法を折り畳めるようにした
外部リンクを踏めるようにした
前作よりは多少エレガントな実装にはなったが、色々やってるとどうしても増えてしまう
why
自分で全てを把握できるものが欲しい
自前実装してれば中身を好きなだけ書き換えられる
Scrapbox.iconはNota.iconの製品なので入社しないといじれないだろうし、したとしても自由にはいじれないだろう
自前でコンセプトなどを真似して組んでしまえばやりたいことができる
Vimが無いと動かない
Vimを人におすすめするのはちょっと…
設定も必要で面倒臭い
競合させるわけにもいかないのでやむなし
物理キーボード以外での操作に難がある
リッチじゃない
画像とか貼りたいことがある
個人だと必要ない機能に思われるが実はそうではない
vim-scrapとZatsu wikiを作ってこれに気付けた
良い物は模倣してみたくなる
日本語入力システムでやった
Scrapboxだと?
テキストエディタ
コラボレーションシステム
ウェブアプリケーション
全部理解できる
kuuote.iconはエディタの実装をしたいだけなので突然飽きて何もしなくなる可能性が高い
ブラウザで動くと色々便利
ブラウザで動く既存のエディタの中でScrapboxがよくできている
だから複製しようという動機で動いている
割と深い所まで真似しているので問題があれば消します
Twitterや井戸端などでコラッと言ってもらえれば対応します 方針
上から下まで全部Denoでやる
前回はバックエンドをGoにしたため二重に実装する必要があって疲弊してしまった
シングルバイナリに全てを閉じ込めたくてそうしたが大した意味はない
Clone名乗れるくらいには記法をサポートする
前作になくて欲しかったのは
アイコン記法
画像
コードブロック
「サービス」にしない
あくまで欲しいのはリアルタイムに編集できるGollumみたいなもの 変なこだわりあるから作ってるだけでサービスが欲しければ普通にScrapbox使えばいいと思う
けどサーバーとして置く以上簡単な物でいいのでログイン機構は欲しい
かといってローカルのツールであることにこだわりすぎない
面倒なので共同編集とか実装していなかったけど結局やった方がいいと思う
実装の話
土台しかないので何書けばいいのかわからん問題
OSSにしているのでtakker.iconさんがどんどんPR投げてくれてる
ありがたいkuuote.icon*10
makeChanges()が便利
CSSの挙動を調べるのにDevToolsのComputedが便利
Scrapboxの行パーサは正規表現で実装されているらしいがパーサコンビネータいじってる方が楽しいのでbread-n-butterでパースすることにした 必要な物が足りないし拡張性が乏しいのでbread-n-butterを捨てることにした
notやuntilなどの最短マッチをするのに必要な部品が全くない
ネストした構造を扱う上に中途半端な状態でマッチするので必須