Skip to content

Releases: paris3200/markdown-notes.nvim

v2.1.2

18 Nov 19:10

Choose a tag to compare

Bug Fixes

Symlink Support for Vault Paths

  • Fixed tag search and link following when vault_path is a symbolic link
  • Added -L flag to find commands to follow symbolic links
  • Resolves "No tags found in frontmatter" errors for symlinked vaults

Background: The find command doesn't follow symbolic links by default. When users had their vault path pointing to a symlink (e.g., ~/personal/docs/notes~/personal/repos/notes), the find commands would return 0 files, causing tag search to fail and link following to not work properly.

Impact: Users with symlinked vault directories can now use:

  • Tag search (<leader>ng) - finds all tags across notes
  • Link following fuzzy fallback - finds notes when exact path doesn't exist

What's Changed

Full Changelog: v2.1.1...v2.1.2

v2.1.1

18 Nov 18:37
bdc799f

Choose a tag to compare

Bug Fixes

Tag Search Parser Enhancement

  • Fixed tag search to support YAML list format for frontmatter tags
  • Previously only supported bracket format tags: [tag1, tag2] which caused "No tags found in frontmatter" errors for notes using standard YAML list format
  • Parser now correctly handles both formats:
    • Bracket format: tags: [tag1, tag2, tag3]
    • YAML list format:
      tags:
        - tag1
        - tag2

What's Changed

  • fix: support YAML list format for frontmatter tags by @paris3200 in #29

Full Changelog: v2.1.0...v2.1.1

v2.1.0 - Automatic Workspace Detection

29 Oct 17:04
d538088

Choose a tag to compare

What's New

✨ Automatic Workspace Detection

The plugin now automatically switches to the appropriate workspace when opening markdown files based on their file path. This eliminates the need to manually switch workspaces when working across multiple vaults.

How it works:

  • Sets up an autocommand that runs on BufEnter and BufRead events for *.md files
  • Detects which workspace the file belongs to by matching the file path against configured vault paths
  • Seamlessly switches context as you navigate between different note vaults

Benefits:

  • No more manual workspace switching when jumping between work notes, personal notes, and project documentation
  • Improved workflow efficiency for users with multiple note vaults
  • Transparent operation - the plugin handles workspace context automatically

Full Changelog

Full Changelog: v2.0.2...v2.1.0

v2.0.2 - Fix Link Following with Display Text

24 Jul 02:17
9ed2fe3

Choose a tag to compare

What's Fixed

  • Link Following: The gf command now properly follows wikilinks that have custom display text
    • Links like [[long-filename|Short Title]] now work correctly
    • Previously, gf would fail because it tried to find a file with the entire text including the display portion

This fixes an issue where gf wouldn't work on links formatted with pipe-separated display text.

v2.0.1 - Link Path Fix

19 Jul 21:04
080e067

Choose a tag to compare

Bug Fixes

  • Links: Fixed link insertion to use paths relative to vault root directory instead of current directory (#25, #26)
    • Links now generate as [[note]] instead of [[./note]] when inserted from subfolders
    • Ensures consistent linking behavior regardless of current file location
    • All links are now properly relative to the vault root directory

What's Changed

  • fix: normalize link paths to be relative to vault root by @paris3200 in #26

Full Changelog: v2.0.0...v2.0.1

v2.0.0 - Enhanced rename functionality and documentation overhaul

07 Jul 15:35
8a1eb4f

Choose a tag to compare

🎉 Major Release - v2.0.0

✨ New Features

  • Enhanced rename function with fzf-lua file preview - Better visual feedback when renaming notes
  • Automatic link updates during rename operations - All wiki-style links are automatically updated when files are renamed
  • Comprehensive documentation overhaul - Updated README with detailed examples and usage guides

⚠️ Breaking Changes

  • Default keybinding prefix changed from <leader>o to <leader>n - Provides semantic clarity as a notes plugin
    • Update your custom configurations to use the new prefix
    • The old prefix can still be configured manually if preferred

📚 Documentation

  • Completely rewritten README with comprehensive examples
  • Updated help documentation with all new features
  • Added detailed configuration guides

🔧 Developer Improvements

  • Added comprehensive linting setup with luacheck
  • Enhanced GitHub Actions workflow
  • Expanded test coverage for template variables
  • New test utilities and improved test structure

Migration Guide: Users with custom keybindings using <leader>o should update their configurations to use <leader>n or explicitly set their preferred prefix in the plugin configuration.

v1.1.1 - Keybinding Fix

06 Jul 12:28

Choose a tag to compare

What's Fixed

  • Fixed <leader>oy keybinding not opening yesterday's note

This patch release resolves a bug where the yesterday's note keybinding was not responding when pressed.

Full Changelog: v1.1.0...v1.1.1

v1.1.0 - Workspace System

06 Jul 03:23

Choose a tag to compare

🚀 v1.1.0 - Workspace System

Major New Feature: Multi-Vault Workspace Support

This release introduces a powerful workspace system that allows you to manage multiple independent note vaults simultaneously. Each workspace has its own configuration for paths, templates, and settings with predictable manual switching behavior.

✨ New Features

🏢 Workspace System

  • Multi-vault support: Manage separate note collections (work, personal, projects, etc.)
  • Manual workspace switching: Explicit control via <leader>ow keybinding and commands
  • Flexible default workspace: Set via default_workspace config option or auto-default to first workspace
  • Workspace-aware operations: All plugin functions automatically use the active workspace
  • Fuzzy finder integration: Interactive workspace selection with fzf-lua

🎯 New Commands

  • :MarkdownNotesWorkspaceStatus - Show current workspace
  • :MarkdownNotesWorkspacePick - Interactive workspace picker
  • :MarkdownNotesWorkspaceSwitch <name> - Switch to specific workspace
  • :MarkdownNotesWorkspaceActive - Show active workspace

⌨️ New Keybindings

  • <leader>ow - Pick workspace with fuzzy finder

📝 Configuration Examples

Option 1: Set default workspace in config

require("markdown-notes").setup({
  vault_path = "~/notes",
  default_workspace = "personal", -- Specify default
})

require("markdown-notes").setup_workspace("work", { ... })
require("markdown-notes").setup_workspace("personal", { ... })

Option 2: First workspace becomes default

require("markdown-notes").setup({ ... })

require("markdown-notes").setup_workspace("personal", { ... }) -- Auto-default
require("markdown-notes").setup_workspace("work", { ... })

🔧 How It Works

  1. Predictable behavior: All operations use the active workspace, no magic switching
  2. Explicit control: Users manually switch when needed via commands/keybindings
  3. Smart defaults: Use configured default or first workspace as fallback
  4. Consistent operations: All plugin functions respect the active workspace

📚 Use Cases

  • Work vs Personal: Separate professional and personal note collections
  • Project-based: Different workspaces for different projects or clients
  • Context-specific templates: Use different templates for different types of work
  • Multi-vault workflows: Switch between different knowledge bases seamlessly

🛠️ What's Changed

  • Added complete workspace system with manual switching
  • Updated all core modules to use workspace-aware configuration
  • Added comprehensive test coverage for workspace features
  • Updated documentation with workspace examples and guides
  • New fuzzy finder integration for workspace selection

📖 Full Documentation

See the updated README and help documentation (:help markdown-notes-workspaces) for complete setup guides and examples.


Full Changelog: v1.0.1...v1.1.0

v1.0.1 - Template Picker Fix

05 Jul 04:04
a31ae49

Choose a tag to compare

v1.0.1 - Template Picker Fix

Bug fix release for markdown-notes.nvim

Fixed

  • Template picker now displays clean filenames without './' prefix
  • Improved template selection UX by showing 'template-name.md' instead of './template-name.md'

Technical Details

  • Modified find command in template picker to use for clean relative paths
  • No breaking changes or API modifications

Installation

Same as v1.0.0 - no configuration changes needed.

v1.0.0 - First Release

04 Jul 22:41

Choose a tag to compare

markdown-notes.nvim v1.0.0

First stable release of markdown-notes.nvim - a simple, configurable markdown note-taking plugin for Neovim.

Features

  • Daily Notes: Quick creation and navigation with automatic templating
  • Template-based Note Creation: Flexible template system with variable substitution
  • Wiki-style Links: Create and follow [[note-name]] links between notes
  • Powerful Search: Find notes by filename or content with file preview and syntax highlighting
  • Backlinks: Discover which notes reference the current note
  • Tag Search: Search frontmatter tags with file counts and preview
  • Comprehensive Documentation: Full nvim help documentation with :help markdown-notes
  • Configurable: Customize paths, keybindings, and behavior

Installation

Using lazy.nvim

{
  "paris3200/markdown-notes.nvim",
  dependencies = {
    "ibhagwan/fzf-lua",
  },
  config = function()
    require("markdown-notes").setup({
      -- your configuration here
    })
  end,
}

Quick Start

After installation, use :help markdown-notes for comprehensive documentation.

Default key mappings:

  • <leader>od - Open today's daily note
  • <leader>on - Create new note
  • <leader>oc - Create note from template
  • <leader>of - Find notes
  • <leader>os - Search note contents
  • <leader>ol - Insert wiki link
  • <leader>ob - Show backlinks
  • gf - Follow link under cursor

Requirements

  • Neovim >= 0.8.0
  • fzf-lua (for fuzzy finding)
  • marksman LSP (optional, for enhanced link completion)