site: begin organising a cookbook
This commit is contained in:
		
							parent
							
								
									f0ad41c49a
								
							
						
					
					
						commit
						e7d459a368
					
				
							
								
								
									
										45
									
								
								Shake.hs
									
									
									
									
									
								
							
							
						
						
									
										45
									
								
								Shake.hs
									
									
									
									
									
								
							| @ -60,6 +60,7 @@ usage = unlines | ||||
| --   ,"./Shake infomanpages     # generate info files for info" | ||||
| --   ,"./Shake webmanpages      # generate individual web man pages for hakyll" | ||||
| --   ,"./Shake webmanall        # generate all-in-one web manual for hakyll" | ||||
| --   ,"./Shake cookbookall      # generate all-in-one web cookbook for hakyll" | ||||
|   ,"./Shake site/doc/VER/.snapshot   # generate and save a versioned web site snapshot" | ||||
|   ,"./Shake all              # generate everything" | ||||
|   ,"./Shake clean            # clean generated files" | ||||
| @ -114,17 +115,33 @@ main = do | ||||
|         ] | ||||
|       -- manuals m4 source, may include other files (hledger/doc/hledger.1.m4.md) | ||||
|       m4manpages = [manpageDir m </> m <.> "m4.md" | m <- manpageNames] | ||||
|       --   manuals rendered to nroff, ready for man (hledger/doc/hledger.1) | ||||
| 
 | ||||
|       -- manuals rendered to nroff, ready for man (hledger/doc/hledger.1) | ||||
|       nroffmanpages = [manpageDir m </> m | m <- manpageNames] | ||||
|       --    manuals rendered to text, ready for embedding (hledger/doc/hledger.1.txt) | ||||
| 
 | ||||
|       -- manuals rendered to text, ready for embedding (hledger/doc/hledger.1.txt) | ||||
|       txtmanpages = [manpageDir m </> m <.> "txt" | m <- manpageNames] | ||||
|       --    manuals rendered to info, ready for info (hledger/doc/hledger.1.info) | ||||
| 
 | ||||
|       -- manuals rendered to info, ready for info (hledger/doc/hledger.1.info) | ||||
|       infomanpages = [manpageDir m </> m <.> "info" | m <- manpageNames] | ||||
|       --   manuals rendered to markdown, ready for web output by hakyll (site/hledger.md) | ||||
| 
 | ||||
|       -- manuals rendered to markdown, ready for web output by hakyll (site/hledger.md) | ||||
|       webmanpages = ["site" </> manpageNameToUri m <.>"md" | m <- manpageNames] | ||||
|       --    manuals rendered to markdown and combined, ready for web output by hakyll | ||||
| 
 | ||||
|       -- manuals rendered to markdown and combined, ready for web output by hakyll | ||||
|       webmanall = "site/manual.md" | ||||
| 
 | ||||
|       -- cookbook pages in markdown, ready for web output by hakyll (site/csv-import.md) | ||||
|       -- keeping these in the main site directory allows hakyll-std to see them (and simpler urls) | ||||
|       cookbookpages = [ | ||||
|          "site/account-aliases.md" | ||||
|         ,"site/account-separator.md" | ||||
|         ,"site/csv-import.md" | ||||
|         ] | ||||
| 
 | ||||
|       -- cookbook pages combined, ready for web output by hakyll | ||||
|       cookbookall = "site/cookbook.md" | ||||
| 
 | ||||
|       -- hledger.1 -> hledger/doc, hledger_journal.5 -> hledger-lib/doc | ||||
|       manpageDir m | ||||
|         | '_' `elem` m = "hledger-lib" </> "doc" | ||||
| @ -209,6 +226,7 @@ main = do | ||||
|       need $ | ||||
|         webmanpages ++ | ||||
|         [webmanall | ||||
|         ,cookbookall | ||||
|         ,hakyllstd | ||||
|         ] | ||||
|       cmd Shell (Cwd "site") "hakyll-std/hakyll-std" "build" | ||||
| @ -254,6 +272,21 @@ main = do | ||||
|           "--filter tools/pandoc-demote-headers" | ||||
|           ">>" webmanall :: Action ExitCode | ||||
| 
 | ||||
|     -- adjust and combine recipe mds for single-page web output, using pandoc | ||||
|     phony "cookbookall" $ need [ cookbookall ] | ||||
| 
 | ||||
|     cookbookall %> \out -> do | ||||
|       need cookbookpages | ||||
|       liftIO $ writeFile cookbookall "* toc\n\n" | ||||
|       forM_ cookbookpages $ \f -> do -- site/csv-import.md, site/account-aliases.md, ... | ||||
|         cmd Shell ("printf '\\n\\n' >>") cookbookall :: Action ExitCode | ||||
|         cmd Shell "pandoc" f "-t markdown --atx-headers" | ||||
|           -- "--filter tools/pandoc-drop-man-blocks" | ||||
|           "--filter tools/pandoc-drop-toc" | ||||
|           -- "--filter tools/pandoc-capitalize-headers" | ||||
|           "--filter tools/pandoc-demote-headers" | ||||
|           ">>" cookbookall :: Action ExitCode | ||||
| 
 | ||||
|     -- build the currently checked out web docs and save as a named snapshot | ||||
|     "site/doc/*/.snapshot" %> \out -> do | ||||
|       need [ webmanall ] | ||||
| @ -283,7 +316,7 @@ main = do | ||||
|     phony "clean" $ do | ||||
|       putNormal "Cleaning generated files" | ||||
|       removeFilesAfter "." webmanpages | ||||
|       removeFilesAfter "." [webmanall] | ||||
|       removeFilesAfter "." [webmanall, cookbookall] | ||||
|       -- removeFilesAfter "." ["site/doc/[0-9]*"] | ||||
|       cmd Shell "rm -rf site/doc/[0-9]*" | ||||
| 
 | ||||
|  | ||||
							
								
								
									
										44
									
								
								site/docs.md
									
									
									
									
									
								
							
							
						
						
									
										44
									
								
								site/docs.md
									
									
									
									
									
								
							| @ -26,46 +26,53 @@ Small, guided exercises introducing data entry, reporting, and accounting. | ||||
| 
 | ||||
| #### [FAQ](faq.html) | ||||
| 
 | ||||
| #### [Misc. links](more-docs.html) | ||||
| A few links not yet moved to...  | ||||
| 
 | ||||
| #### [plaintextaccounting.org](http://plaintextaccounting.org) | ||||
| More overview, tips and tools from the plain text accounting community | ||||
| 
 | ||||
| </div> | ||||
| <div class="col-sm-3"> | ||||
| 
 | ||||
| ## Reference | ||||
| 
 | ||||
| #### [Big Manual](manual.html) | ||||
| All manuals combined on one page. | ||||
| All manuals combined on one page, | ||||
| including: | ||||
| 
 | ||||
| <div style="padding-left:1em;"> | ||||
| 
 | ||||
| **Tool manuals** | ||||
| 
 | ||||
| #### [`hledger`](hledger.html) | ||||
| The main command-line UI. | ||||
| Good for precision, flexibility and automation. | ||||
| ##### [`hledger`](hledger.html) | ||||
| The command-line UI | ||||
| , for flexibility and automation. | ||||
| 
 | ||||
| #### [`hledger-ui`](hledger-ui.html) | ||||
| ##### [`hledger-ui`](hledger-ui.html) | ||||
| A curses-style UI | ||||
| , for quick review and monitoring. | ||||
| 
 | ||||
| #### [`hledger-web`](hledger-web.html) | ||||
| ##### [`hledger-web`](hledger-web.html) | ||||
| A web UI | ||||
| , for browsing, sharing, and collaboration. | ||||
| 
 | ||||
| #### [`hledger-api`](hledger-api.html) | ||||
| ##### [`hledger-api`](hledger-api.html) | ||||
| A basic web API | ||||
| , for building client-side apps.  | ||||
| 
 | ||||
| **File format manuals** | ||||
| 
 | ||||
| #### [Journal](journal.html) | ||||
| ##### [Journal](journal.html) | ||||
| hledger's native data format, representing an accounting journal. | ||||
| 
 | ||||
| #### [CSV](csv.html) | ||||
| ##### [CSV](csv.html) | ||||
| Comma Separated Values, used for import/export. | ||||
| 
 | ||||
| #### [Timeclock](timeclock.html) | ||||
| ##### [Timeclock](timeclock.html) | ||||
| For time logging, with clock-in/clock-out records. | ||||
| 
 | ||||
| #### [Timedot](timedot.html) | ||||
| ##### [Timedot](timedot.html) | ||||
| A more human-friendly time logging format. | ||||
| 
 | ||||
| </div> | ||||
| @ -75,17 +82,18 @@ A more human-friendly time logging format. | ||||
| 
 | ||||
| ## More | ||||
| 
 | ||||
| #### [How to read CSV files](how-to-read-csv-files.html) | ||||
| #### [User Cookbook](cookbook.html) | ||||
| Practical day-to-day recipes combined on one page, including: | ||||
| 
 | ||||
| #### [How to use account aliases](how-to-use-account-aliases.html) | ||||
| <div style="padding-left:1em;"> | ||||
| 
 | ||||
| #### [How to use another account separator character](how-to-use-another-account-separator-character.html) | ||||
| ##### [How to read CSV files](csv-import.html) | ||||
| 
 | ||||
| #### [More docs](more-docs.html) | ||||
| Some useful links not yet moved to.. | ||||
| ##### [How to use account aliases](account-aliases.html) | ||||
| 
 | ||||
| #### [plaintextaccounting.org](http://plaintextaccounting.org) | ||||
| More tips and tools from the plain text accounting community | ||||
| ##### [How to use another account separator character](account-separator.html) | ||||
| 
 | ||||
| </div> | ||||
| 
 | ||||
| </div> | ||||
| </div> | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user