ObsidianのDailyページを開いて、かつ最下行へ飛ぶ
いろいろなページで探してみましたが、Obsidianのdailyページを最下行の状態で開く方法が見当たらなかったので、 ややトリッキーな方法ですが、今日のページを最下行の状態で表示する方法を実装しました。
方法は、JavaScriptで書かれたDataviewJSのスクリプトのmdページを開くと、それが今日のページを新しいTabで開いて、 最下行に飛んだのち、 そのスクリプト自身のmdページを閉じることで、結果として今日のページが最終行表示で残っているというものです。
Keyword: Obsidian, Dataview, DataviewJS, JavaScript, daily note, goto bottom, 最下行へ飛ぶ,
コミュニティプラグイン「Dataview」
まず、DataviewJSが動作するようにするため、コミュニティプラグイン「Dataview」を有効にして、 その中のオプション 「DataviewJS」もONになっているか、 確認してください。 特に、inline JavaScript queries がONになっていることも忘れずに。
コミュニティプラグイン「Dataview」
「DataviewJS」をON
ショートカット
「Open Bookmark」で、Bookmarkしているページ(ここでは Open-Today-and-goto-bottom.md)を開きます。
Open-Today-and-goto-bottom.md の内容
以下のような DataviewJS でのスクリプトです。
このページを開いたら、スクリプトが実行されるようになっているものです。
Obsidianのmdファイルにおいて、DataviewJS でスクリプトを書く方法は、バッククオート(@のshift)を3つで上下に囲まれたものです。
以下の右上にコピーボタンもありますので、それを押してコピーして、mdファイルに貼り付けてみてください。
```dataviewjs
//const path = "daily/2026-02-14.md"; // 開きたいノートのパス
//https://www.ey-office.com/blog_archive/2023/04/18/short-code-to-get-todays-date-in-yyyy-mm-dd-format-in-javascript/
// sv-SEロケールはYYYY-MM-DD形式の日付文字列を戻す
//new Date().toLocaleDateString('sv-SE')
const path = "daily/" + new Date().toLocaleDateString('sv-SE') + ".md"; // 開きたいノートのパス
const file = app.vault.getAbstractFileByPath(path);
if (file) {
const leaf = app.workspace.getLeaf('tab');
await leaf.openFile(file);
setTimeout(() => {
const editor = leaf.view.editor;
editor.setCursor({ line: 9999, ch: 0 }); // 最下行(9999行)へ
}, 200);
} else {
dv.paragraph("ファイルが見つかりません: " + path);
}
//上のNewTabからOpen-Today-and-goto-bottom.md自体に戻る
app.commands.executeCommandById("workspace:previous-tab")
//自身(Open-Today-and-goto-bottom.md)を閉じる
app.commands.executeCommandById("workspace:close")
```
JavaScriptの内容
const path = "daily/" + new Date().toLocaleDateString('sv-SE') + ".md";
const file = app.vault.getAbstractFileByPath(path);
今日のファイル名を生成して(daily/YYYY-MM-DD.md)
const leaf = app.workspace.getLeaf('tab');
await leaf.openFile(file);
「新しいTabページ」でファイルを開き
const editor = leaf.view.editor;
editor.setCursor({ line: 9999, ch: 0 }); // 最下行(9999行)へ
ページの最下行(9999行)へ移動としている。
最後の2行は、
//上のNewTabからOpen-Today-and-goto-bottom.md自体に戻る
app.commands.executeCommandById("workspace:previous-tab")
「このOpen-Today-and-goto-bottom.md」のタブページから上記のように新しいTabページを開いて移動しているので、 その前のページ(Open-Today-and-goto-bottom.mdに戻る)
//自身(Open-Today-and-goto-bottom.md)を閉じる
app.commands.executeCommandById("workspace:close")
で、戻った自身(Open-Today-and-goto-bottom.md)を閉じることで、 結果として、今日のページの最下行が開かれている状態になっている。
おわりに
かなり強引な方法ですが、結果として、Obsidianの今日のdailyページを、最下行に行っている状態で開くことができました。
Windowsであれば、Ctrl+End のキー操作ですぐに最下行にいけましたが、 iPhoneでは面倒だったのが簡単になり、かつ、アクションボタンで一発にもなったので、 大変便利になりました。


