From 1c9c4a049b4b330da46e803e0c7d6c4feb117f3c Mon Sep 17 00:00:00 2001 From: Charlotte Koch Date: Tue, 8 Oct 2024 15:33:18 -0700 Subject: 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") --- mk/willora.mk | 35 +++++++++++++++++++++++++++-------- 1 file 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} ########## ########## ########## -- cgit v1.2.3