Streams
approvedby bfloydd
Create and manage multiple Daily Note streams
Streams
Create and manage multiple daily note streams
-
Replaces the Daily Note core plugin.
-
Inspired by the Periodic Notes and Calendar plugins.

Support
If you find this plugin helpful, please consider supporting its development:
Donation Options:
- GitHub Sponsors - Monthly sponsorship ❤️
- Buy Me a Coffee - Support with a coffee ☕
- Venmo - Quick mobile payment
- PayPal - Direct PayPal donation
Your support helps maintain and improve this plugin! 🙏
Other Plugins
Check out my other Obsidian plugins:
Follow me on GitHub for updates.
Features
- Multiple daily note streams.
- Full calendar for each stream.
- New view for missing notes.
- Public API for other plugins to access stream data.
Benefits
- Divide up messy Daily Notes.
- Create a private stream for work.
- Encrypt a single stream for added data security.
- Quickly find and add notes.
Getting started
- Add new stream in settings, "Daily Notes", pointing to where you store your daily notes.
- Then create another stream for Work of School.
- Use the navigation bar to select any stream.
Streams Widget

Configure Streams

Move content between streams

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(streamId)- Get basic stream information for a specific streamhasStream(streamId)- Check if a stream existsgetStreamCount()- Get total number of streamsgetVersion()- Get plugin version infogetStreamsByIcon(icon)- Get streams with a specific icongetRibbonStreams()- Get streams enabled for ribbon displaygetCommandStreams()- Get streams with commands enabledhasStreams()- Check if any streams are configuredupdateStreamBarFromFile(filePath)- Update the stream bar to match an opened file
For detailed API documentation, see src/api/README.md.
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.