EFLS / zetteldeft

A Zettelkasten system! Or rather, some functions on top of the emacs deft package.
https://efls.github.io/zetteldeft
GNU General Public License v3.0
393 stars 42 forks source link

[Announcements] New features and changes #81

Open EFLS opened 3 years ago

EFLS commented 3 years ago

To announce new features and major changes to the community (whoever that might be) without maintaining a blog, I will use this space here. Subscribe to notifications to keep up to date.

Feel free to leave comments when they are relevant, but for bugs and suggestions, please open a separate issue.

EFLS commented 3 years ago

To quickly return to a base note, I added a zetteldeft-go-home function. More information can be found in this note in the zd-tutorial knowledge base.

EFLS commented 3 years ago

A new function, zetteldeft-backlink-add allows you quickly include a backlink at the top of the note (with customizable zetteldeft-backlink-prefix). More info here

EFLS commented 3 years ago

Two new features:

EFLS commented 3 years ago

Another function for convenience: with zetteldeft-tag-search (C-c d /) you can interactively pick a tag to search for.

EFLS commented 3 years ago

New function: hit C-c d .' to callzetteldeft-browse' and easily browse your notes by entering a "follow link loop". Select a link to follow with Avy, similar to zetteldeft-follow-link' but in repeat. Exit the loop withESC' or `C-g'.

I use it in combination with `zetteldeft-go-home' to go to my base note, and browse the topics in my Zettelkasten from there.

EFLS commented 3 years ago

New function: easily insert tags.

To quickly insert a tag, use zetteldeft-tag-insert: it will prompt for a tag to be added at the end of the first line that starts with zetteldeft-tag-line-prefix (which is # Tags by default). If, however, this variable is set to nil, tags will be inserted at point.

Want to insert a tag at point even with zetteldeft-tag-line-prefix configured? Use zetteldeft-tag-insert-at-point.

Thanks to @puzan for providing the basis for this new feature!

EFLS commented 3 years ago

Customize the behaviour of zetteldeft-follow-link: when called with point at a link, should the link be followed or Avy be called?

By default, a link under point is followed, but by setting the new customizable variable zetteldeft-follow-at-point to nil, this can be changed so that avy is always called to select a visible link in the buffer.

EFLS commented 3 years ago

A small update aimed at user convenience.

When launching a Zetteldeft search (for example for a tag, or to check which notes link to the current note), a Deft buffer is shown with the results. To prevent that the Deft buffer is shown in multiple windows, we now first switch to the relevant window if the Deft buffer is already visible somewhere.

EFLS commented 3 years ago

There's a new customization option to configure whether the filename of a new note should be added to the kill ring: zetteldeft-new-filename-to-kill-ring. Set to nil by default (so a change from Zetteldeft behaviour previously, but still configurable).

EFLS commented 3 years ago

To customize how Zetteldeft inserts a link, there is now the zetteldeft-insert-link-function variable. This is particularly convenient for those who prefer Org-style links. Check out its documentation for more details.

EFLS commented 3 years ago

New function to easily remove a tag from the current note: zetteldeft-tag-remove (default keybinding C-c d $). Select a currently used tag from the list, and the tag will be removed from the current note (or at least the first time it appears in the note).

EFLS commented 3 years ago

New function to quickly create a new note starting from a region. With the region highlighted, call zetteldeft-extract-region-to-note and enter a title. The region will be replaced with a link to the new note. Thanks to @Sodaware for the new feature!

EFLS commented 3 years ago

Remember backlinks? They are now inserted in a smarter location, which is the line below whichever is found first:

Even better, you can customize this further if you want, via zetteldeft-backlink-location-function.

Now also briefly mentioned in the zd-tutorial

EFLS commented 3 years ago

Including a list of links to notes with a specific search term (such as a tag) and updating such a list via an Org source block, is something I've been doing in my private setup for some time. Now it is part of Zetteldeft.

Insert such a source block via zetteldeft-insert-list-links-block. Default key is C-c d L.

More info in the zd-tutorial.

EFLS commented 1 year ago

New feature: automated list of links with Dynamic Blocks. From the documentation in zetteldeft.org:

Org-mode provides Dynamic Blocks, which can programmatically update their contents. Let's create a Dynamic Block called zetteldeft-links.

It will look like this:

#+BEGIN: zetteldeft-links :search "#zd-tutorial"

#+END:

When activated (via C-c C-c), the contents between #+BEGIN: and #+END: will be replaced by the search results provided with :search "<string>".

Additional options are

Use zetteldeft-org-dblock-insert-links to create such a dynamic block, or do so via org-dynamic-block-insert-dblock.

Now in the zd-tutorial

EFLS commented 1 year ago

I should mention here what I've added to the README: Zetteldeft is no longer under active development, for the simple reason that I'm exploring note-taking based on Denote rather than on Deft (although these aren't mutually exclusive).

This package will remain available as code here and via MELPA, and I think it is still fully functional. But there won't be any more additions to it.

For the past few months, I've been converting my own set of notes and exploring how to achieve many of the Zetteldeft features in Denote.

Feel free to leave a comment (or reach out via e-mail or Mastodon) if you'd like to get in touch to discuss switching from Zetteldeft to Denote.