Block View
pendingby Timo Bechtel
Filter and display the content of your notes in a Bases view.
Obsidian Block View
A Bases view for Obsidian that turns your notes into a database of blocks.

Table of Contents
What is Block View?
Block View is an extension for the Bases core plugin that lets you list and filter the content of your notes - "blocks" - across your entire vault.
For example, you could resurface specifically tagged bullet points from your daily notes every week. Or build a vault-wide library of quotes.
Because it works as a Bases view, you can still use the standard features like file filtering, sorting, and grouping. Block View then divides each file's content into blocks, so you can filter and display specific sections from multiple notes in the same view.
Installation
Via BRAT
This plugin is not yet available in the official Community Plugins list. You can install it using BRAT:
- Install BRAT from the Community Plugins store.
- Open the command palette and run
BRAT: Add a beta plugin for testing. - Enter the URL:
https://github.com/timobechtel/obsidian-block-view - Enable "Block View" in your settings.
Examples
Still not sure what this is? Let's look at some examples.
1. Daily Logs
Review your work history by listing every paragraph tagged with #log or #work from your daily notes in a single timeline, without opening each file individually.

Show Bases Snippet
```base
views:
- type: block-view
name: Daily Logs
filters:
and:
- file.folder == "Daily Notes"
sort:
- property: file.mtime
direction: DESC
tagFilter:
- "#log"
- "#work"
```
2. Project Tasks
Collect all incomplete tasks from your project folders in a single list. You can group them by project and check them off directly in the view, without opening the corresponding note.

Show Bases Snippet
```base
views:
- type: block-view
name: Active Tasks
groupBy:
property: file.folder
direction: ASC
filterTasks: true
filterTasksType: incomplete
```
3. Code Snippets
Build a searchable library of your code snippets. This example collects every python code block scattered across your vault into one reference list.

Show Bases Snippet
```base
views:
- type: block-view
name: Python Snippets
filterCodeBlocks: true
filterCodeBlocksLanguages:
- python
groupBy:
property: file.folder
direction: ASC
sort:
- property: file.mtime
direction: DESC
```
4. Quotes and Highlights
Surface key information from your notes. This collects every blockquote tagged #insight so you can review all your insights in one place.

Show Bases Snippet
```base
views:
- type: block-view
name: "Highlights"
filterQuotes: true
tagFilter:
- insight
matchLogic: all
```
How it works
Block View filters blocks by checking if any line in a markdown section matches your filters.
For example:
- Quotes: If any line in a blockquote matches the filter, the view includes the content of that blockquote.
- Headers: If a header matches the filter, the view includes the content of that section up to the next header of the same level.
- Lists: If a list item matches, it includes all nested children items and continuation paragraphs.
- Paragraphs: If a paragraph matches, the view includes the content of that paragraph.
Filters & View Options
You can configure these settings via the view options panel in the Bases view.
| Option | Description |
|---|---|
| Tasks | Toggle to include task items (- [ ]). |
| Show | If tasks are enabled, choose Any, Incomplete, or Complete. |
| Quotes | Toggle to include quotes (> quote) and/or callouts. |
| Quote type | If quotes are enabled, choose Any, Blockquotes, or Callouts. |
| Code Blocks | Toggle to include fenced code blocks. |
| Languages | Multi-select language filter for code blocks. Use - prefix to exclude (e.g., ts, js, -base). Default excludes base. |
| Tables | Toggle to include Markdown tables. |
| Tags | Multi-select list of tags to filter by. Use - prefix to exclude (e.g., #work, -#archived). Supports nested tags. |
| Text pattern | Match any line in a block by plain text or regex. Plain text matches the start of a line. For regex, use something like /^## ToDos/i. |
| Invert text filter | Include blocks whose lines do not match the text pattern. |
| Include if | Any filter matches or All filters match. |
| Display Options | Show files without matches, include non-Markdown files, only include matching table rows, and cap max blocks per file. |
Text pattern example:
meetingmatchesMeeting notes, but notNotes from the meeting. Use regex like/meeting/ito match anywhere in a line.
Style Settings
Block View supports configuring some of the styles via the Style Settings plugin.
Contributing
Development
This project uses bun as a package manager.
Install dependencies
bun install
Build
bun run build
Commit messages
This project follows the Conventional Commits guidelines. I recommend using commitizen for automated commit messages.
For plugin developers
Search results and similarity scores are powered by semantic analysis of your plugin's README. If your plugin isn't appearing for searches you'd expect, try updating your README to clearly describe your plugin's purpose, features, and use cases.