- fix bug where not all tags would be added to the database and therefore
query --tag
results would have been incomplete - fix bug where
sync --update
would keep old links and tags, even if they changed or were removed - fix panics in
settle sync --rename
caused by trying to rename a file that didn't exist - fix overwrites in
settle sync --rename
when there was a Zettel with the new title on the filesystem but didn't have an entry in the database query --graph json
: specify"ghost"
as edge weight if the target link does not existvizk
:- make nonexistent Zettel slightly darker in color and less opaque, to distinguish them from those that do exist
- make drag distance detection dependent on node size, so that there isn't a visible mismatch between large nodes and their selection radii
- change default parameters so that the notes don't cluster in the center when opening the visualisation
- fix bug where link force greatly affected link distance at lower values for the former
- add button to toggle displaying arrows at the end of each link
settle compl
: add completion forNushell
(throughnu
,nushell
arguments)- change
query
andls
: always print output alphabetically sorted - change: don't enforce having an
inbox
project, since the user should have control over this
query
: change--graph
to take a single value insteaed of printing a DOT graph:- specifying
dot
as an argument prints the DOT graph - specifying
json
as an argument prints the JSON string of the graph - specifying
vizk
as an argument returns HTML code usingd3.js
under the hood, through which the Zettelkasten can be interactively visualised
- specifying
- fix: make
sync --rename
take precisely two arguments instead of a variable amount - fix: get default configuration file variables at runtime instead of compile time
- add: make configuration file location flexible by allowing using the
SETTLE_CONFIG
environment option - fix: check for environment variables at runtime, not at compile time
- fix: don't use environment variables if they are set but empty
- change: make titles be unique globally, i.e. a single unique title per Zettelkasten, instead of having them be unique per-project basis.
- refactor: rework the database architecture entirely, but keep (roughly) the same functionality
- fix: make finding backlinks just as fast as finding forward links
- fix: make
sync --create
return the proper error - fix: prevent
compl
from creating configuration files - fix: make
compl
recognise its input properly - fix: prevent
query
from returning a capacity overflow error when using the--text
option. - fix: don't insert duplicate links into the database
- fix: include more information in I/O panics, to make debugging easier
- fix: automatically rename Zettel with multiple consecutive whitespace, so that words in them may be separated only by a single space character
- fix
query
: return backlinks properly, instead of just a subset, or none (!) - clarify documentation
- update dependencies to latest versions
- add
main
as an alias for the main Zettelkasten project, i.e. the empty string project, for all commands that may reference it - fix
settle sync --move
: use regular regex instead of SQL regex to match notes
settle query
: fix bad output of--graph
command, which (due to the v0.39.6 update) printed not only its intended output, but also the regular query output.
settle query
: add%a
format flag, which, when used in combination with the--text
option, prints the patterns matched by the latter option. This is especially useful for giving context to a search, since enclosing it with a.*
at the start and end (such as.*search.*
) returns an entire line.
- add
--exact
option tosettle query
, for disabling regex and at the same time avoiding any possible [internal] errors due to regex-specific characters in Zettel titles - re-write documentation entirely, add a bunch of files to
doc/
and link to them in the README.md "Overview" section
- fix:
settle sync --create
no longer permits empty titles and titles starting with a dot (which would be, as per regular Unix behaviour, hidden files) - fix:
settle sync --generate
now ignores files starting with a dot, and likewise, empty titles - fix:
settle sync --update
no longer panics when given certain relative paths, notably when the current working directory is the main Zettelkasten directory - fix:
settle sync --update
returns an error on files that are not in the Zettelkasten - fix: if the database file doesn't exist or the database hasn't been
initialised,
settle
no longer panics complaining that it can't find SQL tables
- fix: detected tags must be delimited by whitespace on both sides, so that for
example it doesn't think that a reference in a link is a tag (e.g.
https://example.com/hello#About
; formerly, it would take#About
as a tag) - fix:
query --tag <TAG>
also returns the subtags of<TAG>
- fix:
sync --rename
would never work since it never found the correct title
- add
--graph
option toquery
, for making a graph out of the results
- add to
query
:- add
--format
option, which supports printing the title, the project, the path, the links and the backlinks for any Zettel. - add
--link_sep
option, which specifies how both links and backlinks should be separated in formatting
- add
- remove groff/man document inside
doc/
- change command line interface entirely:
- remove all listing-related commands
- add
query
command for querying the database, with the ability to to apply several filter parameters, at your choice - remove all commands that were related to changing the database
- add
sync
command, which deals with everything related to changing the database - replace misc commands (like
zk
,tags
) withls
- [internal] instead of using SQL queries to get stuff, load the entire database into memory and then apply various filters
- fix panics on a completely fresh environment (credit: irandms)
- add
isolated
command, for returning all Zettel that have no links pointing to or from them
- fix: when moving a note from a project to another, create the project directory if it doesn't exist
- remove
db_file
as a configuration option - add a 'core principles' section to the README
- briefly describe the project's history in the README
- add
mv
command, for moving Zettel between projects - add
rename
command, for renaming Zettel obviously- after a file is renamed, all links to it are updated
- fix: properly recognise links spanning multiple lines
- fix: print things synchronously instead of asynchronously to stdout
- reformulate a vague section in the README file
- fix: don't panic when compiling if
XDG_CONFIG_HOME
isn't set
- add the 'projects' command for listing existing projects
- add
buildman.sh
indocs/
, a script that builds the man documentation automatically
- add a readable manual in markdown (which works on e.g. GitHub)
- use backticks in the 'Wildcards' section in the markdown manual
- update the markdown manual's formatting
- move a paragraph to its proper position in the manuals
- add a section on how to actually take notes with it
- process projects in parallel
- use the latest versions of dependencies
- implement projects (subdirectories within the main Zettelkasten) to hold notes
- add
${DATE}
placeholder
- rename all commands: use at most one word
- follow XDG base specifications for configuration files
- add a proper man page that uses groff
- add command to generate autocompletion files on the go