From 2489517931beae0f1067827fa6ea0e1f23a5f433 Mon Sep 17 00:00:00 2001 From: Simon Michael Date: Sat, 21 Nov 2009 02:01:28 +0000 Subject: [PATCH] docs: more site & docs cleanup --- CONTRIBUTORS | 4 +- HOME | 76 +++++---------------- HOME2 | 86 +++++++++++++++++++++++ HOMEDEV | 105 ----------------------------- Makefile | 5 +- NEWS | 3 + README | 81 +++++++++++++--------- SCREENSHOTS | 21 +++--- website/header.html | 2 +- website/{hledger.css => style.css} | 4 +- 10 files changed, 173 insertions(+), 214 deletions(-) create mode 100644 HOME2 delete mode 100644 HOMEDEV rename website/{hledger.css => style.css} (97%) diff --git a/CONTRIBUTORS b/CONTRIBUTORS index 07900214b..37f85ab9e 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -1,5 +1,5 @@ -Contributor List and Agreement -============================== +hledger Contributor List and Agreement +====================================== hledger Contributors -------------------- diff --git a/HOME b/HOME index 9505b6382..296da5ab7 100644 --- a/HOME +++ b/HOME @@ -1,11 +1,17 @@ hledger -========================== +======= 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. +.. + (For techies: hledger is a remix, in haskell, of John Wiegley's excellent + ledger accounting tool. It reads a plain text journal file describing your + transactions and displays reports via command line, curses or web + interface.) + 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: @@ -14,65 +20,19 @@ I use it every day to: - get accurate numbers for client billing and tax filing - find unpaid invoices -Here is a **`demo `_** of the web interface. +Here is a **demo_** of the web interface. -Here is the **`user's guide `_**. +Here is the **manual_**. +For support and more technical info, see **`hledger for techies`_** or **`email me`_**. -Download and try -**`hledger for mac `_**, -**`hledger for windows `_**, -or -**hledger for linux -(`32-bit `_, -`64-bit `_)** - -And go here for **`more help and technical info `_**. - -.. raw:: html - - +Download and try **`hledger for mac`_**, **`hledger for windows`_**, or **hledger for linux (`32 bit`_, `64 bit`_)**. -.. ------------------------------------------------------------------------- - -.. _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 +.. _demo: http://demo.hledger.org +.. _manual: README.html +.. _hledger for techies: HOME2.html .. _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 -.. _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: +.. _hledger for mac: http://hledger.org/binaries/hledger-0.6-mac-i386.gz +.. _hledger for windows: http://hledger.org/binaries/hledger-0.6-win-i386.zip +.. _32 bit: http://hledger.org/binaries/hledger-0.6.1+9-linux-i386.gz +.. _64 bit: http://hledger.org/binaries/hledger-0.6-linux-x86_64.gz diff --git a/HOME2 b/HOME2 new file mode 100644 index 000000000..18f8e17e1 --- /dev/null +++ b/HOME2 @@ -0,0 +1,86 @@ +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 reports via `command line`_, curses_ or `web interface`_ (click for a demo). + +The hledger project aims to produce: + +- 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. + +**Learn** + manual_, news_, screenshots_ + +**Download** + ``cabal install hledger``, + or try these ready-to-run binaries_, + or see the `installing docs `_ + +**Develop** + ``darcs get http://joyful.com/repos/hledger``, + `browse the repo`_, + `code docs`_, + `hackage page`_, + notes_, + benchmark_\/profile_\/heap_\/coverage_ reports + +.. raw:: html + + +**Support** + +- chat Simon (sm) on the `#ledger`_ irc channel which we share, or `email me`_ +- report problems in the `issue tracker`_ +- .. raw:: html +
+ join the mail list. Your email: + +
+ +**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 + + + + + +.. _hledger: HOME.html +.. _`ledger file`: http://joyful.com/repos/hledger/sample.ledger +.. _timelog: http://joyful.com/repos/hledger/sample.timelog +.. _command line: SCREENSHOTS.html#hledger-screen-1 +.. _curses: SCREENSHOTS.html#sshot +.. _web interface: http://demo.hledger.org +.. _mail list: http://list.hledger.org +.. _issue tracker: http://bugs.hledger.org +.. _binaries: http://hledger.org/binaries/ +.. _manual: README.html +.. _news: NEWS.html +.. _screenshots: SCREENSHOTS.html +.. _code 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 +.. _coverage: http://hledger.org/profs/coverage/hpc_index_fun.html +.. _browse the repo: 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 +.. _hackage page: http://hackage.haskell.org/package/hledger +.. _#ledger: irc://irc.freenode.net/#ledger +.. _haskell: http://haskell.org +.. _ledger: http://wiki.github.com/jwiegley/ledger +.. _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 diff --git a/HOMEDEV b/HOMEDEV deleted file mode 100644 index e94bdac13..000000000 --- a/HOMEDEV +++ /dev/null @@ -1,105 +0,0 @@ -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 09b68905d..1e7dad93e 100644 --- a/Makefile +++ b/Makefile @@ -21,7 +21,7 @@ VIEWHTMLCMD=open VIEWPSCMD=open SOURCEFILES:=*hs Commands/*hs Ledger/*hs -DOCFILES:=HOME HOMEDEV README NEWS CONTRIBUTORS SCREENSHOTS +DOCFILES:=HOME HOME2 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 @@ -205,8 +205,7 @@ docs: web pdf api-docs # build the main hledger.org website web: - for d in $(DOCFILES); do pandoc -s -H website/header.html -A website/footer.html -r rst $$d >website/$$d.html; done - for d in README; do pandoc --toc -s -H website/header.html -A website/footer.html -r rst $$d >website/$$d.html; done + for d in $(DOCFILES); do pandoc --toc -s -H website/header.html -A website/footer.html -r rst $$d >website/$$d.html; done cd website; rm -f index.html; ln -s HOME.html index.html; rm -f profs; ln -s ../profs # ..from anywhere diff --git a/NEWS b/NEWS index 9c82716e2..da72dcc2f 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,6 @@ +hledger news +============ + 2009/06/22 hledger 0.6.1 ........................ * avoid use of exitSuccess which was breaking ghc 6.8/base 3 compatibility (issue #2) diff --git a/README b/README index dd29a7bb2..691ad4f1b 100644 --- a/README +++ b/README @@ -1,36 +1,52 @@ -hledger User's Guide -==================== +hledger manual +============== -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 . +This is the official hledger manual. You may also want to visit +the http://hledger.org home page, +the `hledger for techies`_ page, +and possibly `c++ ledger's manual`_ for background. + +Introduction +------------ + +hledger is an accounting tool for tracking money, time, or other commodities using standard accounting principles. +It was inspired by John Wiegley's "ledger" project, which I used and admired. +I wrote hledger because I wanted to build financial tools in the Haskell +programming language rather than C++. + +hledger's most basic function is to generate register and balance reports +from a plain text ledger file, at the command line or via the web or +curses interface. You can use it to, eg, + +- track spending and income +- see time reports by day/week/month/project +- get accurate numbers for client billing and tax filing +- find unpaid invoices + +hledger aims to help both computer experts and every-day users gain clarity in their finances and time management. +For now though, it is most useful to technically-minded folks who are comfortable with command-line tools. hledger is copyright (c) 2007-2009 Simon Michael and -contributors and released under GPL version 3 or later. +contributors and released as Free Software under GPL version 3 or later. -Installing +User Guide ---------- -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``. +Installing +.......... -One of the platform binaries published at http://hledger.org may work for you. -If not, please report the problem and read on.. +hledger works on all major platforms. One of these pre-built binaries_ might work for you. +If not, please report the problem, then install the `Haskell Platform`_ and type:: cabal update cabal install hledger [-fvty] [-fhapps] -The vty and happs flags are optional; they enable hledger's "ui" and "web" -commands respectively. vty is not available on the windows platform. +The optional -f flags will download more stuff and include the "ui" and +"web" commands respectively. -fvty will not work on microsoft windows. 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 @@ -80,11 +96,11 @@ queries to try:: hours -p 'from 1/15' register project # project sessions since jan 15 hours -p 'weekly' reg --depth 1 -E # weekly time summary -Features --------- +Reference +--------- -Overview -........ +Feature 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 @@ -218,14 +234,12 @@ Note the use of >= here to include the first of the 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. +hledger is written in the Haskell programming language, which supports a +coding style known as pure functional programming. This can help +programmers to produce more robust software and write fewer lines of code. -it demonstrates a pure functional implementation of ledger. - -ledger features not supported -............................. +Features not supported +...................... ledger features not currently supported include: modifier and periodic entries, and the following options and commands:: @@ -302,8 +316,11 @@ Other differences * hledger splits multi-day timelog sessions at midnight * hledger register report always sorts transactions by date * hledger doesn't show description comments as part of the description -* hledger print puts a blank line after the entry, not before it +* hledger print puts a blank line after a transaction, not before it * hledger doesn't print trailing spaces after amount-elided postings -.. _platform binaries: http://hledger.org/binaries/ + +.. _hledger for techies: HOME2.html +.. _c++ ledger's manual: http://joyful.com/repos/ledger/doc/ledger.html +.. _binaries: http://hledger.org/binaries/ .. _Haskell Platform: http://hackage.haskell.org/platform/ diff --git a/SCREENSHOTS b/SCREENSHOTS index 7a5696ca9..04125c716 100644 --- a/SCREENSHOTS +++ b/SCREENSHOTS @@ -1,30 +1,29 @@ +hledger screenshots +=================== + .. raw:: html -
+

Basic command-line reports, like ledger: - .. image:: http://hledger.org/hledger-screen-1.png +.. image:: http://hledger.org/hledger-screen-1.png .. raw:: html -
+

-The interactive curses interface ("hledger ui") +The interactive curses interface ("hledger ui"): - .. image:: http://hledger.org/sshot.png +.. image:: http://hledger.org/sshot.png .. raw:: html -
+

A time dashboard in emacs. The upper window displays today's time report every minute (using ansi-term, watch, a helper script, and hledger invoked via "hours" symlink.) The lower window is viewing the timelog file, to tweak clock-ins/clock-outs made with C-x t i and C-x t o. (`ledgerutils.el `_ has some related bits.): - .. image:: http://hledger.org/watchhours.png +.. image:: http://hledger.org/watchhours.png - -.. raw:: html - -
diff --git a/website/header.html b/website/header.html index babcaceef..90b090c02 100644 --- a/website/header.html +++ b/website/header.html @@ -1,4 +1,4 @@ - +