;site: Merge the new sphinx-based website.
See related commit in the site repo. [ci skip]
This commit is contained in:
		
						commit
						f57c6777cd
					
				
							
								
								
									
										1
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							| @ -82,3 +82,4 @@ hledger-web/yesod-devel/ | ||||
| *.spk | ||||
| 
 | ||||
| # recent stuff | ||||
| site | ||||
|  | ||||
| @ -1,6 +1,3 @@ | ||||
| <!-- consolidating dev docs from wiki, https://github.com/simonmichael/hledger/issues/920 WIP --> | ||||
| $TOC$ | ||||
| 
 | ||||
| <style> | ||||
| /* table styles */ | ||||
| tr.even { background-color:#eee;} | ||||
| @ -9,8 +6,6 @@ th, td  {white-space:nowrap;} | ||||
| 
 | ||||
| # Contributor Guide | ||||
| 
 | ||||
| <br clear=all> | ||||
| 
 | ||||
| ## Quick Links | ||||
| 
 | ||||
| | | | | ||||
| @ -202,7 +197,7 @@ express gratitude, | ||||
| build prosperity consciousness, | ||||
| and help transform world finance! | ||||
| 
 | ||||
| - Use the donate links on the [home page](/) | ||||
| - Use the donate links on the [home page](https://hledger.org) | ||||
| - Configure a recurring donation | ||||
| - Contribute or pledge bounties on issues you care about | ||||
| - Ask your organization to contribute | ||||
| @ -699,7 +694,7 @@ About testing in the hledger project, as of 201809. | ||||
| 
 | ||||
|     Here\'s the pattern (let us know if you see a better way): | ||||
| 
 | ||||
|     ``` {.haskell} | ||||
|     ``` haskell | ||||
|     module Foo ( | ||||
|       ... | ||||
|       tests_Foo -- export this module's and submodules' tests | ||||
| @ -841,19 +836,19 @@ tests, at least. It would be useful to set this up for hledger. | ||||
| 
 | ||||
| Run unit tests: | ||||
| 
 | ||||
| ``` {.example} | ||||
| ``` example | ||||
| $ make unittest | ||||
| ``` | ||||
| 
 | ||||
| Run doctests: | ||||
| 
 | ||||
| ``` {.example} | ||||
| ``` example | ||||
| $ make doctest | ||||
| ``` | ||||
| 
 | ||||
| Run functional tests (and unit tests, now): | ||||
| 
 | ||||
| ``` {.example} | ||||
| ``` example | ||||
| $ stack install shelltestrunner | ||||
| $ make functest | ||||
| ``` | ||||
| @ -861,37 +856,37 @@ $ make functest | ||||
| Run the package tests (unit tests, maybe doctests, but not functional | ||||
| tests) of all or selected packages. | ||||
| 
 | ||||
| ``` {.example} | ||||
| ``` example | ||||
| $ stack test [PKG] | ||||
| ``` | ||||
| 
 | ||||
| Run \"default tests: package plus functional tests\": | ||||
| 
 | ||||
| ``` {.example} | ||||
| ``` example | ||||
| $ make test | ||||
| ``` | ||||
| 
 | ||||
| Test generation of haddock docs: | ||||
| 
 | ||||
| ``` {.example} | ||||
| ``` example | ||||
| $ make haddocktest | ||||
| ``` | ||||
| 
 | ||||
| Thorough test for build issues with current GHC: | ||||
| 
 | ||||
| ``` {.example} | ||||
| ``` example | ||||
| $ make buildtest | ||||
| ``` | ||||
| 
 | ||||
| Thorough test for build issues with all supported GHC versions: | ||||
| 
 | ||||
| ``` {.example} | ||||
| ``` example | ||||
| $ make buildtestall | ||||
| ``` | ||||
| 
 | ||||
| Run built-in hledger/hledger-lib unit tests via hledger command: | ||||
| 
 | ||||
| ``` {.example} | ||||
| ``` example | ||||
| $ hledger test  # test installed hledger | ||||
| $ stack build hledger && stack exec -- hledger test  # test just-built hledger | ||||
| $ hledger test --help | ||||
| @ -908,19 +903,19 @@ test [TESTPATTERN] [SEED] | ||||
| 
 | ||||
| Rebuild and rerun hledger/hledger-lib unit tests via ghcid: | ||||
| 
 | ||||
| ``` {.example} | ||||
| ``` example | ||||
| $ make ghcid-test | ||||
| ``` | ||||
| 
 | ||||
| Rebuild and rerun only some tests via ghcid (see hledger test --help): | ||||
| 
 | ||||
| ``` {.example} | ||||
| ``` example | ||||
| $ make ghcid-test-TESTPATTERN | ||||
| ``` | ||||
| 
 | ||||
| See all test-related make rules: | ||||
| 
 | ||||
| ``` {.example} | ||||
| ``` example | ||||
| $ make help-test | ||||
| ``` | ||||
| 
 | ||||
| @ -1516,7 +1511,7 @@ If you're new to this process, [help.github.com](http://help.github.com) may be | ||||
| 
 | ||||
| ### Add yourself to the contributor list | ||||
| 
 | ||||
| - after getting something into the master branch, read and sign the [contributor list & agreement](contributors.html). Or, [ask](/docs.html#helpfeedback) to be added. | ||||
| - after getting something into the master branch, read and sign the [contributor list & agreement](https://hledger.org/contributors.html). Or, [ask](/index.html#help-feedback) to be added. | ||||
| - give yourself a high five! | ||||
| 
 | ||||
| ### Work on docs | ||||
|  | ||||
							
								
								
									
										4
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										4
									
								
								Makefile
									
									
									
									
									
								
							| @ -776,8 +776,10 @@ site: \ | ||||
| 		&& echo 'Please run "make Shake" first (manual compilation of Shake.hs is required)' \
 | ||||
| 		|| ( \
 | ||||
| 			echo; \
 | ||||
| 			./Shake hledgerorg -VV \
 | ||||
| 			./Shake hledgerorg -VV; \
 | ||||
| 			make -C site html; \
 | ||||
| 		) 2>&1 | tee -a site.log | ||||
| #     ^ running both shake and sphinx for now
 | ||||
| 
 | ||||
| ###############################################################################
 | ||||
| $(call def-help-subheading,RELEASING:) | ||||
|  | ||||
							
								
								
									
										41
									
								
								Shake.hs
									
									
									
									
									
								
							
							
						
						
									
										41
									
								
								Shake.hs
									
									
									
									
									
								
							| @ -113,7 +113,11 @@ sed      = "sed -E" | ||||
| fromsrcmd = "-f markdown-smart-tex_math_dollars" | ||||
| 
 | ||||
| -- The kind of markdown we like to generate for the website. | ||||
| towebmd = "-t markdown-smart-fenced_divs --atx-headers" | ||||
| -- This will be consumed by sphinx extensions: | ||||
| --  recommonmark (Commonmark syntax, https://spec.commonmark.org) | ||||
| --  sphinx-markdown-tables (PHP Markdown Extra table syntax, https://michelf.ca/projects/php-markdown/extra/#table) | ||||
| -- XXX trying to force the use of pipe_tables here, but sometimes it uses html instead | ||||
| towebmd = "-t markdown-smart-fenced_divs-fenced_code_attributes-simple_tables-multiline_tables-grid_tables --atx-headers" | ||||
| 
 | ||||
| 
 | ||||
| main = do | ||||
| @ -208,7 +212,7 @@ main = do | ||||
|       mdmanuals = ["site" </> manpageNameToUri m <.> "md" | m <- manpageNames] | ||||
| 
 | ||||
|       -- latest version of the manuals rendered to html | ||||
|       htmlmanuals = ["site/_site" </> manpageNameToUri m <.> "html" | m <- manpageNames++["manual"]] | ||||
|       htmlmanuals = ["site/_site" </> manpageNameToUri m <.> "html" | m <- manpageNames] | ||||
| 
 | ||||
|       -- old versions of the manuals rendered to html | ||||
|       oldhtmlmanuals = map (normalise . ("site/_site/doc" </>) . (<.> "html")) $ | ||||
| @ -220,9 +224,6 @@ main = do | ||||
| 
 | ||||
|       -- TODO: make website URIs lower-case ? | ||||
| 
 | ||||
|       -- manuals rendered to markdown and combined, ready for web rendering | ||||
|       mdcombinedmanual = "site/manual.md" | ||||
| 
 | ||||
|       -- extensions of static web asset files, to be copied to the website | ||||
|       webassetexts = ["png", "gif", "cur", "js", "css", "eot", "ttf", "woff", "svg"] | ||||
| 
 | ||||
| @ -334,19 +335,6 @@ main = do | ||||
|         "--lua-filter tools/pandoc-demote-headers.lua" | ||||
|         ">>" out | ||||
| 
 | ||||
|     -- Generate the combined web manual's markdown source, by | ||||
|     -- concatenating tweaked versions of the individual manuals. | ||||
|     phony "mdcombinedmanual" $ need [ mdcombinedmanual ] | ||||
|     mdcombinedmanual %> \out -> do | ||||
|       need mdmanuals | ||||
|       liftIO $ writeFile mdcombinedmanual $ addToc "" | ||||
|       forM_ mdmanuals $ \f -> do -- site/hledger.md, site/journal.md | ||||
|         cmd_ Shell ("printf '\\n\\n' >>") mdcombinedmanual | ||||
|         cmd_ Shell pandoc f towebmd | ||||
|           "--lua-filter tools/pandoc-drop-toc.lua" | ||||
|           "--lua-filter tools/pandoc-demote-headers.lua" | ||||
|           ">>" mdcombinedmanual | ||||
| 
 | ||||
|     -- Copy some extra markdown files from the main repo into the site | ||||
|     -- TODO adding table of contents placeholders | ||||
|     [ | ||||
| @ -392,7 +380,6 @@ main = do | ||||
| 
 | ||||
|     -- Render one website page as html, saved in sites/_site/. | ||||
|     -- Github-style wiki links will be hyperlinked. | ||||
|     -- The download page will have a TOC placeholder prepended. | ||||
|     "site/_site//*.html" %> \out -> do | ||||
|         let filename = takeBaseName out | ||||
|             pagename = fileNameToPageName filename | ||||
| @ -403,16 +390,13 @@ main = do | ||||
|               | otherwise   = "site" </> filename <.> "md" | ||||
|             template = "site/site.tmpl" | ||||
|             siteRoot = if "site/_site/doc//*" ?== out then "../.." else "." | ||||
|             maybeAddToc | isdownloadpage = addToc | ||||
|                         | otherwise      = id | ||||
|         need [source, template] | ||||
|         -- read markdown source, link any wikilinks, maybe add a heading and TOC, pipe it to pandoc, write html out | ||||
|         Stdin . wikiLink . maybeAddToc <$> (readFile' source) >>= | ||||
|         -- read markdown source, link any wikilinks, pipe it to pandoc, write html out | ||||
|         Stdin . wikiLink <$> (readFile' source) >>= | ||||
|           (cmd Shell pandoc "-" fromsrcmd "-t html" | ||||
|                            "--template" template | ||||
|                            ("--metadata=siteRoot:" ++ siteRoot) | ||||
|                            ("--metadata=\"title:" ++ pagename ++ "\"") | ||||
|                            "--lua-filter=tools/pandoc-toc.lua" | ||||
|                            "-o" out ) | ||||
| 
 | ||||
|     -- This rule, for updating the live hledger.org site, gets called by: | ||||
| @ -662,12 +646,11 @@ main = do | ||||
|     -- them as the specified versioned snapshot in site/doc/VER/ . | ||||
|     -- .snapshot is a dummy file. | ||||
|     "site/doc/*/.snapshot" %> \out -> do | ||||
|       need $ mdcombinedmanual : mdmanuals | ||||
|       need mdmanuals | ||||
|       let snapshot = takeDirectory out | ||||
|       cmd_ Shell "mkdir -p" snapshot | ||||
|       forM_ mdmanuals $ \f -> -- site/hledger.md, site/journal.md | ||||
|         cmd_ Shell "cp" f (snapshot </> takeFileName f) | ||||
|       cmd_ Shell "cp" "site/manual.md" snapshot | ||||
|       cmd_ Shell "cp -r site/images" snapshot | ||||
|       cmd_ Shell "touch" out | ||||
| 
 | ||||
| @ -678,7 +661,6 @@ main = do | ||||
|       -- removeFilesAfter "." commandtxts | ||||
|       putNormal "Cleaning generated manuals, staged site content" | ||||
|       removeFilesAfter "." mdmanuals | ||||
|       removeFilesAfter "." [mdcombinedmanual] | ||||
|       removeFilesAfter "." [ | ||||
|         -- "site/README.md", | ||||
|         -- "site/CONTRIBUTING.md" | ||||
| @ -727,11 +709,6 @@ type Markdown = String | ||||
| addHeading :: String -> Markdown -> Markdown | ||||
| addHeading h = (("# "++h++"\n\n")++) | ||||
| 
 | ||||
| -- | Prepend a table of contents placeholder. | ||||
| addToc :: Markdown -> Markdown | ||||
| addToc = ((tocMarker++"\n\n")++) | ||||
|   where tocMarker = "$TOC$" | ||||
| 
 | ||||
| -- | Convert Github-style wikilinks to hledger website links. | ||||
| wikiLink :: Markdown -> Markdown | ||||
| wikiLink = | ||||
|  | ||||
| @ -28,13 +28,9 @@ This doc is for version **_version_** | ||||
| m4_dnl comment (dev) for releases, uncomment between releases: | ||||
| m4_dnl (dev) | ||||
| . | ||||
| <span class="docversions">m4_dnl | ||||
| </span>)m4_dnl | ||||
| m4_dnl | ||||
| m4_dnl Insert a table of contents marker, which doc build scripts will populate. | ||||
| m4_define({{_toc_}},{{ | ||||
| \$TOC\$ | ||||
| }})m4_dnl | ||||
| m4_dnl <span class="docversions">m4_dnl | ||||
| m4_dnl </span> | ||||
| )m4_dnl | ||||
| m4_dnl | ||||
| m4_dnl Helpers for generating table markup. | ||||
| m4_dnl _table_({{ | ||||
|  | ||||
| @ -4,7 +4,6 @@ | ||||
| 
 | ||||
| _web_({{ | ||||
| _docversionlinks_({{hledger-api}}) | ||||
| _toc_ | ||||
| }}) | ||||
| 
 | ||||
| _man_({{ | ||||
|  | ||||
| @ -4,7 +4,6 @@ | ||||
| 
 | ||||
| _web_({{ | ||||
| _docversionlinks_({{csv}}) | ||||
| _toc_ | ||||
| }}) | ||||
| _man_({{ | ||||
| 
 | ||||
| @ -107,22 +106,22 @@ you'll need to specify the format. | ||||
| DATEFMT is a [strptime-like date parsing pattern](http://hackage.haskell.org/packages/archive/time/latest/doc/html/Data-Time-Format.html#v:formatTime), | ||||
| which must parse the date field values completely. Examples: | ||||
| 
 | ||||
| ``` {.rules .display-table} | ||||
| ``` rules | ||||
| # for dates like "11/06/2013": | ||||
| date-format %m/%d/%Y | ||||
| ``` | ||||
| 
 | ||||
| ``` {.rules .display-table} | ||||
| ``` rules | ||||
| # for dates like "6/11/2013" (note the - to make leading zeros optional): | ||||
| date-format %-d/%-m/%Y | ||||
| ``` | ||||
| 
 | ||||
| ``` {.rules .display-table} | ||||
| ``` rules | ||||
| # for dates like "2013-Nov-06": | ||||
| date-format %Y-%h-%d | ||||
| ``` | ||||
| 
 | ||||
| ``` {.rules .display-table} | ||||
| ``` rules | ||||
| # for dates like "11/6/2013 11:32 PM": | ||||
| date-format %-m/%-d/%Y %l:%M %p | ||||
| ``` | ||||
| @ -153,11 +152,11 @@ This sets a journal entry field (one of the standard names above) to the given t | ||||
| which can include CSV field values interpolated by name (`%CSVFIELDNAME`) or 1-based position (`%N`). | ||||
| <!-- Whitespace before or after the value is ignored. --> | ||||
| Eg: | ||||
| ```{.rules .display-table} | ||||
| ```rules | ||||
| # set the amount to the 4th CSV field with "USD " prepended | ||||
| amount USD %4 | ||||
| ``` | ||||
| ```{.rules .display-table} | ||||
| ```rules | ||||
| # combine three fields to make a comment (containing two tags) | ||||
| comment note: %somefield - %anotherfield, date: %1 | ||||
| ``` | ||||
| @ -184,12 +183,12 @@ specific field).  When there are multiple patterns they can be written | ||||
| on separate lines, unindented. | ||||
| The field assignments are on separate lines indented by at least one space. | ||||
| Examples: | ||||
| ```{.rules .display-table} | ||||
| ```rules | ||||
| # if the CSV record contains "groceries", set account2 to "expenses:groceries" | ||||
| if groceries | ||||
|  account2 expenses:groceries | ||||
| ``` | ||||
| ```{.rules .display-table} | ||||
| ```rules | ||||
| # if the CSV record contains any of these patterns, set account2 and comment as shown | ||||
| if | ||||
| monthly service fee | ||||
|  | ||||
| @ -4,7 +4,6 @@ | ||||
| 
 | ||||
| _web_({{ | ||||
| _docversionlinks_({{journal}}) | ||||
| _toc_ | ||||
| }}) | ||||
| _man_({{ | ||||
| 
 | ||||
| @ -404,7 +403,7 @@ double equals sign (`== EXPECTEDBALANCE`). | ||||
| This asserts that there are no other unasserted commodities in the account  | ||||
| (or, that their balance is 0).  | ||||
| 
 | ||||
| ``` {.journal} | ||||
| ``` journal | ||||
| 2013/1/1 | ||||
|   a   $1 | ||||
|   a    1€ | ||||
| @ -424,7 +423,7 @@ This asserts that there are no other unasserted commodities in the account | ||||
| It's not yet possible to make a complete assertion about a balance that has multiple commodities. | ||||
| One workaround is to isolate each commodity into its own subaccount: | ||||
| 
 | ||||
| ``` {.journal} | ||||
| ``` journal | ||||
| 2013/1/1 | ||||
|   a:usd   $1 | ||||
|   a:euro   1€ | ||||
|  | ||||
| @ -4,7 +4,6 @@ | ||||
| 
 | ||||
| _web_({{ | ||||
| _docversionlinks_({{timeclock}}) | ||||
| _toc_ | ||||
| }}) | ||||
| _man_({{ | ||||
| 
 | ||||
| @ -38,7 +37,7 @@ 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: | ||||
| 
 | ||||
| ``` {.shell} | ||||
| ``` shell | ||||
| $ hledger -f t.timeclock print | ||||
| 2015/03/30 * optional description after two spaces | ||||
|     (some:account name)         0.33h | ||||
|  | ||||
| @ -4,7 +4,6 @@ | ||||
| 
 | ||||
| _web_({{ | ||||
| _docversionlinks_({{timedot}}) | ||||
| _toc_ | ||||
| }}) | ||||
| _man_({{ | ||||
| 
 | ||||
|  | ||||
| @ -4,7 +4,6 @@ | ||||
| 
 | ||||
| _web_({{ | ||||
| _docversionlinks_({{hledger-ui}}) | ||||
| _toc_ | ||||
| }}) | ||||
| 
 | ||||
| _man_({{ | ||||
| @ -28,15 +27,15 @@ _web_({{ | ||||
| .highslide-caption {color:white; background-color:black;} | ||||
| </style> | ||||
| <div style="float:right; max-width:200px; text-align:right;"> | ||||
| <a href="images/hledger-ui/hledger-ui-sample-acc2.png" class="highslide" onclick="return hs.expand(this)"><img src="images/hledger-ui/hledger-ui-sample-acc2.png" title="Accounts screen with query and depth limit" /></a> | ||||
| <a href="images/hledger-ui/hledger-ui-sample-acc.png" class="highslide" onclick="return hs.expand(this)"><img src="images/hledger-ui/hledger-ui-sample-acc.png" title="Accounts screen" /></a> | ||||
| <a href="images/hledger-ui/hledger-ui-sample-acc-greenterm.png" class="highslide" onclick="return hs.expand(this)"><img src="images/hledger-ui/hledger-ui-sample-acc-greenterm.png" title="Accounts screen with greenterm theme" /></a> | ||||
| <a href="images/hledger-ui/hledger-ui-sample-txn.png" class="highslide" onclick="return hs.expand(this)"><img src="images/hledger-ui/hledger-ui-sample-txn.png" title="Transaction screen" /></a> | ||||
| <a href="images/hledger-ui/hledger-ui-sample-reg.png" class="highslide" onclick="return hs.expand(this)"><img src="images/hledger-ui/hledger-ui-sample-reg.png" title="Register screen" /></a> | ||||
| <a href="_static/images/hledger-ui/hledger-ui-sample-acc2.png" class="highslide" onclick="return hs.expand(this)"><img src="_static/images/hledger-ui/hledger-ui-sample-acc2.png" title="Accounts screen with query and depth limit" /></a> | ||||
| <a href="_static/images/hledger-ui/hledger-ui-sample-acc.png" class="highslide" onclick="return hs.expand(this)"><img src="_static/images/hledger-ui/hledger-ui-sample-acc.png" title="Accounts screen" /></a> | ||||
| <a href="_static/images/hledger-ui/hledger-ui-sample-acc-greenterm.png" class="highslide" onclick="return hs.expand(this)"><img src="_static/images/hledger-ui/hledger-ui-sample-acc-greenterm.png" title="Accounts screen with greenterm theme" /></a> | ||||
| <a href="_static/images/hledger-ui/hledger-ui-sample-txn.png" class="highslide" onclick="return hs.expand(this)"><img src="_static/images/hledger-ui/hledger-ui-sample-txn.png" title="Transaction screen" /></a> | ||||
| <a href="_static/images/hledger-ui/hledger-ui-sample-reg.png" class="highslide" onclick="return hs.expand(this)"><img src="_static/images/hledger-ui/hledger-ui-sample-reg.png" title="Register screen" /></a> | ||||
| <!-- <br clear=all> --> | ||||
| <a href="images/hledger-ui/hledger-ui-bcexample-acc.png" class="highslide" onclick="return hs.expand(this)"><img src="images/hledger-ui/hledger-ui-bcexample-acc.png" title="beancount example accounts" /></a> | ||||
| <a href="images/hledger-ui/hledger-ui-bcexample-acc-etrade-cash.png" class="highslide" onclick="return hs.expand(this)"><img src="images/hledger-ui/hledger-ui-bcexample-acc-etrade-cash.png" title="beancount example's etrade cash subaccount" /></a> | ||||
| <a href="images/hledger-ui/hledger-ui-bcexample-acc-etrade.png" class="highslide" onclick="return hs.expand(this)"><img src="images/hledger-ui/hledger-ui-bcexample-acc-etrade.png" title="beancount example's etrade investments, all commoditiess" /></a> | ||||
| <a href="_static/images/hledger-ui/hledger-ui-bcexample-acc.png" class="highslide" onclick="return hs.expand(this)"><img src="_static/images/hledger-ui/hledger-ui-bcexample-acc.png" title="beancount example accounts" /></a> | ||||
| <a href="_static/images/hledger-ui/hledger-ui-bcexample-acc-etrade-cash.png" class="highslide" onclick="return hs.expand(this)"><img src="_static/images/hledger-ui/hledger-ui-bcexample-acc-etrade-cash.png" title="beancount example's etrade cash subaccount" /></a> | ||||
| <a href="_static/images/hledger-ui/hledger-ui-bcexample-acc-etrade.png" class="highslide" onclick="return hs.expand(this)"><img src="_static/images/hledger-ui/hledger-ui-bcexample-acc-etrade.png" title="beancount example's etrade investments, all commoditiess" /></a> | ||||
| </div> | ||||
| }}) | ||||
| 
 | ||||
|  | ||||
| @ -4,7 +4,6 @@ | ||||
| 
 | ||||
| _web_({{ | ||||
| _docversionlinks_({{hledger-web}}) | ||||
| _toc_ | ||||
| }}) | ||||
| 
 | ||||
| _man_({{ | ||||
| @ -28,10 +27,10 @@ _web_({{ | ||||
| .highslide-caption {color:white; background-color:black;} | ||||
| </style> | ||||
| <div style="float:right; max-width:200px; text-align:right;"> | ||||
| <a href="images/hledger-web/normal/register.png" class="highslide" onclick="return hs.expand(this)"><img src="images/hledger-web/normal/register.png" title="Account register view with accounts sidebar" /></a> | ||||
| <a href="images/hledger-web/normal/journal.png" class="highslide" onclick="return hs.expand(this)"><img src="images/hledger-web/normal/journal.png" title="Journal view" /></a> | ||||
| <a href="images/hledger-web/normal/help.png" class="highslide" onclick="return hs.expand(this)"><img src="images/hledger-web/normal/help.png" title="Help dialog" /></a> | ||||
| <a href="images/hledger-web/normal/add.png" class="highslide" onclick="return hs.expand(this)"><img src="images/hledger-web/normal/add.png" title="Add form" /></a> | ||||
| <a href="_static/images/hledger-web/normal/register.png" class="highslide" onclick="return hs.expand(this)"><img src="_static/images/hledger-web/normal/register.png" title="Account register view with accounts sidebar" /></a> | ||||
| <a href="_static/images/hledger-web/normal/journal.png" class="highslide" onclick="return hs.expand(this)"><img src="_static/images/hledger-web/normal/journal.png" title="Journal view" /></a> | ||||
| <a href="_static/images/hledger-web/normal/help.png" class="highslide" onclick="return hs.expand(this)"><img src="_static/images/hledger-web/normal/help.png" title="Help dialog" /></a> | ||||
| <a href="_static/images/hledger-web/normal/add.png" class="highslide" onclick="return hs.expand(this)"><img src="_static/images/hledger-web/normal/add.png" title="Add form" /></a> | ||||
| </div> | ||||
| }}) | ||||
| 
 | ||||
|  | ||||
| @ -15,7 +15,6 @@ m4_dnl  hledger_troubleshooting.m4.md | ||||
| 
 | ||||
| _web_({{ | ||||
| _docversionlinks_({{hledger}}) | ||||
| _toc_ | ||||
| }}) | ||||
| 
 | ||||
| _man_({{ | ||||
|  | ||||
| @ -37,7 +37,7 @@ which are often a [query](#queries), filtering the data in some way. | ||||
| You can save a set of command line options/arguments in a file, one per line, | ||||
| and then reuse them by writing `@FILENAME` in a command line. | ||||
| To prevent this expansion of `@`-arguments, precede them with a `--` argument. | ||||
| For more, see [Save frequently used options](Save-frequently-used-options.html). | ||||
| For more, see [Save frequently used options](save-frequently-used-options.html). | ||||
| 
 | ||||
| ## Special characters in arguments and queries | ||||
| 
 | ||||
| @ -168,12 +168,12 @@ but it can also be one of several other formats, listed below. | ||||
| hledger detects the format automatically based on the file extension, | ||||
| or if that is not recognised, by trying each built-in "reader" in turn: | ||||
| 
 | ||||
| | Reader:         | Reads:                                                | Used for file extensions:                           | ||||
| |-----------------|-------------------------------------------------------|------------------------------------------- | ||||
| | `journal`       | hledger's journal format, also some Ledger journals   | `.journal` `.j` `.hledger` `.ledger`    | ||||
| | `timeclock`     | timeclock files (precise time logging)                | `.timeclock`                               | ||||
| | `timedot`       | timedot files (approximate time logging)              | `.timedot`                                 | ||||
| | `csv`           | comma-separated values (data interchange)             | `.csv`                                     | ||||
| | Reader:     | Reads:                                              | Used for file extensions:                           | | ||||
| |-------------|-----------------------------------------------------|-----------------------------------------------------| | ||||
| | `journal`   | hledger's journal format, also some Ledger journals | `.journal` `.j` `.hledger` `.ledger`                | | ||||
| | `timeclock` | timeclock files (precise time logging)              | `.timeclock`                                        | | ||||
| | `timedot`   | timedot files (approximate time logging)            | `.timedot`                                          | | ||||
| | `csv`       | comma-separated values (data interchange)           | `.csv`                                              | | ||||
| 
 | ||||
| If needed (eg to ensure correct error messages when a file has the "wrong" extension),  | ||||
| you can force a specific reader/format by prepending it to the file path with a colon.  | ||||
|  | ||||
| @ -1,3 +1,4 @@ | ||||
| -- Remove a $TOC$ marker (cf pandoc-toc.lua) from the document. | ||||
| function Para(p) | ||||
|     if not  p.content[1]                  then return p end | ||||
|     if not (p.content[1].t    == "Str")   then return p end | ||||
|  | ||||
| @ -1,3 +1,5 @@ | ||||
| -- Replace a $TOC$ marker with a table of contents generated from the document's headings. | ||||
| 
 | ||||
| local headers = {} | ||||
| 
 | ||||
| function Header(h) | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user