83 lines
2.7 KiB
Lua
83 lines
2.7 KiB
Lua
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"
|
|
-- -- refer to `:h file-pattern` for more examples
|
|
-- "BufReadPre path/to/my-vault/*.md",
|
|
-- "BufNewFile path/to/my-vault/*.md",
|
|
-- },
|
|
dependencies = {
|
|
-- Required.
|
|
"nvim-lua/plenary.nvim",
|
|
-- For the picker
|
|
"nvim-telescope/telescope.nvim",
|
|
},
|
|
opts = {
|
|
workspaces = {
|
|
{
|
|
name = "Notes",
|
|
path = "~/Documents/Notes",
|
|
},
|
|
},
|
|
|
|
-- Can I enable this somehow? I'm using blink.cmp but this is triggering
|
|
-- it to look for nvim-cmp directly.
|
|
-- completion = {
|
|
-- nvim_cmp = true,
|
|
-- min_chars = 2,
|
|
-- },
|
|
|
|
daily_notes = {
|
|
-- Optional, if you keep daily notes in a separate directory.
|
|
folder = "Daily Notes",
|
|
-- Optional, if you want to change the date format for the ID of daily notes.
|
|
date_format = "%Y-%m-%d",
|
|
-- Optional, if you want to automatically insert a template from your template directory like ''
|
|
template = "Daily Note",
|
|
},
|
|
|
|
templates = {
|
|
folder = "Templates",
|
|
date_format = "%Y-%m-%d",
|
|
time_format = "%H:%M",
|
|
},
|
|
|
|
ui = {
|
|
-- Disable the UI features and let render-markdown.nvim handle it.
|
|
enable = false,
|
|
-- Even with UI disabled, this determines the order of checkbox states for the smart action.
|
|
checkboxes = {
|
|
[" "] = { char = "☐", hl_group = "ObsidianTodo" },
|
|
["x"] = { char = "✔", hl_group = "ObsidianDone" },
|
|
["/"] = { char = "⛋", hl_group = "ObsidianDone" },
|
|
[">"] = { char = "⛝", hl_group = "ObsidianDone" },
|
|
},
|
|
},
|
|
|
|
-- Put the note ID in the wiki links
|
|
wiki_link_func = "prepend_note_id",
|
|
preferred_link_style = "wiki",
|
|
|
|
-- Customize how note IDs are generated given an optional title.
|
|
---@param title string|?
|
|
---@return string
|
|
note_id_func = function(title)
|
|
if title ~= nil then
|
|
-- If title is given, transform it into valid file name by removing most special characters
|
|
-- Note that parens are not supported because they interfere with markdown links.
|
|
return title:gsub("[^A-Za-z0-9-_]", ""):lower()
|
|
else
|
|
-- If title is nil, just put the date and four random characters
|
|
for _ = 1, 4 do
|
|
return os.date("%Y-%m-%d ") .. string.char(math.random(65, 90))
|
|
end
|
|
end
|
|
end,
|
|
},
|
|
}
|