diff --git a/HOME b/HOME index 363518189..9505b6382 100644 --- a/HOME +++ b/HOME @@ -1,58 +1,32 @@ hledger ========================== -*just the numbers* ------------------- +hledger is a computer program for easily tracking money, time, or other +commodities, using standard accounting principles. It is quite limited in +features, but reliable. For some, it is a bare-bones, less complex, less +expensive alternative to Quicken or Microsoft Money. -Welcome! hledger is software for doing double-entry accounting with less pain and more gain. -It reads a plain text -`ledger file `_ or `timelog `_ describing your transactions and displays -precise reports via -`command-line `_, -`curses `_ or -`web interface `_. -I use it every day to: track spending and income; see time reports by day/week/month/project; get accurate numbers for client billing and tax returns; find unpaid invoices, and so on. +hledger aims to help both computer experts and every-day users gain clarity in their finances and time management. +I use it every day to: -hledger is a remix, in haskell_, of John Wiegley's excellent ledger_. -hledger aims to be: +- track spending and income +- see time reports by day/week/month/project +- get accurate numbers for client billing and tax filing +- find unpaid invoices -- a practical, accessible, dependable tool for end users -- a useful library and toolbox for finance-minded haskell programmers -- a successful, time-and-money-solvent project within a thriving ecosystem of financial software projects. +Here is a **`demo `_** of the web interface. -hledger is free software by `Simon Michael`_ & `co.`_, released under GNU GPLv3. +Here is the **`user's guide `_**. -Getting started ---------------- -hledger works on all major platforms. -One of these `platform binaries`_ might work for you. -Otherwise: install the `Haskell Platform`_, then type ``cabal install hledger``. -See also hledger's `User's Guide`_, News_, `Screenshots `_, and perhaps c++ ledger's `home page`_ and manual_. +Download and try +**`hledger for mac `_**, +**`hledger for windows `_**, +or +**hledger for linux +(`32-bit `_, +`64-bit `_)** -If you're a developer, `browse the code`_ or ``darcs get http://joyful.com/repos/hledger``. -See also the `hackage page`_, `Developer API docs`_, and latest notes_, benchmark_, profile_, heap_, `test coverage`_. - -.. raw:: html - - -To get help or discuss, use one of the channels below. -Reports/patches for any issues with hledger, documentation, or website are appreciated! - -- chat Simon (sm) on the `#ledger irc channel`_ which we share with ledger -- use the `issue tracker`_ -- .. raw:: html -
- join the mail list. Email: - -
- -- for something private, `email me`_. - -Related projects ----------------- -- John Wiegley's ledger_ inspired hledger, and the two projects are coevolving. If you like hledger, try ledger too. You can run both on the same ledger file if you stick with the core features. -- Tim Docker's ledger-reports_ uses hledger as a library to generate `html reports`_. -- I have a few older bits and pieces at http://joyful.com/Ledger . +And go here for **`more help and technical info `_**. .. raw:: html diff --git a/HOMEDEV b/HOMEDEV new file mode 100644 index 000000000..e94bdac13 --- /dev/null +++ b/HOMEDEV @@ -0,0 +1,105 @@ +hledger +========================== + +hledger for techies +------------------- + +hledger is a remix, in haskell_, of John Wiegley's excellent ledger_ accounting tool. +It reads a plain text +`ledger file `_ or +`timelog `_ +describing your transactions and displays precise reports via +`command-line `_, +`curses `_ or +`web interface `_. + +hledger aims to be: + +- a practical, accessible, dependable tool for end users +- a useful library and toolbox for finance-minded haskell programmers +- a successful, time-and-money-solvent project within a thriving ecosystem of financial software projects. + +hledger is free software by `Simon Michael`_ & `co.`_, released under GNU GPLv3. + +Getting started +--------------- +``cabal install hledger``, +or try these `platform binaries`_, +or see the `installing docs `_. + +Then see hledger's `User's Guide`_, News_, `Screenshots `_, and perhaps c++ ledger's `home page`_ and manual_. + +If you're a developer, `browse the code`_ or ``darcs get http://joyful.com/repos/hledger``. +See also the `hackage page`_, `Developer API docs`_, and latest notes_, benchmark_, profile_, heap_, `test coverage`_. + +.. raw:: html + + +To get help or discuss, use one of the channels below. +Reports/patches for any issues with hledger, documentation, or website are appreciated! + +- chat Simon (sm) on the `#ledger irc channel`_ which we share with ledger +- .. raw:: html +
+ join the mail list. Your email: + +
+- use the `issue tracker`_ +- or `email me`_. + +Related projects +---------------- +- John Wiegley's ledger_ inspired hledger, and we try to stay compatible. You can often use both tools on the same ledger file. +- Uwe Hollerbach's umm_ is another haskell tool inspired by h/ledger. +- Tim Docker's ledger-reports_ uses hledger as a library to generate `html reports`_. +- I have a few older bits and pieces `here `_. + +.. raw:: html + + + + +.. ------------------------------------------------------------------------- + +.. _ledger file: http://joyful.com/repos/hledger/sample.ledger +.. _timelog: http://joyful.com/repos/hledger/sample.timelog +.. _balance: http://demo.hledger.org/balance +.. _register: http://demo.hledger.org/register?a=checking&p=weekly +.. _mail list: http://list.hledger.org +.. _issue tracker: http://bugs.hledger.org +.. _platform binaries: http://hledger.org/binaries/ +.. _User's Guide: README.html +.. _News: NEWS.html +.. _Contributor List: CONTRIBUTORS.html +.. _Developer API docs: http://hledger.org/api-doc +.. _notes: http://joyful.com/darcsweb/darcsweb.cgi?r=hledger;a=plainblob;f=/NOTES +.. _benchmark: http://hledger.org/profs/latest.bench +.. _profile: http://hledger.org/profs/latest.prof +.. _heap: http://hledger.org/profs/latest.ps +.. _test coverage: http://hledger.org/profs/coverage/hpc_index_fun.html +.. _browse the code: http://joyful.com/darcsweb/darcsweb.cgi?r=hledger +.. _email me: mailto:simon@joyful.com +.. _Simon Michael: http://joyful.com +.. _co.: http://hledger.org/CONTRIBUTORS.html +.. _haskell: http://haskell.org +.. _GHC: http://haskell.org/ghc +.. _cabal: http://haskell.org/cabal/download.html +.. _Haskell Platform: http://hackage.haskell.org/platform/ +.. _hackage page: http://hackage.haskell.org/package/hledger +.. _#ledger irc channel: irc://irc.freenode.net/#ledger +.. _ledger: http://wiki.github.com/jwiegley/ledger +.. _home page: http://wiki.github.com/jwiegley/ledger +.. _manual: http://joyful.com/repos/ledger/doc/ledger.html +.. _umm: http://www.korgwal.com/umm/ +.. _ledger-reports: http://dockerz.net/repos/ledger-reports +.. _html reports: http://dockerz.net/software/hledger_report_sample/report.html + +.. .. raw:: html + + + +.. rst quick reference: http://docutils.sourceforge.net/docs/user/rst/quickref.html + +.. Local variables: +.. mode: rst +.. End: diff --git a/Makefile b/Makefile index 1ede63063..e9b403f85 100644 --- a/Makefile +++ b/Makefile @@ -21,7 +21,7 @@ VIEWHTMLCMD=open VIEWPSCMD=open SOURCEFILES:=*hs Commands/*hs Ledger/*hs -DOCFILES:=HOME README NEWS CONTRIBUTORS SCREENSHOTS +DOCFILES:=HOME HOMEDEV README NEWS CONTRIBUTORS SCREENSHOTS BINARYFILENAME=`runhaskell ./hledger.hs --binary-filename` PATCHLEVEL:=$(shell expr `darcs changes --count --from-tag=\\\\\.` - 1) WARNINGS:=-W -fwarn-tabs #-fwarn-orphans -fwarn-simple-patterns -fwarn-monomorphism-restriction -fwarn-name-shadowing diff --git a/README b/README index a46d9d93d..69761901d 100644 --- a/README +++ b/README @@ -1,28 +1,23 @@ hledger User's Guide ==================== -Welcome to hledger! +hledger is an accounting tool, similar to and inspired by John Wiegley's +"ledger" project. If you haven't already, see also hledger's home page at +http://hledger.org . -hledger is a partial haskell clone of John Wiegley's "ledger" command-line -accounting tool. hledger generates ledger-compatible register & balance -reports from a plain text ledger file, allows precise batch-mode or -interactive querying, and demonstrates a pure functional implementation of -ledger. For more information, see http://hledger.org . +hledger is copyright (c) 2007-2009 Simon Michael and +contributors and released under GPL version 3 or later. -Copyright (c) 2007-2009 Simon Michael and contributors. -Released under GPL version 3 or later. +Installing +---------- -Installation ------------- +hledger works on all major platforms. +One of these `platform binaries`_ might work for you. +If not, please report, then install the `Haskell Platform`_ and type ``cabal install hledger``. Platform binaries are not yet being published; you could try asking for one on the #ledger channel. -Building hledger requires GHC 6.8 or later (http://haskell.org/ghc). -hledger should work on any platform which GHC supports. -Also, installing hledger's dependencies easily requires cabal-install -version 0.6 or later (http://www.haskell.org/cabal/download.html). -Once these tools are installed on your system, do:: cabal update cabal install hledger [-fvty] [-fhapps] @@ -30,8 +25,12 @@ Once these tools are installed on your system, do:: The vty and happs flags are optional; they enable hledger's "ui" and "web" commands respectively. vty is not available on the windows platform. -Usage ------ +Basic usage +----------- + +hledger generates ledger-compatible register & balance reports from a +plain text ledger file. You can use it from the command line, or via the +web or curses interface. hledger looks for your ledger file at ~/.ledger by default. To use a different file, specify it with the LEDGER environment variable or -f @@ -57,7 +56,7 @@ account name or transaction description. Here are some commands to try:: hledger -f new.ledger add # record transactions from the command line Time reporting --------------- +.............. hledger will also read timelog files in timeclock.el format. If you invoke hledger via a symlink or copy named "hours", it looks for your @@ -84,6 +83,9 @@ queries to try:: Features -------- +Overview +........ + This version of hledger mimics a subset of ledger 3.x, and adds some features of its own. We currently support regular ledger entries, timelog entries, multiple commodities, virtual transactions, account and @@ -125,12 +127,12 @@ We handle (almost) the full period expression syntax, and very limited display expressions consisting of a simple date predicate. Also the following new commands are supported:: - histogram show a barchart of transaction counts per interval - add record transactions from the command line - convert convert CSV bank data to ledger journal format - ui a simple curses ui (only on unix platforms) - web a simple web ui - stats report some ledger statistics + add prompt for new transactions and add them to the ledger + convert read CSV bank data and display in ledger format + histogram show a barchart of transactions per day or other interval + ui run a simple text-based UI (only on unix platforms) + web run a simple web-based UI + stats show various statistics for a ledger test run self-tests Smart dates @@ -213,6 +215,14 @@ Note the use of >= here to include the first of the month:: hledger register -d "d>=[this month]" +Differences from c++ ledger +--------------------------- + +hledger is written in the Haskell programming language, which encourages a +coding style known as pure functional programming. This can, all going +well, help programmers to produce reliable software and write less code. + +it demonstrates a pure functional implementation of ledger. ledger features not supported ............................. @@ -294,3 +304,6 @@ Other differences * hledger doesn't show description comments as part of the description * hledger print puts a blank line after the entry, not before it * hledger doesn't print trailing spaces after amount-elided postings + +.. _platform binaries: http://hledger.org/binaries/ +.. _Haskell Platform: http://hackage.haskell.org/platform/