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
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'