simplify docs infrastructure
This commit is contained in:
parent
7dafeb9bd1
commit
8905c3b2c6
82
Makefile
82
Makefile
@ -22,7 +22,8 @@ BENCHEXES=hledger-0.4 hledger-0.5 ledger
|
|||||||
# command to run during profiling
|
# command to run during profiling
|
||||||
PROFCMD=-f 1000x1000x10.ledger balance
|
PROFCMD=-f 1000x1000x10.ledger balance
|
||||||
|
|
||||||
# command to view postscript output
|
# document viewing commands
|
||||||
|
VIEWHTMLCMD=open
|
||||||
VIEWPSCMD=open
|
VIEWPSCMD=open
|
||||||
|
|
||||||
default: tag hledger
|
default: tag hledger
|
||||||
@ -150,68 +151,66 @@ sample.ledger:
|
|||||||
ghc -e 'putStr $$ unlines $$ replicate 100000 "!include sample.ledger"' >100000.ledger
|
ghc -e 'putStr $$ unlines $$ replicate 100000 "!include sample.ledger"' >100000.ledger
|
||||||
|
|
||||||
######################################################################
|
######################################################################
|
||||||
# DOCS
|
# DOCUMENTATION
|
||||||
|
|
||||||
|
# website/ and website/api-doc/ always exist. website contains both
|
||||||
|
# generated files (UPPERCASE.html) and revision-controlled resource files
|
||||||
|
# (everything else). website/api-doc contains only generated files.
|
||||||
|
cleandocs:
|
||||||
|
rm -rf website/[A-Z]*.html website/api-doc/*
|
||||||
|
|
||||||
# rebuild all docs
|
# rebuild all docs
|
||||||
docs: buildwebsite pdf api-docs
|
docs: web pdf api-docs
|
||||||
|
|
||||||
buildwebsite: website
|
# build the main hledger.org website
|
||||||
-cp doc/*.css website
|
web:
|
||||||
-cp doc/*.png website
|
for d in $(DOCFILES); do pandoc -s -H website/header.html -A website/footer.html -r rst $$d >website/$$d.html; done
|
||||||
for d in $(DOCFILES); do pandoc -s -H doc/header.html -A doc/footer.html -r rst $$d >website/$$d.html; done
|
cd website; rm -f index.html; ln -s HOME.html index.html
|
||||||
(cd website; rm -f index.html; ln -s HOME.html index.html)
|
|
||||||
|
|
||||||
pdf: website
|
# generate pdf versions of main docs
|
||||||
for d in $(DOCFILES); do rst2pdf $$d -o website/$$d.pdf; done
|
pdf:
|
||||||
|
-for d in $(DOCFILES); do rst2pdf $$d -o website/$$d.pdf; done
|
||||||
|
|
||||||
website:
|
# generate api docs
|
||||||
mkdir -p website
|
|
||||||
|
|
||||||
# rebuild api docs
|
|
||||||
# We munge haddock and hoogle into a rough but useful framed layout.
|
# We munge haddock and hoogle into a rough but useful framed layout.
|
||||||
# For this to work the hoogle cgi must be built with base target "main".
|
# For this to work the hoogle cgi must be built with base target "main".
|
||||||
api-docs: haddock hoogleweb
|
api-docs: haddock hoogle
|
||||||
echo "Converting api docs to frames" ; \
|
echo "Converting api docs to frames" ; \
|
||||||
sed -i -e 's%^></HEAD%><base target="main"></HEAD%' api-doc/modules-index.html ; \
|
sed -i -e 's%^></HEAD%><base target="main"></HEAD%' website/api-doc/modules-index.html ; \
|
||||||
cp doc/misc/api-doc-frames.html api-doc/index.html ; \
|
cp website/api-doc-frames.html website/api-doc/index.html ; \
|
||||||
cp doc/misc/hoogle-small.html hoogle
|
cp website/hoogle-small.html website/api-doc
|
||||||
|
|
||||||
# build and preview the api docs
|
# generate and view the api docs
|
||||||
BROWSER=open
|
|
||||||
view-api-docs: api-docs
|
view-api-docs: api-docs
|
||||||
$(BROWSER) api-doc/index.html
|
$(VIEWHTMLCMD) website/api-doc/index.html
|
||||||
|
|
||||||
api-doc-dir:
|
|
||||||
mkdir -p api-doc
|
|
||||||
|
|
||||||
MAIN=hledger.hs
|
MAIN=hledger.hs
|
||||||
|
|
||||||
# --ignore-all-exports here means these are actually implementation docs
|
# --ignore-all-exports means we are documenting internal implementation, not library api
|
||||||
HADDOCK=haddock -B `ghc --print-libdir` --no-warnings --ignore-all-exports $(subst -D,--optghc=-D,$(BUILDFLAGS))
|
HADDOCK=haddock -B `ghc --print-libdir` --no-warnings --ignore-all-exports $(subst -D,--optghc=-D,$(BUILDFLAGS))
|
||||||
haddock: api-doc-dir hscolour $(MAIN)
|
haddock: hscolour $(MAIN)
|
||||||
echo "Generating haddock api docs with source" ; \
|
echo "Generating haddock api docs with source" ; \
|
||||||
$(HADDOCK) -o api-doc -h --source-module=src-%{MODULE/./-}.html --source-entity=src-%{MODULE/./-}.html#%N $(filter-out %api-doc-dir hscolour,$^) && \
|
$(HADDOCK) -o website/api-doc -h --source-module=src-%{MODULE/./-}.html --source-entity=src-%{MODULE/./-}.html#%N $(filter-out %api-doc-dir hscolour,$^) && \
|
||||||
cp api-doc/index.html api-doc/modules-index.html
|
cp website/api-doc/index.html website/api-doc/modules-index.html
|
||||||
|
|
||||||
HSCOLOUR=HsColour -css
|
HSCOLOUR=HsColour -css
|
||||||
hscolour: api-doc-dir
|
hscolour:
|
||||||
echo "Generating colourised source" ; \
|
echo "Generating colourised source" ; \
|
||||||
for f in $(SOURCEFILES); do \
|
for f in $(SOURCEFILES); do \
|
||||||
$(HSCOLOUR) -anchor $$f -oapi-doc/`echo "src/"$$f | sed -e's%/%-%g' | sed -e's%\.hs$$%.html%'` ; \
|
$(HSCOLOUR) -anchor $$f -owebsite/api-doc/`echo "src/"$$f | sed -e's%/%-%g' | sed -e's%\.hs$$%.html%'` ; \
|
||||||
done ; \
|
done ; \
|
||||||
cp api-doc/src-hledger.html api-doc/src-Main.html ; \
|
cp website/api-doc/src-hledger.html website/api-doc/src-Main.html ; \
|
||||||
HsColour -print-css >api-doc/hscolour.css
|
HsColour -print-css >website/api-doc/hscolour.css
|
||||||
|
|
||||||
#set up the hoogle web interface
|
#set up the hoogle web interface
|
||||||
#uses a hoogle source tree configured with --datadir=., patched to fix haddock urls/target frame
|
#uses a hoogle source tree configured with --datadir=., patched to fix haddock urls/target frame
|
||||||
HOOGLESRC=/usr/local/src/hoogle
|
HOOGLESRC=/usr/local/src/hoogle
|
||||||
HOOGLE=$(HOOGLESRC)/dist/build/hoogle/hoogle
|
HOOGLE=$(HOOGLESRC)/dist/build/hoogle/hoogle
|
||||||
HOOGLEVER=`$(HOOGLE) --version |tail -n 1 | sed -e 's/Version /hoogle-/'`
|
HOOGLEVER=`$(HOOGLE) --version |tail -n 1 | sed -e 's/Version /hoogle-/'`
|
||||||
hoogleweb: hoogleindex
|
hoogle: hoogleindex
|
||||||
echo "Configuring hoogle web interface" ; \
|
echo "Configuring hoogle web interface" ; \
|
||||||
if test -f $(HOOGLE) ; then \
|
if test -f $(HOOGLE) ; then \
|
||||||
mkdir -p hoogle && \
|
cd website/api-doc && \
|
||||||
cd hoogle && \
|
|
||||||
rm -f $(HOOGLEVER) && \
|
rm -f $(HOOGLEVER) && \
|
||||||
ln -s . $(HOOGLEVER) && \
|
ln -s . $(HOOGLEVER) && \
|
||||||
cp -r $(HOOGLESRC)/src/res/ . && \
|
cp -r $(HOOGLESRC)/src/res/ . && \
|
||||||
@ -224,14 +223,10 @@ hoogleweb: hoogleindex
|
|||||||
#generate a hoogle index
|
#generate a hoogle index
|
||||||
hoogleindex: $(MAIN)
|
hoogleindex: $(MAIN)
|
||||||
echo "Generating hoogle index" ; \
|
echo "Generating hoogle index" ; \
|
||||||
mkdir -p hoogle && \
|
$(HADDOCK) -o website/api-doc --hoogle $^ && \
|
||||||
$(HADDOCK) -o hoogle --hoogle $^ && \
|
cd website/api-doc && \
|
||||||
cd hoogle && \
|
|
||||||
hoogle --convert=main.txt --output=default.hoo
|
hoogle --convert=main.txt --output=default.hoo
|
||||||
|
|
||||||
cleandocs:
|
|
||||||
rm -rf api-doc hoogle
|
|
||||||
|
|
||||||
######################################################################
|
######################################################################
|
||||||
# RELEASING
|
# RELEASING
|
||||||
|
|
||||||
@ -383,9 +378,6 @@ emacstags:
|
|||||||
clean:
|
clean:
|
||||||
rm -f `find . -name "*.o" -o -name "*.hi" -o -name "*~" -o -name "darcs-amend-record*"`
|
rm -f `find . -name "*.o" -o -name "*.hi" -o -name "*~" -o -name "darcs-amend-record*"`
|
||||||
|
|
||||||
clean-docs:
|
Clean: clean cleandocs
|
||||||
rm -rf website
|
|
||||||
|
|
||||||
Clean: clean clean-docs
|
|
||||||
rm -f hledger TAGS tags
|
rm -f hledger TAGS tags
|
||||||
|
|
||||||
|
|||||||
19
hledger-hcar-200811.tex
Normal file
19
hledger-hcar-200811.tex
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
\begin{hcarentry}{hledger}
|
||||||
|
\report{Simon Michael}%11/08
|
||||||
|
\participants{}
|
||||||
|
\makeheader
|
||||||
|
|
||||||
|
hledger is a command-line accounting tool similar to John Wiegley’s ledger tool.
|
||||||
|
|
||||||
|
The first release has been published on Hackage, and has attracted some
|
||||||
|
interest. It can be used for generating simple balance and transaction
|
||||||
|
reports from a plain-text general ledger. A home page and mail list has
|
||||||
|
also been created.
|
||||||
|
|
||||||
|
Immediate plans are to add some more of the most useful features from c++
|
||||||
|
ledger, so that hledger can be used for day-to-day finances, and to grow
|
||||||
|
the community of contributors.
|
||||||
|
|
||||||
|
\FurtherReading
|
||||||
|
\url{http://joyful.com/hledger}
|
||||||
|
\end{hcarentry}
|
||||||
19
hledger-hcar-200905.tex
Normal file
19
hledger-hcar-200905.tex
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
\begin{hcarentry}{hledger}
|
||||||
|
\report{Simon Michael}%05/09
|
||||||
|
\participants{}
|
||||||
|
\makeheader
|
||||||
|
|
||||||
|
hledger is a (primarily) command-line accounting tool similar to John
|
||||||
|
Wiegley's "ledger". It reads a plain text journal file describing money
|
||||||
|
or commodity transactions, or timelog entries, and generates precise
|
||||||
|
activity and balance reports.
|
||||||
|
|
||||||
|
Since the last report, hledger has reached release 0.4 on Hackage. It has
|
||||||
|
60 test cases, new features such as basic curses and web-based interfaces,
|
||||||
|
and has had some performance tuning. It is now quite useful for day to day
|
||||||
|
reporting of money and time. Also, the project has a new web address
|
||||||
|
(hledger.org), and has attracted two new committers.
|
||||||
|
|
||||||
|
\FurtherReading
|
||||||
|
\url{http://hledger.org}
|
||||||
|
\end{hcarentry}
|
||||||
@ -7,7 +7,7 @@
|
|||||||
<frameset cols="30%, 70%">
|
<frameset cols="30%, 70%">
|
||||||
<frameset rows="90%, 10%">
|
<frameset rows="90%, 10%">
|
||||||
<frame name="side1" src="modules-index.html">
|
<frame name="side1" src="modules-index.html">
|
||||||
<frame name="side2" src="../hoogle/hoogle-small.html">
|
<frame name="side2" src="hoogle-small.html">
|
||||||
</frameset>
|
</frameset>
|
||||||
<frame name="main" src="Main.html">
|
<frame name="main" src="Main.html">
|
||||||
|
|
||||||
|
Before Width: | Height: | Size: 31 KiB After Width: | Height: | Size: 31 KiB |
|
Before Width: | Height: | Size: 26 KiB After Width: | Height: | Size: 26 KiB |
|
Before Width: | Height: | Size: 84 KiB After Width: | Height: | Size: 84 KiB |
Loading…
Reference in New Issue
Block a user