Add filename_space_subst config option (#198)

* add filename_space_subst configuration option

* add docs for new filename_space_subst

* fix template refactor bug
This commit is contained in:
skovati
2023-01-07 21:05:14 +00:00
committed by GitHub
parent 00026d6295
commit 7a6e89131e
3 changed files with 26 additions and 3 deletions

View File

@@ -312,6 +312,9 @@ require('telekasten').setup({
-- UUID separator -- UUID separator
uuid_sep = "-", uuid_sep = "-",
-- if not nil, this string replaces spaces in the title when generating filenames
filename_space_subst = nil,
-- following a link to a non-existing note will create it -- following a link to a non-existing note will create it
follow_creates_nonexisting = true, follow_creates_nonexisting = true,
dailies_create_nonexisting = true, dailies_create_nonexisting = true,

View File

@@ -255,6 +255,19 @@ telekasten.setup({opts})
Default: '-' Default: '-'
*telekasten.settings.filename_space_subst*
filename_space_subst: ~
When the note title is used within the filename, i.e.
|new_note_filename| contains 'title', spaces in the title will be
substituted for |filename_space_subst|.
e.g. if set to '_', '20230103-my new note title.md' would instead
become '20230103-my_new_note_title.md'
If set to `nil`, no substitution will occur.
Default: `nil`
*telekasten.settings.image_subdir* *telekasten.settings.image_subdir*
image_subdir: ~ image_subdir: ~
Path to the directory where pasted images should go to. Accepts Path to the directory where pasted images should go to. Accepts

View File

@@ -74,6 +74,9 @@ local function defaultConfig(home)
-- UUID separator -- UUID separator
uuid_sep = "-", uuid_sep = "-",
-- if not nil, replaces any spaces in the title when it is used in filename generation
filename_space_subst = nil,
-- following a link to a non-existing note will create it -- following a link to a non-existing note will create it
follow_creates_nonexisting = true, follow_creates_nonexisting = true,
dailies_create_nonexisting = true, dailies_create_nonexisting = true,
@@ -224,6 +227,10 @@ local function get_uuid(opts)
end end
local function generate_note_filename(uuid, title) local function generate_note_filename(uuid, title)
if M.Cfg.filename_space_subst ~= nil then
title = escape(title):gsub(" ", M.Cfg.filename_space_subst)
end
local pp = Path:new(title) local pp = Path:new(title)
local p_splits = pp:_split() local p_splits = pp:_split()
local filename = p_splits[#p_splits] local filename = p_splits[#p_splits]
@@ -649,9 +656,9 @@ local function linesubst(line, title, dates, uuid)
end end
local substs = vim.tbl_extend("error", dates, { local substs = vim.tbl_extend("error", dates, {
shorttitle, shorttitle = shorttitle,
uuid, uuid = uuid,
title, title = title,
}) })
for k, v in pairs(substs) do for k, v in pairs(substs) do