v3.13.0
What's new
Added π
- Allow custom directory and ID logic for templates
- When filling out a template with user-provided substitution functions, pass a "context" object to each invocation so that users can respond accordingly.
- Added
obsidian.InsertTemplateContextandobsidian.CloneTemplateContextas these new "context" objects.
- Added
- Github workflow and
make typesnow uselua-language-serverto check type issues. - Added the
completion.create_newoption to allow for disabling new note creation in the picker. - Added
makefile typestarget to check types via lua-ls. - New
obsidian.configtype for user config type check. - More informative healthcheck.
- A guide to embed images for both viewing in neovim and obsidian app: https://github.com/obsidian-nvim/obsidian.nvim/wiki/Images
- Added
check_buffersoption toNote.writeandNote.savefor automatically reloading buffers withchecktimeafter writing them to disk - Added footer options.
- Added default mappings:
]oand[o, for navigating links in note. - Support pasting image to sub directory in current directory.
- Reimplement
Obsidian renamewithvim.lsp. - Support parsing
titlefrontmatter property.
Changed β οΈ
-
Remove
itertools.luain favor ofvim.iter. -
Commands are now context sensitive (mode and if in note).
-
Remove
debugcommand and lazy log functions, and point user tocheckhealth obsidian. -
Remove
mappings.lua, see: https://github.com/obsidian-nvim/obsidian.nvim/wiki/Keymaps -
Moved
dailyas its own module instead of client method. -
Refactor the
utilmodule. -
Refactor several note functionalities from
ClientintoNote:Client (old) Note (new) write_notewritecreate_notecreateopen_noteopenparse_title_id_pathresolve_title_id_pathnew_note_idgenerate_idnew_note_path_generate_path -
Refactor
Client:create_noteβNote:createandClient:write_noteβNote:write -
Use
vim.defaulttableinstead of custom impl. -
Remove the class
obsdian.CallbackManager, but callback system is not changed. -
Remove
api.insert_text, usevim.api.nvim_put -
change
clipboard_is_imgto usevim.fn.systeminstead ofio.popento get the output of the command with awareness of the shell variables. -
use
run_jobwrap withbashto runsave_clipboard_imageasync for Wayland sessions to avoid data corruption. -
Use a
Obsidianglobal variable to hold the state instead of client. -
opts.img_text_funchas an obsidian app compatibility, and only accept one path argument. -
Moved
client:apply_async->api.dir -
Deprecate
statuslineoptions andvim.g.obsidianin favor offooteroptions andvim.b.obsidian_footer. -
Moved
client:switch_workspace->Workspace.switch -
Moved
client:follow_link_async->api.follow_link -
Moved
client:resolve_note_async->search.resolve_note_async -
Moved
client:find_notes_async->search.find_notes_async -
Obsidian toggle_checkboxwill only be triggered in correct context, inparagraphandlistts nodes. -
opts.checkbox.create_newto configure whether insert new checkbox -
Don't depend on plenary anymore!
Fixed β
- Fixed improper tmp-file creation during template tests
- Only error once if template folder is not found.
- Fixed corrupted text when custom variables appear more than once in a template file (#198)
- Add further checks to void false positives when finding tags
- Off-by-one bug when avoiding tag in code blocks
- Make tag picker case insensitive
ObsidianPasteImgwill now work on Wayland sessions- Handle error exit code from git in get_plugin_info
- Fixed incorrect usage of
Note.createindaily_notes. - Fixed tag completion for blink.cmp and improved frontmatter tag handling
- Fixed to allow numbers in note IDs.
- Fixed ignore subdirectories specified in
daily_notes.date_format - Fixed not make sure template folder exists.
- Refactored workspace module for a better api.
- Fixed types in
opts.workspaces[*].overridesto all be optional.
Commits
5186cba chore(release): bump version to v3.13.0 for release
b33b680 fix: version, comment out weird test case
c367bda fix: changelog
40816df chore(docs): auto generate docs
0fe3ea7 refactor: remove plenary! (#324)
fa83e52 chore(docs): auto generate docs
8334fbf rename reimplemented with vim.lsp (#231)
8c1d9ed chore(docs): auto generate docs
74ecf2b docs: add VVKot as a contributor for code (#323)
9ae01a6 feat: add support for title frontmatter property (#322)
7400ec3 test: MiniTest for yaml parser
141b6ac chore(docs): auto generate docs
6fcc37f fix: dedup logic workspace:new/new_from_spec, much cleaner (#303)
3c07744 chore(docs): auto generate docs
63532c7 feat: better attachment folder resolve (#317)
0d746fc fix: obsidian commentstring default off
f0b231b chore(docs): auto generate docs
8e90132 fix: small-type fixes (#308)
d4185a1 feat: opts.checkbox.create_new to configure whether insert new checkbox
2cab4fd checkbox with treesitter awareness (#300)
5396d48 fix: accident wrong usage of cursor link
be52e2c chore(docs): auto generate docs
f94a3ee nav_link mappings and find_links api (#275)
a6c5be9 chore(docs): auto generate docs
65920ad refactor: move resolve_note/follow_link away from client (#277)
b86ec1a fix: not warn if statusline is not used
b4c86cd chore(docs): auto generate docs
24e1e99 docs: add chrhjoh as a contributor for code (#296)
b614e21 chore(docs): auto generate docs
ba5a832 refactor: expose Workspace.switch (#295)
6e2b2e1 fix: respect subdirectories in date_format for daily files (#291)
6961e01 Fix false positive invalid id detection (#288)
3181c7c chore(docs): auto generate docs
be0a04a docs: add jakobwesthoff as a contributor for code (#287)
8f4cafd Fix tag completion for blink.cmp (#286)
e9fa4be chore(docs): auto generate docs
99cab8e feat: add check_buffers option to Note.write and Note.save for automatically reloading buffers with checktime after writing them to disk (#282)
21cb4d0 chore(docs): auto generate docs
ff1dbd7 feat: add footer options (#278)
419f986 fix: lua_ls version (#285)
3fbe2a8 fix: current use note:write in daily notes (#281)
70087b1 chore(docs): auto generate docs
d33d0ff fix: remove unused type params
da6fb89 fix: changelog
0da0709 refactor: client:apply_async -> api.dir
170b5ae chore(docs): auto generate docs
acfd1df More Configuration for Templates (#184)
d22a3b5 chore(docs): auto generate docs
609c5dc feat: obsidian + snacks.image compatible img_text_func (#272)
02b128f chore(docs): auto generate docs
214bcff fix: properly deliver deprecate warning. doc: document command usage.
c4c6725 chore(docs): auto generate docs
7e8bfa9 docs: add trash-panda-v91-beta as a contributor for code (#267)
5309954 fix: return consistent structure from get_plugin_info when git fails (#266)
ac3b0e7 fix: update picker usage internally for Obsidian.picker
2f929ee chore(docs): auto generate docs
8161eb4 refactor(client): move more methods away from client
527970f chore(docs): auto generate docs
44cbae2 feat: use _G.Obsidian to hold state, instead of client (#251)
7d05405 feat: check additional os specific dependencies (#259)
ad82f37 chore(docs): auto generate docs
86d853f docs: add redoxahmii as a contributor for code (#261)
3c8a66f Improve clipboard image detection and Wayland paste handling. (#260)
fe64d94 chore(docs): auto generate docs
da36384 docs: add srackham as a contributor for code (#257)
dd646c0 chore(docs): auto generate docs
d834b8c docs: add tricktux as a contributor for code (#256)
ee5c582 fix: incorrect create_new default option
9816948 fix: make tag picker case insensitive (#243)
62aaefc fix: cleanup api (#250)
96762fb fix: remove_callback_manager (#247)
57ffe35 fix: inline some tbl methods and remove lazy log (#246)
b4aef65 chore(docs): auto generate docs
c191280 doc: user-doc named obsidian only
0ee0c5b fix: rename islist
cc49972 fix: address lint and some internal rename
9a4e14e chore(docs): auto generate docs
d30a98a fix: workspace is normalized, follows symlink
cc80395 fix: don't set noremap for smart_action
7d869a2 fix: revert tag false positives
513e391 chore(docs): auto generate docs
b211574 refactor: move client method daily and statusline to their own module (#234)
63d9393 fix: remove Obsidian tag in visual mode
3d77f9a test: minify find_code_blocks
e974eea fix: properly warn mapping field
22e9357 chore(docs): auto generate docs
810d1fd feat: only leave smart_action, remove mappings module (#235)
ae8cb3d chore(docs): auto generate docs
a6906cf feat: separate user/internal config type, inline defaults (#233)
7241221 fix: lint in test_path
c1681b1 test: minify path and workspace
a642d98 fix: off-by-one bug in find_tags
7eb2cfb test: minify some tests
0d04609 fix: remove info function, point user to checkhealth (#232)
2ac8081 fix: avoid tag false positives (#206)
82743e6 feat: make completion and menu mode sensitive (#141)
22dcbe0 feat: expose register_command function for integration
140d3fb fix: not hardcode the list of commands
d491dba fix: changelog and remove old fields
c1a316c feat: move opts.ui.checkboxes to opts.checkbox
3c141a9 chore(docs): auto generate docs
c6fc904 docs: add escapewindow as a contributor for code (#226)
a1d87da chore(docs): auto generate docs
5b94baf feat: add opts.completion.create_new to allow disabling new note creation (#221)
816b1c8 chore(docs): auto generate docs
5cf4a2b docs: add carschandler as a contributor for doc (#224)
42c7c91 Update README.md (#222)
b60fece fix: incorrect type check condition
466d915 fix: missing method from SearchOpts
08cd55a fix(templates): text corrupted when custom variables appear more than once in a template file (#199)
97e1ab4 refactor: clean utils module (#202)
d70580f fix: use vim.defaulttable instead of custom one (#216)
063abeb chore(docs): auto generate docs
5f480e7 ci: fix all types, and typecheck in workflow (#215)
351dac1 fix: error once when template folder is not found (#214)
d03b45e test: use mini for note test (#213)
10ef028 perf: native io function instead of File class (#209)
3b456d7 feat: lsp based rename
e17cb3a chore(docs): auto generate docs
699361e fix: remove plenary.job and plenary.scandirusage (#118)
20c5ccd chore(docs): auto generate docs
c5b2199 docs: add brianrodri as a contributor for code (#201)
594f14a chore(docs): auto generate docs
507cee1 feat(templates): pass context to substitution functions
003655c chore(docs): auto generate docs
682d2e8 docs: add mdavis36 as a contributor for code (#196)
8d64a3d chore(docs): auto generate docs
26df7d1 Force Split Strategies. (#153)
9d165ea fix: #194 (#195)
76058b3 Fix abspath (#193)
fce08db fix: allow @ in urls (#188)
96ee170 fix: remove the accidently committed files