data.insert(data.index('Made With Creative Commons'), '# Colophon {-}')
log 0, 'add dedication as separeate chapter'
-data.insert(data.index('“I don’t know a whole lot about nonfiction journalism. . .'), '# Dedication {-}')
+data.insert(data.index('"I don\'t know a whole lot about nonfiction journalism. . .'), '# Dedication {-}')
# Join erroneously split paragraphs: Write the contents of the line
# _preceding_ the unneeded break, the break will be removed.
'license', # 6169
'authors and Shuttleworth; Mark remains incredibly proud of this', # 6452
'BY-SA and opting in others with collecting societies like', # 7218
+ 'Journeys to a Generative Economy. San Francisco:', # 7553
'Cecilie Maria, Cedric Howe, Cefn Hoile,', # 7796
'Braddlee, Drew Spencer, Duncan', # 7839
'Elizabeth Holloway, Ellen Buecher, Ellen Kaye-', # 7844
# First, mark note reference
lin.sub!(/([a-z][\.\)]+["”]?)(\d+)(\s)/, "\\1[^" + scope + "-\\2]\\3")
lin.sub!(/([a-z][\.\)]+["”]?)(\d+)$/, "\\1[^" + scope + "-\\2]")
+ # Special case some refs hard to match otherwise
+ lin.sub!(/(section.\)) 36 /, "\\1[^" + scope + "-36] ")
+ lin.sub!(/(Data Futures Forum in 2014,)1 /, "\\1[^" + scope + "-1] ")
+ lin.sub!(/(5,080)5/, "\\1[^" + scope + "-5]")
+ lin.sub!(/(sustain her creative work.) 1/, "\\1[^" + scope + "-1]")
# Next, mark note content, only between /Web Links?|Notes/ and next heading
if noteblock
lin.sub!(/^(\d+)\. /, "[^" + scope + "-\\1]: ")
end
log 0, 'adding http:// to all URLs and turn them into links'
-data.map {|lin| lin.gsub!(/(^|\s+)([-a-z0-9\\.]+\.(cc|com|edu|eu|io|is|it|kr|net|nl|nz|org|se))/, '\\1http://\\2')}
+data.map {|lin| lin.gsub!(/(^|\s+)([-a-z0-9\\.]+\.(ca|cc|com|edu|eu|io|is|it|kr|net|nl|nz|org|se))/, '\\1http://\\2')}
data.map {|lin| lin.gsub!(/\b(https?:\/\/[-a-z0-9\\.]+)(\/[-\\.\/a-zA-Z0-9#_\?&=,]+[-\/a-zA-Z0-9#_\?&=,])?/, '[](\\1\\2)')}
log 0, 'Writing processed file'