2016-02-21 13:42:11 +03:00
|
|
|
|
2019-01-05 10:31:13 +03:00
|
|
|
.TH "hledger_timedot" "5" "January 2019" "hledger 1.12.99" "hledger User Manuals"
|
2016-02-21 13:42:11 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.SH NAME
|
|
|
|
.PP
|
2019-01-25 02:37:40 +03:00
|
|
|
Timedot \- hledger\[aq]s human\-friendly time logging format
|
2016-02-21 13:42:11 +03:00
|
|
|
.SH DESCRIPTION
|
|
|
|
.PP
|
|
|
|
Timedot is a plain text format for logging dated, categorised quantities
|
2017-08-22 03:28:57 +03:00
|
|
|
(of time, usually), supported by hledger.
|
2016-02-21 13:42:11 +03:00
|
|
|
It is convenient for approximate and retroactive time logging, eg when
|
|
|
|
the real\-time clock\-in/out required with a timeclock file is too
|
|
|
|
precise or too interruptive.
|
|
|
|
It can be formatted like a bar chart, making clear at a glance where
|
|
|
|
time was spent.
|
|
|
|
.PP
|
2019-01-25 02:37:40 +03:00
|
|
|
Though called "timedot", this format is read by hledger as commodityless
|
|
|
|
quantities, so it could be used to represent dated quantities other than
|
|
|
|
time.
|
|
|
|
In the docs below we\[aq]ll assume it\[aq]s time.
|
2016-04-13 07:10:02 +03:00
|
|
|
.SH FILE FORMAT
|
2016-02-21 13:42:11 +03:00
|
|
|
.PP
|
|
|
|
A timedot file contains a series of day entries.
|
|
|
|
A day entry begins with a date, and is followed by category/quantity
|
|
|
|
pairs, one per line.
|
|
|
|
Dates are hledger\-style simple dates (see hledger_journal(5)).
|
|
|
|
Categories are hledger\-style account names, optionally indented.
|
2017-08-22 03:28:57 +03:00
|
|
|
As in a hledger journal, there must be at least two spaces between the
|
|
|
|
category (account name) and the quantity.
|
|
|
|
.PP
|
|
|
|
Quantities can be written as:
|
|
|
|
.IP \[bu] 2
|
|
|
|
a sequence of dots (.) representing quarter hours.
|
|
|
|
Spaces may optionally be used for grouping and readability.
|
2019-01-25 02:37:40 +03:00
|
|
|
Eg: ....
|
2017-08-22 03:28:57 +03:00
|
|
|
\&..
|
|
|
|
.IP \[bu] 2
|
|
|
|
an integral or decimal number, representing hours.
|
|
|
|
Eg: 1.5
|
|
|
|
.IP \[bu] 2
|
|
|
|
an integral or decimal number immediately followed by a unit symbol
|
|
|
|
\f[C]s\f[], \f[C]m\f[], \f[C]h\f[], \f[C]d\f[], \f[C]w\f[], \f[C]mo\f[],
|
|
|
|
or \f[C]y\f[], representing seconds, minutes, hours, days weeks, months
|
|
|
|
or years respectively.
|
|
|
|
Eg: 90m.
|
|
|
|
The following equivalencies are assumed, currently: 1m = 60s, 1h = 60m,
|
|
|
|
1d = 24h, 1w = 7d, 1mo = 30d, 1y=365d.
|
2016-02-21 13:42:11 +03:00
|
|
|
.PP
|
|
|
|
Blank lines and lines beginning with #, ; or * are ignored.
|
|
|
|
An example:
|
|
|
|
.IP
|
|
|
|
.nf
|
|
|
|
\f[C]
|
|
|
|
#\ on\ this\ day,\ 6h\ was\ spent\ on\ client\ work,\ 1.5h\ on\ haskell\ FOSS\ work,\ etc.
|
|
|
|
2016/2/1
|
|
|
|
inc:client1\ \ \ ....\ ....\ ....\ ....\ ....\ ....
|
|
|
|
fos:haskell\ \ \ ....\ ..\
|
|
|
|
biz:research\ \ .
|
|
|
|
|
|
|
|
2016/2/2
|
|
|
|
inc:client1\ \ \ ....\ ....
|
|
|
|
biz:research\ \ .
|
|
|
|
\f[]
|
|
|
|
.fi
|
|
|
|
.PP
|
|
|
|
Or with numbers:
|
|
|
|
.IP
|
|
|
|
.nf
|
|
|
|
\f[C]
|
|
|
|
2016/2/3
|
|
|
|
inc:client1\ \ \ 4
|
|
|
|
fos:hledger\ \ \ 3
|
|
|
|
biz:research\ \ 1
|
|
|
|
\f[]
|
|
|
|
.fi
|
|
|
|
.PP
|
|
|
|
Reporting:
|
|
|
|
.IP
|
|
|
|
.nf
|
|
|
|
\f[C]
|
|
|
|
$\ hledger\ \-f\ t.timedot\ print\ date:2016/2/2
|
|
|
|
2016/02/02\ *
|
|
|
|
\ \ \ \ (inc:client1)\ \ \ \ \ \ \ \ \ \ 2.00
|
|
|
|
|
|
|
|
2016/02/02\ *
|
|
|
|
\ \ \ \ (biz:research)\ \ \ \ \ \ \ \ \ \ 0.25
|
|
|
|
\f[]
|
|
|
|
.fi
|
|
|
|
.IP
|
|
|
|
.nf
|
|
|
|
\f[C]
|
|
|
|
$\ hledger\ \-f\ t.timedot\ bal\ \-\-daily\ \-\-tree
|
|
|
|
Balance\ changes\ in\ 2016/02/01\-2016/02/03:
|
|
|
|
|
|
|
|
\ \ \ \ \ \ \ \ \ \ \ \ ||\ \ 2016/02/01d\ \ 2016/02/02d\ \ 2016/02/03d\
|
|
|
|
============++========================================
|
|
|
|
\ biz\ \ \ \ \ \ \ \ ||\ \ \ \ \ \ \ \ \ 0.25\ \ \ \ \ \ \ \ \ 0.25\ \ \ \ \ \ \ \ \ 1.00\
|
|
|
|
\ \ \ research\ ||\ \ \ \ \ \ \ \ \ 0.25\ \ \ \ \ \ \ \ \ 0.25\ \ \ \ \ \ \ \ \ 1.00\
|
|
|
|
\ fos\ \ \ \ \ \ \ \ ||\ \ \ \ \ \ \ \ \ 1.50\ \ \ \ \ \ \ \ \ \ \ \ 0\ \ \ \ \ \ \ \ \ 3.00\
|
|
|
|
\ \ \ haskell\ \ ||\ \ \ \ \ \ \ \ \ 1.50\ \ \ \ \ \ \ \ \ \ \ \ 0\ \ \ \ \ \ \ \ \ \ \ \ 0\
|
|
|
|
\ \ \ hledger\ \ ||\ \ \ \ \ \ \ \ \ \ \ \ 0\ \ \ \ \ \ \ \ \ \ \ \ 0\ \ \ \ \ \ \ \ \ 3.00\
|
|
|
|
\ inc\ \ \ \ \ \ \ \ ||\ \ \ \ \ \ \ \ \ 6.00\ \ \ \ \ \ \ \ \ 2.00\ \ \ \ \ \ \ \ \ 4.00\
|
|
|
|
\ \ \ client1\ \ ||\ \ \ \ \ \ \ \ \ 6.00\ \ \ \ \ \ \ \ \ 2.00\ \ \ \ \ \ \ \ \ 4.00\
|
|
|
|
\-\-\-\-\-\-\-\-\-\-\-\-++\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-
|
|
|
|
\ \ \ \ \ \ \ \ \ \ \ \ ||\ \ \ \ \ \ \ \ \ 7.75\ \ \ \ \ \ \ \ \ 2.25\ \ \ \ \ \ \ \ \ 8.00\
|
|
|
|
\f[]
|
|
|
|
.fi
|
|
|
|
.PP
|
|
|
|
I prefer to use period for separating account components.
|
|
|
|
We can make this work with an account alias:
|
|
|
|
.IP
|
|
|
|
.nf
|
|
|
|
\f[C]
|
|
|
|
2016/2/4
|
|
|
|
fos.hledger.timedot\ \ 4
|
|
|
|
fos.ledger\ \ \ \ \ \ \ \ \ \ \ ..
|
|
|
|
\f[]
|
|
|
|
.fi
|
|
|
|
.IP
|
|
|
|
.nf
|
|
|
|
\f[C]
|
|
|
|
$\ hledger\ \-f\ t.timedot\ \-\-alias\ /\\\\./=:\ bal\ date:2016/2/4
|
|
|
|
\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ 4.50\ \ fos
|
|
|
|
\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ 4.00\ \ \ \ hledger:timedot
|
|
|
|
\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ 0.50\ \ \ \ ledger
|
|
|
|
\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-
|
|
|
|
\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ 4.50
|
|
|
|
\f[]
|
|
|
|
.fi
|
|
|
|
.PP
|
|
|
|
Here is a sample.timedot.
|
|
|
|
|
|
|
|
|
|
|
|
.SH "REPORTING BUGS"
|
2016-04-09 23:56:09 +03:00
|
|
|
Report bugs at http://bugs.hledger.org
|
|
|
|
(or on the #hledger IRC channel or hledger mail list)
|
2016-02-21 13:42:11 +03:00
|
|
|
|
|
|
|
.SH AUTHORS
|
2016-04-09 23:56:09 +03:00
|
|
|
Simon Michael <simon@joyful.com> and contributors
|
2016-02-21 13:42:11 +03:00
|
|
|
|
|
|
|
.SH COPYRIGHT
|
|
|
|
|
2016-04-09 23:56:09 +03:00
|
|
|
Copyright (C) 2007-2016 Simon Michael.
|
2016-02-21 13:42:11 +03:00
|
|
|
.br
|
2016-04-13 06:31:17 +03:00
|
|
|
Released under GNU GPL v3 or later.
|
2016-02-21 13:42:11 +03:00
|
|
|
|
|
|
|
.SH SEE ALSO
|
2016-04-09 23:56:09 +03:00
|
|
|
hledger(1), hledger\-ui(1), hledger\-web(1), hledger\-api(1),
|
2016-04-13 07:10:02 +03:00
|
|
|
hledger_csv(5), hledger_journal(5), hledger_timeclock(5), hledger_timedot(5),
|
2016-04-09 23:56:09 +03:00
|
|
|
ledger(1)
|
2016-02-21 13:42:11 +03:00
|
|
|
|
2016-04-09 23:56:09 +03:00
|
|
|
http://hledger.org
|