kitabu 0.4.5

Sign up to get free protection for your applications and to get access to all the features.
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,126 @@
1
+ # encoding: utf-8
2
+ module Kitabu
3
+ module Syntax
4
+ extend self
5
+
6
+ def content_for(options)
7
+ # retrieve the file source
8
+ source_file = File.join(Kitabu::Base.root_path, "code", options[:source_file].to_s)
9
+
10
+ # shortcut to the code
11
+ code = options[:code]
12
+
13
+ if options[:source_file] && File.exists?(source_file)
14
+ # Here's the thing: if the source file has been specified and the
15
+ # correspondent file exists, process it!
16
+ file = File.open(source_file, "r")
17
+
18
+ if options[:from_line] && options[:to_line]
19
+ # Check if there's a line range and if so, set the code to
20
+ # the chosen lines
21
+ from_line = options[:from_line].to_i - 1
22
+ to_line = options[:to_line].to_i
23
+ offset = to_line - from_line
24
+ code = file.readlines.slice(from_line, offset).join
25
+ elsif block_name = options[:block_name]
26
+ # Check if there's a block name and retrieve it
27
+ re = %r(# ?begin: ?\b#{block_name}\b ?(?:[^\r\n]+)?\r?\n(.*?)\r?\n([^\r\n]+)?# ?end: \b#{block_name}\b)sim
28
+ file.read.gsub(re) { |block| code = $1 }
29
+ else
30
+ # As last resource, just read the whole file
31
+ code = file.read
32
+ code = code.gsub(/&lt;/, '<').gsub(/&gt;/, '>').gsub(/&amp;/, '&')
33
+ end
34
+ end
35
+
36
+ # no code? set to default
37
+ code ||= options[:code]
38
+
39
+ # normalize indentation
40
+ line = StringIO.new(code).readlines[0]
41
+
42
+ if line =~ /^(\t+)/
43
+ char = "\t"
44
+ size = $1.length
45
+ elsif line =~ /^( +)/
46
+ char = " "
47
+ size = $1.length
48
+ end
49
+
50
+ code.gsub! %r(^#{char}{#{size}}), "" if size.to_i > 0
51
+
52
+ # remove all line stubs
53
+ code.gsub! %r(^[\t ]*__$), ""
54
+ code
55
+ end
56
+
57
+ def apply(code, syntax, processor)
58
+ # get chosen theme or default
59
+ theme = Kitabu::Base.config["theme"]
60
+ theme = Kitabu::Base.default_theme unless Kitabu::Base.theme?(theme)
61
+
62
+ # get default syntax if no syntax has been set yet
63
+ syntax = Kitabu::Base.default_syntax if syntax.to_s =~ /^\s*$/ || !Kitabu::Base.syntax?(syntax)
64
+
65
+ # replace ampersand for textile; this is added
66
+ # by RedCloth
67
+ code.gsub!(/x%x%/sm, "&") if processor == :textile
68
+
69
+ # do replace PRE tags using the syntax and added classes
70
+ silence_warnings do
71
+ code = Uv.parse(code, "xhtml", syntax, false, theme)
72
+ end
73
+ code.gsub!(/<pre class="(.*?)"/sim, %(<pre class="\\1 #{syntax}"))
74
+ code.gsub!(/<pre>/sim, %(<pre class="#{syntax} #{theme}"))
75
+
76
+ code
77
+ end
78
+
79
+ def process(content, markup)
80
+ return content if ENV["NO_SYNTAX_HIGHLIGHT"] || defined?(NO_SYNTAX_HIGHLIGHT)
81
+
82
+ if markup.respond_to?(:syntax_blocks)
83
+ # textile
84
+ content = content.gsub(/@syntax:([0-9]+)/m) do |m|
85
+ syntax, code = markup.syntax_blocks[$1.to_i]
86
+ Kitabu::Syntax.apply(code, syntax, :textile)
87
+ end
88
+ else
89
+ # markdown
90
+ content = content.gsub /<pre><code>(.*?)<\/code><\/pre>/m do |block|
91
+ code = $1.gsub(/&lt;/, '<').gsub(/&gt;/, '>').gsub(/&amp;/, '&')
92
+ code_lines = StringIO.new(code).readlines
93
+ syntax_settings = code_lines.first
94
+
95
+ syntax = "plain_text"
96
+
97
+ if syntax_settings =~ /syntax\(.*?\)\./
98
+ code = code_lines.slice(1, code_lines.size).join
99
+
100
+ # syntax
101
+ m, syntax = *syntax_settings.match(/syntax\(([^ #]+).*?\)./)
102
+
103
+ # file name
104
+ m, source_file = *syntax_settings.match(/syntax\(.*?\)\. +(.*?)$/)
105
+
106
+ # get line interval
107
+ m, from_line, to_line = *syntax_settings.match(/syntax\(.*? ([0-9]+),([0-9]+)\)/)
108
+
109
+ # get block name
110
+ m, block_name = *syntax_settings.match(/syntax\(.*?#([0-9a-z_]+)\)/)
111
+
112
+ code = Kitabu::Syntax.content_for({
113
+ :code => code,
114
+ :from_line => from_line,
115
+ :to_line => to_line,
116
+ :block_name => block_name,
117
+ :source_file => source_file
118
+ })
119
+ end
120
+
121
+ Kitabu::Syntax.apply(code, syntax, :markdown)
122
+ end
123
+ end
124
+ end
125
+ end
126
+ end
@@ -0,0 +1,113 @@
1
+ # encoding: utf-8
2
+ require "kitabu"
3
+
4
+ begin
5
+ require Kitabu::Base.markdown_processor.downcase
6
+ rescue LoadError => e
7
+ puts "\n#{Kitabu::Base.markdown_processor} gem not found. NO MARKDOWN for you.\n" +
8
+ "Install using `sudo gem install #{Kitabu::Base.markdown_processor}`.\n"
9
+ end
10
+
11
+ require File.dirname(__FILE__) + "/redcloth"
12
+ require File.dirname(__FILE__) + "/blackcloth"
13
+
14
+ if !ENV["NO_SYNTAX_HIGHLIGHT"] && defined?(NO_SYNTAX_HIGHLIGHT)
15
+ puts "\nCannot load syntax highlight libraries.",
16
+ "Check it out the documentation to know how to proceed.",
17
+ "You can skip this warning by running `export NO_SYNTAX_HIGHLIGHT=1`\n\n"
18
+ end
19
+
20
+ # extend BlackCloth if module Helpers is defined
21
+ BlackCloth.__send__(:include, ::Helpers) if defined?(::Helpers)
22
+
23
+ task :default => "auto"
24
+
25
+ desc "Generate PDF from markup files"
26
+ task :pdf => :html do
27
+ Kitabu::Base.generate_pdf
28
+ puts "Your PDF has been generated. Check it out the output directory!"
29
+ sleep(1) && system("open #{Kitabu::Base.pdf_path}") if RUBY_PLATFORM =~ /darwin/ && ENV["AUTO_OPEN"] == "1"
30
+ end
31
+
32
+ desc "Generate HTML from markup files"
33
+ task :html do
34
+ Kitabu::Base.generate_html
35
+ end
36
+
37
+ desc "List all available syntaxes"
38
+ task :syntaxes do
39
+ puts Kitabu::Base.syntaxes.sort.join("\n")
40
+ end
41
+
42
+ desc "List all available themes"
43
+ task :themes do
44
+ puts Kitabu::Base.themes.sort.join("\n")
45
+ end
46
+
47
+ desc "List all titles and its permalinks"
48
+ task :titles => :html do
49
+ contents = File.new(Kitabu::Base.html_path).read
50
+ output = ""
51
+
52
+ contents.scan(/<h([1-6])(.*?)>(.*?)<\/h[1-6]>/sim) do
53
+ level = $1.to_i - 1
54
+ output << "-" * level
55
+ output << " " if level > 0
56
+
57
+ if level == 0
58
+ output << Colorize.yellow($3.upcase, :style => :underscore)
59
+ else
60
+ output << $3
61
+ end
62
+
63
+ output << Colorize.green($2.to_s.gsub(/^.*?id=['"](.*?)['"].*?$/, ' #\1'))
64
+ output << "\n"
65
+ end
66
+
67
+ puts output
68
+ end
69
+
70
+ task :watch => :auto
71
+
72
+ desc "Watch changes and automatically generate html & pdf"
73
+ task :auto do
74
+ thread = Thread.new do
75
+ latest_mtime = 0
76
+
77
+ trap 'INT' do
78
+ puts
79
+ thread.exit
80
+ end
81
+
82
+ loop do
83
+ files = Dir["./**/*"].reject {|p| p =~ /\.\/output/ }
84
+ changes = []
85
+
86
+ mtime = files.collect do |file|
87
+ mt = File.mtime(file).to_i
88
+ changes << file if latest_mtime > 0 && mt > latest_mtime
89
+ mt
90
+ end.max
91
+
92
+ if latest_mtime < mtime
93
+ if changes.size > 0
94
+ puts Colorize.yellow("\n\n#{changes.size} file(s) changed") + " - #{Time.now.strftime('%Y-%m-%d %H:%M:%S')}"
95
+ changes.each do |file|
96
+ puts " - #{Colorize.blue(file, :options => :highlight)}"
97
+ end unless latest_mtime == 0
98
+ end
99
+ latest_mtime = mtime
100
+
101
+ Kitabu::Base.generate_html
102
+ Kitabu::Base.generate_pdf
103
+ puts Colorize.green("== PDF exported!")
104
+
105
+ puts
106
+ end
107
+
108
+ sleep ENV["WAIT"] || 1
109
+ end
110
+ end
111
+
112
+ thread.join
113
+ end
@@ -0,0 +1,54 @@
1
+ # encoding: utf-8
2
+ module Kitabu
3
+ module Templates
4
+ TEMPLATES_ROOT = File.join(Kitabu::Base::GEM_ROOT, 'templates')
5
+ DIRECTORIES = %w(text templates output)
6
+
7
+ extend self
8
+
9
+ def process!(options)
10
+ options[:layout] ||= Kitabu::Base.default_layout
11
+
12
+ directories!(options)
13
+ bundle_css!(options)
14
+ files!(options)
15
+ config!(options)
16
+ end
17
+
18
+ def directories!(options)
19
+ FileUtils.mkdir(options[:path])
20
+
21
+ DIRECTORIES.each do |d|
22
+ FileUtils.mkdir File.join(options[:path], d)
23
+ end
24
+ end
25
+
26
+ def files!(options)
27
+ copy_file "Rakefile", "#{options[:path]}/Rakefile"
28
+ copy_file "layouts/#{options[:layout]}/layout.css", "#{options[:path]}/templates/layout.css"
29
+ copy_file "layouts/#{options[:layout]}/layout.html", "#{options[:path]}/templates/layout.html"
30
+ copy_file "user.css", "#{options[:path]}/templates/user.css"
31
+ end
32
+
33
+ def config!(options)
34
+ template = File.new(File.join(TEMPLATES_ROOT, 'config.yml')).read
35
+ env = OpenStruct.new(options)
36
+ contents = ERB.new(template).result env.instance_eval{binding}
37
+
38
+ File.open(File.join(options[:path], 'config.yml'), 'w+') << contents
39
+ end
40
+
41
+ def bundle_css!(options)
42
+ contents = Dir["#{TEMPLATES_ROOT}/themes/*.css"].collect do |file|
43
+ File.read(file)
44
+ end
45
+
46
+ File.open("#{options[:path]}/templates/syntax.css", "w+") << contents.join("\n\n")
47
+ end
48
+
49
+ private
50
+ def copy_file(from, to)
51
+ FileUtils.cp File.join(TEMPLATES_ROOT, from), to
52
+ end
53
+ end
54
+ end
data/lib/kitabu/toc.rb ADDED
@@ -0,0 +1,51 @@
1
+ # encoding: utf-8
2
+ module Kitabu
3
+ class Toc
4
+ include REXML::StreamListener
5
+
6
+ def initialize
7
+ @toc = ""
8
+ @previous_level = 0
9
+ @tag = nil
10
+ @stack = []
11
+ end
12
+
13
+ def header?(tag=nil)
14
+ tag ||= @tag_name
15
+ return false unless tag.to_s =~ /h[2-6]/
16
+ @tag_name = tag
17
+ return true
18
+ end
19
+
20
+ def in_header?
21
+ @in_header
22
+ end
23
+
24
+ def tag_start(name, attrs)
25
+ @tag_name = name
26
+ return unless header?(name)
27
+ @in_header = true
28
+ @current_level = name.gsub!(/[^2-6]/, '').to_i
29
+ @stack << @current_level
30
+ @id = attrs["id"]
31
+ end
32
+
33
+ def tag_end(name)
34
+ return unless header?(name)
35
+ @in_header = false
36
+ @previous_level = @current_level
37
+ end
38
+
39
+ def text(str)
40
+ return unless in_header?
41
+ @toc << %(<div class="level#{@current_level} #{@id}"><a href="##{@id}"><span>#{str}</span></a></div>)
42
+ end
43
+
44
+ def method_missing(*args)
45
+ end
46
+
47
+ def to_s
48
+ @toc
49
+ end
50
+ end
51
+ end
@@ -0,0 +1,81 @@
1
+ # encoding: utf-8
2
+ module Colorize
3
+ extend self
4
+
5
+ VERSION = "0.0.1"
6
+
7
+ COLORS = {
8
+ :black => "30",
9
+ :blue => "34",
10
+ :cyan => "36",
11
+ :gray => "30",
12
+ :green => "32",
13
+ :purple => "35",
14
+ :red => "31",
15
+ :white => "37",
16
+ :yellow => "33"
17
+ }
18
+
19
+ BGCOLORS = {
20
+ :black => "40",
21
+ :blue => "44",
22
+ :cyan => "46",
23
+ :gray => "47",
24
+ :green => "42",
25
+ :purple => "45",
26
+ :red => "41",
27
+ :white => "47",
28
+ :yellow => "43"
29
+ }
30
+
31
+ STYLES = {
32
+ :highlight => "1",
33
+ :blink => "5",
34
+ :underscore => "4"
35
+ }
36
+
37
+ def puts(string, options={})
38
+ Kernel.puts apply(string, options)
39
+ end
40
+
41
+ def apply(string, options={})
42
+ options = {
43
+ :style => []
44
+ }.merge(options)
45
+
46
+ options[:style] = [options[:style]].flatten
47
+
48
+ colors = []
49
+
50
+ options[:color] = options[:color].to_sym if options[:color]
51
+ options[:bgcolor] = options[:bgcolor].to_sym if options[:bgcolor]
52
+
53
+ colors << COLORS[options[:color]] if options[:color]
54
+ colors << BGCOLORS[options[:bgcolor]] if options[:bgcolor]
55
+
56
+ options[:style] << :highlight if [options[:color], options[:bgcolor]].include?(:white)
57
+
58
+ options[:style].each do |option|
59
+ colors << STYLES[option.to_sym]
60
+ end
61
+
62
+ colors.uniq!
63
+ colors.compact!
64
+
65
+ if ENV["COLORIZE"] == "0"
66
+ string
67
+ else
68
+ %(\e[#{colors.join(";")}m#{string}\e[0m)
69
+ end
70
+ end
71
+
72
+ def method_missing(color_name, *args)
73
+ if COLORS.keys.include?(color_name.to_sym)
74
+ string = args.shift
75
+ options = args.pop || {}
76
+ apply string, {:color => color_name}.merge(options)
77
+ else
78
+ super
79
+ end
80
+ end
81
+ end
@@ -0,0 +1,22 @@
1
+ #--
2
+ ##############################################################
3
+ # Copyright 2006, Ben Bleything <ben@bleything.net> and #
4
+ # Patrick May <patrick@hexane.org> #
5
+ # #
6
+ # Distributed under the MIT license. #
7
+ ##############################################################
8
+ #++
9
+ # = Plist
10
+ #
11
+ # This is the main file for plist. Everything interesting happens in Plist and Plist::Emit.
12
+
13
+ require 'base64'
14
+ require 'cgi'
15
+ require 'stringio'
16
+
17
+ require 'plist/generator'
18
+ require 'plist/parser'
19
+
20
+ module Plist
21
+ VERSION = '3.0.0'
22
+ end