mirror of
https://github.com/Ascyii/telekasten.nvim.git
synced 2026-01-01 14:14:24 -05:00
Feat: Support for absolute or relative path config
This commit is contained in:
@@ -225,12 +225,13 @@ require('telekasten').setup({
|
|||||||
-- and thus the telekasten syntax will not be loaded either
|
-- and thus the telekasten syntax will not be loaded either
|
||||||
auto_set_filetype = true,
|
auto_set_filetype = true,
|
||||||
|
|
||||||
|
-- dir names for special notes (absolute path or subdir name)
|
||||||
dailies = home .. '/' .. 'daily',
|
dailies = home .. '/' .. 'daily',
|
||||||
weeklies = home .. '/' .. 'weekly',
|
weeklies = home .. '/' .. 'weekly',
|
||||||
templates = home .. '/' .. 'templates',
|
templates = home .. '/' .. 'templates',
|
||||||
|
|
||||||
-- image subdir for pasting
|
-- image (sub)dir for pasting
|
||||||
-- subdir name
|
-- dir name (absolute path or subdir name)
|
||||||
-- or nil if pasted images shouldn't go into a special subdir
|
-- or nil if pasted images shouldn't go into a special subdir
|
||||||
image_subdir = "img",
|
image_subdir = "img",
|
||||||
|
|
||||||
|
|||||||
@@ -158,18 +158,21 @@ telekasten.setup({opts})
|
|||||||
*telekasten.settings.daily*
|
*telekasten.settings.daily*
|
||||||
daily: ~
|
daily: ~
|
||||||
Path to your daily notes, to separate them from 'normal' notes.
|
Path to your daily notes, to separate them from 'normal' notes.
|
||||||
|
Accepts absolute path or sub-directory name.
|
||||||
|
|
||||||
Default: '~/zettelkasten/daily'
|
Default: '~/zettelkasten/daily'
|
||||||
|
|
||||||
*telekasten.settings.weekly*
|
*telekasten.settings.weekly*
|
||||||
weekly: ~
|
weekly: ~
|
||||||
Path to your weekly notes, to separate them from 'normal' notes.
|
Path to your weekly notes, to separate them from 'normal' notes.
|
||||||
|
Accepts absolute path or sub-directory name.
|
||||||
|
|
||||||
Default: '~/zettelkasten/weekly'
|
Default: '~/zettelkasten/weekly'
|
||||||
|
|
||||||
*telekasten.settings.templates*
|
*telekasten.settings.templates*
|
||||||
templates: ~
|
templates: ~
|
||||||
Path to your note templates.
|
Path to your note templates.
|
||||||
|
Accepts absolute path or sub-directory name.
|
||||||
|
|
||||||
Default: '~/zettelkasten/templates'
|
Default: '~/zettelkasten/templates'
|
||||||
|
|
||||||
@@ -181,8 +184,9 @@ telekasten.setup({opts})
|
|||||||
|
|
||||||
*telekasten.settings.image_subdir*
|
*telekasten.settings.image_subdir*
|
||||||
image_subdir: ~
|
image_subdir: ~
|
||||||
Sub-directory where pasted images should go to. Set to `nil` if images
|
Path to the directory where pasted images should go to. Accepts
|
||||||
should not go into a sub-directory.
|
absolute path or sub-directory name.Set to `nil` if images should not
|
||||||
|
go into a sub-directory.
|
||||||
|
|
||||||
Default: `nil`
|
Default: `nil`
|
||||||
|
|
||||||
|
|||||||
@@ -39,12 +39,13 @@ M.Cfg = {
|
|||||||
-- and thus the telekasten syntax will not be loaded either
|
-- and thus the telekasten syntax will not be loaded either
|
||||||
auto_set_filetype = true,
|
auto_set_filetype = true,
|
||||||
|
|
||||||
|
-- dir names for special notes (absolute path or subdir name)
|
||||||
dailies = home .. "/" .. "daily",
|
dailies = home .. "/" .. "daily",
|
||||||
weeklies = home .. "/" .. "weekly",
|
weeklies = home .. "/" .. "weekly",
|
||||||
templates = home .. "/" .. "templates",
|
templates = home .. "/" .. "templates",
|
||||||
|
|
||||||
-- image subdir for pasting
|
-- image (sub)dir for pasting
|
||||||
-- subdir name
|
-- dir name (absolute path or subdir name)
|
||||||
-- or nil if pasted images shouldn't go into a special subdir
|
-- or nil if pasted images shouldn't go into a special subdir
|
||||||
image_subdir = nil,
|
image_subdir = nil,
|
||||||
|
|
||||||
@@ -188,12 +189,13 @@ local function global_dir_check()
|
|||||||
ret = ret and check_dir_and_ask(M.Cfg.dailies, "dailies")
|
ret = ret and check_dir_and_ask(M.Cfg.dailies, "dailies")
|
||||||
ret = ret and check_dir_and_ask(M.Cfg.weeklies, "weeklies")
|
ret = ret and check_dir_and_ask(M.Cfg.weeklies, "weeklies")
|
||||||
ret = ret and check_dir_and_ask(M.Cfg.templates, "templates")
|
ret = ret and check_dir_and_ask(M.Cfg.templates, "templates")
|
||||||
|
ret = ret and check_dir_and_ask(M.Cfg.image_subdir, "images")
|
||||||
|
|
||||||
local img_dir = M.Cfg.home
|
-- local img_dir = M.Cfg.home
|
||||||
if M.Cfg.image_subdir then
|
-- if M.Cfg.image_subdir then
|
||||||
img_dir = img_dir .. "/" .. M.Cfg.image_subdir
|
-- img_dir = img_dir .. "/" .. M.Cfg.image_subdir
|
||||||
end
|
-- end
|
||||||
ret = ret and check_dir_and_ask(img_dir, "image_subdir")
|
-- ret = ret and check_dir_and_ask(img_dir, "M.Cfg.image_subdir")
|
||||||
|
|
||||||
return ret
|
return ret
|
||||||
end
|
end
|
||||||
@@ -203,6 +205,14 @@ local function escape(s)
|
|||||||
return string.gsub(s, "[%%%]%^%-$().[*+?]", "%%%1")
|
return string.gsub(s, "[%%%]%^%-$().[*+?]", "%%%1")
|
||||||
end
|
end
|
||||||
|
|
||||||
|
local function make_absolute_path(path)
|
||||||
|
local ret = path
|
||||||
|
if not (Path:new(path):is_absolute()) and path ~= nil then
|
||||||
|
ret = M.Cfg.home .. "/" .. path
|
||||||
|
end
|
||||||
|
return ret
|
||||||
|
end
|
||||||
|
|
||||||
-- ----------------------------------------------------------------------------
|
-- ----------------------------------------------------------------------------
|
||||||
-- image stuff
|
-- image stuff
|
||||||
local function imgFromClipboard()
|
local function imgFromClipboard()
|
||||||
@@ -251,10 +261,12 @@ local function imgFromClipboard()
|
|||||||
local relpath = pngname
|
local relpath = pngname
|
||||||
|
|
||||||
if M.Cfg.image_subdir then
|
if M.Cfg.image_subdir then
|
||||||
relpath = M.Cfg.image_subdir .. "/" .. pngname
|
relpath = Path:new(M.Cfg.image_subdir):make_relative(M.Cfg.home)
|
||||||
pngpath = M.Cfg.home .. "/" .. M.Cfg.image_subdir
|
.. "/"
|
||||||
|
.. pngname
|
||||||
|
--pngpath = M.Cfg.home .. "/" .. M.Cfg.image_subdir
|
||||||
end
|
end
|
||||||
pngpath = pngpath .. "/" .. pngname
|
pngpath = M.Cfg.image_subdir .. "/" .. pngname
|
||||||
|
|
||||||
os.execute("xclip -selection clipboard -t image/png -o > " .. pngpath)
|
os.execute("xclip -selection clipboard -t image/png -o > " .. pngpath)
|
||||||
if file_exists(pngpath) then
|
if file_exists(pngpath) then
|
||||||
@@ -2562,6 +2574,12 @@ local function Setup(cfg)
|
|||||||
print("-----------------")
|
print("-----------------")
|
||||||
print(vim.inspect(M.Cfg))
|
print(vim.inspect(M.Cfg))
|
||||||
end
|
end
|
||||||
|
|
||||||
|
-- Convert all directories in full path
|
||||||
|
M.Cfg.image_subdir = make_absolute_path(M.Cfg.image_subdir)
|
||||||
|
M.Cfg.dailies = make_absolute_path(M.Cfg.dailies)
|
||||||
|
M.Cfg.weeklies = make_absolute_path(M.Cfg.weeklies)
|
||||||
|
M.Cfg.templates = make_absolute_path(M.Cfg.templates)
|
||||||
end
|
end
|
||||||
|
|
||||||
M.find_notes = FindNotes
|
M.find_notes = FindNotes
|
||||||
|
|||||||
Reference in New Issue
Block a user