summaryrefslogtreecommitdiff
path: root/mk
diff options
context:
space:
mode:
authorCharlotte Koch <charlotte@magentastripe.com>2024-10-08 15:33:18 -0700
committerCharlotte Koch <charlotte@magentastripe.com>2024-10-08 15:33:18 -0700
commit1c9c4a049b4b330da46e803e0c7d6c4feb117f3c (patch)
treefc7bf9c18ff5e9b162f1a5b4aacac655a8ef5b71 /mk
parentb56ea8856143393a67ba90ea85a09dc3a997b65f (diff)
DRY up the colophon's content
The physical editions (hardcover, paperback) use the "extract a page from a different book" trick to use the formatting that is unique to the colophon. But this isn't desirable on EPUB. Previously, we needed to write out the colophon twice: once for the physical editions and again for the EPUB. But with this change, that's no longer needed -- both the physical and electronic versions are based on the same source going forward ("colophon-content.adoc.erb")
Diffstat (limited to 'mk')
-rw-r--r--mk/willora.mk35
1 files changed, 27 insertions, 8 deletions
diff --git a/mk/willora.mk b/mk/willora.mk
index db30605..a85f670 100644
--- a/mk/willora.mk
+++ b/mk/willora.mk
@@ -45,14 +45,17 @@ EPUB_CATNO?= MSM-000003
FRONTMATTER_TEMPLATE?= adoc/frontmatter-template.adoc.erb
COLOPHON_TEMPLATE= adoc/colophon-template.adoc.erb
+COLOPHONCONTENT_TEMPLATE= adoc/colophon-content.adoc.erb
+
+PAPERBACK_COLOPHONCONTENT_FILE= colophoncontent-paperback.adoc
+HARDCOVER_COLOPHONCONTENT_FILE= colophoncontent-hardcover.adoc
+EPUB_COLOPHONCONTENT_FILE= colophoncontent-epub.adoc
PAPERBACK_COLOPHON_FILE?= colophon-paperback.adoc
HARDCOVER_COLOPHON_FILE?= colophon-hardcover.adoc
-EPUB_COLOPHON_FILE?= colophon-epub.adoc
PAPERBACK_COLOPHON_OUT?= colophon-paperback.pdf
HARDCOVER_COLOPHON_OUT?= colophon-hardcover.pdf
-EPUB_COLOPHON_OUT?= colophon-epub.pdf
EPUB_STYLESHEET= ${THEMEDIR}/epub3.scss
EPUB_BLURBFILE= epub-assets/epub_blurb.html
@@ -164,13 +167,21 @@ ${PAPERBACK_COLOPHON_OUT}: ${THEMEDIR}/${THEME}-colophon-theme.yml ${PAPERBACK_C
${PAPERBACK_COLOPHON_FILE}
CLEANFILES+= ${PAPERBACK_COLOPHON_FILE}
-${PAPERBACK_COLOPHON_FILE}: ${COLOPHON_TEMPLATE} ${ERBBER_SCRIPT}
+${PAPERBACK_COLOPHON_FILE}: ${PAPERBACK_COLOPHONCONTENT_FILE} ${COLOPHON_TEMPLATE} ${ERBBER_SCRIPT}
${BUNDLE} exec ${RUBY} ${ERBBER_SCRIPT} \
-DISBN=${PAPERBACK_ISBN} \
-DCATNO=${PAPERBACK_CATNO} \
-DVOLUMEKIND=PAPERBACK \
--input ${COLOPHON_TEMPLATE} > ${.TARGET}
+CLEANFILES+= ${PAPERBACK_COLOPHONCONTENT_FILE}
+${PAPERBACK_COLOPHONCONTENT_FILE}: ${COLOPHONCONTENT_TEMPLATE} ${ERBBER_SCRIPT}
+ ${BUNDLE} exec ${RUBY} ${ERBBER_SCRIPT} \
+ -DISBN=${PAPERBACK_ISBN} \
+ -DCATNO=${PAPERBACK_CATNO} \
+ -DVOLUMEKIND=PAPERBACK \
+ --input ${COLOPHONCONTENT_TEMPLATE} > ${.TARGET}
+
########## ########## ##########
# ===== HARDCOVER =====
@@ -214,13 +225,21 @@ ${HARDCOVER_COLOPHON_OUT}: ${THEMEDIR}/${THEME}-colophon-theme.yml ${HARDCOVER_C
${HARDCOVER_COLOPHON_FILE}
CLEANFILES+= ${HARDCOVER_COLOPHON_FILE}
-${HARDCOVER_COLOPHON_FILE}: ${COLOPHON_TEMPLATE} ${ERBBER_SCRIPT}
+${HARDCOVER_COLOPHON_FILE}: ${HARDCOVER_COLOPHONCONTENT_FILE} ${COLOPHON_TEMPLATE} ${ERBBER_SCRIPT}
${BUNDLE} exec ${RUBY} ${ERBBER_SCRIPT} \
-DISBN=${HARDCOVER_ISBN} \
-DCATNO=${HARDCOVER_CATNO} \
-DVOLUMEKIND=HARDCOVER \
--input ${COLOPHON_TEMPLATE} > ${.TARGET}
+CLEANFILES+= ${HARDCOVER_COLOPHONCONTENT_FILE}
+${HARDCOVER_COLOPHONCONTENT_FILE}: ${COLOPHONCONTENT_TEMPLATE} ${ERBBER_SCRIPT}
+ ${BUNDLE} exec ${RUBY} ${ERBBER_SCRIPT} \
+ -DISBN=${HARDCOVER_ISBN} \
+ -DCATNO=${HARDCOVER_CATNO} \
+ -DVOLUMEKIND=HARDCOVER \
+ --input ${COLOPHONCONTENT_TEMPLATE} > ${.TARGET}
+
########## ########## ##########
# ===== EPUB =====
@@ -254,20 +273,20 @@ ${EPUB_OUT}: Gemfile.lock ${EPUB_ADOC_TOTAL} ${EPUB_COVER_FILE} ${EPUB_STYLESHEE
rm -f prestuffed.epub
CLEANFILES+= ${EPUB_ADOC_TOTAL}
-${EPUB_ADOC_TOTAL}: ${BASE_ERB} ${ERBBER_SCRIPT}
+${EPUB_ADOC_TOTAL}: ${EPUB_COLOPHONCONTENT_FILE} ${BASE_ERB} ${ERBBER_SCRIPT}
${BUNDLE} exec ${RUBY} ${ERBBER_SCRIPT} \
-DISBN=${EPUB_ISBN} \
-DCATNO=${EPUB_CATNO} \
-DVOLUMEKIND=EPUB \
--input ${BASE_ERB} > ${.TARGET}
-CLEANFILES+= ${EPUB_COLOPHON_FILE}
-${EPUB_COLOPHON_FILE}: ${COLOPHON_TEMPLATE} ${ERBBER_SCRIPT}
+CLEANFILES+= ${EPUB_COLOPHONCONTENT_FILE}
+${EPUB_COLOPHONCONTENT_FILE}: ${COLOPHONCONTENT_TEMPLATE} ${ERBBER_SCRIPT}
${BUNDLE} exec ${RUBY} ${ERBBER_SCRIPT} \
-DISBN=${EPUB_ISBN} \
-DCATNO=${EPUB_CATNO} \
-DVOLUMEKIND=EPUB \
- --input ${COLOPHON_TEMPLATE} > ${.TARGET}
+ --input ${COLOPHONCONTENT_TEMPLATE} > ${.TARGET}
########## ########## ##########