Block View

pending

by Timo Bechtel

Filter and display the content of your notes in a Bases view.

7 starsUpdated 11d agoMITDiscovered via Obsidian Unofficial Plugins
View on GitHub

Obsidian Block View

Obsidian Plugin

A Bases view for Obsidian that turns your notes into a database of blocks.

Block View Demo


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:

  1. Install BRAT from the Community Plugins store.
  2. Open the command palette and run BRAT: Add a beta plugin for testing.
  3. Enter the URL: https://github.com/timobechtel/obsidian-block-view
  4. 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.

Work Log Screenshot

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.

Project Tasks Screenshot

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.

Code Snippets Screenshot

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.

Quotes Screenshot

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.

OptionDescription
TasksToggle to include task items (- [ ]).
ShowIf tasks are enabled, choose Any, Incomplete, or Complete.
QuotesToggle to include quotes (> quote) and/or callouts.
Quote typeIf quotes are enabled, choose Any, Blockquotes, or Callouts.
Code BlocksToggle to include fenced code blocks.
LanguagesMulti-select language filter for code blocks. Use - prefix to exclude (e.g., ts, js, -base). Default excludes base.
TablesToggle to include Markdown tables.
TagsMulti-select list of tags to filter by. Use - prefix to exclude (e.g., #work, -#archived). Supports nested tags.
Text patternMatch 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 filterInclude blocks whose lines do not match the text pattern.
Include ifAny filter matches or All filters match.
Display OptionsShow files without matches, include non-Markdown files, only include matching table rows, and cap max blocks per file.

Text pattern example: meeting matches Meeting notes, but not Notes from the meeting. Use regex like /meeting/i to 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.