]> pere.pagekite.me Git - text-madewithcc.git/blobdiff - fixup-docbook.rb
Add disabled code in fixup-docbook.rb to use chapterinfo/author.
[text-madewithcc.git] / fixup-docbook.rb
index 05f5a53214e0b0bd7515ec6c0b23287ba7191f17..2b51da18926ed84f8486ac7d5be30de6733864bc 100755 (executable)
@@ -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 = ""
 
@@ -84,7 +102,7 @@ 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')
-<para>Made With Creative Commons</para>
+<para>Made with Creative Commons</para>
 
 <para>by Paul Stacey & Sarah Hinchliff Pearson</para>
 
@@ -120,12 +138,41 @@ Kickstarter.com platform.</para>
 
 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
+
+# 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')