;doc: update manuals
This commit is contained in:
parent
6cfeb65d7b
commit
e90483a75a
@ -1,2 +1,2 @@
|
|||||||
m4_dnl Date to show in man pages. Updated by "Shake manuals"
|
m4_dnl Date to show in man pages. Updated by "Shake manuals"
|
||||||
m4_define({{_monthyear_}}, {{November 2023}})m4_dnl
|
m4_define({{_monthyear_}}, {{December 2023}})m4_dnl
|
||||||
|
|||||||
@ -1,2 +1,2 @@
|
|||||||
m4_dnl Date to show in man pages. Updated by "Shake manuals"
|
m4_dnl Date to show in man pages. Updated by "Shake manuals"
|
||||||
m4_define({{_monthyear_}}, {{November 2023}})m4_dnl
|
m4_define({{_monthyear_}}, {{December 2023}})m4_dnl
|
||||||
|
|||||||
@ -1,20 +1,17 @@
|
|||||||
|
|
||||||
.TH "HLEDGER-UI" "1" "November 2023" "hledger-ui-1.31.99 " "hledger User Manuals"
|
.TH "HLEDGER-UI" "1" "December 2023" "hledger-ui-1.31.99 " "hledger User Manuals"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
.SH NAME
|
.SH NAME
|
||||||
.PP
|
|
||||||
hledger-ui - robust, friendly plain text accounting (TUI version)
|
hledger-ui - robust, friendly plain text accounting (TUI version)
|
||||||
.SH SYNOPSIS
|
.SH SYNOPSIS
|
||||||
.PP
|
\f[CR]hledger-ui [OPTS] [QUERYARGS]\f[R]
|
||||||
\f[V]hledger-ui [OPTS] [QUERYARGS]\f[R]
|
|
||||||
.PD 0
|
.PD 0
|
||||||
.P
|
.P
|
||||||
.PD
|
.PD
|
||||||
\f[V]hledger ui -- [OPTS] [QUERYARGS]\f[R]
|
\f[CR]hledger ui -- [OPTS] [QUERYARGS]\f[R]
|
||||||
.SH DESCRIPTION
|
.SH DESCRIPTION
|
||||||
.PP
|
|
||||||
This manual is for hledger\[aq]s terminal interface, version 1.31.99.
|
This manual is for hledger\[aq]s terminal interface, version 1.31.99.
|
||||||
See also the hledger manual for common concepts and file formats.
|
See also the hledger manual for common concepts and file formats.
|
||||||
.PP
|
.PP
|
||||||
@ -31,9 +28,9 @@ It is easier than hledger\[aq]s command-line interface, and sometimes
|
|||||||
quicker and more convenient than the web interface.
|
quicker and more convenient than the web interface.
|
||||||
.PP
|
.PP
|
||||||
Like hledger, it reads from (and appends to) a journal file specified by
|
Like hledger, it reads from (and appends to) a journal file specified by
|
||||||
the \f[V]LEDGER_FILE\f[R] environment variable (defaulting to
|
the \f[CR]LEDGER_FILE\f[R] environment variable (defaulting to
|
||||||
\f[V]$HOME/.hledger.journal\f[R]); or you can specify files with
|
\f[CR]$HOME/.hledger.journal\f[R]); or you can specify files with
|
||||||
\f[V]-f\f[R] options.
|
\f[CR]-f\f[R] options.
|
||||||
It can also read timeclock files, timedot files, or any CSV/SSV/TSV file
|
It can also read timeclock files, timedot files, or any CSV/SSV/TSV file
|
||||||
with a date field.
|
with a date field.
|
||||||
(See hledger(1) -> Input for details.)
|
(See hledger(1) -> Input for details.)
|
||||||
@ -44,187 +41,186 @@ They can be revealed, along with any rule-generated periodic
|
|||||||
transactions, by pressing the F key (or starting with --forecast) to
|
transactions, by pressing the F key (or starting with --forecast) to
|
||||||
enable \[dq]forecast mode\[dq].
|
enable \[dq]forecast mode\[dq].
|
||||||
.SH OPTIONS
|
.SH OPTIONS
|
||||||
.PP
|
|
||||||
Any QUERYARGS are interpreted as a hledger search query which filters
|
Any QUERYARGS are interpreted as a hledger search query which filters
|
||||||
the data.
|
the data.
|
||||||
.PP
|
.PP
|
||||||
hledger-ui provides the following options:
|
hledger-ui provides the following options:
|
||||||
.TP
|
.TP
|
||||||
\f[V]-w --watch\f[R]
|
\f[CR]-w --watch\f[R]
|
||||||
watch for data and date changes and reload automatically
|
watch for data and date changes and reload automatically
|
||||||
.TP
|
.TP
|
||||||
\f[V]--theme=default|terminal|greenterm\f[R]
|
\f[CR]--theme=default|terminal|greenterm\f[R]
|
||||||
use this custom display theme
|
use this custom display theme
|
||||||
.TP
|
.TP
|
||||||
\f[V]--menu\f[R]
|
\f[CR]--menu\f[R]
|
||||||
start in the menu screen
|
start in the menu screen
|
||||||
.TP
|
.TP
|
||||||
\f[V]--cash\f[R]
|
\f[CR]--cash\f[R]
|
||||||
start in the cash accounts screen
|
start in the cash accounts screen
|
||||||
.TP
|
.TP
|
||||||
\f[V]--bs\f[R]
|
\f[CR]--bs\f[R]
|
||||||
start in the balance sheet accounts screen
|
start in the balance sheet accounts screen
|
||||||
.TP
|
.TP
|
||||||
\f[V]--is\f[R]
|
\f[CR]--is\f[R]
|
||||||
start in the income statement accounts screen
|
start in the income statement accounts screen
|
||||||
.TP
|
.TP
|
||||||
\f[V]--all\f[R]
|
\f[CR]--all\f[R]
|
||||||
start in the all accounts screen
|
start in the all accounts screen
|
||||||
.TP
|
.TP
|
||||||
\f[V]--register=ACCTREGEX\f[R]
|
\f[CR]--register=ACCTREGEX\f[R]
|
||||||
start in the (first) matched account\[aq]s register screen
|
start in the (first) matched account\[aq]s register screen
|
||||||
.TP
|
.TP
|
||||||
\f[V]--change\f[R]
|
\f[CR]--change\f[R]
|
||||||
show period balances (changes) at startup instead of historical balances
|
show period balances (changes) at startup instead of historical balances
|
||||||
.TP
|
.TP
|
||||||
\f[V]-l --flat\f[R]
|
\f[CR]-l --flat\f[R]
|
||||||
show accounts as a flat list (default)
|
show accounts as a flat list (default)
|
||||||
.TP
|
.TP
|
||||||
\f[V]-t --tree\f[R]
|
\f[CR]-t --tree\f[R]
|
||||||
show accounts as a tree
|
show accounts as a tree
|
||||||
.PP
|
.PP
|
||||||
hledger-ui also supports many of hledger\[aq]s general options (and the
|
hledger-ui also supports many of hledger\[aq]s general options (and the
|
||||||
hledger manual\[aq]s command line tips also apply here):
|
hledger manual\[aq]s command line tips also apply here):
|
||||||
.SS General help options
|
.SS General help options
|
||||||
.TP
|
.TP
|
||||||
\f[V]-h --help\f[R]
|
\f[CR]-h --help\f[R]
|
||||||
show general or COMMAND help
|
show general or COMMAND help
|
||||||
.TP
|
.TP
|
||||||
\f[V]--man\f[R]
|
\f[CR]--man\f[R]
|
||||||
show general or COMMAND user manual with man
|
show general or COMMAND user manual with man
|
||||||
.TP
|
.TP
|
||||||
\f[V]--info\f[R]
|
\f[CR]--info\f[R]
|
||||||
show general or COMMAND user manual with info
|
show general or COMMAND user manual with info
|
||||||
.TP
|
.TP
|
||||||
\f[V]--version\f[R]
|
\f[CR]--version\f[R]
|
||||||
show general or ADDONCMD version
|
show general or ADDONCMD version
|
||||||
.TP
|
.TP
|
||||||
\f[V]--debug[=N]\f[R]
|
\f[CR]--debug[=N]\f[R]
|
||||||
show debug output (levels 1-9, default: 1)
|
show debug output (levels 1-9, default: 1)
|
||||||
.SS General input options
|
.SS General input options
|
||||||
.TP
|
.TP
|
||||||
\f[V]-f FILE --file=FILE\f[R]
|
\f[CR]-f FILE --file=FILE\f[R]
|
||||||
use a different input file.
|
use a different input file.
|
||||||
For stdin, use - (default: \f[V]$LEDGER_FILE\f[R] or
|
For stdin, use - (default: \f[CR]$LEDGER_FILE\f[R] or
|
||||||
\f[V]$HOME/.hledger.journal\f[R])
|
\f[CR]$HOME/.hledger.journal\f[R])
|
||||||
.TP
|
.TP
|
||||||
\f[V]--rules-file=RULESFILE\f[R]
|
\f[CR]--rules-file=RULESFILE\f[R]
|
||||||
Conversion rules file to use when reading CSV (default: FILE.rules)
|
Conversion rules file to use when reading CSV (default: FILE.rules)
|
||||||
.TP
|
.TP
|
||||||
\f[V]--separator=CHAR\f[R]
|
\f[CR]--separator=CHAR\f[R]
|
||||||
Field separator to expect when reading CSV (default: \[aq],\[aq])
|
Field separator to expect when reading CSV (default: \[aq],\[aq])
|
||||||
.TP
|
.TP
|
||||||
\f[V]--alias=OLD=NEW\f[R]
|
\f[CR]--alias=OLD=NEW\f[R]
|
||||||
rename accounts named OLD to NEW
|
rename accounts named OLD to NEW
|
||||||
.TP
|
.TP
|
||||||
\f[V]--anon\f[R]
|
\f[CR]--anon\f[R]
|
||||||
anonymize accounts and payees
|
anonymize accounts and payees
|
||||||
.TP
|
.TP
|
||||||
\f[V]--pivot FIELDNAME\f[R]
|
\f[CR]--pivot FIELDNAME\f[R]
|
||||||
use some other field or tag for the account name
|
use some other field or tag for the account name
|
||||||
.TP
|
.TP
|
||||||
\f[V]-I --ignore-assertions\f[R]
|
\f[CR]-I --ignore-assertions\f[R]
|
||||||
disable balance assertion checks (note: does not disable balance
|
disable balance assertion checks (note: does not disable balance
|
||||||
assignments)
|
assignments)
|
||||||
.TP
|
.TP
|
||||||
\f[V]-s --strict\f[R]
|
\f[CR]-s --strict\f[R]
|
||||||
do extra error checking (check that all posted accounts are declared)
|
do extra error checking (check that all posted accounts are declared)
|
||||||
.SS General reporting options
|
.SS General reporting options
|
||||||
.TP
|
.TP
|
||||||
\f[V]-b --begin=DATE\f[R]
|
\f[CR]-b --begin=DATE\f[R]
|
||||||
include postings/txns on or after this date (will be adjusted to
|
include postings/txns on or after this date (will be adjusted to
|
||||||
preceding subperiod start when using a report interval)
|
preceding subperiod start when using a report interval)
|
||||||
.TP
|
.TP
|
||||||
\f[V]-e --end=DATE\f[R]
|
\f[CR]-e --end=DATE\f[R]
|
||||||
include postings/txns before this date (will be adjusted to following
|
include postings/txns before this date (will be adjusted to following
|
||||||
subperiod end when using a report interval)
|
subperiod end when using a report interval)
|
||||||
.TP
|
.TP
|
||||||
\f[V]-D --daily\f[R]
|
\f[CR]-D --daily\f[R]
|
||||||
multiperiod/multicolumn report by day
|
multiperiod/multicolumn report by day
|
||||||
.TP
|
.TP
|
||||||
\f[V]-W --weekly\f[R]
|
\f[CR]-W --weekly\f[R]
|
||||||
multiperiod/multicolumn report by week
|
multiperiod/multicolumn report by week
|
||||||
.TP
|
.TP
|
||||||
\f[V]-M --monthly\f[R]
|
\f[CR]-M --monthly\f[R]
|
||||||
multiperiod/multicolumn report by month
|
multiperiod/multicolumn report by month
|
||||||
.TP
|
.TP
|
||||||
\f[V]-Q --quarterly\f[R]
|
\f[CR]-Q --quarterly\f[R]
|
||||||
multiperiod/multicolumn report by quarter
|
multiperiod/multicolumn report by quarter
|
||||||
.TP
|
.TP
|
||||||
\f[V]-Y --yearly\f[R]
|
\f[CR]-Y --yearly\f[R]
|
||||||
multiperiod/multicolumn report by year
|
multiperiod/multicolumn report by year
|
||||||
.TP
|
.TP
|
||||||
\f[V]-p --period=PERIODEXP\f[R]
|
\f[CR]-p --period=PERIODEXP\f[R]
|
||||||
set start date, end date, and/or reporting interval all at once using
|
set start date, end date, and/or reporting interval all at once using
|
||||||
period expressions syntax
|
period expressions syntax
|
||||||
.TP
|
.TP
|
||||||
\f[V]--date2\f[R]
|
\f[CR]--date2\f[R]
|
||||||
match the secondary date instead (see command help for other effects)
|
match the secondary date instead (see command help for other effects)
|
||||||
.TP
|
.TP
|
||||||
\f[V]--today=DATE\f[R]
|
\f[CR]--today=DATE\f[R]
|
||||||
override today\[aq]s date (affects relative smart dates, for
|
override today\[aq]s date (affects relative smart dates, for
|
||||||
tests/examples)
|
tests/examples)
|
||||||
.TP
|
.TP
|
||||||
\f[V]-U --unmarked\f[R]
|
\f[CR]-U --unmarked\f[R]
|
||||||
include only unmarked postings/txns (can combine with -P or -C)
|
include only unmarked postings/txns (can combine with -P or -C)
|
||||||
.TP
|
.TP
|
||||||
\f[V]-P --pending\f[R]
|
\f[CR]-P --pending\f[R]
|
||||||
include only pending postings/txns
|
include only pending postings/txns
|
||||||
.TP
|
.TP
|
||||||
\f[V]-C --cleared\f[R]
|
\f[CR]-C --cleared\f[R]
|
||||||
include only cleared postings/txns
|
include only cleared postings/txns
|
||||||
.TP
|
.TP
|
||||||
\f[V]-R --real\f[R]
|
\f[CR]-R --real\f[R]
|
||||||
include only non-virtual postings
|
include only non-virtual postings
|
||||||
.TP
|
.TP
|
||||||
\f[V]-NUM --depth=NUM\f[R]
|
\f[CR]-NUM --depth=NUM\f[R]
|
||||||
hide/aggregate accounts or postings more than NUM levels deep
|
hide/aggregate accounts or postings more than NUM levels deep
|
||||||
.TP
|
.TP
|
||||||
\f[V]-E --empty\f[R]
|
\f[CR]-E --empty\f[R]
|
||||||
show items with zero amount, normally hidden (and vice-versa in
|
show items with zero amount, normally hidden (and vice-versa in
|
||||||
hledger-ui/hledger-web)
|
hledger-ui/hledger-web)
|
||||||
.TP
|
.TP
|
||||||
\f[V]-B --cost\f[R]
|
\f[CR]-B --cost\f[R]
|
||||||
convert amounts to their cost/selling amount at transaction time
|
convert amounts to their cost/selling amount at transaction time
|
||||||
.TP
|
.TP
|
||||||
\f[V]-V --market\f[R]
|
\f[CR]-V --market\f[R]
|
||||||
convert amounts to their market value in default valuation commodities
|
convert amounts to their market value in default valuation commodities
|
||||||
.TP
|
.TP
|
||||||
\f[V]-X --exchange=COMM\f[R]
|
\f[CR]-X --exchange=COMM\f[R]
|
||||||
convert amounts to their market value in commodity COMM
|
convert amounts to their market value in commodity COMM
|
||||||
.TP
|
.TP
|
||||||
\f[V]--value\f[R]
|
\f[CR]--value\f[R]
|
||||||
convert amounts to cost or market value, more flexibly than -B/-V/-X
|
convert amounts to cost or market value, more flexibly than -B/-V/-X
|
||||||
.TP
|
.TP
|
||||||
\f[V]--infer-equity\f[R]
|
\f[CR]--infer-equity\f[R]
|
||||||
infer conversion equity postings from costs
|
infer conversion equity postings from costs
|
||||||
.TP
|
.TP
|
||||||
\f[V]--infer-costs\f[R]
|
\f[CR]--infer-costs\f[R]
|
||||||
infer costs from conversion equity postings
|
infer costs from conversion equity postings
|
||||||
.TP
|
.TP
|
||||||
\f[V]--infer-market-prices\f[R]
|
\f[CR]--infer-market-prices\f[R]
|
||||||
use costs as additional market prices, as if they were P directives
|
use costs as additional market prices, as if they were P directives
|
||||||
.TP
|
.TP
|
||||||
\f[V]--forecast\f[R]
|
\f[CR]--forecast\f[R]
|
||||||
generate transactions from periodic rules,
|
generate transactions from periodic rules,
|
||||||
between the latest recorded txn and 6 months from today,
|
between the latest recorded txn and 6 months from today,
|
||||||
or during the specified PERIOD (= is required).
|
or during the specified PERIOD (= is required).
|
||||||
Auto posting rules will be applied to these transactions as well.
|
Auto posting rules will be applied to these transactions as well.
|
||||||
Also, in hledger-ui make future-dated transactions visible.
|
Also, in hledger-ui make future-dated transactions visible.
|
||||||
.TP
|
.TP
|
||||||
\f[V]--auto\f[R]
|
\f[CR]--auto\f[R]
|
||||||
generate extra postings by applying auto posting rules to all txns (not
|
generate extra postings by applying auto posting rules to all txns (not
|
||||||
just forecast txns)
|
just forecast txns)
|
||||||
.TP
|
.TP
|
||||||
\f[V]--verbose-tags\f[R]
|
\f[CR]--verbose-tags\f[R]
|
||||||
add visible tags indicating transactions or postings which have been
|
add visible tags indicating transactions or postings which have been
|
||||||
generated/modified
|
generated/modified
|
||||||
.TP
|
.TP
|
||||||
\f[V]--commodity-style\f[R]
|
\f[CR]--commodity-style\f[R]
|
||||||
Override the commodity style in the output for the specified commodity.
|
Override the commodity style in the output for the specified commodity.
|
||||||
For example \[aq]EUR1.000,00\[aq].
|
For example \[aq]EUR1.000,00\[aq].
|
||||||
.TP
|
.TP
|
||||||
\f[V]--color=WHEN (or --colour=WHEN)\f[R]
|
\f[CR]--color=WHEN (or --colour=WHEN)\f[R]
|
||||||
Should color-supporting commands use ANSI color codes in text output.
|
Should color-supporting commands use ANSI color codes in text output.
|
||||||
\[aq]auto\[aq] (default): whenever stdout seems to be a color-supporting
|
\[aq]auto\[aq] (default): whenever stdout seems to be a color-supporting
|
||||||
terminal.
|
terminal.
|
||||||
@ -233,7 +229,7 @@ into \[aq]less -R\[aq].
|
|||||||
\[aq]never\[aq] or \[aq]no\[aq]: never.
|
\[aq]never\[aq] or \[aq]no\[aq]: never.
|
||||||
A NO_COLOR environment variable overrides this.
|
A NO_COLOR environment variable overrides this.
|
||||||
.TP
|
.TP
|
||||||
\f[V]--pretty[=WHEN]\f[R]
|
\f[CR]--pretty[=WHEN]\f[R]
|
||||||
Show prettier output, e.g.
|
Show prettier output, e.g.
|
||||||
using unicode box-drawing characters.
|
using unicode box-drawing characters.
|
||||||
Accepts \[aq]yes\[aq] (the default) or \[aq]no\[aq] (\[aq]y\[aq],
|
Accepts \[aq]yes\[aq] (the default) or \[aq]no\[aq] (\[aq]y\[aq],
|
||||||
@ -246,7 +242,6 @@ last one takes precedence.
|
|||||||
.PP
|
.PP
|
||||||
Some reporting options can also be written as query arguments.
|
Some reporting options can also be written as query arguments.
|
||||||
.SH MOUSE
|
.SH MOUSE
|
||||||
.PP
|
|
||||||
In most modern terminals, you can navigate through the screens with a
|
In most modern terminals, you can navigate through the screens with a
|
||||||
mouse or touchpad:
|
mouse or touchpad:
|
||||||
.IP \[bu] 2
|
.IP \[bu] 2
|
||||||
@ -256,166 +251,159 @@ Click on list items to go deeper
|
|||||||
.IP \[bu] 2
|
.IP \[bu] 2
|
||||||
Click on the left margin (column 0) to go back.
|
Click on the left margin (column 0) to go back.
|
||||||
.SH KEYS
|
.SH KEYS
|
||||||
.PP
|
|
||||||
Keyboard gives more control.
|
Keyboard gives more control.
|
||||||
.PP
|
.PP
|
||||||
\f[V]?\f[R] shows a help dialog listing all keys.
|
\f[CR]?\f[R] shows a help dialog listing all keys.
|
||||||
(Some of these also appear in the quick help at the bottom of each
|
(Some of these also appear in the quick help at the bottom of each
|
||||||
screen.)
|
screen.)
|
||||||
Press \f[V]?\f[R] again (or \f[V]ESCAPE\f[R], or \f[V]LEFT\f[R], or
|
Press \f[CR]?\f[R] again (or \f[CR]ESCAPE\f[R], or \f[CR]LEFT\f[R], or
|
||||||
\f[V]q\f[R]) to close it.
|
\f[CR]q\f[R]) to close it.
|
||||||
The following keys work on most screens:
|
The following keys work on most screens:
|
||||||
.PP
|
.PP
|
||||||
The cursor keys navigate: \f[V]RIGHT\f[R] or \f[V]ENTER\f[R] goes
|
The cursor keys navigate: \f[CR]RIGHT\f[R] or \f[CR]ENTER\f[R] goes
|
||||||
deeper, \f[V]LEFT\f[R] returns to the previous screen,
|
deeper, \f[CR]LEFT\f[R] returns to the previous screen,
|
||||||
\f[V]UP\f[R]/\f[V]DOWN\f[R]/\f[V]PGUP\f[R]/\f[V]PGDN\f[R]/\f[V]HOME\f[R]/\f[V]END\f[R]
|
\f[CR]UP\f[R]/\f[CR]DOWN\f[R]/\f[CR]PGUP\f[R]/\f[CR]PGDN\f[R]/\f[CR]HOME\f[R]/\f[CR]END\f[R]
|
||||||
move up and down through lists.
|
move up and down through lists.
|
||||||
Emacs-style
|
Emacs-style
|
||||||
(\f[V]CTRL-p\f[R]/\f[V]CTRL-n\f[R]/\f[V]CTRL-f\f[R]/\f[V]CTRL-b\f[R])
|
(\f[CR]CTRL-p\f[R]/\f[CR]CTRL-n\f[R]/\f[CR]CTRL-f\f[R]/\f[CR]CTRL-b\f[R])
|
||||||
and VI-style (\f[V]k\f[R],\f[V]j\f[R],\f[V]l\f[R],\f[V]h\f[R]) movement
|
and VI-style (\f[CR]k\f[R],\f[CR]j\f[R],\f[CR]l\f[R],\f[CR]h\f[R])
|
||||||
keys are also supported.
|
movement keys are also supported.
|
||||||
A tip: movement speed is limited by your keyboard repeat rate, to move
|
A tip: movement speed is limited by your keyboard repeat rate, to move
|
||||||
faster you may want to adjust it.
|
faster you may want to adjust it.
|
||||||
(If you\[aq]re on a mac, the karabiner app is one way to do that.)
|
(If you\[aq]re on a mac, the karabiner app is one way to do that.)
|
||||||
.PP
|
.PP
|
||||||
With shift pressed, the cursor keys adjust the report period, limiting
|
With shift pressed, the cursor keys adjust the report period, limiting
|
||||||
the transactions to be shown (by default, all are shown).
|
the transactions to be shown (by default, all are shown).
|
||||||
\f[V]SHIFT-DOWN/UP\f[R] steps downward and upward through these standard
|
\f[CR]SHIFT-DOWN/UP\f[R] steps downward and upward through these
|
||||||
report period durations: year, quarter, month, week, day.
|
standard report period durations: year, quarter, month, week, day.
|
||||||
Then, \f[V]SHIFT-LEFT/RIGHT\f[R] moves to the previous/next period.
|
Then, \f[CR]SHIFT-LEFT/RIGHT\f[R] moves to the previous/next period.
|
||||||
\f[V]T\f[R] sets the report period to today.
|
\f[CR]T\f[R] sets the report period to today.
|
||||||
With the \f[V]-w/--watch\f[R] option, when viewing a \[dq]current\[dq]
|
With the \f[CR]-w/--watch\f[R] option, when viewing a \[dq]current\[dq]
|
||||||
period (the current day, week, month, quarter, or year), the period will
|
period (the current day, week, month, quarter, or year), the period will
|
||||||
move automatically to track the current date.
|
move automatically to track the current date.
|
||||||
To set a non-standard period, you can use \f[V]/\f[R] and a
|
To set a non-standard period, you can use \f[CR]/\f[R] and a
|
||||||
\f[V]date:\f[R] query.
|
\f[CR]date:\f[R] query.
|
||||||
.PP
|
.PP
|
||||||
(Mac users: SHIFT-DOWN/UP keys do not work by default in Terminal, as of
|
(Mac users: SHIFT-DOWN/UP keys do not work by default in Terminal, as of
|
||||||
MacOS Monterey.
|
MacOS Monterey.
|
||||||
You can configure them as follows: open Terminal, press CMD-comma to
|
You can configure them as follows: open Terminal, press CMD-comma to
|
||||||
open preferences, click Profiles, select your current terminal profile
|
open preferences, click Profiles, select your current terminal profile
|
||||||
on the left, click Keyboard on the right, click + and add this for
|
on the left, click Keyboard on the right, click + and add this for
|
||||||
Shift-Down: \f[V]\[rs]033[1;2B\f[R], click + and add this for Shift-Up:
|
Shift-Down: \f[CR]\[rs]033[1;2B\f[R], click + and add this for Shift-Up:
|
||||||
\f[V]\[rs]033[1;2A\f[R].
|
\f[CR]\[rs]033[1;2A\f[R].
|
||||||
Press the Escape key to enter the \f[V]\[rs]033\f[R] part, you can\[aq]t
|
Press the Escape key to enter the \f[CR]\[rs]033\f[R] part, you
|
||||||
type it directly.)
|
can\[aq]t type it directly.)
|
||||||
.PP
|
.PP
|
||||||
\f[V]/\f[R] lets you set a general filter query limiting the data shown,
|
\f[CR]/\f[R] lets you set a general filter query limiting the data
|
||||||
using the same query terms as in hledger and hledger-web.
|
shown, using the same query terms as in hledger and hledger-web.
|
||||||
While editing the query, you can use CTRL-a/e/d/k, BS, cursor keys;
|
While editing the query, you can use CTRL-a/e/d/k, BS, cursor keys;
|
||||||
press \f[V]ENTER\f[R] to set it, or \f[V]ESCAPE\f[R]to cancel.
|
press \f[CR]ENTER\f[R] to set it, or \f[CR]ESCAPE\f[R]to cancel.
|
||||||
There are also keys for quickly adjusting some common filters like
|
There are also keys for quickly adjusting some common filters like
|
||||||
account depth and transaction status (see below).
|
account depth and transaction status (see below).
|
||||||
\f[V]BACKSPACE\f[R] or \f[V]DELETE\f[R] removes all filters, showing all
|
\f[CR]BACKSPACE\f[R] or \f[CR]DELETE\f[R] removes all filters, showing
|
||||||
transactions.
|
all transactions.
|
||||||
.PP
|
.PP
|
||||||
As mentioned above, by default hledger-ui hides future transactions -
|
As mentioned above, by default hledger-ui hides future transactions -
|
||||||
both ordinary transactions recorded in the journal, and periodic
|
both ordinary transactions recorded in the journal, and periodic
|
||||||
transactions generated by rule.
|
transactions generated by rule.
|
||||||
\f[V]F\f[R] toggles forecast mode, in which future/forecasted
|
\f[CR]F\f[R] toggles forecast mode, in which future/forecasted
|
||||||
transactions are shown.
|
transactions are shown.
|
||||||
.PP
|
.PP
|
||||||
\f[V]ESCAPE\f[R] resets the UI state and jumps back to the top screen,
|
\f[CR]ESCAPE\f[R] resets the UI state and jumps back to the top screen,
|
||||||
restoring the app\[aq]s initial state at startup.
|
restoring the app\[aq]s initial state at startup.
|
||||||
Or, it cancels minibuffer data entry or the help dialog.
|
Or, it cancels minibuffer data entry or the help dialog.
|
||||||
.PP
|
.PP
|
||||||
\f[V]CTRL-l\f[R] redraws the screen and centers the selection if
|
\f[CR]CTRL-l\f[R] redraws the screen and centers the selection if
|
||||||
possible (selections near the top won\[aq]t be centered, since we
|
possible (selections near the top won\[aq]t be centered, since we
|
||||||
don\[aq]t scroll above the top).
|
don\[aq]t scroll above the top).
|
||||||
.PP
|
.PP
|
||||||
\f[V]g\f[R] reloads from the data file(s) and updates the current screen
|
\f[CR]g\f[R] reloads from the data file(s) and updates the current
|
||||||
and any previous screens.
|
screen and any previous screens.
|
||||||
(With large files, this could cause a noticeable pause.)
|
(With large files, this could cause a noticeable pause.)
|
||||||
.PP
|
.PP
|
||||||
\f[V]I\f[R] toggles balance assertion checking.
|
\f[CR]I\f[R] toggles balance assertion checking.
|
||||||
Disabling balance assertions temporarily can be useful for
|
Disabling balance assertions temporarily can be useful for
|
||||||
troubleshooting.
|
troubleshooting.
|
||||||
.PP
|
.PP
|
||||||
\f[V]a\f[R] runs command-line hledger\[aq]s add command, and reloads the
|
\f[CR]a\f[R] runs command-line hledger\[aq]s add command, and reloads
|
||||||
updated file.
|
the updated file.
|
||||||
This allows some basic data entry.
|
This allows some basic data entry.
|
||||||
.PP
|
.PP
|
||||||
\f[V]A\f[R] is like \f[V]a\f[R], but runs the hledger-iadd tool, which
|
\f[CR]A\f[R] is like \f[CR]a\f[R], but runs the hledger-iadd tool, which
|
||||||
provides a terminal interface.
|
provides a terminal interface.
|
||||||
This key will be available if \f[V]hledger-iadd\f[R] is installed in
|
This key will be available if \f[CR]hledger-iadd\f[R] is installed in
|
||||||
$path.
|
$path.
|
||||||
.PP
|
.PP
|
||||||
\f[V]E\f[R] runs $HLEDGER_UI_EDITOR, or $EDITOR, or a default
|
\f[CR]E\f[R] runs $HLEDGER_UI_EDITOR, or $EDITOR, or a default
|
||||||
(\f[V]emacsclient -a \[dq]\[dq] -nw\f[R]) on the journal file.
|
(\f[CR]emacsclient -a \[dq]\[dq] -nw\f[R]) on the journal file.
|
||||||
With some editors (emacs, vi), the cursor will be positioned at the
|
With some editors (emacs, vi), the cursor will be positioned at the
|
||||||
current transaction when invoked from the register and transaction
|
current transaction when invoked from the register and transaction
|
||||||
screens, and at the error location (if possible) when invoked from the
|
screens, and at the error location (if possible) when invoked from the
|
||||||
error screen.
|
error screen.
|
||||||
.PP
|
.PP
|
||||||
\f[V]B\f[R] toggles cost mode, showing amounts converted to their
|
\f[CR]B\f[R] toggles cost mode, showing amounts converted to their
|
||||||
cost\[aq]s commodity (see hledger manual > Cost reporting.
|
cost\[aq]s commodity (see hledger manual > Cost reporting.
|
||||||
.PP
|
.PP
|
||||||
\f[V]V\f[R] toggles value mode, showing amounts converted to their
|
\f[CR]V\f[R] toggles value mode, showing amounts converted to their
|
||||||
market value (see hledger manual > Valuation flag).
|
market value (see hledger manual > Valuation flag).
|
||||||
More specifically,
|
More specifically,
|
||||||
.IP "1." 3
|
.IP "1." 3
|
||||||
By default, the \f[V]V\f[R] key toggles showing end value
|
By default, the \f[CR]V\f[R] key toggles showing end value
|
||||||
(\f[V]--value=end\f[R]) on or off.
|
(\f[CR]--value=end\f[R]) on or off.
|
||||||
The valuation date will be the report end date if specified, otherwise
|
The valuation date will be the report end date if specified, otherwise
|
||||||
today.
|
today.
|
||||||
.IP "2." 3
|
.IP "2." 3
|
||||||
If you started hledger-ui with some other valuation (such as
|
If you started hledger-ui with some other valuation (such as
|
||||||
\f[V]--value=then,EUR\f[R]), the \f[V]V\f[R] key toggles that off or on.
|
\f[CR]--value=then,EUR\f[R]), the \f[CR]V\f[R] key toggles that off or
|
||||||
|
on.
|
||||||
.PP
|
.PP
|
||||||
Cost/value tips: - When showing end value, you can change the report end
|
Cost/value tips: - When showing end value, you can change the report end
|
||||||
date without restarting, by pressing \f[V]/\f[R] and adding a query like
|
date without restarting, by pressing \f[CR]/\f[R] and adding a query
|
||||||
\f[V]date:..YYYY-MM-DD\f[R].
|
like \f[CR]date:..YYYY-MM-DD\f[R].
|
||||||
- Either cost mode, or value mode, can be active, but not both at once.
|
- Either cost mode, or value mode, can be active, but not both at once.
|
||||||
Cost mode takes precedence.
|
Cost mode takes precedence.
|
||||||
- There\[aq]s not yet any visual indicator that cost or value mode is
|
- There\[aq]s not yet any visual indicator that cost or value mode is
|
||||||
active, other than the amount values.
|
active, other than the amount values.
|
||||||
.PP
|
.PP
|
||||||
\f[V]q\f[R] quits the application.
|
\f[CR]q\f[R] quits the application.
|
||||||
.PP
|
.PP
|
||||||
Additional screen-specific keys are described below.
|
Additional screen-specific keys are described below.
|
||||||
.SH SCREENS
|
.SH SCREENS
|
||||||
.PP
|
|
||||||
At startup, hledger-ui shows a menu screen by default.
|
At startup, hledger-ui shows a menu screen by default.
|
||||||
From here you can navigate to other screens using the cursor keys:
|
From here you can navigate to other screens using the cursor keys:
|
||||||
\f[V]UP\f[R]/\f[V]DOWN\f[R] to select, \f[V]RIGHT\f[R] to move to the
|
\f[CR]UP\f[R]/\f[CR]DOWN\f[R] to select, \f[CR]RIGHT\f[R] to move to the
|
||||||
selected screen, \f[V]LEFT\f[R] to return to the previous screen.
|
selected screen, \f[CR]LEFT\f[R] to return to the previous screen.
|
||||||
Or you can use \f[V]ESC\f[R] to return directly to the top menu screen.
|
Or you can use \f[CR]ESC\f[R] to return directly to the top menu screen.
|
||||||
.PP
|
.PP
|
||||||
You can also use a command line flag to specific a different startup
|
You can also use a command line flag to specific a different startup
|
||||||
screen (\f[V]--cs\f[R], \f[V]--bs\f[R], \f[V]--is\f[R], \f[V]--all\f[R],
|
screen (\f[CR]--cs\f[R], \f[CR]--bs\f[R], \f[CR]--is\f[R],
|
||||||
or \f[V]--register=ACCT\f[R]).
|
\f[CR]--all\f[R], or \f[CR]--register=ACCT\f[R]).
|
||||||
.SS Menu
|
.SS Menu
|
||||||
.PP
|
|
||||||
This is the top-most screen.
|
This is the top-most screen.
|
||||||
From here you can navigate to several screens listing accounts of
|
From here you can navigate to several screens listing accounts of
|
||||||
various types.
|
various types.
|
||||||
Note some of these may not show anything until you have configured
|
Note some of these may not show anything until you have configured
|
||||||
account types.
|
account types.
|
||||||
.SS Cash accounts
|
.SS Cash accounts
|
||||||
.PP
|
|
||||||
This screen shows \[dq]cash\[dq] (ie, liquid asset) accounts (like
|
This screen shows \[dq]cash\[dq] (ie, liquid asset) accounts (like
|
||||||
\f[V]hledger balancesheet type:c\f[R]).
|
\f[CR]hledger balancesheet type:c\f[R]).
|
||||||
It always shows balances (historical ending balances on the date shown
|
It always shows balances (historical ending balances on the date shown
|
||||||
in the title line).
|
in the title line).
|
||||||
.SS Balance sheet accounts
|
.SS Balance sheet accounts
|
||||||
.PP
|
|
||||||
This screen shows asset, liability and equity accounts (like
|
This screen shows asset, liability and equity accounts (like
|
||||||
\f[V]hledger balancesheetequity\f[R]).
|
\f[CR]hledger balancesheetequity\f[R]).
|
||||||
It always shows balances.
|
It always shows balances.
|
||||||
.SS Income statement accounts
|
.SS Income statement accounts
|
||||||
.PP
|
|
||||||
This screen shows revenue and expense accounts (like
|
This screen shows revenue and expense accounts (like
|
||||||
\f[V]hledger incomestatement\f[R]).
|
\f[CR]hledger incomestatement\f[R]).
|
||||||
It always shows changes (balance changes in the period shown in the
|
It always shows changes (balance changes in the period shown in the
|
||||||
title line).
|
title line).
|
||||||
.SS All accounts
|
.SS All accounts
|
||||||
.PP
|
|
||||||
This screen shows all accounts in your journal (unless filtered by a
|
This screen shows all accounts in your journal (unless filtered by a
|
||||||
query; like \f[V]hledger balance\f[R]).
|
query; like \f[CR]hledger balance\f[R]).
|
||||||
It shows balances by default; you can toggle showing changes with the
|
It shows balances by default; you can toggle showing changes with the
|
||||||
\f[V]H\f[R] key.
|
\f[CR]H\f[R] key.
|
||||||
.SS Register
|
.SS Register
|
||||||
.PP
|
|
||||||
This screen shows the transactions affecting a particular account.
|
This screen shows the transactions affecting a particular account.
|
||||||
Each line represents one transaction, and shows:
|
Each line represents one transaction, and shows:
|
||||||
.IP \[bu] 2
|
.IP \[bu] 2
|
||||||
@ -427,7 +415,7 @@ the overall change to the current account\[aq]s balance; positive for an
|
|||||||
inflow to this account, negative for an outflow.
|
inflow to this account, negative for an outflow.
|
||||||
.IP \[bu] 2
|
.IP \[bu] 2
|
||||||
the running total after the transaction.
|
the running total after the transaction.
|
||||||
With the \f[V]H\f[R] key you can toggle between
|
With the \f[CR]H\f[R] key you can toggle between
|
||||||
.RS 2
|
.RS 2
|
||||||
.IP \[bu] 2
|
.IP \[bu] 2
|
||||||
the period total, which is from just the transactions displayed
|
the period total, which is from just the transactions displayed
|
||||||
@ -441,7 +429,7 @@ bank\[aq]s website, eg) if not disturbed by a query.
|
|||||||
.PP
|
.PP
|
||||||
Note, this screen combines each transaction\[aq]s in-period postings to
|
Note, this screen combines each transaction\[aq]s in-period postings to
|
||||||
a single line item, dated with the earliest in-period transaction or
|
a single line item, dated with the earliest in-period transaction or
|
||||||
posting date (like hledger\[aq]s \f[V]aregister\f[R]).
|
posting date (like hledger\[aq]s \f[CR]aregister\f[R]).
|
||||||
So custom posting dates can cause the running balance to be temporarily
|
So custom posting dates can cause the running balance to be temporarily
|
||||||
inaccurate.
|
inaccurate.
|
||||||
(See hledger manual > aregister and posting dates.)
|
(See hledger manual > aregister and posting dates.)
|
||||||
@ -452,25 +440,24 @@ in list mode but this account has subaccounts which are not shown due to
|
|||||||
a depth limit.
|
a depth limit.
|
||||||
In other words, the register always shows the transactions contributing
|
In other words, the register always shows the transactions contributing
|
||||||
to the balance shown on the accounts screen.
|
to the balance shown on the accounts screen.
|
||||||
Tree mode/list mode can be toggled with \f[V]t\f[R] here also.
|
Tree mode/list mode can be toggled with \f[CR]t\f[R] here also.
|
||||||
.PP
|
.PP
|
||||||
\f[V]U\f[R] toggles filtering by unmarked status, showing or hiding
|
\f[CR]U\f[R] toggles filtering by unmarked status, showing or hiding
|
||||||
unmarked transactions.
|
unmarked transactions.
|
||||||
Similarly, \f[V]P\f[R] toggles pending transactions, and \f[V]C\f[R]
|
Similarly, \f[CR]P\f[R] toggles pending transactions, and \f[CR]C\f[R]
|
||||||
toggles cleared transactions.
|
toggles cleared transactions.
|
||||||
(By default, transactions with all statuses are shown; if you activate
|
(By default, transactions with all statuses are shown; if you activate
|
||||||
one or two status filters, only those transactions are shown; and if you
|
one or two status filters, only those transactions are shown; and if you
|
||||||
activate all three, the filter is removed.)
|
activate all three, the filter is removed.)
|
||||||
.PP
|
.PP
|
||||||
\f[V]R\f[R] toggles real mode, in which virtual postings are ignored.
|
\f[CR]R\f[R] toggles real mode, in which virtual postings are ignored.
|
||||||
.PP
|
.PP
|
||||||
\f[V]z\f[R] toggles nonzero mode, in which only transactions posting a
|
\f[CR]z\f[R] toggles nonzero mode, in which only transactions posting a
|
||||||
nonzero change are shown (hledger-ui shows zero items by default, unlike
|
nonzero change are shown (hledger-ui shows zero items by default, unlike
|
||||||
command-line hledger).
|
command-line hledger).
|
||||||
.PP
|
.PP
|
||||||
Press \f[V]RIGHT\f[R] to view the selected transaction in detail.
|
Press \f[CR]RIGHT\f[R] to view the selected transaction in detail.
|
||||||
.SS Transaction
|
.SS Transaction
|
||||||
.PP
|
|
||||||
This screen shows a single transaction, as a general journal entry,
|
This screen shows a single transaction, as a general journal entry,
|
||||||
similar to hledger\[aq]s print command and journal format
|
similar to hledger\[aq]s print command and journal format
|
||||||
(hledger_journal(5)).
|
(hledger_journal(5)).
|
||||||
@ -480,7 +467,7 @@ description, comments, along with all of its account postings are shown.
|
|||||||
Simple transactions have two postings, but there can be more (or in
|
Simple transactions have two postings, but there can be more (or in
|
||||||
certain cases, fewer).
|
certain cases, fewer).
|
||||||
.PP
|
.PP
|
||||||
\f[V]UP\f[R] and \f[V]DOWN\f[R] will step through all transactions
|
\f[CR]UP\f[R] and \f[CR]DOWN\f[R] will step through all transactions
|
||||||
listed in the previous account register screen.
|
listed in the previous account register screen.
|
||||||
In the title bar, the numbers in parentheses show your position within
|
In the title bar, the numbers in parentheses show your position within
|
||||||
that account register.
|
that account register.
|
||||||
@ -490,19 +477,18 @@ The #N number preceding them is the transaction\[aq]s position within
|
|||||||
the complete unfiltered journal, which is a more stable id (at least
|
the complete unfiltered journal, which is a more stable id (at least
|
||||||
until the next reload).
|
until the next reload).
|
||||||
.PP
|
.PP
|
||||||
On this screen (and the register screen), the \f[V]E\f[R] key will open
|
On this screen (and the register screen), the \f[CR]E\f[R] key will open
|
||||||
your text editor with the cursor positioned at the current transaction
|
your text editor with the cursor positioned at the current transaction
|
||||||
if possible.
|
if possible.
|
||||||
.PP
|
.PP
|
||||||
This screen has a limitation with showing file updates: it will not show
|
This screen has a limitation with showing file updates: it will not show
|
||||||
them until you exit and re-enter it.
|
them until you exit and re-enter it.
|
||||||
So eg to see the effect of using the \f[V]E\f[R] key, currently you
|
So eg to see the effect of using the \f[CR]E\f[R] key, currently you
|
||||||
must: - press \f[V]E\f[R], edit and save the file, then exit the editor,
|
must: - press \f[CR]E\f[R], edit and save the file, then exit the
|
||||||
returning to hledger-ui - press \f[V]g\f[R] to reload the file (or use
|
editor, returning to hledger-ui - press \f[CR]g\f[R] to reload the file
|
||||||
\f[V]-w/--watch\f[R] mode) - press \f[V]LEFT\f[R] then \f[V]RIGHT\f[R]
|
(or use \f[CR]-w/--watch\f[R] mode) - press \f[CR]LEFT\f[R] then
|
||||||
to exit and re-enter the transaction screen.
|
\f[CR]RIGHT\f[R] to exit and re-enter the transaction screen.
|
||||||
.SS Error
|
.SS Error
|
||||||
.PP
|
|
||||||
This screen will appear if there is a problem, such as a parse error,
|
This screen will appear if there is a problem, such as a parse error,
|
||||||
when you press g to reload.
|
when you press g to reload.
|
||||||
Once you have fixed the problem, press g again to reload and resume
|
Once you have fixed the problem, press g again to reload and resume
|
||||||
@ -510,9 +496,8 @@ normal operation.
|
|||||||
(Or, you can press escape to cancel the reload attempt.)
|
(Or, you can press escape to cancel the reload attempt.)
|
||||||
.SH TIPS
|
.SH TIPS
|
||||||
.SS Watch mode
|
.SS Watch mode
|
||||||
.PP
|
|
||||||
One of hledger-ui\[aq]s best features is the auto-reloading
|
One of hledger-ui\[aq]s best features is the auto-reloading
|
||||||
\f[V]-w/--watch\f[R] mode.
|
\f[CR]-w/--watch\f[R] mode.
|
||||||
With this flag, it will update the display automatically whenever
|
With this flag, it will update the display automatically whenever
|
||||||
changes are saved to the data files.
|
changes are saved to the data files.
|
||||||
.PP
|
.PP
|
||||||
@ -521,11 +506,9 @@ A good workflow is to have your bank\[aq]s online register open in a
|
|||||||
browser window, for reference; the journal file open in an editor
|
browser window, for reference; the journal file open in an editor
|
||||||
window; and hledger-ui in watch mode in a terminal window, eg:
|
window; and hledger-ui in watch mode in a terminal window, eg:
|
||||||
.IP
|
.IP
|
||||||
.nf
|
.EX
|
||||||
\f[C]
|
|
||||||
$ hledger-ui --watch --register checking -C
|
$ hledger-ui --watch --register checking -C
|
||||||
\f[R]
|
.EE
|
||||||
.fi
|
|
||||||
.PP
|
.PP
|
||||||
As you mark things cleared in the editor, you can see the effect
|
As you mark things cleared in the editor, you can see the effect
|
||||||
immediately without having to context switch.
|
immediately without having to context switch.
|
||||||
@ -533,7 +516,7 @@ This leaves more mental bandwidth for your accounting.
|
|||||||
Of course you can still interact with hledger-ui when needed, eg to
|
Of course you can still interact with hledger-ui when needed, eg to
|
||||||
toggle cleared mode, or to explore the history.
|
toggle cleared mode, or to explore the history.
|
||||||
.PP
|
.PP
|
||||||
There are currently some limitations with \f[V]--watch\f[R]:
|
There are currently some limitations with \f[CR]--watch\f[R]:
|
||||||
.PP
|
.PP
|
||||||
It may not work correctly for you, depending on platform or system
|
It may not work correctly for you, depending on platform or system
|
||||||
configuration.
|
configuration.
|
||||||
@ -541,49 +524,46 @@ configuration.
|
|||||||
.PP
|
.PP
|
||||||
At least on mac, there can be a slow build-up of CPU usage over time,
|
At least on mac, there can be a slow build-up of CPU usage over time,
|
||||||
until the program is restarted (or, suspending and restarting with
|
until the program is restarted (or, suspending and restarting with
|
||||||
\f[V]CTRL-z\f[R] \f[V]fg\f[R] may be enough).
|
\f[CR]CTRL-z\f[R] \f[CR]fg\f[R] may be enough).
|
||||||
.PP
|
.PP
|
||||||
It will not detect file changes made by certain editors, such as
|
It will not detect file changes made by certain editors, such as
|
||||||
Jetbrains IDEs or \f[V]gedit\f[R], or on certain less common
|
Jetbrains IDEs or \f[CR]gedit\f[R], or on certain less common
|
||||||
filesystems.
|
filesystems.
|
||||||
(To work around, press \f[V]g\f[R] to reload manually, or try
|
(To work around, press \f[CR]g\f[R] to reload manually, or try
|
||||||
#1617\[aq]s \f[V]fs.inotify.max_user_watches\f[R] workaround and let us
|
#1617\[aq]s \f[CR]fs.inotify.max_user_watches\f[R] workaround and let us
|
||||||
know.)
|
know.)
|
||||||
.PP
|
.PP
|
||||||
If you are viewing files mounted from another machine, the system clocks
|
If you are viewing files mounted from another machine, the system clocks
|
||||||
on both machines should be roughly in agreement.
|
on both machines should be roughly in agreement.
|
||||||
.SS Debug output
|
.SS Debug output
|
||||||
.PP
|
You can add \f[CR]--debug[=N]\f[R] to the command line to log debug
|
||||||
You can add \f[V]--debug[=N]\f[R] to the command line to log debug
|
|
||||||
output.
|
output.
|
||||||
This will be logged to the file \f[V]hledger-ui.log\f[R] in the current
|
This will be logged to the file \f[CR]hledger-ui.log\f[R] in the current
|
||||||
directory.
|
directory.
|
||||||
N ranges from 1 (least output, the default) to 9 (maximum output).
|
N ranges from 1 (least output, the default) to 9 (maximum output).
|
||||||
.SH ENVIRONMENT
|
.SH ENVIRONMENT
|
||||||
.PP
|
|
||||||
\f[B]COLUMNS\f[R] The screen width to use.
|
\f[B]COLUMNS\f[R] The screen width to use.
|
||||||
Default: the full terminal width.
|
Default: the full terminal width.
|
||||||
.PP
|
.PP
|
||||||
\f[B]LEDGER_FILE\f[R] The main journal file to use when not specified
|
\f[B]LEDGER_FILE\f[R] The main journal file to use when not specified
|
||||||
with \f[V]-f/--file\f[R].
|
with \f[CR]-f/--file\f[R].
|
||||||
Default: \f[V]$HOME/.hledger.journal\f[R].
|
Default: \f[CR]$HOME/.hledger.journal\f[R].
|
||||||
.SH BUGS
|
.SH BUGS
|
||||||
.PP
|
|
||||||
We welcome bug reports in the hledger issue tracker (shortcut:
|
We welcome bug reports in the hledger issue tracker (shortcut:
|
||||||
http://bugs.hledger.org), or on the #hledger chat or hledger mail list
|
http://bugs.hledger.org), or on the #hledger chat or hledger mail list
|
||||||
(https://hledger.org/support).
|
(https://hledger.org/support).
|
||||||
.PP
|
.PP
|
||||||
Some known issues:
|
Some known issues:
|
||||||
.PP
|
.PP
|
||||||
\f[V]-f-\f[R] doesn\[aq]t work (hledger-ui can\[aq]t read from stdin).
|
\f[CR]-f-\f[R] doesn\[aq]t work (hledger-ui can\[aq]t read from stdin).
|
||||||
.PP
|
.PP
|
||||||
If you press \f[V]g\f[R] with large files, there could be a noticeable
|
If you press \f[CR]g\f[R] with large files, there could be a noticeable
|
||||||
pause.
|
pause.
|
||||||
.PP
|
.PP
|
||||||
The Transaction screen does not update from file changes until you exit
|
The Transaction screen does not update from file changes until you exit
|
||||||
and re-endter it (see SCREENS > Transaction above).
|
and re-endter it (see SCREENS > Transaction above).
|
||||||
.PP
|
.PP
|
||||||
\f[V]--watch\f[R] is not yet fully robust on all platforms (see Watch
|
\f[CR]--watch\f[R] is not yet fully robust on all platforms (see Watch
|
||||||
mode above).
|
mode above).
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -537,4 +537,4 @@ LICENSE
|
|||||||
SEE ALSO
|
SEE ALSO
|
||||||
hledger(1), hledger-ui(1), hledger-web(1), ledger(1)
|
hledger(1), hledger-ui(1), hledger-web(1), ledger(1)
|
||||||
|
|
||||||
hledger-ui-1.31.99 November 2023 HLEDGER-UI(1)
|
hledger-ui-1.31.99 December 2023 HLEDGER-UI(1)
|
||||||
|
|||||||
@ -1,2 +1,2 @@
|
|||||||
m4_dnl Date to show in man pages. Updated by "Shake manuals"
|
m4_dnl Date to show in man pages. Updated by "Shake manuals"
|
||||||
m4_define({{_monthyear_}}, {{November 2023}})m4_dnl
|
m4_define({{_monthyear_}}, {{December 2023}})m4_dnl
|
||||||
|
|||||||
@ -1,20 +1,17 @@
|
|||||||
|
|
||||||
.TH "HLEDGER-WEB" "1" "November 2023" "hledger-web-1.31.99 " "hledger User Manuals"
|
.TH "HLEDGER-WEB" "1" "December 2023" "hledger-web-1.31.99 " "hledger User Manuals"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
.SH NAME
|
.SH NAME
|
||||||
.PP
|
|
||||||
hledger-web - robust, friendly plain text accounting (Web version)
|
hledger-web - robust, friendly plain text accounting (Web version)
|
||||||
.SH SYNOPSIS
|
.SH SYNOPSIS
|
||||||
.PP
|
\f[CR]hledger-web [--serve|--serve-api] [OPTS] [ARGS]\f[R]
|
||||||
\f[V]hledger-web [--serve|--serve-api] [OPTS] [ARGS]\f[R]
|
|
||||||
.PD 0
|
.PD 0
|
||||||
.P
|
.P
|
||||||
.PD
|
.PD
|
||||||
\f[V]hledger web -- [--serve|--serve-api] [OPTS] [ARGS]\f[R]
|
\f[CR]hledger web -- [--serve|--serve-api] [OPTS] [ARGS]\f[R]
|
||||||
.SH DESCRIPTION
|
.SH DESCRIPTION
|
||||||
.PP
|
|
||||||
This manual is for hledger\[aq]s web interface, version 1.31.99.
|
This manual is for hledger\[aq]s web interface, version 1.31.99.
|
||||||
See also the hledger manual for common concepts and file formats.
|
See also the hledger manual for common concepts and file formats.
|
||||||
.PP
|
.PP
|
||||||
@ -40,9 +37,9 @@ instance, it writes a numbered backup of the main journal file (only) on
|
|||||||
every edit.
|
every edit.
|
||||||
.PP
|
.PP
|
||||||
Like hledger, it reads from (and appends to) a journal file specified by
|
Like hledger, it reads from (and appends to) a journal file specified by
|
||||||
the \f[V]LEDGER_FILE\f[R] environment variable (defaulting to
|
the \f[CR]LEDGER_FILE\f[R] environment variable (defaulting to
|
||||||
\f[V]$HOME/.hledger.journal\f[R]); or you can specify files with
|
\f[CR]$HOME/.hledger.journal\f[R]); or you can specify files with
|
||||||
\f[V]-f\f[R] options.
|
\f[CR]-f\f[R] options.
|
||||||
It can also read timeclock files, timedot files, or any CSV/SSV/TSV file
|
It can also read timeclock files, timedot files, or any CSV/SSV/TSV file
|
||||||
with a date field.
|
with a date field.
|
||||||
(See hledger(1) -> Input for details.)
|
(See hledger(1) -> Input for details.)
|
||||||
@ -54,15 +51,14 @@ show the app if possible, and the app exits automatically after two
|
|||||||
minutes of inactivity (no requests received and no open browser windows
|
minutes of inactivity (no requests received and no open browser windows
|
||||||
viewing it).
|
viewing it).
|
||||||
.IP \[bu] 2
|
.IP \[bu] 2
|
||||||
With \f[V]--serve\f[R]: the app runs without stopping, and without
|
With \f[CR]--serve\f[R]: the app runs without stopping, and without
|
||||||
opening a browser.
|
opening a browser.
|
||||||
.IP \[bu] 2
|
.IP \[bu] 2
|
||||||
With \f[V]--serve-api\f[R]: only the JSON API is served.
|
With \f[CR]--serve-api\f[R]: only the JSON API is served.
|
||||||
.PP
|
.PP
|
||||||
In all cases hledger-web runs as a foreground process, logging requests
|
In all cases hledger-web runs as a foreground process, logging requests
|
||||||
to stdout.
|
to stdout.
|
||||||
.SH OPTIONS
|
.SH OPTIONS
|
||||||
.PP
|
|
||||||
Command-line options and arguments may be used to set an initial filter
|
Command-line options and arguments may be used to set an initial filter
|
||||||
on the data.
|
on the data.
|
||||||
These filter options are not shown in the web UI, but it will be applied
|
These filter options are not shown in the web UI, but it will be applied
|
||||||
@ -70,84 +66,82 @@ in addition to any search query entered there.
|
|||||||
.PP
|
.PP
|
||||||
hledger-web provides the following options:
|
hledger-web provides the following options:
|
||||||
.TP
|
.TP
|
||||||
\f[V]--serve\f[R]
|
\f[CR]--serve\f[R]
|
||||||
serve and log requests, don\[aq]t browse or auto-exit after timeout
|
serve and log requests, don\[aq]t browse or auto-exit after timeout
|
||||||
.TP
|
.TP
|
||||||
\f[V]--serve-api\f[R]
|
\f[CR]--serve-api\f[R]
|
||||||
like --serve, but serve only the JSON web API, without the server-side
|
like --serve, but serve only the JSON web API, without the server-side
|
||||||
web UI
|
web UI
|
||||||
.TP
|
.TP
|
||||||
\f[V]--host=IPADDR\f[R]
|
\f[CR]--host=IPADDR\f[R]
|
||||||
listen on this IP address (default: 127.0.0.1)
|
listen on this IP address (default: 127.0.0.1)
|
||||||
.TP
|
.TP
|
||||||
\f[V]--port=PORT\f[R]
|
\f[CR]--port=PORT\f[R]
|
||||||
listen on this TCP port (default: 5000)
|
listen on this TCP port (default: 5000)
|
||||||
.TP
|
.TP
|
||||||
\f[V]--socket=SOCKETFILE\f[R]
|
\f[CR]--socket=SOCKETFILE\f[R]
|
||||||
use a unix domain socket file to listen for requests instead of a TCP
|
use a unix domain socket file to listen for requests instead of a TCP
|
||||||
socket.
|
socket.
|
||||||
Implies \f[V]--serve\f[R].
|
Implies \f[CR]--serve\f[R].
|
||||||
It can only be used if the operating system can provide this type of
|
It can only be used if the operating system can provide this type of
|
||||||
socket.
|
socket.
|
||||||
.TP
|
.TP
|
||||||
\f[V]--base-url=URL\f[R]
|
\f[CR]--base-url=URL\f[R]
|
||||||
set the base url (default: http://IPADDR:PORT).
|
set the base url (default: http://IPADDR:PORT).
|
||||||
Note: affects url generation but not route parsing.
|
Note: affects url generation but not route parsing.
|
||||||
Can be useful if running behind a reverse web proxy that does path
|
Can be useful if running behind a reverse web proxy that does path
|
||||||
rewriting.
|
rewriting.
|
||||||
.TP
|
.TP
|
||||||
\f[V]--file-url=URL\f[R]
|
\f[CR]--file-url=URL\f[R]
|
||||||
set the static files url (default: BASEURL/static).
|
set the static files url (default: BASEURL/static).
|
||||||
hledger-web normally serves static files itself, but if you wanted to
|
hledger-web normally serves static files itself, but if you wanted to
|
||||||
serve them from another server for efficiency, you would set the url
|
serve them from another server for efficiency, you would set the url
|
||||||
with this.
|
with this.
|
||||||
.TP
|
.TP
|
||||||
\f[V]--allow=view|add|edit\f[R]
|
\f[CR]--allow=view|add|edit\f[R]
|
||||||
set the user\[aq]s access level for changing data (default:
|
set the user\[aq]s access level for changing data (default:
|
||||||
\f[V]add\f[R]).
|
\f[CR]add\f[R]).
|
||||||
It also accepts \f[V]sandstorm\f[R] for use on that platform (reads
|
It also accepts \f[CR]sandstorm\f[R] for use on that platform (reads
|
||||||
permissions from the \f[V]X-Sandstorm-Permissions\f[R] request header).
|
permissions from the \f[CR]X-Sandstorm-Permissions\f[R] request header).
|
||||||
.TP
|
.TP
|
||||||
\f[V]--test\f[R]
|
\f[CR]--test\f[R]
|
||||||
run hledger-web\[aq]s tests and exit.
|
run hledger-web\[aq]s tests and exit.
|
||||||
hspec test runner args may follow a --, eg: hledger-web --test -- --help
|
hspec test runner args may follow a --, eg: hledger-web --test -- --help
|
||||||
.PP
|
.PP
|
||||||
By default the server listens on IP address 127.0.0.1, accessible only
|
By default the server listens on IP address 127.0.0.1, accessible only
|
||||||
to local requests.
|
to local requests.
|
||||||
You can use \f[V]--host\f[R] to change this, eg \f[V]--host 0.0.0.0\f[R]
|
You can use \f[CR]--host\f[R] to change this, eg
|
||||||
to listen on all configured addresses.
|
\f[CR]--host 0.0.0.0\f[R] to listen on all configured addresses.
|
||||||
.PP
|
.PP
|
||||||
Similarly, use \f[V]--port\f[R] to set a TCP port other than 5000, eg if
|
Similarly, use \f[CR]--port\f[R] to set a TCP port other than 5000, eg
|
||||||
you are running multiple hledger-web instances.
|
if you are running multiple hledger-web instances.
|
||||||
.PP
|
.PP
|
||||||
Both of these options are ignored when \f[V]--socket\f[R] is used.
|
Both of these options are ignored when \f[CR]--socket\f[R] is used.
|
||||||
In this case, it creates an \f[V]AF_UNIX\f[R] socket file at the
|
In this case, it creates an \f[CR]AF_UNIX\f[R] socket file at the
|
||||||
supplied path and uses that for communication.
|
supplied path and uses that for communication.
|
||||||
This is an alternative way of running multiple hledger-web instances
|
This is an alternative way of running multiple hledger-web instances
|
||||||
behind a reverse proxy that handles authentication for different users.
|
behind a reverse proxy that handles authentication for different users.
|
||||||
The path can be derived in a predictable way, eg by using the username
|
The path can be derived in a predictable way, eg by using the username
|
||||||
within the path.
|
within the path.
|
||||||
As an example, \f[V]nginx\f[R] as reverse proxy can use the variable
|
As an example, \f[CR]nginx\f[R] as reverse proxy can use the variable
|
||||||
\f[V]$remote_user\f[R] to derive a path from the username used in a HTTP
|
\f[CR]$remote_user\f[R] to derive a path from the username used in a
|
||||||
basic authentication.
|
HTTP basic authentication.
|
||||||
The following \f[V]proxy_pass\f[R] directive allows access to all
|
The following \f[CR]proxy_pass\f[R] directive allows access to all
|
||||||
\f[V]hledger-web\f[R] instances that created a socket in
|
\f[CR]hledger-web\f[R] instances that created a socket in
|
||||||
\f[V]/tmp/hledger/\f[R]:
|
\f[CR]/tmp/hledger/\f[R]:
|
||||||
.IP
|
.IP
|
||||||
.nf
|
.EX
|
||||||
\f[C]
|
|
||||||
proxy_pass http://unix:/tmp/hledger/${remote_user}.socket;
|
proxy_pass http://unix:/tmp/hledger/${remote_user}.socket;
|
||||||
\f[R]
|
.EE
|
||||||
.fi
|
|
||||||
.PP
|
.PP
|
||||||
You can use \f[V]--base-url\f[R] to change the protocol, hostname, port
|
You can use \f[CR]--base-url\f[R] to change the protocol, hostname, port
|
||||||
and path that appear in hyperlinks, useful eg for integrating
|
and path that appear in hyperlinks, useful eg for integrating
|
||||||
hledger-web within a larger website.
|
hledger-web within a larger website.
|
||||||
The default is \f[V]http://HOST:PORT/\f[R] using the server\[aq]s
|
The default is \f[CR]http://HOST:PORT/\f[R] using the server\[aq]s
|
||||||
configured host address and TCP port (or \f[V]http://HOST\f[R] if PORT
|
configured host address and TCP port (or \f[CR]http://HOST\f[R] if PORT
|
||||||
is 80).
|
is 80).
|
||||||
.PP
|
.PP
|
||||||
With \f[V]--file-url\f[R] you can set a different base url for static
|
With \f[CR]--file-url\f[R] you can set a different base url for static
|
||||||
files, eg for better caching or cookie-less serving on high performance
|
files, eg for better caching or cookie-less serving on high performance
|
||||||
websites.
|
websites.
|
||||||
.PP
|
.PP
|
||||||
@ -155,144 +149,144 @@ hledger-web also supports many of hledger\[aq]s general options (and the
|
|||||||
hledger manual\[aq]s command line tips also apply here):
|
hledger manual\[aq]s command line tips also apply here):
|
||||||
.SS General help options
|
.SS General help options
|
||||||
.TP
|
.TP
|
||||||
\f[V]-h --help\f[R]
|
\f[CR]-h --help\f[R]
|
||||||
show general or COMMAND help
|
show general or COMMAND help
|
||||||
.TP
|
.TP
|
||||||
\f[V]--man\f[R]
|
\f[CR]--man\f[R]
|
||||||
show general or COMMAND user manual with man
|
show general or COMMAND user manual with man
|
||||||
.TP
|
.TP
|
||||||
\f[V]--info\f[R]
|
\f[CR]--info\f[R]
|
||||||
show general or COMMAND user manual with info
|
show general or COMMAND user manual with info
|
||||||
.TP
|
.TP
|
||||||
\f[V]--version\f[R]
|
\f[CR]--version\f[R]
|
||||||
show general or ADDONCMD version
|
show general or ADDONCMD version
|
||||||
.TP
|
.TP
|
||||||
\f[V]--debug[=N]\f[R]
|
\f[CR]--debug[=N]\f[R]
|
||||||
show debug output (levels 1-9, default: 1)
|
show debug output (levels 1-9, default: 1)
|
||||||
.SS General input options
|
.SS General input options
|
||||||
.TP
|
.TP
|
||||||
\f[V]-f FILE --file=FILE\f[R]
|
\f[CR]-f FILE --file=FILE\f[R]
|
||||||
use a different input file.
|
use a different input file.
|
||||||
For stdin, use - (default: \f[V]$LEDGER_FILE\f[R] or
|
For stdin, use - (default: \f[CR]$LEDGER_FILE\f[R] or
|
||||||
\f[V]$HOME/.hledger.journal\f[R])
|
\f[CR]$HOME/.hledger.journal\f[R])
|
||||||
.TP
|
.TP
|
||||||
\f[V]--rules-file=RULESFILE\f[R]
|
\f[CR]--rules-file=RULESFILE\f[R]
|
||||||
Conversion rules file to use when reading CSV (default: FILE.rules)
|
Conversion rules file to use when reading CSV (default: FILE.rules)
|
||||||
.TP
|
.TP
|
||||||
\f[V]--separator=CHAR\f[R]
|
\f[CR]--separator=CHAR\f[R]
|
||||||
Field separator to expect when reading CSV (default: \[aq],\[aq])
|
Field separator to expect when reading CSV (default: \[aq],\[aq])
|
||||||
.TP
|
.TP
|
||||||
\f[V]--alias=OLD=NEW\f[R]
|
\f[CR]--alias=OLD=NEW\f[R]
|
||||||
rename accounts named OLD to NEW
|
rename accounts named OLD to NEW
|
||||||
.TP
|
.TP
|
||||||
\f[V]--anon\f[R]
|
\f[CR]--anon\f[R]
|
||||||
anonymize accounts and payees
|
anonymize accounts and payees
|
||||||
.TP
|
.TP
|
||||||
\f[V]--pivot FIELDNAME\f[R]
|
\f[CR]--pivot FIELDNAME\f[R]
|
||||||
use some other field or tag for the account name
|
use some other field or tag for the account name
|
||||||
.TP
|
.TP
|
||||||
\f[V]-I --ignore-assertions\f[R]
|
\f[CR]-I --ignore-assertions\f[R]
|
||||||
disable balance assertion checks (note: does not disable balance
|
disable balance assertion checks (note: does not disable balance
|
||||||
assignments)
|
assignments)
|
||||||
.TP
|
.TP
|
||||||
\f[V]-s --strict\f[R]
|
\f[CR]-s --strict\f[R]
|
||||||
do extra error checking (check that all posted accounts are declared)
|
do extra error checking (check that all posted accounts are declared)
|
||||||
.SS General reporting options
|
.SS General reporting options
|
||||||
.TP
|
.TP
|
||||||
\f[V]-b --begin=DATE\f[R]
|
\f[CR]-b --begin=DATE\f[R]
|
||||||
include postings/txns on or after this date (will be adjusted to
|
include postings/txns on or after this date (will be adjusted to
|
||||||
preceding subperiod start when using a report interval)
|
preceding subperiod start when using a report interval)
|
||||||
.TP
|
.TP
|
||||||
\f[V]-e --end=DATE\f[R]
|
\f[CR]-e --end=DATE\f[R]
|
||||||
include postings/txns before this date (will be adjusted to following
|
include postings/txns before this date (will be adjusted to following
|
||||||
subperiod end when using a report interval)
|
subperiod end when using a report interval)
|
||||||
.TP
|
.TP
|
||||||
\f[V]-D --daily\f[R]
|
\f[CR]-D --daily\f[R]
|
||||||
multiperiod/multicolumn report by day
|
multiperiod/multicolumn report by day
|
||||||
.TP
|
.TP
|
||||||
\f[V]-W --weekly\f[R]
|
\f[CR]-W --weekly\f[R]
|
||||||
multiperiod/multicolumn report by week
|
multiperiod/multicolumn report by week
|
||||||
.TP
|
.TP
|
||||||
\f[V]-M --monthly\f[R]
|
\f[CR]-M --monthly\f[R]
|
||||||
multiperiod/multicolumn report by month
|
multiperiod/multicolumn report by month
|
||||||
.TP
|
.TP
|
||||||
\f[V]-Q --quarterly\f[R]
|
\f[CR]-Q --quarterly\f[R]
|
||||||
multiperiod/multicolumn report by quarter
|
multiperiod/multicolumn report by quarter
|
||||||
.TP
|
.TP
|
||||||
\f[V]-Y --yearly\f[R]
|
\f[CR]-Y --yearly\f[R]
|
||||||
multiperiod/multicolumn report by year
|
multiperiod/multicolumn report by year
|
||||||
.TP
|
.TP
|
||||||
\f[V]-p --period=PERIODEXP\f[R]
|
\f[CR]-p --period=PERIODEXP\f[R]
|
||||||
set start date, end date, and/or reporting interval all at once using
|
set start date, end date, and/or reporting interval all at once using
|
||||||
period expressions syntax
|
period expressions syntax
|
||||||
.TP
|
.TP
|
||||||
\f[V]--date2\f[R]
|
\f[CR]--date2\f[R]
|
||||||
match the secondary date instead (see command help for other effects)
|
match the secondary date instead (see command help for other effects)
|
||||||
.TP
|
.TP
|
||||||
\f[V]--today=DATE\f[R]
|
\f[CR]--today=DATE\f[R]
|
||||||
override today\[aq]s date (affects relative smart dates, for
|
override today\[aq]s date (affects relative smart dates, for
|
||||||
tests/examples)
|
tests/examples)
|
||||||
.TP
|
.TP
|
||||||
\f[V]-U --unmarked\f[R]
|
\f[CR]-U --unmarked\f[R]
|
||||||
include only unmarked postings/txns (can combine with -P or -C)
|
include only unmarked postings/txns (can combine with -P or -C)
|
||||||
.TP
|
.TP
|
||||||
\f[V]-P --pending\f[R]
|
\f[CR]-P --pending\f[R]
|
||||||
include only pending postings/txns
|
include only pending postings/txns
|
||||||
.TP
|
.TP
|
||||||
\f[V]-C --cleared\f[R]
|
\f[CR]-C --cleared\f[R]
|
||||||
include only cleared postings/txns
|
include only cleared postings/txns
|
||||||
.TP
|
.TP
|
||||||
\f[V]-R --real\f[R]
|
\f[CR]-R --real\f[R]
|
||||||
include only non-virtual postings
|
include only non-virtual postings
|
||||||
.TP
|
.TP
|
||||||
\f[V]-NUM --depth=NUM\f[R]
|
\f[CR]-NUM --depth=NUM\f[R]
|
||||||
hide/aggregate accounts or postings more than NUM levels deep
|
hide/aggregate accounts or postings more than NUM levels deep
|
||||||
.TP
|
.TP
|
||||||
\f[V]-E --empty\f[R]
|
\f[CR]-E --empty\f[R]
|
||||||
show items with zero amount, normally hidden (and vice-versa in
|
show items with zero amount, normally hidden (and vice-versa in
|
||||||
hledger-ui/hledger-web)
|
hledger-ui/hledger-web)
|
||||||
.TP
|
.TP
|
||||||
\f[V]-B --cost\f[R]
|
\f[CR]-B --cost\f[R]
|
||||||
convert amounts to their cost/selling amount at transaction time
|
convert amounts to their cost/selling amount at transaction time
|
||||||
.TP
|
.TP
|
||||||
\f[V]-V --market\f[R]
|
\f[CR]-V --market\f[R]
|
||||||
convert amounts to their market value in default valuation commodities
|
convert amounts to their market value in default valuation commodities
|
||||||
.TP
|
.TP
|
||||||
\f[V]-X --exchange=COMM\f[R]
|
\f[CR]-X --exchange=COMM\f[R]
|
||||||
convert amounts to their market value in commodity COMM
|
convert amounts to their market value in commodity COMM
|
||||||
.TP
|
.TP
|
||||||
\f[V]--value\f[R]
|
\f[CR]--value\f[R]
|
||||||
convert amounts to cost or market value, more flexibly than -B/-V/-X
|
convert amounts to cost or market value, more flexibly than -B/-V/-X
|
||||||
.TP
|
.TP
|
||||||
\f[V]--infer-equity\f[R]
|
\f[CR]--infer-equity\f[R]
|
||||||
infer conversion equity postings from costs
|
infer conversion equity postings from costs
|
||||||
.TP
|
.TP
|
||||||
\f[V]--infer-costs\f[R]
|
\f[CR]--infer-costs\f[R]
|
||||||
infer costs from conversion equity postings
|
infer costs from conversion equity postings
|
||||||
.TP
|
.TP
|
||||||
\f[V]--infer-market-prices\f[R]
|
\f[CR]--infer-market-prices\f[R]
|
||||||
use costs as additional market prices, as if they were P directives
|
use costs as additional market prices, as if they were P directives
|
||||||
.TP
|
.TP
|
||||||
\f[V]--forecast\f[R]
|
\f[CR]--forecast\f[R]
|
||||||
generate transactions from periodic rules,
|
generate transactions from periodic rules,
|
||||||
between the latest recorded txn and 6 months from today,
|
between the latest recorded txn and 6 months from today,
|
||||||
or during the specified PERIOD (= is required).
|
or during the specified PERIOD (= is required).
|
||||||
Auto posting rules will be applied to these transactions as well.
|
Auto posting rules will be applied to these transactions as well.
|
||||||
Also, in hledger-ui make future-dated transactions visible.
|
Also, in hledger-ui make future-dated transactions visible.
|
||||||
.TP
|
.TP
|
||||||
\f[V]--auto\f[R]
|
\f[CR]--auto\f[R]
|
||||||
generate extra postings by applying auto posting rules to all txns (not
|
generate extra postings by applying auto posting rules to all txns (not
|
||||||
just forecast txns)
|
just forecast txns)
|
||||||
.TP
|
.TP
|
||||||
\f[V]--verbose-tags\f[R]
|
\f[CR]--verbose-tags\f[R]
|
||||||
add visible tags indicating transactions or postings which have been
|
add visible tags indicating transactions or postings which have been
|
||||||
generated/modified
|
generated/modified
|
||||||
.TP
|
.TP
|
||||||
\f[V]--commodity-style\f[R]
|
\f[CR]--commodity-style\f[R]
|
||||||
Override the commodity style in the output for the specified commodity.
|
Override the commodity style in the output for the specified commodity.
|
||||||
For example \[aq]EUR1.000,00\[aq].
|
For example \[aq]EUR1.000,00\[aq].
|
||||||
.TP
|
.TP
|
||||||
\f[V]--color=WHEN (or --colour=WHEN)\f[R]
|
\f[CR]--color=WHEN (or --colour=WHEN)\f[R]
|
||||||
Should color-supporting commands use ANSI color codes in text output.
|
Should color-supporting commands use ANSI color codes in text output.
|
||||||
\[aq]auto\[aq] (default): whenever stdout seems to be a color-supporting
|
\[aq]auto\[aq] (default): whenever stdout seems to be a color-supporting
|
||||||
terminal.
|
terminal.
|
||||||
@ -301,7 +295,7 @@ into \[aq]less -R\[aq].
|
|||||||
\[aq]never\[aq] or \[aq]no\[aq]: never.
|
\[aq]never\[aq] or \[aq]no\[aq]: never.
|
||||||
A NO_COLOR environment variable overrides this.
|
A NO_COLOR environment variable overrides this.
|
||||||
.TP
|
.TP
|
||||||
\f[V]--pretty[=WHEN]\f[R]
|
\f[CR]--pretty[=WHEN]\f[R]
|
||||||
Show prettier output, e.g.
|
Show prettier output, e.g.
|
||||||
using unicode box-drawing characters.
|
using unicode box-drawing characters.
|
||||||
Accepts \[aq]yes\[aq] (the default) or \[aq]no\[aq] (\[aq]y\[aq],
|
Accepts \[aq]yes\[aq] (the default) or \[aq]no\[aq] (\[aq]y\[aq],
|
||||||
@ -314,13 +308,12 @@ last one takes precedence.
|
|||||||
.PP
|
.PP
|
||||||
Some reporting options can also be written as query arguments.
|
Some reporting options can also be written as query arguments.
|
||||||
.SH PERMISSIONS
|
.SH PERMISSIONS
|
||||||
.PP
|
|
||||||
By default, hledger-web allows anyone who can reach it to view the
|
By default, hledger-web allows anyone who can reach it to view the
|
||||||
journal and to add new transactions, but not to change existing data.
|
journal and to add new transactions, but not to change existing data.
|
||||||
.PP
|
.PP
|
||||||
You can restrict who can reach it by
|
You can restrict who can reach it by
|
||||||
.IP \[bu] 2
|
.IP \[bu] 2
|
||||||
setting the IP address it listens on (see \f[V]--host\f[R] above).
|
setting the IP address it listens on (see \f[CR]--host\f[R] above).
|
||||||
By default it listens on 127.0.0.1, accessible to all users on the local
|
By default it listens on 127.0.0.1, accessible to all users on the local
|
||||||
machine.
|
machine.
|
||||||
.IP \[bu] 2
|
.IP \[bu] 2
|
||||||
@ -330,27 +323,26 @@ custom firewall rules
|
|||||||
.PP
|
.PP
|
||||||
You can restrict what the users who reach it can do, by
|
You can restrict what the users who reach it can do, by
|
||||||
.IP \[bu] 2
|
.IP \[bu] 2
|
||||||
using the \f[V]--capabilities=CAP[,CAP..]\f[R] flag when you start it,
|
using the \f[CR]--capabilities=CAP[,CAP..]\f[R] flag when you start it,
|
||||||
enabling one or more of the following capabilities.
|
enabling one or more of the following capabilities.
|
||||||
The default value is \f[V]view,add\f[R]:
|
The default value is \f[CR]view,add\f[R]:
|
||||||
.RS 2
|
.RS 2
|
||||||
.IP \[bu] 2
|
.IP \[bu] 2
|
||||||
\f[V]view\f[R] - allows viewing the journal file and all included files
|
\f[CR]view\f[R] - allows viewing the journal file and all included files
|
||||||
.IP \[bu] 2
|
.IP \[bu] 2
|
||||||
\f[V]add\f[R] - allows adding new transactions to the main journal file
|
\f[CR]add\f[R] - allows adding new transactions to the main journal file
|
||||||
.IP \[bu] 2
|
.IP \[bu] 2
|
||||||
\f[V]manage\f[R] - allows editing, uploading or downloading the main or
|
\f[CR]manage\f[R] - allows editing, uploading or downloading the main or
|
||||||
included files
|
included files
|
||||||
.RE
|
.RE
|
||||||
.IP \[bu] 2
|
.IP \[bu] 2
|
||||||
using the \f[V]--capabilities-header=HTTPHEADER\f[R] flag to specify a
|
using the \f[CR]--capabilities-header=HTTPHEADER\f[R] flag to specify a
|
||||||
HTTP header from which it will read capabilities to enable.
|
HTTP header from which it will read capabilities to enable.
|
||||||
hledger-web on Sandstorm uses the X-Sandstorm-Permissions header to
|
hledger-web on Sandstorm uses the X-Sandstorm-Permissions header to
|
||||||
integrate with Sandstorm\[aq]s permissions.
|
integrate with Sandstorm\[aq]s permissions.
|
||||||
This is disabled by default.
|
This is disabled by default.
|
||||||
.SH EDITING, UPLOADING, DOWNLOADING
|
.SH EDITING, UPLOADING, DOWNLOADING
|
||||||
.PP
|
If you enable the \f[CR]manage\f[R] capability mentioned above,
|
||||||
If you enable the \f[V]manage\f[R] capability mentioned above,
|
|
||||||
you\[aq]ll see a new \[dq]spanner\[dq] button to the right of the search
|
you\[aq]ll see a new \[dq]spanner\[dq] button to the right of the search
|
||||||
form.
|
form.
|
||||||
Clicking this will let you edit, upload, or download the journal file or
|
Clicking this will let you edit, upload, or download the journal file or
|
||||||
@ -371,7 +363,6 @@ Changes which would leave the journal file(s) unparseable or non-valid
|
|||||||
(Probably.
|
(Probably.
|
||||||
This needs re-testing.)
|
This needs re-testing.)
|
||||||
.SH RELOADING
|
.SH RELOADING
|
||||||
.PP
|
|
||||||
hledger-web detects changes made to the files by other means (eg if you
|
hledger-web detects changes made to the files by other means (eg if you
|
||||||
edit it directly, outside of hledger-web), and it will show the new data
|
edit it directly, outside of hledger-web), and it will show the new data
|
||||||
when you reload the page or navigate to a new page.
|
when you reload the page or navigate to a new page.
|
||||||
@ -381,24 +372,20 @@ message until the file has been fixed.
|
|||||||
(Note: if you are viewing files mounted from another machine, make sure
|
(Note: if you are viewing files mounted from another machine, make sure
|
||||||
that both machine clocks are roughly in step.)
|
that both machine clocks are roughly in step.)
|
||||||
.SH JSON API
|
.SH JSON API
|
||||||
.PP
|
|
||||||
In addition to the web UI, hledger-web also serves a JSON API that can
|
In addition to the web UI, hledger-web also serves a JSON API that can
|
||||||
be used to get data or add new transactions.
|
be used to get data or add new transactions.
|
||||||
If you want the JSON API only, you can use the \f[V]--serve-api\f[R]
|
If you want the JSON API only, you can use the \f[CR]--serve-api\f[R]
|
||||||
flag.
|
flag.
|
||||||
Eg:
|
Eg:
|
||||||
.IP
|
.IP
|
||||||
.nf
|
.EX
|
||||||
\f[C]
|
|
||||||
$ hledger-web -f examples/sample.journal --serve-api
|
$ hledger-web -f examples/sample.journal --serve-api
|
||||||
\&...
|
\&...
|
||||||
\f[R]
|
.EE
|
||||||
.fi
|
|
||||||
.PP
|
.PP
|
||||||
You can get JSON data from these routes:
|
You can get JSON data from these routes:
|
||||||
.IP
|
.IP
|
||||||
.nf
|
.EX
|
||||||
\f[C]
|
|
||||||
/version
|
/version
|
||||||
/accountnames
|
/accountnames
|
||||||
/transactions
|
/transactions
|
||||||
@ -406,15 +393,13 @@ You can get JSON data from these routes:
|
|||||||
/commodities
|
/commodities
|
||||||
/accounts
|
/accounts
|
||||||
/accounttransactions/ACCOUNTNAME
|
/accounttransactions/ACCOUNTNAME
|
||||||
\f[R]
|
.EE
|
||||||
.fi
|
|
||||||
.PP
|
.PP
|
||||||
Eg, all account names in the journal (similar to the accounts command).
|
Eg, all account names in the journal (similar to the accounts command).
|
||||||
(hledger-web\[aq]s JSON does not include newlines, here we use python to
|
(hledger-web\[aq]s JSON does not include newlines, here we use python to
|
||||||
prettify it):
|
prettify it):
|
||||||
.IP
|
.IP
|
||||||
.nf
|
.EX
|
||||||
\f[C]
|
|
||||||
$ curl -s http://127.0.0.1:5000/accountnames | python -m json.tool
|
$ curl -s http://127.0.0.1:5000/accountnames | python -m json.tool
|
||||||
[
|
[
|
||||||
\[dq]assets\[dq],
|
\[dq]assets\[dq],
|
||||||
@ -431,13 +416,11 @@ $ curl -s http://127.0.0.1:5000/accountnames | python -m json.tool
|
|||||||
\[dq]liabilities\[dq],
|
\[dq]liabilities\[dq],
|
||||||
\[dq]liabilities:debts\[dq]
|
\[dq]liabilities:debts\[dq]
|
||||||
]
|
]
|
||||||
\f[R]
|
.EE
|
||||||
.fi
|
|
||||||
.PP
|
.PP
|
||||||
Or all transactions:
|
Or all transactions:
|
||||||
.IP
|
.IP
|
||||||
.nf
|
.EX
|
||||||
\f[C]
|
|
||||||
$ curl -s http://127.0.0.1:5000/transactions | python -m json.tool
|
$ curl -s http://127.0.0.1:5000/transactions | python -m json.tool
|
||||||
[
|
[
|
||||||
{
|
{
|
||||||
@ -456,8 +439,7 @@ $ curl -s http://127.0.0.1:5000/transactions | python -m json.tool
|
|||||||
\[dq]aismultiplier\[dq]: false,
|
\[dq]aismultiplier\[dq]: false,
|
||||||
\[dq]aprice\[dq]: null,
|
\[dq]aprice\[dq]: null,
|
||||||
\&...
|
\&...
|
||||||
\f[R]
|
.EE
|
||||||
.fi
|
|
||||||
.PP
|
.PP
|
||||||
Most of the JSON corresponds to hledger\[aq]s data types; for details of
|
Most of the JSON corresponds to hledger\[aq]s data types; for details of
|
||||||
what the fields mean, see the Hledger.Data.Json haddock docs and click
|
what the fields mean, see the Hledger.Data.Json haddock docs and click
|
||||||
@ -468,34 +450,31 @@ In some cases there is outer JSON corresponding to a \[dq]Report\[dq]
|
|||||||
type.
|
type.
|
||||||
To understand that, go to the Hledger.Web.Handler.MiscR haddock and look
|
To understand that, go to the Hledger.Web.Handler.MiscR haddock and look
|
||||||
at the source for the appropriate handler to see what it returns.
|
at the source for the appropriate handler to see what it returns.
|
||||||
Eg for \f[V]/accounttransactions\f[R] it\[aq]s getAccounttransactionsR,
|
Eg for \f[CR]/accounttransactions\f[R] it\[aq]s getAccounttransactionsR,
|
||||||
returning a \[dq]\f[V]accountTransactionsReport ...\f[R]\[dq].
|
returning a \[dq]\f[CR]accountTransactionsReport ...\f[R]\[dq].
|
||||||
Looking up the haddock for that we can see that /accounttransactions
|
Looking up the haddock for that we can see that /accounttransactions
|
||||||
returns an AccountTransactionsReport, which consists of a report title
|
returns an AccountTransactionsReport, which consists of a report title
|
||||||
and a list of AccountTransactionsReportItem (etc).
|
and a list of AccountTransactionsReportItem (etc).
|
||||||
.PP
|
.PP
|
||||||
You can add a new transaction to the journal with a PUT request to
|
You can add a new transaction to the journal with a PUT request to
|
||||||
\f[V]/add\f[R], if hledger-web was started with the \f[V]add\f[R]
|
\f[CR]/add\f[R], if hledger-web was started with the \f[CR]add\f[R]
|
||||||
capability (enabled by default).
|
capability (enabled by default).
|
||||||
The payload must be the full, exact JSON representation of a hledger
|
The payload must be the full, exact JSON representation of a hledger
|
||||||
transaction (partial data won\[aq]t do).
|
transaction (partial data won\[aq]t do).
|
||||||
You can get sample JSON from hledger-web\[aq]s \f[V]/transactions\f[R]
|
You can get sample JSON from hledger-web\[aq]s \f[CR]/transactions\f[R]
|
||||||
or \f[V]/accounttransactions\f[R], or you can export it with
|
or \f[CR]/accounttransactions\f[R], or you can export it with
|
||||||
hledger-lib, eg like so:
|
hledger-lib, eg like so:
|
||||||
.IP
|
.IP
|
||||||
.nf
|
.EX
|
||||||
\f[C]
|
|
||||||
\&.../hledger$ stack ghci hledger-lib
|
\&.../hledger$ stack ghci hledger-lib
|
||||||
>>> writeJsonFile \[dq]txn.json\[dq] (head $ jtxns samplejournal)
|
>>> writeJsonFile \[dq]txn.json\[dq] (head $ jtxns samplejournal)
|
||||||
>>> :q
|
>>> :q
|
||||||
\f[R]
|
.EE
|
||||||
.fi
|
|
||||||
.PP
|
.PP
|
||||||
Here\[aq]s how it looks as of hledger-1.17 (remember, this JSON
|
Here\[aq]s how it looks as of hledger-1.17 (remember, this JSON
|
||||||
corresponds to hledger\[aq]s Transaction and related data types):
|
corresponds to hledger\[aq]s Transaction and related data types):
|
||||||
.IP
|
.IP
|
||||||
.nf
|
.EX
|
||||||
\f[C]
|
|
||||||
{
|
{
|
||||||
\[dq]tcomment\[dq]: \[dq]\[dq],
|
\[dq]tcomment\[dq]: \[dq]\[dq],
|
||||||
\[dq]tpostings\[dq]: [
|
\[dq]tpostings\[dq]: [
|
||||||
@ -581,21 +560,17 @@ corresponds to hledger\[aq]s Transaction and related data types):
|
|||||||
\[dq]tdescription\[dq]: \[dq]income\[dq],
|
\[dq]tdescription\[dq]: \[dq]income\[dq],
|
||||||
\[dq]tstatus\[dq]: \[dq]Unmarked\[dq]
|
\[dq]tstatus\[dq]: \[dq]Unmarked\[dq]
|
||||||
}
|
}
|
||||||
\f[R]
|
.EE
|
||||||
.fi
|
|
||||||
.PP
|
.PP
|
||||||
And here\[aq]s how to test adding it with curl.
|
And here\[aq]s how to test adding it with curl.
|
||||||
This should add a new entry to your journal:
|
This should add a new entry to your journal:
|
||||||
.IP
|
.IP
|
||||||
.nf
|
.EX
|
||||||
\f[C]
|
|
||||||
$ curl http://127.0.0.1:5000/add -X PUT -H \[aq]Content-Type: application/json\[aq] --data-binary \[at]txn.json
|
$ curl http://127.0.0.1:5000/add -X PUT -H \[aq]Content-Type: application/json\[aq] --data-binary \[at]txn.json
|
||||||
\f[R]
|
.EE
|
||||||
.fi
|
|
||||||
.SH DEBUG OUTPUT
|
.SH DEBUG OUTPUT
|
||||||
.SS Debug output
|
.SS Debug output
|
||||||
.PP
|
You can add \f[CR]--debug[=N]\f[R] to the command line to log debug
|
||||||
You can add \f[V]--debug[=N]\f[R] to the command line to log debug
|
|
||||||
output.
|
output.
|
||||||
N ranges from 1 (least output, the default) to 9 (maximum output).
|
N ranges from 1 (least output, the default) to 9 (maximum output).
|
||||||
Typically you would start with 1 and increase until you are seeing
|
Typically you would start with 1 and increase until you are seeing
|
||||||
@ -607,14 +582,12 @@ stderr, eg:
|
|||||||
.PD 0
|
.PD 0
|
||||||
.P
|
.P
|
||||||
.PD
|
.PD
|
||||||
\f[V]hledger-web --debug=3 2>hledger-web.log\f[R].
|
\f[CR]hledger-web --debug=3 2>hledger-web.log\f[R].
|
||||||
.SH ENVIRONMENT
|
.SH ENVIRONMENT
|
||||||
.PP
|
|
||||||
\f[B]LEDGER_FILE\f[R] The main journal file to use when not specified
|
\f[B]LEDGER_FILE\f[R] The main journal file to use when not specified
|
||||||
with \f[V]-f/--file\f[R].
|
with \f[CR]-f/--file\f[R].
|
||||||
Default: \f[V]$HOME/.hledger.journal\f[R].
|
Default: \f[CR]$HOME/.hledger.journal\f[R].
|
||||||
.SH BUGS
|
.SH BUGS
|
||||||
.PP
|
|
||||||
We welcome bug reports in the hledger issue tracker (shortcut:
|
We welcome bug reports in the hledger issue tracker (shortcut:
|
||||||
http://bugs.hledger.org), or on the #hledger chat or hledger mail list
|
http://bugs.hledger.org), or on the #hledger chat or hledger mail list
|
||||||
(https://hledger.org/support).
|
(https://hledger.org/support).
|
||||||
|
|||||||
@ -564,4 +564,4 @@ LICENSE
|
|||||||
SEE ALSO
|
SEE ALSO
|
||||||
hledger(1), hledger-ui(1), hledger-web(1), ledger(1)
|
hledger(1), hledger-ui(1), hledger-web(1), ledger(1)
|
||||||
|
|
||||||
hledger-web-1.31.99 November 2023 HLEDGER-WEB(1)
|
hledger-web-1.31.99 December 2023 HLEDGER-WEB(1)
|
||||||
|
|||||||
@ -1,2 +1,2 @@
|
|||||||
m4_dnl Date to show in man pages. Updated by "Shake manuals"
|
m4_dnl Date to show in man pages. Updated by "Shake manuals"
|
||||||
m4_define({{_monthyear_}}, {{November 2023}})m4_dnl
|
m4_define({{_monthyear_}}, {{December 2023}})m4_dnl
|
||||||
|
|||||||
5387
hledger/hledger.1
5387
hledger/hledger.1
File diff suppressed because it is too large
Load Diff
@ -5138,24 +5138,18 @@ File: hledger.info, Node: Timedot, Next: PART 3 REPORTING CONCEPTS, Prev: Tim
|
|||||||
**********
|
**********
|
||||||
|
|
||||||
'timedot' format is hledger's human-friendly time logging format.
|
'timedot' format is hledger's human-friendly time logging format.
|
||||||
Compared to 'timeclock' format, it is
|
Compared to 'timeclock' format, it is more convenient for quick,
|
||||||
|
approximate, and retroactive time logging, and more human-readable (you
|
||||||
* convenient for quick, approximate, and retroactive time logging
|
can see at a glance where time was spent). A quick example:
|
||||||
* readable: you can see at a glance where time was spent.
|
|
||||||
|
|
||||||
A timedot file contains a series of day entries, which might look
|
|
||||||
like this:
|
|
||||||
|
|
||||||
2023-05-01
|
2023-05-01
|
||||||
hom:errands .... .... ; two hours
|
hom:errands .... .... ; two hours; the space is ignored
|
||||||
fos:hledger:timedot .. ; half an hour
|
fos:hledger:timedot .. ; half an hour
|
||||||
per:admin:finance
|
per:admin:finance ; no time spent yet
|
||||||
|
|
||||||
hledger reads this as a transaction on this day with three
|
hledger reads this as a transaction on this day with three
|
||||||
(unbalanced) postings, where each dot represents "0.25". No commodity
|
(unbalanced) postings, where each dot represents "0.25". No commodity
|
||||||
is assumed, but normally we interpret it as hours, with each dot
|
symbol is assumed, but we typically interpret it as hours.
|
||||||
representing a quarter-hour. It's convenient, though not required, to
|
|
||||||
group the dots in fours for easy reading.
|
|
||||||
|
|
||||||
$ hledger -f a.timedot print # .timedot file extension (or timedot: prefix) is required
|
$ hledger -f a.timedot print # .timedot file extension (or timedot: prefix) is required
|
||||||
2023-05-01 *
|
2023-05-01 *
|
||||||
@ -5163,55 +5157,75 @@ $ hledger -f a.timedot print # .timedot file extension (or timedot: prefix) is
|
|||||||
(fos:hledger:timedot) 0.50 ; half an hour
|
(fos:hledger:timedot) 0.50 ; half an hour
|
||||||
(per:admin:finance) 0
|
(per:admin:finance) 0
|
||||||
|
|
||||||
A transaction begins with a non-indented *simple date* (Y-M-D, Y/M/D,
|
A timedot file contains a series of transactions (usually one per
|
||||||
or Y.M.D). It can optionally be preceded by one or more stars and a
|
day). Each begins with a *simple date* (Y-M-D, Y/M/D, or Y.M.D),
|
||||||
space, for Emacs org mode compatibility. It can optionally be followed
|
optionally be followed on the same line by a transaction description,
|
||||||
on the same line by a transaction description, and/or a transaction
|
and/or a transaction comment following a semicolon.
|
||||||
comment following a semicolon.
|
|
||||||
|
|
||||||
After the date line are zero or more time postings, consisting of:
|
After the date line are zero or more time postings, consisting of:
|
||||||
|
|
||||||
* an *account name* - any hledger-style account name, optionally
|
* *An account name* - any hledger-style account name, optionally
|
||||||
hierarchical, optionally indented.
|
indented.
|
||||||
* *two or more spaces* - a field separator, required if there is an
|
|
||||||
amount (as in journal format).
|
|
||||||
* an optional *timedot amount* - dots representing quarter hours, or
|
|
||||||
a number representing hours, optionally with a unit suffix.
|
|
||||||
* an optional *posting comment* following a semicolon.
|
|
||||||
|
|
||||||
Timedot amounts can be:
|
* *Two or more spaces* - required if there is an amount (as in
|
||||||
|
journal format).
|
||||||
|
|
||||||
* *dots*: zero or more period characters ('.'), each representing
|
* *A timedot amount*, which can be
|
||||||
0.25. Spaces are ignored and can be used for grouping. Eg: '....
|
|
||||||
..'
|
|
||||||
|
|
||||||
* or a *number*. Eg: '1.5'
|
* empty (representing zero)
|
||||||
|
|
||||||
* or a *number immediately followed by a unit symbol* 's', 'm', 'h',
|
* a number, optionally followed by a unit 's', 'm', 'h', 'd',
|
||||||
'd', 'w', 'mo', or 'y'. These are interpreted as seconds, minutes,
|
'w', 'mo', or 'y', representing a precise number of seconds,
|
||||||
hours, days weeks, months or years, and converted to hours,
|
minutes, hours, days weeks, months or years (hours is assumed
|
||||||
assuming:
|
by default), which will be converted to hours according to 60s
|
||||||
'60s' = '1m', '60m' = '1h', '24h' = '1d', '7d' = '1w', '30d' =
|
= 1m, 60m = 1h, 24h = 1d, 7d = 1w, 30d = 1mo, 365d = 1y.
|
||||||
'1mo', '365d' = '1y'. Eg '90m' is parsed as '1.5'.
|
|
||||||
|
|
||||||
There is some added flexibility to help with keeping time log data in
|
* one or more dots (period characters), each representing 0.25.
|
||||||
the same file as your notes, todo lists, etc.:
|
These are the dots in "timedot". Spaces are ignored and can
|
||||||
|
be used for grouping/alignment.
|
||||||
|
|
||||||
|
* one or more letters. These are like dots but they also
|
||||||
|
generate a tag 't:' (short for "type") with the letter as its
|
||||||
|
value, and a separate posting for each of the values. This
|
||||||
|
provides a second dimension of categorisation, viewable in
|
||||||
|
reports with '--pivot t'.
|
||||||
|
|
||||||
|
* *An optional comment* following a semicolon (a hledger-style
|
||||||
|
posting comment).
|
||||||
|
|
||||||
|
There is some flexibility to help with keeping time log data and
|
||||||
|
notes in the same file:
|
||||||
|
|
||||||
* Blank lines and lines beginning with '#' or ';' are ignored.
|
* Blank lines and lines beginning with '#' or ';' are ignored.
|
||||||
|
|
||||||
* Before the first date line, lines beginning with '*' are ignored.
|
* After the first date line, lines which do not contain a double
|
||||||
|
space are parsed as postings with zero amount. (hledger's register
|
||||||
|
reports will show these if you add -E).
|
||||||
|
|
||||||
* From the first date line onward, one or more '*''s followed by a
|
* Before the first date line, lines beginning with '*' (eg org
|
||||||
space at beginning of lines (ie, the headline prefix used by Emacs
|
headings) are ignored. And from the first date line onward, Emacs
|
||||||
Org mode) is ignored. This means the time log can be kept under an
|
org mode heading prefixes at the start of lines (one or more '*''s
|
||||||
Org headline, and date lines or time transaction lines can be Org
|
followed by a space) will be ignored. This means the time log can
|
||||||
headlines.
|
also be a org outline.
|
||||||
|
|
||||||
* Lines not ending with a double-space and amount are parsed as
|
* Menu:
|
||||||
postings with zero amount. Note hledger's register reports hide
|
|
||||||
these by default (add -E to see them).
|
|
||||||
|
|
||||||
More examples:
|
* Timedot examples::
|
||||||
|
|
||||||
|
|
||||||
|
File: hledger.info, Node: Timedot examples, Up: Timedot
|
||||||
|
|
||||||
|
12.1 Timedot examples
|
||||||
|
=====================
|
||||||
|
|
||||||
|
Numbers:
|
||||||
|
|
||||||
|
2016/2/3
|
||||||
|
inc:client1 4
|
||||||
|
fos:hledger 3h
|
||||||
|
biz:research 60m
|
||||||
|
|
||||||
|
Dots:
|
||||||
|
|
||||||
# on this day, 6h was spent on client work, 1.5h on haskell FOSS work, etc.
|
# on this day, 6h was spent on client work, 1.5h on haskell FOSS work, etc.
|
||||||
2016/2/1
|
2016/2/1
|
||||||
@ -5223,34 +5237,6 @@ biz:research .
|
|||||||
inc:client1 .... ....
|
inc:client1 .... ....
|
||||||
biz:research .
|
biz:research .
|
||||||
|
|
||||||
2016/2/3
|
|
||||||
inc:client1 4
|
|
||||||
fos:hledger 3
|
|
||||||
biz:research 1
|
|
||||||
|
|
||||||
* Time log
|
|
||||||
** 2023-01-01
|
|
||||||
*** adm:time .
|
|
||||||
*** adm:finance .
|
|
||||||
|
|
||||||
* 2023 Work Diary
|
|
||||||
** Q1
|
|
||||||
*** 2023-02-29
|
|
||||||
**** DONE
|
|
||||||
0700 yoga
|
|
||||||
**** UNPLANNED
|
|
||||||
**** BEGUN
|
|
||||||
hom:chores
|
|
||||||
cleaning ...
|
|
||||||
water plants
|
|
||||||
outdoor - one full watering can
|
|
||||||
indoor - light watering
|
|
||||||
**** TODO
|
|
||||||
adm:planning: trip
|
|
||||||
*** LATER
|
|
||||||
|
|
||||||
Reporting:
|
|
||||||
|
|
||||||
$ hledger -f a.timedot print date:2016/2/2
|
$ hledger -f a.timedot print date:2016/2/2
|
||||||
2016-02-02 *
|
2016-02-02 *
|
||||||
(inc:client1) 2.00
|
(inc:client1) 2.00
|
||||||
@ -5273,21 +5259,66 @@ Balance changes in 2016-02-01-2016-02-03:
|
|||||||
------------++----------------------------------------
|
------------++----------------------------------------
|
||||||
|| 7.75 2.25 8.00
|
|| 7.75 2.25 8.00
|
||||||
|
|
||||||
Using period instead of colon as account name separator:
|
Letters:
|
||||||
|
|
||||||
|
# Activity types:
|
||||||
|
# c cleanup/catchup/repair
|
||||||
|
# e enhancement
|
||||||
|
# s support
|
||||||
|
# l learning/research
|
||||||
|
|
||||||
|
2023-11-01
|
||||||
|
work:adm ccecces
|
||||||
|
|
||||||
|
$ hledger -f a.timedot print
|
||||||
|
2023-11-01
|
||||||
|
(work:adm) 1 ; t:c
|
||||||
|
(work:adm) 0.5 ; t:e
|
||||||
|
(work:adm) 0.25 ; t:s
|
||||||
|
|
||||||
|
$ hledger -f a.timedot bal
|
||||||
|
1.75 work:adm
|
||||||
|
--------------------
|
||||||
|
1.75
|
||||||
|
|
||||||
|
$ hledger -f a.timedot bal --pivot t
|
||||||
|
1.00 c
|
||||||
|
0.50 e
|
||||||
|
0.25 s
|
||||||
|
--------------------
|
||||||
|
1.75
|
||||||
|
|
||||||
|
Org:
|
||||||
|
|
||||||
|
* 2023 Work Diary
|
||||||
|
** Q1
|
||||||
|
*** 2023-02-29
|
||||||
|
**** DONE
|
||||||
|
0700 yoga
|
||||||
|
**** UNPLANNED
|
||||||
|
**** BEGUN
|
||||||
|
hom:chores
|
||||||
|
cleaning ...
|
||||||
|
water plants
|
||||||
|
outdoor - one full watering can
|
||||||
|
indoor - light watering
|
||||||
|
**** TODO
|
||||||
|
adm:planning: trip
|
||||||
|
*** LATER
|
||||||
|
|
||||||
|
Using '.' as account name separator:
|
||||||
|
|
||||||
2016/2/4
|
2016/2/4
|
||||||
fos.hledger.timedot 4
|
fos.hledger.timedot 4h
|
||||||
fos.ledger ..
|
fos.ledger ..
|
||||||
|
|
||||||
$ hledger -f a.timedot --alias /\\./=: bal --tree
|
$ hledger -f a.timedot --alias '/\./=:' bal -t
|
||||||
4.50 fos
|
4.50 fos
|
||||||
4.00 hledger:timedot
|
4.00 hledger:timedot
|
||||||
0.50 ledger
|
0.50 ledger
|
||||||
--------------------
|
--------------------
|
||||||
4.50
|
4.50
|
||||||
|
|
||||||
A sample.timedot file.
|
|
||||||
|
|
||||||
|
|
||||||
File: hledger.info, Node: PART 3 REPORTING CONCEPTS, Next: Amount formatting parseability, Prev: Timedot, Up: Top
|
File: hledger.info, Node: PART 3 REPORTING CONCEPTS, Next: Amount formatting parseability, Prev: Timedot, Up: Top
|
||||||
|
|
||||||
@ -5301,9 +5332,33 @@ File: hledger.info, Node: Amount formatting parseability, Next: Time periods,
|
|||||||
**********************************
|
**********************************
|
||||||
|
|
||||||
If you're wondering why your 'print' report sometimes shows trailing
|
If you're wondering why your 'print' report sometimes shows trailing
|
||||||
decimal marks, even when there are no decimal digits; it does this to
|
decimal marks, with no decimal digits; it does this when showing amounts
|
||||||
disambiguate ambiguous amounts (amounts which have one digit group mark
|
that have digit group marks but no decimal digits, to disambiguate them
|
||||||
and no decimal digits), allowing them to be re-parsed reliably.
|
and allow them to be re-parsed reliably (see also Decimal marks, digit
|
||||||
|
group marks. Eg:
|
||||||
|
|
||||||
|
commodity $1,000.00
|
||||||
|
|
||||||
|
2023-01-02
|
||||||
|
(a) $1000
|
||||||
|
|
||||||
|
$ hledger print
|
||||||
|
2023-01-02
|
||||||
|
(a) $1,000.
|
||||||
|
|
||||||
|
If this is a problem (eg when exporting to Ledger), you can avoid it
|
||||||
|
by disabling digit group marks, eg with -c/-commodity (for each affected
|
||||||
|
commodity):
|
||||||
|
|
||||||
|
$ hledger print -c '$1000.00'
|
||||||
|
2023-01-02
|
||||||
|
(a) $1000
|
||||||
|
|
||||||
|
or by forcing print to always show decimal digits, with -round:
|
||||||
|
|
||||||
|
$ hledger print -c '$1,000.00' --round=soft
|
||||||
|
2023-01-02
|
||||||
|
(a) $1,000.00
|
||||||
|
|
||||||
More generally: hledger output falls into three rough categories,
|
More generally: hledger output falls into three rough categories,
|
||||||
which format amounts a little bit differently to suit different
|
which format amounts a little bit differently to suit different
|
||||||
@ -9614,20 +9669,31 @@ options The output formats supported are 'txt', 'beancount', 'csv',
|
|||||||
'tsv', 'json' and 'sql'.
|
'tsv', 'json' and 'sql'.
|
||||||
|
|
||||||
_Experimental:_ The 'beancount' format tries to produce
|
_Experimental:_ The 'beancount' format tries to produce
|
||||||
Beancount-compatible output. It is very basic and may require
|
Beancount-compatible output, as follows:
|
||||||
additional manual fixups:
|
|
||||||
|
|
||||||
* Transaction and postings with unmarked status are converted to
|
* Transaction and postings with unmarked status are converted to
|
||||||
cleared ('*") status.
|
cleared ('*') status.
|
||||||
* Transactions' payee and or note are wrapped in double quotes.
|
* Transactions' payee and note are backslash-escaped and
|
||||||
|
double-quote-escaped and wrapped in double quotes.
|
||||||
* Transaction tags are copied to Beancount #tag format.
|
* Transaction tags are copied to Beancount #tag format.
|
||||||
* Account name parts are capitalised, and if the first account name
|
* Commodity symbols are converted to upper case, and a small number
|
||||||
part is not one of Assets, Liabilities, Equity, Income, or
|
of currency symbols like '$' are converted to the corresponding
|
||||||
Expenses, "Equity:" is prepended.
|
currency names.
|
||||||
* The '$' commodity symbol is converted to 'USD'.
|
* Account name parts are capitalised and unsupported characters are
|
||||||
|
replaced with '-'. If an account name part does not begin with a
|
||||||
|
letter, or if the first part is not Assets, Liabilities, Equity,
|
||||||
|
Income, or Expenses, an error is raised. (Use '--alias' options to
|
||||||
|
bring your accounts into compliance.)
|
||||||
* An 'open' directive is generated for each account used, on the
|
* An 'open' directive is generated for each account used, on the
|
||||||
earliest transaction date.
|
earliest transaction date.
|
||||||
|
|
||||||
|
Some limitations:
|
||||||
|
|
||||||
|
* Balance assertions are removed.
|
||||||
|
* Balance assignments become missing amounts.
|
||||||
|
* Virtual and balanced virtual postings become regular postings.
|
||||||
|
* Directives are not converted.
|
||||||
|
|
||||||
Here's an example of print's CSV output:
|
Here's an example of print's CSV output:
|
||||||
|
|
||||||
$ hledger print -Ocsv
|
$ hledger print -Ocsv
|
||||||
@ -11140,306 +11206,308 @@ Node: Timeclock182398
|
|||||||
Ref: #timeclock182503
|
Ref: #timeclock182503
|
||||||
Node: Timedot184681
|
Node: Timedot184681
|
||||||
Ref: #timedot184804
|
Ref: #timedot184804
|
||||||
Node: PART 3 REPORTING CONCEPTS189673
|
Node: Timedot examples187909
|
||||||
Ref: #part-3-reporting-concepts189855
|
Ref: #timedot-examples188015
|
||||||
Node: Amount formatting parseability189855
|
Node: PART 3 REPORTING CONCEPTS190186
|
||||||
Ref: #amount-formatting-parseability190052
|
Ref: #part-3-reporting-concepts190368
|
||||||
Node: Time periods191756
|
Node: Amount formatting parseability190368
|
||||||
Ref: #time-periods191895
|
Ref: #amount-formatting-parseability190565
|
||||||
Node: Report start & end date192013
|
Node: Time periods192770
|
||||||
Ref: #report-start-end-date192165
|
Ref: #time-periods192909
|
||||||
Node: Smart dates193824
|
Node: Report start & end date193027
|
||||||
Ref: #smart-dates193977
|
Ref: #report-start-end-date193179
|
||||||
Node: Report intervals195845
|
Node: Smart dates194838
|
||||||
Ref: #report-intervals196000
|
Ref: #smart-dates194991
|
||||||
Node: Date adjustment196418
|
Node: Report intervals196859
|
||||||
Ref: #date-adjustment196578
|
Ref: #report-intervals197014
|
||||||
Node: Period expressions197429
|
Node: Date adjustment197432
|
||||||
Ref: #period-expressions197570
|
Ref: #date-adjustment197592
|
||||||
Node: Period expressions with a report interval199334
|
Node: Period expressions198443
|
||||||
Ref: #period-expressions-with-a-report-interval199568
|
Ref: #period-expressions198584
|
||||||
Node: More complex report intervals199782
|
Node: Period expressions with a report interval200348
|
||||||
Ref: #more-complex-report-intervals200027
|
Ref: #period-expressions-with-a-report-interval200582
|
||||||
Node: Multiple weekday intervals201828
|
Node: More complex report intervals200796
|
||||||
Ref: #multiple-weekday-intervals202017
|
Ref: #more-complex-report-intervals201041
|
||||||
Node: Depth202839
|
Node: Multiple weekday intervals202842
|
||||||
Ref: #depth202941
|
Ref: #multiple-weekday-intervals203031
|
||||||
Node: Queries203237
|
Node: Depth203853
|
||||||
Ref: #queries203339
|
Ref: #depth203955
|
||||||
Node: Query types204464
|
Node: Queries204251
|
||||||
Ref: #query-types204585
|
Ref: #queries204353
|
||||||
Node: Combining query terms207921
|
Node: Query types205478
|
||||||
Ref: #combining-query-terms208098
|
Ref: #query-types205599
|
||||||
Node: Queries and command options209366
|
Node: Combining query terms208935
|
||||||
Ref: #queries-and-command-options209565
|
Ref: #combining-query-terms209112
|
||||||
Node: Queries and valuation209814
|
Node: Queries and command options210380
|
||||||
Ref: #queries-and-valuation210009
|
Ref: #queries-and-command-options210579
|
||||||
Node: Querying with account aliases210238
|
Node: Queries and valuation210828
|
||||||
Ref: #querying-with-account-aliases210449
|
Ref: #queries-and-valuation211023
|
||||||
Node: Querying with cost or value210579
|
Node: Querying with account aliases211252
|
||||||
Ref: #querying-with-cost-or-value210756
|
Ref: #querying-with-account-aliases211463
|
||||||
Node: Pivoting211057
|
Node: Querying with cost or value211593
|
||||||
Ref: #pivoting211171
|
Ref: #querying-with-cost-or-value211770
|
||||||
Node: Generating data212948
|
Node: Pivoting212071
|
||||||
Ref: #generating-data213080
|
Ref: #pivoting212185
|
||||||
Node: Forecasting214663
|
Node: Generating data213962
|
||||||
Ref: #forecasting214788
|
Ref: #generating-data214094
|
||||||
Node: --forecast215319
|
Node: Forecasting215677
|
||||||
Ref: #forecast215450
|
Ref: #forecasting215802
|
||||||
Node: Inspecting forecast transactions216496
|
Node: --forecast216333
|
||||||
Ref: #inspecting-forecast-transactions216698
|
Ref: #forecast216464
|
||||||
Node: Forecast reports217828
|
Node: Inspecting forecast transactions217510
|
||||||
Ref: #forecast-reports218001
|
Ref: #inspecting-forecast-transactions217712
|
||||||
Node: Forecast tags218937
|
Node: Forecast reports218842
|
||||||
Ref: #forecast-tags219097
|
Ref: #forecast-reports219015
|
||||||
Node: Forecast period in detail219557
|
Node: Forecast tags219951
|
||||||
Ref: #forecast-period-in-detail219751
|
Ref: #forecast-tags220111
|
||||||
Node: Forecast troubleshooting220645
|
Node: Forecast period in detail220571
|
||||||
Ref: #forecast-troubleshooting220813
|
Ref: #forecast-period-in-detail220765
|
||||||
Node: Budgeting221716
|
Node: Forecast troubleshooting221659
|
||||||
Ref: #budgeting221836
|
Ref: #forecast-troubleshooting221827
|
||||||
Node: Cost reporting222273
|
Node: Budgeting222730
|
||||||
Ref: #cost-reporting222407
|
Ref: #budgeting222850
|
||||||
Node: Recording costs223068
|
Node: Cost reporting223287
|
||||||
Ref: #recording-costs223204
|
Ref: #cost-reporting223421
|
||||||
Node: Reporting at cost224795
|
Node: Recording costs224082
|
||||||
Ref: #reporting-at-cost224970
|
Ref: #recording-costs224218
|
||||||
Node: Equity conversion postings225560
|
Node: Reporting at cost225809
|
||||||
Ref: #equity-conversion-postings225774
|
Ref: #reporting-at-cost225984
|
||||||
Node: Inferring equity conversion postings228205
|
Node: Equity conversion postings226574
|
||||||
Ref: #inferring-equity-conversion-postings228468
|
Ref: #equity-conversion-postings226788
|
||||||
Node: Combining costs and equity conversion postings229220
|
Node: Inferring equity conversion postings229219
|
||||||
Ref: #combining-costs-and-equity-conversion-postings229530
|
Ref: #inferring-equity-conversion-postings229482
|
||||||
Node: Requirements for detecting equity conversion postings230518
|
Node: Combining costs and equity conversion postings230234
|
||||||
Ref: #requirements-for-detecting-equity-conversion-postings230840
|
Ref: #combining-costs-and-equity-conversion-postings230544
|
||||||
Node: Infer cost and equity by default ?232040
|
Node: Requirements for detecting equity conversion postings231532
|
||||||
Ref: #infer-cost-and-equity-by-default232269
|
Ref: #requirements-for-detecting-equity-conversion-postings231854
|
||||||
Node: Value reporting232477
|
Node: Infer cost and equity by default ?233054
|
||||||
Ref: #value-reporting232619
|
Ref: #infer-cost-and-equity-by-default233283
|
||||||
Node: -V Value233393
|
Node: Value reporting233491
|
||||||
Ref: #v-value233525
|
Ref: #value-reporting233633
|
||||||
Node: -X Value in specified commodity233720
|
Node: -V Value234407
|
||||||
Ref: #x-value-in-specified-commodity233921
|
Ref: #v-value234539
|
||||||
Node: Valuation date234070
|
Node: -X Value in specified commodity234734
|
||||||
Ref: #valuation-date234247
|
Ref: #x-value-in-specified-commodity234935
|
||||||
Node: Finding market price235030
|
Node: Valuation date235084
|
||||||
Ref: #finding-market-price235241
|
Ref: #valuation-date235261
|
||||||
Node: --infer-market-prices market prices from transactions236410
|
Node: Finding market price236044
|
||||||
Ref: #infer-market-prices-market-prices-from-transactions236692
|
Ref: #finding-market-price236255
|
||||||
Node: Valuation commodity239454
|
Node: --infer-market-prices market prices from transactions237424
|
||||||
Ref: #valuation-commodity239673
|
Ref: #infer-market-prices-market-prices-from-transactions237706
|
||||||
Node: Simple valuation examples240886
|
Node: Valuation commodity240468
|
||||||
Ref: #simple-valuation-examples241090
|
Ref: #valuation-commodity240687
|
||||||
Node: --value Flexible valuation241749
|
Node: Simple valuation examples241900
|
||||||
Ref: #value-flexible-valuation241959
|
Ref: #simple-valuation-examples242104
|
||||||
Node: More valuation examples243603
|
Node: --value Flexible valuation242763
|
||||||
Ref: #more-valuation-examples243818
|
Ref: #value-flexible-valuation242973
|
||||||
Node: Interaction of valuation and queries245088
|
Node: More valuation examples244617
|
||||||
Ref: #interaction-of-valuation-and-queries245335
|
Ref: #more-valuation-examples244832
|
||||||
Node: Effect of valuation on reports245807
|
Node: Interaction of valuation and queries246102
|
||||||
Ref: #effect-of-valuation-on-reports246010
|
Ref: #interaction-of-valuation-and-queries246349
|
||||||
Node: PART 4 COMMANDS253707
|
Node: Effect of valuation on reports246821
|
||||||
Ref: #part-4-commands253856
|
Ref: #effect-of-valuation-on-reports247024
|
||||||
Node: Commands overview254235
|
Node: PART 4 COMMANDS254721
|
||||||
Ref: #commands-overview254369
|
Ref: #part-4-commands254870
|
||||||
Node: DATA ENTRY254548
|
Node: Commands overview255249
|
||||||
Ref: #data-entry254672
|
Ref: #commands-overview255383
|
||||||
Node: DATA CREATION254871
|
Node: DATA ENTRY255562
|
||||||
Ref: #data-creation255025
|
Ref: #data-entry255686
|
||||||
Node: DATA MANAGEMENT255143
|
Node: DATA CREATION255885
|
||||||
Ref: #data-management255308
|
Ref: #data-creation256039
|
||||||
Node: REPORTS FINANCIAL255429
|
Node: DATA MANAGEMENT256157
|
||||||
Ref: #reports-financial255604
|
Ref: #data-management256322
|
||||||
Node: REPORTS VERSATILE255909
|
Node: REPORTS FINANCIAL256443
|
||||||
Ref: #reports-versatile256082
|
Ref: #reports-financial256618
|
||||||
Node: REPORTS BASIC256335
|
Node: REPORTS VERSATILE256923
|
||||||
Ref: #reports-basic256487
|
Ref: #reports-versatile257096
|
||||||
Node: HELP256996
|
Node: REPORTS BASIC257349
|
||||||
Ref: #help257118
|
Ref: #reports-basic257501
|
||||||
Node: ADD-ONS257228
|
Node: HELP258010
|
||||||
Ref: #add-ons257334
|
Ref: #help258132
|
||||||
Node: accounts257913
|
Node: ADD-ONS258242
|
||||||
Ref: #accounts258046
|
Ref: #add-ons258348
|
||||||
Node: activity259933
|
Node: accounts258927
|
||||||
Ref: #activity260052
|
Ref: #accounts259060
|
||||||
Node: add260426
|
Node: activity260947
|
||||||
Ref: #add260536
|
Ref: #activity261066
|
||||||
Node: aregister263347
|
Node: add261440
|
||||||
Ref: #aregister263468
|
Ref: #add261550
|
||||||
Node: aregister and posting dates266356
|
Node: aregister264361
|
||||||
Ref: #aregister-and-posting-dates266501
|
Ref: #aregister264482
|
||||||
Node: balance267257
|
Node: aregister and posting dates267370
|
||||||
Ref: #balance267383
|
Ref: #aregister-and-posting-dates267515
|
||||||
Node: balance features268368
|
Node: balance268271
|
||||||
Ref: #balance-features268508
|
Ref: #balance268397
|
||||||
Node: Simple balance report270474
|
Node: balance features269382
|
||||||
Ref: #simple-balance-report270659
|
Ref: #balance-features269522
|
||||||
Node: Balance report line format272284
|
Node: Simple balance report271488
|
||||||
Ref: #balance-report-line-format272486
|
Ref: #simple-balance-report271673
|
||||||
Node: Filtered balance report274644
|
Node: Balance report line format273298
|
||||||
Ref: #filtered-balance-report274836
|
Ref: #balance-report-line-format273500
|
||||||
Node: List or tree mode275163
|
Node: Filtered balance report275658
|
||||||
Ref: #list-or-tree-mode275331
|
Ref: #filtered-balance-report275850
|
||||||
Node: Depth limiting276676
|
Node: List or tree mode276177
|
||||||
Ref: #depth-limiting276842
|
Ref: #list-or-tree-mode276345
|
||||||
Node: Dropping top-level accounts277443
|
Node: Depth limiting277690
|
||||||
Ref: #dropping-top-level-accounts277643
|
Ref: #depth-limiting277856
|
||||||
Node: Showing declared accounts277953
|
Node: Dropping top-level accounts278457
|
||||||
Ref: #showing-declared-accounts278152
|
Ref: #dropping-top-level-accounts278657
|
||||||
Node: Sorting by amount278683
|
Node: Showing declared accounts278967
|
||||||
Ref: #sorting-by-amount278850
|
Ref: #showing-declared-accounts279166
|
||||||
Node: Percentages279520
|
Node: Sorting by amount279697
|
||||||
Ref: #percentages279679
|
Ref: #sorting-by-amount279864
|
||||||
Node: Multi-period balance report280227
|
Node: Percentages280534
|
||||||
Ref: #multi-period-balance-report280427
|
Ref: #percentages280693
|
||||||
Node: Balance change end balance282702
|
Node: Multi-period balance report281241
|
||||||
Ref: #balance-change-end-balance282911
|
Ref: #multi-period-balance-report281441
|
||||||
Node: Balance report types284339
|
Node: Balance change end balance283716
|
||||||
Ref: #balance-report-types284520
|
Ref: #balance-change-end-balance283925
|
||||||
Node: Calculation type285018
|
Node: Balance report types285353
|
||||||
Ref: #calculation-type285173
|
Ref: #balance-report-types285534
|
||||||
Node: Accumulation type285722
|
Node: Calculation type286032
|
||||||
Ref: #accumulation-type285902
|
Ref: #calculation-type286187
|
||||||
Node: Valuation type286804
|
Node: Accumulation type286736
|
||||||
Ref: #valuation-type286992
|
Ref: #accumulation-type286916
|
||||||
Node: Combining balance report types287993
|
Node: Valuation type287818
|
||||||
Ref: #combining-balance-report-types288187
|
Ref: #valuation-type288006
|
||||||
Node: Budget report290025
|
Node: Combining balance report types289007
|
||||||
Ref: #budget-report290187
|
Ref: #combining-balance-report-types289201
|
||||||
Node: Budget report start date295841
|
Node: Budget report291039
|
||||||
Ref: #budget-report-start-date296019
|
Ref: #budget-report291201
|
||||||
Node: Budgets and subaccounts297351
|
Node: Budget report start date296855
|
||||||
Ref: #budgets-and-subaccounts297558
|
Ref: #budget-report-start-date297033
|
||||||
Node: Selecting budget goals300998
|
Node: Budgets and subaccounts298365
|
||||||
Ref: #selecting-budget-goals301197
|
Ref: #budgets-and-subaccounts298572
|
||||||
Node: Budget vs forecast302232
|
Node: Selecting budget goals302012
|
||||||
Ref: #budget-vs-forecast302391
|
Ref: #selecting-budget-goals302211
|
||||||
Node: Balance report layout304021
|
Node: Budget vs forecast303246
|
||||||
Ref: #balance-report-layout304201
|
Ref: #budget-vs-forecast303405
|
||||||
Node: Useful balance reports312386
|
Node: Balance report layout305035
|
||||||
Ref: #useful-balance-reports312546
|
Ref: #balance-report-layout305215
|
||||||
Node: balancesheet313631
|
Node: Useful balance reports313400
|
||||||
Ref: #balancesheet313776
|
Ref: #useful-balance-reports313560
|
||||||
Node: balancesheetequity315103
|
Node: balancesheet314645
|
||||||
Ref: #balancesheetequity315261
|
Ref: #balancesheet314790
|
||||||
Node: cashflow316657
|
Node: balancesheetequity316117
|
||||||
Ref: #cashflow316788
|
Ref: #balancesheetequity316275
|
||||||
Node: check318223
|
Node: cashflow317671
|
||||||
Ref: #check318337
|
Ref: #cashflow317802
|
||||||
Node: Default checks319141
|
Node: check319237
|
||||||
Ref: #default-checks319267
|
Ref: #check319351
|
||||||
Node: Strict checks319764
|
Node: Default checks320155
|
||||||
Ref: #strict-checks319909
|
Ref: #default-checks320281
|
||||||
Node: Other checks320389
|
Node: Strict checks320778
|
||||||
Ref: #other-checks320531
|
Ref: #strict-checks320923
|
||||||
Node: Custom checks321064
|
Node: Other checks321403
|
||||||
Ref: #custom-checks321221
|
Ref: #other-checks321545
|
||||||
Node: More about specific checks321638
|
Node: Custom checks322078
|
||||||
Ref: #more-about-specific-checks321800
|
Ref: #custom-checks322235
|
||||||
Node: close322506
|
Node: More about specific checks322652
|
||||||
Ref: #close322617
|
Ref: #more-about-specific-checks322814
|
||||||
Node: close and balance assertions326082
|
Node: close323520
|
||||||
Ref: #close-and-balance-assertions326260
|
Ref: #close323631
|
||||||
Node: Example retain earnings327411
|
Node: close and balance assertions327096
|
||||||
Ref: #example-retain-earnings327628
|
Ref: #close-and-balance-assertions327274
|
||||||
Node: Example migrate balances to a new file328060
|
Node: Example retain earnings328425
|
||||||
Ref: #example-migrate-balances-to-a-new-file328325
|
Ref: #example-retain-earnings328642
|
||||||
Node: Example excluding closing/opening transactions328901
|
Node: Example migrate balances to a new file329074
|
||||||
Ref: #example-excluding-closingopening-transactions329150
|
Ref: #example-migrate-balances-to-a-new-file329339
|
||||||
Node: codes330368
|
Node: Example excluding closing/opening transactions329915
|
||||||
Ref: #codes330485
|
Ref: #example-excluding-closingopening-transactions330164
|
||||||
Node: commodities331349
|
Node: codes331382
|
||||||
Ref: #commodities331477
|
Ref: #codes331499
|
||||||
Node: demo331547
|
Node: commodities332363
|
||||||
Ref: #demo331668
|
Ref: #commodities332491
|
||||||
Node: descriptions332584
|
Node: demo332561
|
||||||
Ref: #descriptions332714
|
Ref: #demo332682
|
||||||
Node: diff333005
|
Node: descriptions333598
|
||||||
Ref: #diff333120
|
Ref: #descriptions333728
|
||||||
Node: files334162
|
Node: diff334019
|
||||||
Ref: #files334271
|
Ref: #diff334134
|
||||||
Node: help334412
|
Node: files335176
|
||||||
Ref: #help-1334521
|
Ref: #files335285
|
||||||
Node: import335894
|
Node: help335426
|
||||||
Ref: #import336017
|
Ref: #help-1335535
|
||||||
Node: Deduplication337125
|
Node: import336908
|
||||||
Ref: #deduplication337250
|
Ref: #import337031
|
||||||
Node: Import testing339269
|
Node: Deduplication338139
|
||||||
Ref: #import-testing339434
|
Ref: #deduplication338264
|
||||||
Node: Importing balance assignments340277
|
Node: Import testing340283
|
||||||
Ref: #importing-balance-assignments340483
|
Ref: #import-testing340448
|
||||||
Node: Commodity display styles341132
|
Node: Importing balance assignments341291
|
||||||
Ref: #commodity-display-styles341305
|
Ref: #importing-balance-assignments341497
|
||||||
Node: incomestatement341434
|
Node: Commodity display styles342146
|
||||||
Ref: #incomestatement341576
|
Ref: #commodity-display-styles342319
|
||||||
Node: notes342904
|
Node: incomestatement342448
|
||||||
Ref: #notes343026
|
Ref: #incomestatement342590
|
||||||
Node: payees343388
|
Node: notes343918
|
||||||
Ref: #payees343503
|
Ref: #notes344040
|
||||||
Node: prices344022
|
Node: payees344402
|
||||||
Ref: #prices344137
|
Ref: #payees344517
|
||||||
Node: print344790
|
Node: prices345036
|
||||||
Ref: #print344905
|
Ref: #prices345151
|
||||||
Node: print explicitness345881
|
Node: print345804
|
||||||
Ref: #print-explicitness346024
|
Ref: #print345919
|
||||||
Node: print amount style346803
|
Node: print explicitness346895
|
||||||
Ref: #print-amount-style346973
|
Ref: #print-explicitness347038
|
||||||
Node: print parseability348025
|
Node: print amount style347817
|
||||||
Ref: #print-parseability348197
|
Ref: #print-amount-style347987
|
||||||
Node: print other features348946
|
Node: print parseability349039
|
||||||
Ref: #print-other-features349125
|
Ref: #print-parseability349211
|
||||||
Node: print output format349646
|
Node: print other features349960
|
||||||
Ref: #print-output-format349794
|
Ref: #print-other-features350139
|
||||||
Node: register352438
|
Node: print output format350660
|
||||||
Ref: #register352560
|
Ref: #print-output-format350808
|
||||||
Node: Custom register output357591
|
Node: register353927
|
||||||
Ref: #custom-register-output357722
|
Ref: #register354049
|
||||||
Node: rewrite359066
|
Node: Custom register output359080
|
||||||
Ref: #rewrite359184
|
Ref: #custom-register-output359211
|
||||||
Node: Re-write rules in a file361082
|
Node: rewrite360555
|
||||||
Ref: #re-write-rules-in-a-file361245
|
Ref: #rewrite360673
|
||||||
Node: Diff output format362394
|
Node: Re-write rules in a file362571
|
||||||
Ref: #diff-output-format362577
|
Ref: #re-write-rules-in-a-file362734
|
||||||
Node: rewrite vs print --auto363669
|
Node: Diff output format363883
|
||||||
Ref: #rewrite-vs.-print---auto363829
|
Ref: #diff-output-format364066
|
||||||
Node: roi364385
|
Node: rewrite vs print --auto365158
|
||||||
Ref: #roi364492
|
Ref: #rewrite-vs.-print---auto365318
|
||||||
Node: Spaces and special characters in --inv and --pnl366304
|
Node: roi365874
|
||||||
Ref: #spaces-and-special-characters-in---inv-and---pnl366544
|
Ref: #roi365981
|
||||||
Node: Semantics of --inv and --pnl367032
|
Node: Spaces and special characters in --inv and --pnl367793
|
||||||
Ref: #semantics-of---inv-and---pnl367271
|
Ref: #spaces-and-special-characters-in---inv-and---pnl368033
|
||||||
Node: IRR and TWR explained369121
|
Node: Semantics of --inv and --pnl368521
|
||||||
Ref: #irr-and-twr-explained369281
|
Ref: #semantics-of---inv-and---pnl368760
|
||||||
Node: stats372534
|
Node: IRR and TWR explained370610
|
||||||
Ref: #stats372642
|
Ref: #irr-and-twr-explained370770
|
||||||
Node: tags374029
|
Node: stats374023
|
||||||
Ref: #tags-1374136
|
Ref: #stats374131
|
||||||
Node: test375145
|
Node: tags375518
|
||||||
Ref: #test375238
|
Ref: #tags-1375625
|
||||||
Node: PART 5 COMMON TASKS375980
|
Node: test376634
|
||||||
Ref: #part-5-common-tasks376126
|
Ref: #test376727
|
||||||
Node: Getting help376424
|
Node: PART 5 COMMON TASKS377469
|
||||||
Ref: #getting-help376565
|
Ref: #part-5-common-tasks377615
|
||||||
Node: Constructing command lines377325
|
Node: Getting help377913
|
||||||
Ref: #constructing-command-lines377526
|
Ref: #getting-help378054
|
||||||
Node: Starting a journal file378183
|
Node: Constructing command lines378814
|
||||||
Ref: #starting-a-journal-file378385
|
Ref: #constructing-command-lines379015
|
||||||
Node: Setting LEDGER_FILE379587
|
Node: Starting a journal file379672
|
||||||
Ref: #setting-ledger_file379779
|
Ref: #starting-a-journal-file379874
|
||||||
Node: Setting opening balances380736
|
Node: Setting LEDGER_FILE381076
|
||||||
Ref: #setting-opening-balances380937
|
Ref: #setting-ledger_file381268
|
||||||
Node: Recording transactions384078
|
Node: Setting opening balances382225
|
||||||
Ref: #recording-transactions384267
|
Ref: #setting-opening-balances382426
|
||||||
Node: Reconciling384823
|
Node: Recording transactions385567
|
||||||
Ref: #reconciling384975
|
Ref: #recording-transactions385756
|
||||||
Node: Reporting387232
|
Node: Reconciling386312
|
||||||
Ref: #reporting387381
|
Ref: #reconciling386464
|
||||||
Node: Migrating to a new file391366
|
Node: Reporting388721
|
||||||
Ref: #migrating-to-a-new-file391523
|
Ref: #reporting388870
|
||||||
Node: BUGS391822
|
Node: Migrating to a new file392855
|
||||||
Ref: #bugs391912
|
Ref: #migrating-to-a-new-file393012
|
||||||
Node: Troubleshooting392791
|
Node: BUGS393311
|
||||||
Ref: #troubleshooting392891
|
Ref: #bugs393401
|
||||||
|
Node: Troubleshooting394280
|
||||||
|
Ref: #troubleshooting394380
|
||||||
|
|
||||||
End Tag Table
|
End Tag Table
|
||||||
|
|
||||||
|
|||||||
1380
hledger/hledger.txt
1380
hledger/hledger.txt
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user