Lookup lets you find or create a note.
To work with notes, Dendron uses lookups. Lookups help you create, find, and organize your notes. You can watch the following video to see some of the things you can do with lookups.
Dendron supports lookups by keywords separated by spaces/' ' without having to know the order where the keywords occur in the note. As example:
dendron rename &
rename dendron will both match note
As mentioned in Details, the look up is accomplished through utilization of fusejs. You can use fusejs extended search syntax when looking up notes.
For entries that have the same score, Dendron will sort results by their last updated time. Further info on lookup syntax can be found in Finding Notes
Look up Auto Complete
Tab while having lookup view open will attempt to auto complete results. This is especially useful when dealing with hierarchies which adds on one level of hierarchy (from the highest matched result) at a time.
Behind the scenes, lookup uses fusejs to do fuzzy string matching based on the note hierarchy. You can see our parameters here.
Scoring is explained here.
You can see the pseudo code for how fusejs integrates with lookup here (Private).
Dendron disallows certain characters and or patterns in the file name of a note.
There are a few restrictions on how you can name your notes. This is mainly due to compatibility across different platforms, as well as some restrictions that are imposed by VSCode.
⚠️ Introduction of new restrictions are very rare, but it can happen in the future.
In that case, a detailed guide will be provided on how to automatically fix your existing notes' file names so that they conform to the new restrictions.
Automatically finding and fixing invalid filenames
You can use the Doctor command with the action fixInvalidFileNames to find and fix invalid filenames.
If an automatic fix is not possible, the doctor command will notify you with the file names that were not automatically fixable so that you can manually review and rename them.
Hierarchies cannot be empty strings. This means:
- file names (excluding the
.mdextension) cannot start or end with a
., which delineates a hierarchy.
- file names cannot have consecutive dots.
# good foo.bar.md foo.bar.baz.md # bad foo..baz.md .foo.md foo..md
When you lookup a note, the query ignores cases. VSCode will also not allow you to have two files with mixed cases but same characters.
To avoid confusion, we recommend using lower-kebab-case for all your notes if possible, and keep the casing consistent at minimum on a per-hierarchy basis.
# good foo.md foo-bar.md # bad Foo.md fOO.md FoO.md Foo_Bar.md
Symbols / special characters
There are a few non-alphanumeric characters that are disallowed in filenames due to compatibility across different platforms and backends.
Currently these are the disallowed characters:
We recommend replacing the occurences of these symbols to
-, or refactor the note to have a simpler file name that doesn't require special characters to be described.