doc: rewrite commands intro; drop command docs from man page
This commit is contained in:
		
							parent
							
								
									e406cebcce
								
							
						
					
					
						commit
						6b4be651af
					
				| @ -13,16 +13,14 @@ m4_dnl | |||||||
| m4_dnl Author to show in man pages. | m4_dnl Author to show in man pages. | ||||||
| m4_define({{_author_}}, {{}})m4_dnl | m4_define({{_author_}}, {{}})m4_dnl | ||||||
| m4_dnl | m4_dnl | ||||||
| m4_dnl Macros for conditionally including format-specific content | m4_dnl Macros for conditionally including or excluding content based on the format | ||||||
| m4_dnl $1 is the manual's web slug: hledger, hledger-ui, journal, csv etc. | m4_dnl (man, web or info). | ||||||
| m4_dnl include in man pages only |  | ||||||
| m4_define({{_man_}},         m4_ifdef({{MAN}},{{$1}})    )m4_dnl | m4_define({{_man_}},         m4_ifdef({{MAN}},{{$1}})    )m4_dnl | ||||||
| m4_dnl include in web manuals only | m4_define({{_notman_}},      m4_ifdef({{MAN}},,{{$1}})   )m4_dnl | ||||||
| m4_define({{_web_}},         m4_ifdef({{WEB}},{{$1}})    )m4_dnl | m4_define({{_web_}},         m4_ifdef({{WEB}},{{$1}})    )m4_dnl | ||||||
| m4_dnl include in info manuals only | m4_define({{_notweb_}},      m4_ifdef({{WEB}},,{{$1}})   )m4_dnl | ||||||
| m4_define({{_info_}},        m4_ifdef({{INFO}},{{$1}})   )m4_dnl | m4_define({{_info_}},        m4_ifdef({{INFO}},{{$1}})   )m4_dnl | ||||||
| m4_dnl include in text manuals only - not implemented | m4_define({{_notinfo_}},     m4_ifdef({{INFO}},,{{$1}})  )m4_dnl | ||||||
| m4_dnl m4_define({{_txt_}},         m4_ifdef({{TXT}},{{$1}})             )m4_dnl |  | ||||||
| m4_dnl | m4_dnl | ||||||
| m4_dnl Two side-by-side columns. | m4_dnl Two side-by-side columns. | ||||||
| m4_define({{_col2_}}, | m4_define({{_col2_}}, | ||||||
|  | |||||||
| @ -1571,21 +1571,134 @@ Related: | |||||||
| 
 | 
 | ||||||
| # COMMANDS | # COMMANDS | ||||||
| 
 | 
 | ||||||
| hledger provides a number of subcommands; `hledger` with no arguments | hledger provides a number of commands for producing reports and managing your data.  | ||||||
| shows a list. | Run `hledger` with no arguments to list the commands available. | ||||||
| 
 | 
 | ||||||
| If you install additional `hledger-*` packages, or if you put programs | To run a command, write its name as hledger's first argument (eg: `hledger balance`).  | ||||||
| or scripts named `hledger-NAME` in your PATH, these will also be | Or, you can write one of the standard short aliases which are | ||||||
| listed as subcommands. | shown in parentheses in the command list (eg: `hledger bal`);  | ||||||
|  | or, any unambiguous prefix of a command name. | ||||||
| 
 | 
 | ||||||
| Run a subcommand by writing its name as first argument (eg `hledger | Each command's detailed help is available as one or more of: | ||||||
| incomestatement`). You can also write one of the standard short aliases |  | ||||||
| displayed in parentheses in the command list (`hledger b`), or any |  | ||||||
| any unambiguous prefix of a command name (`hledger inc`). |  | ||||||
| 
 | 
 | ||||||
| Here are all the builtin commands in alphabetical order. | - command line help, eg: `hledger balance --help` | ||||||
| See also `hledger` for a more organised command list, | <!-- - man pages, eg: `man hledger-balance` --> | ||||||
| and `hledger CMD -h` for detailed command help. | - info manuals, eg: `hledger help --info hledger` -> Commands -> balance | ||||||
|  | - web manuals, eg: <https://hledger.org/hledger.html#balance> | ||||||
|  | 
 | ||||||
|  | ## Built-in commands | ||||||
|  | 
 | ||||||
|  | **Data entry (these modify the journal file):** | ||||||
|  | 
 | ||||||
|  | - [add](#add)                     add transactions using guided prompts | ||||||
|  | - [import](#import)                  add any new transactions from other files (eg csv) | ||||||
|  | 
 | ||||||
|  | **Data management**: | ||||||
|  | 
 | ||||||
|  | - [check](#check)                   check for various kinds of issue in the data | ||||||
|  | - [close](#close) (equity)           generate balance-resetting transactions | ||||||
|  | - [diff](#diff)                    compare account transactions in two journal files | ||||||
|  | - [rewrite](#rewrite)                 generate extra postings, similar to print --auto | ||||||
|  | 
 | ||||||
|  | **Financial statements:** | ||||||
|  | 
 | ||||||
|  | - [aregister](#aregister) (areg)         show transactions in a particular account | ||||||
|  | - [balancesheet](#balancesheet) (bs)        show assets, liabilities and net worth | ||||||
|  | - [balancesheetequity](#balancesheetequity) (bse) show assets, liabilities and equity | ||||||
|  | - [cashflow](#cashflow) (cf)            show changes in liquid assets | ||||||
|  | - [incomestatement](#incomestatement) (is)     show revenues and expenses | ||||||
|  | - [roi](#roi)                     show return on investments | ||||||
|  | 
 | ||||||
|  | **Miscellaneous reports:** | ||||||
|  | 
 | ||||||
|  | - [accounts](#accounts) (a)             show account names | ||||||
|  | - [activity](#activity)                show postings-per-interval bar charts | ||||||
|  | - [balance](#balance) (b, bal)         show balance changes/end balances/budgets in accounts | ||||||
|  | - [codes](#codes)                   show transaction codes | ||||||
|  | - [commodities](#commodities)             show commodity/currency symbols | ||||||
|  | - [descriptions](#descriptions)            show unique transaction descriptions | ||||||
|  | - [files](#files)                   show input file paths | ||||||
|  | - [notes](#notes)                   show unique note segments of transaction descriptions | ||||||
|  | - [payees](#payees)                  show unique payee segments of transaction descriptions | ||||||
|  | - [prices](#prices)                  show market price records | ||||||
|  | - [print](#print) (p, txns)          show transactions (journal entries) | ||||||
|  | - [print-unique](#print-unique)            show only transactions with unique descriptions | ||||||
|  | - [register](#register) (r, reg)        show postings in one or more accounts & running total | ||||||
|  | - [register-match](#register-match)          show a recent posting that best matches a description | ||||||
|  | - [stats](#stats)                   show journal statistics | ||||||
|  | - [tags](#tags)                    show tag names | ||||||
|  | - [test](#test)                    run self tests | ||||||
|  | 
 | ||||||
|  | ## Add-on commands | ||||||
|  | 
 | ||||||
|  | Any programs or scripts in your PATH named named `hledger-SOMETHING`  | ||||||
|  | will also appear in the commands list (with a `+` mark).  | ||||||
|  | These are called add-on commands. | ||||||
|  | 
 | ||||||
|  | These offical add-ons are maintained and released along with hledger: | ||||||
|  | 
 | ||||||
|  | - [ui](hledger-ui.html)    an efficient terminal interface for hledger (TUI) | ||||||
|  | - [web](hledger-web.html)  a simple web interface for hledger (WUI) | ||||||
|  | 
 | ||||||
|  | These add-ons are maintained separately: | ||||||
|  | 
 | ||||||
|  | - [iadd](http://hackage.haskell.org/package/hledger-iadd) | ||||||
|  |    a more interactive alternative for the [add](hledger.html#add) command | ||||||
|  | - [interest](http://hackage.haskell.org/package/hledger-interest) | ||||||
|  |   generates interest transactions according to various schemes | ||||||
|  | - [stockquotes](http://hackage.haskell.org/package/hledger-stockquotes) | ||||||
|  |   downloads market prices for your commodities from AlphaVantage *(experimental)* | ||||||
|  | 
 | ||||||
|  | <!-- ### 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 you make a symbolic --> | ||||||
|  | <!-- 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).  --> | ||||||
|  | 
 | ||||||
|  | Additional experimental add-ons, which may not be in a working state,  | ||||||
|  | can be found in the bin/ directory in the hledger repo. | ||||||
|  | 
 | ||||||
|  | ## Add-on command flags | ||||||
|  | 
 | ||||||
|  | In a hledger command line, add-on command flags must have a double dash (`--`) preceding them. | ||||||
|  | Eg you must write: | ||||||
|  | ```shell | ||||||
|  | $ hledger web -- --serve | ||||||
|  | ``` | ||||||
|  | and not: | ||||||
|  | ```shell | ||||||
|  | $ hledger web --serve | ||||||
|  | ``` | ||||||
|  | (because the `--serve` flag belongs to `hledger-web`, not `hledger`). | ||||||
|  | 
 | ||||||
|  | The `-h/--help` and `--version` flags work without `--`, with their position deciding which program they refer to.  | ||||||
|  | Eg `hledger -h web` shows hledger's help, `hledger web -h` shows hledger-web's help. | ||||||
|  | 
 | ||||||
|  | If you have any trouble with this, remember you can always run the add-on program directly, eg: | ||||||
|  | ```shell | ||||||
|  | $ hledger-web --serve | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | ## Making add-on commands | ||||||
|  | 
 | ||||||
|  | Add-on commands are programs or scripts in your PATH  | ||||||
|  | 
 | ||||||
|  | - whose name starts with `hledger-` | ||||||
|  | - whose name ends with a recognised file extension: | ||||||
|  |   `.bat`,`.com`,`.exe`, `.hs`,`.lhs`,`.pl`,`.py`,`.rb`,`.rkt`,`.sh` or none | ||||||
|  | - and (on unix, mac) which are executable by the current user. | ||||||
|  | 
 | ||||||
|  | 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 library functions that built-in commands use for command-line options, parsing and reporting. | ||||||
|  | 
 | ||||||
|  | _notman_({{ | ||||||
|  | ## Detailed command help | ||||||
|  | 
 | ||||||
|  | Here are the detailed command docs, in alphabetical order. | ||||||
| 
 | 
 | ||||||
| ## accounts | ## accounts | ||||||
| 
 | 
 | ||||||
| @ -1707,67 +1820,8 @@ _include_({{Hledger/Cli/Commands/Tags.md}}) | |||||||
| 
 | 
 | ||||||
| _include_({{Hledger/Cli/Commands/Test.md}}) | _include_({{Hledger/Cli/Commands/Test.md}}) | ||||||
| 
 | 
 | ||||||
|  | }}) | ||||||
| 
 | 
 | ||||||
| ## Add-on commands |  | ||||||
| 
 |  | ||||||
| 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`). |  | ||||||
| 
 |  | ||||||
| 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, |  | ||||||
| 
 |  | ||||||
| - `hledger -h web` shows hledger's help, while `hledger web -h` shows hledger-web's help. |  | ||||||
| 
 |  | ||||||
| - 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`. |  | ||||||
| 
 |  | ||||||
| - You can always run add-ons directly if preferred: `hledger-web --serve --port 9000`. |  | ||||||
| 
 |  | ||||||
| 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. |  | ||||||
| 
 |  | ||||||
| Two important add-ons are the hledger-ui and hledger-web user interfaces. |  | ||||||
| These are maintained and released along with hledger: |  | ||||||
| 
 |  | ||||||
| ### ui |  | ||||||
| [hledger-ui](hledger-ui.html) provides an efficient terminal interface. |  | ||||||
| 
 |  | ||||||
| ### web |  | ||||||
| [hledger-web](hledger-web.html) provides a simple web interface. |  | ||||||
| 
 |  | ||||||
| Third party add-ons, maintained separately from hledger, include: |  | ||||||
| 
 |  | ||||||
| ### iadd |  | ||||||
| 
 |  | ||||||
| [hledger-iadd](http://hackage.haskell.org/package/hledger-iadd) |  | ||||||
| is a more interactive, terminal UI 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. |  | ||||||
| 
 |  | ||||||
| <!-- ### 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 you make a symbolic --> |  | ||||||
| <!-- 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).  --> |  | ||||||
| 
 |  | ||||||
| ### stockquotes |  | ||||||
| 
 |  | ||||||
| [hledger-stockquotes](http://hackage.haskell.org/package/hledger-stockquotes) |  | ||||||
| downloads market prices for the commodities in your journal from AlphaVantage. |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| A few more experimental or old add-ons can be found in hledger's bin/ |  | ||||||
| directory. These are typically prototypes and not guaranteed to work. |  | ||||||
| 
 | 
 | ||||||
| # ENVIRONMENT | # ENVIRONMENT | ||||||
| 
 | 
 | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user