5.9 KiB
Cadmus ToDo List
- Main Executable
- Add support for different configs
- Main Help
- Aliases
- SubFunctions
- WAIT Switch back to MDCat
- Fix Export
- HOLD [#A] NoteFind.sh
- Search
- tags
- tools
- export
- convert
- misc
- publish
- preview
- AutoComplete in Fish
- Write a set of Fish Functions for Aliases
- Packaging
- Exit Codes
- Footnotes
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.
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 the stoml package.
TODO Why do I keep getting Argument has no definition?
Aliases
[B] Readme
Add Recommended Aliases to the 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
WAIT Switch back to MDCat
When this issue is resolved switch back to MDCat
TODO Fix Export
The export is such that the links are absolute, this is going to require some forethought but it seems like I'm going to need seperate functions for self-contained PDF/HTML and a folder of extracted media.
This would also deal with the export currently being mathml not mathjax
HOLD [#A] NoteFind.sh
KeyBindings
DONE
cadmus find
Should print help when no arguments
Completed this by calling help and exiting if the arguments are empty in cadmus.
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] Add support for WikiJS Tags
WikiJS uses a broken yaml implementation but they can be extracted with some ripgrep, this should represent a further option in FilterNotesByTMSUTag.sh.
rg --pcre2 '(?<=[---\n[\s\S]ags:).*[,\s|:\s][a-z]+' -t markdown -o | sd -s ':' ' ' | sd -s ',' ' ' | sed s/^/tmsu\ tag\ /
TODO [A] tools
Link Markdown Notes
Should this do grep or recoll?
Probably grep just in case recoll ever brakes.
TODO [B] Link should really use NoteFind or NoteSearch
As opposed to using its own implementation.
TODO [C] All the tools should print to STDOUT
Cadmus should deal with the clipboard as a frontend, relying on scripts that print to STDOUT, this will promote modularity.
TODO [C] If fixLink used skim not fzf I could remove a dependency
TODO [B] LinkMarkdown
If a notename that you point to (like choose from fzf) has the same name as a folder (think julia.md) then the link you get back is a fucking mess.
TODO page-import
This doesn't work for $$, fix that.
TODO Have tool to open random note
TODO [A] export
TODO Should Be able to handle multiple markded selection
DONE Should Exit on empty selection
Fixed this by changing this
FILE="$(basename ${FILEPATH})"
to this
[[ -f "${FILEPATH}" ]] && FILE="$(basename ${FILEPATH})" || exit 0
TODO Exported Paths should be relative not absolute
I had some notes on my mediawiki that might help me figure this out.
TODO Help Needs to reflect how it works
TODO [A] convert
TODO [A] misc
TODO [A] publish
TODO [A] preview
TODO [A] AutoComplete in Fish
TODO [A] Write a set of Fish Functions for Aliases
Packaging
Exit Codes
Number | Description |
3 | File not found |
4 | directory not found |
5 | unrecognized option |
6 | Missing Dependency |
Exit Code Number ∉ {1, 2, 126, 127, 128, 130, 255}