dotfiles/.config/nvim/lua/plugins/extras/editor/docs/obsidian.lua

103 lines
3.1 KiB
Lua

local prefix = "<leader>o"
return {
{ import = "plugins.extras.lang.markdown-extended" },
{
"MeanderingProgrammer/render-markdown.nvim",
opts = {
preset = "obsidian",
},
},
{
-- "epwalsh/obsidian.nvim",
"obsidian-nvim/obsidian.nvim", -- NOTE: Using a fork from the community
ft = "markdown",
keys = {
{ prefix .. "o", "<cmd>ObsidianOpen<CR>", desc = "Open on App" },
{ prefix .. "g", "<cmd>ObsidianSearch<CR>", desc = "Grep" },
{ "<leader>sO", "<cmd>ObsidianSearch<CR>", desc = "Obsidian Grep" },
{ prefix .. "n", "<cmd>ObsidianNew<CR>", desc = "New Note" },
{ prefix .. "<space>", "<cmd>ObsidianQuickSwitch<CR>", desc = "Find Files" },
{ prefix .. "b", "<cmd>ObsidianBacklinks<CR>", desc = "Backlinks" },
{ prefix .. "t", "<cmd>ObsidianTags<CR>", desc = "Tags" },
{ prefix .. "t", "<cmd>ObsidianTemplate<CR>", desc = "Template" },
{ prefix .. "l", "<cmd>ObsidianLink<CR>", mode = "v", desc = "Link" },
{ prefix .. "L", "<cmd>ObsidianLinks<CR>", desc = "Links" },
{ prefix .. "N", "<cmd>ObsidianLinkNew<CR>", mode = "v", desc = "New Link" },
{ prefix .. "e", "<cmd>ObsidianExtractNote<CR>", mode = "v", desc = "Extract Note" },
{ prefix .. "w", "<cmd>ObsidianWorkspace<CR>", desc = "Workspace" },
{ prefix .. "r", "<cmd>ObsidianRename<CR>", desc = "Rename" },
{ prefix .. "i", "<cmd>ObsidianPasteImg<CR>", desc = "Paste Image" },
{ prefix .. "d", "<cmd>ObsidianDailies<CR>", desc = "Daily Notes" },
},
opts = {
workspaces = {
{
name = "personal-brain",
path = "~/documents/obsidian/personal-brain/vault",
},
},
notes_subdir = "01 - Bandeja Entrada",
daily_notes = {
folder = "03 - Diario/Diariamente",
date_format = "%Y-%m-%d",
alias_format = "%B %-d, %Y",
template = "00 - Data/Plantillas/Diariamente.md",
},
completion = {
nvim_cmp = false,
blink = true,
},
picker = {
name = "snacks.pick",
},
mappings = {
["gf"] = {
action = function()
return require("obsidian").util.gf_passthrough()
end,
opts = { noremap = false, expr = true, buffer = true },
},
["<C-c>"] = {
action = function()
return require("obsidian").util.toggle_checkbox()
end,
opts = { buffer = true },
},
["<cr>"] = {
action = function()
return require("obsidian").util.smart_action()
end,
opts = { buffer = true, expr = true },
},
},
templates = {
subdir = "00 - Data/Plantillas",
date_format = "%Y-%m-%d-%a",
time_format = "%H:%M",
},
follow_url_func = function(url)
vim.fn.jobstart({ "xdg-open", url })
end,
attachments = {
img_folder = "00 - Data/Documentos",
},
},
},
{
"folke/which-key.nvim",
opts = {
spec = {
{ prefix, group = "obsidian", icon = "", mode = { "n", "v" } },
},
},
},
}