(2024/3/11 最後に追記しました) はじめに この記事はObsidian Advent Calendar 2023の13日目の記事です。 私はObsidianにはまった結果、拙いながらプログラミングを勉強して、プラグインを作成、公開している者です(Daily Note Outline、Multiple Notes Outline)。ホントの基本からの学習だったので、もはや本来目的としていたメモの作成・管理よりそっちに費やした時間の方が多くなってしまっている気もしますが…楽しいからいいんです! さて、みなさんはObsidianの便利な基本機能のひとつである「新規ウィンドウで開く(Open current tab in new window)」を使ってますでしょうか? 今回は「新規ウィンドウで開く」は便利だよ(特にディスプレイ狭い人たちには!)、という主張と、使う上で工夫したことについ
思い立ってObsidainのプラグインを作り出す 土曜日の午前に歯医者から帰ってきて、何がきっかけだったか思い出せないけど、Obsidianでクイズが書けるプラグインを作りたくなった。 Obsidianに残っていたメモ ObsidianはElectronベースのアプリケーションなので、Webアプリを開発するようにJavaScriptでプラグインを開発することができる。Obsidianのテンプレートリポジトリから自分のリポジトリを作り、ちょろっと変更すると考えていたものができた。思ったよりも簡単だ。 Obsidianプラグインで作ったクイズ用のUI 簡単なJavaScript(TypeScript)で、普段使っているツールが拡張できるのは面白い。 Svelte を使う JSで直接DOMを操作してクイズのUIを作ることはできたけど、ReactなどのUIフレームワークを使ってみようかなと思った。
やはり書いてみるものだなあ。 Mermaid さっき「Obsidianではどうするのだろう」と書いたら、少しして閃きました。 無意識コンピュータが計算してくれたみたい。 便利にできている。 mm2svg.md 下記のTemplaterスクリプトになります。 <%* mermaid.initialize({startOnLoad: true}) const s = await mermaid.render('id01', tp.file.content) new Notice("convert SVG to clipboard") navigator.clipboard.writeText(s) %> 書いてしまえば簡単。 使い方 mermaidの中身だけテキストに書きmm2svgを実行。 クリップボードにSVGファイルが保存されます。 Excalidrawに貼りつければ完成。 無意識コンピ
前回、入力ボックスを検討しましたが、別の技がありました。 Dataview dataviewはキーの埋め込みができます。 「key::テキスト」とすると「dv.current().key」で「テキスト」を拾うことができる。 「dv.pages('').key」とすると、全ファイルから「key::なんとか」の部分を集めてきます。 これを「メタデータ」と呼びます。 たぶんdataviewの最大の特徴でしょう。 ただのテキストがそのままデータベースに早変わり。 書式の縛りもない。 このメタデータを応用して「アプリ」を作ることもできます。 Unicode表 文中に「部首::」という一行を設け、その文字を拾って表を作る方法。 部首:: ```dataviewjs a = dv.current().部首 if(a){ k = a.codePointAt(0) s = "" for(i=0; i<500
dataviewは面白いけど、表ができたらそれだけで、そこからの発展がない。 そう思ってました。 でもdataviewの沼は底無しに深かったのです。 インラインJS インラインJSについて調べたとき、Markdown変換のコマンドがあったわけです。 なんのため? これは「使え」ってことだなあ。 どう使えばいいんだろう? dv.el() エレメント作成のコマンド。 これもdataviewに用意されている。 HTMLタグをつけるときに使えます。 じゃあ、buttonタグはどうだろう? もしボタンでクリップボードに表が保存できたら。 それ、いいじゃないか。 コピーボタン テーブルの下に「copy」というボタンが出てきます。 これをタップするとクリップボードにMarkdownが保存される。 貼り付けると、それが表になる仕組みです。 ```dataviewjs s = [ ["阪神", 20, 13
書いている途中にスクリプトを埋め込む。 文章とプログラミングの融合。 そんな変な使い方がObsidianならできます。 特殊すぎて頭の切り替えが追いつかない。 基本形 前回、数式を埋め込めることが判明しました。 OK? 何か難しいですよね。 でも計算式を残すと、なぜその計算をしたか理由もわかる。 反面、他のアプリで開いても計算するわけではない。 一長一短です。 応用編 数式が一本ならいいけど、複数の場合はどうすればいいのでしょうか。 どうやらコンマ区切りで書くことができます。 `$= a=11, b=22, a+b` 変数を使って公式に代入したい場合ですね。 これなら数値を変えながら計算結果を参照できる。 DataviewJS もっと複雑な場合はどうしたらいいでしょうか。 それはdataviewjsにしちゃえばいいわけです。 ```dataviewjs a=11 b=22 dv.span(
ありがとう。 2Hop Links Plugin Plus コミュニティプラグインにある「2Hop Links Plugin」はモバイルでは使えませんでした。 インストールできても有効化でFailする。 その状態のまま開発が止まっていた。 ところがどっこい、その修正版を作ってくれた人がいるのです。 うれしい。 インストール Obsidian plugin: Obsidian42-BRAT Obsidian42-BRATを使います。 野良レポジトリをインストールするプラグインです。 このBRATの「Add Beta Plugin」に下記アドレスを入力します。 https://github.com/L7Cy/obsidian-2hop-links-plugin 「Add Plugin」するとコミュニティプラグインに「2Hop Links Plugin Plus」が追加されます。 で、スイッチO
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く