Last active
June 5, 2023 08:40
-
-
Save denismaier/beab4953c9ad6825e7b0d98bee081a00 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Makefile | |
# | |
# Run "make docx2md" to produce markdown from docx | |
# | |
# Run "make odt2md" to produce markdown from odt | |
# | |
# Run "make jats" to produce a JATS XML file based on the intermediary markdown file | |
# | |
# Run "make pdf" to produce a PDF from JATS XML with ConTeXt | |
# Filename (without extension) | |
basename=jndf-2023-1-1-pinkas | |
# ConTeXt mode: article or review | |
context-mode=article | |
# ConTeXt layout | |
context-layout=layout | |
# XML mapping | |
xml-mapping=jats | |
include ../standard.makefile | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
.PHONY: html pdf help | |
default: help | |
# Pandoc basic settings | |
pandoc=pandoc | |
datadir= | |
assets = ../_assets | |
# Pandoc options | |
general_options= --standalone | |
# Pandoc to Markdown Options | |
metadata=$(assets)/metadata-2023-1.yaml | |
markdown_options=--to markdown-smart --metadata-file=$(metadata) --wrap=none | |
# Pandoc to JATS XML Options | |
# If need a custom JATS template use this option --template-file= | |
jats-template = --template=$(assets)/jats_publishing.template | |
jats-lua-filters-list = author-notes-to-meta.lua abstract-to-meta.lua headings-refs-to-meta.lua html-tables.lua pandoc-list-table.lua versify.lua classes-to-attr.lua | |
jats-lua-filters = $(foreach filter,$(jats-lua-filters-list),-L $(assets)/$(filter)) | |
jats_options=--to jats --from markdown-smart --wrap=none --number-sections $(jats-lua-filters) $(jats-template) | |
# Saxon Options | |
# We use Saxon to convert to HTML | |
# Demo command: java -jar c:\saxon\saxon9he.jar -s:source.xml -xsl:rules.xsl -o:output.html | |
# use Transform als Kommando | |
java=java -jar | |
saxon=dir/saxon9he.jar | |
xslt-command=transform | |
catalog = $(assets)/jats-dtd/catalog-jats-v1-2-no-base.xml | |
# Cleanup XML | |
cleanup_XSL = $(assets)/cleanup.xsl | |
xslt_cleanup_options = -xsl:$(cleanup_XSL) -catalog:$(catalog) -expand:off nonumheadings=$(nonumheadings) | |
# HTML Options | |
XSL = $(assets)/jats2html.xsl | |
CSS = galley.css | |
xslt_options = -xsl:$(XSL) -catalog:$(catalog) | |
################################################### | |
# Rules | |
################ | |
docx2md: | |
$(pandoc) $(general_options) $(markdown_options) -o md/$(basename)-raw.md source/$(basename).docx | |
odt2md: | |
$(pandoc) $(general_options) $(markdown_options) -o md/$(basename)-raw.md source/$(basename).odt | |
################ | |
mdtypo: | |
python $(assets)/typo-replacements.py md/$(basename).md | |
mdfinal: | |
copy .\md\$(basename)-modified.md .\md\$(basename)-final.md | |
################ | |
xmlraw: | |
$(pandoc) $(general_options) $(jats_options) -o xml/$(basename)-raw.xml md/$(basename)-final.md | |
xmlclean: | |
$(xslt-command) $(xslt_cleanup_options) -s:xml/$(basename)-raw.xml -o:xml/$(basename)-cleaned.xml | |
xml: xmlraw xmlclean | |
xmlfinal: | |
copy .\xml\$(basename)-cleaned.xml .\xml\$(basename)-final.xml | |
################ | |
html: | |
$(xslt-command) $(xslt_options) -s:xml/$(basename)-final.xml -o:html/$(basename).html | |
htmltest: | |
$(xslt-command) $(xslt_options) -s:xml/$(basename)-cleaned.xml -o:html/test-$(basename).html stylesheet=$(CSS) | |
css: | |
mklink html\$(CSS) ..\..\_assets\$(CSS) | |
################ | |
pdf: | |
cd pdf && \ | |
context ../xml/$(basename)-final.xml --environment=../$(assets)/$(xml-mapping),../$(assets)/$(context-layout) --mode=$(context-mode) --result=$(basename).pdf | |
pdftest: | |
cd pdf && \ | |
context ../xml/$(basename)-cleaned.xml --environment=../$(assets)/$(xml-mapping),../$(assets)/$(context-layout) --mode=$(context-mode) --result=$(basename)-test.pdf | |
pdftestdebug: | |
cd pdf && \ | |
context ../xml/$(basename)-cleaned.xml --environment=../$(assets)/$(xml-mapping),../$(assets)/$(context-layout) --mode=$(context-mode),debug --result=$(basename)-test.pdf | |
################ | |
md2docx: | |
$(pandoc) md/$(basename)-final.md -o md/$(basename).docx | |
md2icml: | |
$(pandoc) md/$(basename)-final.md -o md/$(basename).icml | |
################## | |
md2pdftest: | |
make mdtypo && make mdfinal && make xml && make pdftest | |
md2pdftestdebug: | |
make mdtypo && make mdfinal && make xml && make pdftestdebug | |
md2htmltest: | |
make mdtypo && make mdfinal && make xml && make htmltest | |
md2test: | |
make mdtypo && make mdfinal && make xml && make htmltest && make pdftest | |
md2all: | |
make mdtypo && make mdfinal && make xml && make xmlfinal && make html && make pdf | |
################# | |
help: | |
$(info Verfuegbare Optionen:) | |
$(info =====================) | |
$(info docx2md) | |
$(info odt2md) | |
$(info mdtypo) | |
$(info jats) | |
$(info html) | |
$(info htmltest) | |
$(info pdf) | |
$(info pdftest) | |
$(info md2pdftest) | |
$(info md2pdftestdebug) | |
$(info md2htmltest) | |
$(info md2htmltest) | |
$(info md2test) | |
$(info md2all) | |
$(info help) | |
$(info =====================) | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment