1
0
mirror of https://github.com/RyanGreenup/cadmus.git synced 2025-01-29 10:20:25 +01:00
cadmus/todo.org
2020-09-06 17:26:05 +10:00

6.2 KiB

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.

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?

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

TODO [B] Should Implement keybindings for Exports

In the SkimAndGrep function there should be export options for HTML mathml 1 as well as odt2

TODO [C] Should call emacsclient not emacs

I should change the 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.

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.

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

TODO Make a Package

Use FPM to make multiple packages bundling everything together.

Consider also just using install --help and doing something like this or like this.

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}

Footnotes


1

Think for using Thunderbird

2

This could so something like pandoc -o /tmp/myfile.odt; xdg-open /tmp/myfile.odt