Generate syntax-highlighted source with embedded quotes from the article

This commit is contained in:
Georges Dupéron 2018-08-12 16:25:52 +02:00
parent cba1d3f867
commit fa3ed3b3da
4 changed files with 35 additions and 5 deletions

8
.gitignore vendored
View File

@ -4,4 +4,10 @@
/deques.mli
/jacm-final.pdf
/jacm-final-page*.pdf
/jacm-final-crop-*-*-*-*-page*.pdf
/jacm-final-crop-*-*-*-*-page*.pdf
/jacm-final-crop-*-*-*-*-page*.png
/deques.html
/doc
/deques.d
/deques.color.html
/deques.html

View File

@ -6,6 +6,7 @@ addons:
packages:
- ocaml
- ocaml-findlib
- caml2html
- libpodofo-utils
script:

View File

@ -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 <style>…</style> 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 '<!DOCTYPE html><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>$(<)</title><pre>'; \
# sed -e 's~[&]~\&amp;~' -e 's~<~\&gt;~' -e 's~>~\&lt;~' -e 's~"~\&quot;~' -e "s~'~\&#039;~" deques.ml \
# | sed -e 's~^$(re)$$~<img style="width:63em;" src="jacm-final-crop-\5-\6-\7-\8-page\2.png" alt="jacm-final.pdf page \2 \3 \4" />~'; \
# echo '</pre>') > $@
sed -e 's~$(re)~<img $(style) src="jacm-final-crop-\5-\6-\7-\8-page\2.png" alt="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

View File

@ -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