mirror of
https://github.com/bfloydd/streams.git
synced 2026-07-22 12:50:25 +00:00
3.2 KiB
3.2 KiB
Streams
Create and manage multiple daily note streams
-
Replaces the Daily Note core plugin.
-
Inspired by the Periodic Notes and Calendar plugins.
Features
- Multiple daily note streams.
- Full calendar for each stream.
- New view for missing notes.
- Public API for other plugins to access stream data.
Getting started
- Add new stream in settings, "Daily Notes", pointing to where you store your daily notes. There will be a ribbon button and a command to get to Today's Daily Note. Disable core Daily Note plugin.
- Then create another stream for work?
- Then create another stream for school?
- Then create another stream for... whatever.
Configure Streams
Each Stream's Daily Note
Quick Actions
The plugin provides several ribbon buttons for quick access:
- 📅 Calendar Icon: Automatically opens today's note for the current stream context
Commands
The plugin provides several commands accessible via the Command Palette and ribbon buttons:
- Open Current Stream Today: Automatically detects which stream the current view belongs to and opens that stream's today note. This works whether you're in a file that belongs to a stream, a stream view, or a create file view. This is useful when you want to quickly jump to today's note for the current stream context.
- Command Palette: "Open Current Stream Today"
- Ribbon Button: 📅 Calendar icon in the left sidebar
- Toggle calendar component: Shows/hides the calendar component.
Individual stream commands are also available if enabled in stream settings:
- Stream Name, today: Opens today's note for a specific stream.
Keyboard Shortcuts
You can assign custom keyboard shortcuts to any of these commands through Obsidian's Settings → Hotkeys. Some recommended shortcuts:
- Open Current Stream Today:
Ctrl+Shift+T(orCmd+Shift+Ton Mac)
Public API for Other Plugins
The Streams plugin provides a public API that other Obsidian plugins can use to access stream data and functionality.
Quick Start
// Get the Streams plugin instance
const streamsPlugin = this.app.plugins.getPlugin('streams') as StreamsPlugin;
if (streamsPlugin) {
// Get all streams
const streams = streamsPlugin.getStreams();
// Get active stream
const activeStream = streamsPlugin.getActiveStream();
// Get stream for current file
const activeFile = this.app.workspace.getActiveFile();
if (activeFile) {
const stream = streamsPlugin.getStreamForFile(activeFile.path);
}
}
Available Methods
getStreams()- Get all configured streamsgetStream(streamId)- Get a specific stream by IDgetActiveStream()- Get the currently active streamgetStreamsByFolder(folderPath)- Get streams matching a folder pathgetStreamForFile(filePath)- Get the stream containing a filegetStreamInfo()- Get basic stream informationhasStream(streamId)- Check if a stream existsgetStreamCount()- Get total number of streamsgetVersion()- Get plugin version info
For detailed API documentation, see src/api/README.md.


