From e3fe8e3ef06a0aa2188419ae722d7e6724cf2620 Mon Sep 17 00:00:00 2001 From: Matthew Sotoudeh Date: Sat, 22 Jan 2022 20:45:14 -0800 Subject: Describe the goals re: advanced usage --- README.md | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/README.md b/README.md index 40fd783..3f8ba1b 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,7 @@ The goal is to manage tasks, events, etc. in plaintext (vimwiki/markdown), then spit out a publicly-viewable version. +# basic usage First, create a `wtd.md` file of the following format: ``` # 12/27/21 @@ -39,6 +40,34 @@ You should now see `public.html` and `private.html` in the current directory. The calendar does not require Javascript and should work very well in, e.g., `w3m`. +# advanced usage (WIP) +there are a few major annoyances with the basic usage. these include: +1. No serious support for repeating (e.g., weekly) events, so it's easy to + accidentally double-schedule over those when scheduling far in the future. +2. Scheduling for the future at all is annoying --- sometimes you want to see + things in desc vs asc view. + +To solve this, `wtd` supports a "week-based" mode. In this mode, `wtd` will +search for events in the following locations: +- A `wtd.md` file, as above; +- A file of the form `mmm_dd_yyyy.md`, which contains no `# Week-Start` headers + (they are instead implied by the filename); and +- A file of the form `weekly.md`, which contains events that should repeat + every week. The `weekly.md` file is only used when the week does not have a + corresponding `mmm_dd_yyyy.md` file. + +The idea is to use `wtd.md` to record events far into the future, `weekly.md` +to record recurring evets, then `[week].md` as the 'live' copy that you work +off during the week itself. The following binary options are available to make +this a bit simpler: + +- `describe [week]` will print a `wtd`-formatted version corresponding to the + week starting on `week`. +- `generate [week]` does the same as `describe [week]`, except it prints + directly to a file `mmm_dd_yyyy.md` (overwriting if it exists), **and** it + removes any blocks from `wtd.md` that are now duplicated in `mmm_dd_yyyy.md`. +- `validate` prints any events that overlap each other. + #### Rust Warning This is my first time writing a project in Rust; it's very likely there are major issues. Proceed with caution. Feedback appreciated. -- cgit v1.2.3