From 6ed238a3d681ad4dd6a6a6c210f14ee5d50771cd Mon Sep 17 00:00:00 2001 From: Simon Michael Date: Thu, 26 Jan 2017 09:03:20 -0800 Subject: [PATCH] doc: regenerate built-in help [ci skip] --- hledger-web/doc/hledger-web.1 | 16 +-- hledger-web/doc/hledger-web.1.info | 16 +-- hledger-web/doc/hledger-web.1.txt | 13 +- hledger/doc/hledger.1 | 107 +++++++------- hledger/doc/hledger.1.info | 220 +++++++++++++++-------------- hledger/doc/hledger.1.txt | 95 +++++++------ 6 files changed, 229 insertions(+), 238 deletions(-) diff --git a/hledger-web/doc/hledger-web.1 b/hledger-web/doc/hledger-web.1 index 5bf82439c..4e140db1e 100644 --- a/hledger-web/doc/hledger-web.1 +++ b/hledger-web/doc/hledger-web.1 @@ -13,8 +13,6 @@ hledger\-web \- web interface for the hledger accounting tool .P .PD \f[C]hledger\ web\ \-\-\ [OPTIONS]\f[] -.PP -.PP .SH DESCRIPTION .PP hledger is a cross\-platform program for tracking money, time, or any @@ -49,18 +47,8 @@ opens it in your default web browser if possible. In this mode the web app will keep running for as long as you have it open in a browser window, and will exit after two minutes of inactivity (no requests and no browser windows viewing it). -.IP -.nf -\f[C] -$\ hledger\ web -Starting\ web\ app\ on\ port\ 5000\ with\ base\ url\ http://localhost:5000 -Starting\ web\ browser\ if\ possible -Web\ app\ will\ auto\-exit\ after\ a\ few\ minutes\ with\ no\ browsers\ (or\ press\ ctrl\-c) -\f[] -.fi -.PP -With \f[C]\-\-serve\f[], it starts the web app in non\-transient mode -and logs requests to the console. +With \f[C]\-\-serve\f[], it just runs the web app without exiting, and +logs requests to the console. .PP By default the server listens on IP address 127.0.0.1, accessible only to local requests. diff --git a/hledger-web/doc/hledger-web.1.info b/hledger-web/doc/hledger-web.1.info index 015637814..a6b709711 100644 --- a/hledger-web/doc/hledger-web.1.info +++ b/hledger-web/doc/hledger-web.1.info @@ -30,16 +30,8 @@ hledger_journal(5) etc. also opens it in your default web browser if possible. In this mode the web app will keep running for as long as you have it open in a browser window, and will exit after two minutes of inactivity (no requests and -no browser windows viewing it). - - -$ hledger web -Starting web app on port 5000 with base url http://localhost:5000 -Starting web browser if possible -Web app will auto-exit after a few minutes with no browsers (or press ctrl-c) - - With `--serve', it starts the web app in non-transient mode and logs -requests to the console. +no browser windows viewing it). With `--serve', it just runs the web +app without exiting, and logs requests to the console. 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 @@ -200,7 +192,7 @@ before options as shown above.  Tag Table: Node: Top90 -Node: OPTIONS3343 -Ref: #options3430 +Node: OPTIONS3144 +Ref: #options3231  End Tag Table diff --git a/hledger-web/doc/hledger-web.1.txt b/hledger-web/doc/hledger-web.1.txt index cf834c550..0b47f8e50 100644 --- a/hledger-web/doc/hledger-web.1.txt +++ b/hledger-web/doc/hledger-web.1.txt @@ -10,8 +10,6 @@ SYNOPSIS hledger-web [OPTIONS] hledger web -- [OPTIONS] - - DESCRIPTION hledger is a cross-platform program for tracking money, time, or any other commodity, using double-entry accounting and a simple, editable @@ -41,15 +39,8 @@ DESCRIPTION opens it in your default web browser if possible. In this mode the web app will keep running for as long as you have it open in a browser win- dow, and will exit after two minutes of inactivity (no requests and no - browser windows viewing it). - - $ hledger web - Starting web app on port 5000 with base url http://localhost:5000 - Starting web browser if possible - Web app will auto-exit after a few minutes with no browsers (or press ctrl-c) - - With --serve, it starts the web app in non-transient mode and logs - requests to the console. + browser windows viewing it). With --serve, it just runs the web app + without exiting, and logs requests to the console. 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 diff --git a/hledger/doc/hledger.1 b/hledger/doc/hledger.1 index ec77dcea8..1ef85dea5 100644 --- a/hledger/doc/hledger.1 +++ b/hledger/doc/hledger.1 @@ -2177,107 +2177,112 @@ It\[aq]s mainly used in development, but it\[aq]s also nice to be able to check your hledger executable for smoke at any time. .SH ADD\-ON COMMANDS .PP -Add\-on commands are executables in your PATH whose name starts with -\f[C]hledger\-\f[] and ends with any of these file extensions: none, -\f[C]\&.hs\f[],\f[C]\&.lhs\f[],\f[C]\&.pl\f[],\f[C]\&.py\f[],\f[C]\&.rb\f[],\f[C]\&.rkt\f[],\f[C]\&.sh\f[],\f[C]\&.bat\f[],\f[C]\&.com\f[],\f[C]\&.exe\f[]. -Also, an add\-on\[aq]s name may not be the same as any built\-in command -or alias. +hledger also searches for external add\-on commands, and will include +these in the commands list. +These are programs or scripts in your PATH whose name starts with +\f[C]hledger\-\f[] and ends with a recognised file extension (currently: +no extension, \f[C]bat\f[],\f[C]com\f[],\f[C]exe\f[], +\f[C]hs\f[],\f[C]lhs\f[],\f[C]pl\f[],\f[C]py\f[],\f[C]rb\f[],\f[C]rkt\f[],\f[C]sh\f[]). .PP -hledger will detect these and include them in the command list and let -you invoke them with \f[C]hledger\ ADDONCMD\f[]. -However there are some limitations: +Add\-ons can be invoked like any hledger command, but there are a few +things to be aware of. +Eg if the \f[C]hledger\-web\f[] add\-on is installed, .IP \[bu] 2 -Options appearing before ADDONCMD will be visible only to hledger and -will not be passed to the add\-on. -Eg: \f[C]hledger\ \-h\ web\f[] shows hledger\[aq]s usage, -\f[C]hledger\ web\ \-h\f[] shows hledger\-web\[aq]s usage. +\f[C]hledger\ \-h\ web\f[] shows hledger\[aq]s help, while +\f[C]hledger\ web\ \-h\f[] shows hledger\-web\[aq]s help. .IP \[bu] 2 -Options understood only by the add\-on must go after a \f[C]\-\-\f[] -argument to hide them from hledger, which would otherwise reject them. -Eg: \f[C]hledger\ web\ \-\-\ \-\-server\f[]. +Flags specific to the add\-on must have a preceding \f[C]\-\-\f[] to +hide them from hledger. +So \f[C]hledger\ web\ \-\-serve\ \-\-port\ 9000\f[] will be rejected; +you must use \f[C]hledger\ web\ \-\-\ \-\-serve\ \-\-port\ 9000\f[]. +.IP \[bu] 2 +You can always run add\-ons directly if preferred: +\f[C]hledger\-web\ \-\-serve\ \-\-port\ 9000\f[]. .PP -Sometimes it may be more convenient to just run the add\-on directly, -eg: \f[C]hledger\-web\ \-\-server\f[]. +Add\-ons are a relatively easy way to add local features or experiment +with new ideas. +They can be written in any language, but haskell scripts have a big +advantage: they can use the same hledger (and haskell) library functions +that built\-in commands do, for command\-line options, journal parsing, +reporting, etc. .PP -Add\-ons which are written in haskell can take advantage of the -hledger\-lib library for journal parsing, reporting, command\-line -options, etc. -.PP -Here are some hledger add\-ons available from Hackage, the extra -directory in the hledger source, or elsewhere: +Here are some hledger add\-ons available: .SS Official add\-ons .PP These are maintained and released along with hledger. .SS api .PP -Web API server, see hledger\-api. +hledger\-api serves hledger data as a JSON web API. .SS ui .PP -Curses\-style interface, see hledger\-ui. +hledger\-ui provides an efficient curses\-style interface. .SS web .PP -Web interface, see hledger\-web. +hledger\-web provides a simple web interface. .SS Third party add\-ons .PP -These are maintained separately from hledger, and usually updated -shortly after a hledger release. +These are maintained separately, and usually updated shortly after a +hledger release. .SS diff .PP -hledger\-diff Shows differences in an account\[aq]s transactions between +hledger\-diff shows differences in an account\[aq]s transactions between one journal file and another. .SS iadd .PP -hledger\-iadd A curses\-style, more interactive replacement for the add -command. +hledger\-iadd is a curses\-style, more interactive replacement for the +add command. .SS interest .PP -hledger\-interest Generates interest transactions for an account +hledger\-interest generates interest transactions for an account according to various schemes. .SS irr .PP -hledger\-irr Calculates the internal rate of return of an investment +hledger\-irr calculates the internal rate of return of an investment account. .SS Experimental add\-ons .PP -These add\-ons are available in source form in the hledger repo. -Installing them is pretty easy. -Reading and copying these is a good way to start making your own -add\-ons. -These are typically more experimental and less documented than built\-in -commands. +These are available in source form in the hledger repo\[aq]s bin/ +directory; installing them is pretty easy. +They may be less mature and documented than built\-in commands. +Reading and tweaking these is a good way to start making your own! +.SS autosync +.PP +hledger\-autosync is a symbolic link for easily running +ledger\-autosync, if installed. +ledger\-autosync does deduplicating conversion of OFX data and some CSV +formats, and can also download the data if your bank offers OFX Direct +Connect. .SS budget .PP -hledger\-budget.hs A tool adding more budget\-tracking features to -hledger. +hledger\-budget.hs adds more budget\-tracking features to hledger. .SS chart .PP -hledger\-chart.hs An old pie chart generator, in need of some love. +hledger\-chart.hs is an old pie chart generator, in need of some love. .SS check .PP -hledger\-check.hs More powerful account balance assertions. +hledger\-check.hs checks more powerful account balance assertions. .SS check\-dates .PP -hledger\-check\-dates.hs Checks that journal entries are ordered by +hledger\-check\-dates.hs checks that journal entries are ordered by date. .SS dupes .PP -hledger\-dupes.hs Checks for account names sharing the same leaf name. +hledger\-dupes.hs checks for account names sharing the same leaf name. .SS equity .PP -hledger\-equity.hs Prints balance\-resetting transactions useful for +hledger\-equity.hs prints balance\-resetting transactions, useful for bringing account balances across file boundaries. .SS prices .PP -hledger\-prices.hs Prints transactions which do not reuse an -already\-seen description. +hledger\-prices.hs prints all prices from the journal. .SS print\-unique .PP -hledger\-print\-unique.hs Prints transactions which do not reuse an +hledger\-print\-unique.hs prints transactions which do not reuse an already\-seen description. .SS register\-match .PP -hledger\-register\-match.hs Helps ledger\-autosync recognise -already\-imported transactions. +hledger\-register\-match.hs helps ledger\-autosync detect already\-seen +transactions when importing. .SS rewrite .PP hledger\-rewrite.hs Adds one or more custom postings to matched diff --git a/hledger/doc/hledger.1.info b/hledger/doc/hledger.1.info index 844c2d5f3..9dc175901 100644 --- a/hledger/doc/hledger.1.info +++ b/hledger/doc/hledger.1.info @@ -1813,33 +1813,33 @@ File: hledger.1.info, Node: ADD-ON COMMANDS, Next: TROUBLESHOOTING, Prev: COM 5 ADD-ON COMMANDS ***************** -Add-on commands are executables in your PATH whose name starts with -`hledger-' and ends with any of these file extensions: none, -`.hs',`.lhs',`.pl',`.py',`.rb',`.rkt',`.sh',`.bat',`.com',`.exe'. -Also, an add-on's name may not be the same as any built-in command or -alias. +hledger also searches for external add-on commands, and will include +these in the commands list. These are programs or scripts in your PATH +whose name starts with `hledger-' and ends with a recognised file +extension (currently: no extension, `bat',`com',`exe', +`hs',`lhs',`pl',`py',`rb',`rkt',`sh'). - hledger will detect these and include them in the command list and -let you invoke them with `hledger ADDONCMD'. However there are some -limitations: + Add-ons can be invoked like any hledger command, but there are a few +things to be aware of. Eg if the `hledger-web' add-on is installed, - * Options appearing before ADDONCMD will be visible only to hledger - and will not be passed to the add-on. Eg: `hledger -h web' shows - hledger's usage, `hledger web -h' shows hledger-web's usage. + * `hledger -h web' shows hledger's help, while `hledger web -h' + shows hledger-web's help. - * Options understood only by the add-on must go after a `--' argument - to hide them from hledger, which would otherwise reject them. Eg: - `hledger web -- --server'. + * Flags specific to the add-on must have a preceding `--' to hide + them from hledger. So `hledger web --serve --port 9000' will be + rejected; you must use `hledger web -- --serve --port 9000'. - Sometimes it may be more convenient to just run the add-on directly, -eg: `hledger-web --server'. + * You can always run add-ons directly if preferred: `hledger-web + --serve --port 9000'. - Add-ons which are written in haskell can take advantage of the -hledger-lib library for journal parsing, reporting, command-line -options, etc. - Here are some hledger add-ons available from Hackage, the extra -directory in the hledger source, or elsewhere: + Add-ons are a relatively easy way to add local features or experiment +with new ideas. They can be written in any language, but haskell scripts +have a big advantage: they can use the same hledger (and haskell) +library functions that built-in commands do, for command-line options, +journal parsing, reporting, etc. + + Here are some hledger add-ons available: * Menu: @@ -1867,7 +1867,7 @@ File: hledger.1.info, Node: api, Next: ui, Up: Official add-ons 5.1.1 api --------- -Web API server, see hledger-api. +hledger-api serves hledger data as a JSON web API.  File: hledger.1.info, Node: ui, Next: web, Prev: api, Up: Official add-ons @@ -1875,7 +1875,7 @@ File: hledger.1.info, Node: ui, Next: web, Prev: api, Up: Official add-ons 5.1.2 ui -------- -Curses-style interface, see hledger-ui. +hledger-ui provides an efficient curses-style interface.  File: hledger.1.info, Node: web, Prev: ui, Up: Official add-ons @@ -1883,7 +1883,7 @@ File: hledger.1.info, Node: web, Prev: ui, Up: Official add-ons 5.1.3 web --------- -Web interface, see hledger-web. +hledger-web provides a simple web interface.  File: hledger.1.info, Node: Third party add-ons, Next: Experimental add-ons, Prev: Official add-ons, Up: ADD-ON COMMANDS @@ -1891,8 +1891,8 @@ File: hledger.1.info, Node: Third party add-ons, Next: Experimental add-ons, 5.2 Third party add-ons ======================= -These are maintained separately from hledger, and usually updated -shortly after a hledger release. +These are maintained separately, and usually updated shortly after a +hledger release. * Menu: @@ -1907,7 +1907,7 @@ File: hledger.1.info, Node: diff, Next: iadd, Up: Third party add-ons 5.2.1 diff ---------- -hledger-diff Shows differences in an account's transactions between one +hledger-diff shows differences in an account's transactions between one journal file and another.  @@ -1916,7 +1916,7 @@ File: hledger.1.info, Node: iadd, Next: interest, Prev: diff, Up: Third part 5.2.2 iadd ---------- -hledger-iadd A curses-style, more interactive replacement for the add +hledger-iadd is a curses-style, more interactive replacement for the add command.  @@ -1925,7 +1925,7 @@ File: hledger.1.info, Node: interest, Next: irr, Prev: iadd, Up: Third party 5.2.3 interest -------------- -hledger-interest Generates interest transactions for an account +hledger-interest generates interest transactions for an account according to various schemes.  @@ -1934,7 +1934,7 @@ File: hledger.1.info, Node: irr, Prev: interest, Up: Third party add-ons 5.2.4 irr --------- -hledger-irr Calculates the internal rate of return of an investment +hledger-irr calculates the internal rate of return of an investment account.  @@ -1943,13 +1943,14 @@ File: hledger.1.info, Node: Experimental add-ons, Prev: Third party add-ons, 5.3 Experimental add-ons ======================== -These add-ons are available in source form in the hledger repo. -Installing them is pretty easy. Reading and copying these is a good way -to start making your own add-ons. These are typically more experimental -and less documented than built-in commands. +These are available in source form in the hledger repo's bin/ directory; +installing them is pretty easy. They may be less mature and documented +than built-in commands. Reading and tweaking these is a good way to +start making your own! * Menu: +* autosync:: * budget:: * chart:: * check:: @@ -1962,86 +1963,95 @@ and less documented than built-in commands. * rewrite::  -File: hledger.1.info, Node: budget, Next: chart, Up: Experimental add-ons +File: hledger.1.info, Node: autosync, Next: budget, Up: Experimental add-ons -5.3.1 budget +5.3.1 autosync +-------------- + +hledger-autosync is a symbolic link for easily running ledger-autosync, +if installed. ledger-autosync does deduplicating conversion of OFX data +and some CSV formats, and can also download the data if your bank offers +OFX Direct Connect. + + +File: hledger.1.info, Node: budget, Next: chart, Prev: autosync, Up: Experimental add-ons + +5.3.2 budget ------------ -hledger-budget.hs A tool adding more budget-tracking features to -hledger. +hledger-budget.hs adds more budget-tracking features to hledger.  File: hledger.1.info, Node: chart, Next: check, Prev: budget, Up: Experimental add-ons -5.3.2 chart +5.3.3 chart ----------- -hledger-chart.hs An old pie chart generator, in need of some love. +hledger-chart.hs is an old pie chart generator, in need of some love.  File: hledger.1.info, Node: check, Next: check-dates, Prev: chart, Up: Experimental add-ons -5.3.3 check +5.3.4 check ----------- -hledger-check.hs More powerful account balance assertions. +hledger-check.hs checks more powerful account balance assertions.  File: hledger.1.info, Node: check-dates, Next: dupes, Prev: check, Up: Experimental add-ons -5.3.4 check-dates +5.3.5 check-dates ----------------- -hledger-check-dates.hs Checks that journal entries are ordered by date. +hledger-check-dates.hs checks that journal entries are ordered by date.  File: hledger.1.info, Node: dupes, Next: equity, Prev: check-dates, Up: Experimental add-ons -5.3.5 dupes +5.3.6 dupes ----------- -hledger-dupes.hs Checks for account names sharing the same leaf name. +hledger-dupes.hs checks for account names sharing the same leaf name.  File: hledger.1.info, Node: equity, Next: prices, Prev: dupes, Up: Experimental add-ons -5.3.6 equity +5.3.7 equity ------------ -hledger-equity.hs Prints balance-resetting transactions useful for +hledger-equity.hs prints balance-resetting transactions, useful for bringing account balances across file boundaries.  File: hledger.1.info, Node: prices, Next: print-unique, Prev: equity, Up: Experimental add-ons -5.3.7 prices +5.3.8 prices ------------ -hledger-prices.hs Prints transactions which do not reuse an already-seen -description. +hledger-prices.hs prints all prices from the journal.  File: hledger.1.info, Node: print-unique, Next: register-match, Prev: prices, Up: Experimental add-ons -5.3.8 print-unique +5.3.9 print-unique ------------------ -hledger-print-unique.hs Prints transactions which do not reuse an +hledger-print-unique.hs prints transactions which do not reuse an already-seen description.  File: hledger.1.info, Node: register-match, Next: rewrite, Prev: print-unique, Up: Experimental add-ons -5.3.9 register-match --------------------- +5.3.10 register-match +--------------------- -hledger-register-match.hs Helps ledger-autosync recognise -already-imported transactions. +hledger-register-match.hs helps ledger-autosync detect already-seen +transactions when importing.  File: hledger.1.info, Node: rewrite, Prev: register-match, Up: Experimental add-ons -5.3.10 rewrite +5.3.11 rewrite -------------- hledger-rewrite.hs Adds one or more custom postings to matched @@ -2230,51 +2240,53 @@ Node: test58331 Ref: #test58418 Node: ADD-ON COMMANDS58785 Ref: #add-on-commands58921 -Node: Official add-ons60173 -Ref: #official-add-ons60315 -Node: api60403 -Ref: #api60494 -Node: ui60528 -Ref: #ui60629 -Node: web60670 -Ref: #web60761 -Node: Third party add-ons60794 -Ref: #third-party-add-ons60971 -Node: diff61120 -Ref: #diff61219 -Node: iadd61318 -Ref: #iadd61434 -Node: interest61514 -Ref: #interest61637 -Node: irr61732 -Ref: #irr61832 -Node: Experimental add-ons61910 -Ref: #experimental-add-ons62064 -Node: budget62454 -Ref: #budget62561 -Node: chart62636 -Ref: #chart62755 -Node: check62823 -Ref: #check62947 -Node: check-dates63007 -Ref: #check-dates63143 -Node: dupes63216 -Ref: #dupes63341 -Node: equity63412 -Ref: #equity63534 -Node: prices63652 -Ref: #prices63781 -Node: print-unique63868 -Ref: #print-unique64017 -Node: register-match64110 -Ref: #register-match64264 -Node: rewrite64354 -Ref: #rewrite64475 -Node: TROUBLESHOOTING64553 -Ref: #troubleshooting64672 -Node: Run-time problems64726 -Ref: #run-time-problems64869 -Node: Known limitations66813 -Ref: #known-limitations66956 +Node: Official add-ons60206 +Ref: #official-add-ons60348 +Node: api60436 +Ref: #api60527 +Node: ui60579 +Ref: #ui60680 +Node: web60738 +Ref: #web60829 +Node: Third party add-ons60875 +Ref: #third-party-add-ons61052 +Node: diff61188 +Ref: #diff61287 +Node: iadd61386 +Ref: #iadd61502 +Node: interest61585 +Ref: #interest61708 +Node: irr61803 +Ref: #irr61903 +Node: Experimental add-ons61981 +Ref: #experimental-add-ons62135 +Node: autosync62521 +Ref: #autosync62635 +Node: budget62873 +Ref: #budget62997 +Node: chart63063 +Ref: #chart63182 +Node: check63253 +Ref: #check63377 +Node: check-dates63444 +Ref: #check-dates63580 +Node: dupes63653 +Ref: #dupes63778 +Node: equity63849 +Ref: #equity63971 +Node: prices64090 +Ref: #prices64219 +Node: print-unique64274 +Ref: #print-unique64423 +Node: register-match64516 +Ref: #register-match64672 +Node: rewrite64770 +Ref: #rewrite64891 +Node: TROUBLESHOOTING64969 +Ref: #troubleshooting65088 +Node: Run-time problems65142 +Ref: #run-time-problems65285 +Node: Known limitations67229 +Ref: #known-limitations67372  End Tag Table diff --git a/hledger/doc/hledger.1.txt b/hledger/doc/hledger.1.txt index f36d6f3cb..992093aaa 100644 --- a/hledger/doc/hledger.1.txt +++ b/hledger/doc/hledger.1.txt @@ -1539,102 +1539,105 @@ COMMANDS be able to check your hledger executable for smoke at any time. ADD-ON COMMANDS - Add-on commands are executables in your PATH whose name starts with - hledger- and ends with any of these file extensions: none, - .hs,.lhs,.pl,.py,.rb,.rkt,.sh,.bat,.com,.exe. Also, an add-on's name - may not be the same as any built-in command or alias. + hledger also searches for external add-on commands, and will include + these in the commands list. These are programs or scripts in your PATH + whose name starts with hledger- and ends with a recognised file exten- + sion (currently: no extension, bat,com,exe, hs,lhs,pl,py,rb,rkt,sh). - hledger will detect these and include them in the command list and let - you invoke them with hledger ADDONCMD. However there are some limita- - tions: + Add-ons can be invoked like any hledger command, but there are a few + things to be aware of. Eg if the hledger-web add-on is installed, - o Options appearing before ADDONCMD will be visible only to hledger and - will not be passed to the add-on. Eg: hledger -h web shows hledger's - usage, hledger web -h shows hledger-web's usage. + o hledger -h web shows hledger's help, while hledger web -h shows + hledger-web's help. - o Options understood only by the add-on must go after a -- argument to - hide them from hledger, which would otherwise reject them. Eg: - hledger web -- --server. + o Flags specific to the add-on must have a preceding -- to hide them + from hledger. So hledger web --serve --port 9000 will be rejected; + you must use hledger web -- --serve --port 9000. - Sometimes it may be more convenient to just run the add-on directly, - eg: hledger-web --server. + o You can always run add-ons directly if preferred: + hledger-web --serve --port 9000. - Add-ons which are written in haskell can take advantage of the - hledger-lib library for journal parsing, reporting, command-line - options, etc. + Add-ons are a relatively easy way to add local features or experiment + with new ideas. They can be written in any language, but haskell + scripts have a big advantage: they can use the same hledger (and + haskell) library functions that built-in commands do, for command-line + options, journal parsing, reporting, etc. - Here are some hledger add-ons available from Hackage, the extra direc- - tory in the hledger source, or elsewhere: + Here are some hledger add-ons available: Official add-ons These are maintained and released along with hledger. api - Web API server, see hledger-api. + hledger-api serves hledger data as a JSON web API. ui - Curses-style interface, see hledger-ui. + hledger-ui provides an efficient curses-style interface. web - Web interface, see hledger-web. + hledger-web provides a simple web interface. Third party add-ons - These are maintained separately from hledger, and usually updated - shortly after a hledger release. + These are maintained separately, and usually updated shortly after a + hledger release. diff - hledger-diff Shows differences in an account's transactions between one + hledger-diff shows differences in an account's transactions between one journal file and another. iadd - hledger-iadd A curses-style, more interactive replacement for the add - command. + hledger-iadd is a curses-style, more interactive replacement for the + add command. interest - hledger-interest Generates interest transactions for an account accord- + hledger-interest generates interest transactions for an account accord- ing to various schemes. irr - hledger-irr Calculates the internal rate of return of an investment + hledger-irr calculates the internal rate of return of an investment account. Experimental add-ons - These add-ons are available in source form in the hledger repo. - Installing them is pretty easy. Reading and copying these is a good - way to start making your own add-ons. These are typically more experi- - mental and less documented than built-in commands. + These are available in source form in the hledger repo's bin/ direc- + tory; installing them is pretty easy. They may be less mature and doc- + umented than built-in commands. Reading and tweaking these is a good + way to start making your own! + + autosync + hledger-autosync is a symbolic link for easily running ledger-autosync, + if installed. ledger-autosync does deduplicating conversion of OFX + data and some CSV formats, and can also download the data if your bank + offers OFX Direct Connect. budget - hledger-budget.hs A tool adding more budget-tracking features to - hledger. + hledger-budget.hs adds more budget-tracking features to hledger. chart - hledger-chart.hs An old pie chart generator, in need of some love. + hledger-chart.hs is an old pie chart generator, in need of some love. check - hledger-check.hs More powerful account balance assertions. + hledger-check.hs checks more powerful account balance assertions. check-dates - hledger-check-dates.hs Checks that journal entries are ordered by date. + hledger-check-dates.hs checks that journal entries are ordered by date. dupes - hledger-dupes.hs Checks for account names sharing the same leaf name. + hledger-dupes.hs checks for account names sharing the same leaf name. equity - hledger-equity.hs Prints balance-resetting transactions useful for + hledger-equity.hs prints balance-resetting transactions, useful for bringing account balances across file boundaries. prices - hledger-prices.hs Prints transactions which do not reuse an - already-seen description. + hledger-prices.hs prints all prices from the journal. print-unique - hledger-print-unique.hs Prints transactions which do not reuse an + hledger-print-unique.hs prints transactions which do not reuse an already-seen description. register-match - hledger-register-match.hs Helps ledger-autosync recognise - already-imported transactions. + hledger-register-match.hs helps ledger-autosync detect already-seen + transactions when importing. rewrite hledger-rewrite.hs Adds one or more custom postings to matched transac-