summaryrefslogtreecommitdiffstats
path: root/doc
diff options
context:
space:
mode:
authorMatthias Beyer <mail@beyermatthias.de>2017-06-11 11:28:49 +0200
committerMatthias Beyer <mail@beyermatthias.de>2017-06-21 18:29:49 +0200
commit0033d1b4b417b9177f78a8aa5a05effa70d459d4 (patch)
treed40e44346f5bafcf6f23fbae05c818df50cf7522 /doc
parenta7c9c39af52635106c824e3e6618a893e64b4dad (diff)
Add documentation file
Diffstat (limited to 'doc')
-rw-r--r--doc/src/05100-lib-timetrack.md52
1 files changed, 52 insertions, 0 deletions
diff --git a/doc/src/05100-lib-timetrack.md b/doc/src/05100-lib-timetrack.md
new file mode 100644
index 00000000..6d3e2c8c
--- /dev/null
+++ b/doc/src/05100-lib-timetrack.md
@@ -0,0 +1,52 @@
+## libimagtimetrack
+
+A library for tracking time events in the imag store.
+
+### Store format
+
+Events are stored with a store id like this:
+
+```
+/timetrack/<insert-date-year>/<insert-date-month>/<insert-date-day>/<insert-date-time>-<tag>.ext
+```
+
+Timetrackings contain
+
+* a comment (optional, free text)
+* a start date
+* an end date
+* a tag
+
+by default and might be extended with more header fields as one likes.
+
+The header of a timetrack "work" entry looks like this:
+
+```toml
+[event]
+tag = "work"
+start = "2017-01-02T03:04:05"
+end = "2017-01-02T06:07:08"
+```
+
+Normal tags (as in `libimagentrytag`) are explicitely _not_ used for tagging,
+so the user has the possibility to use normal tags on these entries as well.
+
+The `tag` field is of type string, as for one tag, one entry is created. This
+way, one can track overlapping tags, as in:
+
+```bash
+imag timetrack start foo
+imag timetrack start bar
+imag timetrack stop foo
+imag timetrack start baz
+imag timetrack stop bar
+imag timetrack stop baz
+```
+
+The `end` field is, of course, only set if the event already ended.
+
+### Library functionality
+
+The library uses the `libimagentrydatetime::datepath::DatePathBuilder` for
+building `StoreId` objects.
+