A Lightweight Markdown Note Taking Tool for Neovim. The idea behind this plugin is to mirror the functionality of the ill-fated note taking app stashpad. Instead of running it in a separate appliaction though, here it's a part of your neovim editor editing simple markdown files. When in a notes file, simply invoke the new entry functionality and you'll have a timestamped note created with insert mode ready to input text.
Using lazy.nvim allows us to manage the plugin. Use the following lazy config:
{
"msyke/stashdown.nvim",
config = function()
local sd = require('stashdown')
sd.setup()
end,
keys = {
{
"<leader>sdn",
"<cmd>:Stashdown nf<CR>",
mode = { "n" },
desc = "Create a new stashdown markdonw file",
},
{
"<leader>sde",
"<cmd>:Stashdown ne<CR>",
mode = { "n" },
desc = "Create a new entry in the current markdown file",
},
{
"<leader>sda",
"<cmd>:Stashdown a<CR>",
mode = { "n" },
desc = "Archive the current file and all associated images",
},
{
"<leader>sdi",
"<cmd>:Stashdown ii<CR>",
mode = { "n" },
desc = "Insert an image into the current note file. Move the image into a folder associated with this note.",
},
},
}- Neovim 0.9 or later with Lua support
- Create New Files: Quickly create new stashdown formatted markdown files with titles and timestamps
- Insert Images: Add images to your notes with automatic file naming and organization
- Archive Notes: Automatically move notes to an archive directory when they're done
Basic commands available through Neovim's command interface, or in lua
- Create new note:
Vim Command:
:Stashdown nfLua:
local sd = require("stashdown.nvim")
sd.new_file(file_name, doc_title)- Insert image:
Vim Command:
:Stashdown iiLua:
local sd = require("stashdown.nvim")
sd.insert_image(buff_num)- New entry in current buffer:
Vim Command:
:Stashdown neLua:
local sd = require("stashdown.nvim")
sd.new_entry(buff_num)- Archive currently open file:
Vim Command:
:Stashdown aLua:
local sd = require("stashdown.nvim")
sd.archive_file()