6.2 KiB
Cadmus ToDo List
- Main Executable
- Add support for different configs
- Main Help
- Aliases
- SubFunctions
- WAIT Switch back to MDCat
- Add Dokuwiki Export
- Fix Media Wiki 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 Add Dokuwiki Export
just like html-dir
add dw-dir
using this script:
~/bin/ImportHtml2Dokuwiki.sh
TODO Fix Media Wiki Export
The links in the html-dir export are absolute, a second pass is needed to make them relative, this will be necessary for everything except for self-contained stuff.
Make a seperate function for self contained and relative stuff.
Currently html-dir CANNOT be used to import into mediawiki because even thtough the files get pulled in the links are broken.
calling pandoc ./file.html --extract-media='./media' -o ./file.html
is necessary to import a zip file into mediawiki.
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}