Occurrences
unlistedby Jp Rowan
A plugin for managing and viewing occurrences (time-stamped events) in your vault.
Occurrences for Obsidian
A plugin for managing and viewing occurrences (time-stamped events) in your Obsidian vault.
Features
- Track occurrences with participants, topics, locations, and tags
- Filter occurrences by date range, file, tags, and search terms
- View occurrences in a dedicated sidebar view
- Customizable frontmatter field mappings to match your vault structure
- Automatic file watching - occurrences update automatically when files change
- Mobile app compatible - works on both desktop and mobile
Installation
From Obsidian Community Plugins
The plugin will be available in the Obsidian Community Plugins directory soon. For now, use manual installation below.
Manual Installation
- Download the latest release from the releases page
- Extract to your vault's
.obsidian/plugins/occurrencesdirectory - Reload Obsidian
- Enable the plugin in Settings → Community plugins
Quick Start
-
Enable the plugin in Obsidian settings (Settings → Community plugins → Occurrences)
-
Create occurrence files in your vault with frontmatter:
--- occurred_at: 2024-01-15 1400 participants: - [[Person Name]] - [[Another Person]] topics: - [[Meeting Topic]] - [[Discussion]] location: [[Location Name]] tags: - meeting - important --- # Meeting Notes Content of your occurrence... -
Open the Occurrences View using:
- The ribbon icon (calendar-range icon)
- Command palette: "Open Occurrences View"
- Keyboard shortcut (if configured)
-
Filter and search your occurrences using the view controls:
- Date filters (today, this week, this month, custom range)
- File selector (show occurrences from specific files)
- Tag filters
- Full-text search
Configuration
Access settings via Settings → Occurrences to customize:
Frontmatter Field Mappings
Customize which frontmatter fields map to occurrence properties:
occurredAt→ Default:occurred_attoProcess→ Default:to_processparticipants→ Default:participantstopics→ Default:topicslocation→ Default:locationtags→ Always usestags(not configurable)
File Filtering
Occurrences are automatically detected from files in the Occurrences/ directory with .md extension.
Usage
Creating Occurrences
Occurrences are markdown files in your vault. The plugin automatically detects files with the configured frontmatter fields. Files should be located in the Occurrences/ directory.
File naming: Files can optionally include a date prefix in the format YYYY-MM-DD HHmm (e.g., 2024-01-15 1400 Meeting Notes.md). The plugin will extract the title from the filename by removing the date prefix.
Viewing Occurrences
The Occurrences View provides several ways to filter and view your occurrences:
-
Date Filtering:
- Quick filters: Today, This Week, This Month, All Time
- Custom date range picker
-
File Filtering:
- Show occurrences from specific files
- Filter by active file
-
Tag Filtering:
- Filter by one or more tags
- Tag selector with search
-
Search:
- Full-text search across occurrence titles and content
- Real-time filtering as you type
-
Grouping:
- Group occurrences by date, file, or tags
- Collapsible groups for easy navigation
Commands
- Open Occurrences View: Opens the main occurrences view
- Add Occurrence: Create a new occurrence file
Ribbon Icon
Click the calendar-range icon in the ribbon to quickly open the Occurrences View.
Troubleshooting
Occurrences not appearing
- Ensure files are in the
Occurrences/directory with.mdextension - Check that files have the required frontmatter fields (at minimum
occurred_at) - Verify the plugin is enabled (Settings → Community plugins)
- Try reloading Obsidian (Cmd/Ctrl + R)
View not updating
- Try closing and reopening the view
- Check the console for errors (Settings → Advanced → Developer tools → Console)
- Ensure files are being saved properly
Date parsing issues
- Ensure
occurred_atfield is in a format that JavaScriptDatecan parse - Recommended format:
YYYY-MM-DD HHmmor ISO 8601 format - Invalid dates will be marked as
toProcess: true
Frontmatter field not recognized
- Check Settings → Occurrences to verify field mappings
- Ensure field names match your configured mappings (case-sensitive)
- Default field names use snake_case (e.g.,
occurred_at,to_process)
Contributing
See docs/contributing.md for development guidelines and contribution information.
Development
For development setup and architecture details, see the docs/ directory.
License
MIT License - see LICENSE file for details.
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.