log 0, 'replace article* with book*'
xml.css('articleinfo').each do |node|
node.name = 'bookinfo'
- node.first_element_child.before(<<'XML')
-<publisher>
- <publishername>Gunnar Wolf</publishername>
- <address><city>Mexico City</city></address>
-</publisher>
-XML
- node.first_element_child.before(<<'XML')
+ node.last_element_child.after(<<'XML')
<copyright>
<year>2017</year>
<holder>Creative Commons</holder>
</copyright>
+XML
+ node.last_element_child.after(<<'XML')
+<publisher>
+ <publishername>Instituto de Investigaciones Económicas</publishername>
+ <address><city>Universidad Nacional Autónoma de México</city></address>
+</publisher>
XML
end
xml.css('article').each do |node|
end
log 0, 'remove title from dedication'
-xml.css('dedication title')[0].content = ""
+if ! xml.css('dedication title').empty?
+ xml.css('dedication title')[0].content = ""
+end
log 0, 'move legal notice to bookinfo'
-xml.css('book bookinfo')[0].first_element_child.before('<legalnotice>')
+xml.css('book bookinfo')[0].last_element_child.after('<legalnotice>')
ln = xml.css('book bookinfo legalnotice')[0]
xml.css('para').each do |para|
if para.content =~ /This book is published under a/
xml.xpath('//colophon/para').remove
s = xml.xpath('//colophon')[0]
s.first_element_child.after(<<'XML')
-<para>Made With Creative Commons</para>
+<para>Made with Creative Commons</para>
<para>by Paul Stacey & Sarah Hinchliff Pearson</para>
<para>ISBN: YET-TO-BE-DECIDED (PDF), YET-TO-BE-DECIDED (ePub),
YET-TO-BE-DECIDED (Paperback) </para>
-<para>Illustrations by Bryan Mathers, <ulink url="https://bryanmathers.com/"/></para>
+<para>Illustrations by Bryan Mathers,
+<ulink url="https://bryanmmathers.com/"/>.</para>
<para>Publisher: Gunnar Wolf.</para>
-<!-- space for information about translators -->
-<para> </para>
+<para>
+<!--space for information about translators-->
+
+</para>
<para>Downloadable e-book available at
-<ulink url="https://madewith.cc/"/></para>
+<ulink url="https://madewith.cc/"/>.</para>
<para>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
Creative Commons and backers of our crowdfunding-campaign on the
Kickstarter.com platform.</para>
+<para>This edition of the book is maintained on
+<ulink url="https://gitlab.com/gunnarwolf/madewithcc-es/"/>, and the
+translations are maintained on
+<ulink url="https://hosted.weblate.org/projects/madewithcc/"/>. If
+you find any error in the book, please let us know via Gitlab or Weblate.</para>
+
+<para>
+Classifications:
+</para>
+
+<para>
+(Dewey) 346.048, 347.78
+</para>
+
+<para>
+(UDK) ?
+</para>
+
+<para>
+(US Library of Congress) Z286 O63 S73 2017
+</para>
+
+<para>
+(Melvil) 025.523
+</para>
+
+<para>
+(ACM CRCS) ?
+</para>
+
XML
log 0, 'remove title from colophon'
seq = seq + 1
end
+# Disabled as dblatex do not understand chapter/chapterinfo/author,
+# see <URL: https://bugs.debian.org/891183 >.
+if false
+log 0, 'migrate chapter author into <chapterinfo> where relevant'
+xml.css('chapter para').each do |para|
+ if para.content =~ /^\s*((Paul|Sarah Hinchliff) (Stacey|Pearson))\s*$/
+ log 1, 'migrated %s %s' % [$2, $3]
+ para.parent.css('title')[0].before(<<'XML' % [$2, $3])
+ <chapterinfo>
+ <author>
+ <firstname>%s</firstname><surname>%s</surname>
+ </author>
+ </chapterinfo>
+XML
+ para.remove
+ end
+end
+end
+
log 0, 'Writing processed file'
# Unable to figure out API way to replace DOCTYPE
data = xml.to_xml().gsub!(/DOCTYPE article/, 'DOCTYPE book')