tecnh-gollum 1.0.2.auth

Sign up to get free protection for your applications and to get access to all the features.
Files changed (470) hide show
  1. data/HISTORY.md +27 -0
  2. data/LICENSE +21 -0
  3. data/README.md +447 -0
  4. data/Rakefile +146 -0
  5. data/bin/gollum +93 -0
  6. data/docs/sanitization.md +32 -0
  7. data/gollum.gemspec +516 -0
  8. data/lib/gollum/albino.rb +17 -0
  9. data/lib/gollum/file.rb +60 -0
  10. data/lib/gollum/frontend/app.rb +181 -0
  11. data/lib/gollum/frontend/authorization.rb +80 -0
  12. data/lib/gollum/frontend/config.ru +21 -0
  13. data/lib/gollum/frontend/public/css/editbar.css +194 -0
  14. data/lib/gollum/frontend/public/css/gollum.css +55 -0
  15. data/lib/gollum/frontend/public/css/screen.css +726 -0
  16. data/lib/gollum/frontend/public/css/syntax.css +61 -0
  17. data/lib/gollum/frontend/public/images/buttons.png +0 -0
  18. data/lib/gollum/frontend/public/images/editbar-buttons.png +0 -0
  19. data/lib/gollum/frontend/public/images/example.png +0 -0
  20. data/lib/gollum/frontend/public/images/twiddle-down.png +0 -0
  21. data/lib/gollum/frontend/public/images/twiddle-right.png +0 -0
  22. data/lib/gollum/frontend/public/images/txt.png +0 -0
  23. data/lib/gollum/frontend/public/javascript/MathJax/COPYING.txt +202 -0
  24. data/lib/gollum/frontend/public/javascript/MathJax/MathJax.js +1704 -0
  25. data/lib/gollum/frontend/public/javascript/MathJax/README.txt +480 -0
  26. data/lib/gollum/frontend/public/javascript/MathJax/config/MMLorHTML.js +63 -0
  27. data/lib/gollum/frontend/public/javascript/MathJax/config/MathJax.js +351 -0
  28. data/lib/gollum/frontend/public/javascript/MathJax/config/local/local.js +37 -0
  29. data/lib/gollum/frontend/public/javascript/MathJax/extensions/TeX/AMSmath.js +376 -0
  30. data/lib/gollum/frontend/public/javascript/MathJax/extensions/TeX/AMSsymbols.js +385 -0
  31. data/lib/gollum/frontend/public/javascript/MathJax/extensions/TeX/autobold.js +43 -0
  32. data/lib/gollum/frontend/public/javascript/MathJax/extensions/TeX/boldsymbol.js +109 -0
  33. data/lib/gollum/frontend/public/javascript/MathJax/extensions/TeX/mathchoice.js +65 -0
  34. data/lib/gollum/frontend/public/javascript/MathJax/extensions/TeX/newcommand.js +185 -0
  35. data/lib/gollum/frontend/public/javascript/MathJax/extensions/TeX/noErrors.js +169 -0
  36. data/lib/gollum/frontend/public/javascript/MathJax/extensions/TeX/unicode.js +131 -0
  37. data/lib/gollum/frontend/public/javascript/MathJax/extensions/TeX/verb.js +53 -0
  38. data/lib/gollum/frontend/public/javascript/MathJax/extensions/jsMath2jax.js +77 -0
  39. data/lib/gollum/frontend/public/javascript/MathJax/extensions/mml2jax.js +101 -0
  40. data/lib/gollum/frontend/public/javascript/MathJax/extensions/tex2jax.js +242 -0
  41. data/lib/gollum/frontend/public/javascript/MathJax/extensions/toMathML.js +140 -0
  42. data/lib/gollum/frontend/public/javascript/MathJax/jax/element/mml/jax.js +1474 -0
  43. data/lib/gollum/frontend/public/javascript/MathJax/jax/element/mml/optable/Arrows.js +122 -0
  44. data/lib/gollum/frontend/public/javascript/MathJax/jax/element/mml/optable/BasicLatin.js +58 -0
  45. data/lib/gollum/frontend/public/javascript/MathJax/jax/element/mml/optable/CombDiacritMarks.js +35 -0
  46. data/lib/gollum/frontend/public/javascript/MathJax/jax/element/mml/optable/CombDiactForSymbols.js +35 -0
  47. data/lib/gollum/frontend/public/javascript/MathJax/jax/element/mml/optable/Dingbats.js +35 -0
  48. data/lib/gollum/frontend/public/javascript/MathJax/jax/element/mml/optable/GeneralPunctuation.js +40 -0
  49. data/lib/gollum/frontend/public/javascript/MathJax/jax/element/mml/optable/GeometricShapes.js +66 -0
  50. data/lib/gollum/frontend/public/javascript/MathJax/jax/element/mml/optable/GreekAndCoptic.js +35 -0
  51. data/lib/gollum/frontend/public/javascript/MathJax/jax/element/mml/optable/Latin1Supplement.js +37 -0
  52. data/lib/gollum/frontend/public/javascript/MathJax/jax/element/mml/optable/LetterlikeSymbols.js +39 -0
  53. data/lib/gollum/frontend/public/javascript/MathJax/jax/element/mml/optable/MathOperators.js +228 -0
  54. data/lib/gollum/frontend/public/javascript/MathJax/jax/element/mml/optable/MiscMathSymbolsA.js +38 -0
  55. data/lib/gollum/frontend/public/javascript/MathJax/jax/element/mml/optable/MiscMathSymbolsB.js +167 -0
  56. data/lib/gollum/frontend/public/javascript/MathJax/jax/element/mml/optable/MiscTechnical.js +38 -0
  57. data/lib/gollum/frontend/public/javascript/MathJax/jax/element/mml/optable/SpacingModLetters.js +36 -0
  58. data/lib/gollum/frontend/public/javascript/MathJax/jax/element/mml/optable/SuppMathOperators.js +289 -0
  59. data/lib/gollum/frontend/public/javascript/MathJax/jax/element/mml/optable/SupplementalArrowsB.js +162 -0
  60. data/lib/gollum/frontend/public/javascript/MathJax/jax/input/MathML/config.js +39 -0
  61. data/lib/gollum/frontend/public/javascript/MathJax/jax/input/MathML/entities/a.js +87 -0
  62. data/lib/gollum/frontend/public/javascript/MathJax/jax/input/MathML/entities/b.js +114 -0
  63. data/lib/gollum/frontend/public/javascript/MathJax/jax/input/MathML/entities/c.js +111 -0
  64. data/lib/gollum/frontend/public/javascript/MathJax/jax/input/MathML/entities/d.js +112 -0
  65. data/lib/gollum/frontend/public/javascript/MathJax/jax/input/MathML/entities/e.js +88 -0
  66. data/lib/gollum/frontend/public/javascript/MathJax/jax/input/MathML/entities/f.js +58 -0
  67. data/lib/gollum/frontend/public/javascript/MathJax/jax/input/MathML/entities/fr.js +79 -0
  68. data/lib/gollum/frontend/public/javascript/MathJax/jax/input/MathML/entities/g.js +82 -0
  69. data/lib/gollum/frontend/public/javascript/MathJax/jax/input/MathML/entities/h.js +52 -0
  70. data/lib/gollum/frontend/public/javascript/MathJax/jax/input/MathML/entities/i.js +85 -0
  71. data/lib/gollum/frontend/public/javascript/MathJax/jax/input/MathML/entities/j.js +36 -0
  72. data/lib/gollum/frontend/public/javascript/MathJax/jax/input/MathML/entities/k.js +36 -0
  73. data/lib/gollum/frontend/public/javascript/MathJax/jax/input/MathML/entities/l.js +175 -0
  74. data/lib/gollum/frontend/public/javascript/MathJax/jax/input/MathML/entities/m.js +61 -0
  75. data/lib/gollum/frontend/public/javascript/MathJax/jax/input/MathML/entities/n.js +219 -0
  76. data/lib/gollum/frontend/public/javascript/MathJax/jax/input/MathML/entities/o.js +88 -0
  77. data/lib/gollum/frontend/public/javascript/MathJax/jax/input/MathML/entities/opf.js +79 -0
  78. data/lib/gollum/frontend/public/javascript/MathJax/jax/input/MathML/entities/p.js +84 -0
  79. data/lib/gollum/frontend/public/javascript/MathJax/jax/input/MathML/entities/q.js +34 -0
  80. data/lib/gollum/frontend/public/javascript/MathJax/jax/input/MathML/entities/r.js +134 -0
  81. data/lib/gollum/frontend/public/javascript/MathJax/jax/input/MathML/entities/s.js +168 -0
  82. data/lib/gollum/frontend/public/javascript/MathJax/jax/input/MathML/entities/scr.js +79 -0
  83. data/lib/gollum/frontend/public/javascript/MathJax/jax/input/MathML/entities/t.js +82 -0
  84. data/lib/gollum/frontend/public/javascript/MathJax/jax/input/MathML/entities/u.js +91 -0
  85. data/lib/gollum/frontend/public/javascript/MathJax/jax/input/MathML/entities/v.js +73 -0
  86. data/lib/gollum/frontend/public/javascript/MathJax/jax/input/MathML/entities/w.js +35 -0
  87. data/lib/gollum/frontend/public/javascript/MathJax/jax/input/MathML/entities/x.js +47 -0
  88. data/lib/gollum/frontend/public/javascript/MathJax/jax/input/MathML/entities/y.js +41 -0
  89. data/lib/gollum/frontend/public/javascript/MathJax/jax/input/MathML/entities/z.js +39 -0
  90. data/lib/gollum/frontend/public/javascript/MathJax/jax/input/MathML/jax.js +590 -0
  91. data/lib/gollum/frontend/public/javascript/MathJax/jax/input/TeX/config.js +40 -0
  92. data/lib/gollum/frontend/public/javascript/MathJax/jax/input/TeX/jax.js +1652 -0
  93. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/autoload/menclose.js +61 -0
  94. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/autoload/mglyph.js +98 -0
  95. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/autoload/ms.js +49 -0
  96. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/blank.gif +0 -0
  97. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/config.js +127 -0
  98. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/AlphaPresentForms.js +32 -0
  99. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/Arrows.js +109 -0
  100. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/BoldFraktur.js +79 -0
  101. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/BoxDrawing.js +67 -0
  102. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/CombDiacritMarks.js +98 -0
  103. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/CombDiactForSymbols.js +49 -0
  104. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/ControlPictures.js +28 -0
  105. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/CurrencySymbols.js +31 -0
  106. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/Cyrillic.js +129 -0
  107. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/EnclosedAlphanum.js +89 -0
  108. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/GeneralPunctuation.js +67 -0
  109. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/GeometricShapes.js +33 -0
  110. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/GreekAndCoptic.js +109 -0
  111. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/GreekBold.js +85 -0
  112. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/GreekSSBold.js +85 -0
  113. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/IPAExtensions.js +116 -0
  114. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/Latin1Supplement.js +123 -0
  115. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/LatinExtendedA.js +155 -0
  116. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/LatinExtendedAdditional.js +35 -0
  117. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/LatinExtendedB.js +59 -0
  118. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/LetterlikeSymbols.js +69 -0
  119. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/Main.js +172 -0
  120. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/MathBold.js +89 -0
  121. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/MathOperators.js +260 -0
  122. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/MathSSBold.js +89 -0
  123. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/MiscMathSymbolsA.js +31 -0
  124. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/MiscMathSymbolsB.js +37 -0
  125. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/MiscSymbols.js +30 -0
  126. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/MiscTechnical.js +42 -0
  127. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/NumberForms.js +39 -0
  128. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/PhoneticExtensions.js +30 -0
  129. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/SpacingModLetters.js +87 -0
  130. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/SuperAndSubscripts.js +28 -0
  131. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/SuppMathOperators.js +84 -0
  132. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/AlphaPresentForms.js +32 -0
  133. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/BasicLatin.js +122 -0
  134. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/BoxDrawing.js +67 -0
  135. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/CombDiactForSymbols.js +28 -0
  136. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/ControlPictures.js +28 -0
  137. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/CurrencySymbols.js +31 -0
  138. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/Cyrillic.js +129 -0
  139. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/EnclosedAlphanum.js +89 -0
  140. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/GeneralPunctuation.js +50 -0
  141. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/GreekAndCoptic.js +119 -0
  142. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/GreekBoldItalic.js +85 -0
  143. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/GreekSSBoldItalic.js +85 -0
  144. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/IPAExtensions.js +116 -0
  145. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/Latin1Supplement.js +123 -0
  146. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/LatinExtendedA.js +155 -0
  147. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/LatinExtendedAdditional.js +35 -0
  148. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/LatinExtendedB.js +59 -0
  149. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/LetterlikeSymbols.js +56 -0
  150. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/Main.js +56 -0
  151. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/MathBoldItalic.js +79 -0
  152. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/MathBoldScript.js +79 -0
  153. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/MathOperators.js +29 -0
  154. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/MathSSItalicBold.js +79 -0
  155. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/SpacingModLetters.js +54 -0
  156. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/AlphaPresentForms.js +32 -0
  157. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/BoxDrawing.js +67 -0
  158. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/CombDiactForSymbols.js +47 -0
  159. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/ControlPictures.js +28 -0
  160. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/CurrencySymbols.js +31 -0
  161. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/Cyrillic.js +129 -0
  162. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/EnclosedAlphanum.js +89 -0
  163. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/GeneralPunctuation.js +50 -0
  164. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/GreekAndCoptic.js +78 -0
  165. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/GreekItalic.js +85 -0
  166. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/IPAExtensions.js +116 -0
  167. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/Latin1Supplement.js +123 -0
  168. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/LatinExtendedA.js +154 -0
  169. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/LatinExtendedAdditional.js +35 -0
  170. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/LatinExtendedB.js +58 -0
  171. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/LetterlikeSymbols.js +56 -0
  172. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/Main.js +192 -0
  173. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/MathItalic.js +78 -0
  174. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/MathOperators.js +29 -0
  175. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/MathSSItalic.js +79 -0
  176. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/MathScript.js +68 -0
  177. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/SpacingModLetters.js +54 -0
  178. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/ij.js +29 -0
  179. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/AlphaPresentForms.js +32 -0
  180. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/Arrows.js +106 -0
  181. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/BBBold.js +82 -0
  182. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/BlockElements.js +35 -0
  183. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/BoldFraktur.js +79 -0
  184. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/BoxDrawing.js +72 -0
  185. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/CJK.js +29 -0
  186. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/CombDiacritMarks.js +86 -0
  187. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/CombDiactForSymbols.js +50 -0
  188. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/ControlPictures.js +28 -0
  189. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/CurrencySymbols.js +31 -0
  190. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/Cyrillic.js +129 -0
  191. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/Dingbats.js +57 -0
  192. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/EnclosedAlphanum.js +89 -0
  193. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/Fraktur.js +74 -0
  194. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/GeneralPunctuation.js +68 -0
  195. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/GeometricShapes.js +118 -0
  196. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/GreekAndCoptic.js +109 -0
  197. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/GreekBold.js +85 -0
  198. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/GreekBoldItalic.js +85 -0
  199. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/GreekItalic.js +85 -0
  200. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/GreekSSBold.js +85 -0
  201. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/GreekSSBoldItalic.js +85 -0
  202. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/Hiragana.js +28 -0
  203. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/IPAExtensions.js +118 -0
  204. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/Latin1Supplement.js +115 -0
  205. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/LatinExtendedA.js +154 -0
  206. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/LatinExtendedAdditional.js +35 -0
  207. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/LatinExtendedB.js +63 -0
  208. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/LatinExtendedD.js +28 -0
  209. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/LetterlikeSymbols.js +82 -0
  210. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/Main.js +380 -0
  211. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MathBold.js +89 -0
  212. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MathBoldItalic.js +79 -0
  213. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MathBoldScript.js +79 -0
  214. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MathItalic.js +78 -0
  215. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MathOperators.js +207 -0
  216. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MathSS.js +89 -0
  217. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MathSSBold.js +90 -0
  218. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MathSSItalic.js +79 -0
  219. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MathSSItalicBold.js +79 -0
  220. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MathScript.js +68 -0
  221. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MathTT.js +88 -0
  222. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MiscMathSymbolsA.js +66 -0
  223. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MiscMathSymbolsB.js +154 -0
  224. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MiscSymbols.js +74 -0
  225. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MiscSymbolsAndArrows.js +91 -0
  226. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MiscTechnical.js +80 -0
  227. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/NumberForms.js +39 -0
  228. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/PhoneticExtensions.js +36 -0
  229. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/SpacingModLetters.js +79 -0
  230. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/Specials.js +28 -0
  231. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/SuperAndSubscripts.js +28 -0
  232. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/SuppMathOperators.js +271 -0
  233. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/SupplementalArrowsA.js +35 -0
  234. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/SupplementalArrowsB.js +155 -0
  235. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/ij.js +29 -0
  236. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/IntegralsD/Bold/All.js +55 -0
  237. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/IntegralsD/Regular/All.js +54 -0
  238. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/IntegralsD/Regular/Main.js +36 -0
  239. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/IntegralsSm/Bold/All.js +55 -0
  240. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/IntegralsSm/Regular/All.js +54 -0
  241. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/IntegralsSm/Regular/Main.js +36 -0
  242. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/IntegralsUp/Bold/All.js +55 -0
  243. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/IntegralsUp/Regular/All.js +54 -0
  244. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/IntegralsUp/Regular/Main.js +36 -0
  245. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/IntegralsUpD/Bold/All.js +55 -0
  246. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/IntegralsUpD/Regular/All.js +54 -0
  247. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/IntegralsUpD/Regular/Main.js +36 -0
  248. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/IntegralsUpSm/Bold/All.js +55 -0
  249. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/IntegralsUpSm/Regular/All.js +54 -0
  250. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/IntegralsUpSm/Regular/Main.js +36 -0
  251. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/NonUnicode/Bold/All.js +29 -0
  252. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/NonUnicode/Bold/Main.js +35 -0
  253. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/NonUnicode/Bold/PrivateUse.js +182 -0
  254. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/NonUnicode/BoldItalic/All.js +29 -0
  255. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/NonUnicode/BoldItalic/Main.js +36 -0
  256. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/NonUnicode/BoldItalic/PrivateUse.js +215 -0
  257. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/NonUnicode/Italic/All.js +29 -0
  258. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/NonUnicode/Italic/Main.js +60 -0
  259. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/NonUnicode/Italic/PrivateUse.js +242 -0
  260. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/NonUnicode/Regular/All.js +29 -0
  261. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/NonUnicode/Regular/Main.js +57 -0
  262. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/NonUnicode/Regular/PrivateUse.js +387 -0
  263. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/SizeFiveSym/Regular/All.js +51 -0
  264. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/SizeFiveSym/Regular/Main.js +43 -0
  265. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/SizeFourSym/Bold/Main.js +46 -0
  266. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/SizeFourSym/Regular/All.js +63 -0
  267. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/SizeFourSym/Regular/Main.js +62 -0
  268. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/SizeOneSym/Bold/All.js +28 -0
  269. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/SizeOneSym/Bold/Main.js +52 -0
  270. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/SizeOneSym/Regular/All.js +77 -0
  271. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/SizeOneSym/Regular/Main.js +105 -0
  272. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/SizeThreeSym/Bold/Main.js +46 -0
  273. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/SizeThreeSym/Regular/All.js +63 -0
  274. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/SizeThreeSym/Regular/Main.js +62 -0
  275. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/SizeTwoSym/Bold/Main.js +46 -0
  276. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/SizeTwoSym/Regular/All.js +64 -0
  277. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/SizeTwoSym/Regular/Main.js +63 -0
  278. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/Variants/Bold/All.js +60 -0
  279. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/Variants/Bold/Main.js +44 -0
  280. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/Variants/Regular/All.js +120 -0
  281. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/Variants/Regular/Main.js +49 -0
  282. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/fontdata-beta.js +373 -0
  283. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/fontdata.js +1403 -0
  284. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/Arrows.js +65 -0
  285. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/BBBold.js +55 -0
  286. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/BoxDrawing.js +33 -0
  287. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/CombDiacritMarks.js +29 -0
  288. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/Dingbats.js +29 -0
  289. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/EnclosedAlphanum.js +28 -0
  290. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/GeneralPunctuation.js +28 -0
  291. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/GeometricShapes.js +36 -0
  292. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/GreekAndCoptic.js +29 -0
  293. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/Latin1Supplement.js +31 -0
  294. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/LatinExtendedA.js +28 -0
  295. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/LetterlikeSymbols.js +34 -0
  296. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/Main.js +51 -0
  297. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/MathOperators.js +138 -0
  298. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/MiscMathSymbolsB.js +28 -0
  299. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/MiscSymbols.js +28 -0
  300. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/MiscTechnical.js +29 -0
  301. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/PUA.js +43 -0
  302. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/SpacingModLetters.js +29 -0
  303. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/SuppMathOperators.js +50 -0
  304. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Caligraphic/Bold/Main.js +96 -0
  305. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Caligraphic/Regular/Main.js +95 -0
  306. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Fraktur/Bold/BasicLatin.js +109 -0
  307. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Fraktur/Bold/Main.js +36 -0
  308. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Fraktur/Bold/Other.js +30 -0
  309. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Fraktur/Bold/PUA.js +34 -0
  310. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Fraktur/Regular/BasicLatin.js +109 -0
  311. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Fraktur/Regular/Main.js +35 -0
  312. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Fraktur/Regular/Other.js +30 -0
  313. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Fraktur/Regular/PUA.js +35 -0
  314. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Greek/Bold/Main.js +43 -0
  315. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Greek/BoldItalic/Main.js +110 -0
  316. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Greek/Italic/Main.js +109 -0
  317. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Greek/Regular/Main.js +42 -0
  318. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/Arrows.js +51 -0
  319. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/CombDiacritMarks.js +39 -0
  320. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/CombDiactForSymbols.js +28 -0
  321. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/GeneralPunctuation.js +44 -0
  322. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/GeometricShapes.js +32 -0
  323. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/GreekAndCoptic.js +38 -0
  324. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/Latin1Supplement.js +36 -0
  325. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/LatinExtendedA.js +28 -0
  326. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/LatinExtendedB.js +28 -0
  327. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/LetterlikeSymbols.js +33 -0
  328. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/Main.js +161 -0
  329. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/MathOperators.js +94 -0
  330. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/MiscMathSymbolsA.js +29 -0
  331. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/MiscSymbols.js +34 -0
  332. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/MiscTechnical.js +33 -0
  333. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/SpacingModLetters.js +36 -0
  334. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/SuppMathOperators.js +30 -0
  335. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/SupplementalArrowsA.js +34 -0
  336. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Italic/CombDiacritMarks.js +38 -0
  337. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Italic/GeneralPunctuation.js +33 -0
  338. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Italic/GreekAndCoptic.js +38 -0
  339. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Italic/Latin1Supplement.js +28 -0
  340. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Italic/LatinExtendedA.js +28 -0
  341. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Italic/LatinExtendedB.js +28 -0
  342. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Italic/LetterlikeSymbols.js +28 -0
  343. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Italic/Main.js +137 -0
  344. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Regular/Arrows.js +51 -0
  345. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Regular/CombDiacritMarks.js +39 -0
  346. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Regular/CombDiactForSymbols.js +28 -0
  347. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Regular/GeneralPunctuation.js +38 -0
  348. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Regular/GeometricShapes.js +32 -0
  349. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Regular/GreekAndCoptic.js +38 -0
  350. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Regular/Latin1Supplement.js +32 -0
  351. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Regular/LatinExtendedA.js +28 -0
  352. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Regular/LatinExtendedB.js +28 -0
  353. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Regular/LetterlikeSymbols.js +33 -0
  354. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Regular/Main.js +304 -0
  355. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Regular/MathOperators.js +94 -0
  356. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Regular/MiscMathSymbolsA.js +31 -0
  357. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Regular/MiscSymbols.js +34 -0
  358. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Regular/MiscTechnical.js +35 -0
  359. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Regular/SpacingModLetters.js +28 -0
  360. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Regular/SuppMathOperators.js +30 -0
  361. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Regular/SupplementalArrowsA.js +34 -0
  362. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Math/BoldItalic/Main.js +205 -0
  363. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Math/Italic/Main.js +204 -0
  364. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/SansSerif/Bold/BasicLatin.js +115 -0
  365. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/SansSerif/Bold/CombDiacritMarks.js +38 -0
  366. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/SansSerif/Bold/Main.js +36 -0
  367. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/SansSerif/Bold/Other.js +47 -0
  368. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/SansSerif/Italic/BasicLatin.js +115 -0
  369. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/SansSerif/Italic/CombDiacritMarks.js +38 -0
  370. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/SansSerif/Italic/Main.js +36 -0
  371. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/SansSerif/Italic/Other.js +47 -0
  372. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/SansSerif/Regular/BasicLatin.js +115 -0
  373. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/SansSerif/Regular/CombDiacritMarks.js +38 -0
  374. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/SansSerif/Regular/Main.js +35 -0
  375. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/SansSerif/Regular/Other.js +47 -0
  376. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Script/Regular/BasicLatin.js +54 -0
  377. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Script/Regular/Main.js +62 -0
  378. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Script/Regular/Other.js +28 -0
  379. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Size1/Regular/Main.js +74 -0
  380. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Size2/Regular/Main.js +66 -0
  381. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Size3/Regular/Main.js +50 -0
  382. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Size4/Regular/Main.js +77 -0
  383. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Typewriter/Regular/BasicLatin.js +123 -0
  384. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Typewriter/Regular/CombDiacritMarks.js +36 -0
  385. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Typewriter/Regular/Main.js +35 -0
  386. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Typewriter/Regular/Other.js +44 -0
  387. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/WinChrome/Regular/Main.js +43 -0
  388. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/WinIE6/Regular/AMS.js +56 -0
  389. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/WinIE6/Regular/Bold.js +82 -0
  390. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/WinIE6/Regular/Main.js +111 -0
  391. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/fontdata.js +1691 -0
  392. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/imageFonts.js +185 -0
  393. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/jax.js +1991 -0
  394. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/NativeMML/config.js +51 -0
  395. data/lib/gollum/frontend/public/javascript/MathJax/jax/output/NativeMML/jax.js +230 -0
  396. data/lib/gollum/frontend/public/javascript/MathJax/test/index-images.html +119 -0
  397. data/lib/gollum/frontend/public/javascript/MathJax/test/index.html +127 -0
  398. data/lib/gollum/frontend/public/javascript/MathJax/test/sample.html +99 -0
  399. data/lib/gollum/frontend/public/javascript/gollum.js +244 -0
  400. data/lib/gollum/frontend/public/javascript/jquery-1.4.2.min.js +154 -0
  401. data/lib/gollum/frontend/public/javascript/jquery.previewable_comment_form.js +64 -0
  402. data/lib/gollum/frontend/public/javascript/jquery.tabs.js +59 -0
  403. data/lib/gollum/frontend/public/javascript/jquery.text_selection-1.0.0.min.js +1 -0
  404. data/lib/gollum/frontend/templates/compare.mustache +33 -0
  405. data/lib/gollum/frontend/templates/create.mustache +39 -0
  406. data/lib/gollum/frontend/templates/edit.mustache +38 -0
  407. data/lib/gollum/frontend/templates/editbar.mustache +1196 -0
  408. data/lib/gollum/frontend/templates/error.mustache +11 -0
  409. data/lib/gollum/frontend/templates/history.mustache +37 -0
  410. data/lib/gollum/frontend/templates/layout.mustache +33 -0
  411. data/lib/gollum/frontend/templates/page.mustache +29 -0
  412. data/lib/gollum/frontend/templates/search.mustache +19 -0
  413. data/lib/gollum/frontend/views/compare.rb +90 -0
  414. data/lib/gollum/frontend/views/create.rb +21 -0
  415. data/lib/gollum/frontend/views/edit.rb +13 -0
  416. data/lib/gollum/frontend/views/editable.rb +13 -0
  417. data/lib/gollum/frontend/views/error.rb +7 -0
  418. data/lib/gollum/frontend/views/history.rb +44 -0
  419. data/lib/gollum/frontend/views/layout.rb +14 -0
  420. data/lib/gollum/frontend/views/page.rb +38 -0
  421. data/lib/gollum/frontend/views/search.rb +12 -0
  422. data/lib/gollum/markup.rb +343 -0
  423. data/lib/gollum/page.rb +356 -0
  424. data/lib/gollum/pagination.rb +61 -0
  425. data/lib/gollum/ruby1.8.rb +3 -0
  426. data/lib/gollum/wiki.rb +477 -0
  427. data/lib/gollum.rb +76 -0
  428. data/templates/formatting.html +92 -0
  429. data/test/examples/lotr.git/HEAD +1 -0
  430. data/test/examples/lotr.git/config +5 -0
  431. data/test/examples/lotr.git/description +1 -0
  432. data/test/examples/lotr.git/hooks/applypatch-msg.sample +15 -0
  433. data/test/examples/lotr.git/hooks/commit-msg.sample +24 -0
  434. data/test/examples/lotr.git/hooks/post-commit.sample +8 -0
  435. data/test/examples/lotr.git/hooks/post-receive.sample +15 -0
  436. data/test/examples/lotr.git/hooks/post-update.sample +8 -0
  437. data/test/examples/lotr.git/hooks/pre-applypatch.sample +14 -0
  438. data/test/examples/lotr.git/hooks/pre-commit.sample +46 -0
  439. data/test/examples/lotr.git/hooks/pre-rebase.sample +169 -0
  440. data/test/examples/lotr.git/hooks/prepare-commit-msg.sample +36 -0
  441. data/test/examples/lotr.git/hooks/update.sample +128 -0
  442. data/test/examples/lotr.git/info/exclude +6 -0
  443. data/test/examples/lotr.git/info/refs +1 -0
  444. data/test/examples/lotr.git/objects/06/131480411710c92a82fe2d1e76932c70feb2e5 +0 -0
  445. data/test/examples/lotr.git/objects/0a/de1e2916346d4c1f2fb63b863fd3c16808fe44 +0 -0
  446. data/test/examples/lotr.git/objects/0e/d8cbe0a25235bd867e65193c7d837c66b328ef +3 -0
  447. data/test/examples/lotr.git/objects/24/49c2681badfd3c189e8ed658dacffe8ba48fe5 +0 -0
  448. data/test/examples/lotr.git/objects/2c/b9156ad383914561a8502fc70f5a1d887e48ad +4 -0
  449. data/test/examples/lotr.git/objects/5d/cac289a8603188d2c5caf481dcba2985126aaa +0 -0
  450. data/test/examples/lotr.git/objects/60/f12f4254f58801b9ee7db7bca5fa8aeefaa56b +0 -0
  451. data/test/examples/lotr.git/objects/71/4323c104239440a5c66ab12a67ed07a83c404f +0 -0
  452. data/test/examples/lotr.git/objects/93/6b83ee0dd8837adb82511e40d5e4ebe59bb675 +0 -0
  453. data/test/examples/lotr.git/objects/94/523d7ae48aeba575099dd12926420d8fd0425d +2 -0
  454. data/test/examples/lotr.git/objects/96/97dc65e095658bbd1b8e8678e08881e86d32f1 +0 -0
  455. data/test/examples/lotr.git/objects/aa/b61fe89d56f8614c0a8151da34f939dcedfa68 +0 -0
  456. data/test/examples/lotr.git/objects/c3/b43e9f08966b088e7a0192e436b7a884542e05 +0 -0
  457. data/test/examples/lotr.git/objects/dc/596d6b2dd89ab05c66f4abd7d5eb706bc17f19 +0 -0
  458. data/test/examples/lotr.git/objects/ec/da3205bee14520aab5a7bb307392064b938e83 +0 -0
  459. data/test/examples/lotr.git/objects/fa/e7ef5344202bba4129abdc13060d9297d99465 +3 -0
  460. data/test/examples/lotr.git/objects/info/packs +2 -0
  461. data/test/examples/lotr.git/objects/pack/pack-dcbeaf3f6ff6c5eb08ea2b0a2d83626e8763546b.idx +0 -0
  462. data/test/examples/lotr.git/objects/pack/pack-dcbeaf3f6ff6c5eb08ea2b0a2d83626e8763546b.pack +0 -0
  463. data/test/examples/lotr.git/packed-refs +2 -0
  464. data/test/examples/lotr.git/refs/heads/master +1 -0
  465. data/test/helper.rb +38 -0
  466. data/test/test_file.rb +40 -0
  467. data/test/test_markup.rb +399 -0
  468. data/test/test_page.rb +113 -0
  469. data/test/test_wiki.rb +241 -0
  470. metadata +735 -0
@@ -0,0 +1,343 @@
1
+ require 'digest/sha1'
2
+
3
+ module Gollum
4
+ class Markup
5
+ # Initialize a new Markup object.
6
+ #
7
+ # page - The Gollum::Page.
8
+ #
9
+ # Returns a new Gollum::Markup object, ready for rendering.
10
+ def initialize(page)
11
+ @wiki = page.wiki
12
+ @name = page.filename
13
+ @data = page.raw_data
14
+ @version = page.version.id
15
+ @dir = ::File.dirname(page.path)
16
+ @tagmap = {}
17
+ @codemap = {}
18
+ @texmap = {}
19
+ end
20
+
21
+ # Render the content with Gollum wiki syntax on top of the file's own
22
+ # markup language.
23
+ #
24
+ # Returns the formatted String content.
25
+ def render
26
+ data = extract_tex(@data)
27
+ data = extract_code(data)
28
+ data = extract_tags(data)
29
+ begin
30
+ data = GitHub::Markup.render(@name, data)
31
+ if data.nil?
32
+ raise "There was an error converting #{@name} to HTML."
33
+ end
34
+ rescue Object => e
35
+ data = %{<p class="gollum-error">#{e.message}</p>}
36
+ end
37
+ data = process_code(data)
38
+ data = Sanitize.clean(data, SANITIZATION_OPTIONS)
39
+ data = process_tags(data)
40
+ data = process_tex(data)
41
+ data = data.gsub(/<p><\/p>/, '')
42
+ data
43
+ end
44
+
45
+ #########################################################################
46
+ #
47
+ # TeX
48
+ #
49
+ #########################################################################
50
+
51
+ # Extract all TeX into the texmap and replace with placeholders.
52
+ #
53
+ # data - The raw String data.
54
+ #
55
+ # Returns the placeholder'd String data.
56
+ def extract_tex(data)
57
+ data.gsub(/\\\[\s*(.*?)\s*\\\]/m) do
58
+ id = Digest::SHA1.hexdigest($1)
59
+ @texmap[id] = [:block, $1]
60
+ id
61
+ end.gsub(/\\\(\s*(.*?)\s*\\\)/m) do
62
+ id = Digest::SHA1.hexdigest($1)
63
+ @texmap[id] = [:inline, $1]
64
+ id
65
+ end
66
+ end
67
+
68
+ # Process all TeX from the texmap and replace the placeholders with the
69
+ # final markup.
70
+ #
71
+ # data - The String data (with placeholders).
72
+ #
73
+ # Returns the marked up String data.
74
+ def process_tex(data)
75
+ @texmap.each do |id, spec|
76
+ type, tex = *spec
77
+ out =
78
+ case type
79
+ when :block
80
+ %{<script type="math/tex; mode=display">#{tex}</script>}
81
+ when :inline
82
+ %{<script type="math/tex">#{tex}</script>}
83
+ end
84
+ data.gsub!(id, out)
85
+ end
86
+ data
87
+ end
88
+
89
+ #########################################################################
90
+ #
91
+ # Tags
92
+ #
93
+ #########################################################################
94
+
95
+ # Extract all tags into the tagmap and replace with placeholders.
96
+ #
97
+ # data - The raw String data.
98
+ #
99
+ # Returns the placeholder'd String data.
100
+ def extract_tags(data)
101
+ data.gsub(/(.?)\[\[(.+?)\]\]([^\[]?)/m) do
102
+ if $1 == "'" && $3 != "'"
103
+ "[[#{$2}]]#{$3}"
104
+ elsif $2.include?('][')
105
+ $&
106
+ else
107
+ id = Digest::SHA1.hexdigest($2)
108
+ @tagmap[id] = $2
109
+ "#{$1}#{id}#{$3}"
110
+ end
111
+ end
112
+ end
113
+
114
+ # Process all tags from the tagmap and replace the placeholders with the
115
+ # final markup.
116
+ #
117
+ # data - The String data (with placeholders).
118
+ #
119
+ # Returns the marked up String data.
120
+ def process_tags(data)
121
+ @tagmap.each do |id, tag|
122
+ data.gsub!(id, process_tag(tag))
123
+ end
124
+ data
125
+ end
126
+
127
+ # Process a single tag into its final HTML form.
128
+ #
129
+ # tag - The String tag contents (the stuff inside the double brackets).
130
+ #
131
+ # Returns the String HTML version of the tag.
132
+ def process_tag(tag)
133
+ if html = process_image_tag(tag)
134
+ return html
135
+ elsif html = process_gist_link_tag(tag)
136
+ return html
137
+ elsif html = process_file_link_tag(tag)
138
+ return html
139
+ else
140
+ return process_page_link_tag(tag)
141
+ end
142
+ end
143
+
144
+ # Attempt to process the tag as an image tag.
145
+ #
146
+ # tag - The String tag contents (the stuff inside the double brackets).
147
+ #
148
+ # Returns the String HTML if the tag is a valid image tag or nil
149
+ # if it is not.
150
+ def process_image_tag(tag)
151
+ parts = tag.split('|')
152
+ name = parts[0].strip
153
+ path = if file = find_file(name)
154
+ ::File.join @wiki.base_path, file.path
155
+ elsif name =~ /^https?:\/\/.+(jpg|png|gif|svg|bmp)$/
156
+ name
157
+ end
158
+
159
+ if path
160
+ opts = parse_image_tag_options(tag)
161
+
162
+ containered = false
163
+
164
+ classes = [] # applied to whatever the outermost container is
165
+ attrs = [] # applied to the image
166
+
167
+ align = opts['align']
168
+ if opts['float']
169
+ containered = true
170
+ align ||= 'left'
171
+ if %w{left right}.include?(align)
172
+ classes << "float-#{align}"
173
+ end
174
+ elsif %w{top texttop middle absmiddle bottom absbottom baseline}.include?(align)
175
+ attrs << %{align="#{align}"}
176
+ elsif align
177
+ if %w{left center right}.include?(align)
178
+ containered = true
179
+ classes << "align-#{align}"
180
+ end
181
+ end
182
+
183
+ if width = opts['width']
184
+ if width =~ /^\d+(\.\d+)?(em|px)$/
185
+ attrs << %{width="#{width}"}
186
+ end
187
+ end
188
+
189
+ if height = opts['height']
190
+ if height =~ /^\d+(\.\d+)?(em|px)$/
191
+ attrs << %{height="#{height}"}
192
+ end
193
+ end
194
+
195
+ if alt = opts['alt']
196
+ attrs << %{alt="#{alt}"}
197
+ end
198
+
199
+ attr_string = attrs.size > 0 ? attrs.join(' ') + ' ' : ''
200
+
201
+ if opts['frame'] || containered
202
+ classes << 'frame' if opts['frame']
203
+ %{<span class="#{classes.join(' ')}">} +
204
+ %{<span>} +
205
+ %{<img src="#{path}" #{attr_string}/>} +
206
+ (alt ? %{<span>#{alt}</span>} : '') +
207
+ %{</span>} +
208
+ %{</span>}
209
+ else
210
+ %{<img src="#{path}" #{attr_string}/>}
211
+ end
212
+ end
213
+ end
214
+
215
+ # Parse any options present on the image tag and extract them into a
216
+ # Hash of option names and values.
217
+ #
218
+ # tag - The String tag contents (the stuff inside the double brackets).
219
+ #
220
+ # Returns the options Hash:
221
+ # key - The String option name.
222
+ # val - The String option value or true if it is a binary option.
223
+ def parse_image_tag_options(tag)
224
+ tag.split('|')[1..-1].inject({}) do |memo, attr|
225
+ parts = attr.split('=').map { |x| x.strip }
226
+ memo[parts[0]] = (parts.size == 1 ? true : parts[1])
227
+ memo
228
+ end
229
+ end
230
+
231
+ # Attempt to process the tag as a gist link tag.
232
+ #
233
+ # tag - The String tag contents (the stuff inside the double brackets).
234
+ #
235
+ # Returns the String HTML if the tag is a valid gist link tag or nil
236
+ # if it is not.
237
+ def process_gist_link_tag(tag)
238
+ tag.sub!(/^(?:https?:\/\/)?(gist\.github\.com\/\d+)(?:\.js)?((?:\?file=\w+(?:\.\w+)*)?)$/, '<script src="http://\1.js\2"></script>')
239
+ end
240
+
241
+ # Attempt to process the tag as a file link tag.
242
+ #
243
+ # tag - The String tag contents (the stuff inside the double brackets).
244
+ #
245
+ # Returns the String HTML if the tag is a valid file link tag or nil
246
+ # if it is not.
247
+ def process_file_link_tag(tag)
248
+ parts = tag.split('|')
249
+ name = parts[0].strip
250
+ path = parts[1] && parts[1].strip
251
+ path = if path && file = find_file(path)
252
+ ::File.join @wiki.base_path, file.path
253
+ elsif path =~ %r{^https?://}
254
+ path
255
+ else
256
+ nil
257
+ end
258
+
259
+ if name && path && file
260
+ %{<a href="#{::File.join @wiki.base_path, file.path}">#{name}</a>}
261
+ elsif name && path
262
+ %{<a href="#{path}">#{name}</a>}
263
+ else
264
+ nil
265
+ end
266
+ end
267
+
268
+ # Attempt to process the tag as a page link tag.
269
+ #
270
+ # tag - The String tag contents (the stuff inside the double brackets).
271
+ #
272
+ # Returns the String HTML if the tag is a valid page link tag or nil
273
+ # if it is not.
274
+ def process_page_link_tag(tag)
275
+ parts = tag.split('|')
276
+ name = parts[0].strip
277
+ cname = Page.cname((parts[1] || parts[0]).strip)
278
+ if name =~ %r{^https?://} && parts[1].nil?
279
+ %{<a href="#{name}">#{name}</a>}
280
+ else
281
+ if page = @wiki.page(cname)
282
+ link = ::File.join(@wiki.base_path, Page.cname(page.name))
283
+ presence = "present"
284
+ else
285
+ link = ::File.join(@wiki.base_path, cname)
286
+ presence = "absent"
287
+ end
288
+ %{<a class="internal #{presence}" href="#{link}">#{name}</a>}
289
+ end
290
+ end
291
+
292
+ # Find the given file in the repo.
293
+ #
294
+ # name - The String absolute or relative path of the file.
295
+ #
296
+ # Returns the Gollum::File or nil if none was found.
297
+ def find_file(name)
298
+ if name =~ /^\//
299
+ @wiki.file(name[1..-1], @version)
300
+ else
301
+ path = @dir == '.' ? name : ::File.join(@dir, name)
302
+ @wiki.file(path, @version)
303
+ end
304
+ end
305
+
306
+ #########################################################################
307
+ #
308
+ # Code
309
+ #
310
+ #########################################################################
311
+
312
+ # Extract all code blocks into the codemap and replace with placeholders.
313
+ #
314
+ # data - The raw String data.
315
+ #
316
+ # Returns the placeholder'd String data.
317
+ def extract_code(data)
318
+ data.gsub(/^``` ?(.+?)\r?\n(.+?)\r?\n```\r?$/m) do
319
+ id = Digest::SHA1.hexdigest($2)
320
+ @codemap[id] = { :lang => $1, :code => $2 }
321
+ id
322
+ end
323
+ end
324
+
325
+ # Process all code from the codemap and replace the placeholders with the
326
+ # final HTML.
327
+ #
328
+ # data - The String data (with placeholders).
329
+ #
330
+ # Returns the marked up String data.
331
+ def process_code(data)
332
+ @codemap.each do |id, spec|
333
+ lang = spec[:lang]
334
+ code = spec[:code]
335
+ if code.lines.all? { |line| line =~ /\A\r?\n\Z/ || line =~ /^( |\t)/ }
336
+ code.gsub!(/^( |\t)/m, '')
337
+ end
338
+ data.gsub!(id, Gollum::Albino.new(code, lang).colorize)
339
+ end
340
+ data
341
+ end
342
+ end
343
+ end
@@ -0,0 +1,356 @@
1
+ module Gollum
2
+ class Page
3
+ include Pagination
4
+
5
+ Wiki.page_class = self
6
+
7
+ VALID_PAGE_RE = /^(.+)\.(md|mkdn?|mdown|markdown|textile|rdoc|org|creole|re?st(\.txt)?|asciidoc|pod)$/i
8
+ FORMAT_NAMES = { :markdown => "Markdown",
9
+ :textile => "Textile",
10
+ :rdoc => "RDoc",
11
+ :org => "Org-mode",
12
+ :creole => "Creole",
13
+ :rest => "reStructuredText",
14
+ :asciidoc => "AsciiDoc",
15
+ :pod => "Pod" }
16
+
17
+ # Checks if a filename has a valid extension understood by GitHub::Markup.
18
+ #
19
+ # filename - String filename, like "Home.md".
20
+ #
21
+ # Returns the matching String basename of the file without the extension.
22
+ def self.valid_filename?(filename)
23
+ filename && filename.to_s =~ VALID_PAGE_RE && $1
24
+ end
25
+
26
+ # Checks if a filename has a valid extension understood by GitHub::Markup.
27
+ # Also, checks if the filename has no "_" in the front (such as
28
+ # _Footer.md).
29
+ #
30
+ # filename - String filename, like "Home.md".
31
+ #
32
+ # Returns the matching String basename of the file without the extension.
33
+ def self.valid_page_name?(filename)
34
+ match = valid_filename?(filename)
35
+ filename =~ /^_/ ? false : match
36
+ end
37
+
38
+ # Reusable filter to turn a filename (without path) into a canonical name.
39
+ # Strips extension, converts spaces to dashes.
40
+ #
41
+ # Returns the filtered String.
42
+ def self.canonicalize_filename(filename)
43
+ filename.split('.')[0..-2].join('.').gsub('-', ' ')
44
+ end
45
+
46
+ # Public: Initialize a page.
47
+ #
48
+ # wiki - The Gollum::Wiki in question.
49
+ #
50
+ # Returns a newly initialized Gollum::Page.
51
+ def initialize(wiki)
52
+ @wiki = wiki
53
+ @blob = nil
54
+ end
55
+
56
+ # Public: The on-disk filename of the page including extension.
57
+ #
58
+ # Returns the String name.
59
+ def filename
60
+ @blob && @blob.name
61
+ end
62
+
63
+ # Public: The canonical page name without extension, and dashes converted
64
+ # to spaces.
65
+ #
66
+ # Returns the String name.
67
+ def name
68
+ self.class.canonicalize_filename(filename)
69
+ end
70
+
71
+ # Public: If the first element of a formatted page is an <h1> tag it can
72
+ # be considered the title of the page and used in the display. If the
73
+ # first element is NOT an <h1> tag, the title will be constructed from the
74
+ # filename by stripping the extension and replacing any dashes with
75
+ # spaces.
76
+ #
77
+ # Returns the fully sanitized String title.
78
+ def title
79
+ doc = Nokogiri::HTML(%{<div id="gollum-root">} + self.formatted_data + %{</div>})
80
+
81
+ header =
82
+ case self.format
83
+ when :asciidoc
84
+ doc.css("div#gollum-root > div#header > h1:first-child")
85
+ when :org
86
+ doc.css("div#gollum-root > p.title:first-child")
87
+ when :pod
88
+ doc.css("div#gollum-root > a.dummyTopAnchor:first-child + h1")
89
+ when :rest
90
+ doc.css("div#gollum-root > div > div > h1:first-child")
91
+ else
92
+ doc.css("div#gollum-root > h1:first-child")
93
+ end
94
+
95
+ if !header.empty?
96
+ Sanitize.clean(header.to_html)
97
+ else
98
+ Sanitize.clean(name)
99
+ end
100
+ end
101
+
102
+ # Public: The path of the page within the repo.
103
+ #
104
+ # Returns the String path.
105
+ attr_reader :path
106
+
107
+ # Public: The raw contents of the page.
108
+ #
109
+ # Returns the String data.
110
+ def raw_data
111
+ @blob && @blob.data
112
+ end
113
+
114
+ # Public: The formatted contents of the page.
115
+ #
116
+ # Returns the String data.
117
+ def formatted_data
118
+ @blob && Gollum::Markup.new(self).render
119
+ end
120
+
121
+ # Public: The format of the page.
122
+ #
123
+ # Returns the Symbol format of the page. One of:
124
+ # [ :markdown | :textile | :rdoc | :org | :rest | :asciidoc | :pod |
125
+ # :roff ]
126
+ def format
127
+ case @blob.name
128
+ when /\.(md|mkdn?|mdown|markdown)$/i
129
+ :markdown
130
+ when /\.(textile)$/i
131
+ :textile
132
+ when /\.(rdoc)$/i
133
+ :rdoc
134
+ when /\.(org)$/i
135
+ :org
136
+ when /\.(creole)$/i
137
+ :creole
138
+ when /\.(re?st(\.txt)?)$/i
139
+ :rest
140
+ when /\.(asciidoc)$/i
141
+ :asciidoc
142
+ when /\.(pod)$/i
143
+ :pod
144
+ when /\.(\d)$/i
145
+ :roff
146
+ else
147
+ nil
148
+ end
149
+ end
150
+
151
+ # Public: The current version of the page.
152
+ #
153
+ # Returns the Grit::Commit.
154
+ attr_reader :version
155
+
156
+ # Public: All of the versions that have touched the Page.
157
+ #
158
+ # options - The options Hash:
159
+ # :page - The Integer page number (default: 1).
160
+ # :per_page - The Integer max count of items to return.
161
+ # :follow - Follow's a file across renames, but falls back
162
+ # to a slower Grit native call. (default: false)
163
+ #
164
+ # Returns an Array of Grit::Commit.
165
+ def versions(options = {})
166
+ if options[:follow]
167
+ options[:pretty] = 'raw'
168
+ options.delete :max_count
169
+ options.delete :skip
170
+ log = @wiki.repo.git.native "log", options, "master", "--", @path
171
+ Grit::Commit.list_from_string(@wiki.repo, log)
172
+ else
173
+ @wiki.repo.log('master', @path, log_pagination_options(options))
174
+ end
175
+ end
176
+
177
+ # Public: The footer Page.
178
+ #
179
+ # Returns the footer Page or nil if none exists.
180
+ def footer
181
+ return nil if page_match('_Footer', self.filename)
182
+
183
+ dirs = self.path.split('/')
184
+ dirs.pop
185
+ map = @wiki.tree_map_for(self.version.id)
186
+ while !dirs.empty?
187
+ if page = find_page_in_this_tree(map, dirs.join('/'), '_Footer')
188
+ return page
189
+ end
190
+ dirs.pop
191
+ end
192
+
193
+ find_page_in_this_tree(map, '', '_Footer')
194
+ end
195
+
196
+ #########################################################################
197
+ #
198
+ # Class Methods
199
+ #
200
+ #########################################################################
201
+
202
+ # Convert a human page name into a canonical page name.
203
+ #
204
+ # name - The String human page name.
205
+ #
206
+ # Examples
207
+ #
208
+ # Page.cname("Bilbo Baggins")
209
+ # # => 'Bilbo-Baggins'
210
+ #
211
+ # Returns the String canonical name.
212
+ def self.cname(name)
213
+ name.gsub(%r{[ /<>]}, '-')
214
+ end
215
+
216
+ # Convert a format Symbol into an extension String.
217
+ #
218
+ # format - The format Symbol.
219
+ #
220
+ # Returns the String extension (no leading period).
221
+ def self.format_to_ext(format)
222
+ case format
223
+ when :markdown then 'md'
224
+ when :textile then 'textile'
225
+ when :rdoc then 'rdoc'
226
+ when :org then 'org'
227
+ when :creole then 'creole'
228
+ when :rest then 'rest'
229
+ when :asciidoc then 'asciidoc'
230
+ when :pod then 'pod'
231
+ end
232
+ end
233
+
234
+ #########################################################################
235
+ #
236
+ # Internal Methods
237
+ #
238
+ #########################################################################
239
+
240
+ # The underlying wiki repo.
241
+ #
242
+ # Returns the Gollum::Wiki containing the page.
243
+ attr_reader :wiki
244
+
245
+ # Set the Grit::Commit version of the page.
246
+ #
247
+ # Returns nothing.
248
+ attr_writer :version
249
+
250
+ # Find a page in the given Gollum repo.
251
+ #
252
+ # name - The human or canonical String page name to find.
253
+ # version - The String version ID to find.
254
+ #
255
+ # Returns a Gollum::Page or nil if the page could not be found.
256
+ def find(name, version)
257
+ map = @wiki.tree_map_for(version)
258
+ if page = find_page_in_tree(map, name)
259
+ sha = @wiki.ref_map[version] || version
260
+ page.version = Grit::Commit.create(@wiki.repo, :id => sha)
261
+ page
262
+ end
263
+ rescue Grit::GitRuby::Repository::NoSuchShaFound
264
+ end
265
+ # Find a page in a given tree.
266
+ #
267
+ # map - The Array tree map from Wiki#tree_map.
268
+ # name - The canonical String page name.
269
+ #
270
+ # Returns a Gollum::Page or nil if the page could not be found.
271
+ def find_page_in_tree(map, name)
272
+ map.each do |(tree_name, blob_sha)|
273
+ blob_name = ::File.basename(tree_name)
274
+ if page_match(name, blob_name)
275
+ dir = ::File.dirname(tree_name)
276
+ blob = Grit::Blob.create(@wiki.repo, :id => blob_sha, :name => blob_name)
277
+ dir.sub! /(^\/)|(^\.$)/, ''
278
+ dir = "/#{dir}" if !dir.empty?
279
+ return self.class.new(@wiki).populate(blob, dir)
280
+ end
281
+ end
282
+
283
+ return nil # nothing was found
284
+ end
285
+
286
+ # Find a page in a given tree without recursing into subtrees.
287
+ #
288
+ # map - The Array tree map from Wiki#tree_map.
289
+ # dir - The String path of the given Grit::Tree.
290
+ # name - The canonical String page name.
291
+ #
292
+ # Returns a Gollum::Page or nil if the page could not be found.
293
+ def find_page_in_this_tree(map, dir, name)
294
+ checked = dir.downcase
295
+ map.each do |(full_name, blob_sha)|
296
+ dir_name = ::File.dirname(full_name)
297
+ if dir_name == '.'
298
+ dir_name = ''
299
+ else
300
+ dir_name.downcase!
301
+ end
302
+ blob_name = ::File.basename(full_name)
303
+
304
+ if checked == dir_name && page_match(name, blob_name)
305
+ path = dir == '' ? '' : ::File.join('/', dir)
306
+ blob = Grit::Blob.create(@wiki.repo, :id => blob_sha, :name => blob_name)
307
+ page = self.class.new(@wiki).populate(blob, path)
308
+ page.version = self.version
309
+ return page
310
+ end
311
+ end
312
+
313
+ return nil # nothing was found
314
+ end
315
+
316
+ # Populate the Page with information from the Blob.
317
+ #
318
+ # blob - The Grit::Blob that contains the info.
319
+ # path - The String directory path of the page file.
320
+ #
321
+ # Returns the populated Gollum::Page.
322
+ def populate(blob, path)
323
+ @blob = blob
324
+ @path = (path + '/' + blob.name)[1..-1]
325
+ self
326
+ end
327
+
328
+ # The full directory path for the given tree.
329
+ #
330
+ # treemap - The Hash treemap containing parentage information.
331
+ # tree - The Grit::Tree for which to compute the path.
332
+ #
333
+ # Returns the String path.
334
+ def tree_path(treemap, tree)
335
+ if ptree = treemap[tree]
336
+ tree_path(treemap, ptree) + '/' + tree.name
337
+ else
338
+ ''
339
+ end
340
+ end
341
+
342
+ # Compare the canonicalized versions of the two names.
343
+ #
344
+ # name - The human or canonical String page name.
345
+ # filename - the String filename on disk (including extension).
346
+ #
347
+ # Returns a Boolean.
348
+ def page_match(name, filename)
349
+ if match = self.class.valid_filename?(filename)
350
+ Page.cname(name).downcase == Page.cname(match).downcase
351
+ else
352
+ false
353
+ end
354
+ end
355
+ end
356
+ end