Ibis/notes.md
Jana Lemke 71cfee95bc Add Config System instead of hardcoding values
Config is read from `$XDG_CONFIG_DIRECTORY/ibis/config.toml`
falling back to `~/.config/ibis/config.toml` if `$XDG_CONFIG_DIRECTORY`
is not set.
2022-04-15 21:01:18 +02:00

1.9 KiB

Things to do next

  • check complains about some of the defaults. Make sure default settings conform with opinions of check
  • refactor to move functionality like rofi to shell scripts Instead provide more scriptable functionality

Things to think about

  • Do I want to copy templates when creating a course? -> probably just add a subcommand that can copy templates after the creation of a course should I ever need them.
    • sometimes I don't need them
    • annoying to do by hand
    • I don't know either way when creating the course

Things to do, if you are bored

  • Think about better parsing for Courses (semester)
  • Think about better error handling
  • Think about better code separation/organization

Things learned

Paths

  • Os Paths are complicated. (not utf-8)
  • When you only need your own paths manipulated try keeping them strings for a while
  • When you need to use arbitrary strings, your in for an error handling feast This is both annoying but makes you think about all the python scripts that probably do not handle this at all and the developers of these python scripts that don't even know about this
  • Actually if you e.g. save paths somewhere like in a config you probably want to work with camino a crate that provides a Path{,Buf} that is utf-8. It is no use to have "correct" paths only for the saving and reloading to bungle them/the config when opening with an editor.
  • You can use the debug_assertions with the #cfg[] and cfg! macros to detect if you are in debug (cargo run) or release (cargo run --release) mode. This is useful for debugging and similar to C's #ifdef DEBUG.

WISHLIST

  • automatically web-archive/download/git scrape all course websites
  • Calendar Integration
  • Integration with Moodle-Abgaben (put them in a calendar somewhere? are they already?); send reminders/ability to list them and select one to work on. Maybe this needs to go into moodle-rs?