;doc: update manuals

This commit is contained in:
Simon Michael 2023-05-31 19:07:44 -10:00
parent 858135e15e
commit d146b83500
9 changed files with 829 additions and 848 deletions

View File

@ -8,14 +8,11 @@
hledger-ui - robust, friendly plain text accounting (TUI version) hledger-ui - robust, friendly plain text accounting (TUI version)
.SH SYNOPSIS .SH SYNOPSIS
.PP .PP
\f[V]hledger-ui [OPTS] [QUERYARGS] # run directly\f[R] \f[V]hledger-ui [OPTS] [QUERYARGS]\f[R]
.PD 0
.P
.PD
\f[V]hledger ui -- [OPTS] [QUERYARGS] # run from hledger\f[R]
.PD 0 .PD 0
.P .P
.PD .PD
\f[V]hledger ui -- [OPTS] [QUERYARGS]\f[R]
.SH DESCRIPTION .SH DESCRIPTION
.PP .PP
This manual is for hledger\[aq]s terminal interface, version 1.29.99. This manual is for hledger\[aq]s terminal interface, version 1.29.99.

View File

@ -13,8 +13,8 @@ hledger-ui(1)
hledger-ui - robust, friendly plain text accounting (TUI version) hledger-ui - robust, friendly plain text accounting (TUI version)
'hledger-ui [OPTS] [QUERYARGS] # run directly' 'hledger-ui [OPTS] [QUERYARGS]'
'hledger ui -- [OPTS] [QUERYARGS] # run from hledger' 'hledger ui -- [OPTS] [QUERYARGS]'
This manual is for hledger's terminal interface, version 1.29.99. This manual is for hledger's terminal interface, version 1.29.99.
See also the hledger manual for common concepts and file formats. See also the hledger manual for common concepts and file formats.
@ -665,46 +665,46 @@ above).
 
Tag Table: Tag Table:
Node: Top223 Node: Top223
Node: OPTIONS1866 Node: OPTIONS1832
Ref: #options1964 Ref: #options1930
Node: General help options2987 Node: General help options2953
Ref: #general-help-options3136 Ref: #general-help-options3102
Node: General input options3418 Node: General input options3384
Ref: #general-input-options3603 Ref: #general-input-options3569
Node: General reporting options4305 Node: General reporting options4271
Ref: #general-reporting-options4469 Ref: #general-reporting-options4435
Node: MOUSE7859 Node: MOUSE7825
Ref: #mouse7954 Ref: #mouse7920
Node: KEYS8191 Node: KEYS8157
Ref: #keys8284 Ref: #keys8250
Node: SCREENS12797 Node: SCREENS12763
Ref: #screens12895 Ref: #screens12861
Node: Menu13475 Node: Menu13441
Ref: #menu13568 Ref: #menu13534
Node: Cash accounts13763 Node: Cash accounts13729
Ref: #cash-accounts13905 Ref: #cash-accounts13871
Node: Balance sheet accounts14089 Node: Balance sheet accounts14055
Ref: #balance-sheet-accounts14270 Ref: #balance-sheet-accounts14236
Node: Income statement accounts14390 Node: Income statement accounts14356
Ref: #income-statement-accounts14576 Ref: #income-statement-accounts14542
Node: All accounts14740 Node: All accounts14706
Ref: #all-accounts14886 Ref: #all-accounts14852
Node: Register15068 Node: Register15034
Ref: #register15192 Ref: #register15158
Node: Transaction17154 Node: Transaction17120
Ref: #transaction17277 Ref: #transaction17243
Node: Error18694 Node: Error18660
Ref: #error18788 Ref: #error18754
Node: TIPS19032 Node: TIPS18998
Ref: #tips19131 Ref: #tips19097
Node: Watch mode19173 Node: Watch mode19139
Ref: #watch-mode19280 Ref: #watch-mode19246
Node: Debug output20739 Node: Debug output20705
Ref: #debug-output20850 Ref: #debug-output20816
Node: ENVIRONMENT21062 Node: ENVIRONMENT21028
Ref: #environment21172 Ref: #environment21138
Node: BUGS21363 Node: BUGS21329
Ref: #bugs21446 Ref: #bugs21412
 
End Tag Table End Tag Table

View File

@ -7,8 +7,9 @@ NAME
hledger-ui - robust, friendly plain text accounting (TUI version) hledger-ui - robust, friendly plain text accounting (TUI version)
SYNOPSIS SYNOPSIS
hledger-ui [OPTS] [QUERYARGS] # run directly hledger-ui [OPTS] [QUERYARGS]
hledger ui -- [OPTS] [QUERYARGS] # run from hledger hledger ui -- [OPTS] [QUERYARGS]
DESCRIPTION DESCRIPTION
This manual is for hledger's terminal interface, version 1.29.99. See This manual is for hledger's terminal interface, version 1.29.99. See
also the hledger manual for common concepts and file formats. also the hledger manual for common concepts and file formats.

View File

@ -8,22 +8,11 @@
hledger-web - robust, friendly plain text accounting (Web version) hledger-web - robust, friendly plain text accounting (Web version)
.SH SYNOPSIS .SH SYNOPSIS
.PP .PP
\f[V]hledger-web [OPTS] [ARGS] # run temporarily & open browser\f[R] \f[V]hledger-web [--serve|--serve-api] [OPTS] [ARGS]\f[R]
.PD 0
.P
.PD
\f[V]hledger-web --serve [OPTS] [ARGS] # run without stopping\f[R]
.PD 0
.P
.PD
\f[V]hledger-web --serve-api [OPTS] [ARGS] # run HTTP JSON server only\f[R]
.PD 0
.P
.PD
\f[V]hledger web -- [OPTS] [ARGS] # run from hledger\f[R]
.PD 0 .PD 0
.P .P
.PD .PD
\f[V]hledger web -- [--serve|--serve-api] [OPTS] [ARGS]\f[R]
.SH DESCRIPTION .SH DESCRIPTION
.PP .PP
This manual is for hledger\[aq]s web interface, version 1.29.99. This manual is for hledger\[aq]s web interface, version 1.29.99.

View File

@ -13,10 +13,8 @@ hledger-web(1)
hledger-web - robust, friendly plain text accounting (Web version) hledger-web - robust, friendly plain text accounting (Web version)
'hledger-web [OPTS] [ARGS] # run temporarily & open browser' 'hledger-web [--serve|--serve-api] [OPTS] [ARGS]'
'hledger-web --serve [OPTS] [ARGS] # run without stopping' 'hledger web -- [--serve|--serve-api] [OPTS] [ARGS]'
'hledger-web --serve-api [OPTS] [ARGS] # run HTTP JSON server only'
'hledger web -- [OPTS] [ARGS] # run from hledger'
This manual is for hledger's web interface, version 1.29.99. See This manual is for hledger's web interface, version 1.29.99. See
also the hledger manual for common concepts and file formats. also the hledger manual for common concepts and file formats.
@ -648,30 +646,30 @@ http://bugs.hledger.org), or on the #hledger chat or hledger mail list
 
Tag Table: Tag Table:
Node: Top225 Node: Top225
Node: OPTIONS2715 Node: OPTIONS2580
Ref: #options2820 Ref: #options2685
Node: General help options6131 Node: General help options5996
Ref: #general-help-options6281 Ref: #general-help-options6146
Node: General input options6563 Node: General input options6428
Ref: #general-input-options6749 Ref: #general-input-options6614
Node: General reporting options7451 Node: General reporting options7316
Ref: #general-reporting-options7616 Ref: #general-reporting-options7481
Node: PERMISSIONS11006 Node: PERMISSIONS10871
Ref: #permissions11145 Ref: #permissions11010
Node: EDITING UPLOADING DOWNLOADING12357 Node: EDITING UPLOADING DOWNLOADING12222
Ref: #editing-uploading-downloading12538 Ref: #editing-uploading-downloading12403
Node: RELOADING13372 Node: RELOADING13237
Ref: #reloading13506 Ref: #reloading13371
Node: JSON API13939 Node: JSON API13804
Ref: #json-api14054 Ref: #json-api13919
Node: DEBUG OUTPUT19542 Node: DEBUG OUTPUT19407
Ref: #debug-output19667 Ref: #debug-output19532
Node: Debug output19694 Node: Debug output19559
Ref: #debug-output-119795 Ref: #debug-output-119660
Node: ENVIRONMENT20212 Node: ENVIRONMENT20077
Ref: #environment20331 Ref: #environment20196
Node: BUGS20448 Node: BUGS20313
Ref: #bugs20532 Ref: #bugs20397
 
End Tag Table End Tag Table

View File

@ -7,47 +7,45 @@ NAME
hledger-web - robust, friendly plain text accounting (Web version) hledger-web - robust, friendly plain text accounting (Web version)
SYNOPSIS SYNOPSIS
hledger-web [OPTS] [ARGS] # run temporarily & open hledger-web [--serve|--serve-api] [OPTS] [ARGS]
browser hledger web -- [--serve|--serve-api] [OPTS] [ARGS]
hledger-web --serve [OPTS] [ARGS] # run without stopping
hledger-web --serve-api [OPTS] [ARGS] # run HTTP JSON server only
hledger web -- [OPTS] [ARGS] # run from hledger
DESCRIPTION DESCRIPTION
This manual is for hledger's web interface, version 1.29.99. See also This manual is for hledger's web interface, version 1.29.99. See also
the hledger manual for common concepts and file formats. the hledger manual for common concepts and file formats.
hledger is a robust, user-friendly, cross-platform set of programs for hledger is a robust, user-friendly, cross-platform set of programs for
tracking money, time, or any other commodity, using double-entry ac- tracking money, time, or any other commodity, using double-entry ac-
counting and a simple, editable file format. hledger is inspired by counting and a simple, editable file format. hledger is inspired by
and largely compatible with ledger(1), and largely interconvertible and largely compatible with ledger(1), and largely interconvertible
with beancount(1). with beancount(1).
hledger-web is a simple web application for browsing and adding trans- hledger-web is a simple web application for browsing and adding trans-
actions. It provides a more user-friendly UI than the hledger CLI or actions. It provides a more user-friendly UI than the hledger CLI or
hledger-ui TUI, showing more at once (accounts, the current account hledger-ui TUI, showing more at once (accounts, the current account
register, balance charts) and allowing history-aware data entry, inter- register, balance charts) and allowing history-aware data entry, inter-
active searching, and bookmarking. active searching, and bookmarking.
hledger-web also lets you share a journal with multiple users, or even hledger-web also lets you share a journal with multiple users, or even
the public web. There is no access control, so if you need that you the public web. There is no access control, so if you need that you
should put it behind a suitable web proxy. As a small protection should put it behind a suitable web proxy. As a small protection
against data loss when running an unprotected instance, it writes a against data loss when running an unprotected instance, it writes a
numbered backup of the main journal file (only) on every edit. numbered backup of the main journal file (only) on every edit.
Like hledger, it reads from (and appends to) a journal file specified Like hledger, it reads from (and appends to) a journal file specified
by the LEDGER_FILE environment variable (defaulting to by the LEDGER_FILE environment variable (defaulting to
$HOME/.hledger.journal); or you can specify files with -f options. It $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 can also read timeclock files, timedot files, or any CSV/SSV/TSV file
with a date field. (See hledger(1) -> Input for details.) with a date field. (See hledger(1) -> Input for details.)
hledger-web can be run in three modes: hledger-web can be run in three modes:
o Transient mode (the default): your default web browser will be opened o Transient mode (the default): your default web browser will be opened
to show the app if possible, and the app exits automatically after to show the app if possible, and the app exits automatically after
two minutes of inactivity (no requests received and no open browser two minutes of inactivity (no requests received and no open browser
windows viewing it). windows viewing it).
o With --serve: the app runs without stopping, and without opening a o With --serve: the app runs without stopping, and without opening a
browser. browser.
o With --serve-api: only the JSON API is served. o With --serve-api: only the JSON API is served.
@ -57,7 +55,7 @@ DESCRIPTION
OPTIONS OPTIONS
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. These filter options are not shown in the web UI, but it on the data. These filter options are not shown in the web UI, but it
will be applied in addition to any search query entered there. will be applied in addition to any search query entered there.
hledger-web provides the following options: hledger-web provides the following options:
@ -66,7 +64,7 @@ OPTIONS
serve and log requests, don't browse or auto-exit after timeout serve and log requests, don't browse or auto-exit after timeout
--serve-api --serve-api
like --serve, but serve only the JSON web API, without the like --serve, but serve only the JSON web API, without the
server-side web UI server-side web UI
--host=IPADDR --host=IPADDR
@ -76,61 +74,61 @@ OPTIONS
listen on this TCP port (default: 5000) listen on this TCP port (default: 5000)
--socket=SOCKETFILE --socket=SOCKETFILE
use a unix domain socket file to listen for requests instead of use a unix domain socket file to listen for requests instead of
a TCP socket. Implies --serve. It can only be used if the op- a TCP socket. Implies --serve. It can only be used if the op-
erating system can provide this type of socket. erating system can provide this type of socket.
--base-url=URL --base-url=URL
set the base url (default: http://IPADDR:PORT). Note: affects set the base url (default: http://IPADDR:PORT). Note: affects
url generation but not route parsing. Can be useful if running url generation but not route parsing. Can be useful if running
behind a reverse web proxy that does path rewriting. behind a reverse web proxy that does path rewriting.
--file-url=URL --file-url=URL
set the static files url (default: BASEURL/static). hledger-web set the static files url (default: BASEURL/static). hledger-web
normally serves static files itself, but if you wanted to serve normally serves static files itself, but if you wanted to serve
them from another server for efficiency, you would set the url them from another server for efficiency, you would set the url
with this. with this.
--capabilities=CAP[,CAP..] --capabilities=CAP[,CAP..]
enable the view, add, and/or manage capabilities (default: enable the view, add, and/or manage capabilities (default:
view,add) view,add)
--capabilities-header=HTTPHEADER --capabilities-header=HTTPHEADER
read capabilities to enable from a HTTP header, like X-Sand- read capabilities to enable from a HTTP header, like X-Sand-
storm-Permissions (default: disabled) storm-Permissions (default: disabled)
--test run hledger-web's tests and exit. hspec test runner args may --test run hledger-web's tests and exit. hspec test runner args may
follow a --, eg: hledger-web --test -- --help follow a --, eg: hledger-web --test -- --help
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. You can use --host to change this, eg --host to local requests. You can use --host to change this, eg --host
0.0.0.0 to listen on all configured addresses. 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. running multiple hledger-web instances.
Both of these options are ignored when --socket is used. In this case, 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 it creates an AF_UNIX socket file at the supplied path and uses that
for communication. This is an alternative way of running multiple for communication. This is an alternative way of running multiple
hledger-web instances behind a reverse proxy that handles authentica- hledger-web instances behind a reverse proxy that handles authentica-
tion for different users. The path can be derived in a predictable 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 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 reverse proxy can use the variable $remote_user to derive a path from
the username used in a HTTP basic authentication. The following the username used in a HTTP basic authentication. The following
proxy_pass directive allows access to all hledger-web instances that proxy_pass directive allows access to all hledger-web instances that
created a socket in /tmp/hledger/: created a socket in /tmp/hledger/:
proxy_pass http://unix:/tmp/hledger/${remote_user}.socket; 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 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). 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. for better caching or cookie-less serving on high performance websites.
hledger-web also supports many of hledger's general options (and the hledger-web also supports many of hledger's general options (and the
hledger manual's command line tips also apply here): hledger manual's command line tips also apply here):
General help options General help options
@ -153,7 +151,7 @@ OPTIONS
$LEDGER_FILE or $HOME/.hledger.journal) $LEDGER_FILE or $HOME/.hledger.journal)
--rules-file=RULESFILE --rules-file=RULESFILE
Conversion rules file to use when reading CSV (default: Conversion rules file to use when reading CSV (default:
FILE.rules) FILE.rules)
--separator=CHAR --separator=CHAR
@ -172,7 +170,7 @@ OPTIONS
assignments) assignments)
-s --strict -s --strict
do extra error checking (check that all posted accounts are de- do extra error checking (check that all posted accounts are de-
clared) clared)
General reporting options General reporting options
@ -200,7 +198,7 @@ OPTIONS
multiperiod/multicolumn report by year multiperiod/multicolumn report by year
-p --period=PERIODEXP -p --period=PERIODEXP
set start date, end date, and/or reporting interval all at once set start date, end date, and/or reporting interval all at once
using period expressions syntax using period expressions syntax
--date2 --date2
@ -208,7 +206,7 @@ OPTIONS
fects) fects)
--today=DATE --today=DATE
override today's date (affects relative smart dates, for override today's date (affects relative smart dates, for
tests/examples) tests/examples)
-U --unmarked -U --unmarked
@ -227,21 +225,21 @@ OPTIONS
hide/aggregate accounts or postings more than NUM levels deep hide/aggregate accounts or postings more than NUM levels deep
-E --empty -E --empty
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)
-B --cost -B --cost
convert amounts to their cost/selling amount at transaction time convert amounts to their cost/selling amount at transaction time
-V --market -V --market
convert amounts to their market value in default valuation com- convert amounts to their market value in default valuation com-
modities modities
-X --exchange=COMM -X --exchange=COMM
convert amounts to their market value in commodity COMM convert amounts to their market value in commodity COMM
--value --value
convert amounts to cost or market value, more flexibly than convert amounts to cost or market value, more flexibly than
-B/-V/-X -B/-V/-X
--infer-equity --infer-equity
@ -251,38 +249,38 @@ OPTIONS
infer costs from conversion equity postings infer costs from conversion equity postings
--infer-market-prices --infer-market-prices
use costs as additional market prices, as if they were P direc- use costs as additional market prices, as if they were P direc-
tives tives
--forecast --forecast
generate transactions from periodic rules, between the latest generate transactions from periodic rules, between the latest
recorded txn and 6 months from today, or during the specified recorded txn and 6 months from today, or during the specified
PERIOD (= is required). Auto posting rules will be applied to PERIOD (= is required). Auto posting rules will be applied to
these transactions as well. Also, in hledger-ui make future- these transactions as well. Also, in hledger-ui make future-
dated transactions visible. dated transactions visible.
--auto generate extra postings by applying auto posting rules to all --auto generate extra postings by applying auto posting rules to all
txns (not just forecast txns) txns (not just forecast txns)
--verbose-tags --verbose-tags
add visible tags indicating transactions or postings which have add visible tags indicating transactions or postings which have
been generated/modified been generated/modified
--commodity-style --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'. commodity. For example 'EUR1.000,00'.
--color=WHEN (or --colour=WHEN) --color=WHEN (or --colour=WHEN)
Should color-supporting commands use ANSI color codes in text Should color-supporting commands use ANSI color codes in text
output. 'auto' (default): whenever stdout seems to be a color- output. 'auto' (default): whenever stdout seems to be a color-
supporting terminal. 'always' or 'yes': always, useful eg when supporting terminal. 'always' or 'yes': always, useful eg when
piping output into 'less -R'. 'never' or 'no': never. A piping output into 'less -R'. 'never' or 'no': never. A
NO_COLOR environment variable overrides this. NO_COLOR environment variable overrides this.
--pretty[=WHEN] --pretty[=WHEN]
Show prettier output, e.g. using unicode box-drawing charac- Show prettier output, e.g. using unicode box-drawing charac-
ters. Accepts 'yes' (the default) or 'no' ('y', 'n', 'always', ters. Accepts 'yes' (the default) or 'no' ('y', 'n', 'always',
'never' also work). If you provide an argument you must use 'never' also work). If you provide an argument you must use
'=', e.g. '--pretty=yes'. '=', e.g. '--pretty=yes'.
When a reporting option appears more than once in the command line, the When a reporting option appears more than once in the command line, the
@ -291,13 +289,13 @@ OPTIONS
Some reporting options can also be written as query arguments. Some reporting options can also be written as query arguments.
PERMISSIONS PERMISSIONS
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.
You can restrict who can reach it by You can restrict who can reach it by
o setting the IP address it listens on (see --host above). By default 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 ma- it listens on 127.0.0.1, accessible to all users on the local ma-
chine. chine.
o putting it behind an authenticating proxy, using eg apache or nginx o putting it behind an authenticating proxy, using eg apache or nginx
@ -307,44 +305,44 @@ PERMISSIONS
You can restrict what the users who reach it can do, by You can restrict what the users who reach it can do, by
o using the --capabilities=CAP[,CAP..] flag when you start it, enabling o using the --capabilities=CAP[,CAP..] flag when you start it, enabling
one or more of the following capabilities. The default value is one or more of the following capabilities. The default value is
view,add: view,add:
o view - allows viewing the journal file and all included files o view - allows viewing the journal file and all included files
o add - allows adding new transactions to the main journal file o add - allows adding new transactions to the main journal file
o manage - allows editing, uploading or downloading the main or in- o manage - allows editing, uploading or downloading the main or in-
cluded files cluded files
o using the --capabilities-header=HTTPHEADER flag to specify a HTTP o using the --capabilities-header=HTTPHEADER flag to specify a HTTP
header from which it will read capabilities to enable. hledger-web header from which it will read capabilities to enable. hledger-web
on Sandstorm uses the X-Sandstorm-Permissions header to integrate on Sandstorm uses the X-Sandstorm-Permissions header to integrate
with Sandstorm's permissions. This is disabled by default. with Sandstorm's permissions. This is disabled by default.
EDITING, UPLOADING, DOWNLOADING EDITING, UPLOADING, DOWNLOADING
If you enable the manage capability mentioned above, you'll see a new 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 "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 in- let you edit, upload, or download the journal file or any files it in-
cludes. cludes.
Note, unlike any other hledger command, in this mode you (or any visi- Note, unlike any other hledger command, in this mode you (or any visi-
tor) can alter or wipe the data files. tor) can alter or wipe the data files.
Normally whenever a file is changed in this way, hledger-web saves a Normally whenever a file is changed in this way, hledger-web saves a
numbered backup (assuming file permissions allow it, the disk is not numbered backup (assuming file permissions allow it, the disk is not
full, etc.) hledger-web is not aware of version control systems, cur- full, etc.) hledger-web is not aware of version control systems, cur-
rently; if you use one, you'll have to arrange to commit the changes rently; if you use one, you'll have to arrange to commit the changes
yourself (eg with a cron job or a file watcher like entr). yourself (eg with a cron job or a file watcher like entr).
Changes which would leave the journal file(s) unparseable or non-valid Changes which would leave the journal file(s) unparseable or non-valid
(eg with failing balance assertions) are prevented. (Probably. This (eg with failing balance assertions) are prevented. (Probably. This
needs re-testing.) needs re-testing.)
RELOADING RELOADING
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 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 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 un- makes a file unparseable, hledger-web will display an error message un-
til the file has been fixed. til the file has been fixed.
@ -352,8 +350,8 @@ RELOADING
that both machine clocks are roughly in step.) that both machine clocks are roughly in step.)
JSON API JSON API
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. If you want the JSON API be used to get data or add new transactions. If you want the JSON API
only, you can use the --serve-api flag. Eg: only, you can use the --serve-api flag. Eg:
$ hledger-web -f examples/sample.journal --serve-api $ hledger-web -f examples/sample.journal --serve-api
@ -370,7 +368,7 @@ JSON API
/accounttransactions/ACCOUNTNAME /accounttransactions/ACCOUNTNAME
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's JSON does not include newlines, here we use python to (hledger-web's JSON does not include newlines, here we use python to
prettify it): prettify it):
$ 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
@ -411,25 +409,25 @@ JSON API
"aprice": null, "aprice": null,
... ...
Most of the JSON corresponds to hledger's data types; for details of 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 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 un- on the various data types, eg Transaction. And for a higher level un-
derstanding, see the journal docs. derstanding, see the journal docs.
In some cases there is outer JSON corresponding to a "Report" type. To 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 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 at the source for the appropriate handler to see what it returns. Eg
for /accounttransactions it's getAccounttransactionsR, returning a "ac- for /accounttransactions it's getAccounttransactionsR, returning a "ac-
countTransactionsReport ...". Looking up the haddock for that we can countTransactionsReport ...". Looking up the haddock for that we can
see that /accounttransactions returns an AccountTransactionsReport, see that /accounttransactions returns an AccountTransactionsReport,
which consists of a report title and a list of AccountTransactionsRe- which consists of a report title and a list of AccountTransactionsRe-
portItem (etc). portItem (etc).
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
/add, if hledger-web was started with the add capability (enabled by /add, if hledger-web was started with the add capability (enabled by
default). The payload must be the full, exact JSON representation of a default). The payload must be the full, exact JSON representation of a
hledger transaction (partial data won't do). You can get sample JSON hledger transaction (partial data won't do). You can get sample JSON
from hledger-web's /transactions or /accounttransactions, or you can from hledger-web's /transactions or /accounttransactions, or you can
export it with hledger-lib, eg like so: export it with hledger-lib, eg like so:
.../hledger$ stack ghci hledger-lib .../hledger$ stack ghci hledger-lib
@ -525,28 +523,28 @@ JSON API
"tstatus": "Unmarked" "tstatus": "Unmarked"
} }
And here's how to test adding it with curl. This should add a new en- And here's how to test adding it with curl. This should add a new en-
try to your journal: try to your journal:
$ curl http://127.0.0.1:5000/add -X PUT -H 'Content-Type: application/json' --data-binary @txn.json $ curl http://127.0.0.1:5000/add -X PUT -H 'Content-Type: application/json' --data-binary @txn.json
DEBUG OUTPUT DEBUG OUTPUT
Debug output Debug output
You can add --debug[=N] to the command line to log debug output. N You can add --debug[=N] to the command line to log debug output. N
ranges from 1 (least output, the default) to 9 (maximum output). Typi- ranges from 1 (least output, the default) to 9 (maximum output). Typi-
cally you would start with 1 and increase until you are seeing enough. cally you would start with 1 and increase until you are seeing enough.
Debug output goes to stderr, interleaved with the requests logged on Debug output goes to stderr, interleaved with the requests logged on
stdout. To capture debug output in a log file instead, you can usually stdout. To capture debug output in a log file instead, you can usually
redirect stderr, eg: redirect stderr, eg:
hledger-web --debug=3 2>hledger-web.log. hledger-web --debug=3 2>hledger-web.log.
ENVIRONMENT ENVIRONMENT
LEDGER_FILE The main journal file to use when not specified with LEDGER_FILE The main journal file to use when not specified with
-f/--file. Default: $HOME/.hledger.journal. -f/--file. Default: $HOME/.hledger.journal.
BUGS BUGS
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).
Some known issues: Some known issues:

View File

@ -9,18 +9,15 @@
hledger - robust, friendly plain text accounting (CLI version) hledger - robust, friendly plain text accounting (CLI version)
.SH SYNOPSIS .SH SYNOPSIS
.PP .PP
\f[V]hledger # show commmands list\f[R] \f[V]hledger\f[R]
.PD 0 .PD 0
.P .P
.PD .PD
\f[V]hledger COMMAND [OPTS] [ARGS] # run built-in command\f[R] \f[V]hledger COMMAND [OPTS] [ARGS]\f[R]
.PD 0
.P
.PD
\f[V]hledger ADDONCMD -- [OPTS] [ARGS] # run add-on command from PATH\f[R]
.PD 0 .PD 0
.P .P
.PD .PD
\f[V]hledger ADDONCMD -- [OPTS] [ARGS]\f[R]
.SH DESCRIPTION .SH DESCRIPTION
.PP .PP
hledger is a robust, user-friendly, cross-platform set of programs for hledger is a robust, user-friendly, cross-platform set of programs for

File diff suppressed because it is too large Load Diff

View File

@ -7,9 +7,10 @@ NAME
hledger - robust, friendly plain text accounting (CLI version) hledger - robust, friendly plain text accounting (CLI version)
SYNOPSIS SYNOPSIS
hledger # show commmands list hledger
hledger COMMAND [OPTS] [ARGS] # run built-in command hledger COMMAND [OPTS] [ARGS]
hledger ADDONCMD -- [OPTS] [ARGS] # run add-on command from PATH hledger ADDONCMD -- [OPTS] [ARGS]
DESCRIPTION DESCRIPTION
hledger is a robust, user-friendly, cross-platform set of programs for hledger is a robust, user-friendly, cross-platform set of programs for
tracking money, time, or any other commodity, using double-entry ac- tracking money, time, or any other commodity, using double-entry ac-