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
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 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.
_include_(addons.m4.md)

View File

@ -2243,6 +2243,8 @@ 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.
.SS budget
.PP
hledger\-budget.hs A tool adding more budget\-tracking features to
@ -2250,6 +2252,9 @@ hledger.
.SS chart
.PP
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
.PP
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
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.
.SS print\-unique
.PP
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.
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:
* budget::
* chart::
* check::
* check-dates::
* dupes::
* equity::
* prices::
* print-unique::
* register-match::
* rewrite::
@ -1968,7 +1971,7 @@ hledger-budget.hs A tool adding more budget-tracking features to
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
-----------
@ -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.

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.
@ -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
5.3.4 dupes
5.3.5 dupes
-----------
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
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
@ -2012,7 +2032,7 @@ already-seen description.

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
@ -2021,8 +2041,8 @@ already-imported transactions.

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
transactions.
@ -2230,27 +2250,31 @@ Node: irr61732
Ref: #irr61832
Node: Experimental add-ons61910
Ref: #experimental-add-ons62064
Node: budget62351
Ref: #budget62458
Node: chart62533
Ref: #chart62658
Node: check-dates62726
Ref: #check-dates62862
Node: dupes62935
Ref: #dupes63060
Node: equity63131
Ref: #equity63259
Node: print-unique63377
Ref: #print-unique63526
Node: register-match63619
Ref: #register-match63773
Node: rewrite63863
Ref: #rewrite63982
Node: TROUBLESHOOTING64060
Ref: #troubleshooting64179
Node: Run-time problems64233
Ref: #run-time-problems64376
Node: Known limitations66320
Ref: #known-limitations66463
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

End Tag Table

View File

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

View File

@ -1601,7 +1601,8 @@ ADD-ON COMMANDS
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.
way to start making your own add-ons. These are typically more experi-
mental and less documented than built-in commands.
budget
hledger-budget.hs A tool adding more budget-tracking features to
@ -1610,6 +1611,9 @@ ADD-ON COMMANDS
chart
hledger-chart.hs An old pie chart generator, in need of some love.
check
hledger-check.hs More powerful account balance assertions.
check-dates
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
bringing account balances across file boundaries.
prices
hledger-prices.hs Prints transactions which do not reuse an
already-seen description.
print-unique
hledger-print-unique.hs Prints transactions which do not reuse an
already-seen description.