雑文発散

«前の日記(2016-04-06) 最新 次の日記(2016-04-08)» 編集
過去の日記

2016-04-07 [長年日記]

[Crowi] Crowi の Markdown ヘルパー的な機能の拡張をした

昨年末に元クロコスメンバーが集まった忘年会の時に「esa.io の Markdown ヘルパーが便利でさ」という話を力説していたら、「じゃあ、それ Crowi に付けてよ」と言われて、頑張って pull request を作った。

その時は、esa.io の Markdown ヘルパーを Chrome 拡張化した「esarea」のソースコードをパクって参考にして書いたのであった。

と、ここまでが前提。

そんな経緯もあって、今度は「もう少しヘルパーを拡張したい部分があるんだけど作ってよ」的な話を振られて、ひさしぶりの Crowi 活動を行なった。

これで何をしているかというと、次のような動きになる。

  • 【条件】行頭に - などの Markdown のマークアップ記号がある
  • そこへ複数行のテキストをペーストする
  • 行頭が - なら全ての行がリストとして入力される

ここを読むより、pull request 内の GIF アニメを見てもらうと、挙動が把握しやすいと思うけど。

動作としては、Clipboard API and events を使って、paste イベントの発火で処理をフックしている。ペースト位置の行を取得して、その行頭の文字を調査、規定の文字だったら、ペーストするテキスト内の改行位置にその行頭文字を加える、というような流れ。

「ペースト位置の行を取得」という処理は esaera から移植した時に作ったものをそのまま利用している。

ちなみに Mac の Chrome, Safari, Firefox では試したけど、他のブラウザでは試してないので、動かないブラウザもあるかも知れない。

最近は JavaScript をあまり書いてなかったので、これ書いてて楽しかった。

[] 第58回 朝活を実施した

今朝の活動報告。

  • 昨日の日記書き
  • Crowi の拡張

ということで、朝は Crowi をいじってた。