return { "epwalsh/obsidian.nvim", version = "*", -- recommended, use latest release instead of latest commit lazy = true, ft = "markdown", -- Replace the above line with this if you only want to load obsidian.nvim for markdown files in your vault: -- event = { -- -- If you want to use the home shortcut '~' here you need to call 'vim.fn.expand'. -- -- E.g. "BufReadPre " .. vim.fn.expand "~" .. "/my-vault/**.md" -- "BufReadPre path/to/my-vault/**.md", -- "BufNewFile path/to/my-vault/**.md", -- }, keys = { { "ob", vim.cmd.ObsidianBacklinks, desc = "Open Obsidian backlinks" }, { "o/", vim.cmd.ObsidianSearch, desc = "Open Obsidian search" }, { "op", vim.cmd.ObsidianQuickSwitch, desc = "Open Obsidian find files" }, { "on", vim.cmd.ObsidianNew, desc = "Create new Obsidian note" }, { "ot", vim.cmd.ObsidianToday, desc = "Open today's Obsidian daily note" }, { "oy", vim.cmd.ObsidianYesterday, desc = "Open yesterday's Obsidian daily note" }, { "ow", vim.cmd.ObsidianTomorrow, desc = "Open tomorrow's Obsidian daily note" }, { "od", vim.cmd.ObsidianDailyNote, desc = "Open daily Obsidian note" }, }, dependencies = { -- Required. "nvim-lua/plenary.nvim", -- Optional "hrsh7th/nvim-cmp", "nvim-telescope/telescope.nvim", "nvim-treesitter/nvim-treesitter", }, opts = { workspaces = { -- { -- name = "personal", -- path = "~/vaults/personal", -- }, { name = "work", path = "~/Documents/Vaults/Work", }, }, ---@param title string ---@return string note_id_func = function(title) local id = title:gsub(" ", "%-"):lower() return id end, templates = { folder = "templates", date_format = "%Y-%m-%d-%a", substitutions = { friendly_date_format = function() return os.date("%A %B %d, %Y") end }, }, daily_notes = { folder = "dailies", date_format = "%Y-%m-%d-%a", alias_format = "%Y-%m-%d-%a", template = "daily.md", }, callbacks = { enter_note = function() -- The folds are too much for these notes vim.opt_local.foldlevel = 99 vim.opt_local.foldlevelstart = 99 end, }, }, }