mirror of
https://github.com/RyanGreenup/cadmus.git
synced 2025-02-21 05:03:27 +01:00
140 lines
5.6 KiB
Org Mode
140 lines
5.6 KiB
Org Mode
#+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
|
|
* WAIT Switch back to MDCat
|
|
When [[https://github.com/lunaryorn/mdcat/issues/155][this issue]] is resolved switch back to MDCat
|
|
|
|
* 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] 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.
|
|
|
|
#+begin_src bash
|
|
rg --pcre2 '(?<=[---\n[\s\S]ags:).*[,\s|:\s][a-z]+' -t markdown -o | sd -s ':' ' ' | sd -s ',' ' ' | sed s/^/tmsu\ tag\ /
|
|
#+end_src
|
|
|
|
* 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
|
|
#+begin_src bash
|
|
FILE="$(basename ${FILEPATH})"
|
|
#+end_src
|
|
to this
|
|
#+begin_src bash
|
|
[[ -f "${FILEPATH}" ]] && FILE="$(basename ${FILEPATH})" || exit 0
|
|
#+end_src
|
|
** 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
|
|
[[https://stackoverflow.com/questions/20838284/how-can-i-provide-tab-completions-to-fish-shell-from-my-own-script][See this Stack Answer]]
|
|
* TODO [#A] Write a set of Fish Functions for Aliases
|
|
* 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*
|