91 lines
4.2 KiB
Lua
91 lines
4.2 KiB
Lua
if vim.fn.isdirectory(vim.fn.expand "~" .. "/Documents/sjb-brain/") == 1 then
|
|
|
|
vim.pack.add({ { src = 'https://github.com/obsidian-nvim/obsidian.nvim' } })
|
|
|
|
require("obsidian").setup({
|
|
legacy_commands = false,
|
|
picker = {
|
|
name = "snacks.picker",
|
|
},
|
|
ui = {
|
|
enable = true,
|
|
},
|
|
workspaces = {
|
|
{
|
|
name = "Steve Beaulac 2nd Brain",
|
|
path = vim.fn.expand "~" .. "/Documents/sjb-brain/",
|
|
},
|
|
},
|
|
notes_subdir = "Inbox",
|
|
daily_notes = {
|
|
folder = "Dailies",
|
|
date_format = "%Y-%m-%d-%a",
|
|
alias_fomat = "%B %-d, %Y",
|
|
default_tags = { "daily-notes" },
|
|
},
|
|
new_notes_location = "notes_subdir",
|
|
templates = {
|
|
subdir = "Templates",
|
|
date_format = "%Y-%m-%d-%a",
|
|
time_format = "%H:%M",
|
|
tags = "",
|
|
},
|
|
completion = {
|
|
-- nvim_cmp = false,
|
|
-- blink = true,
|
|
min_chars = 2,
|
|
},
|
|
link = {
|
|
style = "wiki",
|
|
},
|
|
note_id_func = function(title)
|
|
local suffix = ""
|
|
if title ~= nil then
|
|
suffix = title:gsub(" ", "-"):gsub("[^A-Za-z0-9-]", ""):lower()
|
|
else
|
|
for _ = 1, 4 do
|
|
suffix = suffix .. string.char(math.random(65, 90))
|
|
suffix = tostring(os.time()) .. "-" .. suffix
|
|
end
|
|
end
|
|
return suffix
|
|
end,
|
|
|
|
callbacks = {
|
|
enter_note = function(note)
|
|
vim.keymap.set('n', '<leader>k.', '<CMD>Obsidian toggle_checkbox<CR>',
|
|
{ desc = 'toggle checkbox', buffer = note.bufnr, silent = true })
|
|
vim.keymap.set('n', '<leader>kp', '<CMD>Obsidian paste_img<CR>',
|
|
{ desc = 'paste img', buffer = note.bufnr, silent = true })
|
|
vim.keymap.set('n', '<leader>kt', '<CMD>Obsidian tags<CR>',
|
|
{ desc = 'tags', buffer = note.bufnr, silent = true })
|
|
vim.keymap.set('n', '<leader>k`', '<CMD>Obsidian backlinks<CR>',
|
|
{ desc = 'backlinks', buffer = note.bufnr, silent = true })
|
|
vim.keymap.set('n', '<leader>kx', '<CMD>Obsidian follow_link<CR>',
|
|
{ desc = 'follow link', buffer = note.bufnr, silent = true })
|
|
vim.keymap.set('n', '<leader>ksl', '<CMD>Obsidian links<CR>',
|
|
{ desc = 'links', buffer = note.bufnr, silent = true })
|
|
vim.keymap.set('n', '<leader>kr', '<CMD>Obsidian rename<CR>',
|
|
{ desc = 'rename', buffer = note.bufnr, silent = true })
|
|
vim.keymap.set('n', '<leader>ksc', '<CMD>Obsidian toc<CR>',
|
|
{ desc = 'toc', buffer = note.bufnr, silent = true })
|
|
vim.keymap.set('v', '<leader>kx', '<CMD>Obsidian link<CR>',
|
|
{ desc = 'links', buffer = note.bufnr, silent = true })
|
|
vim.keymap.set('v', '<leader>kl', '<CMD>Obsidian link_new<CR>',
|
|
{ desc = 'links', buffer = note.bufnr, silent = true })
|
|
end,
|
|
},
|
|
})
|
|
|
|
vim.keymap.set("v", "<leader>kx", "<cmd>Obsidian extract_note<cr>", { desc = "Extract Note" })
|
|
vim.keymap.set("n", "<leader>knn", "<cmd>Obsidian new<cr>", { desc = "New Obsidian note" })
|
|
vim.keymap.set("n", "<leader>knt", "<cmd>Obsidian new_from_template<cr>", { desc = "New from template" })
|
|
vim.keymap.set("n", "<leader>ksq", "<cmd>Obsidian quick_switch<cr>", { desc = "Quick Switch" })
|
|
vim.keymap.set("n", "<leader>kss", "<cmd>Obsidian search<cr>", { desc = "Search Obsidian notes" })
|
|
vim.keymap.set("n", "<leader>kdt", "<cmd>Obsidian today<cr>", { desc = "Daily Today" })
|
|
vim.keymap.set("n", "<leader>kdy", "<cmd>Obsidian yesterday<cr>", { desc = "Daily Yesterday" })
|
|
vim.keymap.set("n", "<leader>kdw", "<cmd>Obsidian tomorrow<cr>", { desc = "Daily Tomorrow" })
|
|
vim.keymap.set("n", "<leader>kdd", "<cmd>Obsidian dailies<cr>", { desc = "Dailies" })
|
|
vim.keymap.set("n", "<leader>kw", "<cmd>Obsidian workspace<cr>", { desc = "Change Workspace" })
|
|
end
|