summaryrefslogtreecommitdiff
path: root/dot_config/nvim.new/lua/ibrahim/plugins/obsidian.lua.tmpl
diff options
context:
space:
mode:
authorIbrahim Muftee <ibrahim@muftee.net>2025-06-24 11:25:41 -0500
committerIbrahim Muftee <ibrahim@muftee.net>2026-07-01 00:23:31 -0400
commitc5b4ef95882e57fffe50c85442f6086de24e9c83 (patch)
treec6d836de73c6d5548e2e1d131c3f34fcadf7b583 /dot_config/nvim.new/lua/ibrahim/plugins/obsidian.lua.tmpl
parent5b9095cfdcf7cba439205ee63ace7f0e166fa258 (diff)
feat(nvim): move obsidian template to new config
Diffstat (limited to 'dot_config/nvim.new/lua/ibrahim/plugins/obsidian.lua.tmpl')
-rw-r--r--dot_config/nvim.new/lua/ibrahim/plugins/obsidian.lua.tmpl82
1 files changed, 82 insertions, 0 deletions
diff --git a/dot_config/nvim.new/lua/ibrahim/plugins/obsidian.lua.tmpl b/dot_config/nvim.new/lua/ibrahim/plugins/obsidian.lua.tmpl
new file mode 100644
index 0000000..24982a6
--- /dev/null
+++ b/dot_config/nvim.new/lua/ibrahim/plugins/obsidian.lua.tmpl
@@ -0,0 +1,82 @@
+-- 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 = {
+ {{- if eq .chezmoi.os "windows" }}
+ {
+ name = "work",
+ path = "~/Documents/Vaults/Work",
+ },
+ {{ else }}
+ {
+ name = "personal",
+ path = "~/Documents/Vaults/Personal",
+ },
+ {{ end }}
+ },
+
+ ---@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,
+ },
+
+ },
+}