X-Git-Url: https://pere.pagekite.me/gitweb/text-madewithcc.git/blobdiff_plain/be476e618dd52229cb1bc1359cea62f063d9e219..a206b5b30d1c1b64328dcb0d05e785bc6261d4bb:/fixup-docbook.rb diff --git a/fixup-docbook.rb b/fixup-docbook.rb index 329d599..1abfc9c 100755 --- a/fixup-docbook.rb +++ b/fixup-docbook.rb @@ -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] @@ -102,16 +102,16 @@ xml.css('dedication').each do |ded| c = ded.css('quote').first.content quote.parent.remove # remove the '' containing the quote auth.remove - ded.last_element_child.after('
%s%s
' % - [quote_c, auth_c]) + 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 += '
' + 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 @@ -119,13 +119,13 @@ 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.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.before('
Sarah Hinchliff Pearson
') auth.remove log 0, 'move legal notice to bookinfo' @@ -143,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, . @@ -165,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 or Weblate. +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 @@ -206,10 +195,6 @@ Classifications: (Melvil) 025.523 - -(ACM CRCS) ? - - XML log 0, 'remove title from colophon' @@ -233,7 +218,7 @@ xml.css('blockquote para').select {|p| p.inner_text =~ /Profile written by/}.eac p = epi.parent by = epi.inner_text epi.remove - p.last_element_child.after('%s' % by) + p.first_element_child.before('%s' % by) end @@ -256,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')