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

If you find this plugin helpful, please consider supporting its development:
Donation Options:
Your support helps maintain and improve this plugin! 🙏
Check out my other Obsidian plugins:
Follow me on GitHub for updates.



The Streams plugin provides a public API that other Obsidian plugins can use to access stream data and functionality.
// 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);
}
}
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 fileFor detailed API documentation, see src/api/README.md.