No description
Find a file
2025-09-30 12:20:59 -06:00
assets update readme 2025-09-30 11:55:46 -06:00
src always switch streams 2025-09-30 12:20:59 -06:00
.editorconfig first commit 2025-01-29 12:59:16 -07:00
.eslintignore first commit 2025-01-29 12:59:16 -07:00
.eslintrc first commit 2025-01-29 12:59:16 -07:00
.gitignore minifiy to dist 2025-05-05 18:14:22 -06:00
.npmrc first commit 2025-01-29 12:59:16 -07:00
AGENTS.md add from most recent seed project 2025-09-27 08:36:24 -06:00
esbuild.config.mjs extra params not allowed in manifest 2025-06-07 09:46:28 -06:00
LICENSE fix license ownership 2025-06-07 09:46:14 -06:00
main.ts remove redundant comments 2025-09-27 10:00:56 -06:00
manifest.json add api for other plugins to use 2025-09-27 08:30:14 -06:00
package-lock.json Lock 2025-01-29 13:36:23 -07:00
package.json Rebrand 2025-01-29 13:32:20 -07:00
README.md update readme 2025-09-30 11:55:15 -06:00
styles.css add context move 2025-09-30 10:50:45 -06:00
tsconfig.json vertical slice conversion 2025-09-27 09:23:10 -06:00
version-bump.mjs first commit 2025-01-29 12:59:16 -07:00
versions.json first commit 2025-01-29 12:59:16 -07:00

Streams

Create and manage multiple daily note streams

  • Replaces the Daily Note core plugin.

  • Inspired by the Periodic Notes and Calendar plugins.

assets/logo-transparent

Support

If you find this plugin helpful, please consider supporting its development:

GitHub Sponsors Buy Me a Coffee Venmo PayPal

Donation Options:

Your support helps maintain and improve this plugin! 🙏

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

Streams Widget

Configure Streams

Configure Streams

Move content between streams

Move Content

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 streams
  • getStream(streamId) - Get a specific stream by ID
  • getActiveStream() - Get the currently active stream
  • getStreamsByFolder(folderPath) - Get streams matching a folder path
  • getStreamForFile(filePath) - Get the stream containing a file
  • getStreamInfo() - Get basic stream information
  • hasStream(streamId) - Check if a stream exists
  • getStreamCount() - Get total number of streams
  • getVersion() - Get plugin version info

For detailed API documentation, see src/api/README.md.