sixtarocyan_smart-folder-view/README.md

86 lines
No EOL
2.5 KiB
Markdown

# Smart Folder View
Smart Folder View is an Obsidian plugin that turns a folder of notes into an interactive dashboard. It lets you build reusable pages with timeline and board layouts, metadata-based filters, stable color mapping, drag sorting, and saved presets.
## Features
- Build saved dashboard pages from any folder in your vault.
- Switch between timeline view and board view.
- Filter notes by frontmatter fields with multi-select controls.
- Keep page state with saved profiles, presets, and last-opened page memory.
- Drag cards to reorder items in timeline and board layouts.
- Update ordering only, or update ordering together with a target field value.
- Undo the last drag action.
- Export a page definition back into your vault.
- Use Chinese or English UI.
- Configure generated card colors from a chosen metadata field.
## Commands
- Create Smart Folder Page
- Manage Saved Pages
- Open Last Page
- Export Page
Command labels follow the plugin UI language and may appear in Chinese or English.
## How It Works
Each saved page stores:
- a source folder
- an optional template file used to infer fields
- a color field
- a sort field and sort direction
- a set of display fields
- a preferred layout mode
- an optional board grouping field
The plugin opens a dedicated custom view and renders matching notes as cards. Filter state, presets, and manual ordering are persisted locally for each page.
## Installation
### Community Plugins
After approval and publication, install Smart Folder View from Obsidian's Community Plugins browser.
### Manual Installation
1. Open your vault's plugin folder: `.obsidian/plugins/`.
2. Create a folder named `smart-folder-view`.
3. Copy `main.js`, `manifest.json`, and `styles.css` into that folder.
4. Restart Obsidian or reload plugins.
5. Enable Smart Folder View in Community Plugins.
## Development Notes
- Source entry: `src/main.ts`
- Build output: `main.js`
- Release metadata: `manifest.json`
- Version compatibility map: `versions.json`
- Local state file: `data.json` (not a release asset)
### Build
```bash
npm install
npm run build
```
### Watch mode
```bash
npm run dev
```
## Release Checklist
1. Update `manifest.json` version and minimum compatible Obsidian version.
2. Add the same version to `versions.json`.
3. Create a GitHub release whose tag exactly matches the plugin version, for example `0.1.0`.
4. Upload `main.js`, `manifest.json`, and `styles.css` to the release assets.
5. Submit the repository to `obsidianmd/obsidian-releases` by adding an entry to `community-plugins.json`.
## License
MIT