softcover-nonstop 1.0.beta2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (753) hide show
  1. data/.gitignore +27 -0
  2. data/.pull_requests/1371777843 +0 -0
  3. data/.pull_requests/1371928784 +0 -0
  4. data/.pull_requests/1372807241 +0 -0
  5. data/.pull_requests/1374784202 +0 -0
  6. data/.pull_requests/1375325174 +0 -0
  7. data/.pull_requests/1375410822 +0 -0
  8. data/.pull_requests/1375469799 +0 -0
  9. data/.pull_requests/1375490251 +0 -0
  10. data/.pull_requests/1375493726 +0 -0
  11. data/.pull_requests/1375496302 +0 -0
  12. data/.pull_requests/1375496370 +0 -0
  13. data/.pull_requests/1375576640 +0 -0
  14. data/.pull_requests/1375841865 +0 -0
  15. data/.pull_requests/1376353301 +0 -0
  16. data/.pull_requests/1376358293 +0 -0
  17. data/.pull_requests/1376358392 +0 -0
  18. data/.pull_requests/1376451118 +0 -0
  19. data/.pull_requests/1376508357 +0 -0
  20. data/.pull_requests/1376513848 +0 -0
  21. data/.pull_requests/1376626000 +0 -0
  22. data/.pull_requests/1376626358 +0 -0
  23. data/.pull_requests/1376694273 +0 -0
  24. data/.pull_requests/1376696608 +0 -0
  25. data/.pull_requests/1376701133 +0 -0
  26. data/.pull_requests/1376705147 +0 -0
  27. data/.pull_requests/1377192571 +0 -0
  28. data/.pull_requests/1377195255 +0 -0
  29. data/.pull_requests/1377227817 +0 -0
  30. data/.pull_requests/1378780517 +0 -0
  31. data/.pull_requests/1379022091 +0 -0
  32. data/.pull_requests/1379023124 +0 -0
  33. data/.pull_requests/1379355960 +0 -0
  34. data/.pull_requests/1379457178 +0 -0
  35. data/.pull_requests/1379471050 +0 -0
  36. data/.pull_requests/1379630778 +0 -0
  37. data/.pull_requests/1380079375 +0 -0
  38. data/.pull_requests/1380081971 +0 -0
  39. data/.pull_requests/1380222458 +0 -0
  40. data/.pull_requests/1380229616 +0 -0
  41. data/.pull_requests/1380321946 +0 -0
  42. data/.pull_requests/1380587638 +0 -0
  43. data/.pull_requests/1380673383 +0 -0
  44. data/.pull_requests/1380675541 +0 -0
  45. data/.pull_requests/1380676529 +0 -0
  46. data/.pull_requests/1380944160 +0 -0
  47. data/.pull_requests/1381001404 +0 -0
  48. data/.pull_requests/1381001955 +0 -0
  49. data/.pull_requests/1381005206 +0 -0
  50. data/.pull_requests/1381103407 +0 -0
  51. data/.pull_requests/1381265319 +0 -0
  52. data/.pull_requests/1381276823 +0 -0
  53. data/.pull_requests/1381344368 +0 -0
  54. data/.pull_requests/1381385299 +0 -0
  55. data/.pull_requests/1381429963 +0 -0
  56. data/.pull_requests/1381532321 +0 -0
  57. data/.pull_requests/1381635684 +0 -0
  58. data/.pull_requests/1381875886 +0 -0
  59. data/.pull_requests/1382040914 +0 -0
  60. data/.pull_requests/1382056382 +0 -0
  61. data/.pull_requests/1382229425 +0 -0
  62. data/.pull_requests/1382501299 +0 -0
  63. data/.pull_requests/1382559045 +0 -0
  64. data/.pull_requests/1382569908 +0 -0
  65. data/.pull_requests/1382643470 +0 -0
  66. data/.pull_requests/1382660994 +0 -0
  67. data/.pull_requests/1382815660 +0 -0
  68. data/.pull_requests/1383162273 +0 -0
  69. data/.pull_requests/1383274302 +0 -0
  70. data/.pull_requests/1383274901 +0 -0
  71. data/.pull_requests/1383336387 +0 -0
  72. data/.pull_requests/1383420874 +0 -0
  73. data/.pull_requests/1383707748 +0 -0
  74. data/.pull_requests/1384207054 +0 -0
  75. data/.pull_requests/1384304643 +0 -0
  76. data/.pull_requests/1384447036 +0 -0
  77. data/.pull_requests/1384468478 +0 -0
  78. data/.pull_requests/1384801823 +0 -0
  79. data/.pull_requests/1385070261 +0 -0
  80. data/.pull_requests/1385518404 +0 -0
  81. data/.pull_requests/1385766008 +0 -0
  82. data/.pull_requests/1385778329 +0 -0
  83. data/.pull_requests/1385834422 +0 -0
  84. data/.pull_requests/1385835007 +0 -0
  85. data/.pull_requests/1385862948 +0 -0
  86. data/.pull_requests/1386099285 +0 -0
  87. data/.pull_requests/1386115582 +0 -0
  88. data/.pull_requests/1386448492 +0 -0
  89. data/.pull_requests/1387399930 +0 -0
  90. data/.pull_requests/1387400263 +0 -0
  91. data/.pull_requests/1387592428 +0 -0
  92. data/.pull_requests/1387944330 +0 -0
  93. data/.pull_requests/1388094706 +0 -0
  94. data/.pull_requests/1388441218 +0 -0
  95. data/.pull_requests/1388518194 +0 -0
  96. data/.pull_requests/1388713504 +0 -0
  97. data/.pull_requests/1388804598 +0 -0
  98. data/.pull_requests/1395697365 +0 -0
  99. data/.pull_requests/1403289532 +0 -0
  100. data/.rspec +1 -0
  101. data/.travis.yml +13 -0
  102. data/.vagrant.yml +1 -0
  103. data/Gemfile +26 -0
  104. data/LICENSE.txt +22 -0
  105. data/README.md +27 -0
  106. data/Rakefile +2 -0
  107. data/bin/sc +4 -0
  108. data/bin/softcover +4 -0
  109. data/lib/softcover/book.rb +238 -0
  110. data/lib/softcover/book_manifest.rb +385 -0
  111. data/lib/softcover/builder.rb +86 -0
  112. data/lib/softcover/builders/epub.rb +514 -0
  113. data/lib/softcover/builders/html.rb +239 -0
  114. data/lib/softcover/builders/mobi.rb +59 -0
  115. data/lib/softcover/builders/pdf.rb +160 -0
  116. data/lib/softcover/builders/preview.rb +38 -0
  117. data/lib/softcover/builders/utils/page.js +62 -0
  118. data/lib/softcover/cli.rb +270 -0
  119. data/lib/softcover/client.rb +119 -0
  120. data/lib/softcover/commands/auth.rb +18 -0
  121. data/lib/softcover/commands/build.rb +74 -0
  122. data/lib/softcover/commands/check.rb +112 -0
  123. data/lib/softcover/commands/deployment.rb +35 -0
  124. data/lib/softcover/commands/epub_validator.rb +32 -0
  125. data/lib/softcover/commands/generator.rb +140 -0
  126. data/lib/softcover/commands/opener.rb +17 -0
  127. data/lib/softcover/commands/publisher.rb +131 -0
  128. data/lib/softcover/commands/server.rb +66 -0
  129. data/lib/softcover/config.rb +62 -0
  130. data/lib/softcover/directories.rb +5 -0
  131. data/lib/softcover/formats.rb +5 -0
  132. data/lib/softcover/mathjax.rb +85 -0
  133. data/lib/softcover/output.rb +39 -0
  134. data/lib/softcover/rails/railtie.rb +9 -0
  135. data/lib/softcover/sanitizer.rb +48 -0
  136. data/lib/softcover/server/app.rb +78 -0
  137. data/lib/softcover/server/assets/bg.gif +0 -0
  138. data/lib/softcover/server/assets/icons.png +0 -0
  139. data/lib/softcover/server/assets/main.css +189 -0
  140. data/lib/softcover/server/assets/underscore-min.js +6 -0
  141. data/lib/softcover/server/assets/underscore-min.map +1 -0
  142. data/lib/softcover/server/views/book.html.erb +55 -0
  143. data/lib/softcover/server/views/main.js.erb +58 -0
  144. data/lib/softcover/template/.softcover-build +6 -0
  145. data/lib/softcover/template/.softcover-deploy +6 -0
  146. data/lib/softcover/template/Book.txt +9 -0
  147. data/lib/softcover/template/README.md +10 -0
  148. data/lib/softcover/template/chapters/a_chapter.md +142 -0
  149. data/lib/softcover/template/chapters/a_chapter.tex +182 -0
  150. data/lib/softcover/template/chapters/another_chapter.md +11 -0
  151. data/lib/softcover/template/chapters/another_chapter.tex +4 -0
  152. data/lib/softcover/template/chapters/preface.md +3 -0
  153. data/lib/softcover/template/chapters/preface.tex +3 -0
  154. data/lib/softcover/template/chapters/yet_another_chapter.md +3 -0
  155. data/lib/softcover/template/chapters/yet_another_chapter.tex +6 -0
  156. data/lib/softcover/template/config/book.yml.erb +11 -0
  157. data/lib/softcover/template/config/lang.yml +14 -0
  158. data/lib/softcover/template/config/marketing.yml +60 -0
  159. data/lib/softcover/template/config/preamble.tex +8 -0
  160. data/lib/softcover/template/epub/OEBPS/styles/.gitkeep +0 -0
  161. data/lib/softcover/template/epub/OEBPS/styles/custom_epub.css +7 -0
  162. data/lib/softcover/template/epub/OEBPS/styles/epub.css +23 -0
  163. data/lib/softcover/template/epub/OEBPS/styles/page-template.xpgt +49 -0
  164. data/lib/softcover/template/gitignore +36 -0
  165. data/lib/softcover/template/html/.gitkeep +0 -0
  166. data/lib/softcover/template/html/MathJax/MathJax.js +30 -0
  167. data/lib/softcover/template/html/MathJax/config/TeX-AMS-MML_SVG.js +68 -0
  168. data/lib/softcover/template/html/MathJax/config/TeX-AMS_HTML.js +59 -0
  169. data/lib/softcover/template/html/MathJax/extensions/FontWarnings.js +16 -0
  170. data/lib/softcover/template/html/MathJax/extensions/HTML-CSS/handle-floats.js +16 -0
  171. data/lib/softcover/template/html/MathJax/extensions/HelpDialog.js +16 -0
  172. data/lib/softcover/template/html/MathJax/extensions/MathEvents.js +16 -0
  173. data/lib/softcover/template/html/MathJax/extensions/MathML/content-mathml.js +16 -0
  174. data/lib/softcover/template/html/MathJax/extensions/MathMenu.js +16 -0
  175. data/lib/softcover/template/html/MathJax/extensions/MathZoom.js +16 -0
  176. data/lib/softcover/template/html/MathJax/extensions/Safe.js +16 -0
  177. data/lib/softcover/template/html/MathJax/extensions/TeX/AMScd.js +16 -0
  178. data/lib/softcover/template/html/MathJax/extensions/TeX/AMSmath.js +16 -0
  179. data/lib/softcover/template/html/MathJax/extensions/TeX/AMSsymbols.js +16 -0
  180. data/lib/softcover/template/html/MathJax/extensions/TeX/HTML.js +16 -0
  181. data/lib/softcover/template/html/MathJax/extensions/TeX/action.js +16 -0
  182. data/lib/softcover/template/html/MathJax/extensions/TeX/autobold.js +16 -0
  183. data/lib/softcover/template/html/MathJax/extensions/TeX/autoload-all.js +16 -0
  184. data/lib/softcover/template/html/MathJax/extensions/TeX/bbox.js +16 -0
  185. data/lib/softcover/template/html/MathJax/extensions/TeX/begingroup.js +16 -0
  186. data/lib/softcover/template/html/MathJax/extensions/TeX/boldsymbol.js +16 -0
  187. data/lib/softcover/template/html/MathJax/extensions/TeX/cancel.js +16 -0
  188. data/lib/softcover/template/html/MathJax/extensions/TeX/color.js +16 -0
  189. data/lib/softcover/template/html/MathJax/extensions/TeX/enclose.js +16 -0
  190. data/lib/softcover/template/html/MathJax/extensions/TeX/extpfeil.js +16 -0
  191. data/lib/softcover/template/html/MathJax/extensions/TeX/mathchoice.js +16 -0
  192. data/lib/softcover/template/html/MathJax/extensions/TeX/mhchem.js +16 -0
  193. data/lib/softcover/template/html/MathJax/extensions/TeX/newcommand.js +16 -0
  194. data/lib/softcover/template/html/MathJax/extensions/TeX/noErrors.js +16 -0
  195. data/lib/softcover/template/html/MathJax/extensions/TeX/noUndefined.js +16 -0
  196. data/lib/softcover/template/html/MathJax/extensions/TeX/unicode.js +16 -0
  197. data/lib/softcover/template/html/MathJax/extensions/TeX/verb.js +16 -0
  198. data/lib/softcover/template/html/MathJax/extensions/asciimath2jax.js +16 -0
  199. data/lib/softcover/template/html/MathJax/extensions/jsMath2jax.js +16 -0
  200. data/lib/softcover/template/html/MathJax/extensions/mml2jax.js +16 -0
  201. data/lib/softcover/template/html/MathJax/extensions/tex2jax.js +16 -0
  202. data/lib/softcover/template/html/MathJax/extensions/toMathML.js +16 -0
  203. data/lib/softcover/template/html/MathJax/fonts/HTML-CSS/TeX/woff/MathJax_AMS-Regular.woff +0 -0
  204. data/lib/softcover/template/html/MathJax/fonts/HTML-CSS/TeX/woff/MathJax_Caligraphic-Bold.woff +0 -0
  205. data/lib/softcover/template/html/MathJax/fonts/HTML-CSS/TeX/woff/MathJax_Caligraphic-Regular.woff +0 -0
  206. data/lib/softcover/template/html/MathJax/fonts/HTML-CSS/TeX/woff/MathJax_Fraktur-Bold.woff +0 -0
  207. data/lib/softcover/template/html/MathJax/fonts/HTML-CSS/TeX/woff/MathJax_Fraktur-Regular.woff +0 -0
  208. data/lib/softcover/template/html/MathJax/fonts/HTML-CSS/TeX/woff/MathJax_Main-Bold.woff +0 -0
  209. data/lib/softcover/template/html/MathJax/fonts/HTML-CSS/TeX/woff/MathJax_Main-Italic.woff +0 -0
  210. data/lib/softcover/template/html/MathJax/fonts/HTML-CSS/TeX/woff/MathJax_Main-Regular.woff +0 -0
  211. data/lib/softcover/template/html/MathJax/fonts/HTML-CSS/TeX/woff/MathJax_Math-BoldItalic.woff +0 -0
  212. data/lib/softcover/template/html/MathJax/fonts/HTML-CSS/TeX/woff/MathJax_Math-Italic.woff +0 -0
  213. data/lib/softcover/template/html/MathJax/fonts/HTML-CSS/TeX/woff/MathJax_Math-Regular.woff +0 -0
  214. data/lib/softcover/template/html/MathJax/fonts/HTML-CSS/TeX/woff/MathJax_SansSerif-Bold.woff +0 -0
  215. data/lib/softcover/template/html/MathJax/fonts/HTML-CSS/TeX/woff/MathJax_SansSerif-Italic.woff +0 -0
  216. data/lib/softcover/template/html/MathJax/fonts/HTML-CSS/TeX/woff/MathJax_SansSerif-Regular.woff +0 -0
  217. data/lib/softcover/template/html/MathJax/fonts/HTML-CSS/TeX/woff/MathJax_Script-Regular.woff +0 -0
  218. data/lib/softcover/template/html/MathJax/fonts/HTML-CSS/TeX/woff/MathJax_Size1-Regular.woff +0 -0
  219. data/lib/softcover/template/html/MathJax/fonts/HTML-CSS/TeX/woff/MathJax_Size2-Regular.woff +0 -0
  220. data/lib/softcover/template/html/MathJax/fonts/HTML-CSS/TeX/woff/MathJax_Size3-Regular.woff +0 -0
  221. data/lib/softcover/template/html/MathJax/fonts/HTML-CSS/TeX/woff/MathJax_Size4-Regular.woff +0 -0
  222. data/lib/softcover/template/html/MathJax/fonts/HTML-CSS/TeX/woff/MathJax_Typewriter-Regular.woff +0 -0
  223. data/lib/softcover/template/html/MathJax/images/CloseX-31.png +0 -0
  224. data/lib/softcover/template/html/MathJax/images/MenuArrow-15.png +0 -0
  225. data/lib/softcover/template/html/MathJax/jax/element/mml/jax.js +16 -0
  226. data/lib/softcover/template/html/MathJax/jax/element/mml/optable/Arrows.js +16 -0
  227. data/lib/softcover/template/html/MathJax/jax/element/mml/optable/BasicLatin.js +16 -0
  228. data/lib/softcover/template/html/MathJax/jax/element/mml/optable/CombDiacritMarks.js +16 -0
  229. data/lib/softcover/template/html/MathJax/jax/element/mml/optable/CombDiactForSymbols.js +16 -0
  230. data/lib/softcover/template/html/MathJax/jax/element/mml/optable/Dingbats.js +16 -0
  231. data/lib/softcover/template/html/MathJax/jax/element/mml/optable/GeneralPunctuation.js +16 -0
  232. data/lib/softcover/template/html/MathJax/jax/element/mml/optable/GeometricShapes.js +16 -0
  233. data/lib/softcover/template/html/MathJax/jax/element/mml/optable/GreekAndCoptic.js +16 -0
  234. data/lib/softcover/template/html/MathJax/jax/element/mml/optable/Latin1Supplement.js +16 -0
  235. data/lib/softcover/template/html/MathJax/jax/element/mml/optable/LetterlikeSymbols.js +16 -0
  236. data/lib/softcover/template/html/MathJax/jax/element/mml/optable/MathOperators.js +16 -0
  237. data/lib/softcover/template/html/MathJax/jax/element/mml/optable/MiscMathSymbolsA.js +16 -0
  238. data/lib/softcover/template/html/MathJax/jax/element/mml/optable/MiscMathSymbolsB.js +16 -0
  239. data/lib/softcover/template/html/MathJax/jax/element/mml/optable/MiscSymbolsAndArrows.js +16 -0
  240. data/lib/softcover/template/html/MathJax/jax/element/mml/optable/MiscTechnical.js +16 -0
  241. data/lib/softcover/template/html/MathJax/jax/element/mml/optable/SpacingModLetters.js +16 -0
  242. data/lib/softcover/template/html/MathJax/jax/element/mml/optable/SuppMathOperators.js +16 -0
  243. data/lib/softcover/template/html/MathJax/jax/element/mml/optable/SupplementalArrowsA.js +16 -0
  244. data/lib/softcover/template/html/MathJax/jax/element/mml/optable/SupplementalArrowsB.js +16 -0
  245. data/lib/softcover/template/html/MathJax/jax/input/AsciiMath/config.js +16 -0
  246. data/lib/softcover/template/html/MathJax/jax/input/AsciiMath/jax.js +16 -0
  247. data/lib/softcover/template/html/MathJax/jax/input/MathML/config.js +16 -0
  248. data/lib/softcover/template/html/MathJax/jax/input/MathML/entities/a.js +16 -0
  249. data/lib/softcover/template/html/MathJax/jax/input/MathML/entities/b.js +16 -0
  250. data/lib/softcover/template/html/MathJax/jax/input/MathML/entities/c.js +16 -0
  251. data/lib/softcover/template/html/MathJax/jax/input/MathML/entities/d.js +16 -0
  252. data/lib/softcover/template/html/MathJax/jax/input/MathML/entities/e.js +16 -0
  253. data/lib/softcover/template/html/MathJax/jax/input/MathML/entities/f.js +16 -0
  254. data/lib/softcover/template/html/MathJax/jax/input/MathML/entities/fr.js +16 -0
  255. data/lib/softcover/template/html/MathJax/jax/input/MathML/entities/g.js +16 -0
  256. data/lib/softcover/template/html/MathJax/jax/input/MathML/entities/h.js +16 -0
  257. data/lib/softcover/template/html/MathJax/jax/input/MathML/entities/i.js +16 -0
  258. data/lib/softcover/template/html/MathJax/jax/input/MathML/entities/j.js +16 -0
  259. data/lib/softcover/template/html/MathJax/jax/input/MathML/entities/k.js +16 -0
  260. data/lib/softcover/template/html/MathJax/jax/input/MathML/entities/l.js +16 -0
  261. data/lib/softcover/template/html/MathJax/jax/input/MathML/entities/m.js +16 -0
  262. data/lib/softcover/template/html/MathJax/jax/input/MathML/entities/n.js +16 -0
  263. data/lib/softcover/template/html/MathJax/jax/input/MathML/entities/o.js +16 -0
  264. data/lib/softcover/template/html/MathJax/jax/input/MathML/entities/opf.js +16 -0
  265. data/lib/softcover/template/html/MathJax/jax/input/MathML/entities/p.js +16 -0
  266. data/lib/softcover/template/html/MathJax/jax/input/MathML/entities/q.js +16 -0
  267. data/lib/softcover/template/html/MathJax/jax/input/MathML/entities/r.js +16 -0
  268. data/lib/softcover/template/html/MathJax/jax/input/MathML/entities/s.js +16 -0
  269. data/lib/softcover/template/html/MathJax/jax/input/MathML/entities/scr.js +16 -0
  270. data/lib/softcover/template/html/MathJax/jax/input/MathML/entities/t.js +16 -0
  271. data/lib/softcover/template/html/MathJax/jax/input/MathML/entities/u.js +16 -0
  272. data/lib/softcover/template/html/MathJax/jax/input/MathML/entities/v.js +16 -0
  273. data/lib/softcover/template/html/MathJax/jax/input/MathML/entities/w.js +16 -0
  274. data/lib/softcover/template/html/MathJax/jax/input/MathML/entities/x.js +16 -0
  275. data/lib/softcover/template/html/MathJax/jax/input/MathML/entities/y.js +16 -0
  276. data/lib/softcover/template/html/MathJax/jax/input/MathML/entities/z.js +16 -0
  277. data/lib/softcover/template/html/MathJax/jax/input/MathML/jax.js +16 -0
  278. data/lib/softcover/template/html/MathJax/jax/input/TeX/config.js +16 -0
  279. data/lib/softcover/template/html/MathJax/jax/input/TeX/jax.js +16 -0
  280. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/autoload/annotation-xml.js +16 -0
  281. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/autoload/maction.js +16 -0
  282. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/autoload/menclose.js +16 -0
  283. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/autoload/mglyph.js +16 -0
  284. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/autoload/mmultiscripts.js +16 -0
  285. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/autoload/ms.js +16 -0
  286. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/autoload/mtable.js +16 -0
  287. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/autoload/multiline.js +16 -0
  288. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/config.js +16 -0
  289. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/AlphaPresentForms.js +16 -0
  290. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/Arrows.js +16 -0
  291. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/BBBold.js +16 -0
  292. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/BoldFraktur.js +16 -0
  293. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/BoxDrawing.js +16 -0
  294. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/CombDiacritMarks.js +16 -0
  295. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/CombDiactForSymbols.js +16 -0
  296. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/ControlPictures.js +16 -0
  297. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/CurrencySymbols.js +16 -0
  298. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/Cyrillic.js +16 -0
  299. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/EnclosedAlphanum.js +16 -0
  300. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/GeneralPunctuation.js +16 -0
  301. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/GeometricShapes.js +16 -0
  302. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/GreekAndCoptic.js +16 -0
  303. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/GreekBold.js +16 -0
  304. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/GreekSSBold.js +16 -0
  305. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/IPAExtensions.js +16 -0
  306. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/Latin1Supplement.js +16 -0
  307. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/LatinExtendedA.js +16 -0
  308. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/LatinExtendedAdditional.js +16 -0
  309. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/LatinExtendedB.js +16 -0
  310. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/LatinExtendedD.js +16 -0
  311. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/LetterlikeSymbols.js +16 -0
  312. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/Main.js +16 -0
  313. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/MathBold.js +16 -0
  314. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/MathOperators.js +16 -0
  315. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/MathSSBold.js +16 -0
  316. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/MiscMathSymbolsA.js +16 -0
  317. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/MiscMathSymbolsB.js +16 -0
  318. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/MiscSymbols.js +16 -0
  319. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/MiscTechnical.js +16 -0
  320. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/NumberForms.js +16 -0
  321. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/PhoneticExtensions.js +16 -0
  322. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/SpacingModLetters.js +16 -0
  323. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/SuperAndSubscripts.js +16 -0
  324. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/SuppMathOperators.js +16 -0
  325. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/AlphaPresentForms.js +16 -0
  326. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/BasicLatin.js +16 -0
  327. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/BoxDrawing.js +16 -0
  328. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/CombDiactForSymbols.js +16 -0
  329. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/ControlPictures.js +16 -0
  330. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/CurrencySymbols.js +16 -0
  331. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/Cyrillic.js +16 -0
  332. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/EnclosedAlphanum.js +16 -0
  333. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/GeneralPunctuation.js +16 -0
  334. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/GreekAndCoptic.js +16 -0
  335. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/GreekBoldItalic.js +16 -0
  336. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/GreekSSBoldItalic.js +16 -0
  337. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/IPAExtensions.js +16 -0
  338. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/Latin1Supplement.js +16 -0
  339. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/LatinExtendedA.js +16 -0
  340. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/LatinExtendedAdditional.js +16 -0
  341. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/LatinExtendedB.js +16 -0
  342. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/LetterlikeSymbols.js +16 -0
  343. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/Main.js +16 -0
  344. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/MathBoldItalic.js +16 -0
  345. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/MathBoldScript.js +16 -0
  346. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/MathOperators.js +16 -0
  347. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/MathSSItalicBold.js +16 -0
  348. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/SpacingModLetters.js +16 -0
  349. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/AlphaPresentForms.js +16 -0
  350. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/BoxDrawing.js +16 -0
  351. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/CombDiactForSymbols.js +16 -0
  352. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/ControlPictures.js +16 -0
  353. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/CurrencySymbols.js +16 -0
  354. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/Cyrillic.js +16 -0
  355. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/EnclosedAlphanum.js +16 -0
  356. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/GeneralPunctuation.js +16 -0
  357. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/GreekAndCoptic.js +16 -0
  358. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/GreekItalic.js +16 -0
  359. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/IPAExtensions.js +16 -0
  360. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/Latin1Supplement.js +16 -0
  361. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/LatinExtendedA.js +16 -0
  362. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/LatinExtendedAdditional.js +16 -0
  363. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/LatinExtendedB.js +16 -0
  364. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/LetterlikeSymbols.js +16 -0
  365. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/Main.js +16 -0
  366. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/MathItalic.js +16 -0
  367. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/MathOperators.js +16 -0
  368. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/MathSSItalic.js +16 -0
  369. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/MathScript.js +16 -0
  370. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/SpacingModLetters.js +16 -0
  371. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/ij.js +16 -0
  372. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/AlphaPresentForms.js +16 -0
  373. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/Arrows.js +16 -0
  374. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/BBBold.js +16 -0
  375. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/BlockElements.js +16 -0
  376. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/BoldFraktur.js +16 -0
  377. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/BoxDrawing.js +16 -0
  378. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/CJK.js +16 -0
  379. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/CombDiacritMarks.js +16 -0
  380. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/CombDiactForSymbols.js +16 -0
  381. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/ControlPictures.js +16 -0
  382. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/CurrencySymbols.js +16 -0
  383. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/Cyrillic.js +16 -0
  384. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/Dingbats.js +16 -0
  385. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/EnclosedAlphanum.js +16 -0
  386. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/Fraktur.js +16 -0
  387. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/GeneralPunctuation.js +16 -0
  388. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/GeometricShapes.js +16 -0
  389. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/GreekAndCoptic.js +16 -0
  390. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/GreekBold.js +16 -0
  391. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/GreekBoldItalic.js +16 -0
  392. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/GreekItalic.js +16 -0
  393. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/GreekSSBold.js +16 -0
  394. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/GreekSSBoldItalic.js +16 -0
  395. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/Hiragana.js +16 -0
  396. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/IPAExtensions.js +16 -0
  397. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/Latin1Supplement.js +16 -0
  398. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/LatinExtendedA.js +16 -0
  399. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/LatinExtendedAdditional.js +16 -0
  400. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/LatinExtendedB.js +16 -0
  401. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/LatinExtendedD.js +16 -0
  402. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/LetterlikeSymbols.js +16 -0
  403. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/Main.js +16 -0
  404. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MathBold.js +16 -0
  405. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MathBoldItalic.js +16 -0
  406. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MathBoldScript.js +16 -0
  407. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MathItalic.js +16 -0
  408. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MathOperators.js +16 -0
  409. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MathSS.js +16 -0
  410. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MathSSBold.js +16 -0
  411. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MathSSItalic.js +16 -0
  412. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MathSSItalicBold.js +16 -0
  413. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MathScript.js +16 -0
  414. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MathTT.js +16 -0
  415. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MiscMathSymbolsA.js +16 -0
  416. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MiscMathSymbolsB.js +16 -0
  417. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MiscSymbols.js +16 -0
  418. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MiscSymbolsAndArrows.js +16 -0
  419. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MiscTechnical.js +16 -0
  420. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/NumberForms.js +16 -0
  421. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/PhoneticExtensions.js +16 -0
  422. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/SpacingModLetters.js +16 -0
  423. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/Specials.js +16 -0
  424. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/SuperAndSubscripts.js +16 -0
  425. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/SuppMathOperators.js +16 -0
  426. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/SupplementalArrowsA.js +16 -0
  427. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/SupplementalArrowsB.js +16 -0
  428. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/ij.js +16 -0
  429. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/IntegralsD/Bold/All.js +16 -0
  430. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/IntegralsD/Regular/All.js +16 -0
  431. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/IntegralsD/Regular/Main.js +16 -0
  432. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/IntegralsSm/Bold/All.js +16 -0
  433. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/IntegralsSm/Regular/All.js +16 -0
  434. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/IntegralsSm/Regular/Main.js +16 -0
  435. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/IntegralsUp/Bold/All.js +16 -0
  436. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/IntegralsUp/Regular/All.js +16 -0
  437. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/IntegralsUp/Regular/Main.js +16 -0
  438. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/IntegralsUpD/Bold/All.js +16 -0
  439. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/IntegralsUpD/Regular/All.js +16 -0
  440. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/IntegralsUpD/Regular/Main.js +16 -0
  441. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/IntegralsUpSm/Bold/All.js +16 -0
  442. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/IntegralsUpSm/Regular/All.js +16 -0
  443. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/IntegralsUpSm/Regular/Main.js +16 -0
  444. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/NonUnicode/Bold/All.js +16 -0
  445. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/NonUnicode/Bold/Main.js +16 -0
  446. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/NonUnicode/Bold/PrivateUse.js +16 -0
  447. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/NonUnicode/BoldItalic/All.js +16 -0
  448. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/NonUnicode/BoldItalic/Main.js +16 -0
  449. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/NonUnicode/BoldItalic/PrivateUse.js +16 -0
  450. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/NonUnicode/Italic/All.js +16 -0
  451. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/NonUnicode/Italic/Main.js +16 -0
  452. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/NonUnicode/Italic/PrivateUse.js +16 -0
  453. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/NonUnicode/Regular/All.js +16 -0
  454. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/NonUnicode/Regular/Main.js +16 -0
  455. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/NonUnicode/Regular/PrivateUse.js +16 -0
  456. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/SizeFiveSym/Regular/All.js +16 -0
  457. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/SizeFiveSym/Regular/Main.js +16 -0
  458. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/SizeFourSym/Bold/Main.js +16 -0
  459. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/SizeFourSym/Regular/All.js +16 -0
  460. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/SizeFourSym/Regular/Main.js +16 -0
  461. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/SizeOneSym/Bold/All.js +16 -0
  462. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/SizeOneSym/Bold/Main.js +16 -0
  463. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/SizeOneSym/Regular/All.js +16 -0
  464. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/SizeOneSym/Regular/Main.js +16 -0
  465. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/SizeThreeSym/Bold/Main.js +16 -0
  466. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/SizeThreeSym/Regular/All.js +16 -0
  467. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/SizeThreeSym/Regular/Main.js +16 -0
  468. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/SizeTwoSym/Bold/Main.js +16 -0
  469. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/SizeTwoSym/Regular/All.js +16 -0
  470. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/SizeTwoSym/Regular/Main.js +16 -0
  471. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/Variants/Bold/All.js +16 -0
  472. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/Variants/Bold/Main.js +16 -0
  473. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/Variants/Regular/All.js +16 -0
  474. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/Variants/Regular/Main.js +16 -0
  475. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/fontdata-1.0.js +16 -0
  476. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/fontdata-beta.js +16 -0
  477. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/fontdata-extra.js +16 -0
  478. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/STIX/fontdata.js +16 -0
  479. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/Arrows.js +16 -0
  480. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/BBBold.js +16 -0
  481. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/BoxDrawing.js +16 -0
  482. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/CombDiacritMarks.js +16 -0
  483. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/Dingbats.js +16 -0
  484. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/EnclosedAlphanum.js +16 -0
  485. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/GeneralPunctuation.js +16 -0
  486. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/GeometricShapes.js +16 -0
  487. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/GreekAndCoptic.js +16 -0
  488. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/Latin1Supplement.js +16 -0
  489. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/LatinExtendedA.js +16 -0
  490. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/LetterlikeSymbols.js +16 -0
  491. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/Main.js +16 -0
  492. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/MathOperators.js +16 -0
  493. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/MiscMathSymbolsB.js +16 -0
  494. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/MiscSymbols.js +16 -0
  495. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/MiscTechnical.js +16 -0
  496. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/PUA.js +16 -0
  497. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/SpacingModLetters.js +16 -0
  498. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/SuppMathOperators.js +16 -0
  499. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/TeX/Caligraphic/Bold/Main.js +16 -0
  500. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/TeX/Caligraphic/Regular/Main.js +16 -0
  501. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/TeX/Fraktur/Bold/BasicLatin.js +16 -0
  502. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/TeX/Fraktur/Bold/Main.js +16 -0
  503. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/TeX/Fraktur/Bold/Other.js +16 -0
  504. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/TeX/Fraktur/Bold/PUA.js +16 -0
  505. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/TeX/Fraktur/Regular/BasicLatin.js +16 -0
  506. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/TeX/Fraktur/Regular/Main.js +16 -0
  507. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/TeX/Fraktur/Regular/Other.js +16 -0
  508. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/TeX/Fraktur/Regular/PUA.js +16 -0
  509. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/TeX/Greek/Bold/Main.js +16 -0
  510. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/TeX/Greek/BoldItalic/Main.js +16 -0
  511. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/TeX/Greek/Italic/Main.js +16 -0
  512. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/TeX/Greek/Regular/Main.js +16 -0
  513. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/Arrows.js +16 -0
  514. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/CombDiacritMarks.js +16 -0
  515. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/CombDiactForSymbols.js +16 -0
  516. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/GeneralPunctuation.js +16 -0
  517. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/GeometricShapes.js +16 -0
  518. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/Latin1Supplement.js +16 -0
  519. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/LatinExtendedA.js +16 -0
  520. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/LatinExtendedB.js +16 -0
  521. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/LetterlikeSymbols.js +16 -0
  522. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/Main.js +16 -0
  523. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/MathOperators.js +16 -0
  524. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/MiscMathSymbolsA.js +16 -0
  525. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/MiscSymbols.js +16 -0
  526. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/MiscTechnical.js +16 -0
  527. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/SpacingModLetters.js +16 -0
  528. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/SuppMathOperators.js +16 -0
  529. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/SupplementalArrowsA.js +16 -0
  530. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Italic/CombDiacritMarks.js +16 -0
  531. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Italic/GeneralPunctuation.js +16 -0
  532. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Italic/Latin1Supplement.js +16 -0
  533. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Italic/LetterlikeSymbols.js +16 -0
  534. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Italic/Main.js +16 -0
  535. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Regular/CombDiacritMarks.js +16 -0
  536. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Regular/GeometricShapes.js +16 -0
  537. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Regular/Main.js +16 -0
  538. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Regular/MiscSymbols.js +16 -0
  539. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Regular/SpacingModLetters.js +16 -0
  540. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/TeX/Math/BoldItalic/Main.js +16 -0
  541. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/TeX/Math/Italic/Main.js +16 -0
  542. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/TeX/SansSerif/Bold/BasicLatin.js +16 -0
  543. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/TeX/SansSerif/Bold/CombDiacritMarks.js +16 -0
  544. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/TeX/SansSerif/Bold/Main.js +16 -0
  545. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/TeX/SansSerif/Bold/Other.js +16 -0
  546. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/TeX/SansSerif/Italic/BasicLatin.js +16 -0
  547. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/TeX/SansSerif/Italic/CombDiacritMarks.js +16 -0
  548. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/TeX/SansSerif/Italic/Main.js +16 -0
  549. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/TeX/SansSerif/Italic/Other.js +16 -0
  550. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/TeX/SansSerif/Regular/BasicLatin.js +16 -0
  551. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/TeX/SansSerif/Regular/CombDiacritMarks.js +16 -0
  552. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/TeX/SansSerif/Regular/Main.js +16 -0
  553. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/TeX/SansSerif/Regular/Other.js +16 -0
  554. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/TeX/Script/Regular/BasicLatin.js +16 -0
  555. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/TeX/Script/Regular/Main.js +16 -0
  556. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/TeX/Script/Regular/Other.js +16 -0
  557. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/TeX/Size1/Regular/Main.js +16 -0
  558. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/TeX/Size2/Regular/Main.js +16 -0
  559. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/TeX/Size3/Regular/Main.js +16 -0
  560. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/TeX/Size4/Regular/Main.js +16 -0
  561. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/TeX/Typewriter/Regular/BasicLatin.js +16 -0
  562. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/TeX/Typewriter/Regular/CombDiacritMarks.js +16 -0
  563. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/TeX/Typewriter/Regular/Main.js +16 -0
  564. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/TeX/Typewriter/Regular/Other.js +16 -0
  565. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/TeX/WinChrome/Regular/Main.js +16 -0
  566. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/TeX/WinIE6/Regular/AMS.js +16 -0
  567. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/TeX/WinIE6/Regular/Bold.js +16 -0
  568. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/TeX/WinIE6/Regular/Main.js +16 -0
  569. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/TeX/fontdata-extra.js +16 -0
  570. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/fonts/TeX/fontdata.js +16 -0
  571. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/imageFonts.js +16 -0
  572. data/lib/softcover/template/html/MathJax/jax/output/HTML-CSS/jax.js +16 -0
  573. data/lib/softcover/template/html/MathJax/jax/output/NativeMML/config.js +16 -0
  574. data/lib/softcover/template/html/MathJax/jax/output/NativeMML/jax.js +16 -0
  575. data/lib/softcover/template/html/MathJax/jax/output/SVG/autoload/annotation-xml.js +16 -0
  576. data/lib/softcover/template/html/MathJax/jax/output/SVG/autoload/maction.js +16 -0
  577. data/lib/softcover/template/html/MathJax/jax/output/SVG/autoload/menclose.js +16 -0
  578. data/lib/softcover/template/html/MathJax/jax/output/SVG/autoload/mglyph.js +16 -0
  579. data/lib/softcover/template/html/MathJax/jax/output/SVG/autoload/mmultiscripts.js +16 -0
  580. data/lib/softcover/template/html/MathJax/jax/output/SVG/autoload/ms.js +16 -0
  581. data/lib/softcover/template/html/MathJax/jax/output/SVG/autoload/mtable.js +16 -0
  582. data/lib/softcover/template/html/MathJax/jax/output/SVG/autoload/multiline.js +16 -0
  583. data/lib/softcover/template/html/MathJax/jax/output/SVG/config.js +16 -0
  584. data/lib/softcover/template/html/MathJax/jax/output/SVG/fonts/TeX/AMS/Regular/Arrows.js +16 -0
  585. data/lib/softcover/template/html/MathJax/jax/output/SVG/fonts/TeX/AMS/Regular/BoxDrawing.js +16 -0
  586. data/lib/softcover/template/html/MathJax/jax/output/SVG/fonts/TeX/AMS/Regular/CombDiacritMarks.js +16 -0
  587. data/lib/softcover/template/html/MathJax/jax/output/SVG/fonts/TeX/AMS/Regular/Dingbats.js +16 -0
  588. data/lib/softcover/template/html/MathJax/jax/output/SVG/fonts/TeX/AMS/Regular/EnclosedAlphanum.js +16 -0
  589. data/lib/softcover/template/html/MathJax/jax/output/SVG/fonts/TeX/AMS/Regular/GeneralPunctuation.js +16 -0
  590. data/lib/softcover/template/html/MathJax/jax/output/SVG/fonts/TeX/AMS/Regular/GeometricShapes.js +16 -0
  591. data/lib/softcover/template/html/MathJax/jax/output/SVG/fonts/TeX/AMS/Regular/GreekAndCoptic.js +16 -0
  592. data/lib/softcover/template/html/MathJax/jax/output/SVG/fonts/TeX/AMS/Regular/Latin1Supplement.js +16 -0
  593. data/lib/softcover/template/html/MathJax/jax/output/SVG/fonts/TeX/AMS/Regular/LatinExtendedA.js +16 -0
  594. data/lib/softcover/template/html/MathJax/jax/output/SVG/fonts/TeX/AMS/Regular/LetterlikeSymbols.js +16 -0
  595. data/lib/softcover/template/html/MathJax/jax/output/SVG/fonts/TeX/AMS/Regular/Main.js +16 -0
  596. data/lib/softcover/template/html/MathJax/jax/output/SVG/fonts/TeX/AMS/Regular/MathOperators.js +16 -0
  597. data/lib/softcover/template/html/MathJax/jax/output/SVG/fonts/TeX/AMS/Regular/MiscMathSymbolsB.js +16 -0
  598. data/lib/softcover/template/html/MathJax/jax/output/SVG/fonts/TeX/AMS/Regular/MiscSymbols.js +16 -0
  599. data/lib/softcover/template/html/MathJax/jax/output/SVG/fonts/TeX/AMS/Regular/MiscTechnical.js +16 -0
  600. data/lib/softcover/template/html/MathJax/jax/output/SVG/fonts/TeX/AMS/Regular/PUA.js +16 -0
  601. data/lib/softcover/template/html/MathJax/jax/output/SVG/fonts/TeX/AMS/Regular/SpacingModLetters.js +16 -0
  602. data/lib/softcover/template/html/MathJax/jax/output/SVG/fonts/TeX/AMS/Regular/SuppMathOperators.js +16 -0
  603. data/lib/softcover/template/html/MathJax/jax/output/SVG/fonts/TeX/Caligraphic/Bold/Main.js +16 -0
  604. data/lib/softcover/template/html/MathJax/jax/output/SVG/fonts/TeX/Caligraphic/Regular/Main.js +16 -0
  605. data/lib/softcover/template/html/MathJax/jax/output/SVG/fonts/TeX/Fraktur/Bold/BasicLatin.js +16 -0
  606. data/lib/softcover/template/html/MathJax/jax/output/SVG/fonts/TeX/Fraktur/Bold/Main.js +16 -0
  607. data/lib/softcover/template/html/MathJax/jax/output/SVG/fonts/TeX/Fraktur/Bold/Other.js +16 -0
  608. data/lib/softcover/template/html/MathJax/jax/output/SVG/fonts/TeX/Fraktur/Bold/PUA.js +16 -0
  609. data/lib/softcover/template/html/MathJax/jax/output/SVG/fonts/TeX/Fraktur/Regular/BasicLatin.js +16 -0
  610. data/lib/softcover/template/html/MathJax/jax/output/SVG/fonts/TeX/Fraktur/Regular/Main.js +16 -0
  611. data/lib/softcover/template/html/MathJax/jax/output/SVG/fonts/TeX/Fraktur/Regular/Other.js +16 -0
  612. data/lib/softcover/template/html/MathJax/jax/output/SVG/fonts/TeX/Fraktur/Regular/PUA.js +16 -0
  613. data/lib/softcover/template/html/MathJax/jax/output/SVG/fonts/TeX/Main/Bold/Arrows.js +16 -0
  614. data/lib/softcover/template/html/MathJax/jax/output/SVG/fonts/TeX/Main/Bold/BasicLatin.js +16 -0
  615. data/lib/softcover/template/html/MathJax/jax/output/SVG/fonts/TeX/Main/Bold/CombDiacritMarks.js +16 -0
  616. data/lib/softcover/template/html/MathJax/jax/output/SVG/fonts/TeX/Main/Bold/CombDiactForSymbols.js +16 -0
  617. data/lib/softcover/template/html/MathJax/jax/output/SVG/fonts/TeX/Main/Bold/GeneralPunctuation.js +16 -0
  618. data/lib/softcover/template/html/MathJax/jax/output/SVG/fonts/TeX/Main/Bold/GeometricShapes.js +16 -0
  619. data/lib/softcover/template/html/MathJax/jax/output/SVG/fonts/TeX/Main/Bold/GreekAndCoptic.js +16 -0
  620. data/lib/softcover/template/html/MathJax/jax/output/SVG/fonts/TeX/Main/Bold/Latin1Supplement.js +16 -0
  621. data/lib/softcover/template/html/MathJax/jax/output/SVG/fonts/TeX/Main/Bold/LatinExtendedA.js +16 -0
  622. data/lib/softcover/template/html/MathJax/jax/output/SVG/fonts/TeX/Main/Bold/LatinExtendedB.js +16 -0
  623. data/lib/softcover/template/html/MathJax/jax/output/SVG/fonts/TeX/Main/Bold/LetterlikeSymbols.js +16 -0
  624. data/lib/softcover/template/html/MathJax/jax/output/SVG/fonts/TeX/Main/Bold/Main.js +16 -0
  625. data/lib/softcover/template/html/MathJax/jax/output/SVG/fonts/TeX/Main/Bold/MathOperators.js +16 -0
  626. data/lib/softcover/template/html/MathJax/jax/output/SVG/fonts/TeX/Main/Bold/MiscMathSymbolsA.js +16 -0
  627. data/lib/softcover/template/html/MathJax/jax/output/SVG/fonts/TeX/Main/Bold/MiscSymbols.js +16 -0
  628. data/lib/softcover/template/html/MathJax/jax/output/SVG/fonts/TeX/Main/Bold/MiscTechnical.js +16 -0
  629. data/lib/softcover/template/html/MathJax/jax/output/SVG/fonts/TeX/Main/Bold/SpacingModLetters.js +16 -0
  630. data/lib/softcover/template/html/MathJax/jax/output/SVG/fonts/TeX/Main/Bold/SuppMathOperators.js +16 -0
  631. data/lib/softcover/template/html/MathJax/jax/output/SVG/fonts/TeX/Main/Bold/SupplementalArrowsA.js +16 -0
  632. data/lib/softcover/template/html/MathJax/jax/output/SVG/fonts/TeX/Main/Italic/BasicLatin.js +16 -0
  633. data/lib/softcover/template/html/MathJax/jax/output/SVG/fonts/TeX/Main/Italic/CombDiacritMarks.js +16 -0
  634. data/lib/softcover/template/html/MathJax/jax/output/SVG/fonts/TeX/Main/Italic/GeneralPunctuation.js +16 -0
  635. data/lib/softcover/template/html/MathJax/jax/output/SVG/fonts/TeX/Main/Italic/GreekAndCoptic.js +16 -0
  636. data/lib/softcover/template/html/MathJax/jax/output/SVG/fonts/TeX/Main/Italic/LatinExtendedA.js +16 -0
  637. data/lib/softcover/template/html/MathJax/jax/output/SVG/fonts/TeX/Main/Italic/LatinExtendedB.js +16 -0
  638. data/lib/softcover/template/html/MathJax/jax/output/SVG/fonts/TeX/Main/Italic/LetterlikeSymbols.js +16 -0
  639. data/lib/softcover/template/html/MathJax/jax/output/SVG/fonts/TeX/Main/Italic/Main.js +16 -0
  640. data/lib/softcover/template/html/MathJax/jax/output/SVG/fonts/TeX/Main/Italic/MathOperators.js +16 -0
  641. data/lib/softcover/template/html/MathJax/jax/output/SVG/fonts/TeX/Main/Regular/BasicLatin.js +16 -0
  642. data/lib/softcover/template/html/MathJax/jax/output/SVG/fonts/TeX/Main/Regular/CombDiacritMarks.js +16 -0
  643. data/lib/softcover/template/html/MathJax/jax/output/SVG/fonts/TeX/Main/Regular/GeometricShapes.js +16 -0
  644. data/lib/softcover/template/html/MathJax/jax/output/SVG/fonts/TeX/Main/Regular/GreekAndCoptic.js +16 -0
  645. data/lib/softcover/template/html/MathJax/jax/output/SVG/fonts/TeX/Main/Regular/LatinExtendedA.js +16 -0
  646. data/lib/softcover/template/html/MathJax/jax/output/SVG/fonts/TeX/Main/Regular/LatinExtendedB.js +16 -0
  647. data/lib/softcover/template/html/MathJax/jax/output/SVG/fonts/TeX/Main/Regular/LetterlikeSymbols.js +16 -0
  648. data/lib/softcover/template/html/MathJax/jax/output/SVG/fonts/TeX/Main/Regular/Main.js +16 -0
  649. data/lib/softcover/template/html/MathJax/jax/output/SVG/fonts/TeX/Main/Regular/MathOperators.js +16 -0
  650. data/lib/softcover/template/html/MathJax/jax/output/SVG/fonts/TeX/Main/Regular/MiscSymbols.js +16 -0
  651. data/lib/softcover/template/html/MathJax/jax/output/SVG/fonts/TeX/Main/Regular/SpacingModLetters.js +16 -0
  652. data/lib/softcover/template/html/MathJax/jax/output/SVG/fonts/TeX/Main/Regular/SuppMathOperators.js +16 -0
  653. data/lib/softcover/template/html/MathJax/jax/output/SVG/fonts/TeX/Math/BoldItalic/Main.js +16 -0
  654. data/lib/softcover/template/html/MathJax/jax/output/SVG/fonts/TeX/Math/Italic/Main.js +16 -0
  655. data/lib/softcover/template/html/MathJax/jax/output/SVG/fonts/TeX/SansSerif/Bold/BasicLatin.js +16 -0
  656. data/lib/softcover/template/html/MathJax/jax/output/SVG/fonts/TeX/SansSerif/Bold/CombDiacritMarks.js +16 -0
  657. data/lib/softcover/template/html/MathJax/jax/output/SVG/fonts/TeX/SansSerif/Bold/Main.js +16 -0
  658. data/lib/softcover/template/html/MathJax/jax/output/SVG/fonts/TeX/SansSerif/Bold/Other.js +16 -0
  659. data/lib/softcover/template/html/MathJax/jax/output/SVG/fonts/TeX/SansSerif/Italic/BasicLatin.js +16 -0
  660. data/lib/softcover/template/html/MathJax/jax/output/SVG/fonts/TeX/SansSerif/Italic/CombDiacritMarks.js +16 -0
  661. data/lib/softcover/template/html/MathJax/jax/output/SVG/fonts/TeX/SansSerif/Italic/Main.js +16 -0
  662. data/lib/softcover/template/html/MathJax/jax/output/SVG/fonts/TeX/SansSerif/Italic/Other.js +16 -0
  663. data/lib/softcover/template/html/MathJax/jax/output/SVG/fonts/TeX/SansSerif/Regular/BasicLatin.js +16 -0
  664. data/lib/softcover/template/html/MathJax/jax/output/SVG/fonts/TeX/SansSerif/Regular/CombDiacritMarks.js +16 -0
  665. data/lib/softcover/template/html/MathJax/jax/output/SVG/fonts/TeX/SansSerif/Regular/Main.js +16 -0
  666. data/lib/softcover/template/html/MathJax/jax/output/SVG/fonts/TeX/SansSerif/Regular/Other.js +16 -0
  667. data/lib/softcover/template/html/MathJax/jax/output/SVG/fonts/TeX/Script/Regular/BasicLatin.js +16 -0
  668. data/lib/softcover/template/html/MathJax/jax/output/SVG/fonts/TeX/Script/Regular/Main.js +16 -0
  669. data/lib/softcover/template/html/MathJax/jax/output/SVG/fonts/TeX/Size1/Regular/Main.js +16 -0
  670. data/lib/softcover/template/html/MathJax/jax/output/SVG/fonts/TeX/Size2/Regular/Main.js +16 -0
  671. data/lib/softcover/template/html/MathJax/jax/output/SVG/fonts/TeX/Size3/Regular/Main.js +16 -0
  672. data/lib/softcover/template/html/MathJax/jax/output/SVG/fonts/TeX/Size4/Regular/Main.js +16 -0
  673. data/lib/softcover/template/html/MathJax/jax/output/SVG/fonts/TeX/Typewriter/Regular/BasicLatin.js +16 -0
  674. data/lib/softcover/template/html/MathJax/jax/output/SVG/fonts/TeX/Typewriter/Regular/CombDiacritMarks.js +16 -0
  675. data/lib/softcover/template/html/MathJax/jax/output/SVG/fonts/TeX/Typewriter/Regular/Main.js +16 -0
  676. data/lib/softcover/template/html/MathJax/jax/output/SVG/fonts/TeX/Typewriter/Regular/Other.js +16 -0
  677. data/lib/softcover/template/html/MathJax/jax/output/SVG/fonts/TeX/fontdata-extra.js +16 -0
  678. data/lib/softcover/template/html/MathJax/jax/output/SVG/fonts/TeX/fontdata.js +16 -0
  679. data/lib/softcover/template/html/MathJax/jax/output/SVG/jax.js +16 -0
  680. data/lib/softcover/template/html/MathJax/localization/de/FontWarnings.js +16 -0
  681. data/lib/softcover/template/html/MathJax/localization/de/HTML-CSS.js +16 -0
  682. data/lib/softcover/template/html/MathJax/localization/de/HelpDialog.js +16 -0
  683. data/lib/softcover/template/html/MathJax/localization/de/MathML.js +16 -0
  684. data/lib/softcover/template/html/MathJax/localization/de/MathMenu.js +16 -0
  685. data/lib/softcover/template/html/MathJax/localization/de/TeX.js +16 -0
  686. data/lib/softcover/template/html/MathJax/localization/de/de.js +16 -0
  687. data/lib/softcover/template/html/MathJax/localization/en/FontWarnings.js +16 -0
  688. data/lib/softcover/template/html/MathJax/localization/en/HTML-CSS.js +16 -0
  689. data/lib/softcover/template/html/MathJax/localization/en/HelpDialog.js +16 -0
  690. data/lib/softcover/template/html/MathJax/localization/en/MathML.js +16 -0
  691. data/lib/softcover/template/html/MathJax/localization/en/MathMenu.js +16 -0
  692. data/lib/softcover/template/html/MathJax/localization/en/TeX.js +16 -0
  693. data/lib/softcover/template/html/MathJax/localization/en/en.js +16 -0
  694. data/lib/softcover/template/html/MathJax/localization/fr/FontWarnings.js +16 -0
  695. data/lib/softcover/template/html/MathJax/localization/fr/HTML-CSS.js +16 -0
  696. data/lib/softcover/template/html/MathJax/localization/fr/HelpDialog.js +16 -0
  697. data/lib/softcover/template/html/MathJax/localization/fr/MathML.js +16 -0
  698. data/lib/softcover/template/html/MathJax/localization/fr/MathMenu.js +16 -0
  699. data/lib/softcover/template/html/MathJax/localization/fr/TeX.js +16 -0
  700. data/lib/softcover/template/html/MathJax/localization/fr/fr.js +16 -0
  701. data/lib/softcover/template/html/jquery/1.10.2/jquery-1.10.2.js +9789 -0
  702. data/lib/softcover/template/html/jquery/1.10.2/jquery-1.10.2.min.map +1 -0
  703. data/lib/softcover/template/html/stylesheets/.gitkeep +0 -0
  704. data/lib/softcover/template/html/stylesheets/custom.css +15 -0
  705. data/lib/softcover/template/html/stylesheets/softcover.css +440 -0
  706. data/lib/softcover/template/images/.gitkeep +0 -0
  707. data/lib/softcover/template/images/2011_michael_hartl.png +0 -0
  708. data/lib/softcover/template/images/cover-web.png +0 -0
  709. data/lib/softcover/template/images/cover.jpg +0 -0
  710. data/lib/softcover/template/images/cover.pdf +1020 -15
  711. data/lib/softcover/template/images/cover.png +0 -0
  712. data/lib/softcover/template/images/figures/.gitkeep +0 -0
  713. data/lib/softcover/template/images/testimonial_1.png +0 -0
  714. data/lib/softcover/template/latex_styles/custom.sty +19 -0
  715. data/lib/softcover/template/latex_styles/custom_pdf.sty +9 -0
  716. data/lib/softcover/template/latex_styles/framed.sty +548 -0
  717. data/lib/softcover/template/latex_styles/language_customization.sty +11 -0
  718. data/lib/softcover/template/latex_styles/softcover.sty +167 -0
  719. data/lib/softcover/template/media/screencasts/.gitkeep +0 -0
  720. data/lib/softcover/uploader.rb +90 -0
  721. data/lib/softcover/utils.rb +284 -0
  722. data/lib/softcover/version.rb +3 -0
  723. data/lib/softcover.rb +68 -0
  724. data/softcover.gemspec +41 -0
  725. data/spec/app_spec.rb +91 -0
  726. data/spec/auth_spec.rb +44 -0
  727. data/spec/book_manifest_spec.rb +78 -0
  728. data/spec/book_spec.rb +40 -0
  729. data/spec/builder_spec.rb +10 -0
  730. data/spec/builders/epub_spec.rb +219 -0
  731. data/spec/builders/html_spec.rb +170 -0
  732. data/spec/builders/mobi_spec.rb +59 -0
  733. data/spec/builders/pdf_spec.rb +113 -0
  734. data/spec/builders/preview_spec.rb +30 -0
  735. data/spec/cli_spec.rb +183 -0
  736. data/spec/commands/build_spec.rb +59 -0
  737. data/spec/commands/check_spec.rb +55 -0
  738. data/spec/commands/deployment_spec.rb +21 -0
  739. data/spec/commands/generator_spec.rb +130 -0
  740. data/spec/commands/opener_spec.rb +17 -0
  741. data/spec/commands/publisher_spec.rb +140 -0
  742. data/spec/commands/server_spec.rb +21 -0
  743. data/spec/config_spec.rb +30 -0
  744. data/spec/fixtures/.gitkeep +0 -0
  745. data/spec/mathjax_spec.rb +61 -0
  746. data/spec/output_spec.rb +41 -0
  747. data/spec/sanitizer_spec.rb +37 -0
  748. data/spec/spec_helper.rb +54 -0
  749. data/spec/support/exist_matcher.rb +7 -0
  750. data/spec/utils_spec.rb +10 -0
  751. data/spec/webmock_helpers.rb +210 -0
  752. data/tasks/run_specs.rake +5 -0
  753. metadata +1133 -0
@@ -0,0 +1,514 @@
1
+ module Softcover
2
+
3
+ module EpubUtils
4
+
5
+ # Returns the name of the cover file.
6
+ # We support (in order) JPG/JPEG, PNG, and TIFF.
7
+ def cover_img
8
+ extensions = %w[jpg jpeg png tiff]
9
+ extensions.each do |ext|
10
+ file = Dir[path("#{images_dir}/cover.#{ext}")].first
11
+ return File.basename(file) if file
12
+ end
13
+ return false
14
+ end
15
+
16
+ def cover?
17
+ cover_img
18
+ end
19
+
20
+ def cover_img_path
21
+ path("#{images_dir}/#{cover_img}")
22
+ end
23
+
24
+ def images_dir
25
+ path('epub/OEBPS/images')
26
+ end
27
+ end
28
+
29
+ module Builders
30
+ class Epub < Builder
31
+ include Softcover::Output
32
+ include Softcover::EpubUtils
33
+
34
+ def build!(options={})
35
+ @preview = options[:preview]
36
+ Softcover::Builders::Html.new.build!
37
+ if manifest.markdown?
38
+ opts = options.merge({ source: :polytex, origin: :markdown })
39
+ self.manifest = Softcover::BookManifest.new(opts)
40
+ end
41
+ remove_html
42
+ create_directories
43
+ write_mimetype
44
+ write_container_xml
45
+ write_ibooks_xml
46
+ write_toc
47
+ write_nav
48
+ copy_image_files
49
+ write_html(options)
50
+ write_contents
51
+ create_style_files
52
+ make_epub(options)
53
+ move_epub
54
+ end
55
+
56
+ # Returns true if generating a book preview.
57
+ def preview?
58
+ !!@preview
59
+ end
60
+
61
+ # Removes HTML.
62
+ # All the HTML is generated, so this clears out any unused files.
63
+ def remove_html
64
+ FileUtils.rm(Dir.glob(path('epub/OEBPS/*.html')))
65
+ end
66
+
67
+ def create_directories
68
+ mkdir('epub')
69
+ mkdir(path('epub/OEBPS'))
70
+ mkdir(path('epub/OEBPS/styles'))
71
+ mkdir(path('epub/META-INF'))
72
+ mkdir('ebooks')
73
+ end
74
+
75
+ # Writes the mimetype file.
76
+ # This is required by the EPUB standard.
77
+ def write_mimetype
78
+ File.write(path('epub/mimetype'), 'application/epub+zip')
79
+ end
80
+
81
+ # Writes the container XML file.
82
+ # This is required by the EPUB standard.
83
+ def write_container_xml
84
+ File.write(path('epub/META-INF/container.xml'), container_xml)
85
+ end
86
+
87
+ # Writes iBooks-specific XML.
88
+ # This allows proper display of monospace fonts in code samples, among
89
+ # other things.
90
+ def write_ibooks_xml
91
+ xml_filename = 'com.apple.ibooks.display-options.xml'
92
+ File.write(path("epub/META-INF/#{xml_filename}"), ibooks_xml)
93
+ end
94
+
95
+ # Writes the content.opf file.
96
+ # This is required by the EPUB standard.
97
+ def write_contents
98
+ File.write(path('epub/OEBPS/content.opf'), content_opf)
99
+ end
100
+
101
+ # Returns the chapters to write.
102
+ def chapters
103
+ preview? ? manifest.preview_chapters : manifest.chapters
104
+ end
105
+
106
+ # Writes the HTML for the EPUB.
107
+ # Included is a math detector that processes the page with MathJax
108
+ # (via page.js) so that math can be included in EPUB (and thence MOBI).
109
+ def write_html(options={})
110
+ texmath_dir = File.join(images_dir, 'texmath')
111
+ mkdir images_dir
112
+ mkdir texmath_dir
113
+
114
+ File.write(path('epub/OEBPS/cover.html'), cover_page) if cover?
115
+
116
+ pngs = []
117
+ chapters.each_with_index do |chapter, i|
118
+ target_filename = path("epub/OEBPS/#{chapter.fragment_name}")
119
+ File.open(target_filename, 'w') do |f|
120
+ content = File.read(path("html/#{chapter.fragment_name}"))
121
+ doc = strip_attributes(Nokogiri::HTML(content))
122
+ body = doc.at_css('body')
123
+ if body.nil?
124
+ $stderr.puts "\nError: Document not built due to empty chapter"
125
+ $stderr.puts "Chapters must include a title using the Markdown"
126
+ $stderr.puts " # This is a chapter"
127
+ $stderr.puts "or the LaTeX"
128
+ $stderr.puts " \\chapter{This is a chapter}"
129
+ exit(1)
130
+ end
131
+ inner_html = body.children.to_xhtml
132
+ if math?(inner_html)
133
+ html = html_with_math(chapter, images_dir, texmath_dir, pngs,
134
+ options)
135
+ html ||= inner_html # handle case of spurious math detection
136
+ else
137
+ html = inner_html
138
+ end
139
+ f.write(chapter_template("Chapter #{i}", html))
140
+ end
141
+ end
142
+ # Clean up unused PNGs.
143
+ png_files = Dir[path("#{texmath_dir}/*.png")]
144
+ (png_files - pngs).each do |f|
145
+ if File.exist?(f)
146
+ puts "Removing unused PNG #{f}" unless options[:silent]
147
+ FileUtils.rm(f)
148
+ end
149
+ end
150
+ end
151
+
152
+ # Returns HTML for HTML source that includes math.
153
+ # As a side-effect, html_with_math creates PNGs corresponding to any
154
+ # math in the given source. The technique involves using PhantomJS to
155
+ # hit the HTML source for each page containing math to create SVGs
156
+ # for every math element. Since ereader support for SVGs is spotty,
157
+ # they are then converted to PNGs using Inkscape. The filenames are
158
+ # SHAs of their contents, which arranges both for unique filenames
159
+ # and for automatic disk caching.
160
+ def html_with_math(chapter, images_dir, texmath_dir, pngs, options={})
161
+ content = File.read(File.join("html", "#{chapter.slug}.html"))
162
+ pagejs = "#{File.dirname(__FILE__)}/utils/page.js"
163
+ url = "file://#{Dir.pwd}/html/#{chapter.slug}.html"
164
+ cmd = "#{phantomjs} #{pagejs} #{url}"
165
+ silence { silence_stream(STDERR) { system cmd } }
166
+ # Sometimes in tests the phantomjs_source.html file is missing.
167
+ # It shouldn't ever happen, but it does no harm to skip it.
168
+ return nil unless File.exist?('phantomjs_source.html')
169
+ raw_source = File.read('phantomjs_source.html')
170
+ source = strip_attributes(Nokogiri::HTML(raw_source))
171
+ rm 'phantomjs_source.html'
172
+ # Remove the first body div, which is the hidden MathJax SVGs.
173
+ if (mathjax_svgs = source.at_css('body div'))
174
+ mathjax_svgs.remove
175
+ else
176
+ # There's not actually any math, so return nil.
177
+ return nil
178
+ end
179
+ # Remove all the unneeded raw TeX displays.
180
+ source.css('script').each(&:remove)
181
+ # Remove all the MathJax preview spans.
182
+ source.css('MathJax_Preview').each(&:remove)
183
+
184
+ # Suck out all the SVGs
185
+ svgs = source.css('div#book svg')
186
+ frames = source.css('span.MathJax_SVG')
187
+ svgs.zip(frames).each do |svg, frame|
188
+ # Save the SVG file.
189
+ svg['viewBox'] = svg['viewbox']
190
+ svg.remove_attribute('viewbox')
191
+ first_child = frame.children.first
192
+ first_child.replace(svg) unless svg == first_child
193
+ output = svg.to_xhtml
194
+ svg_filename = File.join(texmath_dir, "#{digest(output)}.svg")
195
+ File.write(svg_filename, output)
196
+ # Convert to PNG.
197
+ png_filename = svg_filename.sub('.svg', '.png')
198
+ pngs << png_filename
199
+ unless File.exist?(png_filename)
200
+ unless options[:silent] || options[:quiet]
201
+ puts "Creating #{png_filename}"
202
+ end
203
+ svg_height = svg['style'].scan(/height: (.*?);/).flatten.first
204
+ scale_factor = 8 # This scale factor turns out to look good.
205
+ h = scale_factor * svg_height.to_f
206
+ cmd = "#{inkscape} -f #{svg_filename} -e #{png_filename} -h #{h}pt"
207
+ if options[:silent]
208
+ silence { silence_stream(STDERR) { system cmd } }
209
+ else
210
+ silence_stream(STDERR) { system cmd }
211
+ end
212
+ end
213
+ rm svg_filename
214
+ png = Nokogiri::XML::Node.new('img', source)
215
+ png['src'] = File.join('images', 'texmath',
216
+ File.basename(png_filename))
217
+ png['alt'] = png_filename.sub('.png', '')
218
+ svg.replace(png)
219
+ end
220
+ source.at_css('div#book').children.to_xhtml
221
+ end
222
+
223
+ # Returns the PhantomJS executable (if available).
224
+ def phantomjs
225
+ @phantomjs ||= executable(dependency_filename(:phantomjs))
226
+ end
227
+
228
+ # Returns the Inkscape executable (if available).
229
+ def inkscape
230
+ @inkscape ||= executable(dependency_filename(:inkscape))
231
+ end
232
+
233
+ # Strip attributes that are invalid in EPUB documents.
234
+ def strip_attributes(doc)
235
+ attrs = %w[data-tralics-id data-label data-number data-chapter
236
+ role aria-readonly]
237
+ doc.tap do
238
+ attrs.each do |attr|
239
+ doc.xpath("//@#{attr}").remove
240
+ end
241
+ end
242
+ end
243
+
244
+ # Returns true if a string appears to have LaTeX math.
245
+ # We detect math via opening math commands: \(, \[, and \begin{equation}
246
+ # This gives a false positive when math is included in verbatim
247
+ # environments and nowhere else, but it does little harm (requiring only
248
+ # an unnecessary call to page.js).
249
+ def math?(string)
250
+ !!string.match(/(?:\\\(|\\\[|\\begin{equation})/)
251
+ end
252
+
253
+ def create_style_files
254
+ html_styles = File.join('html', 'stylesheets')
255
+ epub_styles = File.join('epub', 'OEBPS', 'styles')
256
+
257
+ FileUtils.cp(File.join(html_styles, 'pygments.css'), epub_styles)
258
+ File.write(File.join(epub_styles, 'softcover.css'),
259
+ clean_book_id(path("#{html_styles}/softcover.css")))
260
+
261
+ # Copy over the EPUB-specific CSS.
262
+ template_dir = File.join(File.dirname(__FILE__), '..', 'template')
263
+ epub_css = File.join(template_dir, epub_styles, 'epub.css')
264
+ FileUtils.cp(epub_css, epub_styles)
265
+
266
+ # Copy over custom CSS.
267
+ File.write(File.join(epub_styles, 'custom.css'),
268
+ clean_book_id(path("#{html_styles}/custom.css")))
269
+ end
270
+
271
+ # Removes the '#book' CSS id.
272
+ # For some reason, EPUB books hate the #book ids in the stylesheet
273
+ # (i.e., such books fail to validate), so remove them.
274
+ def clean_book_id(filename)
275
+ File.read(filename).gsub(/#book/, '')
276
+ end
277
+
278
+ # Copies the image files from the HTML version of the document.
279
+ # We remove PDF images, which are valid in PDF documents but not in EPUB.
280
+ def copy_image_files
281
+ FileUtils.cp_r(File.join('html', 'images'),
282
+ File.join('epub', 'OEBPS'))
283
+ File.delete(*Dir['epub/OEBPS/images/**/*.pdf'])
284
+ end
285
+
286
+ # Make the EPUB, which is basically just a zipped HTML file.
287
+ def make_epub(options={})
288
+ filename = manifest.filename
289
+ zfname = filename + '.zip'
290
+ base_file = "#{zip} -X0 #{zfname} mimetype"
291
+ fullzip = "#{zip} -rDXg9"
292
+ meta_info = "#{fullzip} #{zfname} META-INF -x \*.DS_Store -x mimetype"
293
+ main_info = "#{fullzip} #{zfname} OEBPS -x \*.DS_Store \*.gitkeep"
294
+ rename = "mv #{zfname} #{filename}.epub"
295
+ commands = [base_file, meta_info, main_info, rename]
296
+ command = commands.join(' && ')
297
+ Dir.chdir('epub') do
298
+ if Softcover.test? || options[:quiet] || options[:silent]
299
+ silence { system(command) }
300
+ else
301
+ system(command)
302
+ end
303
+ end
304
+ end
305
+
306
+ def zip
307
+ @zip ||= executable(dependency_filename(:zip))
308
+ end
309
+
310
+ # Move the completed EPUB book to the `ebooks` directory.
311
+ # Note that we handle the case of a preview book as well.
312
+ def move_epub
313
+ origin = manifest.filename
314
+ target = preview? ? origin + '-preview' : origin
315
+ FileUtils.mv(File.join('epub', "#{origin}.epub"),
316
+ File.join('ebooks', "#{target}.epub"))
317
+ end
318
+
319
+ # Writes the Table of Contents.
320
+ # This is required by the EPUB standard.
321
+ def write_toc
322
+ File.write('epub/OEBPS/toc.ncx', toc_ncx)
323
+ end
324
+
325
+ # Writes the navigation file.
326
+ # This is required by the EPUB standard.
327
+ def write_nav
328
+ File.write('epub/OEBPS/nav.html', nav_html)
329
+ end
330
+
331
+ def container_xml
332
+ %(<?xml version="1.0"?>
333
+ <container version="1.0" xmlns="urn:oasis:names:tc:opendocument:xmlns:container">
334
+ <rootfiles>
335
+ <rootfile full-path="OEBPS/content.opf" media-type="application/oebps-package+xml"/>
336
+ </rootfiles>
337
+ </container>)
338
+ end
339
+
340
+ def ibooks_xml
341
+ %(<?xml version="1.0" encoding="UTF-8"?>
342
+ <display_options>
343
+ <platform name="*">
344
+ <option name="specified-fonts">true</option>
345
+ </platform>
346
+ </display_options>)
347
+ end
348
+
349
+ # Returns the content configuration file.
350
+ def content_opf
351
+ title = manifest.title
352
+ author = manifest.author
353
+ copyright = manifest.copyright
354
+ uuid = manifest.uuid
355
+ man_ch = chapters.map do |chapter|
356
+ %(<item id="#{chapter.slug}" href="#{chapter.fragment_name}" media-type="application/xhtml+xml"/>)
357
+ end
358
+ toc_ch = chapters.map do |chapter|
359
+ %(<itemref idref="#{chapter.slug}"/>)
360
+ end
361
+ image_files = Dir['epub/OEBPS/images/**/*'].select { |f| File.file?(f) }
362
+ images = image_files.map do |image|
363
+ ext = File.extname(image).sub('.', '') # e.g., 'png'
364
+ ext = 'jpeg' if ext == 'jpg'
365
+ # Strip off the leading 'epub/OEBPS'.
366
+ sep = File::SEPARATOR
367
+ href = image.split(sep)[2..-1].join(sep)
368
+ # Define an id based on the filename.
369
+ # Prefix with 'img-' in case the filname starts with an
370
+ # invalid character such as a number.
371
+ label = File.basename(image).gsub('.', '-')
372
+ id = "img-#{label}"
373
+ %(<item id="#{id}" href="#{href}" media-type="image/#{ext}"/>)
374
+ end
375
+ %(<?xml version="1.0" encoding="UTF-8"?>
376
+ <package unique-identifier="BookID" version="3.0" xmlns="http://www.idpf.org/2007/opf">
377
+ <metadata xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/"
378
+ xmlns:opf="http://www.idpf.org/2007/opf">
379
+ <dc:title>#{title}</dc:title>
380
+ <dc:language>en</dc:language>
381
+ <dc:rights>Copyright (c) #{copyright} #{author}</dc:rights>
382
+ <dc:creator>#{author}</dc:creator>
383
+ <dc:publisher>Softcover</dc:publisher>
384
+ <dc:identifier id="BookID">urn:uuid:#{uuid}</dc:identifier>
385
+ <meta property="dcterms:modified">#{Time.now.strftime('%Y-%m-%dT%H:%M:%S')}Z</meta>
386
+ <meta name="cover" content="#{cover_id}"/>
387
+ </metadata>
388
+ <manifest>
389
+ <item href="nav.html" id="nav" media-type="application/xhtml+xml" properties="nav"/>
390
+ <item id="ncx" href="toc.ncx" media-type="application/x-dtbncx+xml"/>
391
+ <item id="page-template.xpgt" href="styles/page-template.xpgt" media-type="application/vnd.adobe-page-template+xml"/>
392
+ <item id="pygments.css" href="styles/pygments.css" media-type="text/css"/>
393
+ <item id="softcover.css" href="styles/softcover.css" media-type="text/css"/>
394
+ <item id="epub.css" href="styles/epub.css" media-type="text/css"/>
395
+ <item id="custom.css" href="styles/custom.css" media-type="text/css"/>
396
+ <item id="custom_epub.css" href="styles/custom_epub.css" media-type="text/css"/>
397
+ <item id="cover" href="cover.html" media-type="application/xhtml+xml"/>
398
+ #{man_ch.join("\n")}
399
+ #{images.join("\n")}
400
+ </manifest>
401
+ <spine toc="ncx">
402
+ <itemref idref="cover" linear="no" />
403
+ #{toc_ch.join("\n")}
404
+ </spine>
405
+ </package>
406
+ )
407
+ end
408
+
409
+ def cover_page
410
+ %(<?xml version="1.0" encoding="utf-8"?>
411
+ <!DOCTYPE html>
412
+ <html xmlns="http://www.w3.org/1999/xhtml">
413
+ <head>
414
+ <title>Cover</title>
415
+ </head>
416
+ <body>
417
+ <div id="cover">
418
+ <img width="573" height="800" src="images/#{cover_img}" alt="cover" />
419
+ </div>
420
+ </body>
421
+ </html>
422
+ )
423
+ end
424
+
425
+ def cover_id
426
+ "img-#{cover_img.sub('.', '-')}"
427
+ end
428
+
429
+ # Returns the Table of Contents for the spine.
430
+ def toc_ncx
431
+ title = manifest.title
432
+ chapter_nav = []
433
+ chapters.each_with_index do |chapter, n|
434
+ chapter_nav << %(<navPoint id="#{chapter.slug}" playOrder="#{n+1}">)
435
+ chapter_nav << %( <navLabel><text>#{chapter_name(n)}</text></navLabel>)
436
+ chapter_nav << %( <content src="#{chapter.fragment_name}"/>)
437
+ chapter_nav << %(</navPoint>)
438
+ end
439
+ %(<?xml version="1.0" encoding="UTF-8"?>
440
+ <ncx xmlns="http://www.daisy.org/z3986/2005/ncx/" version="2005-1">
441
+ <head>
442
+ <meta name="dtb:uid" content="#{manifest.uuid}"/>
443
+ <meta name="dtb:depth" content="2"/>
444
+ <meta name="dtb:totalPageCount" content="0"/>
445
+ <meta name="dtb:maxPageNumber" content="0"/>
446
+ </head>
447
+ <docTitle>
448
+ <text>#{title}</text>
449
+ </docTitle>
450
+ <navMap>
451
+ #{chapter_nav.join("\n")}
452
+ </navMap>
453
+ </ncx>
454
+ )
455
+ end
456
+
457
+ def chapter_name(n)
458
+ n == 0 ? language_labels["frontmatter"] : chapter_label(n)
459
+ end
460
+
461
+ # Returns the nav HTML content.
462
+ def nav_html
463
+ title = manifest.title
464
+ nav_list = manifest.chapters.map do |chapter|
465
+ element = preview? ? chapter.title : nav_link(chapter)
466
+ %(<li>#{element}</li>)
467
+ end
468
+ %(<?xml version="1.0" encoding="utf-8"?>
469
+ <html xmlns="http://www.w3.org/1999/xhtml" xmlns:epub="http://www.idpf.org/2007/ops">
470
+ <head>
471
+ <meta charset="UTF-8" />
472
+ <title>#{title}</title>
473
+ </head>
474
+ <body>
475
+ <nav epub:type="toc">
476
+ <h1>#{title}</h1>
477
+ <ol>
478
+ #{nav_list.join("\n")}
479
+ </ol>
480
+ </nav>
481
+ </body>
482
+ </html>
483
+ )
484
+ end
485
+
486
+ # Returns a navigation link for the chapter.
487
+ def nav_link(chapter)
488
+ %(<a href="#{chapter.fragment_name}">#{chapter.title}</a>)
489
+ end
490
+
491
+ # Returns the HTML template for a chapter.
492
+ def chapter_template(title, content)
493
+ %(<?xml version="1.0" encoding="utf-8"?>
494
+ <!DOCTYPE html>
495
+
496
+ <html xmlns="http://www.w3.org/1999/xhtml">
497
+ <head>
498
+ <title>#{title}</title>
499
+ <link rel="stylesheet" href="styles/pygments.css" type="text/css" />
500
+ <link rel="stylesheet" href="styles/softcover.css" type="text/css" />
501
+ <link rel="stylesheet" href="styles/epub.css" type="text/css" />
502
+ <link rel="stylesheet" href="styles/custom.css" type="text/css"/>
503
+ <link rel="stylesheet" href="styles/custom_epub.css" type="text/css"/>
504
+ <link rel="stylesheet" type="application/vnd.adobe-page-template+xml" href="styles/page-template.xpgt" />
505
+ </head>
506
+
507
+ <body>
508
+ #{content}
509
+ </body>
510
+ </html>)
511
+ end
512
+ end
513
+ end
514
+ end