X-Git-Url: https://pere.pagekite.me/gitweb/text-madewithcc.git/blobdiff_plain/68ccb07650b719473f8d17db0f5ad067966be93e..b83e1256b5b3e66f554ffb403156af827bd6c8dc:/fixup-docbook.rb diff --git a/fixup-docbook.rb b/fixup-docbook.rb index 771df4b..0ef6cf5 100755 --- a/fixup-docbook.rb +++ b/fixup-docbook.rb @@ -66,6 +66,24 @@ if s end end + +log 0, 'remove empty notes/web links sections' +[ + 'Notes', + 'Web links', + 'Web link', +].each do |title| + xml.xpath("//title[text()='%s']" % title).each do |node| + p = node.parent + node.remove + if p.content =~ /^\s*$/ + p.remove + else + raise RuntimeError, 'Non-empty «%s» found' % title + end + end +end + log 0, 'remove title from dedication' xml.css('dedication title')[0].content = "" @@ -80,12 +98,62 @@ xml.css('para').each do |para| end end +log 0, 'replace colophon page with one for this edition' + xml.xpath('//colophon/para').remove +s = xml.xpath('//colophon')[0] +s.first_element_child.after(<<'XML') +Made with Creative Commons + +by Paul Stacey & Sarah Hinchliff Pearson + +© 2017 by the Creative Commons Foundation. + +Published under a Creative Commons Attribution-ShareAlike +license (CC BY-SA), version 4.0. + +ISBN: YET-TO-BE-DECIDED (PDF), YET-TO-BE-DECIDED (ePub), +YET-TO-BE-DECIDED (Paperback) + +Illustrations by Bryan Mathers, + +Publisher: Gunnar Wolf. + + +  + +Downloadable e-book available at + + +This book is published under a CC BY-SA license, which means that you +can copy, redistribute, remix, transform, and build upon the content for +any purpose, even commercially, as long as you give appropriate credit, +provide a link to the license, and indicate if changes were made. If you +remix, transform, or build upon the material, you must distribute your +contributions under the same license as the original. License details: + + +Made With Creative Commons is published with the kind support of +Creative Commons and backers of our crowdfunding-campaign on the +Kickstarter.com platform. + +XML + +log 0, 'remove title from colophon' +xml.css('colophon title')[0].content = "" + log 0, 'change CC logo images to informalfigure' xml.css('figure mediaobject imageobject imagedata[width="40.0%"]').each do |id| f = id.parent.parent.parent f.name = 'informalfigure' end +log 0, 'assigning IDs to formal figures' +seq = 1 +xml.css('figure').each do |fig| + fig['id'] = 'fig-%d' % seq + seq = seq + 1 +end + log 0, 'Writing processed file' # Unable to figure out API way to replace DOCTYPE data = xml.to_xml().gsub!(/DOCTYPE article/, 'DOCTYPE book')