doc: generate (and commit) text-rendred man pages
Intended for embedding in executables. Quick implementation, hopefully these are fixed-width and compatible with all terminals.
This commit is contained in:
		
							parent
							
								
									7a53895cdf
								
							
						
					
					
						commit
						bfa5e14373
					
				
							
								
								
									
										12
									
								
								Shake.hs
									
									
									
									
									
								
							
							
						
						
									
										12
									
								
								Shake.hs
									
									
									
									
									
								
							| @ -44,6 +44,7 @@ usage = [i|Usage: | ||||
|  ./Shake                  # show commands | ||||
|  ./Shake site             # generate things needed for the website | ||||
|  ./Shake manpages         # generate nroff files for man | ||||
|  ./Shake txtmanpages      # generate text man pages for embedding | ||||
|  ./Shake webmanpages      # generate web man pages for hakyll | ||||
|  ./Shake webmanual        # generate combined web man page for hakyll | ||||
| |] | ||||
| @ -52,6 +53,7 @@ pandoc = | ||||
|   -- "stack exec -- pandoc" -- use the pandoc required above | ||||
|   "pandoc"                  -- use pandoc in PATH (faster) | ||||
| hakyllstd = "site/hakyll-std/hakyll-std" | ||||
| nroff = "nroff" | ||||
| 
 | ||||
| main = do | ||||
| 
 | ||||
| @ -79,7 +81,8 @@ main = do | ||||
| 
 | ||||
|     phony "docs" $ do | ||||
|       need [ | ||||
|          "manpages" | ||||
|           "manpages" | ||||
|          ,"txtmanpages" | ||||
|          ] | ||||
| 
 | ||||
|     let webmanual = "site/manual.md" | ||||
| @ -157,6 +160,13 @@ main = do | ||||
|         "--filter doc/pandoc-drop-notes" | ||||
|         "-o" out | ||||
| 
 | ||||
|     -- render man page nroffs as fixed-width text, for embedding | ||||
|     let txtmanpages = [m <.> "txt" | m <- manpages] -- hledger/doc/hledger.1.txt, hledger-lib/doc/journal.5.txt | ||||
|     phony "txtmanpages" $ need txtmanpages | ||||
|     txtmanpages |%> \out -> do | ||||
|       let nroffsrc = dropExtension out  -- hledger/doc/hledger.1 | ||||
|       cmd Shell nroff "-man" nroffsrc ">" out | ||||
| 
 | ||||
|     -- adjust man page mds for (hakyll) web output, with pandoc | ||||
|     let webmanpages = ["site" </> manpageNameToUri m <.>".md" | m <- manpageNames] -- site/hledger.md, site/journal.md | ||||
|     phony "webmanpages" $ need webmanpages | ||||
|  | ||||
							
								
								
									
										71
									
								
								hledger-api/doc/hledger-api.1.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										71
									
								
								hledger-api/doc/hledger-api.1.txt
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,71 @@ | ||||
| 
 | ||||
| hledger-api(1)               hledger User Manuals               hledger-api(1) | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| NNAAMMEE | ||||
|        hledger-api - web API server for the hledger accounting tool | ||||
| 
 | ||||
| SSYYNNOOPPSSIISS | ||||
|        hledger-api [OPTIONS] | ||||
|        hledger api -- [OPTIONS] | ||||
| 
 | ||||
| DDEESSCCRRIIPPTTIIOONN | ||||
|        hledger  is  a  cross-platform program for tracking money, time, or any | ||||
|        other commodity, using double-entry accounting and a  simple,  editable | ||||
|        file  format.   hledger  is  inspired  by  and  largely compatible with | ||||
|        ledger(1). | ||||
| 
 | ||||
|        hledger-api is a simple web API server, intended to support client-side | ||||
|        web  apps  operating on hledger data.  It comes with a series of simple | ||||
|        client-side app examples, which drive it's evolution. | ||||
| 
 | ||||
|        Data is served from the usual hledger journal file: ~/.hledger.journal, | ||||
|        $LEDGER_FILE,  or  another  file specified with -f.  For more about the | ||||
|        format, see hledger(1) or hledger_journal(5). | ||||
| 
 | ||||
|        The server listens for requests on port ... | ||||
| 
 | ||||
|        Note there is no built-in access control, so  you  will  need  to  hide | ||||
|        hledger-api  behind  an  authenticating  proxy  if you want to restrict | ||||
|        access. | ||||
| 
 | ||||
| EENNVVIIRROONNMMEENNTT | ||||
|        LLEEDDGGEERR__FFIILLEE sets the default journal file path.   If  not  set,  it  is | ||||
|        ~/.hledger.journal. | ||||
| 
 | ||||
| FFIILLEESS | ||||
|        Reads   data   from   a   hledger   journal   file   ($LEDGER_FILE   or | ||||
|        ~/.hledger.journal by default), or a CSV file plus associated CSV rules | ||||
|        file. | ||||
| 
 | ||||
| BBUUGGSS | ||||
|        The  need  to precede options with -- when invoked from hledger is awk- | ||||
|        ward. | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| RREEPPOORRTTIINNGG BBUUGGSS | ||||
|        Report bugs at http://bugs.hledger.org (or on the #hledger IRC  channel | ||||
|        or hledger mail list) | ||||
| 
 | ||||
| 
 | ||||
| AAUUTTHHOORRSS | ||||
|        Simon Michael <simon@joyful.com> and contributors | ||||
| 
 | ||||
| 
 | ||||
| CCOOPPYYRRIIGGHHTT | ||||
|        Copyright (C) 2007-2016 Simon Michael. | ||||
|        Released under GNU GPL v3 or later. | ||||
| 
 | ||||
| 
 | ||||
| SSEEEE AALLSSOO | ||||
|        hledger(1),      hledger-ui(1),     hledger-web(1),     hledger-api(1), | ||||
|        hledger_csv(5), hledger_journal(5), hledger_timeclock(5), hledger_time- | ||||
|        dot(5), ledger(1) | ||||
| 
 | ||||
|        http://hledger.org | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|                                  January 2016                   hledger-api(1) | ||||
							
								
								
									
										169
									
								
								hledger-lib/doc/hledger_csv.5.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										169
									
								
								hledger-lib/doc/hledger_csv.5.txt
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,169 @@ | ||||
| 
 | ||||
| hledger_csv(5)               hledger User Manuals               hledger_csv(5) | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| NNAAMMEE | ||||
|        CSV - how hledger reads CSV data, and the CSV rules file format | ||||
| 
 | ||||
| DDEESSCCRRIIPPTTIIOONN | ||||
|        hledger  can  read CSV files, converting each CSV record into a journal | ||||
|        entry (transaction), if you provide some conversion hints in  a  "rules | ||||
|        file".   This file should be named like the CSV file with an additional | ||||
|        .rules suffix (eg: mybank.csv.rules); or, you can specify the file with | ||||
|        --rules-file PATH.   hledger  will  create  it  if necessary, with some | ||||
|        default rules which you'll need to adjust.  At minimum, the rules  file | ||||
|        must  specify  the  date and amount fields.  For an example, see How to | ||||
|        read CSV files. | ||||
| 
 | ||||
|        To learn about _e_x_p_o_r_t_i_n_g CSV, see CSV output. | ||||
| 
 | ||||
| CCSSVV RRUULLEESS | ||||
|        The following six kinds of rule can appear in the rules  file,  in  any | ||||
|        order.  Blank lines and lines beginning with # or ; are ignored. | ||||
| 
 | ||||
|    sskkiipp | ||||
|        skip_N | ||||
| 
 | ||||
|        Skip  this  number  of  CSV records at the beginning.  You'll need this | ||||
|        whenever your CSV data contains header lines.  Eg: | ||||
| 
 | ||||
|               # ignore the first CSV line | ||||
|               skip 1 | ||||
| 
 | ||||
|    ddaattee--ffoorrmmaatt | ||||
|        date-format_D_A_T_E_F_M_T | ||||
| 
 | ||||
|        When your CSV  date  fields  are  not  formatted  like  YYYY/MM/DD  (or | ||||
|        YYYY-MM-DD  or YYYY.MM.DD), you'll need to specify the format.  DATEFMT | ||||
|        is a strptime-like date parsing pattern,  which  must  parse  the  date | ||||
|        field values completely.  Examples: | ||||
| 
 | ||||
|               # for dates like "6/11/2013": | ||||
|               date-format %-d/%-m/%Y | ||||
| 
 | ||||
|               # for dates like "11/06/2013": | ||||
|               date-format %m/%d/%Y | ||||
| 
 | ||||
|               # for dates like "2013-Nov-06": | ||||
|               date-format %Y-%h-%d | ||||
| 
 | ||||
|               # for dates like "11/6/2013 11:32 PM": | ||||
|               date-format %-m/%-d/%Y %l:%M %p | ||||
| 
 | ||||
|    ffiieelldd lliisstt | ||||
|        fields_F_I_E_L_D_N_A_M_E_1_, _F_I_E_L_D_N_A_M_E_2_._._. | ||||
| 
 | ||||
|        This  (a)  names the CSV fields, in order (names may not contain white- | ||||
|        space, but may be omitted), and  (b)  assigns  them  to  journal  entry | ||||
|        fields  if you use any of these standard field names: date, date2, sta- | ||||
|        tus, code, description, comment, account1, account2, amount, amount-in, | ||||
|        amount-out, currency.  Eg: | ||||
| 
 | ||||
|               # use the 1st, 2nd and 4th CSV fields as the entry's date, description and amount, | ||||
|               # and give the 7th and 8th fields meaningful names for later reference: | ||||
|               # | ||||
|               # CSV field: | ||||
|               #      1     2            3 4       5 6 7          8 | ||||
|               # entry field: | ||||
|               fields date, description, , amount, , , somefield, anotherfield | ||||
| 
 | ||||
|    ffiieelldd aassssiiggnnmmeenntt | ||||
|        _E_N_T_R_Y_F_I_E_L_D_N_A_M_E _F_I_E_L_D_V_A_L_U_E | ||||
| 
 | ||||
|        This  sets  a  journal entry field (one of the standard names above) to | ||||
|        the given text value, which can include CSV field  values  interpolated | ||||
|        by name (%CSVFIELDNAME) or 1-based position (%N). | ||||
|         Eg: | ||||
| 
 | ||||
|               # set the amount to the 4th CSV field with "USD " prepended | ||||
|               amount USD %4 | ||||
| 
 | ||||
|               # combine three fields to make a comment (containing two tags) | ||||
|               comment note: %somefield - %anotherfield, date: %1 | ||||
| 
 | ||||
|        Field  assignments  can  be  used  instead of or in addition to a field | ||||
|        list. | ||||
| 
 | ||||
|    ccoonnddiittiioonnaall bblloocckk | ||||
|        if _P_A_T_T_E_R_N | ||||
|            _F_I_E_L_D_A_S_S_I_G_N_M_E_N_T_S_._._. | ||||
| 
 | ||||
|        if | ||||
|        _P_A_T_T_E_R_N | ||||
|        _P_A_T_T_E_R_N_._._. | ||||
|            _F_I_E_L_D_A_S_S_I_G_N_M_E_N_T_S_._._. | ||||
| 
 | ||||
|        This applies one or more field assignments, only to those  CSV  records | ||||
|        matched by one of the PATTERNs.  The patterns are case-insensitive reg- | ||||
|        ular expressions which match anywhere within the whole CSV record (it's | ||||
|        not  yet  possible  to  match within a specific field).  When there are | ||||
|        multiple patterns they should be written on separate lines, unindented. | ||||
|        The  field  assignments  are on separate lines indented by at least one | ||||
|        space.  Examples: | ||||
| 
 | ||||
|               # if the CSV record contains "groceries", set account2 to "expenses:groceries" | ||||
|               if groceries | ||||
|                account2 expenses:groceries | ||||
| 
 | ||||
|               # if the CSV record contains any of these patterns, set account2 and comment as shown | ||||
|               if | ||||
|               monthly service fee | ||||
|               atm transaction fee | ||||
|               banking thru software | ||||
|                account2 expenses:business:banking | ||||
|                comment  XXX deductible ? check it | ||||
| 
 | ||||
|    iinncclluuddee | ||||
|        include_R_U_L_E_S_F_I_L_E | ||||
| 
 | ||||
|        Include another rules file at this point.  RULESFILE is either an abso- | ||||
|        lute file path or a path relative to the current file's directory.  Eg: | ||||
| 
 | ||||
|               # rules reused with several CSV files | ||||
|               include common.rules | ||||
| 
 | ||||
| TTIIPPSS | ||||
|        Each generated journal entry will have two postings,  to  account1  and | ||||
|        account2 respectively.  Currently it's not possible to generate entries | ||||
|        with more than two postings. | ||||
| 
 | ||||
|        If the CSV has debit/credit amounts in separate fields, assign  to  the | ||||
|        amount-in and amount-out pseudo fields instead of amount. | ||||
| 
 | ||||
|        If  the  CSV  has  the currency in a separate field, assign that to the | ||||
|        currency pseudo field which will  be  automatically  prepended  to  the | ||||
|        amount.  (Or you can do the same thing with a field assignment.) | ||||
| 
 | ||||
|        If  an  amount  value is parenthesised, it will be de-parenthesised and | ||||
|        sign-flipped automatically. | ||||
| 
 | ||||
|        The generated journal entries will be sorted  by  date.   The  original | ||||
|        order of same-day entries will be preserved, usually. | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| RREEPPOORRTTIINNGG BBUUGGSS | ||||
|        Report  bugs at http://bugs.hledger.org (or on the #hledger IRC channel | ||||
|        or hledger mail list) | ||||
| 
 | ||||
| 
 | ||||
| AAUUTTHHOORRSS | ||||
|        Simon Michael <simon@joyful.com> and contributors | ||||
| 
 | ||||
| 
 | ||||
| CCOOPPYYRRIIGGHHTT | ||||
|        Copyright (C) 2007-2016 Simon Michael. | ||||
|        Released under GNU GPL v3 or later. | ||||
| 
 | ||||
| 
 | ||||
| SSEEEE AALLSSOO | ||||
|        hledger(1),     hledger-ui(1),     hledger-web(1),      hledger-api(1), | ||||
|        hledger_csv(5), hledger_journal(5), hledger_timeclock(5), hledger_time- | ||||
|        dot(5), ledger(1) | ||||
| 
 | ||||
|        http://hledger.org | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|                                   April 2016                    hledger_csv(5) | ||||
							
								
								
									
										668
									
								
								hledger-lib/doc/hledger_journal.5.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										668
									
								
								hledger-lib/doc/hledger_journal.5.txt
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,668 @@ | ||||
| 
 | ||||
| hledger_journal(5)           hledger User Manuals           hledger_journal(5) | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| NNAAMMEE | ||||
|        Journal - hledger's default file format, representing a General Journal | ||||
| 
 | ||||
| DDEESSCCRRIIPPTTIIOONN | ||||
|        hledger's usual data source is a plain  text  file  containing  journal | ||||
|        entries  in  hledger  journal  format.  This file represents a standard | ||||
|        accounting general journal.  I use file names ending in  .journal,  but | ||||
|        that's not required.  The journal file contains a number of transaction | ||||
|        entries, each describing a transfer of money (or any commodity) between | ||||
|        two or more named accounts, in a simple format readable by both hledger | ||||
|        and humans. | ||||
| 
 | ||||
|        hledger's journal format is a compatible subset,  mostly,  of  ledger's | ||||
|        journal  format,  so  hledger  can  work with compatible ledger journal | ||||
|        files as well.  It's safe, and encouraged,  to  run  both  hledger  and | ||||
|        ledger on the same journal file, eg to validate the results you're get- | ||||
|        ting. | ||||
| 
 | ||||
|        You can use hledger without learning any more about this file; just use | ||||
|        the  add  or web commands to create and update it.  Many users, though, | ||||
|        also edit the  journal  file  directly  with  a  text  editor,  perhaps | ||||
|        assisted by the helper modes for emacs or vim. | ||||
| 
 | ||||
|        Here's an example: | ||||
| 
 | ||||
|               ; A sample journal file. This is a comment. | ||||
| 
 | ||||
|               2008/01/01 income               ; <- transaction's first line starts in column 0, contains date and description | ||||
|                   assets:bank:checking  $1    ; <- posting lines start with whitespace, each contains an account name | ||||
|                   income:salary        $-1    ;    followed by at least two spaces and an amount | ||||
| 
 | ||||
|               2008/06/01 gift | ||||
|                   assets:bank:checking  $1    ; <- at least two postings in a transaction | ||||
|                   income:gifts         $-1    ; <- their amounts must balance to 0 | ||||
| 
 | ||||
|               2008/06/02 save | ||||
|                   assets:bank:saving    $1 | ||||
|                   assets:bank:checking        ; <- one amount may be omitted; here $-1 is inferred | ||||
| 
 | ||||
|               2008/06/03 eat & shop           ; <- description can be anything | ||||
|                   expenses:food         $1 | ||||
|                   expenses:supplies     $1    ; <- this transaction debits two expense accounts | ||||
|                   assets:cash                 ; <- $-2 inferred | ||||
| 
 | ||||
|               2008/12/31 * pay off            ; <- an optional * or ! after the date means "cleared" (or anything you want) | ||||
|                   liabilities:debts     $1 | ||||
|                   assets:bank:checking | ||||
| 
 | ||||
| FFIILLEE FFOORRMMAATT | ||||
|    TTrraannssaaccttiioonnss | ||||
|        Transactions  are  represented  by journal entries.  Each begins with a | ||||
|        simple date in column 0, followed by three optional fields with  spaces | ||||
|        between them: | ||||
| 
 | ||||
|        +o a  status  flag,  which  can be empty or ! or * (meaning "uncleared", | ||||
|          "pending" and "cleared", or whatever you want) | ||||
| 
 | ||||
|        +o a transaction code (eg a check number), | ||||
| 
 | ||||
|        +o and/or a description | ||||
| 
 | ||||
|        then some number of postings, of some amount to some account,  each  on | ||||
|        its  own  line.  Usually there are at least two postings, though one or | ||||
|        even none is possible. | ||||
| 
 | ||||
|        The (real) posting amounts within a transaction must always balance, ie | ||||
|        add up to 0.  Optionally one amount can be left blank, in which case it | ||||
|        will be inferred. | ||||
| 
 | ||||
|    DDaatteess | ||||
|    SSiimmppllee ddaatteess | ||||
|        Within a journal file, transaction dates use Y/M/D (or Y-M-D or  Y.M.D) | ||||
|        Leading zeroes are optional.  The year may be omitted, in which case it | ||||
|        defaults to the current year, or you can set the default  year  with  a | ||||
|        default year directive. | ||||
| 
 | ||||
|        Some examples: 2010/01/31, 1/31, 2010-01-31, 2010.1.31. | ||||
| 
 | ||||
|    SSeeccoonnddaarryy ddaatteess | ||||
|        Real-life  transactions  sometimes  involve more than one date - eg the | ||||
|        date you write a cheque, and the date it clears in your bank.  When you | ||||
|        want  to  model  this,  eg for more accurate balances, write both dates | ||||
|        separated by an equals sign.  The _p_r_i_m_a_r_y _d_a_t_e, on the left, is used by | ||||
|        default;  the  _s_e_c_o_n_d_a_r_y  _d_a_t_e,  on the right, is used when the --date2 | ||||
|        flag is specified (For Ledger compatibility, --aux-date or  --effective | ||||
|        also work.) | ||||
| 
 | ||||
|        Their  meaning is up to you, but it's best to follow a consistent rule. | ||||
|        Eg write the bank's clearing date as primary, and when needed, the date | ||||
|        the transaction was initiated as secondary. | ||||
| 
 | ||||
|        Here's an example.  Note that a secondary date will use the year of the | ||||
|        primary date if unspecified. | ||||
| 
 | ||||
|               2010/2/23=2/19 movie ticket | ||||
|                 expenses:cinema                   $10 | ||||
|                 assets:checking | ||||
| 
 | ||||
|               $ hledger register checking | ||||
|               2010/02/23 movie ticket         assets:checking                $-10         $-10 | ||||
| 
 | ||||
|               $ hledger register checking --date2 | ||||
|               2010/02/19 movie ticket         assets:checking                $-10         $-10 | ||||
| 
 | ||||
|        Secondary dates require some effort: you must use them consistently  in | ||||
|        your journal entries and remember whether to use or not use the --date2 | ||||
|        flag for your reports.  Arguably  they  are  now  obsolete,  superseded | ||||
|        by... | ||||
| 
 | ||||
|    PPoossttiinngg ddaatteess | ||||
|        You  can  give  individual  postings a different date from their parent | ||||
|        transaction, by adding a posting tag (see below) like date:DATE,  where | ||||
|        DATE  is a simple date.  This is probably the best way to control post- | ||||
|        ing dates precisely.  Eg in this example the expense should  appear  in | ||||
|        May  reports, and the deduction from checking should be reported on 6/1 | ||||
|        for easy bank reconciliation: | ||||
| 
 | ||||
|               2015/5/30 | ||||
|                   expenses:food     $10   ; food purchased on saturday 5/30 | ||||
|                   assets:checking         ; bank cleared it on monday, date:6/1 | ||||
| 
 | ||||
|               $ hledger -f tt.j register food | ||||
|               2015/05/30                      expenses:food                  $10           $10 | ||||
| 
 | ||||
|               $ hledger -f tt.j register checking | ||||
|               2015/06/01                      assets:checking               $-10          $-10 | ||||
| 
 | ||||
|        A posting date will use the year of the transaction  date  if  unspeci- | ||||
|        fied. | ||||
| 
 | ||||
|        You can also set the secondary date, with date2:DATE2.  For compatibil- | ||||
|        ity, Ledger's older posting date  syntax  is  also  supported:  [DATE], | ||||
|        [DATE=DATE2] or [=DATE2] in a posting comment. | ||||
| 
 | ||||
|        When  using  any of these forms, be sure to provide a valid simple date | ||||
|        or you'll get a parse error.  Eg a date:  tag  with  no  value  is  not | ||||
|        allowed. | ||||
| 
 | ||||
|    AAccccoouunntt nnaammeess | ||||
|        Account  names  typically have several parts separated by a full colon, | ||||
|        from which hledger derives a hierarchical chart of accounts.  They  can | ||||
|        be  anything  you  like,  but  in  finance there are traditionally five | ||||
|        top-level accounts: assets, liabilities, income, expenses, and  equity. | ||||
| 
 | ||||
|        Account  names  may  contain single spaces, eg: assets:accounts receiv- | ||||
|        able.  Because of this, they must always be followed by  at  least  two | ||||
|        spaces (or newline). | ||||
| 
 | ||||
|        Account names can be aliased. | ||||
| 
 | ||||
|    AAmmoouunnttss | ||||
|        After the account name, there is usually an amount.  Important: between | ||||
|        account name and amount, there must be ttwwoo oorr mmoorree spaces. | ||||
| 
 | ||||
|        The amount is a number, optionally with a currency symbol or  commodity | ||||
|        name  on either the left or right.  Negative amounts may have the minus | ||||
|        sign either before or after the currency symbol (-$1 or $-1).   Commod- | ||||
|        ity  names  which  contain more than just letters should be enclosed in | ||||
|        double quotes (1 "person hours"). | ||||
| 
 | ||||
|    DDeecciimmaall ppooiinnttss aanndd ddiiggiitt ggrroouuppss | ||||
|        hledger supports flexible  decimal  point  and  digit  group  separator | ||||
|        styles,  to support international variations.  Numbers can use either a | ||||
|        period (.) or a comma (,) as decimal point.  They can also  have  digit | ||||
|        group separators at any position (eg thousands separators) which can be | ||||
|        comma or period - whichever one you did not use as a decimal point.  If | ||||
|        you  use  digit group separators, you must also include a decimal point | ||||
|        in at least one number in the same commodity,  so  that  hledger  knows | ||||
|        which character is which.  Eg, write $1,000.00 or $1.000,00. | ||||
| 
 | ||||
|    AAmmoouunntt ddiissppllaayy ssttyylleess | ||||
|        Based  on  how you format amounts, hledger will infer canonical display | ||||
|        styles for each commodity, and use these  when  displaying  amounts  in | ||||
|        that commodity.  Amount styles include: | ||||
| 
 | ||||
|        +o the  position  (left or right) and spacing (space or no separator) of | ||||
|          the commodity symbol | ||||
| 
 | ||||
|        +o the digit group separator character (comma or period) and digit group | ||||
|          sizes, if any | ||||
| 
 | ||||
|        +o the decimal point character (period or comma) | ||||
| 
 | ||||
|        +o the display precision (number of decimal places displayed) | ||||
| 
 | ||||
|        The  canonical style is generally the style of the first posting amount | ||||
|        seen in a commodity.  However the display precision will be the highest | ||||
|        precision seen in all posting amounts in that commmodity. | ||||
| 
 | ||||
|        The  precisions  used in a price amount, or a D directive, don't affect | ||||
|        the canonical display precision directly, but they can affect it  indi- | ||||
|        rectly,  eg  when  D's default commodity is applied to a commodity-less | ||||
|        amount or when an amountless posting is balanced using a  price's  com- | ||||
|        modity  (actually  this last case does not influence the canonical dis- | ||||
|        play precision but probably should). | ||||
| 
 | ||||
|    VViirrttuuaall PPoossttiinnggss | ||||
|        When you parenthesise the account name in a posting,  that  posting  is | ||||
|        considered _v_i_r_t_u_a_l, which means: | ||||
| 
 | ||||
|        +o it is ignored when checking that the transaction is balanced | ||||
| 
 | ||||
|        +o it  is  excluded from reports when the --real/-R flag is used, or the | ||||
|          real:1 query. | ||||
| 
 | ||||
|        You could use this, eg, to set an  account's  opening  balance  without | ||||
|        needing to use the equity:opening balances account: | ||||
| 
 | ||||
|               1/1 special unbalanced posting to set initial balance | ||||
|                 (assets:checking)   $1000 | ||||
| 
 | ||||
|    BBaallaanncceedd VViirrttuuaall PPoossttiinnggss | ||||
|        When  the  account  name is bracketed, the posting is _b_a_l_a_n_c_e_d _v_i_r_t_u_a_l, | ||||
|        which is just like a virtual posting except the balanced virtual  post- | ||||
|        ings  in  a  transaction must balance to 0, like the real postings (but | ||||
|        separately from them).  Balanced virtual postings are also excluded  by | ||||
|        --real/-R or real:1. | ||||
| 
 | ||||
|        Virtual  postings are a feature inherited from Ledger can can occasion- | ||||
|        ally be useful, but they can be a crutch and you should think twice  or | ||||
|        three  times  before using them.  You can almost always find an equiva- | ||||
|        lent journal entry using two or more real postings that  will  be  more | ||||
|        correct and more error-proof. | ||||
| 
 | ||||
|    BBaallaannccee AAsssseerrttiioonnss | ||||
|        hledger  supports  ledger-style  balance  assertions  in journal files. | ||||
|        These look like =EXPECTEDBALANCE following a posting's amount.   Eg  in | ||||
|        this  example we assert the expected dollar balance in accounts a and b | ||||
|        after each posting: | ||||
| 
 | ||||
|               2013/1/1 | ||||
|                 a   $1  =$1 | ||||
|                 b       =$-1 | ||||
| 
 | ||||
|               2013/1/2 | ||||
|                 a   $1  =$2 | ||||
|                 b  $-1  =$-2 | ||||
| 
 | ||||
|        After reading a journal file, hledger will check all balance assertions | ||||
|        and  report  an error if any of them fail.  Balance assertions can pro- | ||||
|        tect you from, eg, inadvertently disrupting reconciled  balances  while | ||||
|        cleaning  up  old  entries.   You can disable them temporarily with the | ||||
|        --ignore-assertions flag, which can be useful  for  troubleshooting  or | ||||
|        for reading Ledger files. | ||||
| 
 | ||||
|    AAsssseerrttiioonnss aanndd oorrddeerriinngg | ||||
|        hledger  sorts  an  account's postings and assertions first by date and | ||||
|        then (for postings on the same day) by parse order.  Note this is  dif- | ||||
|        ferent from Ledger, which sorts assertions only by parse order.  (Also, | ||||
|        Ledger assertions do not see the accumulated effect of  repeated  post- | ||||
|        ings to the same account within a transaction.) | ||||
| 
 | ||||
|        So,  hledger  balance  assertions  keep  working if you reorder differ- | ||||
|        ently-dated transactions  within  the  journal.   But  if  you  reorder | ||||
|        same-dated transactions or postings, assertions might break and require | ||||
|        updating.  This order dependence does bring an advantage: precise  con- | ||||
|        trol over the order of postings and assertions within a day, so you can | ||||
|        assert intra-day balances. | ||||
| 
 | ||||
|        With included files, things are a little more  complicated.   Including | ||||
|        preserves  the ordering of postings and assertions.  If you have multi- | ||||
|        ple postings to an account on the  same  day,  split  across  different | ||||
|        files,  and  you  also want to assert the account's balance on the same | ||||
|        day, you'll have to put the assertion in the right file. | ||||
| 
 | ||||
|    AAsssseerrttiioonnss aanndd ccoommmmooddiittiieess | ||||
|        The asserted balance must be a simple single-commodity amount,  and  in | ||||
|        fact  the  assertion  checks  only  this commodity's balance within the | ||||
|        (possibly multi-commodity) account balance.  We could call this a  par- | ||||
|        tial  balance  assertion.  This is compatible with Ledger, and makes it | ||||
|        possible to make assertions about accounts containing multiple commodi- | ||||
|        ties. | ||||
| 
 | ||||
|        To  assert  each commodity's balance in such a multi-commodity account, | ||||
|        you can add multiple postings (with amount 0 if necessary).   But  note | ||||
|        that  no  matter  how  many  assertions  you add, you can't be sure the | ||||
|        account does not contain some unexpected commodity.  (We'll add support | ||||
|        for this kind of total balance assertion if there's demand.) | ||||
| 
 | ||||
|    AAsssseerrttiioonnss aanndd ssuubbaaccccoouunnttss | ||||
|        Balance  assertions  do  not  count  the balance from subaccounts; they | ||||
|        check the posted account's exclusive balance.  For example: | ||||
| 
 | ||||
|               1/1 | ||||
|                 checking:fund   1 = 1  ; post to this subaccount, its balance is now 1 | ||||
|                 checking        1 = 1  ; post to the parent account, its exclusive balance is now 1 | ||||
|                 equity | ||||
| 
 | ||||
|        The balance report's flat mode  shows  these  exclusive  balances  more | ||||
|        clearly: | ||||
| 
 | ||||
|               $ hledger bal checking --flat | ||||
|                                  1  checking | ||||
|                                  1  checking:fund | ||||
|               -------------------- | ||||
|                                  2 | ||||
| 
 | ||||
|    AAsssseerrttiioonnss aanndd vviirrttuuaall ppoossttiinnggss | ||||
|        Balance assertions are checked against all postings, both real and vir- | ||||
|        tual.  They are not affected by the --real/-R flag or real: query. | ||||
| 
 | ||||
|    PPrriicceess | ||||
|    TTrraannssaaccttiioonn pprriicceess | ||||
|        When recording a transaction, you can also record an amount's price  in | ||||
|        another  commodity.   This documents the exchange rate, cost (of a pur- | ||||
|        chase), or selling price (of a sale) that was  in  effect  within  this | ||||
|        particular  transaction (or more precisely, within the particular post- | ||||
|        ing).  These transaction prices are fixed, and do not change. | ||||
| 
 | ||||
|        Such priced amounts can be displayed in their transaction price's  com- | ||||
|        modity,  by using the --cost/-B flag (B for "cost Basis"), supported by | ||||
|        most hledger commands. | ||||
| 
 | ||||
|        There are three ways to specify a transaction price: | ||||
| 
 | ||||
|        1. Write the unit price (aka exchange rate), as @ UNITPRICE  after  the | ||||
|           amount: | ||||
| 
 | ||||
|                   2009/1/1 | ||||
|                     assets:foreign currency   ^a~100 @ $1.35  ; one hundred euros at $1.35 each | ||||
|                     assets:cash | ||||
| 
 | ||||
|        2. Or write the total price, as @@ TOTALPRICE after the amount: | ||||
| 
 | ||||
|                   2009/1/1 | ||||
|                     assets:foreign currency   ^a~100 @@ $135  ; one hundred euros at $135 for the lot | ||||
|                     assets:cash | ||||
| 
 | ||||
|        3. Or let hledger infer the price so as to balance the transaction.  To | ||||
|           permit this, you must fully specify all posting amounts,  and  their | ||||
|           sum must have a non-zero amount in exactly two commodities: | ||||
| 
 | ||||
|                   2009/1/1 | ||||
|                     assets:foreign currency   ^a~100          ; one hundred euros | ||||
|                     assets:cash              $-135          ; exchanged for $135 | ||||
| 
 | ||||
|        With any of the above examples we get: | ||||
| 
 | ||||
|               $ hledger print -B | ||||
|               2009/01/01 | ||||
|                   assets:foreign currency       $135.00 | ||||
|                   assets:cash                  $-135.00 | ||||
| 
 | ||||
|        Example  use for transaction prices: recording the effective conversion | ||||
|        rate of purchases made in a foreign currency. | ||||
| 
 | ||||
|    MMaarrkkeett pprriicceess | ||||
|        Market prices are not tied to a particular transaction; they  represent | ||||
|        historical  exchange  rates  between two commodities, usually from some | ||||
|        public market which publishes such rates. | ||||
| 
 | ||||
|        When market prices are known, the -V/--value option will  use  them  to | ||||
|        convert  reported  amounts  to  their market value as of the report end | ||||
|        date.  This option is currently available only with  the  balance  com- | ||||
|        mand. | ||||
| 
 | ||||
|        You record market prices (Ledger calls them historical prices) with a P | ||||
|        directive, in the journal or perhaps in a separate included file.  Mar- | ||||
|        ket price directives have the format: | ||||
| 
 | ||||
|               P DATE COMMODITYSYMBOL UNITPRICE | ||||
| 
 | ||||
|        For example, the following directives say that the euro's exchange rate | ||||
|        was 1.35 US dollars during  2009,  and  $1.40  from  2010  onward  (and | ||||
|        unknown before 2009). | ||||
| 
 | ||||
|               P 2009/1/1 ^a~ $1.35 | ||||
|               P 2010/1/1 ^a~ $1.40 | ||||
| 
 | ||||
|        Example use for market prices: tracking the value of stocks. | ||||
| 
 | ||||
|    CCoommmmeennttss | ||||
|        Lines  in  the  journal  beginning  with a semicolon (;) or hash (#) or | ||||
|        asterisk (*) are comments, and will  be  ignored.   (Asterisk  comments | ||||
|        make  it easy to treat your journal like an org-mode outline in emacs.) | ||||
| 
 | ||||
|        Also,  anything  between  comment  and  end comment  directives  is   a | ||||
|        (multi-line)  comment.  If there is no end comment, the comment extends | ||||
|        to the end of the file. | ||||
| 
 | ||||
|        You can attach comments to a transaction  by  writing  them  after  the | ||||
|        description  and/or  indented  on the following lines (before the post- | ||||
|        ings).  Similarly, you can attach comments to an individual posting  by | ||||
|        writing them after the amount and/or indented on the following lines. | ||||
| 
 | ||||
|        Some examples: | ||||
| 
 | ||||
|               # a journal comment | ||||
| 
 | ||||
|               ; also a journal comment | ||||
| 
 | ||||
|               comment | ||||
|               This is a multiline comment, | ||||
|               which continues until a line | ||||
|               where the "end comment" string | ||||
|               appears on its own. | ||||
|               end comment | ||||
| 
 | ||||
|               2012/5/14 something  ; a transaction comment | ||||
|                   ; the transaction comment, continued | ||||
|                   posting1  1  ; a comment for posting 1 | ||||
|                   posting2 | ||||
|                   ; a comment for posting 2 | ||||
|                   ; another comment line for posting 2 | ||||
|               ; a journal comment (because not indented) | ||||
| 
 | ||||
|    TTaaggss | ||||
|        A  _t_a_g is a word followed by a full colon inside a transaction or post- | ||||
|        ing comment.  You  can  write  multiple  tags,  comma  separated.   Eg: | ||||
|        ; a comment containing sometag:, anothertag:.   You can search for tags | ||||
|        with the tag: query. | ||||
| 
 | ||||
|        A tag can also have a value, which is any text between  the  colon  and | ||||
|        the  next comma or newline, excluding leading/trailing whitespace.  (So | ||||
|        hledger tag values can not contain commas or newlines). | ||||
| 
 | ||||
|        Tags in a transaction comment affect the transaction  and  all  of  its | ||||
|        postings,  while  tags  in  a posting comment affect only that posting. | ||||
|        For example,  the  following  transaction  has  three  tags  (A,  TAG2, | ||||
|        third-tag) and the posting has four (A, TAG2, third-tag, posting-tag): | ||||
| 
 | ||||
|               1/1 a transaction  ; A:, TAG2: | ||||
|                   ; third-tag: a third transaction tag, this time with a value | ||||
|                   (a)  $1  ; posting-tag: | ||||
| 
 | ||||
|        Tags  are  like  Ledger's metadata feature, except hledger's tag values | ||||
|        are always simple strings. | ||||
| 
 | ||||
|    DDiirreeccttiivveess | ||||
|    AAccccoouunntt aalliiaasseess | ||||
|        You can define aliases which rewrite your account names (after  reading | ||||
|        the journal, before generating reports).  hledger's account aliases can | ||||
|        be useful for: | ||||
| 
 | ||||
|        +o expanding shorthand account names to their full form, allowing easier | ||||
|          data entry and a less verbose journal | ||||
| 
 | ||||
|        +o adapting old journals to your current chart of accounts | ||||
| 
 | ||||
|        +o experimenting with new account organisations, like a new hierarchy or | ||||
|          combining two accounts into one | ||||
| 
 | ||||
|        +o customising reports | ||||
| 
 | ||||
|        See also How to use account aliases. | ||||
| 
 | ||||
|    BBaassiicc aalliiaasseess | ||||
|        To set an account alias, use the alias directive in your journal  file. | ||||
|        This  affects all subsequent journal entries in the current file or its | ||||
|        included files.  The spaces around the = are optional: | ||||
| 
 | ||||
|               alias OLD = NEW | ||||
| 
 | ||||
|        Or, you can use the --alias 'OLD=NEW' option on the command line.  This | ||||
|        affects all entries.  It's useful for trying out aliases interactively. | ||||
| 
 | ||||
|        OLD and NEW are full account names.  hledger will  replace  any  occur- | ||||
|        rence  of  the old account name with the new one.  Subaccounts are also | ||||
|        affected.  Eg: | ||||
| 
 | ||||
|               alias checking = assets:bank:wells fargo:checking | ||||
|               # rewrites "checking" to "assets:bank:wells fargo:checking", or "checking:a" to "assets:bank:wells fargo:checking:a" | ||||
| 
 | ||||
|    RReeggeexx aalliiaasseess | ||||
|        There is also a more powerful variant that uses a  regular  expression, | ||||
|        indicated  by  the forward slashes.  (This was the default behaviour in | ||||
|        hledger 0.24-0.25): | ||||
| 
 | ||||
|               alias /REGEX/ = REPLACEMENT | ||||
| 
 | ||||
|        or --alias '/REGEX/=REPLACEMENT'. | ||||
| 
 | ||||
|        REGEX is a case-insensitive regular expression.   Anywhere  it  matches | ||||
|        inside  an  account name, the matched part will be replaced by REPLACE- | ||||
|        MENT.  If REGEX contains parenthesised match groups, these can be  ref- | ||||
|        erenced by the usual numeric backreferences in REPLACEMENT.  Note, cur- | ||||
|        rently regular expression  aliases  may  cause  noticeable  slow-downs. | ||||
|        (And if you use Ledger on your hledger file, they will be ignored.) Eg: | ||||
| 
 | ||||
|               alias /^(.+):bank:([^:]+)(.*)/ = \1:\2 \3 | ||||
|               # rewrites "assets:bank:wells fargo:checking" to  "assets:wells fargo checking" | ||||
| 
 | ||||
|    MMuullttiippllee aalliiaasseess | ||||
|        You can define as many aliases as you like  using  directives  or  com- | ||||
|        mand-line  options.  Aliases are recursive - each alias sees the result | ||||
|        of applying previous ones.   (This  is  different  from  Ledger,  where | ||||
|        aliases are non-recursive by default).  Aliases are applied in the fol- | ||||
|        lowing order: | ||||
| 
 | ||||
|        1. alias directives, most recently seen first (recent  directives  take | ||||
|           precedence over earlier ones; directives not yet seen are ignored) | ||||
| 
 | ||||
|        2. alias options, in the order they appear on the command line | ||||
| 
 | ||||
|    eenndd aalliiaasseess | ||||
|        You   can  clear  (forget)  all  currently  defined  aliases  with  the | ||||
|        end aliases directive: | ||||
| 
 | ||||
|               end aliases | ||||
| 
 | ||||
|    aaccccoouunntt ddiirreeccttiivvee | ||||
|        The account directive predefines account names, as in Ledger and  Bean- | ||||
|        count.   This may be useful for your own documentation; hledger doesn't | ||||
|        make use of it yet. | ||||
| 
 | ||||
|               ; account ACCT | ||||
|               ;   OPTIONAL COMMENTS/TAGS... | ||||
| 
 | ||||
|               account assets:bank:checking | ||||
|                a comment | ||||
|                acct-no:12345 | ||||
| 
 | ||||
|               account expenses:food | ||||
| 
 | ||||
|               ; etc. | ||||
| 
 | ||||
|    aappppllyy aaccccoouunntt ddiirreeccttiivvee | ||||
|        You can specify a  parent  account  which  will  be  prepended  to  all | ||||
|        accounts  within  a  section of the journal.  Use the apply account and | ||||
|        end apply account directives like so: | ||||
| 
 | ||||
|               apply account home | ||||
| 
 | ||||
|               2010/1/1 | ||||
|                   food    $10 | ||||
|                   cash | ||||
| 
 | ||||
|               end apply account | ||||
| 
 | ||||
|        which is equivalent to: | ||||
| 
 | ||||
|               2010/01/01 | ||||
|                   home:food           $10 | ||||
|                   home:cash          $-10 | ||||
| 
 | ||||
|        If end apply account is omitted, the effect lasts to  the  end  of  the | ||||
|        file.  Included files are also affected, eg: | ||||
| 
 | ||||
|               apply account business | ||||
|               include biz.journal | ||||
|               end apply account | ||||
|               apply account personal | ||||
|               include personal.journal | ||||
| 
 | ||||
|        Prior  to hledger 0.28, legacy account and end spellings were also sup- | ||||
|        ported. | ||||
| 
 | ||||
|    MMuullttii--lliinnee ccoommmmeennttss | ||||
|        A line containing just comment starts a multi-line comment, and a  line | ||||
|        containing just end comment ends it.  See comments. | ||||
| 
 | ||||
|    DDeeffaauulltt ccoommmmooddiittyy | ||||
|        You  can  set  a default commodity, to be used for amounts without one. | ||||
|        Use the D directive with a sample amount.  The commodity (and the  sam- | ||||
|        ple  amount's  display style) will be applied to all subsequent commod- | ||||
|        ity-less amounts, up to the next D directive.  (Note this is  different | ||||
|        from Ledger's default commodity directive.) | ||||
| 
 | ||||
|        Also  note  the  directive  itself  does  not influence the commodity's | ||||
|        default display style, but the amount it is applied to  might.   Here's | ||||
|        an example: | ||||
| 
 | ||||
|               ; set ^A-L as the default commodity | ||||
|               D ^A-L1,000.00 | ||||
| 
 | ||||
|               2010/1/1 | ||||
|                 a  2340 | ||||
|                 b | ||||
| 
 | ||||
|               2014/1/1 | ||||
|                 c  ^A-L1000 | ||||
|                 d | ||||
| 
 | ||||
|               $ hledger print | ||||
|               2010/01/01 | ||||
|                   a     ^A-L2,340.00 | ||||
|                   b    ^A-L-2,340.00 | ||||
| 
 | ||||
|               2014/01/01 | ||||
|                   c     ^A-L1,000.00 | ||||
|                   d    ^A-L-1,000.00 | ||||
| 
 | ||||
|    DDeeffaauulltt yyeeaarr | ||||
|        You  can set a default year to be used for subsequent dates which don't | ||||
|        specify a year.  This is a line beginning with Y followed by the  year. | ||||
|        Eg: | ||||
| 
 | ||||
|               Y2009      ; set default year to 2009 | ||||
| 
 | ||||
|               12/15      ; equivalent to 2009/12/15 | ||||
|                 expenses  1 | ||||
|                 assets | ||||
| 
 | ||||
|               Y2010      ; change default year to 2010 | ||||
| 
 | ||||
|               2009/1/30  ; specifies the year, not affected | ||||
|                 expenses  1 | ||||
|                 assets | ||||
| 
 | ||||
|               1/31       ; equivalent to 2010/1/31 | ||||
|                 expenses  1 | ||||
|                 assets | ||||
| 
 | ||||
|    IInncclluuddiinngg ootthheerr ffiilleess | ||||
|        You  can  pull in the content of additional journal files by writing an | ||||
|        include directive, like this: | ||||
| 
 | ||||
|               include path/to/file.journal | ||||
| 
 | ||||
|        If the path does not begin with a slash, it is relative to the  current | ||||
|        file. | ||||
| 
 | ||||
|        Glob patterns (*) are not currently supported. | ||||
| 
 | ||||
|        The  include directive may only be used in journal files, and currently | ||||
|        it may only include other journal  files  (eg,  not  CSV  or  timeclock | ||||
|        files.) | ||||
| 
 | ||||
| EEDDIITTOORR SSUUPPPPOORRTT | ||||
|        Add-on modes exist for various text editors, to make working with jour- | ||||
|        nal files easier.  They add colour, navigation aids  and  helpful  com- | ||||
|        mands.   For  hledger  users  who  edit  the journal file directly (the | ||||
|        majority), using one of these modes is quite recommended. | ||||
| 
 | ||||
|        These were written with Ledger in mind,  but  also  work  with  hledger | ||||
|        files: | ||||
| 
 | ||||
| 
 | ||||
|        tab(@);       lw(16.5n)       lw(51.5n).       T{      Emacs      T}@T{ | ||||
|        http://www.ledger-cli.org/3.0/doc/ledger-mode.html  T}  T{  Vim   T}@T{ | ||||
|        https://github.com/ledger/ledger/wiki/Getting-started   T}  T{  Sublime | ||||
|        Text T}@T{ https://github.com/ledger/ledger/wiki/Using-Sublime-Text  T} | ||||
|        T{   Textmate  T}@T{  https://github.com/ledger/ledger/wiki/Using-Text- | ||||
|        Mate-2       T}       T{       Text       Wrangler                T}@T{ | ||||
|        https://github.com/ledger/ledger/wiki/Editing-Ledger-files-with-Tex- | ||||
|        tWrangler T} | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| RREEPPOORRTTIINNGG BBUUGGSS | ||||
|        Report bugs at http://bugs.hledger.org (or on the #hledger IRC  channel | ||||
|        or hledger mail list) | ||||
| 
 | ||||
| 
 | ||||
| AAUUTTHHOORRSS | ||||
|        Simon Michael <simon@joyful.com> and contributors | ||||
| 
 | ||||
| 
 | ||||
| CCOOPPYYRRIIGGHHTT | ||||
|        Copyright (C) 2007-2016 Simon Michael. | ||||
|        Released under GNU GPL v3 or later. | ||||
| 
 | ||||
| 
 | ||||
| SSEEEE AALLSSOO | ||||
|        hledger(1),      hledger-ui(1),     hledger-web(1),     hledger-api(1), | ||||
|        hledger_csv(5), hledger_journal(5), hledger_timeclock(5), hledger_time- | ||||
|        dot(5), ledger(1) | ||||
| 
 | ||||
|        http://hledger.org | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|                                   April 2016                hledger_journal(5) | ||||
							
								
								
									
										83
									
								
								hledger-lib/doc/hledger_timeclock.5.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										83
									
								
								hledger-lib/doc/hledger_timeclock.5.txt
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,83 @@ | ||||
| 
 | ||||
| hledger_timeclock(5)         hledger User Manuals         hledger_timeclock(5) | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| NNAAMMEE | ||||
|        Timeclock - the time logging format of timeclock.el, as read by hledger | ||||
| 
 | ||||
| DDEESSCCRRIIPPTTIIOONN | ||||
|        hledger can read timeclock files.  As with Ledger, these are (a  subset | ||||
|        of) timeclock.el's format, containing clock-in and clock-out entries as | ||||
|        in the example below.  The date is a simple date  (also,  default  year | ||||
|        directives  work).  The time format is HH:MM[:SS][+-ZZZZ].  Seconds and | ||||
|        timezone are optional.  The timezone, if present, must be  four  digits | ||||
|        and  is  ignored  (currently  the time is always interpreted as a local | ||||
|        time). | ||||
| 
 | ||||
|               i 2015/03/30 09:00:00 some:account name  optional description after two spaces | ||||
|               o 2015/03/30 09:20:00 | ||||
|               i 2015/03/31 22:21:45 another account | ||||
|               o 2015/04/01 02:00:34 | ||||
| 
 | ||||
|        hledger treats each clock-in/clock-out pair as  a  transaction  posting | ||||
|        some  number of hours to an account.  Or if the session spans more than | ||||
|        one day, it is split into several transactions, one for each day.   For | ||||
|        the above time log, hledger print generates these journal entries: | ||||
| 
 | ||||
|               $ hledger -f t.timeclock print | ||||
|               2015/03/30 * optional description after two spaces | ||||
|                   (some:account name)         0.33h | ||||
| 
 | ||||
|               2015/03/31 * 22:21-23:59 | ||||
|                   (another account)         1.64h | ||||
| 
 | ||||
|               2015/04/01 * 00:00-02:00 | ||||
|                   (another account)         2.01h | ||||
| 
 | ||||
|        Here is a sample.timeclock to download and some queries to try: | ||||
| 
 | ||||
|               $ hledger -f sample.timeclock balance                               # current time balances | ||||
|               $ hledger -f sample.timeclock register -p 2009/3                    # sessions in march 2009 | ||||
|               $ hledger -f sample.timeclock register -p weekly --depth 1 --empty  # time summary by week | ||||
| 
 | ||||
|        To generate time logs, ie to clock in and clock out, you could: | ||||
| 
 | ||||
|        +o use  emacs  and  the  built-in  timeclock.el,  or  the extended time- | ||||
|          clock-x.el and perhaps the extras in ledgerutils.el | ||||
| 
 | ||||
|        +o at the command line, use these bash aliases: | ||||
| 
 | ||||
|                 alias ti="echo i `date '+%Y-%m-%d %H:%M:%S'` \$* >>$TIMELOG" | ||||
|                 alias to="echo o `date '+%Y-%m-%d %H:%M:%S'` >>$TIMELOG" | ||||
| 
 | ||||
|        +o or use the old ti and to scripts in the ledger 2.x repository.  These | ||||
|          rely  on  a "timeclock" executable which I think is just the ledger 2 | ||||
|          executable renamed. | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| RREEPPOORRTTIINNGG BBUUGGSS | ||||
|        Report bugs at http://bugs.hledger.org (or on the #hledger IRC  channel | ||||
|        or hledger mail list) | ||||
| 
 | ||||
| 
 | ||||
| AAUUTTHHOORRSS | ||||
|        Simon Michael <simon@joyful.com> and contributors | ||||
| 
 | ||||
| 
 | ||||
| CCOOPPYYRRIIGGHHTT | ||||
|        Copyright (C) 2007-2016 Simon Michael. | ||||
|        Released under GNU GPL v3 or later. | ||||
| 
 | ||||
| 
 | ||||
| SSEEEE AALLSSOO | ||||
|        hledger(1),      hledger-ui(1),     hledger-web(1),     hledger-api(1), | ||||
|        hledger_csv(5), hledger_journal(5), hledger_timeclock(5), hledger_time- | ||||
|        dot(5), ledger(1) | ||||
| 
 | ||||
|        http://hledger.org | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|                                   April 2016              hledger_timeclock(5) | ||||
							
								
								
									
										125
									
								
								hledger-lib/doc/hledger_timedot.5.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										125
									
								
								hledger-lib/doc/hledger_timedot.5.txt
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,125 @@ | ||||
| 
 | ||||
| hledger_timedot(5)           hledger User Manuals           hledger_timedot(5) | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| NNAAMMEE | ||||
|        Timedot - hledger's human-friendly time logging format | ||||
| 
 | ||||
| DDEESSCCRRIIPPTTIIOONN | ||||
|        Timedot  is  a plain text format for logging dated, categorised quanti- | ||||
|        ties (eg time), supported by hledger.  It is convenient for approximate | ||||
|        and  retroactive  time  logging,  eg  when  the  real-time clock-in/out | ||||
|        required with a timeclock file is too precise or too interruptive.   It | ||||
|        can  be formatted like a bar chart, making clear at a glance where time | ||||
|        was spent. | ||||
| 
 | ||||
|        Though called "timedot", the format  does  not  specify  the  commodity | ||||
|        being  logged, so could represent other dated, quantifiable things.  Eg | ||||
|        you could record a single-entry journal of financial transactions, per- | ||||
|        haps slightly more conveniently than with hledger_journal(5) format. | ||||
| 
 | ||||
| FFIILLEE FFOORRMMAATT | ||||
|        A  timedot  file  contains a series of day entries.  A day entry begins | ||||
|        with a date, and is followed by category/quantity pairs, one per  line. | ||||
|        Dates  are  hledger-style simple dates (see hledger_journal(5)).  Cate- | ||||
|        gories are hledger-style account  names,  optionally  indented.   There | ||||
|        must  be  at  least  two  spaces between the category and the quantity. | ||||
|        Quantities can be written in two ways: | ||||
| 
 | ||||
|        1. a series of dots (period characters).  Each dot represents "a  quar- | ||||
|           ter"  -  eg,  a quarter hour.  Spaces can be used to group dots into | ||||
|           hours, for easier counting. | ||||
| 
 | ||||
|        2. a number (integer or decimal), representing "units" - eg, hours.   A | ||||
|           good  alternative  when  dots  are  cumbersome.   (A number also can | ||||
|           record negative quantities.) | ||||
| 
 | ||||
|        Blank lines and lines beginning with #, ; or * are ignored.   An  exam- | ||||
|        ple: | ||||
| 
 | ||||
|               # on this day, 6h was spent on client work, 1.5h on haskell FOSS work, etc. | ||||
|               2016/2/1 | ||||
|               inc:client1   .... .... .... .... .... .... | ||||
|               fos:haskell   .... .. | ||||
|               biz:research  . | ||||
| 
 | ||||
|               2016/2/2 | ||||
|               inc:client1   .... .... | ||||
|               biz:research  . | ||||
| 
 | ||||
|        Or with numbers: | ||||
| 
 | ||||
|               2016/2/3 | ||||
|               inc:client1   4 | ||||
|               fos:hledger   3 | ||||
|               biz:research  1 | ||||
| 
 | ||||
|        Reporting: | ||||
| 
 | ||||
|               $ hledger -f t.timedot print date:2016/2/2 | ||||
|               2016/02/02 * | ||||
|                   (inc:client1)          2.00 | ||||
| 
 | ||||
|               2016/02/02 * | ||||
|                   (biz:research)          0.25 | ||||
| 
 | ||||
|               $ hledger -f t.timedot bal --daily --tree | ||||
|               Balance changes in 2016/02/01-2016/02/03: | ||||
| 
 | ||||
|                           ||  2016/02/01d  2016/02/02d  2016/02/03d | ||||
|               ============++======================================== | ||||
|                biz        ||         0.25         0.25         1.00 | ||||
|                  research ||         0.25         0.25         1.00 | ||||
|                fos        ||         1.50            0         3.00 | ||||
|                  haskell  ||         1.50            0            0 | ||||
|                  hledger  ||            0            0         3.00 | ||||
|                inc        ||         6.00         2.00         4.00 | ||||
|                  client1  ||         6.00         2.00         4.00 | ||||
|               ------------++---------------------------------------- | ||||
|                           ||         7.75         2.25         8.00 | ||||
| 
 | ||||
|        I  prefer to use period for separating account components.  We can make | ||||
|        this work with an account alias: | ||||
| 
 | ||||
|               2016/2/4 | ||||
|               fos.hledger.timedot  4 | ||||
|               fos.ledger           .. | ||||
| 
 | ||||
|               $ hledger -f t.timedot --alias /\\./=: bal date:2016/2/4 | ||||
|                               4.50  fos | ||||
|                               4.00    hledger:timedot | ||||
|                               0.50    ledger | ||||
|               -------------------- | ||||
|                               4.50 | ||||
| 
 | ||||
|        default year directives may be used. | ||||
| 
 | ||||
|        Here is a sample.timedot. | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| RREEPPOORRTTIINNGG BBUUGGSS | ||||
|        Report bugs at http://bugs.hledger.org (or on the #hledger IRC  channel | ||||
|        or hledger mail list) | ||||
| 
 | ||||
| 
 | ||||
| AAUUTTHHOORRSS | ||||
|        Simon Michael <simon@joyful.com> and contributors | ||||
| 
 | ||||
| 
 | ||||
| CCOOPPYYRRIIGGHHTT | ||||
|        Copyright (C) 2007-2016 Simon Michael. | ||||
|        Released under GNU GPL v3 or later. | ||||
| 
 | ||||
| 
 | ||||
| SSEEEE AALLSSOO | ||||
|        hledger(1),      hledger-ui(1),     hledger-web(1),     hledger-api(1), | ||||
|        hledger_csv(5), hledger_journal(5), hledger_timeclock(5), hledger_time- | ||||
|        dot(5), ledger(1) | ||||
| 
 | ||||
|        http://hledger.org | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|                                   April 2016                hledger_timedot(5) | ||||
							
								
								
									
										258
									
								
								hledger-ui/doc/hledger-ui.1.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										258
									
								
								hledger-ui/doc/hledger-ui.1.txt
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,258 @@ | ||||
| 
 | ||||
| hledger-ui(1)                hledger User Manuals                hledger-ui(1) | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| NNAAMMEE | ||||
|        hledger-ui - curses-style interface for the hledger accounting tool | ||||
| 
 | ||||
| SSYYNNOOPPSSIISS | ||||
|        hledger-ui [OPTIONS] [QUERYARGS] | ||||
|        hledger ui -- [OPTIONS] [QUERYARGS] | ||||
| 
 | ||||
| DDEESSCCRRIIPPTTIIOONN | ||||
|        hledger  is  a  cross-platform program for tracking money, time, or any | ||||
|        other commodity, using double-entry accounting and a  simple,  editable | ||||
|        file  format.   hledger  is  inspired  by  and  largely compatible with | ||||
|        ledger(1).  hledger-ui is hledger's curses-style interface.  It reads a | ||||
|        hledger journal file | ||||
| 
 | ||||
|        (~/.hledger.journal,  $LEDGER_FILE,  or  -f  FILE;  see  hledger(1)  or | ||||
|        hledger_journal(5)) | ||||
| 
 | ||||
|        and provides a simple full-screen console interface for viewing account | ||||
|        balances and transactions. | ||||
| 
 | ||||
|        It  is  simpler  and more convenient for browsing than the command-line | ||||
|        interface, but lighter and faster than hledger-web. | ||||
| 
 | ||||
|        The journal file is ~/.hledger.journal, $LEDGER_FILE, or  another  file | ||||
|        specified  with  -f.   For  more  about  the  format, see hledger(1) or | ||||
|        hledger_journal(5). | ||||
| 
 | ||||
| OOPPTTIIOONNSS | ||||
|        Note: if invoking hledger-ui as a hledger subcommand, write  --  before | ||||
|        options as shown above. | ||||
| 
 | ||||
|        Any  QUERYARGS  are interpreted as a hledger search query which filters | ||||
|        the data. | ||||
| 
 | ||||
|        ----ffllaatt show full account names, unindented | ||||
| 
 | ||||
|        ----nnoo--eelliiddee | ||||
|               don't compress empty parent accounts on one line | ||||
| 
 | ||||
|        ----rreeggiisstteerr==AACCCCTTRREEGGEEXX | ||||
|               start in the (first) matched account's register screen | ||||
| 
 | ||||
|        ----tthheemmee==ddeeffaauulltt||tteerrmmiinnaall||ggrreeeenntteerrmm | ||||
|               use this custom display theme | ||||
| 
 | ||||
|        --VV ----vvaalluuee | ||||
|               show amounts as their current market value in their default val- | ||||
|               uation commodity (accounts screen only) | ||||
| 
 | ||||
|        --hh ----hheellpp | ||||
|               show help | ||||
| 
 | ||||
|        ----vveerrssiioonn | ||||
|               show version information | ||||
| 
 | ||||
|    hhlleeddggeerr ooppttiioonnss | ||||
|        The following common hledger options should also work: | ||||
| 
 | ||||
|        --ff FFIILLEE ----ffiillee==FFIILLEE | ||||
|               use a different input file.  For stdin, use - | ||||
| 
 | ||||
|        ----rruulleess--ffiillee==RRUULLEESSFFIILLEE | ||||
|               Conversion   rules  file  to  use  when  reading  CSV  (default: | ||||
|               FILE.rules) | ||||
| 
 | ||||
|        ----aalliiaass==OOLLDD==NNEEWW | ||||
|               display accounts named OLD as NEW | ||||
| 
 | ||||
|        ----iiggnnoorree--aasssseerrttiioonnss | ||||
|               ignore any failing balance assertions in the journal | ||||
| 
 | ||||
|        ----ddeebbuugg==NN | ||||
|               show debug output if N is 1-9 (default: 0) | ||||
| 
 | ||||
|        --bb ----bbeeggiinn==DDAATTEE | ||||
|               include postings/txns on or after this date | ||||
| 
 | ||||
|        --ee ----eenndd==DDAATTEE | ||||
|               include postings/txns before this date | ||||
| 
 | ||||
|        --pp ----ppeerriioodd==PPEERRIIOODDEEXXPP | ||||
|               set start date, end date, and/or reporting interval all at  once | ||||
|               (overrides the flags above) | ||||
| 
 | ||||
|        ----ddaattee22 ----aauuxx--ddaattee | ||||
|               use postings/txns' secondary dates instead | ||||
| 
 | ||||
|        --CC ----cclleeaarreedd | ||||
|               include only cleared postings/txns | ||||
| 
 | ||||
|        ----ppeennddiinngg | ||||
|               include only pending postings/txns | ||||
| 
 | ||||
|        --UU ----uunncclleeaarreedd | ||||
|               include only uncleared (and pending) postings/txns | ||||
| 
 | ||||
|        --RR ----rreeaall | ||||
|               include only non-virtual postings | ||||
| 
 | ||||
|        ----ddeepptthh==NN | ||||
|               hide accounts/postings deeper than N | ||||
| 
 | ||||
|        --EE ----eemmppttyy | ||||
|               show empty/zero things which are normally omitted | ||||
| 
 | ||||
|        --BB ----ccoosstt | ||||
|               show amounts in their cost price's commodity | ||||
| 
 | ||||
| KKEEYYSS | ||||
|        Generally  the cursor keys navigate; right (or enter) goes deeper, left | ||||
|        returns to the previous screen, up/down/page up/page down/home/end move | ||||
|        up and down through lists. | ||||
| 
 | ||||
|        g  gets  the  latest  data  and  reloads  the  screen (and any previous | ||||
|        screens).  There may be a noticeable pause. | ||||
| 
 | ||||
|        q quits the application. | ||||
| 
 | ||||
|        Some screens have additional key bindings, described below. | ||||
| 
 | ||||
| SSCCRREEEENNSS | ||||
|    AAccccoouunnttss ssccrreeeenn | ||||
|        This is normally the first screen displayed.   It  lists  accounts  and | ||||
|        their  balances,  like hledger's balance command.  By default, it shows | ||||
|        all accounts and their latest ending balances.  if you specify a  query | ||||
|        on  the  command  line, it shows just the matched accounts and the bal- | ||||
|        ances from matched transactions. | ||||
| 
 | ||||
|        When not in flat mode, indentation indicates the account hierarchy.   F | ||||
|        toggles flat mode on and off. | ||||
| 
 | ||||
|        By  default,  all subaccounts are displayed.  To see less detail, set a | ||||
|        depth limit by pressing a number key, 1 to 9.   Or,  adjust  the  depth | ||||
|        limit by pressing - or + (= also works).  0 removes the depth limit. | ||||
| 
 | ||||
|        C toggles cleared mode.  In cleared mode, the accounts and balances are | ||||
|        derived only from transactions which are marked cleared (*). | ||||
| 
 | ||||
|        Press right or enter to view an account's transactions register. | ||||
| 
 | ||||
|    RReeggiisstteerr ssccrreeeenn | ||||
|        This screen lists all transactions affecting a particular account (like | ||||
|        a  check  register).   In cleared mode (press C) it lists only transac- | ||||
|        tions which are marked cleared.  It does not otherwise filter by query. | ||||
| 
 | ||||
|        Note  this  screen  shows  transactions, not postings (unlike hledger's | ||||
|        register command).  This means: | ||||
| 
 | ||||
|        +o Each line represents a whole transaction. | ||||
| 
 | ||||
|        +o For each transaction, it shows  the  other  account(s)  involved,  in | ||||
|          abbreviated  form.   (If there are both real and virtual postings, it | ||||
|          shows only the accounts affected by real postings.) | ||||
| 
 | ||||
|        +o It shows the overall change to the  current  account's  balance  from | ||||
|          each  transaction;  positive  for an inflow to this account, negative | ||||
|          for an outflow. | ||||
| 
 | ||||
|        +o When no query other than a date limit is in effect, it shows the cur- | ||||
|          rent  account's  historic balance as of the transaction date.  Other- | ||||
|          wise it shows a running total starting from  zero.   Eg,  these  will | ||||
|          show historic balances: | ||||
| 
 | ||||
|                 $ hledger-ui | ||||
|                 $ hledger-ui --begin 'this month' | ||||
|                 $ hledger-ui --register checking date:2015/10 | ||||
| 
 | ||||
|          while these will show a running total, since the queries are not just | ||||
|          date limits: | ||||
| 
 | ||||
|                 $ hledger-ui checking | ||||
|                 $ hledger-ui --begin 'this month' desc:market | ||||
|                 $ hledger-ui --register checking --cleared | ||||
| 
 | ||||
|        Press right or enter to view the selected transaction in full detail. | ||||
| 
 | ||||
|    TTrraannssaaccttiioonn ssccrreeeenn | ||||
|        This screen shows a single transaction, as  a  general  journal  entry, | ||||
|        similar  to  hledger's  print command and journal format (hledger_jour- | ||||
|        nal(5)). | ||||
| 
 | ||||
|        The transaction's date(s)  and  any  cleared  flag,  transaction  code, | ||||
|        description,  comments,  along  with  all  of  its account postings are | ||||
|        shown.  Simple transactions have two postings, but there  can  be  more | ||||
|        (or in certain cases, fewer). | ||||
| 
 | ||||
|        up  and  down will step through all transactions listed in the previous | ||||
|        account register screen.  In the title bar, the numbers in  parentheses | ||||
|        show  your  position  within  that  account  register.   They will vary | ||||
|        depending on which account register you came from (remember most trans- | ||||
|        actions appear in multiple account registers).  The #N number preceding | ||||
|        them is the transaction's position within the complete unfiltered jour- | ||||
|        nal, which is a more stable id (at least until the next reload). | ||||
| 
 | ||||
|    EErrrroorr ssccrreeeenn | ||||
|        This  screen  will appear if there is a problem, such as a parse error, | ||||
|        when you press g to reload.  Once you have fixed the problem described, | ||||
|        press g again to reload and restore normal operation. | ||||
| 
 | ||||
| EENNVVIIRROONNMMEENNTT | ||||
|        LLEEDDGGEERR__FFIILLEE  sets  the  default  journal  file path.  If not set, it is | ||||
|        ~/.hledger.journal. | ||||
| 
 | ||||
|        CCOOLLUUMMNNSS sets the screen  width  to  use  (normally  the  full  terminal | ||||
|        width). | ||||
| 
 | ||||
| FFIILLEESS | ||||
|        Reads   data   from   a   hledger   journal   file   ($LEDGER_FILE   or | ||||
|        ~/.hledger.journal by default), or a CSV file plus associated CSV rules | ||||
|        file. | ||||
| 
 | ||||
| BBUUGGSS | ||||
|        The  need  to precede options with -- when invoked from hledger is awk- | ||||
|        ward. | ||||
| 
 | ||||
|        -f- doesn't work (hledger-ui can't read from stdin). | ||||
| 
 | ||||
|        -V affects only the accounts screen. | ||||
| 
 | ||||
|        When you press g, the current and all previous screens are regenerated, | ||||
|        which may cause a noticeable pause.  Also there is no visual indication | ||||
|        that this is in progress. | ||||
| 
 | ||||
|        The register screen's switching between historic  balance  and  running | ||||
|        total based on query arguments may be confusing, and there is no column | ||||
|        heading to indicate which is being displayed. | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| RREEPPOORRTTIINNGG BBUUGGSS | ||||
|        Report bugs at http://bugs.hledger.org (or on the #hledger IRC  channel | ||||
|        or hledger mail list) | ||||
| 
 | ||||
| 
 | ||||
| AAUUTTHHOORRSS | ||||
|        Simon Michael <simon@joyful.com> and contributors | ||||
| 
 | ||||
| 
 | ||||
| CCOOPPYYRRIIGGHHTT | ||||
|        Copyright (C) 2007-2016 Simon Michael. | ||||
|        Released under GNU GPL v3 or later. | ||||
| 
 | ||||
| 
 | ||||
| SSEEEE AALLSSOO | ||||
|        hledger(1),      hledger-ui(1),     hledger-web(1),     hledger-api(1), | ||||
|        hledger_csv(5), hledger_journal(5), hledger_timeclock(5), hledger_time- | ||||
|        dot(5), ledger(1) | ||||
| 
 | ||||
|        http://hledger.org | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|                                  October 2015                    hledger-ui(1) | ||||
							
								
								
									
										204
									
								
								hledger-web/doc/hledger-web.1.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										204
									
								
								hledger-web/doc/hledger-web.1.txt
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,204 @@ | ||||
| 
 | ||||
| hledger-web(1)               hledger User Manuals               hledger-web(1) | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| NNAAMMEE | ||||
|        hledger-web - web interface for the hledger accounting tool | ||||
| 
 | ||||
| SSYYNNOOPPSSIISS | ||||
|        hledger-web [OPTIONS] | ||||
|        hledger web -- [OPTIONS] | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| DDEESSCCRRIIPPTTIIOONN | ||||
|        hledger  is  a  cross-platform program for tracking money, time, or any | ||||
|        other commodity, using double-entry accounting and a  simple,  editable | ||||
|        file  format.   hledger  is  inspired  by  and  largely compatible with | ||||
|        ledger(1). | ||||
| 
 | ||||
|        hledger-web is hledger's web interface.  It starts a simple web  appli- | ||||
|        cation for browsing and adding transactions, and optionally opens it in | ||||
|        a web browser window if possible.  It provides a more user-friendly  UI | ||||
|        than  the  hledger  CLI  or  hledger-ui interface, showing more at once | ||||
|        (accounts, the current account register, balance charts)  and  allowing | ||||
|        history-aware data entry, interactive searching, and bookmarking. | ||||
| 
 | ||||
|        hledger-web  also  lets you share a ledger with multiple users, or even | ||||
|        the public web.  There is no access control, so if you  need  that  you | ||||
|        should  put  it  behind  a  suitable  web proxy.  As a small protection | ||||
|        against data loss when running an unprotected  instance,  it  writes  a | ||||
|        numbered backup of the main journal file (only ?)  on every edit. | ||||
| 
 | ||||
|        The  journal  file is ~/.hledger.journal, $LEDGER_FILE, or another file | ||||
|        specified with -f.  For  more  about  the  format,  see  hledger(1)  or | ||||
|        hledger_journal(5). | ||||
| 
 | ||||
|        By default, hledger-web starts the web app in "transient mode" and 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 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  --server,  it  starts  the web app in non-transient mode and logs | ||||
|        requests to the console.  Typically when running hledger web as part of | ||||
|        a  website  you'll  want  to  use  --base-url to set the protocol/host- | ||||
|        name/port/path to be used in hyperlinks.  The --file-url option  allows | ||||
|        static  files  to be served from a different url, eg for better caching | ||||
|        or cookie-less serving. | ||||
| 
 | ||||
|        You can use --port to listen on a different TCP port,  eg  if  you  are | ||||
|        running  multiple  hledger-web instances.  This need not be the same as | ||||
|        the PORT in the base url. | ||||
| 
 | ||||
|        Note there is no built-in access control, so  you  will  need  to  hide | ||||
|        hledger-web behind an authenticating proxy (such as apache or nginx) if | ||||
|        you want to restrict who can see and add entries to your journal. | ||||
| 
 | ||||
|        With journal and timeclock files (but not CSV files, currently) the web | ||||
|        app detects changes and will show the new data on the next request.  If | ||||
|        a change makes the file unparseable, hledger-web  will  show  an  error | ||||
|        until the file has been fixed. | ||||
| 
 | ||||
| OOPPTTIIOONNSS | ||||
|        Note:  if invoking hledger-web as a hledger subcommand, write -- before | ||||
|        options as shown above. | ||||
| 
 | ||||
|        ----sseerrvveerr | ||||
|               disable  browser-opening  and  auto-exit-on-idle,  and  log  all | ||||
|               requests to stdout | ||||
| 
 | ||||
|        ----ppoorrtt==PPOORRTT | ||||
|               set the TCP port to listen on (default: 5000) | ||||
| 
 | ||||
|        ----bbaassee--uurrll==UURRLL | ||||
|               set  the  base  url (default: http://localhost:PORT).  You would | ||||
|               change this when sharing over the network, or integrating within | ||||
|               a larger website. | ||||
| 
 | ||||
|        ----ffiillee--uurrll==UURRLL | ||||
|               set the static files url (default: BASEURL/static).  hledger-web | ||||
|               normally serves static files itself, but if you wanted to  serve | ||||
|               them  from  another server for efficiency, you would set the url | ||||
|               with this. | ||||
| 
 | ||||
|        --hh ----hheellpp | ||||
|               show help | ||||
| 
 | ||||
|        ----vveerrssiioonn | ||||
|               show version information | ||||
| 
 | ||||
|    hhlleeddggeerr ooppttiioonnss | ||||
|        The following common hledger options should also work: | ||||
| 
 | ||||
|        --ff FFIILLEE ----ffiillee==FFIILLEE | ||||
|               use a different input file.  For stdin, use - | ||||
| 
 | ||||
|        ----rruulleess--ffiillee==RRUULLEESSFFIILLEE | ||||
|               Conversion  rules  file  to  use  when  reading  CSV   (default: | ||||
|               FILE.rules) | ||||
| 
 | ||||
|        ----aalliiaass==OOLLDD==NNEEWW | ||||
|               display accounts named OLD as NEW | ||||
| 
 | ||||
|        ----iiggnnoorree--aasssseerrttiioonnss | ||||
|               ignore any failing balance assertions in the journal | ||||
| 
 | ||||
|        ----ddeebbuugg==NN | ||||
|               show debug output if N is 1-9 (default: 0) | ||||
| 
 | ||||
|        --bb ----bbeeggiinn==DDAATTEE | ||||
|               include postings/txns on or after this date | ||||
| 
 | ||||
|        --ee ----eenndd==DDAATTEE | ||||
|               include postings/txns before this date | ||||
| 
 | ||||
|        --pp ----ppeerriioodd==PPEERRIIOODDEEXXPP | ||||
|               set  start date, end date, and/or reporting interval all at once | ||||
|               (overrides the flags above) | ||||
| 
 | ||||
|        ----ddaattee22 ----aauuxx--ddaattee | ||||
|               use postings/txns' secondary dates instead | ||||
| 
 | ||||
|        --CC ----cclleeaarreedd | ||||
|               include only cleared postings/txns | ||||
| 
 | ||||
|        ----ppeennddiinngg | ||||
|               include only pending postings/txns | ||||
| 
 | ||||
|        --UU ----uunncclleeaarreedd | ||||
|               include only uncleared (and pending) postings/txns | ||||
| 
 | ||||
|        --RR ----rreeaall | ||||
|               include only non-virtual postings | ||||
| 
 | ||||
|        ----ddeepptthh==NN | ||||
|               hide accounts/postings deeper than N | ||||
| 
 | ||||
|        --EE ----eemmppttyy | ||||
|               show empty/zero things which are normally omitted | ||||
| 
 | ||||
|        --BB ----ccoosstt | ||||
|               show amounts in their cost price's commodity | ||||
| 
 | ||||
| EENNVVIIRROONNMMEENNTT | ||||
|        LLEEDDGGEERR__FFIILLEE sets the default journal file path.   If  not  set,  it  is | ||||
|        ~/.hledger.journal. | ||||
| 
 | ||||
| FFIILLEESS | ||||
|        Reads   data   from   a   hledger   journal   file   ($LEDGER_FILE   or | ||||
|        ~/.hledger.journal by default), or a CSV file plus associated CSV rules | ||||
|        file. | ||||
| 
 | ||||
| BBUUGGSS | ||||
|        The  need  to precede options with -- when invoked from hledger is awk- | ||||
|        ward. | ||||
| 
 | ||||
|        -f- doesn't work (hledger-web can't read from stdin). | ||||
| 
 | ||||
|        Query arguments and some applicable  hledger  options  probably  aren't | ||||
|        supported. | ||||
| 
 | ||||
|        Does not work in text-mode browsers. | ||||
| 
 | ||||
|        Does not work well on small screens. | ||||
| 
 | ||||
|        The auto-exit feature was added to avoid leaving stray processes, eg on | ||||
|        Windows.  It is not well tested. | ||||
| 
 | ||||
|        If you start two instances on the same port, the second one will appear | ||||
|        to  run  normally,  but  you will be seeing pages served from the first | ||||
|        one. | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| RREEPPOORRTTIINNGG BBUUGGSS | ||||
|        Report bugs at http://bugs.hledger.org (or on the #hledger IRC  channel | ||||
|        or hledger mail list) | ||||
| 
 | ||||
| 
 | ||||
| AAUUTTHHOORRSS | ||||
|        Simon Michael <simon@joyful.com> and contributors | ||||
| 
 | ||||
| 
 | ||||
| CCOOPPYYRRIIGGHHTT | ||||
|        Copyright (C) 2007-2016 Simon Michael. | ||||
|        Released under GNU GPL v3 or later. | ||||
| 
 | ||||
| 
 | ||||
| SSEEEE AALLSSOO | ||||
|        hledger(1),      hledger-ui(1),     hledger-web(1),     hledger-api(1), | ||||
|        hledger_csv(5), hledger_journal(5), hledger_timeclock(5), hledger_time- | ||||
|        dot(5), ledger(1) | ||||
| 
 | ||||
|        http://hledger.org | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|                                  October 2015                   hledger-web(1) | ||||
							
								
								
									
										1628
									
								
								hledger/doc/hledger.1.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1628
									
								
								hledger/doc/hledger.1.txt
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
		Loading…
	
		Reference in New Issue
	
	Block a user