;doc: update manuals

This commit is contained in:
Simon Michael 2023-05-26 09:28:53 -10:00
parent 32f616f666
commit d2cefedffb
13 changed files with 5055 additions and 4528 deletions

View File

@ -1,2 +1,2 @@
m4_dnl Date to show in man pages. Updated by "Shake manuals"
m4_define({{_monthyear_}}, {{April 2023}})m4_dnl
m4_define({{_monthyear_}}, {{May 2023}})m4_dnl

View File

@ -1,2 +1,2 @@
m4_dnl Date to show in man pages. Updated by "Shake manuals"
m4_define({{_monthyear_}}, {{April 2023}})m4_dnl
m4_define({{_monthyear_}}, {{May 2023}})m4_dnl

View File

@ -1,5 +1,5 @@
.TH "HLEDGER-UI" "1" "April 2023" "hledger-ui-1.29.99 " "hledger User Manuals"
.TH "HLEDGER-UI" "1" "May 2023" "hledger-ui-1.29.99 " "hledger User Manuals"
@ -30,12 +30,13 @@ limited data entry capability.
It is easier than hledger\[aq]s command-line interface, and sometimes
quicker and more convenient than the web interface.
.PP
Like hledger, it reads data from one or more files in journal,
timeclock, timedot, or CSV format.
The default file is \f[V].hledger.journal\f[R] in your home directory;
this can be overridden with one or more \f[V]-f FILE\f[R] options, or
the \f[V]LEDGER_FILE\f[R] environment variable.
For more about this see hledger(1), hledger_journal(5) etc.
Like hledger, it reads from (and appends to) a journal file specified by
the \f[V]LEDGER_FILE\f[R] environment variable (defaulting to
\f[V]$HOME/.hledger.journal\f[R]); or you can specify files with
\f[V]-f\f[R] options.
It can also read timeclock files, timedot files, or any CSV/SSV/TSV file
with a date field.
(See hledger(1) -> Input for details.)
.PP
Unlike hledger, hledger-ui hides all future-dated transactions by
default.
@ -179,17 +180,29 @@ convert amounts to their market value in commodity COMM
\f[V]--value\f[R]
convert amounts to cost or market value, more flexibly than -B/-V/-X
.TP
\f[V]--infer-market-prices\f[R]
use transaction prices (recorded with \[at] or \[at]\[at]) as additional
market prices, as if they were P directives
\f[V]--infer-equity\f[R]
infer conversion equity postings from costs
.TP
\f[V]--auto\f[R]
apply automated posting rules to modify transactions.
\f[V]--infer-costs\f[R]
infer costs from conversion equity postings
.TP
\f[V]--infer-market-prices\f[R]
use costs as additional market prices, as if they were P directives
.TP
\f[V]--forecast\f[R]
generate future transactions from periodic transaction rules, for the
next 6 months or till report end date.
In hledger-ui, also make ordinary future transactions visible.
generate transactions from periodic rules,
between the latest recorded txn and 6 months from today,
or during the specified PERIOD (= is required).
Auto posting rules will be applied to these transactions as well.
Also, in hledger-ui make future-dated transactions visible.
.TP
\f[V]--auto\f[R]
generate extra postings by applying auto posting rules to all txns (not
just forecast txns)
.TP
\f[V]--verbose-tags\f[R]
add visible tags indicating transactions or postings which have been
generated/modified
.TP
\f[V]--commodity-style\f[R]
Override the commodity style in the output for the specified commodity.
@ -515,23 +528,25 @@ This leaves more mental bandwidth for your accounting.
Of course you can still interact with hledger-ui when needed, eg to
toggle cleared mode, or to explore the history.
.PP
Here are some current limitations to be aware of:
There are currently some limitations with \f[V]--watch\f[R]:
.PP
Changes might not be detected with certain editors, possibly including
Jetbrains IDEs, \f[V]gedit\f[R], other Gnome applications; or on certain
unusual filesystems.
(#1617, #911).
To work around, reload manually by pressing \f[V]g\f[R] in the
hledger-ui window.
(Or see #1617 for another workaround, and let us know if it works for
you.)
It may not work correctly for you, depending on platform or system
configuration.
(Eg #836.)
.PP
CPU and memory usage can sometimes gradually increase, if
\f[V]hledger-ui --watch\f[R] is left running for days.
(Possibly correlated with certain platforms, many transactions, and/or
large numbers of other files present).
To work around, \f[V]q\f[R]uit and restart it, or (where supported)
suspend (\f[V]CTRL-z\f[R]) and restart it (\f[V]fg\f[R]).
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
\f[V]CTRL-z\f[R] \f[V]fg\f[R] may be enough).
.PP
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
filesystems.
(To work around, press \f[V]g\f[R] to reload manually, or try
#1617\[aq]s \f[V]fs.inotify.max_user_watches\f[R] workaround and let us
know.)
.PP
If you are viewing files mounted from another machine, the system clocks
on both machines should be roughly in agreement.
.SS Debug output
.PP
You can add \f[V]--debug[=N]\f[R] to the command line to log debug
@ -544,92 +559,29 @@ N ranges from 1 (least output, the default) to 9 (maximum output).
\f[B]COLUMNS\f[R] The screen width to use.
Default: the full terminal width.
.PP
\f[B]LEDGER_FILE\f[R] The journal file path when not specified with
\f[V]-f\f[R].
.PP
On unix computers, the default value is:
\f[V]\[ti]/.hledger.journal\f[R].
.PP
A more typical value is something like
\f[V]\[ti]/finance/YYYY.journal\f[R], where \f[V]\[ti]/finance\f[R] is a
version-controlled finance directory and YYYY is the current year.
Or, \f[V]\[ti]/finance/current.journal\f[R], where current.journal is a
symbolic link to YYYY.journal.
.PP
The usual way to set this permanently is to add a command to one of your
shell\[aq]s startup files (eg \f[V]\[ti]/.profile\f[R]):
.IP
.nf
\f[C]
export LEDGER_FILE=\[ti]/finance/current.journal\[ga]
\f[R]
.fi
.PP
On some Mac computers, there is a more thorough way to set environment
variables, that will also affect applications started from the GUI (eg,
Emacs started from a dock icon): In
\f[V]\[ti]/.MacOSX/environment.plist\f[R], add an entry like:
.IP
.nf
\f[C]
{
\[dq]LEDGER_FILE\[dq] : \[dq]\[ti]/finance/current.journal\[dq]
}
\f[R]
.fi
.PP
For this to take effect you might need to \f[V]killall Dock\f[R], or
reboot.
.PP
On Windows computers, the default value is probably
\f[V]C:\[rs]Users\[rs]YOURNAME\[rs].hledger.journal\f[R].
You can change this by running a command like this in a powershell
window (let us know if you need to be an Administrator, and if this
persists across a reboot):
.IP
.nf
\f[C]
> setx LEDGER_FILE \[dq]C:\[rs]Users\[rs]MyUserName\[rs]finance\[rs]2021.journal\[dq]
\f[R]
.fi
.PP
Or, change it in settings: see
https://www.java.com/en/download/help/path.html.
.SH FILES
.PP
Reads data from one or more files in journal, timeclock, timedot, or CSV
format.
The default file is \f[V].hledger.journal\f[R] in your home directory;
this can be overridden with one or more \f[V]-f FILE\f[R] options, or
the \f[V]LEDGER_FILE\f[R] environment variable.
\f[B]LEDGER_FILE\f[R] The main journal file to use when not specified
with \f[V]-f/--file\f[R].
Default: \f[V]$HOME/.hledger.journal\f[R].
.SH BUGS
.PP
We welcome bug reports in the hledger issue tracker (shortcut:
http://bugs.hledger.org), or on the #hledger chat or hledger mail list
(https://hledger.org/support).
.PP
Some known issues:
.PP
\f[V]-f-\f[R] doesn\[aq]t work (hledger-ui can\[aq]t read from stdin).
.PP
\f[V]-V\f[R] affects only the accounts screen.
If you press \f[V]g\f[R] with large files, there could be a noticeable
pause.
.PP
When you press \f[V]g\f[R], the current and all previous screens are
regenerated, which may cause a noticeable pause with large files.
Also there is no visual indication that this is in progress.
The Transaction screen does not update from file changes until you exit
and re-endter it (see SCREENS > Transaction above).
.PP
\f[V]--watch\f[R] is not yet fully robust.
It works well for normal usage, but many file changes in a short time
(eg saving the file thousands of times with an editor macro) can cause
problems at least on OSX.
Symptoms include: unresponsive UI, periodic resetting of the cursor
position, momentary display of parse errors, high CPU usage eventually
subsiding, and possibly a small but persistent build-up of CPU usage
until the program is restarted.
.PP
Also, if you are viewing files mounted from another machine,
\f[V]-w/--watch\f[R] requires that both machine clocks are roughly in
step.
\f[V]--watch\f[R] is not yet fully robust on all platforms (see Watch
mode above).
.SH "REPORTING BUGS"
Report bugs at http://bugs.hledger.org
(or on the #hledger chat or hledger mail list)
.SH AUTHORS
Simon Michael <simon@joyful.com> and contributors.
.br

View File

@ -31,11 +31,11 @@ limited data entry capability. It is easier than hledger's command-line
interface, and sometimes quicker and more convenient than the web
interface.
Like hledger, it reads data from one or more files in journal,
timeclock, timedot, or CSV format. The default file is
'.hledger.journal' in your home directory; this can be overridden with
one or more '-f FILE' options, or the 'LEDGER_FILE' environment
variable. For more about this see hledger(1), hledger_journal(5) etc.
Like hledger, it reads from (and appends to) a journal file specified
by the 'LEDGER_FILE' environment variable (defaulting to
'$HOME/.hledger.journal'); or you can specify files with '-f' options.
It can also read timeclock files, timedot files, or any CSV/SSV/TSV file
with a date field. (See hledger(1) -> Input for details.)
Unlike hledger, hledger-ui hides all future-dated transactions by
default. They can be revealed, along with any rule-generated periodic
@ -50,7 +50,6 @@ enable "forecast mode".
* SCREENS::
* TIPS::
* ENVIRONMENT::
* FILES::
* BUGS::

@ -200,18 +199,30 @@ the data.
convert amounts to cost or market value, more flexibly than
-B/-V/-X
'--infer-equity'
infer conversion equity postings from costs
'--infer-costs'
infer costs from conversion equity postings
'--infer-market-prices'
use transaction prices (recorded with @ or @@) as additional market
prices, as if they were P directives
'--auto'
apply automated posting rules to modify transactions.
use costs as additional market prices, as if they were P directives
'--forecast'
generate future transactions from periodic transaction rules, for
the next 6 months or till report end date. In hledger-ui, also
make ordinary future transactions visible.
generate transactions from periodic rules, between the latest
recorded txn and 6 months from today, or during the specified
PERIOD (= is required). Auto posting rules will be applied to
these transactions as well. Also, in hledger-ui make future-dated
transactions visible.
'--auto'
generate extra postings by applying auto posting rules to all txns
(not just forecast txns)
'--verbose-tags'
add visible tags indicating transactions or postings which have
been generated/modified
'--commodity-style'
Override the commodity style in the output for the specified
@ -575,19 +586,22 @@ bandwidth for your accounting. Of course you can still interact with
hledger-ui when needed, eg to toggle cleared mode, or to explore the
history.
Here are some current limitations to be aware of:
There are currently some limitations with '--watch':
Changes might not be detected with certain editors, possibly
including Jetbrains IDEs, 'gedit', other Gnome applications; or on
certain unusual filesystems. (#1617, #911). To work around, reload
manually by pressing 'g' in the hledger-ui window. (Or see #1617 for
another workaround, and let us know if it works for you.)
It may not work correctly for you, depending on platform or system
configuration. (Eg #836.)
CPU and memory usage can sometimes gradually increase, if 'hledger-ui
--watch' is left running for days. (Possibly correlated with certain
platforms, many transactions, and/or large numbers of other files
present). To work around, 'q'uit and restart it, or (where supported)
suspend ('CTRL-z') and restart it ('fg').
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
'CTRL-z' 'fg' may be enough).
It will not detect file changes made by certain editors, such as
Jetbrains IDEs or 'gedit', or on certain less common filesystems. (To
work around, press 'g' to reload manually, or try #1617's
'fs.inotify.max_user_watches' workaround and let us know.)
If you are viewing files mounted from another machine, the system
clocks on both machines should be roughly in agreement.

File: hledger-ui.info, Node: Debug output, Prev: Watch mode, Up: TIPS
@ -600,123 +614,75 @@ will be logged to the file 'hledger-ui.log' in the current directory. N
ranges from 1 (least output, the default) to 9 (maximum output).

File: hledger-ui.info, Node: ENVIRONMENT, Next: FILES, Prev: TIPS, Up: Top
File: hledger-ui.info, Node: ENVIRONMENT, Next: BUGS, Prev: TIPS, Up: Top
6 ENVIRONMENT
*************
*COLUMNS* The screen width to use. Default: the full terminal width.
*LEDGER_FILE* The journal file path when not specified with '-f'.
On unix computers, the default value is: '~/.hledger.journal'.
A more typical value is something like '~/finance/YYYY.journal',
where '~/finance' is a version-controlled finance directory and YYYY is
the current year. Or, '~/finance/current.journal', where
current.journal is a symbolic link to YYYY.journal.
The usual way to set this permanently is to add a command to one of
your shell's startup files (eg '~/.profile'):
export LEDGER_FILE=~/finance/current.journal`
On some Mac computers, there is a more thorough way to set
environment variables, that will also affect applications started from
the GUI (eg, Emacs started from a dock icon): In
'~/.MacOSX/environment.plist', add an entry like:
{
"LEDGER_FILE" : "~/finance/current.journal"
}
For this to take effect you might need to 'killall Dock', or reboot.
On Windows computers, the default value is probably
'C:\Users\YOURNAME\.hledger.journal'. You can change this by running a
command like this in a powershell window (let us know if you need to be
an Administrator, and if this persists across a reboot):
> setx LEDGER_FILE "C:\Users\MyUserName\finance\2021.journal"
Or, change it in settings: see
https://www.java.com/en/download/help/path.html.
*LEDGER_FILE* The main journal file to use when not specified with
'-f/--file'. Default: '$HOME/.hledger.journal'.

File: hledger-ui.info, Node: FILES, Next: BUGS, Prev: ENVIRONMENT, Up: Top
File: hledger-ui.info, Node: BUGS, Prev: ENVIRONMENT, Up: Top
7 FILES
*******
Reads data from one or more files in journal, timeclock, timedot, or CSV
format. The default file is '.hledger.journal' in your home directory;
this can be overridden with one or more '-f FILE' options, or the
'LEDGER_FILE' environment variable.

File: hledger-ui.info, Node: BUGS, Prev: FILES, Up: Top
8 BUGS
7 BUGS
******
'-f-' doesn't work (hledger-ui can't read from stdin).
We welcome bug reports in the hledger issue tracker (shortcut:
http://bugs.hledger.org), or on the #hledger chat or hledger mail list
(https://hledger.org/support).
'-V' affects only the accounts screen.
Some known issues:
When you press 'g', the current and all previous screens are
regenerated, which may cause a noticeable pause with large files. Also
there is no visual indication that this is in progress.
'-f-' doesn't work (hledger-ui can't read from stdin).
'--watch' is not yet fully robust. It works well for normal usage,
but many file changes in a short time (eg saving the file thousands of
times with an editor macro) can cause problems at least on OSX. Symptoms
include: unresponsive UI, periodic resetting of the cursor position,
momentary display of parse errors, high CPU usage eventually subsiding,
and possibly a small but persistent build-up of CPU usage until the
program is restarted.
If you press 'g' with large files, there could be a noticeable pause.
Also, if you are viewing files mounted from another machine,
'-w/--watch' requires that both machine clocks are roughly in step.
The Transaction screen does not update from file changes until you
exit and re-endter it (see SCREENS > Transaction above).
'--watch' is not yet fully robust on all platforms (see Watch mode
above).

Tag Table:
Node: Top223
Node: OPTIONS1843
Ref: #options1941
Node: MOUSE7074
Ref: #mouse7169
Node: KEYS7406
Ref: #keys7499
Node: SCREENS12012
Ref: #screens12110
Node: Menu12690
Ref: #menu12783
Node: Cash accounts12978
Ref: #cash-accounts13120
Node: Balance sheet accounts13304
Ref: #balance-sheet-accounts13485
Node: Income statement accounts13605
Ref: #income-statement-accounts13791
Node: All accounts13955
Ref: #all-accounts14101
Node: Register14283
Ref: #register14407
Node: Transaction16369
Ref: #transaction16492
Node: Error17909
Ref: #error18003
Node: TIPS18247
Ref: #tips18346
Node: Watch mode18388
Ref: #watch-mode18495
Node: Debug output19951
Ref: #debug-output20062
Node: ENVIRONMENT20274
Ref: #environment20385
Node: FILES21770
Ref: #files21869
Node: BUGS22117
Ref: #bugs22194
Node: OPTIONS1838
Ref: #options1936
Node: MOUSE7432
Ref: #mouse7527
Node: KEYS7764
Ref: #keys7857
Node: SCREENS12370
Ref: #screens12468
Node: Menu13048
Ref: #menu13141
Node: Cash accounts13336
Ref: #cash-accounts13478
Node: Balance sheet accounts13662
Ref: #balance-sheet-accounts13843
Node: Income statement accounts13963
Ref: #income-statement-accounts14149
Node: All accounts14313
Ref: #all-accounts14459
Node: Register14641
Ref: #register14765
Node: Transaction16727
Ref: #transaction16850
Node: Error18267
Ref: #error18361
Node: TIPS18605
Ref: #tips18704
Node: Watch mode18746
Ref: #watch-mode18853
Node: Debug output20312
Ref: #debug-output20423
Node: ENVIRONMENT20635
Ref: #environment20745
Node: BUGS20936
Ref: #bugs21019

End Tag Table

View File

@ -15,8 +15,8 @@ DESCRIPTION
also the hledger manual for common concepts and file formats.
hledger is a robust, user-friendly, cross-platform set of programs for
tracking money, time, or any other commodity, using double-entry
accounting and a simple, editable file format. hledger is inspired by
tracking money, time, or any other commodity, using double-entry ac-
counting and a simple, editable file format. hledger is inspired by
and largely compatible with ledger(1), and largely interconvertible
with beancount(1).
@ -26,14 +26,14 @@ DESCRIPTION
line interface, and sometimes quicker and more convenient than the web
interface.
Like hledger, it reads data from one or more files in journal, time-
clock, timedot, or CSV format. The default file is .hledger.journal in
your home directory; this can be overridden with one or more -f FILE
options, or the LEDGER_FILE environment variable. For more about this
see hledger(1), hledger_journal(5) etc.
Like hledger, it reads from (and appends to) a journal file specified
by the LEDGER_FILE environment variable (defaulting to
$HOME/.hledger.journal); or you can specify files with -f options. It
can also read timeclock files, timedot files, or any CSV/SSV/TSV file
with a date field. (See hledger(1) -> Input for details.)
Unlike hledger, hledger-ui hides all future-dated transactions by
default. They can be revealed, along with any rule-generated periodic
Unlike hledger, hledger-ui hides all future-dated transactions by de-
fault. They can be revealed, along with any rule-generated periodic
transactions, by pressing the F key (or starting with --forecast) to
enable "forecast mode".
@ -99,8 +99,8 @@ OPTIONS
assignments)
-s --strict
do extra error checking (check that all posted accounts are
declared)
do extra error checking (check that all posted accounts are de-
clared)
hledger reporting options:
@ -132,8 +132,8 @@ OPTIONS
using period expressions syntax
--date2
match the secondary date instead (see command help for other
effects)
match the secondary date instead (see command help for other ef-
fects)
--today=DATE
override today's date (affects relative smart dates, for
@ -162,42 +162,55 @@ OPTIONS
convert amounts to their cost/selling amount at transaction time
-V --market
convert amounts to their market value in default valuation com-
convert amounts to their market value in default valuation com-
modities
-X --exchange=COMM
convert amounts to their market value in commodity COMM
--value
convert amounts to cost or market value, more flexibly than
convert amounts to cost or market value, more flexibly than
-B/-V/-X
--infer-market-prices
use transaction prices (recorded with @ or @@) as additional
market prices, as if they were P directives
--infer-equity
infer conversion equity postings from costs
--auto apply automated posting rules to modify transactions.
--infer-costs
infer costs from conversion equity postings
--infer-market-prices
use costs as additional market prices, as if they were P direc-
tives
--forecast
generate future transactions from periodic transaction rules,
for the next 6 months or till report end date. In hledger-ui,
also make ordinary future transactions visible.
generate transactions from periodic rules, between the latest
recorded txn and 6 months from today, or during the specified
PERIOD (= is required). Auto posting rules will be applied to
these transactions as well. Also, in hledger-ui make future-
dated transactions visible.
--auto generate extra postings by applying auto posting rules to all
txns (not just forecast txns)
--verbose-tags
add visible tags indicating transactions or postings which have
been generated/modified
--commodity-style
Override the commodity style in the output for the specified
Override the commodity style in the output for the specified
commodity. For example 'EUR1.000,00'.
--color=WHEN (or --colour=WHEN)
Should color-supporting commands use ANSI color codes in text
output. 'auto' (default): whenever stdout seems to be a color-
supporting terminal. 'always' or 'yes': always, useful eg when
piping output into 'less -R'. 'never' or 'no': never. A
Should color-supporting commands use ANSI color codes in text
output. 'auto' (default): whenever stdout seems to be a color-
supporting terminal. 'always' or 'yes': always, useful eg when
piping output into 'less -R'. 'never' or 'no': never. A
NO_COLOR environment variable overrides this.
--pretty[=WHEN]
Show prettier output, e.g. using unicode box-drawing charac-
ters. Accepts 'yes' (the default) or 'no' ('y', 'n', 'always',
'never' also work). If you provide an argument you must use
Show prettier output, e.g. using unicode box-drawing charac-
ters. Accepts 'yes' (the default) or 'no' ('y', 'n', 'always',
'never' also work). If you provide an argument you must use
'=', e.g. '--pretty=yes'.
When a reporting option appears more than once in the command line, the
@ -221,11 +234,11 @@ OPTIONS
show debug output (levels 1-9, default: 1)
A @FILE argument will be expanded to the contents of FILE, which should
contain one command line option/argument per line. (To prevent this,
contain one command line option/argument per line. (To prevent this,
insert a -- argument before.)
MOUSE
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:
o Use mouse wheel or trackpad to scroll up and down
@ -237,91 +250,91 @@ MOUSE
KEYS
Keyboard gives more control.
? shows a help dialog listing all keys. (Some of these also appear in
the quick help at the bottom of each screen.) Press ? again (or
ESCAPE, or LEFT, or q) to close it. The following keys work on most
? shows a help dialog listing all keys. (Some of these also appear in
the quick help at the bottom of each screen.) Press ? again (or ES-
CAPE, or LEFT, or q) to close it. The following keys work on most
screens:
The cursor keys navigate: RIGHT or ENTER goes deeper, LEFT returns to
The cursor keys navigate: RIGHT or ENTER goes deeper, LEFT returns to
the previous screen, UP/DOWN/PGUP/PGDN/HOME/END move up and down
through lists. Emacs-style (CTRL-p/CTRL-n/CTRL-f/CTRL-b) and VI-style
(k,j,l,h) movement keys are also supported. A tip: movement speed is
limited by your keyboard repeat rate, to move faster you may want to
adjust it. (If you're on a mac, the karabiner app is one way to do
through lists. Emacs-style (CTRL-p/CTRL-n/CTRL-f/CTRL-b) and VI-style
(k,j,l,h) movement keys are also supported. A tip: movement speed is
limited by your keyboard repeat rate, to move faster you may want to
adjust it. (If you're on a mac, the karabiner app is one way to do
that.)
With shift pressed, the cursor keys adjust the report period, limiting
the transactions to be shown (by default, all are shown). SHIFT-
DOWN/UP steps downward and upward through these standard report period
durations: year, quarter, month, week, day. Then, SHIFT-LEFT/RIGHT
moves to the previous/next period. T sets the report period to today.
With the -w/--watch option, when viewing a "current" period (the cur-
With shift pressed, the cursor keys adjust the report period, limiting
the transactions to be shown (by default, all are shown). SHIFT-
DOWN/UP steps downward and upward through these standard report period
durations: year, quarter, month, week, day. Then, SHIFT-LEFT/RIGHT
moves to the previous/next period. T sets the report period to today.
With the -w/--watch option, when viewing a "current" period (the cur-
rent day, week, month, quarter, or year), the period will move automat-
ically to track the current date. To set a non-standard period, you
ically to track the current date. To set a non-standard period, you
can use / and a date: query.
(Mac users: SHIFT-DOWN/UP keys do not work by default in Terminal, as
of MacOS Monterey. You can configure them as follows: open Terminal,
press CMD-comma to open preferences, click Profiles, select your cur-
(Mac users: SHIFT-DOWN/UP keys do not work by default in Terminal, as
of MacOS Monterey. You can configure them as follows: open Terminal,
press CMD-comma to open preferences, click Profiles, select your cur-
rent terminal profile on the left, click Keyboard on the right, click +
and add this for Shift-Down: \033[1;2B, click + and add this for Shift-
Up: \033[1;2A. Press the Escape key to enter the \033 part, you can't
Up: \033[1;2A. Press the Escape key to enter the \033 part, you can't
type it directly.)
/ lets you set a general filter query limiting the data 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; press ENTER to set
/ lets you set a general filter query limiting the data 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; press ENTER to set
it, or ESCAPEto cancel. There are also keys for quickly adjusting some
common filters like account depth and transaction status (see below).
common filters like account depth and transaction status (see below).
BACKSPACE or DELETE removes all filters, showing all transactions.
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 trans-
actions generated by rule. F toggles forecast mode, in which
future/forecasted transactions are shown.
actions generated by rule. F toggles forecast mode, in which fu-
ture/forecasted transactions are shown.
ESCAPE resets the UI state and jumps back to the top screen, restoring
the app's initial state at startup. Or, it cancels minibuffer data
entry or the help dialog.
ESCAPE resets the UI state and jumps back to the top screen, restoring
the app's initial state at startup. Or, it cancels minibuffer data en-
try or the help dialog.
CTRL-l redraws the screen and centers the selection if possible (selec-
tions near the top won't be centered, since we don't scroll above the
tions near the top won't be centered, since we don't scroll above the
top).
g reloads from the data file(s) and updates the current screen and any
previous screens. (With large files, this could cause a noticeable
g reloads from the data file(s) and updates the current screen and any
previous screens. (With large files, this could cause a noticeable
pause.)
I toggles balance assertion checking. Disabling balance assertions
I toggles balance assertion checking. Disabling balance assertions
temporarily can be useful for troubleshooting.
a runs command-line hledger's add command, and reloads the updated
a runs command-line hledger's add command, and reloads the updated
file. This allows some basic data entry.
A is like a, but runs the hledger-iadd tool, which provides a terminal
interface. This key will be available if hledger-iadd is installed in
A is like a, but runs the hledger-iadd tool, which provides a terminal
interface. This key will be available if hledger-iadd is installed in
$path.
E runs $HLEDGER_UI_EDITOR, or $EDITOR, or a default (emacsclient -a ""
-nw) on the journal file. With some editors (emacs, vi), the cursor
will be positioned at the current transaction when invoked from the
register and transaction screens, and at the error location (if possi-
E runs $HLEDGER_UI_EDITOR, or $EDITOR, or a default (emacsclient -a ""
-nw) on the journal file. With some editors (emacs, vi), the cursor
will be positioned at the current transaction when invoked from the
register and transaction screens, and at the error location (if possi-
ble) when invoked from the error screen.
B toggles cost mode, showing amounts in their cost's commodity (like
B toggles cost mode, showing amounts in their cost's commodity (like
toggling the -B/--cost flag).
V toggles value mode, showing amounts' current market value in their
default valuation commodity (like toggling the -V/--market flag).
Note, "current market value" means the value on the report end date if
specified, otherwise today. To see the value on another date, you can
temporarily set that as the report end date. Eg: to see a transaction
as it was valued on july 30, go to the accounts or register screen,
V toggles value mode, showing amounts' current market value in their
default valuation commodity (like toggling the -V/--market flag).
Note, "current market value" means the value on the report end date if
specified, otherwise today. To see the value on another date, you can
temporarily set that as the report end date. Eg: to see a transaction
as it was valued on july 30, go to the accounts or register screen,
press /, and add date:-7/30 to the query.
At most one of cost or value mode can be active at once.
There's not yet any visual reminder when cost or value mode is active;
There's not yet any visual reminder when cost or value mode is active;
for now pressing b b v should reliably reset to normal mode.
q quits the application.
@ -329,10 +342,10 @@ KEYS
Additional screen-specific keys are described below.
SCREENS
At startup, hledger-ui shows a menu screen by default. From here you
At startup, hledger-ui shows a menu screen by default. From here you
can navigate to other screens using the cursor keys: UP/DOWN to select,
RIGHT to move to the selected screen, LEFT to return to the previous
screen. Or you can use ESC to return directly to the top menu screen.
RIGHT to move to the selected screen, LEFT to return to the previous
screen. Or you can use ESC to return directly to the top menu screen.
You can also use a command line flag to specific a different startup
screen (--cs, --bs, --is, --all, or --register=ACCT).
@ -398,79 +411,82 @@ SCREENS
R toggles real mode, in which virtual postings are ignored.
z toggles nonzero mode, in which only transactions posting a nonzero
change are shown (hledger-ui shows zero items by default, unlike com-
z toggles nonzero mode, in which only transactions posting a nonzero
change are shown (hledger-ui shows zero items by default, unlike com-
mand-line hledger).
Press RIGHT to view the selected transaction in detail.
Transaction
This screen shows a single transaction, as a general journal entry,
similar to hledger's print command and journal format (hledger_jour-
This screen shows a single transaction, as a general journal entry,
similar to hledger's print command and journal format (hledger_jour-
nal(5)).
The transaction's date(s) and any cleared flag, transaction code,
description, comments, along with all of its account postings are
shown. Simple transactions have two postings, but there can be more
(or in certain cases, fewer).
The transaction's date(s) and any cleared flag, transaction code, de-
scription, comments, along with all of its account postings are shown.
Simple transactions have two postings, but there can be more (or in
certain cases, fewer).
UP and DOWN will step through all transactions listed in the previous
account register screen. In the title bar, the numbers in parentheses
show your position within that account register. They will vary
depending on which account register you came from (remember most trans-
actions appear in multiple account registers). The #N number preceding
UP and DOWN will step through all transactions listed in the previous
account register screen. In the title bar, the numbers in parentheses
show your position within that account register. They will vary de-
pending on which account register you came from (remember most transac-
tions appear in multiple account registers). The #N number preceding
them is the transaction's position within the complete unfiltered jour-
nal, which is a more stable id (at least until the next reload).
On this screen (and the register screen), the E key will open your text
editor with the cursor positioned at the current transaction if possi-
editor with the cursor positioned at the current transaction if possi-
ble.
This screen has a limitation with showing file updates: it will not
show them until you exit and re-enter it. So eg to see the effect of
This screen has a limitation with showing file updates: it will not
show them until you exit and re-enter it. So eg to see the effect of
using the E key, currently you must: - press E, edit and save the file,
then exit the editor, returning to hledger-ui - press g to reload the
file (or use -w/--watch mode) - press LEFT then RIGHT to exit and re-
then exit the editor, returning to hledger-ui - press g to reload the
file (or use -w/--watch mode) - press LEFT then RIGHT to exit and re-
enter the transaction screen.
Error
This screen will appear if there is a problem, such as a parse error,
when you press g to reload. Once you have fixed the problem, press g
This screen will appear if there is a problem, such as a parse error,
when you press g to reload. Once you have fixed the problem, press g
again to reload and resume normal operation. (Or, you can press escape
to cancel the reload attempt.)
TIPS
Watch mode
One of hledger-ui's best features is the auto-reloading -w/--watch
mode. With this flag, it will update the display automatically when-
One of hledger-ui's best features is the auto-reloading -w/--watch
mode. With this flag, it will update the display automatically when-
ever changes are saved to the data files.
This is very useful when reconciling. A good workflow is to have your
bank's online register open in a browser window, for reference; the
journal file open in an editor window; and hledger-ui in watch mode in
This is very useful when reconciling. A good workflow is to have your
bank's online register open in a browser window, for reference; the
journal file open in an editor window; and hledger-ui in watch mode in
a terminal window, eg:
$ hledger-ui --watch --register checking -C
As you mark things cleared in the editor, you can see the effect imme-
diately without having to context switch. This leaves more mental
bandwidth for your accounting. Of course you can still interact with
hledger-ui when needed, eg to toggle cleared mode, or to explore the
As you mark things cleared in the editor, you can see the effect imme-
diately without having to context switch. This leaves more mental
bandwidth for your accounting. Of course you can still interact with
hledger-ui when needed, eg to toggle cleared mode, or to explore the
history.
Here are some current limitations to be aware of:
There are currently some limitations with --watch:
Changes might not be detected with certain editors, possibly including
Jetbrains IDEs, gedit, other Gnome applications; or on certain unusual
filesystems. (#1617, #911). To work around, reload manually by press-
ing g in the hledger-ui window. (Or see #1617 for another workaround,
and let us know if it works for you.)
It may not work correctly for you, depending on platform or system con-
figuration. (Eg #836.)
CPU and memory usage can sometimes gradually increase, if hledger-ui
--watch is left running for days. (Possibly correlated with certain
platforms, many transactions, and/or large numbers of other files
present). To work around, quit and restart it, or (where supported)
suspend (CTRL-z) and restart it (fg).
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
CTRL-z fg may be enough).
It will not detect file changes made by certain editors, such as Jet-
brains IDEs or gedit, or on certain less common filesystems. (To work
around, press g to reload manually, or try #1617's fs.ino-
tify.max_user_watches workaround and let us know.)
If you are viewing files mounted from another machine, the system
clocks on both machines should be roughly in agreement.
Debug output
You can add --debug[=N] to the command line to log debug output. This
@ -480,72 +496,26 @@ TIPS
ENVIRONMENT
COLUMNS The screen width to use. Default: the full terminal width.
LEDGER_FILE The journal file path when not specified with -f.
On unix computers, the default value is: ~/.hledger.journal.
A more typical value is something like ~/finance/YYYY.journal, where
~/finance is a version-controlled finance directory and YYYY is the
current year. Or, ~/finance/current.journal, where current.journal is
a symbolic link to YYYY.journal.
The usual way to set this permanently is to add a command to one of
your shell's startup files (eg ~/.profile):
export LEDGER_FILE=~/finance/current.journal`
On some Mac computers, there is a more thorough way to set environment
variables, that will also affect applications started from the GUI (eg,
Emacs started from a dock icon): In ~/.MacOSX/environment.plist, add an
entry like:
{
"LEDGER_FILE" : "~/finance/current.journal"
}
For this to take effect you might need to killall Dock, or reboot.
On Windows computers, the default value is probably C:\Users\YOUR-
NAME\.hledger.journal. You can change this by running a command like
this in a powershell window (let us know if you need to be an Adminis-
trator, and if this persists across a reboot):
> setx LEDGER_FILE "C:\Users\MyUserName\finance\2021.journal"
Or, change it in settings: see https://www.java.com/en/down-
load/help/path.html.
FILES
Reads data from one or more files in journal, timeclock, timedot, or
CSV format. The default file is .hledger.journal in your home direc-
tory; this can be overridden with one or more -f FILE options, or the
LEDGER_FILE environment variable.
LEDGER_FILE The main journal file to use when not specified with
-f/--file. Default: $HOME/.hledger.journal.
BUGS
We welcome bug reports in the hledger issue tracker (shortcut:
http://bugs.hledger.org), or on the #hledger chat or hledger mail list
(https://hledger.org/support).
Some known issues:
-f- doesn't work (hledger-ui can't read from stdin).
-V affects only the accounts screen.
If you press g with large files, there could be a noticeable pause.
When you press g, the current and all previous screens are regenerated,
which may cause a noticeable pause with large files. Also there is no
visual indication that this is in progress.
The Transaction screen does not update from file changes until you exit
and re-endter it (see SCREENS > Transaction above).
--watch is not yet fully robust. It works well for normal usage, but
many file changes in a short time (eg saving the file thousands of
times with an editor macro) can cause problems at least on OSX. Symp-
toms include: unresponsive UI, periodic resetting of the cursor posi-
tion, momentary display of parse errors, high CPU usage eventually sub-
siding, and possibly a small but persistent build-up of CPU usage until
the program is restarted.
--watch is not yet fully robust on all platforms (see Watch mode
above).
Also, if you are viewing files mounted from another machine, -w/--watch
requires that both machine clocks are roughly in step.
REPORTING BUGS
Report bugs at http://bugs.hledger.org (or on the #hledger chat or
hledger mail list)
AUTHORS
@ -566,4 +536,4 @@ SEE ALSO
hledger-ui-1.29.99 April 2023 HLEDGER-UI(1)
hledger-ui-1.29.99 May 2023 HLEDGER-UI(1)

View File

@ -1,2 +1,2 @@
m4_dnl Date to show in man pages. Updated by "Shake manuals"
m4_define({{_monthyear_}}, {{April 2023}})m4_dnl
m4_define({{_monthyear_}}, {{May 2023}})m4_dnl

View File

@ -1,5 +1,5 @@
.TH "HLEDGER-WEB" "1" "April 2023" "hledger-web-1.29.99 " "hledger User Manuals"
.TH "HLEDGER-WEB" "1" "May 2023" "hledger-web-1.29.99 " "hledger User Manuals"
@ -47,12 +47,13 @@ As a small protection against data loss when running an unprotected
instance, it writes a numbered backup of the main journal file (only) on
every edit.
.PP
Like hledger, it reads data from one or more files in journal,
timeclock, timedot, or CSV format.
The default file is \f[V].hledger.journal\f[R] in your home directory;
this can be overridden with one or more \f[V]-f FILE\f[R] options, or
the \f[V]LEDGER_FILE\f[R] environment variable.
For more about this see hledger(1).
Like hledger, it reads from (and appends to) a journal file specified by
the \f[V]LEDGER_FILE\f[R] environment variable (defaulting to
\f[V]$HOME/.hledger.journal\f[R]); or you can specify files with
\f[V]-f\f[R] options.
It can also read timeclock files, timedot files, or any CSV/SSV/TSV file
with a date field.
(See hledger(1) -> Input for details.)
.PP
hledger-web can be run in three modes:
.IP \[bu] 2
@ -217,17 +218,29 @@ convert amounts to their market value in commodity COMM
\f[V]--value\f[R]
convert amounts to cost or market value, more flexibly than -B/-V/-X
.TP
\f[V]--infer-market-prices\f[R]
use transaction prices (recorded with \[at] or \[at]\[at]) as additional
market prices, as if they were P directives
\f[V]--infer-equity\f[R]
infer conversion equity postings from costs
.TP
\f[V]--auto\f[R]
apply automated posting rules to modify transactions.
\f[V]--infer-costs\f[R]
infer costs from conversion equity postings
.TP
\f[V]--infer-market-prices\f[R]
use costs as additional market prices, as if they were P directives
.TP
\f[V]--forecast\f[R]
generate future transactions from periodic transaction rules, for the
next 6 months or till report end date.
In hledger-ui, also make ordinary future transactions visible.
generate transactions from periodic rules,
between the latest recorded txn and 6 months from today,
or during the specified PERIOD (= is required).
Auto posting rules will be applied to these transactions as well.
Also, in hledger-ui make future-dated transactions visible.
.TP
\f[V]--auto\f[R]
generate extra postings by applying auto posting rules to all txns (not
just forecast txns)
.TP
\f[V]--verbose-tags\f[R]
add visible tags indicating transactions or postings which have been
generated/modified
.TP
\f[V]--commodity-style\f[R]
Override the commodity style in the output for the specified commodity.
@ -611,79 +624,20 @@ stderr, eg:
\f[V]hledger-web --debug=3 2>hledger-web.log\f[R].
.SH ENVIRONMENT
.PP
\f[B]LEDGER_FILE\f[R] The journal file path when not specified with
\f[V]-f\f[R].
.PP
On unix computers, the default value is:
\f[V]\[ti]/.hledger.journal\f[R].
.PP
A more typical value is something like
\f[V]\[ti]/finance/YYYY.journal\f[R], where \f[V]\[ti]/finance\f[R] is a
version-controlled finance directory and YYYY is the current year.
Or, \f[V]\[ti]/finance/current.journal\f[R], where current.journal is a
symbolic link to YYYY.journal.
.PP
The usual way to set this permanently is to add a command to one of your
shell\[aq]s startup files (eg \f[V]\[ti]/.profile\f[R]):
.IP
.nf
\f[C]
export LEDGER_FILE=\[ti]/finance/current.journal\[ga]
\f[R]
.fi
.PP
On some Mac computers, there is a more thorough way to set environment
variables, that will also affect applications started from the GUI (eg,
Emacs started from a dock icon): In
\f[V]\[ti]/.MacOSX/environment.plist\f[R], add an entry like:
.IP
.nf
\f[C]
{
\[dq]LEDGER_FILE\[dq] : \[dq]\[ti]/finance/current.journal\[dq]
}
\f[R]
.fi
.PP
For this to take effect you might need to \f[V]killall Dock\f[R], or
reboot.
.PP
On Windows computers, the default value is probably
\f[V]C:\[rs]Users\[rs]YOURNAME\[rs].hledger.journal\f[R].
You can change this by running a command like this in a powershell
window (let us know if you need to be an Administrator, and if this
persists across a reboot):
.IP
.nf
\f[C]
> setx LEDGER_FILE \[dq]C:\[rs]Users\[rs]MyUserName\[rs]finance\[rs]2021.journal\[dq]
\f[R]
.fi
.PP
Or, change it in settings: see
https://www.java.com/en/download/help/path.html.
.SH FILES
.PP
Reads data from one or more files in journal, timeclock, timedot, or CSV
format.
The default file is \f[V].hledger.journal\f[R] in your home directory;
this can be overridden with one or more \f[V]-f FILE\f[R] options, or
the \f[V]LEDGER_FILE\f[R] environment variable.
\f[B]LEDGER_FILE\f[R] The main journal file to use when not specified
with \f[V]-f/--file\f[R].
Default: \f[V]$HOME/.hledger.journal\f[R].
.SH BUGS
.PP
\f[V]-f-\f[R] doesn\[aq]t work (hledger-web can\[aq]t read from stdin).
We welcome bug reports in the hledger issue tracker (shortcut:
http://bugs.hledger.org), or on the #hledger chat or hledger mail list
(https://hledger.org/support).
.PP
Query arguments and some hledger options are ignored.
Some known issues:
.PP
Does not work in text-mode browsers.
.PP
Does not work well on small screens.
Does not work well on small screens, or in text-mode browsers.
.SH "REPORTING BUGS"
Report bugs at http://bugs.hledger.org
(or on the #hledger chat or hledger mail list)
.SH AUTHORS
Simon Michael <simon@joyful.com> and contributors.
.br

View File

@ -39,11 +39,11 @@ you should put it behind a suitable web proxy. As a small protection
against data loss when running an unprotected instance, it writes a
numbered backup of the main journal file (only) on every edit.
Like hledger, it reads data from one or more files in journal,
timeclock, timedot, or CSV format. The default file is
'.hledger.journal' in your home directory; this can be overridden with
one or more '-f FILE' options, or the 'LEDGER_FILE' environment
variable. For more about this see hledger(1).
Like hledger, it reads from (and appends to) a journal file specified
by the 'LEDGER_FILE' environment variable (defaulting to
'$HOME/.hledger.journal'); or you can specify files with '-f' options.
It can also read timeclock files, timedot files, or any CSV/SSV/TSV file
with a date field. (See hledger(1) -> Input for details.)
hledger-web can be run in three modes:
@ -69,7 +69,6 @@ requests to stdout.
* JSON API::
* DEBUG OUTPUT::
* ENVIRONMENT::
* FILES::
* BUGS::

@ -227,18 +226,30 @@ before options, as shown in the synopsis above.
convert amounts to cost or market value, more flexibly than
-B/-V/-X
'--infer-equity'
infer conversion equity postings from costs
'--infer-costs'
infer costs from conversion equity postings
'--infer-market-prices'
use transaction prices (recorded with @ or @@) as additional market
prices, as if they were P directives
'--auto'
apply automated posting rules to modify transactions.
use costs as additional market prices, as if they were P directives
'--forecast'
generate future transactions from periodic transaction rules, for
the next 6 months or till report end date. In hledger-ui, also
make ordinary future transactions visible.
generate transactions from periodic rules, between the latest
recorded txn and 6 months from today, or during the specified
PERIOD (= is required). Auto posting rules will be applied to
these transactions as well. Also, in hledger-ui make future-dated
transactions visible.
'--auto'
generate extra postings by applying auto posting rules to all txns
(not just forecast txns)
'--verbose-tags'
add visible tags indicating transactions or postings which have
been generated/modified
'--commodity-style'
Override the commodity style in the output for the specified
@ -596,94 +607,49 @@ can usually redirect stderr, eg:
'hledger-web --debug=3 2>hledger-web.log'.

File: hledger-web.info, Node: ENVIRONMENT, Next: FILES, Prev: DEBUG OUTPUT, Up: Top
File: hledger-web.info, Node: ENVIRONMENT, Next: BUGS, Prev: DEBUG OUTPUT, Up: Top
7 ENVIRONMENT
*************
*LEDGER_FILE* The journal file path when not specified with '-f'.
On unix computers, the default value is: '~/.hledger.journal'.
A more typical value is something like '~/finance/YYYY.journal',
where '~/finance' is a version-controlled finance directory and YYYY is
the current year. Or, '~/finance/current.journal', where
current.journal is a symbolic link to YYYY.journal.
The usual way to set this permanently is to add a command to one of
your shell's startup files (eg '~/.profile'):
export LEDGER_FILE=~/finance/current.journal`
On some Mac computers, there is a more thorough way to set
environment variables, that will also affect applications started from
the GUI (eg, Emacs started from a dock icon): In
'~/.MacOSX/environment.plist', add an entry like:
{
"LEDGER_FILE" : "~/finance/current.journal"
}
For this to take effect you might need to 'killall Dock', or reboot.
On Windows computers, the default value is probably
'C:\Users\YOURNAME\.hledger.journal'. You can change this by running a
command like this in a powershell window (let us know if you need to be
an Administrator, and if this persists across a reboot):
> setx LEDGER_FILE "C:\Users\MyUserName\finance\2021.journal"
Or, change it in settings: see
https://www.java.com/en/download/help/path.html.
*LEDGER_FILE* The main journal file to use when not specified with
'-f/--file'. Default: '$HOME/.hledger.journal'.

File: hledger-web.info, Node: FILES, Next: BUGS, Prev: ENVIRONMENT, Up: Top
File: hledger-web.info, Node: BUGS, Prev: ENVIRONMENT, Up: Top
8 FILES
*******
Reads data from one or more files in journal, timeclock, timedot, or CSV
format. The default file is '.hledger.journal' in your home directory;
this can be overridden with one or more '-f FILE' options, or the
'LEDGER_FILE' environment variable.

File: hledger-web.info, Node: BUGS, Prev: FILES, Up: Top
9 BUGS
8 BUGS
******
'-f-' doesn't work (hledger-web can't read from stdin).
We welcome bug reports in the hledger issue tracker (shortcut:
http://bugs.hledger.org), or on the #hledger chat or hledger mail list
(https://hledger.org/support).
Query arguments and some hledger options are ignored.
Some known issues:
Does not work in text-mode browsers.
Does not work well on small screens.
Does not work well on small screens, or in text-mode browsers.

Tag Table:
Node: Top225
Node: OPTIONS2683
Ref: #options2788
Node: PERMISSIONS10225
Ref: #permissions10364
Node: EDITING UPLOADING DOWNLOADING11576
Ref: #editing-uploading-downloading11757
Node: RELOADING12591
Ref: #reloading12725
Node: JSON API13158
Ref: #json-api13273
Node: DEBUG OUTPUT18761
Ref: #debug-output18886
Node: Debug output18913
Ref: #debug-output-119014
Node: ENVIRONMENT19431
Ref: #environment19551
Node: FILES20862
Ref: #files20962
Node: BUGS21210
Ref: #bugs21288
Node: OPTIONS2702
Ref: #options2807
Node: PERMISSIONS10607
Ref: #permissions10746
Node: EDITING UPLOADING DOWNLOADING11958
Ref: #editing-uploading-downloading12139
Node: RELOADING12973
Ref: #reloading13107
Node: JSON API13540
Ref: #json-api13655
Node: DEBUG OUTPUT19143
Ref: #debug-output19268
Node: Debug output19295
Ref: #debug-output-119396
Node: ENVIRONMENT19813
Ref: #environment19932
Node: BUGS20049
Ref: #bugs20133

End Tag Table

View File

@ -17,8 +17,8 @@ DESCRIPTION
the hledger manual for common concepts and file formats.
hledger is a robust, user-friendly, cross-platform set of programs for
tracking money, time, or any other commodity, using double-entry
accounting and a simple, editable file format. hledger is inspired by
tracking money, time, or any other commodity, using double-entry ac-
counting and a simple, editable file format. hledger is inspired by
and largely compatible with ledger(1), and largely interconvertible
with beancount(1).
@ -34,11 +34,11 @@ DESCRIPTION
against data loss when running an unprotected instance, it writes a
numbered backup of the main journal file (only) on every edit.
Like hledger, it reads data from one or more files in journal, time-
clock, timedot, or CSV format. The default file is .hledger.journal in
your home directory; this can be overridden with one or more -f FILE
options, or the LEDGER_FILE environment variable. For more about this
see hledger(1).
Like hledger, it reads from (and appends to) a journal file specified
by the LEDGER_FILE environment variable (defaulting to
$HOME/.hledger.journal); or you can specify files with -f options. It
can also read timeclock files, timedot files, or any CSV/SSV/TSV file
with a date field. (See hledger(1) -> Input for details.)
hledger-web can be run in three modes:
@ -78,8 +78,8 @@ OPTIONS
--socket=SOCKETFILE
use a unix domain socket file to listen for requests instead of
a TCP socket. Implies --serve. It can only be used if the
operating system can provide this type of socket.
a TCP socket. Implies --serve. It can only be used if the op-
erating system can provide this type of socket.
--base-url=URL
set the base url (default: http://IPADDR:PORT). Note: affects
@ -129,8 +129,8 @@ OPTIONS
assignments)
-s --strict
do extra error checking (check that all posted accounts are
declared)
do extra error checking (check that all posted accounts are de-
clared)
hledger reporting options:
@ -162,8 +162,8 @@ OPTIONS
using period expressions syntax
--date2
match the secondary date instead (see command help for other
effects)
match the secondary date instead (see command help for other ef-
fects)
--today=DATE
override today's date (affects relative smart dates, for
@ -192,42 +192,55 @@ OPTIONS
convert amounts to their cost/selling amount at transaction time
-V --market
convert amounts to their market value in default valuation com-
convert amounts to their market value in default valuation com-
modities
-X --exchange=COMM
convert amounts to their market value in commodity COMM
--value
convert amounts to cost or market value, more flexibly than
convert amounts to cost or market value, more flexibly than
-B/-V/-X
--infer-market-prices
use transaction prices (recorded with @ or @@) as additional
market prices, as if they were P directives
--infer-equity
infer conversion equity postings from costs
--auto apply automated posting rules to modify transactions.
--infer-costs
infer costs from conversion equity postings
--infer-market-prices
use costs as additional market prices, as if they were P direc-
tives
--forecast
generate future transactions from periodic transaction rules,
for the next 6 months or till report end date. In hledger-ui,
also make ordinary future transactions visible.
generate transactions from periodic rules, between the latest
recorded txn and 6 months from today, or during the specified
PERIOD (= is required). Auto posting rules will be applied to
these transactions as well. Also, in hledger-ui make future-
dated transactions visible.
--auto generate extra postings by applying auto posting rules to all
txns (not just forecast txns)
--verbose-tags
add visible tags indicating transactions or postings which have
been generated/modified
--commodity-style
Override the commodity style in the output for the specified
Override the commodity style in the output for the specified
commodity. For example 'EUR1.000,00'.
--color=WHEN (or --colour=WHEN)
Should color-supporting commands use ANSI color codes in text
output. 'auto' (default): whenever stdout seems to be a color-
supporting terminal. 'always' or 'yes': always, useful eg when
piping output into 'less -R'. 'never' or 'no': never. A
Should color-supporting commands use ANSI color codes in text
output. 'auto' (default): whenever stdout seems to be a color-
supporting terminal. 'always' or 'yes': always, useful eg when
piping output into 'less -R'. 'never' or 'no': never. A
NO_COLOR environment variable overrides this.
--pretty[=WHEN]
Show prettier output, e.g. using unicode box-drawing charac-
ters. Accepts 'yes' (the default) or 'no' ('y', 'n', 'always',
'never' also work). If you provide an argument you must use
Show prettier output, e.g. using unicode box-drawing charac-
ters. Accepts 'yes' (the default) or 'no' ('y', 'n', 'always',
'never' also work). If you provide an argument you must use
'=', e.g. '--pretty=yes'.
When a reporting option appears more than once in the command line, the
@ -251,35 +264,35 @@ OPTIONS
show debug output (levels 1-9, default: 1)
A @FILE argument will be expanded to the contents of FILE, which should
contain one command line option/argument per line. (To prevent this,
contain one command line option/argument per line. (To prevent this,
insert a -- argument before.)
By default the server listens on IP address 127.0.0.1, accessible only
to local requests. You can use --host to change this, eg --host
By default the server listens on IP address 127.0.0.1, accessible only
to local requests. You can use --host to change this, eg --host
0.0.0.0 to listen on all configured addresses.
Similarly, use --port to set a TCP port other than 5000, eg if you are
Similarly, use --port to set a TCP port other than 5000, eg if you are
running multiple hledger-web instances.
Both of these options are ignored when --socket is used. In this case,
it creates an AF_UNIX socket file at the supplied path and uses that
for communication. This is an alternative way of running multiple
hledger-web instances behind a reverse proxy that handles authentica-
tion for different users. The path can be derived in a predictable
it creates an AF_UNIX socket file at the supplied path and uses that
for communication. This is an alternative way of running multiple
hledger-web instances behind a reverse proxy that handles authentica-
tion for different users. The path can be derived in a predictable
way, eg by using the username within the path. As an example, nginx as
reverse proxy can use the variable $remote_user to derive a path from
the username used in a HTTP basic authentication. The following
proxy_pass directive allows access to all hledger-web instances that
reverse proxy can use the variable $remote_user to derive a path from
the username used in a HTTP basic authentication. The following
proxy_pass directive allows access to all hledger-web instances that
created a socket in /tmp/hledger/:
proxy_pass http://unix:/tmp/hledger/${remote_user}.socket;
You can use --base-url to change the protocol, hostname, port and path
You can use --base-url to change the protocol, hostname, port and path
that appear in hyperlinks, useful eg for integrating hledger-web within
a larger website. The default is http://HOST:PORT/ using the server's
a larger website. The default is http://HOST:PORT/ using the server's
configured host address and TCP port (or http://HOST if PORT is 80).
With --file-url you can set a different base url for static files, eg
With --file-url you can set a different base url for static files, eg
for better caching or cookie-less serving on high performance websites.
PERMISSIONS
@ -289,8 +302,8 @@ PERMISSIONS
You can restrict who can reach it by
o setting the IP address it listens on (see --host above). By default
it listens on 127.0.0.1, accessible to all users on the local
machine.
it listens on 127.0.0.1, accessible to all users on the local ma-
chine.
o putting it behind an authenticating proxy, using eg apache or nginx
@ -306,8 +319,8 @@ PERMISSIONS
o add - allows adding new transactions to the main journal file
o manage - allows editing, uploading or downloading the main or
included files
o manage - allows editing, uploading or downloading the main or in-
cluded files
o using the --capabilities-header=HTTPHEADER flag to specify a HTTP
header from which it will read capabilities to enable. hledger-web
@ -317,8 +330,8 @@ PERMISSIONS
EDITING, UPLOADING, DOWNLOADING
If you enable the manage capability mentioned above, you'll see a new
"spanner" button to the right of the search form. Clicking this will
let you edit, upload, or download the journal file or any files it
includes.
let you edit, upload, or download the journal file or any files it in-
cludes.
Note, unlike any other hledger command, in this mode you (or any visi-
tor) can alter or wipe the data files.
@ -337,8 +350,8 @@ RELOADING
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 when you reload the page or navigate to a new page. If a change
makes a file unparseable, hledger-web will display an error message
until the file has been fixed.
makes a file unparseable, hledger-web will display an error message un-
til the file has been fixed.
(Note: if you are viewing files mounted from another machine, make sure
that both machine clocks are roughly in step.)
@ -405,15 +418,15 @@ JSON API
Most of the JSON corresponds to hledger's data types; for details of
what the fields mean, see the Hledger.Data.Json haddock docs and click
on the various data types, eg Transaction. And for a higher level
understanding, see the journal docs.
on the various data types, eg Transaction. And for a higher level un-
derstanding, see the journal docs.
In some cases there is outer JSON corresponding to a "Report" type. 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. Eg
for /accounttransactions it's getAccounttransactionsR, returning a
"accountTransactionsReport ...". Looking up the haddock for that we
can see that /accounttransactions returns an AccountTransactionsReport,
for /accounttransactions it's getAccounttransactionsR, returning a "ac-
countTransactionsReport ...". Looking up the haddock for that we can
see that /accounttransactions returns an AccountTransactionsReport,
which consists of a report title and a list of AccountTransactionsRe-
portItem (etc).
@ -517,8 +530,8 @@ JSON API
"tstatus": "Unmarked"
}
And here's how to test adding it with curl. This should add a new
entry to your journal:
And here's how to test adding it with curl. This should add a new en-
try to your journal:
$ curl http://127.0.0.1:5000/add -X PUT -H 'Content-Type: application/json' --data-binary @txn.json
@ -533,61 +546,18 @@ DEBUG OUTPUT
hledger-web --debug=3 2>hledger-web.log.
ENVIRONMENT
LEDGER_FILE The journal file path when not specified with -f.
On unix computers, the default value is: ~/.hledger.journal.
A more typical value is something like ~/finance/YYYY.journal, where
~/finance is a version-controlled finance directory and YYYY is the
current year. Or, ~/finance/current.journal, where current.journal is
a symbolic link to YYYY.journal.
The usual way to set this permanently is to add a command to one of
your shell's startup files (eg ~/.profile):
export LEDGER_FILE=~/finance/current.journal`
On some Mac computers, there is a more thorough way to set environment
variables, that will also affect applications started from the GUI (eg,
Emacs started from a dock icon): In ~/.MacOSX/environment.plist, add an
entry like:
{
"LEDGER_FILE" : "~/finance/current.journal"
}
For this to take effect you might need to killall Dock, or reboot.
On Windows computers, the default value is probably C:\Users\YOUR-
NAME\.hledger.journal. You can change this by running a command like
this in a powershell window (let us know if you need to be an Adminis-
trator, and if this persists across a reboot):
> setx LEDGER_FILE "C:\Users\MyUserName\finance\2021.journal"
Or, change it in settings: see https://www.java.com/en/down-
load/help/path.html.
FILES
Reads data from one or more files in journal, timeclock, timedot, or
CSV format. The default file is .hledger.journal in your home direc-
tory; this can be overridden with one or more -f FILE options, or the
LEDGER_FILE environment variable.
LEDGER_FILE The main journal file to use when not specified with
-f/--file. Default: $HOME/.hledger.journal.
BUGS
-f- doesn't work (hledger-web can't read from stdin).
We welcome bug reports in the hledger issue tracker (shortcut:
http://bugs.hledger.org), or on the #hledger chat or hledger mail list
(https://hledger.org/support).
Query arguments and some hledger options are ignored.
Some known issues:
Does not work in text-mode browsers.
Does not work well on small screens, or in text-mode browsers.
Does not work well on small screens.
REPORTING BUGS
Report bugs at http://bugs.hledger.org (or on the #hledger chat or
hledger mail list)
AUTHORS
@ -608,4 +578,4 @@ SEE ALSO
hledger-web-1.29.99 April 2023 HLEDGER-WEB(1)
hledger-web-1.29.99 May 2023 HLEDGER-WEB(1)

View File

@ -1,2 +1,2 @@
m4_dnl Date to show in man pages. Updated by "Shake manuals"
m4_define({{_monthyear_}}, {{April 2023}})m4_dnl
m4_define({{_monthyear_}}, {{May 2023}})m4_dnl

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff