Obsidian カーソル行のリンクを開く
カーソル行のリンクを開くコード。
これをObsidian タスクの開始・終了と組み合わせれば、タスク実行と同時にリンクを開く、TaskChute Cloudの便利機能も実装できる。
code:js
<%*
function openLinkFromSelectedLine() {
const editor = this.app.workspace.activeLeaf.view.editor; // エディタ取得
const cursorPos = editor.getCursor(); // 現在のカーソル位置取得
const lineText = editor.getLine(cursorPos.line); // カーソルがある行のテキストを取得
// 正規表現で []() 形式または [ ] 形式のリンクを抽出
const markdownLinkRegex = /\[(^\]+)\]\((^)+)\)/; // []() 形式
const wikiLinkRegex = /\[\[(^\]+)\]\]/; // [[]] 形式
// []() 形式のリンクがあるか確認
let match = lineText.match(markdownLinkRegex);
if (match) {
const url = match2; // リンクURL
window.open(url, '_blank'); // 新しいタブで開く
return;
}
// [[]] 形式のリンクがあるか確認
match = lineText.match(wikiLinkRegex);
if (match) {
const noteName = match1; // ノート名
this.app.workspace.openLinkText(noteName, '', true); // ノートを開く
return;
}
console.log("リンクが見つかりませんでした。");
}
// 関数を実行
openLinkFromSelectedLine();
%>