hledger/hledger-api/doc/hledger-api.1.m4.md
Simon Michael f21e9d1c25 doc: more deduplication of options help
Help for reporting options is now also defined once in lib.m4
(in addition to CliOptions.hs). Also fixed some duplication of general
options in docs. hledger-* manuals now include the full list of general
and reporting options; we assume that any inapplicable options get
harmlessly ignored and that this will not surprise users.
2016-06-03 09:38:06 -07:00

99 lines
2.5 KiB
Markdown

% hledger-api(1) hledger-api _version_
% _author_
% _monthyear_
_web_({{
m4_dnl _versions_({{hledger-api}})
<div class="versions">
version:
<a href="$1.html">dev</a>
</div>
_toc_
}})
_man_({{
# NAME
hledger-api - web API server for the hledger accounting tool
# SYNOPSIS
`hledger-api [OPTIONS]`\
`hledger-api --swagger`\
`hledger api -- [OPTIONS]`
# DESCRIPTION
hledger is a cross-platform program for tracking money, time, or any other commodity,
using double-entry accounting and a simple, editable file format.
hledger is inspired by and largely compatible with ledger(1).
}})
hledger-api is a simple web API server, intended to support
client-side web apps operating on hledger data. It comes with a series
of simple client-side app examples, which drive it's evolution.
Data is served from the usual hledger journal file:
`~/.hledger.journal`, `$LEDGER_FILE`, or another file specified with -f.
For more about the format, see hledger(1) or hledger_journal(5).
The server listens on port 8001, or another specified with `-p PORT`.
Note there is no built-in access control, so you will need to hide
hledger-api behind an authenticating proxy if you want to restrict
access.
If invoked as `hledger-api --swagger`, instead of starting a server
the API docs will be printed in Swagger 2.0 format.
# OPTIONS
Note: if invoking hledger-api as a hledger subcommand, write `--` before options as shown above.
`-d --static-dir=DIR`
: serve files from a different directory (default: `.`)
`-p --port=PORT`
: use a different TCP port (default: 8001)
`--swagger`
: print API docs in Swagger 2.0 format, and exit
hledger general options:
_generaloptions_
_man_({{
# ENVIRONMENT
**LEDGER_FILE**
sets the default journal file path. If not set, it is `~/.hledger.journal`.
# FILES
Reads data from a hledger journal file (`$LEDGER_FILE` or
`~/.hledger.journal` by default), or a CSV file plus associated CSV
rules file.
# BUGS
The need to precede options with `--` when invoked from hledger is awkward.
<!-- `-f-` doesn't work (hledger-web can't read from stdin). -->
<!-- Query arguments and some applicable hledger options probably aren't supported. -->
<!-- Does not work in text-mode browsers. -->
<!-- Does not work well on small screens. -->
<!-- The auto-exit feature was added to avoid leaving stray processes, eg on Windows. -->
<!-- It is not well tested. -->
<!-- If you start two instances on the same port, the second one will -->
<!-- appear to run normally, but you will be seeing pages served from the -->
<!-- first one. -->
}})