X-Git-Url: https://pere.pagekite.me/gitweb/text-madewithcc.git/blobdiff_plain/825fc77553ebdf6b1cb92c507cb87b16c1ea74b9..6a3c06431d45d85cf6b7debfdf100f65cf1638c2:/fixup-docbook.rb
diff --git a/fixup-docbook.rb b/fixup-docbook.rb
index 7ed81df..1abfc9c 100755
--- a/fixup-docbook.rb
+++ b/fixup-docbook.rb
@@ -38,8 +38,8 @@ xml.css('articleinfo').each do |node|
XML
node.last_element_child.after(<<'XML')
- Gunnar Wolf
- Mexico City
+ Instituto de Investigaciones Económicas
+ Universidad Nacional Autónoma de México
XML
end
@@ -53,8 +53,8 @@ partreplace(xml, 'colophon', 'colophon')
partreplace(xml, 'dedication', 'dedication')
partreplace(xml, 'foreword', 'preface')
partreplace(xml, 'introduction', 'preface')
-partreplace(xml, 'bibliography', 'chapter')
-partreplace(xml, 'acknowledgments', 'chapter')
+partreplace(xml, 'bibliography', 'appendix')
+partreplace(xml, 'acknowledgments', 'appendix')
log 0, 'place part introduction into '
s = xml.xpath("//part/title[text()='The Case Studies']")[0]
@@ -85,7 +85,48 @@ log 0, 'remove empty notes/web links sections'
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, 're-styling dedication, preface and introduction authors'
+xml.css('dedication').each do |ded|
+# Take content out of the quote marks, and into the blockquote
+ quote = ded.css('quote').first
+ auth = ded.css('itemizedlist').first
+ quote_c = quote.content
+ auth_c = auth.content
+ # Styling the attribution (including the introducing hyphen) should
+ # be left to the following layers
+ auth_c.gsub!(/\s+/, ' ')
+ c = ded.css('quote').first.content
+ quote.parent.remove # remove the '' containing the quote
+ auth.remove
+ ded.last_element_child.after('%s%s
' %
+ [auth_c, quote_c])
+end
+
+%w(preface#foreword preface#introduction).each do |spec|
+ sect = xml.css(spec)[0]
+ paras = sect.css('para emphasis')
+ auth = ''
+ auth += paras.map{|p| p.content}.join(', ')
+ auth += '
'
+ sect.last_element_child.after(auth)
+ paras.each {|i| i.parent.remove} # Remove both the 'emphasis' and its parent 'para'
+end
+
+auth = xml.css('chapter')[0].css('para')[0]
+auth.content =~ /^\s*Paul Stacey\s*$/ or
+ raise RuntimeError, 'Error finding author name in chapter 1 -- ' + auth.content
+auth.before('Paul Stacey
')
+auth.remove
+
+auth = xml.css('chapter')[1].css('para')[0]
+auth.content =~ /^\s*Sarah Hinchliff Pearson.*$/ or
+ raise RuntimeError, 'Error finding author name in chapter 2 -- ' + auth.content
+auth.before('Sarah Hinchliff Pearson
')
+auth.remove
log 0, 'move legal notice to bookinfo'
xml.css('book bookinfo')[0].last_element_child.after('')
@@ -102,17 +143,20 @@ 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
+Made with Creative Commons by Paul Stacey and 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)
+The license 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:
+
Illustrations by Bryan Mathers,
.
@@ -124,37 +168,23 @@ YET-TO-BE-DECIDED (Paperback)
-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.
+Made With Creative Commons was originally published with the
+kind support of Creative Commons and backers of our
+crowdfunding-campaign on the Kickstarter.com platform.
This edition of the book is maintained on
, and the
translations are maintained on
. If
-you find any error in the book, please let us know via gitlab.
+you find any error in the book, please let us know.
-
-Classifications:
-
+ISBN: YET-TO-BE-DECIDED (PDF), YET-TO-BE-DECIDED (ePub),
+YET-TO-BE-DECIDED (Paperback)
-
-(Dewey) 346.048, 347.78
-
+
-(UDK) ?
+(Dewey) 346.048, 347.78
@@ -165,10 +195,6 @@ Classifications:
(Melvil) 025.523
-
-(ACM CRCS) ?
-
-
XML
log 0, 'remove title from colophon'
@@ -187,6 +213,15 @@ xml.css('figure').each do |fig|
seq = seq + 1
end
+log 0, 'Set epigraph line in each case study'
+xml.css('blockquote para').select {|p| p.inner_text =~ /Profile written by/}.each do |epi|
+ p = epi.parent
+ by = epi.inner_text
+ epi.remove
+ p.first_element_child.before('%s' % by)
+end
+
+
# Disabled as dblatex do not understand chapter/chapterinfo/author,
# see .
if false
@@ -206,6 +241,15 @@ XML
end
end
+log 0, 'replace "Fig. \#." with docbook figure xref'
+xml.css("para").each do |para|
+ xml_text = para.to_xml(:skip_instruct => true).to_s
+ xml_text.gsub!(/Fig\.\s+(\d)\.?/,
+ 'Fig. ')
+ para.after(xml_text)
+ para.remove
+end
+
log 0, 'Writing processed file'
# Unable to figure out API way to replace DOCTYPE
data = xml.to_xml().gsub!(/DOCTYPE article/, 'DOCTYPE book')