]> pere.pagekite.me Git - text-madewithcc.git/blobdiff - fixup-docbook.rb
Translated using Weblate (Norwegian Bokmål)
[text-madewithcc.git] / fixup-docbook.rb
index 5219e45bdd669eb231d43110a042a3974eefc2b6..329d59935e27d4fa403682f0578c2d2519e1590f 100755 (executable)
@@ -38,8 +38,8 @@ xml.css('articleinfo').each do |node|
 XML
   node.last_element_child.after(<<'XML')
 <publisher>
-    <publishername>Gunnar Wolf</publishername>
-    <address><city>Mexico City</city></address>
+    <publishername>Instituto de Investigaciones Económicas</publishername>
+    <address><city>Universidad Nacional Autónoma de México</city></address>
 </publisher>
 XML
 end
@@ -89,6 +89,45 @@ 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 '<para>' containing the quote
+  auth.remove
+  ded.last_element_child.after('<blockquote><para>%s</para><attribution>%s</attribution></blockquote>' %
+                               [quote_c, auth_c])
+end
+
+%w(preface#foreword preface#introduction).each do |spec|
+  sect = xml.css(spec)[0]
+  paras = sect.css('para emphasis')
+  auth = '<blockquote><para><attribution>'
+  auth += paras.map{|p| p.content}.join('</attribution></para><para><attribution>')
+  auth += '</attribution></para></blockquote>'
+  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('<blockquote><attribution>Paul Stacey</attribution></blockquote>')
+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('<blockquote><attribution>Sarah Hinchliff Pearson</attribution></blockquote>')
+auth.remove
+
 log 0, 'move legal notice to bookinfo'
 xml.css('book bookinfo')[0].last_element_child.after('<legalnotice>')
 ln = xml.css('book bookinfo legalnotice')[0]
@@ -189,6 +228,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.last_element_child.after('<attribution>%s</attribution>' % by)
+end
+
+
 # Disabled as dblatex do not understand chapter/chapterinfo/author,
 # see <URL: https://bugs.debian.org/891183 >.
 if false