ref: 44efe644d6962daaf2f299560633221fd43abcc3
author: sirjofri <[email protected]>
date: Fri Apr 28 12:49:33 EDT 2023
adds files
--- /dev/null
+++ b/README
@@ -1,0 +1,15 @@
+Zettelkasten tools for acme
+
+
+Bind this directory to /bin/zet (or somewhere else) and use the tools:
+
+- znew : create new zettelkasten note (timestamp.txt by default)
+- zls : list existing zettelkasten notes
+- ztag : list tags of this note
+- zlstag : list all notes that match the parameter tag
+
+Note: the tools work with all .txt files in the working directory.
+
+First line in note is the title, tags are denoted as #[tag .
+
+Bugs: Sure.
--- /dev/null
+++ b/zlib
@@ -1,0 +1,13 @@
+fn zlist {
+ if (~ $1 '') {
+ echo No files to list
+ exit
+ }
+ if not
+ files=$*
+ for (file in $files) {
+ title=`{sed 1q $file}
+ tags=`{ztag $file}
+ echo $file^' '^$"title^' '^$"tags
+ }
+}
--- /dev/null
+++ b/zls
@@ -1,0 +1,31 @@
+#!/bin/rc
+
+rfork en
+dir=`{basename -d `{src -n $0}}
+. $dir/zlib
+
+if(~ $1 '')
+ files=*.txt
+if not
+ files=$*
+
+fn construct {
+ for (file in $files) {
+ title=`{sed 1q $file}
+ tags=`{ztag $file}
+ echo $file^' '^$"title^' '^$"tags
+ }
+}
+
+if(! test -f /mnt/acme/index) {
+ zlist $files
+ exit
+}
+wd=`{pwd}
+cd /mnt/acme/new
+echo name $wd/-Zettelkasten >ctl
+@{cd $wd; zlist $files} > data
+echo scratch >ctl
+echo nomenu >ctl
+echo nomark >ctl
+echo clean >ctl
--- /dev/null
+++ b/zlstag
@@ -1,0 +1,38 @@
+#!/bin/rc -e
+
+rfork en
+dir=`{basename -d `{src -n $0}}
+. $dir/zlib
+
+if(~ $1 '') {
+ echo usage: $0 tag
+ exit usage
+}
+
+tag=$1
+
+files=()
+
+tagsplit=' ,
+'
+
+for(f in *.txt) {
+ tags=`$tagsplit{ztag $f}
+ for(t in $tags) {
+ if(~ $"t $"tag)
+ files=($files $f)
+ }
+}
+
+if(! test -f /mnt/acme/index) {
+ zlist $files
+ exit
+}
+wd=`{pwd}
+cd /mnt/acme/new
+echo name $wd/-Zettelkasten >ctl
+@{cd $wd; zlist $files} >data
+echo scratch >ctl
+echo nomenu >ctl
+echo nomark >ctl
+echo clean >ctl
--- /dev/null
+++ b/znew
@@ -1,0 +1,8 @@
+#!/bin/rc
+
+file=`{pwd}
+if(! ~ $1 '') file=$1
+
+d=`{date -f 'YYYYMMDDhhmmss'}
+touch $"file^/^$"d.txt || exit 'unable to touch file'
+plumb $"file^/^$"d.txt
--- /dev/null
+++ b/ztag
@@ -1,0 +1,13 @@
+#!/bin/rc
+
+file=$1
+if(! ~ $#% 0) file=$%
+if(! ~ $#* 0) file=$1
+nl='
+'
+
+if(~ $file '') exit 'no file given'
+
+tags=`{cat $file | sed 's/[ ]+/\n/g' | sort | grep '^#\[' | sed 's/^#\[//' | sed 's/$/, /g' | tr -d $nl | sed 's/, $//g'}
+
+echo $tags