DOCUMENTS = report PDF_DOCUMENTS = _site/report.pdf include _make/*.mk DOCUMENT_APPENDIX_REGEX = Pandoc filter semantic-markdown FILTER = _extensions/ruc-play/semantic-markdown/semantic-markdown.lua DIFFTESTS = $(patsubst %.md,%,$(wildcard test/*.md)) #DIFF = diff -u DIFF = git --no-pager diff --no-index #PANDOC = pandoc -f markdown+fenced_divs+bracketed_spans-auto_identifiers PANDOC = pandoc --from commonmark #PANDOC = quarto pandoc --from commonmark SYNTAX_DIAGRAMS := $(patsubst %.py,%.svg,$(wildcard syntax/def_*.py)) WORKFLOW_DIAGRAMS := $(patsubst %.cwl,%.svg,$(wildcard workflow/phase*.cwl)) RAPPER = rapper -i rdfa #RAPPER += -f relativeURIs # implicit namespaces at NS += foaf=http://xmlns.com/foaf/0.1/ NS += rdfa=http://www.w3.org/ns/rdfa\# NS += rdfs=http://www.w3.org/2000/01/rdf-schema\# NS += schema=http://schema.org/ NS += wd=https://www.wikidata.org/entity/ NS += bibo=http://purl.org/ontology/bibo/ NS += ov=http://open.vocab.org/terms/ RAPPER += $(foreach s,$(NS),$(let a b,$(subst =, $(),$s), -f 'xmlns:$a="$b"')) _site/report.pdf: $(wildcard _*.qmd) $(SYNTAX_DIAGRAMS) $(WORKFLOW_DIAGRAMS) $(SYNTAX_DIAGRAMS): %.svg: %.py python3 $< $(WORKFLOW_DIAGRAMS): %.svg: %.cwl cwltool --print-dot $< \ | gvpr -f workflow/rotate.gvpr \ | perl -pe 's/phase\d_//g;' \ -e 's/label=\K[^\s",]+|translate_to_\w+/ "\"".join(" ", split(m{_}, $$&))."\"" /ge' \ | dot -Tsvg > $@ check: $(DIFFTESTS:%=check-%) luacheck --quiet $(FILTER) $(DIFFTESTS:%=check-%): check-%: %.md -$(strip $(PANDOC) --lua-filter $(FILTER) --wrap preserve < $< \ | $(DIFF) $*.plain.html /dev/stdin) $(DIFFTESTS:%=debug-%): debug-%: %.md $(PANDOC) --to native --lua-filter $(FILTER) < $< $(DIFFTESTS:%=debugdiff-%): SHELL = /bin/bash $(DIFFTESTS:%=debugdiff-%): debugdiff-%: %.md -$(strip $(DIFF) \ <($(PANDOC) --to native < $<) \ <($(PANDOC) --to native --lua-filter $(FILTER) < $<)) $(DIFFTESTS:%=turtle-from-%): turtle-from-%: %.rdfa.html $(RAPPER) -o turtle $< $(dir $<) $(DIFFTESTS:%=xmp-from-%): xmp-from-%: %.rdfa.html $(RAPPER) -o rdfxml-xmp $< $(dir $<) .PHONY: check \ $(foreach x,check debug debugdiff turtle-from xmp-from,\ $(DIFFTESTS:%=$x-%))