95 lines
3.3 KiB
Lua
95 lines
3.3 KiB
Lua
return {
|
|
"epwalsh/obsidian.nvim",
|
|
event = { "BufReadPre" .. vim.fn.expand("~") .. "Documentos/Obsidian/obsidianVault/root/**.md" },
|
|
keys = {
|
|
{
|
|
"gf",
|
|
function()
|
|
if require("obsidian").util.cursor_on_markdown_link() then
|
|
return "<cmd>ObsidianFollowLink<CR>"
|
|
else
|
|
return "gf"
|
|
end
|
|
end,
|
|
noremap = false,
|
|
expr = true,
|
|
},
|
|
},
|
|
dependencies = {
|
|
"nvim-lua/plenary.nvim",
|
|
"hrsh7th/nvim-cmp",
|
|
"nvim-telescope/telescope.nvim",
|
|
},
|
|
opts = {
|
|
dir = vim.env.HOME .. "Documentos/Obsidian/obsidianVault/root", -- specify the vault location. no need to call 'vim.fn.expand' here
|
|
use_advanced_uri = true,
|
|
finder = "telescope.nvim",
|
|
mappings = {},
|
|
|
|
templates = {
|
|
subdir = "templates",
|
|
date_format = "%Y-%m-%d-%a",
|
|
time_format = "%H:%M",
|
|
},
|
|
|
|
backlinks = { height = 10, wrap = true },
|
|
|
|
-- Optional, by default when you use `:ObsidianFollowLink` on a link to an external
|
|
-- URL it will be ignored but you can customize this behavior here.
|
|
follow_url_func = function(url)
|
|
-- Open the URL in the default web browser.
|
|
vim.fn.jobstart({ "xdg-open", url }) -- linux
|
|
end,
|
|
|
|
-- Optional, set to true if you use the Obsidian Advanced URI plugin.
|
|
-- https://github.com/Vinzent03/obsidian-advanced-uri
|
|
use_advanced_uri = false,
|
|
|
|
-- Optional, set to true to force ':ObsidianOpen' to bring the app to the foreground.
|
|
open_app_foreground = false,
|
|
|
|
-- Optional, by default commands like `:ObsidianSearch` will attempt to use
|
|
-- telescope.nvim, fzf-lua, and fzf.nvim (in that order), and use the
|
|
-- first one they find. By setting this option to your preferred
|
|
-- finder you can attempt it first. Note that if the specified finder
|
|
-- is not installed, or if it the command does not support it, the
|
|
-- remaining finders will be attempted in the original order.
|
|
finder = "telescope.nvim",
|
|
|
|
-- Optional, determines whether to open notes in a horizontal split, a vertical split,
|
|
-- or replacing the current buffer (default)
|
|
-- Accepted values are "current", "hsplit" and "vsplit"
|
|
open_notes_in = "current",
|
|
|
|
daily_notes = {
|
|
folder = "journal/daily",
|
|
date_format = "%Y-%m-%d",
|
|
},
|
|
|
|
completion = {
|
|
nvim_cmp = true,
|
|
min_chars = 2,
|
|
-- Where to put new notes created from completion. Valid options are
|
|
-- * "current_dir" - put new notes in same directory as the current buffer.
|
|
-- * "notes_subdir" - put new notes in the default notes subdirectory.
|
|
new_notes_location = "current_dir",
|
|
|
|
-- Whether to add the output of the node_id_func to new notes in autocompletion.
|
|
-- E.g. "[[Foo" completes to "[[foo|Foo]]" assuming "foo" is the ID of the note.
|
|
prepend_note_id = false,
|
|
},
|
|
|
|
note_frontmatter_func = function(note)
|
|
-- This is equivalent to the default frontmatter function.
|
|
local out = { id = note.id, aliases = note.aliases, tags = note.tags }
|
|
-- `note.metadata` contains any manually added fields in the frontmatter.
|
|
-- So here we just make sure those fields are kept in the frontmatter.
|
|
if note.metadata ~= nil and require("obsidian").util.table_length(note.metadata) > 0 then
|
|
for k, v in pairs(note.metadata) do
|
|
out[k] = v
|
|
end
|
|
end
|
|
return out
|
|
end,
|
|
},
|
|
}
|