1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
|
-- vim:ft=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"
-- "BufReadPre path/to/my-vault/**.md",
-- "BufNewFile path/to/my-vault/**.md",
-- },
keys = {
{ "<leader>ob", vim.cmd.ObsidianBacklinks, desc = "Open Obsidian backlinks" },
{ "<leader>o/", vim.cmd.ObsidianSearch, desc = "Open Obsidian search" },
{ "<leader>op", vim.cmd.ObsidianQuickSwitch, desc = "Open Obsidian find files" },
{ "<leader>on", vim.cmd.ObsidianNew, desc = "Create new Obsidian note" },
{ "<leader>ot", vim.cmd.ObsidianToday, desc = "Open today's Obsidian daily note" },
{ "<leader>oy", vim.cmd.ObsidianYesterday, desc = "Open yesterday's Obsidian daily note" },
{ "<leader>ow", vim.cmd.ObsidianTomorrow, desc = "Open tomorrow's Obsidian daily note" },
{ "<leader>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 = "vault",
path = "~/Documents/Vault",
},
},
notes_subdir = "inbox",
new_notes_location = "notes_subdir",
---@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,
},
},
}
|