doc: separate & update addons list

[ci skip]
This commit is contained in:
Simon Michael 2017-01-26 07:28:37 -08:00
parent 60bf39da99
commit 4ee496cc98
6 changed files with 205 additions and 142 deletions

127
hledger/doc/addons.m4.md Normal file
View File

@ -0,0 +1,127 @@
# 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 will detect these and include them in the command list and let
you invoke them with `hledger ADDONCMD`. However there are some limitations:
- 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.
- 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`.
Sometimes it may be more convenient to just run the add-on directly, eg: `hledger-web --server`.
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](https://github.com/simonmichael/hledger/tree/master/extra) directory in the hledger source,
or elsewhere:
## Official add-ons
These are maintained and released along with hledger.
### api
Web API server, see [hledger-api](hledger-api.html).
### ui
Curses-style interface, see [hledger-ui](hledger-ui.html).
### web
Web interface, see [hledger-web](hledger-web.html).
## Third party add-ons
These are maintained separately from hledger, and usually updated shortly after a hledger release.
### diff
[hledger-diff](http://hackage.haskell.org/package/hledger-diff)
Shows differences in an account's transactions between one journal file and another.
### iadd
[hledger-iadd](http://hackage.haskell.org/package/hledger-iadd)
A curses-style, more interactive replacement for the [add command](/hledger.html#add).
### interest
[hledger-interest](http://hackage.haskell.org/package/hledger-interest)
Generates interest transactions for an account according to various schemes.
### irr
[hledger-irr](http://hackage.haskell.org/package/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](https://github.com/simonmichael/hledger/tree/master/bin).
Installing them is [pretty easy](/download.html#d).
Reading and copying these is a good way to start making your own add-ons.
These may be less mature and documented than built-in commands.
### autosync
[hledger-autosync](https://github.com/simonmichael/hledger/blob/master/bin/hledger-autosync)
is a symbolic link for easily running
[ledger-autosync](https://pypi.python.org/pypi/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](http://wiki.gnucash.org/wiki/OFX_Direct_Connect_Bank_Settings).
### budget
[hledger-budget.hs](https://github.com/simonmichael/hledger/blob/master/bin/hledger-budget.hs#L10)
adds more budget-tracking features to hledger.
### chart
[hledger-chart.hs](https://github.com/simonmichael/hledger/blob/master/bin/hledger-chart.hs#L47)
is an old pie chart generator, in need of some love.
### check
[hledger-check.hs](https://github.com/simonmichael/hledger/blob/master/bin/hledger-check.hs)
checks more powerful account balance assertions.
### check-dates
[hledger-check-dates.hs](https://github.com/simonmichael/hledger/blob/master/bin/hledger-check-dates.hs#L15)
checks that journal entries are ordered by date.
### dupes
[hledger-dupes.hs](https://github.com/simonmichael/hledger/blob/master/bin/hledger-dupes.hs#L21)
checks for account names sharing the same leaf name.
### equity
[hledger-equity.hs](https://github.com/simonmichael/hledger/blob/master/bin/hledger-equity.hs#L17)
prints balance-resetting transactions, useful for bringing account balances across file boundaries.
### prices
[hledger-prices.hs](https://github.com/simonmichael/hledger/blob/master/bin/hledger-prices.hs)
prints all prices from the journal.
### print-unique
[hledger-print-unique.hs](https://github.com/simonmichael/hledger/blob/master/bin/hledger-print-unique.hs#L15)
prints transactions which do not reuse an already-seen description.
### register-match
[hledger-register-match.hs](https://github.com/simonmichael/hledger/blob/master/bin/hledger-register-match.hs#L23)
helps ledger-autosync detect already-seen transactions when importing.
### rewrite
[hledger-rewrite.hs](https://github.com/simonmichael/hledger/blob/master/bin/hledger-rewrite.hs#L28)
Adds one or more custom postings to matched transactions.

View File

@ -580,110 +580,4 @@ With a regular expression argument, it selects only tests with matching names.
It's mainly used in development, but it's also nice to be able to It's mainly used in development, but it's also nice to be able to
check your hledger executable for smoke at any time. check your hledger executable for smoke at any time.
# ADD-ON COMMANDS _include_(addons.m4.md)
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 will detect these and include them in the command list and let
you invoke them with `hledger ADDONCMD`. However there are some limitations:
- 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.
- 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`.
Sometimes it may be more convenient to just run the add-on directly, eg: `hledger-web --server`.
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](https://github.com/simonmichael/hledger/tree/master/extra) directory in the hledger source,
or elsewhere:
## Official add-ons
These are maintained and released along with hledger.
### api
Web API server, see [hledger-api](hledger-api.html).
### ui
Curses-style interface, see [hledger-ui](hledger-ui.html).
### web
Web interface, see [hledger-web](hledger-web.html).
## Third party add-ons
These are maintained separately from hledger, and usually updated shortly after a hledger release.
### diff
[hledger-diff](http://hackage.haskell.org/package/hledger-diff)
Shows differences in an account's transactions between one journal file and another.
### iadd
[hledger-iadd](http://hackage.haskell.org/package/hledger-iadd)
A curses-style, more interactive replacement for the [add command](/hledger.html#add).
### interest
[hledger-interest](http://hackage.haskell.org/package/hledger-interest)
Generates interest transactions for an account according to various schemes.
### irr
[hledger-irr](http://hackage.haskell.org/package/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](https://github.com/simonmichael/hledger/tree/master/bin).
Installing them is [pretty easy](/download.html#d).
Reading and copying these is a good way to start making your own add-ons.
### budget
[hledger-budget.hs](https://github.com/simonmichael/hledger/blob/master/bin/hledger-budget.hs#L10)
A tool adding more budget-tracking features to hledger.
### chart
[hledger-chart.hs](https://github.com/simonmichael/hledger/blob/master/bin/hledger-chart.hs#L47)
An old pie chart generator, in need of some love.
### check-dates
[hledger-check-dates.hs](https://github.com/simonmichael/hledger/blob/master/bin/hledger-check-dates.hs#L15)
Checks that journal entries are ordered by date.
### dupes
[hledger-dupes.hs](https://github.com/simonmichael/hledger/blob/master/bin/hledger-dupes.hs#L21)
Checks for account names sharing the same leaf name.
### equity
[hledger-equity.hs](https://github.com/simonmichael/hledger/blob/master/bin/hledger-equity.hs#L17)
Prints balance-resetting transactions useful for bringing account balances across file boundaries.
### print-unique
[hledger-print-unique.hs](https://github.com/simonmichael/hledger/blob/master/bin/hledger-print-unique.hs#L15)
Prints transactions which do not reuse an already-seen description.
### register-match
[hledger-register-match.hs](https://github.com/simonmichael/hledger/blob/master/bin/hledger-register-match.hs#L23)
Helps ledger-autosync recognise already-imported transactions.
### rewrite
[hledger-rewrite.hs](https://github.com/simonmichael/hledger/blob/master/bin/hledger-rewrite.hs#L28)
Adds one or more custom postings to matched transactions.

View File

@ -2243,6 +2243,8 @@ These add\-ons are available in source form in the hledger repo.
Installing them is pretty easy. Installing them is pretty easy.
Reading and copying these is a good way to start making your own Reading and copying these is a good way to start making your own
add\-ons. add\-ons.
These are typically more experimental and less documented than built\-in
commands.
.SS budget .SS budget
.PP .PP
hledger\-budget.hs A tool adding more budget\-tracking features to hledger\-budget.hs A tool adding more budget\-tracking features to
@ -2250,6 +2252,9 @@ hledger.
.SS chart .SS chart
.PP .PP
hledger\-chart.hs An old pie chart generator, in need of some love. hledger\-chart.hs An old pie chart generator, in need of some love.
.SS check
.PP
hledger\-check.hs More powerful account balance assertions.
.SS check\-dates .SS check\-dates
.PP .PP
hledger\-check\-dates.hs Checks that journal entries are ordered by hledger\-check\-dates.hs Checks that journal entries are ordered by
@ -2261,6 +2266,10 @@ hledger\-dupes.hs Checks for account names sharing the same leaf name.
.PP .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. bringing account balances across file boundaries.
.SS prices
.PP
hledger\-prices.hs Prints transactions which do not reuse an
already\-seen description.
.SS print\-unique .SS print\-unique
.PP .PP
hledger\-print\-unique.hs Prints transactions which do not reuse an hledger\-print\-unique.hs Prints transactions which do not reuse an

View File

@ -1945,15 +1945,18 @@ File: hledger.1.info, Node: Experimental add-ons, Prev: Third party add-ons,
These add-ons are available in source form in the hledger repo. 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 Installing them is pretty easy. Reading and copying these is a good way
to start making your own add-ons. to start making your own add-ons. These are typically more experimental
and less documented than built-in commands.
* Menu: * Menu:
* budget:: * budget::
* chart:: * chart::
* check::
* check-dates:: * check-dates::
* dupes:: * dupes::
* equity:: * equity::
* prices::
* print-unique:: * print-unique::
* register-match:: * register-match::
* rewrite:: * rewrite::
@ -1968,7 +1971,7 @@ hledger-budget.hs A tool adding more budget-tracking features to
hledger. hledger.
 
File: hledger.1.info, Node: chart, Next: check-dates, Prev: budget, Up: Experimental add-ons File: hledger.1.info, Node: chart, Next: check, Prev: budget, Up: Experimental add-ons
5.3.2 chart 5.3.2 chart
----------- -----------
@ -1976,9 +1979,17 @@ File: hledger.1.info, Node: chart, Next: check-dates, Prev: budget, Up: Expe
hledger-chart.hs An old pie chart generator, in need of some love. hledger-chart.hs An old pie chart generator, in need of some love.
 
File: hledger.1.info, Node: check-dates, Next: dupes, Prev: chart, Up: Experimental add-ons File: hledger.1.info, Node: check, Next: check-dates, Prev: chart, Up: Experimental add-ons
5.3.3 check-dates 5.3.3 check
-----------
hledger-check.hs 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
----------------- -----------------
hledger-check-dates.hs Checks that journal entries are ordered by date. hledger-check-dates.hs Checks that journal entries are ordered by date.
@ -1986,24 +1997,33 @@ 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 File: hledger.1.info, Node: dupes, Next: equity, Prev: check-dates, Up: Experimental add-ons
5.3.4 dupes 5.3.5 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: print-unique, Prev: dupes, Up: Experimental add-ons File: hledger.1.info, Node: equity, Next: prices, Prev: dupes, Up: Experimental add-ons
5.3.5 equity 5.3.6 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. bringing account balances across file boundaries.
 
File: hledger.1.info, Node: print-unique, Next: register-match, Prev: equity, Up: Experimental add-ons File: hledger.1.info, Node: prices, Next: print-unique, Prev: equity, Up: Experimental add-ons
5.3.6 print-unique 5.3.7 prices
------------
hledger-prices.hs Prints transactions which do not reuse an already-seen
description.

File: hledger.1.info, Node: print-unique, Next: register-match, Prev: prices, Up: Experimental add-ons
5.3.8 print-unique
------------------ ------------------
hledger-print-unique.hs Prints transactions which do not reuse an hledger-print-unique.hs Prints transactions which do not reuse an
@ -2012,7 +2032,7 @@ already-seen description.
 
File: hledger.1.info, Node: register-match, Next: rewrite, Prev: print-unique, Up: Experimental add-ons File: hledger.1.info, Node: register-match, Next: rewrite, Prev: print-unique, Up: Experimental add-ons
5.3.7 register-match 5.3.9 register-match
-------------------- --------------------
hledger-register-match.hs Helps ledger-autosync recognise hledger-register-match.hs Helps ledger-autosync recognise
@ -2021,8 +2041,8 @@ already-imported transactions.
 
File: hledger.1.info, Node: rewrite, Prev: register-match, Up: Experimental add-ons File: hledger.1.info, Node: rewrite, Prev: register-match, Up: Experimental add-ons
5.3.8 rewrite 5.3.10 rewrite
------------- --------------
hledger-rewrite.hs Adds one or more custom postings to matched hledger-rewrite.hs Adds one or more custom postings to matched
transactions. transactions.
@ -2230,27 +2250,31 @@ Node: irr61732
Ref: #irr61832 Ref: #irr61832
Node: Experimental add-ons61910 Node: Experimental add-ons61910
Ref: #experimental-add-ons62064 Ref: #experimental-add-ons62064
Node: budget62351 Node: budget62454
Ref: #budget62458 Ref: #budget62561
Node: chart62533 Node: chart62636
Ref: #chart62658 Ref: #chart62755
Node: check-dates62726 Node: check62823
Ref: #check-dates62862 Ref: #check62947
Node: dupes62935 Node: check-dates63007
Ref: #dupes63060 Ref: #check-dates63143
Node: equity63131 Node: dupes63216
Ref: #equity63259 Ref: #dupes63341
Node: print-unique63377 Node: equity63412
Ref: #print-unique63526 Ref: #equity63534
Node: register-match63619 Node: prices63652
Ref: #register-match63773 Ref: #prices63781
Node: rewrite63863 Node: print-unique63868
Ref: #rewrite63982 Ref: #print-unique64017
Node: TROUBLESHOOTING64060 Node: register-match64110
Ref: #troubleshooting64179 Ref: #register-match64264
Node: Run-time problems64233 Node: rewrite64354
Ref: #run-time-problems64376 Ref: #rewrite64475
Node: Known limitations66320 Node: TROUBLESHOOTING64553
Ref: #known-limitations66463 Ref: #troubleshooting64672
Node: Run-time problems64726
Ref: #run-time-problems64869
Node: Known limitations66813
Ref: #known-limitations66956
 
End Tag Table End Tag Table

View File

@ -10,6 +10,7 @@ m4_dnl options.m4.md
m4_dnl queries.m4.md m4_dnl queries.m4.md
m4_dnl commands.m4.md m4_dnl commands.m4.md
m4_dnl balance.m4.md m4_dnl balance.m4.md
m4_dnl addons.m4.md
m4_dnl troubleshooting.m4.md m4_dnl troubleshooting.m4.md
_web_({{ _web_({{

View File

@ -1601,7 +1601,8 @@ ADD-ON COMMANDS
Experimental add-ons Experimental add-ons
These add-ons are available in source form in the hledger repo. These add-ons are available in source form in the hledger repo.
Installing them is pretty easy. Reading and copying these is a good Installing them is pretty easy. Reading and copying these is a good
way to start making your own add-ons. way to start making your own add-ons. These are typically more experi-
mental and less documented than built-in commands.
budget budget
hledger-budget.hs A tool adding more budget-tracking features to hledger-budget.hs A tool adding more budget-tracking features to
@ -1610,6 +1611,9 @@ ADD-ON COMMANDS
chart chart
hledger-chart.hs An old pie chart generator, in need of some love. hledger-chart.hs An old pie chart generator, in need of some love.
check
hledger-check.hs More powerful account balance assertions.
check-dates 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.
@ -1620,6 +1624,10 @@ ADD-ON COMMANDS
hledger-equity.hs Prints balance-resetting transactions useful for hledger-equity.hs Prints balance-resetting transactions useful for
bringing account balances across file boundaries. bringing account balances across file boundaries.
prices
hledger-prices.hs Prints transactions which do not reuse an
already-seen description.
print-unique 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. already-seen description.