Heading Jump Fix

by k-tech-studio
5
4
3
2
1
Score: 51/100

Description

Auto-correct scroll position after outline heading clicks (K-Tech Studio Obsidian plugin)

Reviews

No reviews yet.

Stats

0
stars
1,467
downloads
0
forks
46
days
3
days
3
days
0
total PRs
0
open PRs
0
closed PRs
0
merged PRs
0
total issues
0
open issues
0
closed issues
20
commits

Latest Version

3 days ago

Changelog

Changelog

1.5.0 — 2026-10-01

Added

  • After a jump, unfold the destination heading if it is folded (and ancestor folds that hide it), in Live Preview and Reading view

Notes

  • Search pane keyboard, Canvas, and Bases are unchanged

1.4.1 — 2026-09-30

Fixed

  • Community review: bind Workspace.openLinkText before wrapping, so this stays on the workspace

1.4.0 — 2026-09-30

Added

  • Outline: retry scroll after confirming a heading with Enter (same path as a click)
  • Wikilink / block reference / link pane: retry scroll after keyboard follow (Enter on the link, Follow link under cursor, or modifier+Enter in the editor)

Notes

  • Search pane keyboard is unchanged (click only, as in 1.3.0)
  • Unfold after jump is still listed in ROADMAP.md

1.3.0 — 2026-09-26

Added

  • Search pane: after clicking a match, retry scroll so the hit lands on screen (Live Preview and Reading view)

Notes

  • File-title clicks, Omnisearch, and in-note Find (Ctrl/Cmd+F) are unchanged
  • Remaining work (keyboard, unfold) is listed in ROADMAP.md

1.2.1 — 2026-09-09

Fixed

  • Community review: declare minAppVersion 1.8.7 for getLanguage()
  • Community review: cross-window instanceOf(win.HTMLElement) (no extra type assertion)

1.2.0 — 2026-09-09

Added

  • Reading view: after Outline or heading / block-link jumps, scroll the preview to the target
  • Split layout: correct both the editor pane and the Reading pane when the same note is open

Notes

  • Reading-view heading clicks that are not links stay unchanged (headings are not turned into a table of contents)
  • Remaining work (search, keyboard, unfold) is listed in ROADMAP.md

1.1.1 — 2026-08-31

Fixed

  • Community review: no console.log (debug toggle removed from settings)
  • Community review: type-safe block-id lookup (no any access)
  • Community review: instant-scroll CSS without !important

1.1.0 — 2026-08-26

Added

  • Correct scroll after [[note#^block]] clicks (same retry path as heading jumps)
  • Works in the note and in Outgoing links / Backlinks (uses the existing wikilink / link-pane settings)

Notes

  • Reading-view heading clicks that are not links are unchanged

1.0.0 — 2026-08-19

Stable release. Includes Phase 2 (wikilink / viewport verify / link pane) and Phase 4 (stabilize).

Added

  • In-note [[wikilink#heading]] click correction (Live Preview and preview links)
  • Outgoing links / Backlinks pane heading click correction
  • Viewport check after each scroll pass; stop early when the heading is on screen
  • Exponential backoff on extra retry passes
  • Settings: wikilink fix, link pane fix, scroll heading to center
  • Pop-out window click listeners (outline and links)

Notes

  • Community listing stays on community.obsidian.md; update copy from LISTING.md after the GitHub Release
  • Block references (#^) are not corrected
  • Reading-view heading clicks that are not links are unchanged

0.3.0 — 2026-08-19

Phase 3: theme scroll-behavior override and debug log.

Added

  • Setting Override theme scroll-behavior (default ON) — forces instant editor scroll so theme scroll-behavior: smooth does not miss the heading
  • Setting Debug log (default OFF) — writes jump details to the developer console (no network)

Notes

  • Wikilink / viewport verify (Phase 2) remains planned
  • Outline DOM may change in future app versions

0.1.3 — 2026-08-19

Fixed

  • Remove redundant "General" settings heading (review feedback)

0.1.2 — 2026-08-19

Fixed

  • Remove plugin name from settings section headings (review feedback)
  • Use instance method treeItem.instanceOf(HTMLElement) for cross-window checks

0.1.1 — 2026-08-19

Fixed

  • Obsidian 1.13+ declarative settings (getSettingDefinitions) for global settings search
  • Settings headings use Setting.setHeading() for consistent UI
  • Popout-window-safe timers and Element.instanceOf() checks
  • Replace deprecated builtin-modules with node:module in esbuild config

0.1.0 — 2026-08-19

Phase 1 (MVP): outline click auto-retry.

Added

  • Outline sidebar click hook (capture phase) with configurable delay and retry count
  • Heading resolution via metadataCache.getFileCache().headings
  • Duplicate heading disambiguation by document order in outline DOM
  • Jump to heading at cursor line reliably command (debug / manual use)
  • Settings: enable, outline fix, retry delay (ms), retry count
  • Buy Me a Coffee modal on first install and on version update
  • Buy Me a Coffee link in plugin settings

Outline DOM selectors (Obsidian 1.5+)

  • Leaf: .workspace-leaf-content[data-type="outline"]
  • Item: .tree-item / .tree-item-self / .tree-item-inner
  • Level: .mod-heading-N or .tree-item-indent-level count

Known limits

  • Does not fix general UI lag or Dropbox sync delay
  • Does not yet handle in-note wikilink clicks (Phase 2)
  • Outline DOM may change in future app versions

Full Changelog: https://github.com/crossbeat461-a11y/k-tech-heading-jump-fix/compare/1.4.1...1.5.0

README file from

Github

Heading Jump Fix

GitHub release License: MIT Release App 1.8.7+ Buy Me A Coffee

English · 日本語

Heading Jump Fix screenshot

K-Tech Studio plugin that auto-corrects scroll position after heading jumps from the Outline, Search, wikilinks, block references, or link panes — click or keyboard — in Live Preview and in Reading view.


English

Problem

In Live Preview or Reading view, jumping to a heading from the Outline, Search, or a [[note#heading]] link sometimes moves the cursor but does not scroll to that heading — especially on long notes, after opening the app, or with a split editor + Reading layout. This plugin performs that second correction automatically.

What it fixes

  • Outline sidebar: click or Enter should scroll to the heading (Live Preview and Reading view)
  • Search pane: clicking a match should scroll to that line
  • In-note [[wikilink#heading]] (click, Enter on the link, or Follow link under cursor)
  • In-note [[note#^block]] (same as wikilink)
  • Heading or block jumps in Outgoing links / Backlinks (click or Enter)
  • Split layout: editor on one side, Reading view on the other
  • Duplicate headings: disambiguated by order in the outline
  • Folded headings at the jump target (and ancestor folds that hide them) are opened
  • Theme scroll-behavior: smooth missing the target
  • Configurable retry delay, retry count (with backoff), and scroll-to-center

What it does not fix

  • General UI sluggishness (Electron/GPU, too many plugins)
  • Dropbox or sync I/O delay
  • Reading view heading clicks that are not links (headings themselves are not turned into a table of contents)

How to use

  1. Install Heading Jump Fix from Community plugins and enable it
  2. Open a long note
  3. Jump from Outline (click or Enter), a match in Search, a [[note#heading]] or [[note#^block]] link, or a heading in the link panes

Settings (plugin options):

Setting Default Description
Enable plugin ON Master switch
Outline click fix ON Retry scroll after outline click or Enter
Wikilink click fix ON Retry scroll after [[wikilink#heading]] and [[note#^block]] (click or keyboard follow)
Link pane click fix ON Retry scroll after Outgoing links / Backlinks (click or Enter)
Reading view jump fix ON Retry scroll in Reading view after Outline or heading-link jumps
Search result jump fix ON Retry scroll after Search pane match clicks
Retry delay (ms) 250 Wait before correction
Retry count 1 Extra scroll passes (later passes wait longer)
Scroll heading to center ON Center the heading in the editor
Override theme scroll-behavior ON Instant editor scroll (ignore theme smooth-scroll)

Command palette: Jump to heading at cursor line reliably — scrolls to the heading that contains the current cursor line.

Author

K-Tech Studio

Support

Buy Me a Coffee

Disclaimer (no warranty)

This software is provided as is, without warranty of any kind. The developer does not guarantee that it will work in every environment. Use at your own risk. See the MIT License.

License

MIT


Live Preview やリーディングビューで、アウトライン、検索ヒット、[[ノート#見出し]] へジャンプしても、カーソルだけ動いて スクロールが追従しない ことがあります。分割表示でも起きやすいです。2 回目のクリック相当をプラグインが自動で行います。

直すもの

  • アウトラインからの見出しジャンプ(クリックまたは Enter。ライブプレビューとリーディングビュー)
  • 検索ペインのヒットクリック
  • 本文の [[wikilink#見出し]](クリック、リンク上の Enter、カーソル位置のリンクをたどる)
  • 本文の [[ノート#^ブロック]](wikilink と同じ)
  • アウトゴーイングリンク / バックリンクの見出し・ブロック(クリックまたは Enter)
  • 編集とリーディングの左右分割
  • 同名見出し(アウトライン上の順序で区別)
  • ジャンプ先の折りたたみ見出し(隠れている親の折りたたみも含む)を開く
  • テーマのスムーズスクロールで見出しを外す問題
  • リトライ遅延・回数(backoff)・中央揃えの設定

直さないもの

  • 全体の UI ラグ
  • Dropbox 同期遅延
  • リンクではないリーディングビューの見出しクリック(見出し自体を目次にはしない)

使い方

  1. コミュニティプラグインから Heading Jump Fix を入れて有効にする
  2. 長いノートを開く
  3. アウトライン(クリックまたは Enter)、検索のヒット、[[ノート#見出し]] / [[ノート#^ブロック]]、またはリンクペインからジャンプする

設定(プラグイン設定):

設定 初期値 説明
プラグインを有効化 ON 全体のスイッチ
アウトラインクリック補正 ON アウトラインのクリックまたは Enter のあとスクロールを再試行
Wikilink クリック補正 ON [[wikilink#見出し]] と [[ノート#^ブロック]](クリックまたはキーボード)のあとスクロールを再試行
リンクペイン補正 ON アウトゴーイング / バックリンク(クリックまたは Enter)
リーディングビューのジャンプ補正 ON アウトラインや見出しリンクのあと、リーディング側もスクロール
検索ヒットのジャンプ補正 ON 検索ペインのヒットクリックのあとスクロールを再試行
リトライ遅延 (ms) 250 補正までの待ち時間
リトライ回数 1 追加のスクロール回数(後の回は待ち時間が増える)
見出しを中央へ ON エディタの中央付近に見出しを置く
テーマの scroll-behavior を上書き ON エディタを即時スクロール

コマンドパレット: Jump to heading at cursor line reliably — カーソル行を含む見出しまでスクロールします。

作者

K-Tech Studio

サポート

Buy Me a Coffee

免責(無保証)

本ソフトウェアは 現状有姿(無保証) で提供します。あらゆる環境での動作を保証しません。利用は自己責任です。詳細は MIT ライセンス を参照してください。

ライセンス

MIT