昨日の続き。
Linker
URLアドレスだけでMarkdownリンクを作るスクリプト。 これ、カーソル行がそれ以外のとき何もしない。 ちょっともったいないのでメニューにしました。
Linker.md
Templaterスクリプトです。
<%* list = { "C: コンテキストメニュー" : "editor:context-menu", "L: 内部リンクを追加" : "editor:insert-wikilink", "E: 埋め込みを追加" : "editor:insert-embed", "I: 画像を追加" : "editor:attach-file", "T: タグを追加" : "editor:insert-tag" }; e = app.workspace.activeLeaf.view.editor; p = e.getCursor().line; url = e.getLine(p); if(url.match(/^https?:/)){ x = await request({url}); s = x.toString().match(/<title>(.*?)<\/title>/i)[1]; e.setLine(p, "- [" + s + "](" + url + ")"); }else{ k = Object.keys(list); x = await tp.system.suggester(k, k); if (x) app.commands.executeCommandById(list[x]); } %>
使い方
httpで始まる行ならリンクに変換し、それ以外では埋め込みメニューが出ます。 内部リンクとか画像とか。 使用頻度の少なそうなところを組み込んでいます。
まとめ
ツールバーにボタンが並ぶと使いにくいので、メニューにまとめました。