Block Link Plus

by Jasper
5
4
3
2
1
Score: 58/100

Description

Category: Note Enhancements

The Block Link Plus plugin is a game-changer for Obsidian users who frequently create and reference text blocks. This plugin builds upon the existing block link functionality by introducing support for multi-line text blocks, which can be particularly useful when working with complex notes or research projects. With Block Link Plus, you can now easily create links to multiple lines of text, making it simpler to navigate your notes and collaborate with others. Additionally, the plugin offers customization options for block IDs, giving you more control over how your links are displayed.

Reviews

No reviews yet.

Stats

51
stars
7,563
downloads
2
forks
656
days
14
days
14
days
0
total PRs
0
open PRs
0
closed PRs
0
merged PRs
34
total issues
4
open issues
30
closed issues
41
commits

README file from

Github

Block links + multi-line ranges + a Logseq-like outliner workflow for Obsidian: copy links/embeds/URIs to blocks & headings, create multi-line range blocks, and use blp-view (Dataview-backed) to query/render list blocks in scoped files.

Version Downloads

🚀 Key Features

  • Multi-line Block References - Create precise range blocks with the ^abc123-abc123 format
  • Outliner (Logseq-like) + blp-view - Treat list items as blocks in scoped files; keep stable ^id + hidden system metadata; query/render with blp-view (Dataview required)
  • Journal Feed (Logseq-like Journals) - Open a marked anchor note to view/edit multiple Daily Notes in one continuous feed (uses core Daily Notes settings)
  • Inline Editing - Edit embedded blocks/headings directly in Live Preview (when enabled)
  • Smart Aliases - Content-based link descriptions when copying links

demo

base

https://github.com/user-attachments/assets/5a0f0a32-42a3-4c23-8b38-17542c5ec072

inline edit

https://github.com/user-attachments/assets/d34b9be4-9a1b-4d00-9a87-1b70463dc8d7

outliner

https://github.com/user-attachments/assets/ea7f1d24-7845-4957-aa9c-7309af0a3514

📦 Installation

  1. Open Obsidian Settings → Community Plugins
  2. Search "Block Link Plus" → Install → Enable

Manual Installation

  1. Download latest release
  2. Extract to .obsidian/plugins/block-link-plus/
  3. Restart Obsidian and enable

🔧 Quick Start

  1. Select a block/heading → Right-click → Choose link type (link / embed / URI), or use Command Palette: "Copy Block Link" / "Copy Block as Embed" / "Copy Block as Obsidian URI"
  2. Multi-line: Select multiple lines → (Settings: pick a multi-line handling mode) → create a range block (^id-id)
  3. Outliner & blp-view: enable scope (Settings: enabled folders/files, or frontmatter blp_outliner: true) → use a blp-view code block to query/render
  4. Journal Feed: create an anchor note with frontmatter blp_journal_view: true → open it to enter the continuous daily-notes feed view

📖 Documentation

Complete documentation available at: https://block-link-plus.jasper1024.com/

Language Support

Community

🆕 What's New in 2.0

  • Outliner becomes the main workflow (Logseq-like list blocks in scoped files)
  • Outliner edit mode supports core editor shortcuts (Ctrl+B, etc.) via an editor command bridge (strict allowlist)
  • Unified scope model: enabled folders/files + per-file frontmatter blp_outliner: true/false
  • blp-view aligns with the Outliner scope model (no more “silent cross-scope” reads)
  • Removed legacy Timeline / Time Section features

📋 Changelog

2.0.15

  • Fix: Outliner structural edits (Enter, Tab, Shift+Tab) now preserve viewport position instead of jumping back to the top of the file
  • Fix: Outliner focus restoration after structural edits now keeps long-outline editing stable near the bottom of the note

2.0.14

  • Fix: embedded Outliner cards in Journal Feed no longer show a nested inner leaf header, so the editor content aligns with the outer day header on narrow/mobile layouts
  • Fix: embedded Outliner cards in Journal Feed no longer keep the standalone Outliner bottom spacer, making long notes easier to position inside the feed
  • Fix: embedded Outliner cards in Journal Feed now use a tighter left gutter/bullet column, removing the oversized left boundary on phones

2.0.13

  • Fix: Outliner block editing now keeps focus/scroll stable when clicking tabs or working near the bottom of a long outline
  • Fix: Outliner Tab / Shift+Tab now preserve visible block order whenever possible instead of moving the block to the target parent's tail

2.0.12

  • Fix: hide TaskNotes widgets inside inline embeds to avoid extra UI noise in embedded editors

2.0.11

  • Improved: Journal Feed now mounts outliner-enabled daily notes as embedded Outliner views for a consistent editing experience
  • Fix: the embedded Outliner editor command bridge now follows real editor focus, so suggests and editor commands stay reliable inside Journal Feed embeds

2.0.10

  • Fix: Journal Feed now hides Outliner system tail lines in the embedded editors (same as Outliner)

2.0.9

  • Improved: Journal Feed now always discovers Daily Notes by recursively scanning the Daily Notes folder, using the configured date format (supports arbitrary subfolders)

2.0.8

  • Fix: Journal Feed now discovers Daily Notes stored in subfolders (e.g. format YYYY/M/YYYY-M-D)

2.0.7

  • New: Journal Feed view (anchor-only) for a continuous Daily Notes feed (Logseq-like Journals)

2.0.6

  • Improved: Outliner V1 structural undo/redo now covers split, multiline paste, indent/outdent, merge, and drag/drop
  • Improved: Esc now closes suggests first; otherwise it exits block edit mode or clears the current block-range selection

2.0.5

  • Fix: Outliner block-range selection now supports right-click on selected blocks to open the bullet menu (no handle aiming)

2.0.4

  • Outliner: drag-select across blocks now selects a block range (whole-block highlight)

2.0.3

  • Fix: Outliner multi-line blocks no longer render with extra blank lines (strict line breaks)

2.0.2

  • Fix: Outliner display-mode embed preview (![[...]]) now renders closer to the inline editor (spacing/indent; avoid clipped list markers)

2.0.1

  • Outliner: editor command bridge (core shortcuts like Ctrl+B) + strict plugin allowlist
  • New settings: fileOutlinerEditorCommandBridgeEnabled, fileOutlinerEditorCommandAllowedPlugins (keep core for core shortcuts)

2.0.0

  • Outliner becomes the main workflow (Logseq-like list blocks in scoped files)
  • Unified scope model: enabled folders/files + per-file frontmatter blp_outliner: true/false
  • blp-view aligns with the Outliner scope model
  • Removed legacy Timeline / Time Section features

1.8.1

  • Fix: Inline Edit preserves list item children when embedding list-item block references (e.g., #^123)
  • Fix: Inline Edit no longer shows the embedded backlinks panel ("Link to current file")

1.8.0

  • Inline Edit migrated to a native leaf-based engine (ported from sync-embeds)
  • Removed legacy !![[...]] embed syntax
  • Multi-line blocks: improved ^id-id range creation and rendering stability
  • Fix: list item range markers stay scoped; IDs inserted at item end when needed (#22/#27)
  • Fix: reading-mode postprocessor no longer blanks notes/embeds (#29)
  • New: show a What's New modal once after upgrade

1.7.5

  • Enhanced multi-line block handling by extracting actual links without aliases in markdown processing and flow editor
  • Update regex patterns to support both alias and non-alias formats
  • Fix typo in settings for block ID prefix and update localization files for Chinese and Traditional Chinese
  • Add new command for copying blocks as editable embeds
  • Update UIMultilineBlock to conditionally create line click handler based on showEditIcon prop

1.5.3

  • Improved Timeline output format for better readability and organization
  • Added file links as entry points for each file group
  • Added separators between file groups and empty lines between content
  • Preserved user customizations to embedded links
  • Updated documentation with new format examples
  • Fixed link matching issues in Timeline filtering

1.5.0

  • Added Debug Mode to Timeline feature for troubleshooting filtering issues
  • Fixed section extraction in Timeline to properly match links
  • Improved Timeline filtering accuracy with basename matching
  • Added hash-based optimization to prevent unnecessary file updates
  • Fixed various edge cases in Timeline functionality

1.4.0

  • Added Embed Block Editing feature for a seamless inline editing experience
  • Added Timeline feature (blp-timeline) to dynamically query and aggregate sections from your vault
  • Migrated project to a standardized structure with source code in the src directory
  • Refactored major components like Flow Editor into separate modules for better maintainability

1.3.0

  • Added Time Section feature for inserting timestamps as headings
  • Added automatic heading level determination for time sections
  • Added special handling for daily notes with customizable pattern matching
  • Added option to display time sections as plain text in preview mode
  • Improved heading analysis with better level detection
  • Fixed cursor positioning after inserting elements

1.2.4

  • Added validation for edge cases in heading analysis to improve stability
  • Enhanced error handling for the analyzeHeadings function
  • Fixed potential issues when start_line and end_line are both zero

1.2.3

  • Improved multi-line block handling, especially for list items
  • Enhanced alias generation for multi-line blocks
  • Added configurable notifications for block link copying
  • Fixed list block ID handling and positioning
  • Improved selected text handling for aliases

1.2.0

  • Reorganized settings menu structure for better usability
  • Fixed heading block handling when text contains headings
  • Added experimental option: heading_id_newline for controlling heading block ID newline behavior
  • Improved settings text clarity and organization

1.1.3

  • Fixed block ID handling for list items
  • Optimized block ID insertion position for list type blocks
  • Improved list block handling logic

1.1.2

  • Added new block link alias type: Selected text
  • Improved alias handling for heading blocks
  • Fixed alias generation for single-line blocks
  • Enhanced alias type configuration options
  • Improved documentation and settings descriptions

1.1.0

  • Added support for Obsidian URI links
  • Added customizable block link alias types:
    • First x characters of block content
    • Nearest heading title
  • Improved command and menu text for better clarity
  • Fixed consistency between command palette and right-click menu functionality
Format Type Usage
[[file#^id]] Regular Normal block reference
![[file#^id]] Embed Display block content (editable in Live Preview when enabled)
![[file#^id-id]] Range Display multi-line range
obsidian://... URI External app access

📋 Requirements

  • Obsidian 0.15.0+
  • Dataview plugin (for blp-view Query/View)

🙏 Acknowledgments

Built with inspiration from excellent open-source projects:

📄 License

GNU GPLv3 License - see LICENSE file for details.

🐛 Support