No description
Find a file
2025-09-29 19:20:01 -06:00
assets add logo 2025-05-07 09:26:51 -06:00
src show on all tabs at once 2025-09-29 19:20:01 -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 add api for other plugins to use 2025-09-27 08:30:14 -06:00
styles.css organize 2025-09-29 13:22:55 -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

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

Configure Streams

Each Stream's Daily Note

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 (or Cmd+Shift+T on 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 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.