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 "ObsidianFollowLink" 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, }, }