Obsidian カーソル行のリンクを開く
カーソル行のリンクを開くコード。
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();
%>