docs: build site with hakyll
This commit is contained in:
		
							parent
							
								
									c794616c91
								
							
						
					
					
						commit
						7dcb91a70f
					
				| @ -1,3 +1,6 @@ | |||||||
|  | --- | ||||||
|  | title: hledger Contributor List and Agreement | ||||||
|  | --- | ||||||
| hledger Contributor List and Agreement | hledger Contributor List and Agreement | ||||||
| ====================================== | ====================================== | ||||||
| 
 | 
 | ||||||
| @ -1,3 +1,6 @@ | |||||||
|  | --- | ||||||
|  | title: hledger manual | ||||||
|  | --- | ||||||
| hledger manual | hledger manual | ||||||
| ============== | ============== | ||||||
| 
 | 
 | ||||||
| @ -9,7 +12,7 @@ A tip: on hledger.org, these docs are also available with .pdf suffix. | |||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| User Guide | User Guide | ||||||
| ---------- | :::::::::: | ||||||
| 
 | 
 | ||||||
| Introduction | Introduction | ||||||
| ............ | ............ | ||||||
| @ -161,7 +164,7 @@ For more details, see `File format compatibility <#file-format-compatibility>`_. | |||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| Reference | Reference | ||||||
| --------- | ::::::::: | ||||||
| 
 | 
 | ||||||
| Overview | Overview | ||||||
| ........ | ........ | ||||||
							
								
								
									
										28
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										28
									
								
								Makefile
									
									
									
									
									
								
							| @ -20,8 +20,6 @@ COVCMD=test | |||||||
| BENCHEXES=hledger-0.7 hledger-0.8 ledger-3pre | BENCHEXES=hledger-0.7 hledger-0.8 ledger-3pre | ||||||
| 
 | 
 | ||||||
| # misc. tools
 | # misc. tools
 | ||||||
| PANDOC=pandoc |  | ||||||
| RST2HTML=rst2html |  | ||||||
| RST2PDF=rst2pdf | RST2PDF=rst2pdf | ||||||
| #VIEWHTML=open
 | #VIEWHTML=open
 | ||||||
| VIEWHTML=open -a 'Google Chrome' | VIEWHTML=open -a 'Google Chrome' | ||||||
| @ -277,17 +275,27 @@ cleandocs: | |||||||
| 	rm -rf website/[A-Z]*.html website/api-doc/* | 	rm -rf website/[A-Z]*.html website/api-doc/* | ||||||
| 
 | 
 | ||||||
| # rebuild all docs
 | # rebuild all docs
 | ||||||
| docs: html pdf apidocs | docs: site apidocs | ||||||
|  | 
 | ||||||
|  | # build the hledger.org website
 | ||||||
|  | # Requires hakyll (cabal install hakyll)
 | ||||||
|  | site: website/hakyll | ||||||
|  | 	cd website; ./hakyll build | ||||||
|  | 	cd website/_site; ln -sf README.html index.html | ||||||
|  | 
 | ||||||
|  | website/hakyll: website/hakyll.hs | ||||||
|  | 	cd website; ghc --make hakyll.hs | ||||||
|  | 
 | ||||||
|  | viewsite: site | ||||||
|  | 	$(VIEWHTML) website/_site/index.html | ||||||
| 
 | 
 | ||||||
| # generate html versions of docs (and the hledger.org website)
 | # generate html versions of docs (and the hledger.org website)
 | ||||||
| # work around pandoc not handling full rst image directive
 | # work around pandoc not handling full rst image directive
 | ||||||
| html: | # html:
 | ||||||
| 	for d in $(DOCFILES); do $(PANDOC) --toc -s -H website/header.html -A website/footer.html -r rst $$d >website/$$d.html; done | # 	for d in $(DOCFILES); do $(PANDOC) --toc -s -H website/header.html -A website/footer.html -r rst $$d >website/$$d.html; done
 | ||||||
| 	cd website && ln -sf ../SCREENSHOTS && $(RST2HTML) SCREENSHOTS >SCREENSHOTS.html && rm -f SCREENSHOTS | # 	cd website && ln -sf ../SCREENSHOTS && $(RST2HTML) SCREENSHOTS >SCREENSHOTS.html && rm -f SCREENSHOTS
 | ||||||
| 	cd website; rm -f index.html; ln -s README.html index.html; rm -f profs; ln -s ../profs | # 	cd website; rm -f index.html; ln -s README.html index.html; rm -f profs; ln -s ../profs
 | ||||||
| 
 | 
 | ||||||
| viewhtml: html |  | ||||||
| 	$(VIEWHTML) website/index.html |  | ||||||
| 
 | 
 | ||||||
| pdf: docspdf codepdf | pdf: docspdf codepdf | ||||||
| 
 | 
 | ||||||
| @ -314,7 +322,7 @@ printall: pdf | |||||||
| 	$(PRINT) $(PDFS) | 	$(PRINT) $(PDFS) | ||||||
| 
 | 
 | ||||||
| # push latest docs etc. and update the hledger.org site
 | # push latest docs etc. and update the hledger.org site
 | ||||||
| site: push | pushdocs: push | ||||||
| 	ssh joyful.com 'make -C/repos/hledger docs' | 	ssh joyful.com 'make -C/repos/hledger docs' | ||||||
| 
 | 
 | ||||||
| # generate api docs
 | # generate api docs
 | ||||||
|  | |||||||
| @ -1,3 +1,6 @@ | |||||||
|  | --- | ||||||
|  | title: hledger news | ||||||
|  | --- | ||||||
| hledger news | hledger news | ||||||
| ============ | ============ | ||||||
| 
 | 
 | ||||||
| @ -1,3 +1,6 @@ | |||||||
|  | --- | ||||||
|  | title: hledger | ||||||
|  | --- | ||||||
| hledger | hledger | ||||||
| ======= | ======= | ||||||
| 
 | 
 | ||||||
| @ -1,3 +1,6 @@ | |||||||
|  | --- | ||||||
|  | title: hledger for techies | ||||||
|  | --- | ||||||
| hledger for techies | hledger for techies | ||||||
| =================== | =================== | ||||||
| 
 | 
 | ||||||
| @ -1,10 +1,13 @@ | |||||||
|  | --- | ||||||
|  | title: hledger screenshots | ||||||
|  | --- | ||||||
| hledger screenshots | hledger screenshots | ||||||
| =================== | =================== | ||||||
| 
 | 
 | ||||||
| .. .................................................................... | .. .................................................................... | ||||||
| .. raw:: html  | .. raw:: html  | ||||||
| 
 | 
 | ||||||
|   <br><br><a name=hledger-screen-1> |   <a name=hledger-screen-1> | ||||||
| 
 | 
 | ||||||
| Basic command-line reports, like ledger: | Basic command-line reports, like ledger: | ||||||
| 
 | 
 | ||||||
| @ -1,4 +0,0 @@ | |||||||
| <div id="footer"> |  | ||||||
| <hr> |  | ||||||
| © 2007-2010 <a href="http://joyful.com/">Simon Michael</a> and contributors |  | ||||||
| </div> |  | ||||||
							
								
								
									
										32
									
								
								website/hakyll.hs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										32
									
								
								website/hakyll.hs
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,32 @@ | |||||||
|  | #!/usr/bin/env runhaskell | ||||||
|  | 
 | ||||||
|  | import Control.Monad (forM_) | ||||||
|  | import Control.Monad.Trans (liftIO) | ||||||
|  | import System.Process | ||||||
|  | import Text.Hakyll (hakyll) | ||||||
|  | import Text.Hakyll.Render | ||||||
|  | import Text.Hakyll.CreateContext (createPage, createCustomPage, createListing) | ||||||
|  | import Text.Printf | ||||||
|  | 
 | ||||||
|  | main = hakyll "http://hledger.org" $ do | ||||||
|  |     mapM_ renderParentDirPage | ||||||
|  |       ["README.rst" | ||||||
|  |       ,"README2.rst" | ||||||
|  |       ,"NEWS.rst" | ||||||
|  |       ,"SCREENSHOTS.rst" | ||||||
|  |       ,"MANUAL.rst" | ||||||
|  |       ,"CONTRIBUTORS.rst" | ||||||
|  |       ] | ||||||
|  |     mapM_ static | ||||||
|  |       ["style.css" | ||||||
|  |       ,"sshot.png" | ||||||
|  |       ,"watchhours.png" | ||||||
|  |       ,"hledger-screen-1.png" | ||||||
|  |       ,"hledger-charts-2.png" | ||||||
|  |       ] | ||||||
|  | 
 | ||||||
|  | -- Render a page from the parent directory as if it was in the hakyll | ||||||
|  | -- root dir, setting up a symbolic link when needed. | ||||||
|  | renderParentDirPage p = do | ||||||
|  |   liftIO $ system $ printf "[ -f %s ] || ln -s ../%s" p p | ||||||
|  |   renderChain ["site.tmpl"] $ createPage p | ||||||
| @ -1,10 +0,0 @@ | |||||||
| <link rel="stylesheet" type="text/css" href="style.css" media="all" /> |  | ||||||
| <script type="text/javascript"> |  | ||||||
| var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www."); |  | ||||||
| document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E")); |  | ||||||
| </script> |  | ||||||
| <script type="text/javascript"> |  | ||||||
| try { |  | ||||||
| var pageTracker = _gat._getTracker("UA-3456280-3"); |  | ||||||
| pageTracker._trackPageview(); |  | ||||||
| } catch(err) {}</script> |  | ||||||
| @ -1,11 +0,0 @@ | |||||||
| <html> |  | ||||||
| <head><base target="main"></head> |  | ||||||
| <body> |  | ||||||
|   <div id="search" style="whitespace:no-wrap;"> |  | ||||||
| 		<form action="." method="get"> |  | ||||||
| 			<input name="hoogle" id="hoogle" type="text" value="" size="25" maxlength="100" /> |  | ||||||
| 			<input id="submit" type="submit" value="Hoogle" /> |  | ||||||
| 	</div> |  | ||||||
| </form> |  | ||||||
| </body> |  | ||||||
| </html> |  | ||||||
							
								
								
									
										40
									
								
								website/site.tmpl
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										40
									
								
								website/site.tmpl
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,40 @@ | |||||||
|  | <?xml version="1.0" encoding="UTF-8"?> | ||||||
|  | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" | ||||||
|  | "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> | ||||||
|  | <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> | ||||||
|  |   <head> | ||||||
|  |     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> | ||||||
|  |     <title>hledger.org - $title</title> | ||||||
|  |     <link rel="stylesheet" type="text/css" href="$root/style.css" /> | ||||||
|  |   </head> | ||||||
|  |   <body> | ||||||
|  |     <div style="text-align:center;"> | ||||||
|  |       <!-- <a href="$root/"><img src="$root/logo.jpg" border="0" ALT="" /></a> --> | ||||||
|  |     </div> | ||||||
|  |     <div id="navigation"> | ||||||
|  |       <a href="$root/README.html">Intro</a> | ||||||
|  |       <a href="$root/README2.html">Techie Intro</a> | ||||||
|  |       <a href="$root/MANUAL.html">Manual</a> | ||||||
|  |       <a href="$root/SCREENSHOTS.html">Screenshots</a> | ||||||
|  |       <a href="$root/NEWS.html">News</a> | ||||||
|  |     </div> | ||||||
|  |     $body | ||||||
|  | 
 | ||||||
|  |     <div id="footer"> | ||||||
|  |       <hr /> | ||||||
|  |       © 2007-2010 <a href="http://joyful.com/">Simon Michael</a> and contributors | ||||||
|  |     </div> | ||||||
|  | 
 | ||||||
|  | <script type="text/javascript"> | ||||||
|  | var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www."); | ||||||
|  | document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E")); | ||||||
|  | </script> | ||||||
|  | <script type="text/javascript"> | ||||||
|  | try { | ||||||
|  | var pageTracker = _gat._getTracker("UA-3456280-3"); | ||||||
|  | pageTracker._trackPageview(); | ||||||
|  | } catch(err) {} | ||||||
|  | </script> | ||||||
|  | 
 | ||||||
|  |   </body> | ||||||
|  | </html> | ||||||
| @ -6,6 +6,22 @@ body { | |||||||
|     font-family: "helvetica","arial", "sans serif"; |     font-family: "helvetica","arial", "sans serif"; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | div#navigation { | ||||||
|  |     /* text-align: center; */ | ||||||
|  |     /* border-bottom: 4px solid #226600; */ | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | div#navigation a { | ||||||
|  |     color: white; | ||||||
|  |     font-weight:bold; | ||||||
|  |     font-family:sans-serif; | ||||||
|  |     /* font-size:small; */ | ||||||
|  |     text-decoration: none; | ||||||
|  |     background-color: #226600; | ||||||
|  |     padding: 3px 10px 3px 10px; | ||||||
|  |     margin: 0 5px 0 0; | ||||||
|  | } | ||||||
|  | 
 | ||||||
| #footer { | #footer { | ||||||
|     padding-top: 1em; |     padding-top: 1em; | ||||||
|     /* font-size: 70%; */ |     /* font-size: 70%; */ | ||||||
| @ -22,23 +38,23 @@ code { | |||||||
|     margin: 0 auto; |     margin: 0 auto; | ||||||
|     width: 700px; |     width: 700px; | ||||||
| } | } | ||||||
| h1.title { | h1 { | ||||||
|     font-size: 3.8em; |     font-size: 3em; | ||||||
|     /* color: #49637C; */ |     /* color: #49637C; */ | ||||||
|     color: #226600; |     /* color: #226600; */ | ||||||
|     margin-bottom: 3px; |     margin-bottom: 3px; | ||||||
|     text-align: left; |     text-align: left; | ||||||
| } | } | ||||||
| h1 { | /* h1 { */ | ||||||
|   margin-top:1em; | /*   margin-top:1em; */ | ||||||
|   text-align: left; | /*   text-align: left; */ | ||||||
| } | /* } */ | ||||||
| h1 .small { | /* h1 .small { */ | ||||||
|     font-size: 0.4em; | /*     font-size: 0.4em; */ | ||||||
| } | /* } */ | ||||||
| h1 a { | /* h1 a { */ | ||||||
|     text-decoration: none; | /*     text-decoration: none; */ | ||||||
| } | /* } */ | ||||||
| h2 { | h2 { | ||||||
|     font-size: 1.5em; |     font-size: 1.5em; | ||||||
| } | } | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user