zetteldeft icon indicating copy to clipboard operation
zetteldeft copied to clipboard

Feature request: A tag code in file name based knowledge management system

Open QiangF opened this issue 6 years ago • 2 comments

I am using org files to keep notes with https://github.com/abo-abo/plain-org-wiki/blob/master/plain-org-wiki.el As time goes by, the file is getting bigger and bigger, which bring a lot of duplication, also makes auto save and backup files big and cause a lot more extra disk io, not good for the hard drive. :-)

So I am thinking about a purely simple tag base system:

  1. a tag datafile: (tag . value), tag is a string without blank characters, value is a numeric value, eg. ((linux . 10) (debian . 2) (emacs . 3))
  2. a notes folder: note file name is the joined string of tag values sort in ascending order, eg. a note with both linux and debian tag should be named 2-10, just plain org files without the .org extension

The search operation is simple too:

  1. a search tag function: search tag datafile with keywords separated by space to find all the matched values, each single tag uses fuzzy matching, eg. search for "dbian linx" will retrun files match the glob pattern *2*10* , but the file name list is converted to tag names like "1. debian linux 2. debian emacs linux", you can select the file to open with number, or you can goto 2.
  2. open them all in a temp buffer with all files inserted using https://github.com/whacked/transclusion-minor-mode , the nice thing is you can view all of them in one buffer, and maybe cut and paste from one file to another

The tag manipulation is very simple:

  1. Delete a tag: remove the tag from the datafile, replace the tag value from all notes files names, move file name the same as tag value to trash and warn the user. save the tag value to a file named available-tag-values.
  2. Add a new tag: search the tag datafile if no match, create a new tag value and associate to the tag name, the value in available-tag-values will used first.
  3. Add a tag to the current note: rename it to a name include the tag value
  4. rename a tag: just rename it in the tag datafile.

This will break big notes files into smaller ones and does not affect the viewing thanks to org translusion. However, I only have a very limited knowledge of emacs. I am looking forward to hear your opinion and on how to bring the feature to this repo. Thank you!

QiangF avatar Aug 29 '19 06:08 QiangF

I'm not sure I understand what it is you are trying to achieve here. What do the numerical values represent? Also, and more pertinently, I don't see how this set of features is part of a Zettelkasten method of keeping notes.

I see you also opened a copy of this issue on the deft repository -- what is your aim here?

Feel free to develop your particular workflow and share it here, but to incorporate it into zetteldeft it should add to the core functionality of the package.

EFLS avatar Aug 29 '19 10:08 EFLS

Thank you for the reply. I am just trying to get some expert's advice. These numerical values are just short code for tag names, to make file names shorter.

QiangF avatar Aug 29 '19 12:08 QiangF