From fa3ed3b3da66463313d85538f12da5117bfaeccb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Georges=20Dup=C3=A9ron?= Date: Sun, 12 Aug 2018 16:25:52 +0200 Subject: [PATCH] Generate syntax-highlighted source with embedded quotes from the article --- .gitignore | 8 +++++++- .travis.yml | 1 + Makefile | 27 +++++++++++++++++++++++++-- deques.ml | 4 ++-- 4 files changed, 35 insertions(+), 5 deletions(-) diff --git a/.gitignore b/.gitignore index 38f18ac..a5b1cb5 100644 --- a/.gitignore +++ b/.gitignore @@ -4,4 +4,10 @@ /deques.mli /jacm-final.pdf /jacm-final-page*.pdf -/jacm-final-crop-*-*-*-*-page*.pdf \ No newline at end of file +/jacm-final-crop-*-*-*-*-page*.pdf +/jacm-final-crop-*-*-*-*-page*.png +/deques.html +/doc +/deques.d +/deques.color.html +/deques.html \ No newline at end of file diff --git a/.travis.yml b/.travis.yml index b620288..dc59f57 100644 --- a/.travis.yml +++ b/.travis.yml @@ -6,6 +6,7 @@ addons: packages: - ocaml - ocaml-findlib + - caml2html - libpodofo-utils script: diff --git a/Makefile b/Makefile index e1ce73b..19716c2 100644 --- a/Makefile +++ b/Makefile @@ -1,7 +1,7 @@ .SECONDEXPANSION: .PHONY: all -all: deques deques.mli doc Makefile +all: deques deques.mli doc deques.html Makefile deques: deques.ml deques.cmi Makefile ocamlc $< -o $@ @@ -12,6 +12,25 @@ deques.mli: deques.ml Makefile deques.cmi: deques.mli Makefile ocamlc $< -o $@ +re=\( *\)(\*\* jacm-final.pdf p.\([0-9]\+\) \(([0-9]\+)\) \(§[.0-9]\+\) media \([0-9]\+\) \([0-9]\+\) \([0-9]\+\) \([0-9]\+\) \*) +deques.d: deques.ml Makefile + (printf 'deques.html: '; sed -ne 's~^$(re)$$~jacm-final-crop-\5-\6-\7-\8-page\2.png~p' $< | tr '\n' ' ') > $@ + +-include deques.d + +deques.color.html: deques.ml Makefile + caml2html -charset utf-8 $< -t -o $@ + +# TODO: put this in a tag +style=style="width:63em; margin: 1.5em 0em; display: block; padding: 0.5em 0em 0.5em 1em; border-left: thick solid \#ccc;" + +deques.html: deques.color.html Makefile +# (echo '$(<)
'; \
+#	 sed -e 's~[&]~\&~' -e 's~<~\>~' -e 's~>~\<~' -e 's~"~\"~' -e "s~'~\'~" deques.ml \
+#	 | sed -e 's~^$(re)$$~jacm-final.pdf page \2 \3 \4~'; \
+#	 echo '
') > $@ + sed -e 's~$(re)~jacm-final.pdf page \2 \3 \4~g' $< > $@ + .PHONY: print-tool-versions print-tool-versions: Makefile ocamlc -version @@ -36,6 +55,9 @@ jacm-final-crop-%.pdf: $$(shell echo '%.pdf' | sed -e 's/^[-0-9]*-page/jacm-fina }; \ f $$(echo '$*' | sed -e 's/page[0-9]*$$//' -e 's/-/ /g') +jacm-final-crop-%.png: jacm-final-crop-%.pdf Makefile + convert -density 300 $< $@ + doc: deques.ml Makefile git clean -dfx doc mkdir doc @@ -44,4 +66,5 @@ doc: deques.ml Makefile .PHONY: clean clean: Makefile - rm jacm-final-page*.pdf jacm-final-crop-*-page*.pdf + rm -- jacm-final-page*.pdf jacm-final-crop-*-page*.pdf jacm-final-crop-*-page*.png deques.html + rm -r -- doc diff --git a/deques.ml b/deques.ml index 8060fc9..61fa0f9 100644 --- a/deques.ml +++ b/deques.ml @@ -193,9 +193,9 @@ module DequesColorsStack = struct practice, these cases are already disjoint types, but performing their union is more readily done by defining a variant at this level. *) - (** * jacm-final.pdf p.9 (585) §4.1 media 60 290 368 60 *) + (** jacm-final.pdf p.9 (585) §4.1 media 60 290 368 60 *) type 'a semiregular = ['a greenStack | 'a yellowGRStack | 'a redStack] - (** * jacm-final.pdf p.9 (585) §4.1 media 60 338 368 24 *) + (** jacm-final.pdf p.9 (585) §4.1 media 60 338 368 24 *) type 'a regular = ['a greenStack | 'a yellowGStack | 'a redStack] end open DequesColorsStack