All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Added option
prepend_note_id
to allow disabling id generation for new notes
- (internal) Refactored daily note creation.
v1.12.0 - 2023-07-15
- Allow user to supply an argument to
ObsidianTemplate
to select a template.
- Renamed Lua function
command.insert_template()
tocommand.template()
and split the template insert script into a separate functionutil.insert_template()
. - Added
log_level
configuration option to suspend notifications. - Added
completion.new_notes_location
configuration option to specify where newly created notes are placed in completion.
- Fixed creating new notes when the title of the note contains a path. Now that path will always be treated as relative to the vault, not the
notes_subdir
. - Fixed
ObsidianFollowLink
when the note path contains a header link (e.g.[[foo#Bar]]
).
v1.11.0 - 2023-06-09
- Added configuration option
daily_notes.date_format
(a string) to customize the date format of daily notes.
- Disabled managed frontmatter for files in the templates subdirectory.
- A bug when
disable_frontmatter
is ignored forObsidianToday
andObsidianYesterday
. - A bug with
ObsidianTemplate
when using Telescope
v1.10.0 - 2023-05-11
- Report errors finding vault from
:ObsidianCheckHealth
. - Added
finder
option for choosing a preferred finder backend.
- Removed annoying "skipped updating frontmatter" message on file write.
v1.9.0 - 2023-04-22
- Added
open_app_foreground
option to open Obsidian.app in foreground on macOS. - Added
:ObsidianTemplate
to insert a template, configurable using atemplates
table passed tosetup()
. - Added support for following links in markdown format
- Added
follow_url_func
option to customize behaviour of following URLs
- Use
vim.notify
to echo log messages now.
- Gracefully handle invalid aliases / tags in frontmatter (i.e. values that aren't strings). We'll warn about them and ignore the invalid values.
- Fixed
nvim-cmp
completion for notes that have noaliases
specified. nvim-cmp
completion will search based on file names now too, not just contents.- Fixed bug when
nvim-cmp
is not installed. - Workaround error which prevented users from using
ObsidianOpen
when vault path was configured behind a link - Detect URLs when following links and ignore them by default.
v1.8.0 - 2023-02-16
lua-yaml
no-longer bundled as a git submodule. Code from that project has been copied and modified into it's own Lua submodule ofobsidian
.- (BREAKING) 'nvim-lua/plenary.nvim' is no-longer bundled, so must be explicitly installed (e.g. Plug 'nvim-lua/plenary.nvim' in your
init.nvim
).
- Fixed a bug where creating a new note with
nvim-cmp
completion would causenvim-cmp
to stop working. - Fixed bug where
disable_frontmatter
setting would be ignored for:ObsidianNew
command.
v1.7.0 - 2023-02-02
- Added support for fzf-lua as one of the possible fallbacks for the
:ObsidianQuickSwitch
command. - Added
:ObsidianQuickSwitch
to fuzzy-find a note by name in telescope/fzf a la in Obsidian. - Added support for fzf-lua as one of the possible fallbacks for the
:ObsidianSearch
command. - Added
:ObsidianFollowLink
and companion functionutil.cursor_on_markdown_link
- Added
:ObsidianLink
and:ObsidianLinkNew
commands. - Added configuration option
disable_frontmatter
for frontmatter disabling - Added line-navigation to
:ObsidianOpen
via the Obsidian Advanced URI plugin - Added
:ObsidianYesterday
command to open/create the previous working day daily note
- Fixed bug with
Note.from_lines
where the given path would be modified in place to be relative to the root, which caused a bug in:ObsidianFollowLink
. - Completion for creating new notes via nvim-cmp is now aware of daily notes, so when you start typing todays date in the form of YYYY-MM-DD, you get a "Create new" completion option for today's daily note if it doesn't exist yet.
- Fixed bug where
:ObsidianOpen
blocked the NeoVim UI on Linux. :ObsidianOpen
should now work on Windows.- Fixed URL encoding of space characters for better compatibility with external applications.
- Made more robust to unexpected types in frontmatter.
- Fixed edge case where frontmatter consisting of exactly one empty field would raise an exception.
- Fixed
:ObsidianFollowLink
not creating a new note when following a dangling link; matches behavior in the official Obsidian app. - Fixed handling spaces in configured vault directory.
- Fixed
:ObsidianFollowLink
not considering the vault's root directory. - Fixed bug where the note ID in the YAML frontmatter wasn't updated after the file is renamed.
- Fixed
require
module name syntax; see #93 for explanation.
- The new note completion source will now create the new note in the same directory as the current note, regardless of the
notes_subdir
setting.
v1.6.1 - 2022-10-17
- Ensured vault directory along with optional notes and daily notes subdirectories are added to vim's
path
so you cangf
to files in those directories.
v1.6.0 - 2022-10-14
- Added support for arbitrary fields in YAML frontmatter.
- Added configuration option
note_frontmatter_func
for customizing the YAML frontmatter of your notes. This can be set to a function that takes a single argument - anobsidian.Note
object - and returns a YAML-serializable table.
- Added folding and custom highlighting to backlinks window, and fixed window height.
- When the title of a note is changed, the title will automatically be added to note's aliases in the frontmatter on save.
- Fixed autocomplete functionality to be less sensitive to case.
- Made YAML frontmatter dumping functionality more robust.
v1.5.0 - 2022-10-12
- Improved
:ObsidianBacklinks
command to use its own buffer type instead of the location list. It's now more readable. - Removed save on write for
:ObsidianNew
and:ObsidianToday
(#32).
:ObsidianOpen
now works on Linux.
v1.4.0 - 2022-10-11
- Added
daily_notes
configuration options. - Added
:ObsidianSearch
command (requiresfzf.vim
ortelescope.nvim
).
- Fixed a bug with
:ObsidianOpen
(#19). - Fixed bug with creating a new note with
nvim-cmp
completion where full settings weren't taken into account. - Fixed a bug with
:ObsidianBacklinks
where the paths were incorrect.
v1.3.0 - 2022-09-23
plenary.nvim
is no longer required to be installed seperately. It's now bundled as a submodule.
v1.2.1 - 2022-09-23
- Added setup configuration option
notes_subdir
. Use this if you want new notes to be put in a specific subdirectory of your vault.
- Commands are no-longer setup lazily on
BufEnter
to a markdown file in your vault. Now they'll always be available.
v1.2.0 - 2022-09-22
- Added
:ObsidianNew
command for creating a new note with a given title. - Added setup configuration option
note_id_func
, which can be set to a custom function for generating new note IDs. The function should take a single optional string argument, a title of the note, and return a string. The default method for generating new note IDs is to generate a Zettelkasten-like ID using a timestamp and some random letters.
v1.1.1 - 2022-08-22
- Fixed bug when creating new notes. Sometimes this would fail if
~/
wasn't expanded. - Use HTTPS instead of SSH for
lua_yaml
git submodule. - Fixed bug with
:ObsidianToday
command, which would fail if you weren't in a named buffer.
v1.1.0 - 2022-08-07
- Added
:ObsidianBacklinks
command for getting a location list of references to the current note.
- Fixed issue where completion wouldn't be triggered for "hashtag" form of a reference:
#[[...
- Generalized syntax file so as to not override colorscheme.
v1.0.0 - 2022-08-05
- Added
:ObsidianOpen
command for opening a note in Obsidian (only works on MacOS for now).
v0.1.0 - 2022-08-05
- Initial plugin release