#+TITLE: Cadmus ToDo List * Main Executable ** TODO [#B] Add support for different configs Basically I would like to be able to change the note directory to manage seperate knowledge bases, for example: + Personal Wiki + Static Site + Wiki for Project + School Project public knowledge base etc. This should be fed in as a ~-c~ option. [[file:bin/cadmus::NOTES_DIR="~/Notes/MD" ## TODO Global Variables are bad][Refer to this line here]] ** Main Help *** TODO [#C] Move Emojis I should move the emojis to the end so that they don't interfere when using tty *** TODO [#B] Should interactive elements of scripts be preserved and use the clipboard As opposed to having no feedback and just operating on STDIN and STDOUT. Could a similar effect be acheived using /tmp or /dev/shm? *** TODO [#A] Should subscripts be exptected to be relative or absolute? *** TODO [#A] Should the Notes directory be a global variable or an argument **** TODO Should we set the Notes directory in a TOML? see [[https://github.com/freshautomations/stoml][the stoml package]]. *** TODO Why do I keep getting Argument has no definition? ** Aliases *** [#B] Readme Add Recommended Aliases to the [[file:README.md::Recommended Aliases][readme]] as well as fish functions. * SubFunctions ** TODO Restructure should I restructure the subfunctions to accept only 1 argument either help or directory and fail in the absence of any given argument? *** Pros + Much Simpler to implement and maintain *** Cons + Less clean to pass in functions + Less Extensible * HOLD [#A] NoteFind.sh ** KeyBindings *** TODO [#B] Should Implement keybindings for Exports [[file:NoteFind.sh::ramtmp="$(mktemp -p /dev/shm/)"][In the SkimAndGrep]] function there should be export options for HTML mathml [fn:1] as well as odt[fn:2] *** TODO [#C] Should call emacsclient not emacs I should change the [[file:NoteFind.sh::--bind 'alt-v:execute-silent(code {}),alt-e:execute-silent(emacs {}),ctrl-o:execute-silent(xdg-open {})' \\][emacs call]] to open ~emacsclient~ instead of ~emacs~ ** DONE ~cadmus find~ Should print help when no arguments Completed this by calling help and exiting if the arguments are empty in cadmus. [[file:bin/cadmus::function NoteFind() {][See here]] * TODO [#A] Search ** recoll should use seperate config Recoll should be called with regard to a config, the idea being i could run: + =cadmus -c personal= + =cadmus -c uni= + =cadmus -c work= and have different note bases ** TODO Pipe preview through ripgrep to highlight any occuring words. Take the command query and change white spaces into =|= characters, this way search terms will be highlighted in matches. * TODO [#A] tags ** TODO Standardise These desperately need to be standardised like search and NoteFind have been ** TODO Move the scripts into PATH Currently all the tag scripts call a relative script, not in the PATH, maybe this is actually OK? it means 0 install... * TODO [#A] tools ** Link Markdown Notes Should this do grep or recoll? Probably grep just in case recoll ever brakes. * TODO [#A] export * TODO [#A] convert * TODO [#A] misc * TODO [#A] publish * TODO [#A] preview * Packaging ** TODO Make a Package Use [[https://fpm.readthedocs.io/en/latest/source/dir.html][FPM]] to make multiple packages bundling everything together. Consider also just using ~install --help~ and doing something [[https://www.reddit.com/r/archlinux/comments/4gsg9i/how_would_i_package_a_simple_bash_script/][like this]] or [[https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=split2flac-git][like this]]. * Exit Codes | Number | Description | | 3 | File not found | | 4 | directory not found | | 5 | unrecognized option | | 6 | Missing Dependency | #+begin_quote Exit Code Number ∉ {1, 2, 126, 127, 128, 130, 255} #+end_quote * Footnotes [fn:2] This could so something like ~pandoc -o /tmp/myfile.odt; xdg-open /tmp/myfile.odt~ [fn:1] Think for using *Thunderbird*