練習中。
アクション
Templaterでアクションを作る計画。 ブログを書くとき必要なものを集めてみました。 ツールバーに登録してみてください。
Google.md
カーソル行を検索するスクリプト。
<%* d = document.getSelection(); s = p = d.toString(); if(!s){ d.modify("move", "left", "paragraphboundary"); d.modify("extend", "right", "paragraphboundary"); s = d.toString(); d.removeAllRanges(); } if(s) open("https://google.co.jp/search?q=" + encodeURIComponent(s)); return p; %>
Obsidianで書いているとき、ふと調べ物がしたくなる。 そんなときホーム画面に戻ってSafariを起動していませんか。 それだと何が調べたかったか忘れてしまいます。
というわけで、Obsidianにまず書いてからボタンをタップ。 カーソルにある文字列をGoogleで調べます。 思いついたらすぐ検索。
単語を選択しているときは、そちらを検索対象にします。 文中に、記憶のあやふやな言葉を使うときかな。 ちゃんと裏を取る。 そういう用い方です。
BlogCard.md
カーソル行のURLアドレスをブログカードに変換します。 YouTubeのときは動画の、Gyazoのときは画像の埋め込みになります。
<%* d = document.getSelection(); d.modify("move", "left", "paragraphboundary"); d.modify("extend", "right", "paragraphboundary"); url = d.toString(); if(/^http/.test(url)) { switch(true){ case /youtube\.com/.test(url): id = url.split("v=")[1].split("&")[0]; s = "<iframe width='350px' height='200px' src=\"http://www.youtube.com/embed/" + id + "\" frameborder=0></iframe>\n"; break; case /gyazo\.com/.test(url): s = "<img width='400px' src='" + url + "/raw'>\n"; break; default: s = "<iframe src='https://hatenablog.com/embed?url=" + url + "' width='350px' frameborder='0' scrolling='no'></iframe>\n"; } d.deleteFromDocument(); return s; }else{ new Notice("URLアドレスではありません"); } %>
ブログを他のブログと繋げてネットワークにする。 リンクだけより、カード形式のほうが要約など追加され情報量が増えます。
場合分けを作れば、他のサイトにも対応可能。
HatenaBlog.md
はてなブログに投稿します。
<%* p = tp.file.content.split("\n"); a = p.shift(); b = p.join("\n"); url = "hatenablog:///new?title=" + encodeURIComponent(a) + "&body=" + encodeURIComponent(b); open(url); %>
お使いのブログに合わせてURLスキームを書き換えてください。
Scrapboxだったら下記のようになります。 USERのところはそれぞれのユーザ名です。
url = "https://scrapbox.io/USER/" + encodeURIComponent(a) + "?body=" + encodeURIComponent(b);
カーソル行取得について
d = app.workspace.activeLeaf.view.editor; p = d.getCursor().line; s = d.getLine(p);
これでもカーソル行は取得できるけれど、なぜかObsidianが固まるときがある。モバイルだからかなあ。
まとめ
Obsidianがブログエディタに変身。