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.
- Multi-line Block References - Create precise range blocks with the
^abc123-abc123format - Outliner (Logseq-like) +
blp-view- Treat list items as blocks in scoped files; keep stable^id+ hidden system metadata; query/render withblp-view(Dataview required) - Inline Editing - Edit embedded blocks/headings directly in Live Preview (when enabled)
- Smart Aliases - Content-based link descriptions when copying links
base1.mp4
inline-edit.mp4
outliner.mp4
- Open Obsidian Settings โ Community Plugins
- Search "Block Link Plus" โ Install โ Enable
- Download latest release
- Extract to
.obsidian/plugins/block-link-plus/ - Restart Obsidian and enable
- 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"
- Multi-line: Select multiple lines โ (Settings: pick a multi-line handling mode) โ create a range block (
^id-id) - Outliner &
blp-view: enable scope (Settings: enabled folders/files, or frontmatterblp_outliner: true) โ use ablp-viewcode block to query/render
Complete documentation available at: https://block-link-plus.jasper1024.com/
- 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-viewaligns with the Outliner scope model (no more โsilent cross-scopeโ reads)- Removed legacy Timeline / Time Section features
- Fix: Outliner block-range selection now supports right-click on selected blocks to open the bullet menu (no handle aiming)
- Outliner: drag-select across blocks now selects a block range (whole-block highlight)
- Fix: Outliner multi-line blocks no longer render with extra blank lines (strict line breaks)
- Fix: Outliner display-mode embed preview (
![[...]]) now renders closer to the inline editor (spacing/indent; avoid clipped list markers)
- Outliner: editor command bridge (core shortcuts like Ctrl+B) + strict plugin allowlist
- New settings:
fileOutlinerEditorCommandBridgeEnabled,fileOutlinerEditorCommandAllowedPlugins(keepcorefor core shortcuts)
- 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-viewaligns with the Outliner scope model- Removed legacy Timeline / Time Section features
- 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")
- Inline Edit migrated to a native leaf-based engine (ported from sync-embeds)
- Removed legacy
!![[...]]embed syntax - Multi-line blocks: improved
^id-idrange 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
- 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
- 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
- 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
- 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
srcdirectory - Refactored major components like Flow Editor into separate modules for better maintainability
- 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
- 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
- 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
- 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
- Fixed block ID handling for list items
- Optimized block ID insertion position for list type blocks
- Improved list block handling logic
- 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
- 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 |
- Obsidian 0.15.0+
- Dataview plugin (for
blp-viewQuery/View)
Built with inspiration from excellent open-source projects:
- sync-embeds - Leaf-based inline edit engine foundation
- Obsidian-Basics - Legacy editable block foundation
- copy-block-link - Block reference basics
- Text Transporter - Multi-block processing
GNU GPLv3 License - see LICENSE file for details.