kitabu 0.4.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (454) hide show
  1. data/README.markdown +60 -0
  2. data/Rakefile +37 -0
  3. data/VERSION +1 -0
  4. data/bin/kitabu +8 -0
  5. data/kitabu.gemspec +497 -0
  6. data/lib/kitabu.rb +50 -0
  7. data/lib/kitabu/base.rb +271 -0
  8. data/lib/kitabu/blackcloth.rb +179 -0
  9. data/lib/kitabu/command.rb +94 -0
  10. data/lib/kitabu/redcloth.rb +964 -0
  11. data/lib/kitabu/syntax.rb +126 -0
  12. data/lib/kitabu/tasks.rb +113 -0
  13. data/lib/kitabu/templates.rb +54 -0
  14. data/lib/kitabu/toc.rb +51 -0
  15. data/lib/kitabu/vendor/colorize/colorize.rb +81 -0
  16. data/lib/kitabu/vendor/ruby1.8/plist/plist.rb +22 -0
  17. data/lib/kitabu/vendor/ruby1.8/plist/plist/generator.rb +224 -0
  18. data/lib/kitabu/vendor/ruby1.8/plist/plist/parser.rb +224 -0
  19. data/lib/kitabu/vendor/ruby1.8/textpow/textpow.rb +10 -0
  20. data/lib/kitabu/vendor/ruby1.8/textpow/textpow/debug_processor.rb +36 -0
  21. data/lib/kitabu/vendor/ruby1.8/textpow/textpow/score_manager.rb +65 -0
  22. data/lib/kitabu/vendor/ruby1.8/textpow/textpow/syntax.rb +284 -0
  23. data/lib/kitabu/vendor/ruby1.8/uv/render/xhtml/active4d.render +140 -0
  24. data/lib/kitabu/vendor/ruby1.8/uv/render/xhtml/all_hallows_eve.render +104 -0
  25. data/lib/kitabu/vendor/ruby1.8/uv/render/xhtml/amy.render +179 -0
  26. data/lib/kitabu/vendor/ruby1.8/uv/render/xhtml/blackboard.render +119 -0
  27. data/lib/kitabu/vendor/ruby1.8/uv/render/xhtml/brilliance_black.render +560 -0
  28. data/lib/kitabu/vendor/ruby1.8/uv/render/xhtml/brilliance_dull.render +569 -0
  29. data/lib/kitabu/vendor/ruby1.8/uv/render/xhtml/cobalt.render +170 -0
  30. data/lib/kitabu/vendor/ruby1.8/uv/render/xhtml/dawn.render +134 -0
  31. data/lib/kitabu/vendor/ruby1.8/uv/render/xhtml/eiffel.render +140 -0
  32. data/lib/kitabu/vendor/ruby1.8/uv/render/xhtml/espresso_libre.render +131 -0
  33. data/lib/kitabu/vendor/ruby1.8/uv/render/xhtml/files/css/active4d.css +114 -0
  34. data/lib/kitabu/vendor/ruby1.8/uv/render/xhtml/files/css/all_hallows_eve.css +72 -0
  35. data/lib/kitabu/vendor/ruby1.8/uv/render/xhtml/files/css/amy.css +147 -0
  36. data/lib/kitabu/vendor/ruby1.8/uv/render/xhtml/files/css/blackboard.css +88 -0
  37. data/lib/kitabu/vendor/ruby1.8/uv/render/xhtml/files/css/brilliance_black.css +605 -0
  38. data/lib/kitabu/vendor/ruby1.8/uv/render/xhtml/files/css/brilliance_dull.css +599 -0
  39. data/lib/kitabu/vendor/ruby1.8/uv/render/xhtml/files/css/cobalt.css +149 -0
  40. data/lib/kitabu/vendor/ruby1.8/uv/render/xhtml/files/css/dawn.css +121 -0
  41. data/lib/kitabu/vendor/ruby1.8/uv/render/xhtml/files/css/eiffel.css +121 -0
  42. data/lib/kitabu/vendor/ruby1.8/uv/render/xhtml/files/css/espresso_libre.css +109 -0
  43. data/lib/kitabu/vendor/ruby1.8/uv/render/xhtml/files/css/idle.css +62 -0
  44. data/lib/kitabu/vendor/ruby1.8/uv/render/xhtml/files/css/iplastic.css +80 -0
  45. data/lib/kitabu/vendor/ruby1.8/uv/render/xhtml/files/css/lazy.css +73 -0
  46. data/lib/kitabu/vendor/ruby1.8/uv/render/xhtml/files/css/mac_classic.css +123 -0
  47. data/lib/kitabu/vendor/ruby1.8/uv/render/xhtml/files/css/magicwb_amiga.css +104 -0
  48. data/lib/kitabu/vendor/ruby1.8/uv/render/xhtml/files/css/pastels_on_dark.css +188 -0
  49. data/lib/kitabu/vendor/ruby1.8/uv/render/xhtml/files/css/slush_poppies.css +85 -0
  50. data/lib/kitabu/vendor/ruby1.8/uv/render/xhtml/files/css/spacecadet.css +51 -0
  51. data/lib/kitabu/vendor/ruby1.8/uv/render/xhtml/files/css/sunburst.css +180 -0
  52. data/lib/kitabu/vendor/ruby1.8/uv/render/xhtml/files/css/twilight.css +137 -0
  53. data/lib/kitabu/vendor/ruby1.8/uv/render/xhtml/files/css/zenburnesque.css +91 -0
  54. data/lib/kitabu/vendor/ruby1.8/uv/render/xhtml/idle.render +101 -0
  55. data/lib/kitabu/vendor/ruby1.8/uv/render/xhtml/iplastic.render +107 -0
  56. data/lib/kitabu/vendor/ruby1.8/uv/render/xhtml/lazy.render +104 -0
  57. data/lib/kitabu/vendor/ruby1.8/uv/render/xhtml/mac_classic.render +143 -0
  58. data/lib/kitabu/vendor/ruby1.8/uv/render/xhtml/magicwb_amiga.render +125 -0
  59. data/lib/kitabu/vendor/ruby1.8/uv/render/xhtml/pastels_on_dark.render +212 -0
  60. data/lib/kitabu/vendor/ruby1.8/uv/render/xhtml/slush_poppies.render +131 -0
  61. data/lib/kitabu/vendor/ruby1.8/uv/render/xhtml/spacecadet.render +89 -0
  62. data/lib/kitabu/vendor/ruby1.8/uv/render/xhtml/sunburst.render +194 -0
  63. data/lib/kitabu/vendor/ruby1.8/uv/render/xhtml/twilight.render +161 -0
  64. data/lib/kitabu/vendor/ruby1.8/uv/render/xhtml/zenburnesque.render +134 -0
  65. data/lib/kitabu/vendor/ruby1.8/uv/syntax/actionscript.syntax +97 -0
  66. data/lib/kitabu/vendor/ruby1.8/uv/syntax/active4d.syntax +276 -0
  67. data/lib/kitabu/vendor/ruby1.8/uv/syntax/active4d_html.syntax +311 -0
  68. data/lib/kitabu/vendor/ruby1.8/uv/syntax/active4d_ini.syntax +50 -0
  69. data/lib/kitabu/vendor/ruby1.8/uv/syntax/active4d_library.syntax +21 -0
  70. data/lib/kitabu/vendor/ruby1.8/uv/syntax/ada.syntax +33 -0
  71. data/lib/kitabu/vendor/ruby1.8/uv/syntax/antlr.syntax +151 -0
  72. data/lib/kitabu/vendor/ruby1.8/uv/syntax/apache.syntax +191 -0
  73. data/lib/kitabu/vendor/ruby1.8/uv/syntax/applescript.syntax +384 -0
  74. data/lib/kitabu/vendor/ruby1.8/uv/syntax/asp.syntax +70 -0
  75. data/lib/kitabu/vendor/ruby1.8/uv/syntax/asp_vb.net.syntax +129 -0
  76. data/lib/kitabu/vendor/ruby1.8/uv/syntax/bibtex.syntax +151 -0
  77. data/lib/kitabu/vendor/ruby1.8/uv/syntax/blog_html.syntax +41 -0
  78. data/lib/kitabu/vendor/ruby1.8/uv/syntax/blog_markdown.syntax +42 -0
  79. data/lib/kitabu/vendor/ruby1.8/uv/syntax/blog_text.syntax +27 -0
  80. data/lib/kitabu/vendor/ruby1.8/uv/syntax/blog_textile.syntax +27 -0
  81. data/lib/kitabu/vendor/ruby1.8/uv/syntax/buggy/nemerle.syntax +74 -0
  82. data/lib/kitabu/vendor/ruby1.8/uv/syntax/build.syntax +53 -0
  83. data/lib/kitabu/vendor/ruby1.8/uv/syntax/bulletin_board.syntax +287 -0
  84. data/lib/kitabu/vendor/ruby1.8/uv/syntax/c++.syntax +109 -0
  85. data/lib/kitabu/vendor/ruby1.8/uv/syntax/c.syntax +326 -0
  86. data/lib/kitabu/vendor/ruby1.8/uv/syntax/cake.syntax +55 -0
  87. data/lib/kitabu/vendor/ruby1.8/uv/syntax/camlp4.syntax +36 -0
  88. data/lib/kitabu/vendor/ruby1.8/uv/syntax/cm.syntax +32 -0
  89. data/lib/kitabu/vendor/ruby1.8/uv/syntax/coldfusion.syntax +119 -0
  90. data/lib/kitabu/vendor/ruby1.8/uv/syntax/context_free.syntax +176 -0
  91. data/lib/kitabu/vendor/ruby1.8/uv/syntax/cs.syntax +59 -0
  92. data/lib/kitabu/vendor/ruby1.8/uv/syntax/css.syntax +195 -0
  93. data/lib/kitabu/vendor/ruby1.8/uv/syntax/css_experimental.syntax +1925 -0
  94. data/lib/kitabu/vendor/ruby1.8/uv/syntax/csv.syntax +68 -0
  95. data/lib/kitabu/vendor/ruby1.8/uv/syntax/d.syntax +142 -0
  96. data/lib/kitabu/vendor/ruby1.8/uv/syntax/diff.syntax +81 -0
  97. data/lib/kitabu/vendor/ruby1.8/uv/syntax/dokuwiki.syntax +204 -0
  98. data/lib/kitabu/vendor/ruby1.8/uv/syntax/dot.syntax +47 -0
  99. data/lib/kitabu/vendor/ruby1.8/uv/syntax/doxygen.syntax +43 -0
  100. data/lib/kitabu/vendor/ruby1.8/uv/syntax/dylan.syntax +62 -0
  101. data/lib/kitabu/vendor/ruby1.8/uv/syntax/eiffel.syntax +78 -0
  102. data/lib/kitabu/vendor/ruby1.8/uv/syntax/erlang.syntax +922 -0
  103. data/lib/kitabu/vendor/ruby1.8/uv/syntax/f-script.syntax +80 -0
  104. data/lib/kitabu/vendor/ruby1.8/uv/syntax/fortran.syntax +141 -0
  105. data/lib/kitabu/vendor/ruby1.8/uv/syntax/fxscript.syntax +142 -0
  106. data/lib/kitabu/vendor/ruby1.8/uv/syntax/greasemonkey.syntax +34 -0
  107. data/lib/kitabu/vendor/ruby1.8/uv/syntax/gri.syntax +83 -0
  108. data/lib/kitabu/vendor/ruby1.8/uv/syntax/groovy.syntax +191 -0
  109. data/lib/kitabu/vendor/ruby1.8/uv/syntax/gtd.syntax +22 -0
  110. data/lib/kitabu/vendor/ruby1.8/uv/syntax/gtdalt.syntax +143 -0
  111. data/lib/kitabu/vendor/ruby1.8/uv/syntax/haml.syntax +88 -0
  112. data/lib/kitabu/vendor/ruby1.8/uv/syntax/haskell.syntax +88 -0
  113. data/lib/kitabu/vendor/ruby1.8/uv/syntax/html-asp.syntax +27 -0
  114. data/lib/kitabu/vendor/ruby1.8/uv/syntax/html.syntax +362 -0
  115. data/lib/kitabu/vendor/ruby1.8/uv/syntax/html_django.syntax +36 -0
  116. data/lib/kitabu/vendor/ruby1.8/uv/syntax/html_for_asp.net.syntax +424 -0
  117. data/lib/kitabu/vendor/ruby1.8/uv/syntax/html_mason.syntax +119 -0
  118. data/lib/kitabu/vendor/ruby1.8/uv/syntax/html_rails.syntax +40 -0
  119. data/lib/kitabu/vendor/ruby1.8/uv/syntax/html_tcl.syntax +26 -0
  120. data/lib/kitabu/vendor/ruby1.8/uv/syntax/icalendar.syntax +32 -0
  121. data/lib/kitabu/vendor/ruby1.8/uv/syntax/inform.syntax +48 -0
  122. data/lib/kitabu/vendor/ruby1.8/uv/syntax/ini.syntax +55 -0
  123. data/lib/kitabu/vendor/ruby1.8/uv/syntax/installer_distribution_script.syntax +77 -0
  124. data/lib/kitabu/vendor/ruby1.8/uv/syntax/io.syntax +81 -0
  125. data/lib/kitabu/vendor/ruby1.8/uv/syntax/java.syntax +211 -0
  126. data/lib/kitabu/vendor/ruby1.8/uv/syntax/javaproperties.syntax +20 -0
  127. data/lib/kitabu/vendor/ruby1.8/uv/syntax/javascript.syntax +256 -0
  128. data/lib/kitabu/vendor/ruby1.8/uv/syntax/javascript_+_prototype.syntax +72 -0
  129. data/lib/kitabu/vendor/ruby1.8/uv/syntax/javascript_+_prototype_bracketed.syntax +140 -0
  130. data/lib/kitabu/vendor/ruby1.8/uv/syntax/jquery_javascript.syntax +114 -0
  131. data/lib/kitabu/vendor/ruby1.8/uv/syntax/json.syntax +136 -0
  132. data/lib/kitabu/vendor/ruby1.8/uv/syntax/languagedefinition.syntax +708 -0
  133. data/lib/kitabu/vendor/ruby1.8/uv/syntax/latex.syntax +566 -0
  134. data/lib/kitabu/vendor/ruby1.8/uv/syntax/latex_beamer.syntax +41 -0
  135. data/lib/kitabu/vendor/ruby1.8/uv/syntax/latex_log.syntax +50 -0
  136. data/lib/kitabu/vendor/ruby1.8/uv/syntax/latex_memoir.syntax +64 -0
  137. data/lib/kitabu/vendor/ruby1.8/uv/syntax/lexflex.syntax +219 -0
  138. data/lib/kitabu/vendor/ruby1.8/uv/syntax/lighttpd.syntax +54 -0
  139. data/lib/kitabu/vendor/ruby1.8/uv/syntax/lilypond.syntax +492 -0
  140. data/lib/kitabu/vendor/ruby1.8/uv/syntax/lisp.syntax +61 -0
  141. data/lib/kitabu/vendor/ruby1.8/uv/syntax/literate_haskell.syntax +24 -0
  142. data/lib/kitabu/vendor/ruby1.8/uv/syntax/logo.syntax +29 -0
  143. data/lib/kitabu/vendor/ruby1.8/uv/syntax/logtalk.syntax +152 -0
  144. data/lib/kitabu/vendor/ruby1.8/uv/syntax/lua.syntax +86 -0
  145. data/lib/kitabu/vendor/ruby1.8/uv/syntax/m.syntax +142 -0
  146. data/lib/kitabu/vendor/ruby1.8/uv/syntax/macports_portfile.syntax +163 -0
  147. data/lib/kitabu/vendor/ruby1.8/uv/syntax/mail.syntax +118 -0
  148. data/lib/kitabu/vendor/ruby1.8/uv/syntax/makefile.syntax +36 -0
  149. data/lib/kitabu/vendor/ruby1.8/uv/syntax/man.syntax +17 -0
  150. data/lib/kitabu/vendor/ruby1.8/uv/syntax/markdown.syntax +543 -0
  151. data/lib/kitabu/vendor/ruby1.8/uv/syntax/mediawiki.syntax +567 -0
  152. data/lib/kitabu/vendor/ruby1.8/uv/syntax/mel.syntax +92 -0
  153. data/lib/kitabu/vendor/ruby1.8/uv/syntax/mips.syntax +66 -0
  154. data/lib/kitabu/vendor/ruby1.8/uv/syntax/mod_perl.syntax +50 -0
  155. data/lib/kitabu/vendor/ruby1.8/uv/syntax/modula-3.syntax +47 -0
  156. data/lib/kitabu/vendor/ruby1.8/uv/syntax/moinmoin.syntax +189 -0
  157. data/lib/kitabu/vendor/ruby1.8/uv/syntax/mootools.syntax +572 -0
  158. data/lib/kitabu/vendor/ruby1.8/uv/syntax/movable_type.syntax +162 -0
  159. data/lib/kitabu/vendor/ruby1.8/uv/syntax/multimarkdown.syntax +39 -0
  160. data/lib/kitabu/vendor/ruby1.8/uv/syntax/objective-c++.syntax +18 -0
  161. data/lib/kitabu/vendor/ruby1.8/uv/syntax/objective-c.syntax +233 -0
  162. data/lib/kitabu/vendor/ruby1.8/uv/syntax/ocaml.syntax +764 -0
  163. data/lib/kitabu/vendor/ruby1.8/uv/syntax/ocamllex.syntax +167 -0
  164. data/lib/kitabu/vendor/ruby1.8/uv/syntax/ocamlyacc.syntax +184 -0
  165. data/lib/kitabu/vendor/ruby1.8/uv/syntax/old/YAML.yaml +160 -0
  166. data/lib/kitabu/vendor/ruby1.8/uv/syntax/old/txt2tags.yaml +139 -0
  167. data/lib/kitabu/vendor/ruby1.8/uv/syntax/opengl.syntax +14 -0
  168. data/lib/kitabu/vendor/ruby1.8/uv/syntax/pascal.syntax +77 -0
  169. data/lib/kitabu/vendor/ruby1.8/uv/syntax/perl.syntax +1115 -0
  170. data/lib/kitabu/vendor/ruby1.8/uv/syntax/php.syntax +1253 -0
  171. data/lib/kitabu/vendor/ruby1.8/uv/syntax/plain_text.syntax +32 -0
  172. data/lib/kitabu/vendor/ruby1.8/uv/syntax/pmwiki.syntax +113 -0
  173. data/lib/kitabu/vendor/ruby1.8/uv/syntax/postscript.syntax +114 -0
  174. data/lib/kitabu/vendor/ruby1.8/uv/syntax/processing.syntax +106 -0
  175. data/lib/kitabu/vendor/ruby1.8/uv/syntax/prolog.syntax +40 -0
  176. data/lib/kitabu/vendor/ruby1.8/uv/syntax/property_list.syntax +635 -0
  177. data/lib/kitabu/vendor/ruby1.8/uv/syntax/python.syntax +868 -0
  178. data/lib/kitabu/vendor/ruby1.8/uv/syntax/python_django.syntax +21 -0
  179. data/lib/kitabu/vendor/ruby1.8/uv/syntax/qmake_project.syntax +114 -0
  180. data/lib/kitabu/vendor/ruby1.8/uv/syntax/qt_c++.syntax +26 -0
  181. data/lib/kitabu/vendor/ruby1.8/uv/syntax/quake3_config.syntax +32 -0
  182. data/lib/kitabu/vendor/ruby1.8/uv/syntax/r.syntax +81 -0
  183. data/lib/kitabu/vendor/ruby1.8/uv/syntax/r_console.syntax +16 -0
  184. data/lib/kitabu/vendor/ruby1.8/uv/syntax/ragel.syntax +201 -0
  185. data/lib/kitabu/vendor/ruby1.8/uv/syntax/rd_r_documentation.syntax +91 -0
  186. data/lib/kitabu/vendor/ruby1.8/uv/syntax/regexp.syntax +50 -0
  187. data/lib/kitabu/vendor/ruby1.8/uv/syntax/regular_expressions_oniguruma.syntax +107 -0
  188. data/lib/kitabu/vendor/ruby1.8/uv/syntax/regular_expressions_python.syntax +109 -0
  189. data/lib/kitabu/vendor/ruby1.8/uv/syntax/release_notes.syntax +46 -0
  190. data/lib/kitabu/vendor/ruby1.8/uv/syntax/remind.syntax +253 -0
  191. data/lib/kitabu/vendor/ruby1.8/uv/syntax/restructuredtext.syntax +250 -0
  192. data/lib/kitabu/vendor/ruby1.8/uv/syntax/rez.syntax +80 -0
  193. data/lib/kitabu/vendor/ruby1.8/uv/syntax/ruby.syntax +1035 -0
  194. data/lib/kitabu/vendor/ruby1.8/uv/syntax/ruby_experimental.syntax +145 -0
  195. data/lib/kitabu/vendor/ruby1.8/uv/syntax/ruby_on_rails.syntax +88 -0
  196. data/lib/kitabu/vendor/ruby1.8/uv/syntax/s5.syntax +69 -0
  197. data/lib/kitabu/vendor/ruby1.8/uv/syntax/scheme.syntax +347 -0
  198. data/lib/kitabu/vendor/ruby1.8/uv/syntax/scilab.syntax +41 -0
  199. data/lib/kitabu/vendor/ruby1.8/uv/syntax/setext.syntax +147 -0
  200. data/lib/kitabu/vendor/ruby1.8/uv/syntax/shell-unix-generic.syntax +384 -0
  201. data/lib/kitabu/vendor/ruby1.8/uv/syntax/slate.syntax +149 -0
  202. data/lib/kitabu/vendor/ruby1.8/uv/syntax/smarty.syntax +63 -0
  203. data/lib/kitabu/vendor/ruby1.8/uv/syntax/sql.syntax +237 -0
  204. data/lib/kitabu/vendor/ruby1.8/uv/syntax/sql_rails.syntax +18 -0
  205. data/lib/kitabu/vendor/ruby1.8/uv/syntax/ssh-config.syntax +33 -0
  206. data/lib/kitabu/vendor/ruby1.8/uv/syntax/standard_ml.syntax +121 -0
  207. data/lib/kitabu/vendor/ruby1.8/uv/syntax/strings_file.syntax +39 -0
  208. data/lib/kitabu/vendor/ruby1.8/uv/syntax/subversion_commit_message.syntax +36 -0
  209. data/lib/kitabu/vendor/ruby1.8/uv/syntax/sweave.syntax +84 -0
  210. data/lib/kitabu/vendor/ruby1.8/uv/syntax/swig.syntax +57 -0
  211. data/lib/kitabu/vendor/ruby1.8/uv/syntax/tcl.syntax +152 -0
  212. data/lib/kitabu/vendor/ruby1.8/uv/syntax/template_toolkit.syntax +121 -0
  213. data/lib/kitabu/vendor/ruby1.8/uv/syntax/tex.syntax +86 -0
  214. data/lib/kitabu/vendor/ruby1.8/uv/syntax/tex_math.syntax +49 -0
  215. data/lib/kitabu/vendor/ruby1.8/uv/syntax/textile.syntax +215 -0
  216. data/lib/kitabu/vendor/ruby1.8/uv/syntax/tsv.syntax +50 -0
  217. data/lib/kitabu/vendor/ruby1.8/uv/syntax/twiki.syntax +241 -0
  218. data/lib/kitabu/vendor/ruby1.8/uv/syntax/txt2tags.syntax +79 -0
  219. data/lib/kitabu/vendor/ruby1.8/uv/syntax/vectorscript.syntax +57 -0
  220. data/lib/kitabu/vendor/ruby1.8/uv/syntax/xhtml_1.0.syntax +4027 -0
  221. data/lib/kitabu/vendor/ruby1.8/uv/syntax/xml.syntax +180 -0
  222. data/lib/kitabu/vendor/ruby1.8/uv/syntax/xml_strict.syntax +92 -0
  223. data/lib/kitabu/vendor/ruby1.8/uv/syntax/xsl.syntax +60 -0
  224. data/lib/kitabu/vendor/ruby1.8/uv/syntax/yaml.syntax +160 -0
  225. data/lib/kitabu/vendor/ruby1.8/uv/syntax/yui_javascript.syntax +176 -0
  226. data/lib/kitabu/vendor/ruby1.8/uv/uv.rb +88 -0
  227. data/lib/kitabu/vendor/ruby1.8/uv/uv/render_processor.rb +131 -0
  228. data/lib/kitabu/vendor/ruby1.8/uv/uv/utility.rb +67 -0
  229. data/lib/kitabu/vendor/ruby1.9/plist/plist.rb +23 -0
  230. data/lib/kitabu/vendor/ruby1.9/plist/plist/generator.rb +228 -0
  231. data/lib/kitabu/vendor/ruby1.9/plist/plist/parser.rb +225 -0
  232. data/lib/kitabu/vendor/ruby1.9/textpow/textpow.rb +10 -0
  233. data/lib/kitabu/vendor/ruby1.9/textpow/textpow/debug_processor.rb +37 -0
  234. data/lib/kitabu/vendor/ruby1.9/textpow/textpow/score_manager.rb +66 -0
  235. data/lib/kitabu/vendor/ruby1.9/textpow/textpow/syntax.rb +286 -0
  236. data/lib/kitabu/vendor/ruby1.9/uv/render/xhtml/active4d.render +140 -0
  237. data/lib/kitabu/vendor/ruby1.9/uv/render/xhtml/all_hallows_eve.render +104 -0
  238. data/lib/kitabu/vendor/ruby1.9/uv/render/xhtml/amy.render +179 -0
  239. data/lib/kitabu/vendor/ruby1.9/uv/render/xhtml/blackboard.render +119 -0
  240. data/lib/kitabu/vendor/ruby1.9/uv/render/xhtml/brilliance_black.render +560 -0
  241. data/lib/kitabu/vendor/ruby1.9/uv/render/xhtml/brilliance_dull.render +569 -0
  242. data/lib/kitabu/vendor/ruby1.9/uv/render/xhtml/cobalt.render +170 -0
  243. data/lib/kitabu/vendor/ruby1.9/uv/render/xhtml/dawn.render +134 -0
  244. data/lib/kitabu/vendor/ruby1.9/uv/render/xhtml/eiffel.render +140 -0
  245. data/lib/kitabu/vendor/ruby1.9/uv/render/xhtml/espresso_libre.render +131 -0
  246. data/lib/kitabu/vendor/ruby1.9/uv/render/xhtml/files/css/active4d.css +114 -0
  247. data/lib/kitabu/vendor/ruby1.9/uv/render/xhtml/files/css/all_hallows_eve.css +72 -0
  248. data/lib/kitabu/vendor/ruby1.9/uv/render/xhtml/files/css/amy.css +147 -0
  249. data/lib/kitabu/vendor/ruby1.9/uv/render/xhtml/files/css/blackboard.css +88 -0
  250. data/lib/kitabu/vendor/ruby1.9/uv/render/xhtml/files/css/brilliance_black.css +605 -0
  251. data/lib/kitabu/vendor/ruby1.9/uv/render/xhtml/files/css/brilliance_dull.css +599 -0
  252. data/lib/kitabu/vendor/ruby1.9/uv/render/xhtml/files/css/cobalt.css +149 -0
  253. data/lib/kitabu/vendor/ruby1.9/uv/render/xhtml/files/css/dawn.css +121 -0
  254. data/lib/kitabu/vendor/ruby1.9/uv/render/xhtml/files/css/eiffel.css +121 -0
  255. data/lib/kitabu/vendor/ruby1.9/uv/render/xhtml/files/css/espresso_libre.css +109 -0
  256. data/lib/kitabu/vendor/ruby1.9/uv/render/xhtml/files/css/idle.css +62 -0
  257. data/lib/kitabu/vendor/ruby1.9/uv/render/xhtml/files/css/iplastic.css +80 -0
  258. data/lib/kitabu/vendor/ruby1.9/uv/render/xhtml/files/css/lazy.css +73 -0
  259. data/lib/kitabu/vendor/ruby1.9/uv/render/xhtml/files/css/mac_classic.css +123 -0
  260. data/lib/kitabu/vendor/ruby1.9/uv/render/xhtml/files/css/magicwb_amiga.css +104 -0
  261. data/lib/kitabu/vendor/ruby1.9/uv/render/xhtml/files/css/pastels_on_dark.css +188 -0
  262. data/lib/kitabu/vendor/ruby1.9/uv/render/xhtml/files/css/slush_poppies.css +85 -0
  263. data/lib/kitabu/vendor/ruby1.9/uv/render/xhtml/files/css/spacecadet.css +51 -0
  264. data/lib/kitabu/vendor/ruby1.9/uv/render/xhtml/files/css/sunburst.css +180 -0
  265. data/lib/kitabu/vendor/ruby1.9/uv/render/xhtml/files/css/twilight.css +137 -0
  266. data/lib/kitabu/vendor/ruby1.9/uv/render/xhtml/files/css/zenburnesque.css +91 -0
  267. data/lib/kitabu/vendor/ruby1.9/uv/render/xhtml/idle.render +101 -0
  268. data/lib/kitabu/vendor/ruby1.9/uv/render/xhtml/iplastic.render +107 -0
  269. data/lib/kitabu/vendor/ruby1.9/uv/render/xhtml/lazy.render +104 -0
  270. data/lib/kitabu/vendor/ruby1.9/uv/render/xhtml/mac_classic.render +143 -0
  271. data/lib/kitabu/vendor/ruby1.9/uv/render/xhtml/magicwb_amiga.render +125 -0
  272. data/lib/kitabu/vendor/ruby1.9/uv/render/xhtml/pastels_on_dark.render +212 -0
  273. data/lib/kitabu/vendor/ruby1.9/uv/render/xhtml/slush_poppies.render +131 -0
  274. data/lib/kitabu/vendor/ruby1.9/uv/render/xhtml/spacecadet.render +89 -0
  275. data/lib/kitabu/vendor/ruby1.9/uv/render/xhtml/sunburst.render +194 -0
  276. data/lib/kitabu/vendor/ruby1.9/uv/render/xhtml/twilight.render +161 -0
  277. data/lib/kitabu/vendor/ruby1.9/uv/render/xhtml/zenburnesque.render +134 -0
  278. data/lib/kitabu/vendor/ruby1.9/uv/syntax/actionscript.syntax +97 -0
  279. data/lib/kitabu/vendor/ruby1.9/uv/syntax/active4d.syntax +276 -0
  280. data/lib/kitabu/vendor/ruby1.9/uv/syntax/active4d_html.syntax +311 -0
  281. data/lib/kitabu/vendor/ruby1.9/uv/syntax/active4d_ini.syntax +50 -0
  282. data/lib/kitabu/vendor/ruby1.9/uv/syntax/active4d_library.syntax +21 -0
  283. data/lib/kitabu/vendor/ruby1.9/uv/syntax/ada.syntax +33 -0
  284. data/lib/kitabu/vendor/ruby1.9/uv/syntax/antlr.syntax +151 -0
  285. data/lib/kitabu/vendor/ruby1.9/uv/syntax/apache.syntax +191 -0
  286. data/lib/kitabu/vendor/ruby1.9/uv/syntax/applescript.syntax +384 -0
  287. data/lib/kitabu/vendor/ruby1.9/uv/syntax/asp.syntax +70 -0
  288. data/lib/kitabu/vendor/ruby1.9/uv/syntax/asp_vb.net.syntax +129 -0
  289. data/lib/kitabu/vendor/ruby1.9/uv/syntax/bibtex.syntax +151 -0
  290. data/lib/kitabu/vendor/ruby1.9/uv/syntax/blog_html.syntax +41 -0
  291. data/lib/kitabu/vendor/ruby1.9/uv/syntax/blog_markdown.syntax +42 -0
  292. data/lib/kitabu/vendor/ruby1.9/uv/syntax/blog_text.syntax +27 -0
  293. data/lib/kitabu/vendor/ruby1.9/uv/syntax/blog_textile.syntax +27 -0
  294. data/lib/kitabu/vendor/ruby1.9/uv/syntax/build.syntax +53 -0
  295. data/lib/kitabu/vendor/ruby1.9/uv/syntax/bulletin_board.syntax +287 -0
  296. data/lib/kitabu/vendor/ruby1.9/uv/syntax/cake.syntax +55 -0
  297. data/lib/kitabu/vendor/ruby1.9/uv/syntax/camlp4.syntax +36 -0
  298. data/lib/kitabu/vendor/ruby1.9/uv/syntax/cm.syntax +32 -0
  299. data/lib/kitabu/vendor/ruby1.9/uv/syntax/coldfusion.syntax +119 -0
  300. data/lib/kitabu/vendor/ruby1.9/uv/syntax/context_free.syntax +176 -0
  301. data/lib/kitabu/vendor/ruby1.9/uv/syntax/cs.syntax +59 -0
  302. data/lib/kitabu/vendor/ruby1.9/uv/syntax/css.syntax +195 -0
  303. data/lib/kitabu/vendor/ruby1.9/uv/syntax/css_experimental.syntax +1925 -0
  304. data/lib/kitabu/vendor/ruby1.9/uv/syntax/csv.syntax +68 -0
  305. data/lib/kitabu/vendor/ruby1.9/uv/syntax/d.syntax +142 -0
  306. data/lib/kitabu/vendor/ruby1.9/uv/syntax/diff.syntax +81 -0
  307. data/lib/kitabu/vendor/ruby1.9/uv/syntax/dokuwiki.syntax +204 -0
  308. data/lib/kitabu/vendor/ruby1.9/uv/syntax/dot.syntax +47 -0
  309. data/lib/kitabu/vendor/ruby1.9/uv/syntax/doxygen.syntax +43 -0
  310. data/lib/kitabu/vendor/ruby1.9/uv/syntax/dylan.syntax +62 -0
  311. data/lib/kitabu/vendor/ruby1.9/uv/syntax/eiffel.syntax +78 -0
  312. data/lib/kitabu/vendor/ruby1.9/uv/syntax/erlang.syntax +922 -0
  313. data/lib/kitabu/vendor/ruby1.9/uv/syntax/f-script.syntax +80 -0
  314. data/lib/kitabu/vendor/ruby1.9/uv/syntax/fortran.syntax +141 -0
  315. data/lib/kitabu/vendor/ruby1.9/uv/syntax/fxscript.syntax +142 -0
  316. data/lib/kitabu/vendor/ruby1.9/uv/syntax/greasemonkey.syntax +34 -0
  317. data/lib/kitabu/vendor/ruby1.9/uv/syntax/gri.syntax +83 -0
  318. data/lib/kitabu/vendor/ruby1.9/uv/syntax/groovy.syntax +191 -0
  319. data/lib/kitabu/vendor/ruby1.9/uv/syntax/gtd.syntax +22 -0
  320. data/lib/kitabu/vendor/ruby1.9/uv/syntax/gtdalt.syntax +143 -0
  321. data/lib/kitabu/vendor/ruby1.9/uv/syntax/haml.syntax +88 -0
  322. data/lib/kitabu/vendor/ruby1.9/uv/syntax/haskell.syntax +88 -0
  323. data/lib/kitabu/vendor/ruby1.9/uv/syntax/html-asp.syntax +27 -0
  324. data/lib/kitabu/vendor/ruby1.9/uv/syntax/html.syntax +362 -0
  325. data/lib/kitabu/vendor/ruby1.9/uv/syntax/html_django.syntax +36 -0
  326. data/lib/kitabu/vendor/ruby1.9/uv/syntax/html_for_asp.net.syntax +424 -0
  327. data/lib/kitabu/vendor/ruby1.9/uv/syntax/html_mason.syntax +119 -0
  328. data/lib/kitabu/vendor/ruby1.9/uv/syntax/html_rails.syntax +40 -0
  329. data/lib/kitabu/vendor/ruby1.9/uv/syntax/html_tcl.syntax +26 -0
  330. data/lib/kitabu/vendor/ruby1.9/uv/syntax/icalendar.syntax +32 -0
  331. data/lib/kitabu/vendor/ruby1.9/uv/syntax/inform.syntax +48 -0
  332. data/lib/kitabu/vendor/ruby1.9/uv/syntax/ini.syntax +55 -0
  333. data/lib/kitabu/vendor/ruby1.9/uv/syntax/installer_distribution_script.syntax +77 -0
  334. data/lib/kitabu/vendor/ruby1.9/uv/syntax/io.syntax +81 -0
  335. data/lib/kitabu/vendor/ruby1.9/uv/syntax/java.syntax +211 -0
  336. data/lib/kitabu/vendor/ruby1.9/uv/syntax/javaproperties.syntax +20 -0
  337. data/lib/kitabu/vendor/ruby1.9/uv/syntax/javascript.syntax +256 -0
  338. data/lib/kitabu/vendor/ruby1.9/uv/syntax/javascript_+_prototype.syntax +72 -0
  339. data/lib/kitabu/vendor/ruby1.9/uv/syntax/javascript_+_prototype_bracketed.syntax +140 -0
  340. data/lib/kitabu/vendor/ruby1.9/uv/syntax/jquery_javascript.syntax +114 -0
  341. data/lib/kitabu/vendor/ruby1.9/uv/syntax/json.syntax +136 -0
  342. data/lib/kitabu/vendor/ruby1.9/uv/syntax/languagedefinition.syntax +708 -0
  343. data/lib/kitabu/vendor/ruby1.9/uv/syntax/latex.syntax +566 -0
  344. data/lib/kitabu/vendor/ruby1.9/uv/syntax/latex_beamer.syntax +41 -0
  345. data/lib/kitabu/vendor/ruby1.9/uv/syntax/latex_log.syntax +50 -0
  346. data/lib/kitabu/vendor/ruby1.9/uv/syntax/latex_memoir.syntax +64 -0
  347. data/lib/kitabu/vendor/ruby1.9/uv/syntax/lexflex.syntax +219 -0
  348. data/lib/kitabu/vendor/ruby1.9/uv/syntax/lighttpd.syntax +54 -0
  349. data/lib/kitabu/vendor/ruby1.9/uv/syntax/lilypond.syntax +492 -0
  350. data/lib/kitabu/vendor/ruby1.9/uv/syntax/lisp.syntax +61 -0
  351. data/lib/kitabu/vendor/ruby1.9/uv/syntax/literate_haskell.syntax +24 -0
  352. data/lib/kitabu/vendor/ruby1.9/uv/syntax/logo.syntax +29 -0
  353. data/lib/kitabu/vendor/ruby1.9/uv/syntax/logtalk.syntax +152 -0
  354. data/lib/kitabu/vendor/ruby1.9/uv/syntax/lua.syntax +86 -0
  355. data/lib/kitabu/vendor/ruby1.9/uv/syntax/m.syntax +142 -0
  356. data/lib/kitabu/vendor/ruby1.9/uv/syntax/macports_portfile.syntax +163 -0
  357. data/lib/kitabu/vendor/ruby1.9/uv/syntax/makefile.syntax +36 -0
  358. data/lib/kitabu/vendor/ruby1.9/uv/syntax/man.syntax +17 -0
  359. data/lib/kitabu/vendor/ruby1.9/uv/syntax/mediawiki.syntax +567 -0
  360. data/lib/kitabu/vendor/ruby1.9/uv/syntax/mips.syntax +66 -0
  361. data/lib/kitabu/vendor/ruby1.9/uv/syntax/mod_perl.syntax +50 -0
  362. data/lib/kitabu/vendor/ruby1.9/uv/syntax/modula-3.syntax +47 -0
  363. data/lib/kitabu/vendor/ruby1.9/uv/syntax/moinmoin.syntax +189 -0
  364. data/lib/kitabu/vendor/ruby1.9/uv/syntax/mootools.syntax +572 -0
  365. data/lib/kitabu/vendor/ruby1.9/uv/syntax/movable_type.syntax +162 -0
  366. data/lib/kitabu/vendor/ruby1.9/uv/syntax/multimarkdown.syntax +39 -0
  367. data/lib/kitabu/vendor/ruby1.9/uv/syntax/objective-c++.syntax +18 -0
  368. data/lib/kitabu/vendor/ruby1.9/uv/syntax/objective-c.syntax +233 -0
  369. data/lib/kitabu/vendor/ruby1.9/uv/syntax/ocaml.syntax +764 -0
  370. data/lib/kitabu/vendor/ruby1.9/uv/syntax/ocamllex.syntax +167 -0
  371. data/lib/kitabu/vendor/ruby1.9/uv/syntax/ocamlyacc.syntax +184 -0
  372. data/lib/kitabu/vendor/ruby1.9/uv/syntax/opengl.syntax +14 -0
  373. data/lib/kitabu/vendor/ruby1.9/uv/syntax/pascal.syntax +77 -0
  374. data/lib/kitabu/vendor/ruby1.9/uv/syntax/perl.syntax +1115 -0
  375. data/lib/kitabu/vendor/ruby1.9/uv/syntax/plain_text.syntax +32 -0
  376. data/lib/kitabu/vendor/ruby1.9/uv/syntax/postscript.syntax +114 -0
  377. data/lib/kitabu/vendor/ruby1.9/uv/syntax/processing.syntax +106 -0
  378. data/lib/kitabu/vendor/ruby1.9/uv/syntax/prolog.syntax +40 -0
  379. data/lib/kitabu/vendor/ruby1.9/uv/syntax/property_list.syntax +635 -0
  380. data/lib/kitabu/vendor/ruby1.9/uv/syntax/python.syntax +868 -0
  381. data/lib/kitabu/vendor/ruby1.9/uv/syntax/python_django.syntax +21 -0
  382. data/lib/kitabu/vendor/ruby1.9/uv/syntax/qmake_project.syntax +114 -0
  383. data/lib/kitabu/vendor/ruby1.9/uv/syntax/qt_c++.syntax +26 -0
  384. data/lib/kitabu/vendor/ruby1.9/uv/syntax/quake3_config.syntax +32 -0
  385. data/lib/kitabu/vendor/ruby1.9/uv/syntax/r.syntax +81 -0
  386. data/lib/kitabu/vendor/ruby1.9/uv/syntax/r_console.syntax +16 -0
  387. data/lib/kitabu/vendor/ruby1.9/uv/syntax/ragel.syntax +201 -0
  388. data/lib/kitabu/vendor/ruby1.9/uv/syntax/rd_r_documentation.syntax +91 -0
  389. data/lib/kitabu/vendor/ruby1.9/uv/syntax/regexp.syntax +50 -0
  390. data/lib/kitabu/vendor/ruby1.9/uv/syntax/release_notes.syntax +46 -0
  391. data/lib/kitabu/vendor/ruby1.9/uv/syntax/remind.syntax +253 -0
  392. data/lib/kitabu/vendor/ruby1.9/uv/syntax/restructuredtext.syntax +250 -0
  393. data/lib/kitabu/vendor/ruby1.9/uv/syntax/rez.syntax +80 -0
  394. data/lib/kitabu/vendor/ruby1.9/uv/syntax/ruby.syntax +1035 -0
  395. data/lib/kitabu/vendor/ruby1.9/uv/syntax/ruby_experimental.syntax +145 -0
  396. data/lib/kitabu/vendor/ruby1.9/uv/syntax/ruby_on_rails.syntax +88 -0
  397. data/lib/kitabu/vendor/ruby1.9/uv/syntax/s5.syntax +69 -0
  398. data/lib/kitabu/vendor/ruby1.9/uv/syntax/scheme.syntax +347 -0
  399. data/lib/kitabu/vendor/ruby1.9/uv/syntax/scilab.syntax +41 -0
  400. data/lib/kitabu/vendor/ruby1.9/uv/syntax/setext.syntax +147 -0
  401. data/lib/kitabu/vendor/ruby1.9/uv/syntax/shell-unix-generic.syntax +384 -0
  402. data/lib/kitabu/vendor/ruby1.9/uv/syntax/slate.syntax +149 -0
  403. data/lib/kitabu/vendor/ruby1.9/uv/syntax/sql.syntax +237 -0
  404. data/lib/kitabu/vendor/ruby1.9/uv/syntax/sql_rails.syntax +18 -0
  405. data/lib/kitabu/vendor/ruby1.9/uv/syntax/ssh-config.syntax +33 -0
  406. data/lib/kitabu/vendor/ruby1.9/uv/syntax/standard_ml.syntax +121 -0
  407. data/lib/kitabu/vendor/ruby1.9/uv/syntax/strings_file.syntax +39 -0
  408. data/lib/kitabu/vendor/ruby1.9/uv/syntax/subversion_commit_message.syntax +36 -0
  409. data/lib/kitabu/vendor/ruby1.9/uv/syntax/sweave.syntax +84 -0
  410. data/lib/kitabu/vendor/ruby1.9/uv/syntax/swig.syntax +57 -0
  411. data/lib/kitabu/vendor/ruby1.9/uv/syntax/tcl.syntax +152 -0
  412. data/lib/kitabu/vendor/ruby1.9/uv/syntax/template_toolkit.syntax +121 -0
  413. data/lib/kitabu/vendor/ruby1.9/uv/syntax/tex.syntax +86 -0
  414. data/lib/kitabu/vendor/ruby1.9/uv/syntax/tex_math.syntax +49 -0
  415. data/lib/kitabu/vendor/ruby1.9/uv/syntax/textile.syntax +215 -0
  416. data/lib/kitabu/vendor/ruby1.9/uv/syntax/tsv.syntax +50 -0
  417. data/lib/kitabu/vendor/ruby1.9/uv/syntax/twiki.syntax +241 -0
  418. data/lib/kitabu/vendor/ruby1.9/uv/syntax/txt2tags.syntax +79 -0
  419. data/lib/kitabu/vendor/ruby1.9/uv/syntax/vectorscript.syntax +57 -0
  420. data/lib/kitabu/vendor/ruby1.9/uv/syntax/xhtml_1.0.syntax +4027 -0
  421. data/lib/kitabu/vendor/ruby1.9/uv/syntax/xml.syntax +180 -0
  422. data/lib/kitabu/vendor/ruby1.9/uv/syntax/xml_strict.syntax +92 -0
  423. data/lib/kitabu/vendor/ruby1.9/uv/syntax/xsl.syntax +60 -0
  424. data/lib/kitabu/vendor/ruby1.9/uv/syntax/yaml.syntax +160 -0
  425. data/lib/kitabu/vendor/ruby1.9/uv/syntax/yui_javascript.syntax +176 -0
  426. data/lib/kitabu/vendor/ruby1.9/uv/uv.rb +89 -0
  427. data/lib/kitabu/vendor/ruby1.9/uv/uv/render_processor.rb +132 -0
  428. data/lib/kitabu/vendor/ruby1.9/uv/uv/utility.rb +68 -0
  429. data/spec/exit_matcher.rb +45 -0
  430. data/spec/fixtures/rails-guides/code/sample.rb +7 -0
  431. data/spec/kitabu/base_spec.rb +159 -0
  432. data/spec/kitabu/blackcloth_spec.rb +36 -0
  433. data/spec/kitabu/bug_fix_spec.rb +25 -0
  434. data/spec/kitabu/command_spec.rb +82 -0
  435. data/spec/kitabu/syntax_spec.rb +90 -0
  436. data/spec/kitabu/toc_spec.rb +79 -0
  437. data/spec/spec_helper.rb +30 -0
  438. data/templates/Rakefile +3 -0
  439. data/templates/config.yml +9 -0
  440. data/templates/layouts/boom/layout.css +469 -0
  441. data/templates/layouts/boom/layout.html +37 -0
  442. data/templates/syntax.css +1065 -0
  443. data/templates/themes/active4d.css +114 -0
  444. data/templates/themes/blackboard.css +88 -0
  445. data/templates/themes/dawn.css +121 -0
  446. data/templates/themes/eiffel.css +121 -0
  447. data/templates/themes/idle.css +62 -0
  448. data/templates/themes/iplastic.css +80 -0
  449. data/templates/themes/lazy.css +73 -0
  450. data/templates/themes/mac_classic.css +123 -0
  451. data/templates/themes/slush_poppies.css +85 -0
  452. data/templates/themes/sunburst.css +180 -0
  453. data/templates/user.css +1 -0
  454. metadata +518 -0
@@ -0,0 +1,45 @@
1
+ module ExitMatcher
2
+ class ExitWithStatus
3
+ attr_reader :expected
4
+ attr_reader :actual
5
+
6
+ def initialize(expected)
7
+ @expected = expected
8
+ end
9
+
10
+ def matches?(given_proc)
11
+ status = nil
12
+
13
+ begin
14
+ given_proc.call
15
+ rescue SystemExit
16
+ status = $!.status
17
+ end
18
+
19
+ @actual = status
20
+
21
+ @actual == @expected
22
+ end
23
+
24
+ def failure_message_for_should
25
+ if actual.nil?
26
+ "expected block to exit with #{expected.inspect} status, but didn't exit"
27
+ else
28
+ "expected block to exit with #{expected.inspect} status, but did it with #{actual.inspect}"
29
+ end
30
+ end
31
+
32
+ def failure_message_for_should_not
33
+ "expected block to not exit with #{actual.inspect} status, but did it"
34
+ end
35
+
36
+ private
37
+ def negative_expectation?
38
+ caller.first(3).find { |s| s =~ /should_not/ }
39
+ end
40
+ end
41
+
42
+ def exit_with(expected)
43
+ ExitWithStatus.new(expected)
44
+ end
45
+ end
@@ -0,0 +1,7 @@
1
+ class Sample
2
+ # begin: method
3
+ def hello(name)
4
+ "hi, #{name}!"
5
+ end
6
+ # end: method
7
+ end
@@ -0,0 +1,159 @@
1
+ # encoding: utf-8
2
+ require File.dirname(__FILE__) + "/../spec_helper"
3
+
4
+ describe "Kitabu::Base" do
5
+ before(:each) do
6
+ reset_env!
7
+ end
8
+
9
+ describe "Defaults" do
10
+ it "should be a valid theme" do
11
+ Kitabu::Base.should be_theme(Kitabu::Base::DEFAULT_THEME)
12
+ end
13
+
14
+ it "should be a valid layout" do
15
+ Kitabu::Base.should be_layout(Kitabu::Base::DEFAULT_LAYOUT)
16
+ end
17
+ end
18
+
19
+ describe "Paths" do
20
+ it "should return PDF path" do
21
+ Kitabu::Base.pdf_path.should == File.join(Kitabu::Base.root_path, "output", "rails-guides.pdf")
22
+ end
23
+
24
+ it "should return HTML path" do
25
+ Kitabu::Base.html_path.should == File.join(Kitabu::Base.root_path, "output", "rails-guides.html")
26
+ end
27
+
28
+ it "should return layout template path" do
29
+ Kitabu::Base.template_path.should == File.join(Kitabu::Base.root_path, "templates", "layout.html")
30
+ end
31
+
32
+ it "should return config path" do
33
+ Kitabu::Base.config_path.should == File.join(Kitabu::Base.root_path, "config.yml")
34
+ end
35
+
36
+ it "should return text directory" do
37
+ Kitabu::Base.text_dir.should == File.join(Kitabu::Base.root_path, "text")
38
+ end
39
+ end
40
+
41
+ describe "Configuration" do
42
+ it "should load configuration file" do
43
+ YAML.should_receive(:load_file).with(Kitabu::Base.config_path)
44
+ Kitabu::Base.config
45
+ end
46
+ end
47
+
48
+ describe "Helpers" do
49
+ it "should return app name" do
50
+ Kitabu::Base.app_name.should == "rails-guides"
51
+ end
52
+
53
+ it "should return default app name" do
54
+ ENV["KITABU_NAME"] = nil
55
+ Kitabu::Base.app_name.should == "kitabu"
56
+ end
57
+
58
+ it "should return permalink" do
59
+ Kitabu::Base.to_permalink("Internacionalização no Ruby on Rails").should == "internacionalizacao-no-ruby-on-rails"
60
+ end
61
+
62
+ it "should return layout list" do
63
+ Kitabu::Base.layouts.should == %w(boom)
64
+ end
65
+
66
+ it "should return theme list" do
67
+ Kitabu::Base.themes.should == %w(active4d blackboard dawn eiffel idle iplastic lazy mac_classic slush_poppies sunburst)
68
+ end
69
+
70
+ it "should return syntax list" do
71
+ Kitabu::Base.syntaxes.should == Uv.syntaxes
72
+ end
73
+ end
74
+
75
+ describe "Markdown processors" do
76
+ it "should return default processor" do
77
+ Kitabu::Base.stub!(:config).and_return({})
78
+ Kitabu::Base.markdown_processor_class.should == ::RDiscount
79
+ end
80
+
81
+ it "should return maruku processor" do
82
+ ::Maruku = mock("Maruku")
83
+ Kitabu::Base.stub!(:config).and_return("markdown" => "maruku")
84
+ Kitabu::Base.markdown_processor_class.should == ::Maruku
85
+ end
86
+
87
+ it "should return bluecloth processor" do
88
+ ::BlueCloth = mock("BlueCloth")
89
+ Kitabu::Base.stub!(:config).and_return("markdown" => "bluecloth")
90
+ Kitabu::Base.markdown_processor_class.should == ::BlueCloth
91
+ end
92
+
93
+ it "should return bluecloth processor" do
94
+ ::PEGMarkdown = mock("PEGMarkdown")
95
+ Kitabu::Base.stub!(:config).and_return("markdown" => "peg_markdown")
96
+ Kitabu::Base.markdown_processor_class.should == ::PEGMarkdown
97
+ end
98
+ end
99
+
100
+ describe "PDF generation" do
101
+ it "should execute command and close connection" do
102
+ cmd = "prince %s -o %s" % [Kitabu::Base.html_path, Kitabu::Base.pdf_path]
103
+ io = mock("IO")
104
+
105
+ io.should_receive(:close)
106
+ IO.should_receive(:popen).with(cmd).and_return(io)
107
+
108
+ Kitabu::Base.generate_pdf
109
+ end
110
+ end
111
+
112
+ describe "HTML generation" do
113
+ before(:each) do
114
+ FileUtils.rm_rf(Kitabu::Base.root_path + "/output")
115
+ ENV["KITABU_NAME"] = File.basename(Kitabu::Base.root_path)
116
+
117
+ Kitabu::Base.generate_html
118
+ @html = File.read(Kitabu::Base.html_path)
119
+ end
120
+
121
+ it "should generate file" do
122
+ File.should be_file(Kitabu::Base.html_path)
123
+ end
124
+
125
+ it "should set TOC" do
126
+ @html.should have_tag("#table-of-contents div.level2")
127
+ end
128
+
129
+ it "should set meta tags" do
130
+ @html.should have_tag(%(meta[@name=author])) do |tag|
131
+ tag["content"].should == "The Ruby on Rails community"
132
+ end
133
+
134
+ @html.should have_tag(%(meta[@name=subject])) do |tag|
135
+ tag["content"].should == "These guides are designed to make you immediately productive with Rails, and to help you understand how all of the pieces fit together."
136
+ end
137
+
138
+ @html.should have_tag(%(meta[@name=keywords])) do |tag|
139
+ tag["content"].should == "ruby, ruby on rails, documentation"
140
+ end
141
+ end
142
+
143
+ it "should set title" do
144
+ @html.should have_tag("#cover h1", "Rails Guides")
145
+ end
146
+
147
+ it "should separate text into chapters" do
148
+ @html.should have_tag("div.chapter", :count => 3)
149
+ end
150
+
151
+ it "should parse textile files" do
152
+ @html.should have_tag("div.chapter h2#introduction", "Introduction")
153
+ end
154
+
155
+ it "should parse markdown files" do
156
+ @html.should have_tag("div.chapter h2#rails-internationalization-i18n-api", "Rails Internationalization (I18n) API")
157
+ end
158
+ end
159
+ end
@@ -0,0 +1,36 @@
1
+ # encoding: utf-8
2
+ require File.dirname(__FILE__) + "/../spec_helper"
3
+
4
+ describe "BlackCloth" do
5
+ it "should parse figure tag" do
6
+ @html = BlackCloth.new("figure(The Rails logo). rails.png").to_html
7
+ @html.should have_tag("p.figure") do |p|
8
+ p.should have_tag("img[@src=../images/rails.png][@style='width: 87px; height: 111px'][@alt='The Rails logo']")
9
+ p.should have_tag("span.caption", "The Rails logo")
10
+ end
11
+ end
12
+
13
+ it "should parse note tag" do
14
+ @html = BlackCloth.new("note. Some important note!").to_html
15
+ @html.should have_tag("p.note", "Some important note!")
16
+ end
17
+
18
+ it "should link to file" do
19
+ Kitabu::Base.should_receive(:config).and_return("base_url" => "http://example.com")
20
+ @html = BlackCloth.new("file. app/models/users.rb").to_html
21
+
22
+ @html.should have_tag("p.file") do |p|
23
+ p.should have_tag("a[@href=http://example.com/app/models/users.rb]", "app/models/users.rb")
24
+ end
25
+ end
26
+
27
+ it "should create footnote" do
28
+ @html = BlackCloth.new("Writing some text with a footnote %{this is a footnote}").to_html
29
+ @html.should == %(<p>Writing some text with a footnote<span class="footnote">this is a footnote</span></p>)
30
+ end
31
+
32
+ it "should link url" do
33
+ @html = BlackCloth.new("<http://example.com>").to_html
34
+ @html.should == %(<a href="http://example.com">http://example.com</a>)
35
+ end
36
+ end
@@ -0,0 +1,25 @@
1
+ # encoding: utf-8
2
+ require File.dirname(__FILE__) + "/../spec_helper"
3
+
4
+ describe "Bug Fix" do
5
+ describe "Issue #3" do
6
+ before(:each) do
7
+ ENV["KITABU_ROOT"] = File.dirname(__FILE__) + "/../fixtures/wikipedia"
8
+ ENV["KITABU_NAME"] = "wikipedia"
9
+ end
10
+
11
+ it "should generate HTML when syntax highlight is disabled" do
12
+ ENV["NO_SYNTAX_HIGHLIGHT"] = "1"
13
+ Kitabu::Base.generate_html
14
+ @html = File.read(Kitabu::Base.root_path + "/output/wikipedia.html")
15
+ @html.should have_tag("h2", :count => 2)
16
+ end
17
+
18
+ it "should generate HTML when syntax highlight is disabled" do
19
+ ENV.delete("NO_SYNTAX_HIGHLIGHT")
20
+ Kitabu::Base.generate_html
21
+ @html = File.read(Kitabu::Base.root_path + "/output/wikipedia.html")
22
+ @html.should have_tag("h2", :count => 2)
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,82 @@
1
+ # encoding: utf-8
2
+ require File.dirname(__FILE__) + "/../spec_helper"
3
+ require "kitabu/command"
4
+
5
+ OUTPUT = []
6
+
7
+ module Kitabu
8
+ module Command
9
+ extend self
10
+
11
+ def output(*args)
12
+ args.each {|v| OUTPUT << v}
13
+ end
14
+ end
15
+ end
16
+
17
+ describe "Kitabu::Command" do
18
+ before(:each) do
19
+ @dir = "/tmp/kitabu-sample"
20
+
21
+ OUTPUT.delete_if { true }
22
+ ARGV.delete_if { true }
23
+ FileUtils.rm_rf(@dir)
24
+ end
25
+
26
+ it "should copy templates" do
27
+ run_with(@dir)
28
+
29
+ File.should be_file(@dir + "/Rakefile")
30
+ File.should be_file(@dir + "/config.yml")
31
+ File.should be_file(@dir + "/templates/layout.css")
32
+ File.should be_file(@dir + "/templates/layout.html")
33
+ File.should be_file(@dir + "/templates/syntax.css")
34
+ File.should be_file(@dir + "/templates/user.css")
35
+
36
+ File.should be_directory(@dir + "/text")
37
+ File.should be_directory(@dir + "/output")
38
+ end
39
+
40
+ it "should display help when no arg is provided" do
41
+ doing {
42
+ run_with
43
+ }.should exit_with(0)
44
+
45
+ OUTPUT.first.should == KITABU_HELP
46
+ end
47
+
48
+ it "should require valid layout" do
49
+ doing {
50
+ run_with @dir, "-l", "invalid"
51
+ }.should exit_with(1)
52
+
53
+ OUTPUT.first.should == "Invalid layout"
54
+ end
55
+
56
+ it "should accept valid layout" do
57
+ run_with @dir, "-l", "boom"
58
+
59
+ File.should be_file(@dir + "/templates/layout.css")
60
+ File.should be_file(@dir + "/templates/layout.html")
61
+ end
62
+
63
+ it "should exit on existing path" do
64
+ run_with @dir
65
+
66
+ doing {
67
+ run_with @dir
68
+ }.should exit_with(1)
69
+
70
+ OUTPUT.first.should == "Output path already exists"
71
+ end
72
+
73
+ private
74
+ def argv!(*args)
75
+ args.each {|v| ARGV << v }
76
+ end
77
+
78
+ def run_with(*args)
79
+ argv!(*args)
80
+ Kitabu::Command.run!
81
+ end
82
+ end
@@ -0,0 +1,90 @@
1
+ # encoding: utf-8
2
+ require File.dirname(__FILE__) + "/../spec_helper"
3
+
4
+ INLINE = '
5
+ syntax(ruby). class Sample
6
+ def hello(name)
7
+ puts "hi, #{name}"
8
+ end
9
+ end
10
+ '
11
+
12
+ describe "Kitabu::Syntax" do
13
+ before(:each) do
14
+ reset_env!
15
+ end
16
+
17
+ describe "Inline" do
18
+ it "should return code for textile" do
19
+ markup = BlackCloth.new(INLINE)
20
+ html = Kitabu::Syntax.process(markup.to_html, markup)
21
+
22
+ html.should have_tag("pre.idle.ruby")
23
+ end
24
+
25
+ it "should return code for markdown" do
26
+ markup = RDiscount.new(INLINE)
27
+ html = Kitabu::Syntax.process(markup.to_html, markup)
28
+
29
+ html.should have_tag("pre.idle.ruby")
30
+ end
31
+ end
32
+
33
+ describe "File" do
34
+ it "should return code for textile" do
35
+ markup = BlackCloth.new("syntax(ruby). sample.rb")
36
+ html = Kitabu::Syntax.process(markup.to_html, markup)
37
+
38
+ html.should have_tag("pre.idle.ruby")
39
+ Hpricot(html).inner_text.should match(/class Sample/)
40
+ end
41
+
42
+ it "should return code for markdown" do
43
+ markup = RDiscount.new("\tsyntax(ruby). sample.rb")
44
+ html = Kitabu::Syntax.process(markup.to_html, markup)
45
+
46
+ html.should have_tag("pre.idle.ruby")
47
+ Hpricot(html).inner_text.should match(/class Sample/)
48
+ end
49
+ end
50
+
51
+ describe "Named block" do
52
+ it "should return code for textile" do
53
+ markup = BlackCloth.new("syntax(ruby#method). sample.rb")
54
+ html = Kitabu::Syntax.process(markup.to_html, markup)
55
+
56
+ html.should have_tag("pre.idle.ruby")
57
+ Hpricot(html).inner_text.should_not match(/class Sample/)
58
+ Hpricot(html).inner_text.should match(/def hello/)
59
+ end
60
+
61
+ it "should return code for markdown" do
62
+ markup = RDiscount.new("\tsyntax(ruby#method). sample.rb")
63
+ html = Kitabu::Syntax.process(markup.to_html, markup)
64
+
65
+ html.should have_tag("pre.idle.ruby")
66
+ Hpricot(html).inner_text.should_not match(/class Sample/)
67
+ Hpricot(html).inner_text.should match(/def hello/)
68
+ end
69
+ end
70
+
71
+ describe "Line range" do
72
+ it "should return code for textile" do
73
+ markup = BlackCloth.new("syntax(ruby 3,5). sample.rb")
74
+ html = Kitabu::Syntax.process(markup.to_html, markup)
75
+
76
+ html.should have_tag("pre.idle.ruby")
77
+ Hpricot(html).inner_text.should_not match(/class Sample/)
78
+ Hpricot(html).inner_text.should match(/def hello/)
79
+ end
80
+
81
+ it "should return code for markdown" do
82
+ markup = BlackCloth.new("syntax(ruby 3,5). sample.rb")
83
+ html = Kitabu::Syntax.process(markup.to_html, markup)
84
+
85
+ html.should have_tag("pre.idle.ruby")
86
+ Hpricot(html).inner_text.should_not match(/class Sample/)
87
+ Hpricot(html).inner_text.should match(/def hello/)
88
+ end
89
+ end
90
+ end