docs polish

This commit is contained in:
Simon Michael 2009-04-02 23:02:12 +00:00
parent f1e193aef1
commit 938abfbbfa
2 changed files with 36 additions and 26 deletions

15
NEWS
View File

@ -9,27 +9,26 @@ Changes:
* avoid bulky/non-portable dependencies by default, curses ui now requires a build flag (-f vty) * avoid bulky/non-portable dependencies by default, curses ui now requires a build flag (-f vty)
* on MS windows, provide a simple ansi-based ui in place of vty (-f ansi) * on MS windows, provide a simple ansi-based ui in place of vty (-f ansi)
* new "web" command starts a webserver and shows filterable reports in a browser (-f happs) * new "web" command starts a webserver and shows reports in a browser (-f happs)
* drop the --options-anywhere flag, that is now the default * drop the --options-anywhere flag, that is now the default
* patterns now use not: and desc: prefixes instead of ^ and ^^ * patterns now use not: and desc: prefixes instead of ^ and ^^
* patterns are now case-insensitive, like ledger * patterns are now case-insensitive, like ledger
* !include directives are now relative to the including file (Tim Docker) * !include directives are now relative to the including file (Tim Docker)
* "Y2009" default year directives are now supported, allowing m/d dates in ledger * "Y2009" default year directives are now supported, allowing m/d dates in ledger
* individual transactions now have a cleared status * individual transactions now have a cleared status
* unbalanced entries are now reported properly * unbalanced entries now cause a proper warning
* balance report now passes all ledger compatibility tests * balance report now passes all ledger compatibility tests
* balance report now shows subtotals by default, like ledger 3 * balance report now shows subtotals by default, like ledger 3
* show the balance report's zero total when -E is used * balance report shows the final zero total when -E is used
* --no-total hides balance report's final total * balance report hides the final total when --no-total is used
* --depth affects print and register reports (aggregating with a reporting interval, filtering otherwise) * --depth affects print and register reports (aggregating with a reporting interval, filtering otherwise)
* register command sorts transactions by date * register report sorts transactions by date
* -E works in register report * register report shows zero-amount transactions when -E is used
* provide more convenient timelog querying when invoked as "hours" * provide more convenient timelog querying when invoked as "hours"
* multi-day timelog sessions are split at midnight * multi-day timelog sessions are split at midnight
* unterminated timelog sessions are now counted. Accurate time reports at last! * unterminated timelog sessions are now counted. Accurate time reports at last!
* the test command gives better --verbose output * the test command gives better --verbose output
* --version gives more detailed version numbers including patchlevel for dev builds * --version gives more detailed version numbers including patchlevel for dev builds
* haddock & hoogle docs now include optional build components
* new make targets include: ghci, haddocktest, doctest, unittest, view-api-docs * new make targets include: ghci, haddocktest, doctest, unittest, view-api-docs
* a doctest-style framework for functional/shell tests has been added * a doctest-style framework for functional/shell tests has been added
* performance has decreased slightly:: * performance has decreased slightly::
@ -45,7 +44,7 @@ Contributors:
* Simon Michael * Simon Michael
* Tim Docker * Tim Docker
* happstack and testpack developers * HAppS, happstack and testpack developers
Stats: Stats:
...... ......

45
README
View File

@ -1,11 +1,12 @@
Welcome to hledger! Welcome to hledger!
hledger is a limited haskell clone of John Wiegley's text-based accounting hledger is a partial haskell clone of John Wiegley's text-based accounting
tool, ledger (http://wiki.github.com/jwiegley/ledger). hledger generates tool, ledger (http://wiki.github.com/jwiegley/ledger). hledger generates
ledger-compatible register & balance reports from a plain text journal, ledger-compatible register & balance reports from a plain text journal,
provides simple interactive querying, and demonstrates a functional allows precise batch-mode or interactive querying, and demonstrates a pure
implementation of ledger. For more information, see http://hledger.org . functional implementation of ledger. For more information, see
http://hledger.org .
Copyright (c) 2007-2009 Simon Michael <simon@joyful.com> Copyright (c) 2007-2009 Simon Michael <simon@joyful.com>
Released under GPL version 3 or later. Released under GPL version 3 or later.
@ -13,13 +14,14 @@ Released under GPL version 3 or later.
Installation Installation
------------ ------------
Building hledger requires GHC (http://haskell.org/ghc); it is known to Building hledger requires GHC (http://haskell.org/ghc); it is known to
build with GHC 6.8 and up. hledger should work on any platform which GHC build with GHC 6.8 and up. hledger should work on any platform which GHC
supports. supports.
Also, installing hledger easily requires the "cabal" command-line tool, Also, installing hledger easily requires the "cabal" command-line tool,
version 0.6.0 and up (http://www.haskell.org/cabal/download.html). (You version 0.6.0 and up (http://www.haskell.org/cabal/download.html). (You
can also manually download and install each dependency mentioned in can manually download and install each dependency mentioned in
hledger.cabal from hackage.org, but installing cabal is much quicker.) hledger.cabal from hackage.org, but installing cabal is much quicker.)
Here's how to download and install the latest hledger release:: Here's how to download and install the latest hledger release::
@ -38,44 +40,53 @@ The available flags are::
vty - enable the curses text ui vty - enable the curses text ui
ansi - enable the ansi text ui (use instead of vty on MS windows) ansi - enable the ansi text ui (use instead of vty on MS windows)
And for developers, here's how to get the latest development code:: For developers, here's how to get the latest code::
darcs get http://joyful.com/repos/hledger darcs get http://joyful.com/repos/hledger
Usage Usage
----- -----
hledger looks for your ledger file at ~/.ledger by default. To use a hledger looks for your ledger file at ~/.ledger by default. To use a
different file, specify it with the LEDGER environment variable or -f different file, specify it with the LEDGER environment variable or -f
option (which may be - for standard input). Here are some commands to try:: option (which may be - for standard input). Basic usage is::
hledger [OPTIONS] COMMAND [PATTERNS]
where COMMAND is one of balance, print, register, ui, web, test; and
PATTERNS are zero or more regular expressions used to narrow the results.
Here are some commands to try::
hledger --help hledger --help
hledger -f sample.ledger balance
export LEDGER=sample.ledger export LEDGER=sample.ledger
hledger balance --depth 1 hledger balance
hledger bal --depth 1
hledger register hledger register
hledger reg income hledger reg income
hledger reg desc:shop hledger reg desc:shop
hledger ui hledger ui # if you installed with -f vty or ansi
hledger web # if you installed with -f happs
Time reporting Time reporting
-------------- --------------
If hledger is invoked by the "hours" alias it looks for your timelog hledger will also read timeclock.el-format timelog entries. As a
(~/.timelog, or the file specified by $TIMELOG or -f), and parses convenience, if you invoke the hledger executable via a link or copy named
arguments slightly differently for convenient timelog querying:: "hours", it looks for your timelog file (~/.timelog, or the file specified
by $TIMELOG or -f), and parses arguments slightly differently::
hours [OPTIONS] [PERIOD [COMMAND [PATTERNS]]] hours [OPTIONS] [PERIOD [COMMAND [PATTERNS]]]
where PERIOD and COMMAND are "today" and "balance" by default. where PERIOD is a ledger-style period expression, defaulting to "today",
The timelog file is in timeclock.el's format, where an entry looks like:: and COMMAND is one of the commands above. Timelog entries look like this::
i 2009/03/31 22:21:45 work:hledger i 2009/03/31 22:21:45 some:project
o 2009/04/01 02:00:34 o 2009/04/01 02:00:34
Time categories are treated as accounts. Here are some time queries to try:: The clock-in project is treated as an account. Here are some time queries to try::
export TIMELOG=/my/timelog # if not ~/.timelog export TIMELOG=/my/timelog # if it's not ~/.timelog
hours # today's balances hours # today's balances
hours today # the same hours today # the same
hours 'this week' # so far this week hours 'this week' # so far this week