Hans van der Fluit96 downloadsRender searchable, collapsible folder trees inside notes.
FolderView is an Obsidian community plugin that renders a folder tree directly inside your notes using a Markdown code block.
Unlike Dataview, FolderView is designed specifically for browsing folders and files. It displays the contents of any folder in your vault as a tree, including subfolders and non-Markdown files.
Note: FolderView is preparing for its first Community Plugin release.
Current features:
.md extension.Clone or download this repository into your vault's plugins folder:
<Your Vault>/.obsidian/plugins/folder-view/
Install dependencies:
npm install
Start the development build:
npm run dev
Enable the plugin in:
Settings → Community Plugins
For a manual release installation, copy main.js, manifest.json, and
styles.css into the same folder-view directory.
Insert the following code block into any note:
```folderview
Projects
```
Where Projects is the path to a folder in your vault.
FolderView will render a tree containing every file and subfolder beneath that folder.
Example:
```folderview
Projects
```
Produces something similar to:
Ideas
Meeting Notes
Todo
Personal
Shopping
Vacation
Work
Proposal
Budget.xlsx
Markdown notes are displayed without the .md extension.
Other files keep their extensions.
Clicking any file opens it in Obsidian.
Select a folder row to collapse or expand its contents. FolderView remembers this state globally by full vault path. If the same folder appears in multiple FolderView blocks, it uses the same collapsed or expanded state in each one.
Open Settings → FolderView to configure:
Paths are relative to the root of your vault.
Examples:
```folderview
Projects
```
```folderview
Projects/Work
```
```folderview
Attachments
```
At the current stage of development:
These limitations will be addressed in future releases.
FolderView is written in TypeScript using the official Obsidian Plugin API.
The project is organized into focused classes:
src/
├── CollapsedFolderState.ts
├── main.ts
├── FolderView.ts
├── FolderTree.ts
├── TreeRenderer.ts
├── Icons.ts
└── Types.ts
The project aims to follow clean architecture principles:
main.tsContributions, suggestions, and bug reports are welcome.
Run the complete release check before creating a release:
npm run check
Create a GitHub release whose tag exactly matches the version in
manifest.json without a leading v. Attach main.js, manifest.json,
and styles.css as individual release assets.