You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I tried to step through the yaml parser to see where but with my limited lua skills, it's not immediately obvious why it's happening. My assumption is that Nan gets parsed as "-nan" (0/0 is -nan) which is a number (type(0/0) is "number"), quite why though I don't know
Also, seems like generating the warning message also fails as path is a table rather than the expected string. Not sure why there either.
Anyway, not a big deal, mostly a curiosity. Sorry I couldn't be more helpful in diagnosis
Config
require('obsidian').setup {
workspaces = {
{
name = "nb",
path = "~/nb",
overrides = {
daily_notes = {
folder = "notes/dailies/",
},
notes_subdir = "notes",
},
},
},
-- Optional, set the log level for Obsidian. This is an integer corresponding to one of the log
-- levels defined by "vim.log.levels.*" or nil, which is equivalent to DEBUG (1).
log_level = vim.log.levels.INFO,
daily_notes = {
-- Optional, if you keep daily notes in a separate directory.
folder = "dailies/",
-- Optional, if you want to change the date format for daily notes.
date_format = "%Y-%m-%d",
alias_format = "%B %-d, %Y"
},
new_notes_location = "notes_subdir",
note_frontmatter_func = function(note)
-- Add the title of the note as an alias.
if note.title then
note:add_alias(note.title)
end
local out = { id = note.id, aliases = note.aliases, tags = note.tags }
-- `note.metadata` contains any manually added fields in the frontmatter.
-- So here we just make sure those fields are kept in the frontmatter.
if note.metadata ~= nil and not vim.tbl_isempty(note.metadata) then
for k, v in pairs(note.metadata) do
out[k] = v
end
end
return out
end,
-- Optional, completion.
completion = {
-- If using nvim-cmp, otherwise set to false
nvim_cmp = true,
-- Trigger completion at 2 chars
min_chars = 2,
-- Where to put new notes created from completion. Valid options are
-- * "current_dir" - put new notes in same directory as the current buffer.
-- * "notes_subdir" - put new notes in the default notes subdirectory.
},
-- Optional, customize how names/IDs for new notes are created.
note_id_func = function(title)
-- Create note IDs in a Zettelkasten format with a timestamp and a suffix.
-- In this case a note with the title 'My new note' will given an ID that looks
-- like '1657296016-my-new-note', and therefore the file name '1657296016-my-new-note.md'
local suffix = ""
if title ~= nil then
-- If title is given, transform it into valid file name.
suffix = title:gsub(" ", "-"):gsub("[^A-Za-z0-9-]", ""):lower()
else
-- If title is nil, just add 4 random uppercase letters to the suffix.
for _ = 1, 4 do
suffix = suffix .. string.char(math.random(65, 90))
end
end
return suffix
end,
-- Optional, set to true if you don't want Obsidian to manage frontmatter.
disable_frontmatter = false,
-- Optional, for templates (see below).
templates = {
subdir = "templates",
date_format = "%Y-%m-%d-%a",
time_format = "%H:%M",
},
-- Optional, by default when you use `:ObsidianFollowLink` on a link to an external
-- URL it will be ignored but you can customize this behavior here.
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
end,
-- Optional, set to true if you use the Obsidian Advanced URI plugin.
-- https://github.com/Vinzent03/obsidian-advanced-uri
use_advanced_uri = true,
-- Optional, set to true to force ':ObsidianOpen' to bring the app to the foreground.
open_app_foreground = false,
-- Optional, by default commands like `:ObsidianSearch` will attempt to use
-- telescope.nvim, fzf-lua, and fzf.nvim (in that order), and use the
-- first one they find. By setting this option to your preferred
-- finder you can attempt it first. Note that if the specified finder
-- is not installed, or if it the command does not support it, the
-- remaining finders will be attempted in the original order.
finder = "telescope.nvim",
ui = {
enable = true,
checkboxes = {
-- NOTE: the 'char' value has to be a single character, and the highlight groups are defined below.
[" "] = { char = "", hl_group = "ObsidianTodo" },
["x"] = { char = "", hl_group = "ObsidianDone" },
["-"] = { char = "", hl_group = "ObsidianTodoPartial" },
[">"] = { char = "", hl_group = "ObsidianRightArrow" },
["o"] = { char = "", hl_group = "ObsidianTodoCancel" },
},
hl_groups = {
-- The options are passed directly to `vim.api.nvim_set_hl()`. See `:help nvim_set_hl`.
ObsidianExtLinkIcon = { fg = "#d8a657" },
ObsidianRefText = { underline = true, fg = "#d8a657" },
ObsidianBullet = { bold = true, fg = "#7c6f64" },
ObsidianDone = { fg = "#a9b665" },
ObsidianTodoCancel = { fg = "#ea6962" },
},
},
}
Environment
NVIM v0.10.4
Build type: Release
LuaJIT 2.1.1713773202
Run "nvim -V1 -v" for more info
Obsidian.nvim v3.9.0 (unknown commit)
Status:
• buffer directory: nil
• working directory: /home/jammus/dots
Workspaces:
✓ active workspace: Workspace(name='nb', path='/home/jammus/nb', root='/home/jammus/nb')
Dependencies:
✓ plenary.nvim: unknown
✓ nvim-cmp: unknown
✓ telescope.nvim: unknown
Integrations:
✓ picker: TelescopePicker()
✓ completion: enabled (nvim-cmp) ✗ refs, ✗ tags, ✗ new
all sources:
• copilot
• nvim_lsp
• vsnip
• buffer
Tools:
✓ rg: ripgrep 14.1.1
Environment:
• operating system: Linux
Config:
• notes_subdir: notes
The text was updated successfully, but these errors were encountered:
🐛 Describe the bug
No Bobby Tables memes, please :D
Funny one. If I set an alias of Nan (could be a friends name, could be the bread, could be my grandmother, could be about not numbers), the front matter parsing will fail at https://github.com/epwalsh/obsidian.nvim/blob/main/lua/obsidian/note.lua#L529 because the entry is not a string.
I tried to step through the yaml parser to see where but with my limited lua skills, it's not immediately obvious why it's happening. My assumption is that Nan gets parsed as "-nan" (
0/0
is-nan
) which is a number (type(0/0)
is"number"
), quite why though I don't knowAlso, seems like generating the warning message also fails as
path
is a table rather than the expected string. Not sure why there either.Anyway, not a big deal, mostly a curiosity. Sorry I couldn't be more helpful in diagnosis
Config
Environment
NVIM v0.10.4
Build type: Release
LuaJIT 2.1.1713773202
Run "nvim -V1 -v" for more info
Obsidian.nvim v3.9.0 (unknown commit)
Status:
• buffer directory: nil
• working directory: /home/jammus/dots
Workspaces:
✓ active workspace: Workspace(name='nb', path='/home/jammus/nb', root='/home/jammus/nb')
Dependencies:
✓ plenary.nvim: unknown
✓ nvim-cmp: unknown
✓ telescope.nvim: unknown
Integrations:
✓ picker: TelescopePicker()
✓ completion: enabled (nvim-cmp) ✗ refs, ✗ tags, ✗ new
all sources:
• copilot
• nvim_lsp
• vsnip
• buffer
Tools:
✓ rg: ripgrep 14.1.1
Environment:
• operating system: Linux
Config:
• notes_subdir: notes
The text was updated successfully, but these errors were encountered: