From b6f5af87e7ad8cf2e9cd38048481140a365a6ee7 Mon Sep 17 00:00:00 2001 From: xesc Date: Sun, 1 Jun 2025 22:51:08 +0200 Subject: [PATCH] update obsidian config --- lua/plugin/obsidian.lua | 34 +++++++++++++--------------------- 1 file changed, 13 insertions(+), 21 deletions(-) diff --git a/lua/plugin/obsidian.lua b/lua/plugin/obsidian.lua index c80295b..3cba993 100644 --- a/lua/plugin/obsidian.lua +++ b/lua/plugin/obsidian.lua @@ -28,6 +28,7 @@ return { -- Trigger completion at 2 chars. min_chars = 1, }, + mappings = { -- Overrides the 'gf' mapping to work on markdown/wiki links within your vault. ["gf"] = { @@ -52,7 +53,7 @@ return { }, [""] = { action = function() - return require("obsidian").util.gf_passthrough() + return require("obsidian").util.smart_action() end, opts = { buffer = true, expr = true }, }, @@ -63,11 +64,17 @@ return { opts = { noremap = false, expr = true, buffer = true }, }, }, + new_notes_location = "current_dir", - wiki_link_func = "use_alias_only", + + wiki_link_func = function(opts) + return require("obsidian.util").wiki_link_id_prefix(opts) + end, + preferred_link_style = "wiki", + note_id_func = function(title) - return title; + return tostring(os.date("%Y-%m-%d") .. "-" .. title:gsub(" ", "-"):gsub("[^A-Za-z0-9-]", ""):lower()) end, disable_frontmatter = true, @@ -76,36 +83,21 @@ return { ---@param url string follow_url_func = function(url) -- Open the URL in the default web browser. - -- vim.fn.jobstart({ "open", url }) -- Mac OS - vim.fn.jobstart({"xdg-open", url}) -- linux - -- vim.cmd(':silent exec "!start ' .. url .. '"') -- Windows - -- vim.ui.open(url) -- need Neovim 0.10.0+ + -- vim.fn.jobstart({ "xdg-open", url }) -- linux + vim.ui.open(url) -- need Neovim 0.10.0+ end, -- Optional, by default when you use `:ObsidianFollowLink` on a link to an image -- file it will be ignored but you can customize this behavior here. ---@param img string follow_img_func = function(img) - -- vim.fn.jobstart { "qlmanage", "-p", img } -- Mac OS quick look preview - vim.fn.jobstart({"xdg-open", url}) -- linux - -- vim.cmd(':silent exec "!start ' .. url .. '"') -- Windows + vim.fn.jobstart({ "xdg-open", url }) -- linux end, attachments = { -- The default folder to place images in via `:ObsidianPasteImg`. -- If this is a relative path it will be interpreted as relative to the vault root. -- You can always override this per image by passing a full path to the command instead of just a filename. img_folder = "images", -- This is the default - - -- A function that determines the text to insert in the note when pasting an image. - -- It takes two arguments, the `obsidian.Client` and an `obsidian.Path` to the image file. - -- This is the default implementation. - ---@param client obsidian.Client - ---@param path obsidian.Path the absolute path to the image file - ---@return string - img_text_func = function(client, path) - path = client:vault_relative_path(path) or path - return string.format("![%s](%s)", path.name, path) - end, }, }, }