kitabu 0.4.5
Sign up to get free protection for your applications and to get access to all the features.
- data/README.markdown +60 -0
- data/Rakefile +37 -0
- data/VERSION +1 -0
- data/bin/kitabu +8 -0
- data/kitabu.gemspec +497 -0
- data/lib/kitabu.rb +50 -0
- data/lib/kitabu/base.rb +271 -0
- data/lib/kitabu/blackcloth.rb +179 -0
- data/lib/kitabu/command.rb +94 -0
- data/lib/kitabu/redcloth.rb +964 -0
- data/lib/kitabu/syntax.rb +126 -0
- data/lib/kitabu/tasks.rb +113 -0
- data/lib/kitabu/templates.rb +54 -0
- data/lib/kitabu/toc.rb +51 -0
- data/lib/kitabu/vendor/colorize/colorize.rb +81 -0
- data/lib/kitabu/vendor/ruby1.8/plist/plist.rb +22 -0
- data/lib/kitabu/vendor/ruby1.8/plist/plist/generator.rb +224 -0
- data/lib/kitabu/vendor/ruby1.8/plist/plist/parser.rb +224 -0
- data/lib/kitabu/vendor/ruby1.8/textpow/textpow.rb +10 -0
- data/lib/kitabu/vendor/ruby1.8/textpow/textpow/debug_processor.rb +36 -0
- data/lib/kitabu/vendor/ruby1.8/textpow/textpow/score_manager.rb +65 -0
- data/lib/kitabu/vendor/ruby1.8/textpow/textpow/syntax.rb +284 -0
- data/lib/kitabu/vendor/ruby1.8/uv/render/xhtml/active4d.render +140 -0
- data/lib/kitabu/vendor/ruby1.8/uv/render/xhtml/all_hallows_eve.render +104 -0
- data/lib/kitabu/vendor/ruby1.8/uv/render/xhtml/amy.render +179 -0
- data/lib/kitabu/vendor/ruby1.8/uv/render/xhtml/blackboard.render +119 -0
- data/lib/kitabu/vendor/ruby1.8/uv/render/xhtml/brilliance_black.render +560 -0
- data/lib/kitabu/vendor/ruby1.8/uv/render/xhtml/brilliance_dull.render +569 -0
- data/lib/kitabu/vendor/ruby1.8/uv/render/xhtml/cobalt.render +170 -0
- data/lib/kitabu/vendor/ruby1.8/uv/render/xhtml/dawn.render +134 -0
- data/lib/kitabu/vendor/ruby1.8/uv/render/xhtml/eiffel.render +140 -0
- data/lib/kitabu/vendor/ruby1.8/uv/render/xhtml/espresso_libre.render +131 -0
- data/lib/kitabu/vendor/ruby1.8/uv/render/xhtml/files/css/active4d.css +114 -0
- data/lib/kitabu/vendor/ruby1.8/uv/render/xhtml/files/css/all_hallows_eve.css +72 -0
- data/lib/kitabu/vendor/ruby1.8/uv/render/xhtml/files/css/amy.css +147 -0
- data/lib/kitabu/vendor/ruby1.8/uv/render/xhtml/files/css/blackboard.css +88 -0
- data/lib/kitabu/vendor/ruby1.8/uv/render/xhtml/files/css/brilliance_black.css +605 -0
- data/lib/kitabu/vendor/ruby1.8/uv/render/xhtml/files/css/brilliance_dull.css +599 -0
- data/lib/kitabu/vendor/ruby1.8/uv/render/xhtml/files/css/cobalt.css +149 -0
- data/lib/kitabu/vendor/ruby1.8/uv/render/xhtml/files/css/dawn.css +121 -0
- data/lib/kitabu/vendor/ruby1.8/uv/render/xhtml/files/css/eiffel.css +121 -0
- data/lib/kitabu/vendor/ruby1.8/uv/render/xhtml/files/css/espresso_libre.css +109 -0
- data/lib/kitabu/vendor/ruby1.8/uv/render/xhtml/files/css/idle.css +62 -0
- data/lib/kitabu/vendor/ruby1.8/uv/render/xhtml/files/css/iplastic.css +80 -0
- data/lib/kitabu/vendor/ruby1.8/uv/render/xhtml/files/css/lazy.css +73 -0
- data/lib/kitabu/vendor/ruby1.8/uv/render/xhtml/files/css/mac_classic.css +123 -0
- data/lib/kitabu/vendor/ruby1.8/uv/render/xhtml/files/css/magicwb_amiga.css +104 -0
- data/lib/kitabu/vendor/ruby1.8/uv/render/xhtml/files/css/pastels_on_dark.css +188 -0
- data/lib/kitabu/vendor/ruby1.8/uv/render/xhtml/files/css/slush_poppies.css +85 -0
- data/lib/kitabu/vendor/ruby1.8/uv/render/xhtml/files/css/spacecadet.css +51 -0
- data/lib/kitabu/vendor/ruby1.8/uv/render/xhtml/files/css/sunburst.css +180 -0
- data/lib/kitabu/vendor/ruby1.8/uv/render/xhtml/files/css/twilight.css +137 -0
- data/lib/kitabu/vendor/ruby1.8/uv/render/xhtml/files/css/zenburnesque.css +91 -0
- data/lib/kitabu/vendor/ruby1.8/uv/render/xhtml/idle.render +101 -0
- data/lib/kitabu/vendor/ruby1.8/uv/render/xhtml/iplastic.render +107 -0
- data/lib/kitabu/vendor/ruby1.8/uv/render/xhtml/lazy.render +104 -0
- data/lib/kitabu/vendor/ruby1.8/uv/render/xhtml/mac_classic.render +143 -0
- data/lib/kitabu/vendor/ruby1.8/uv/render/xhtml/magicwb_amiga.render +125 -0
- data/lib/kitabu/vendor/ruby1.8/uv/render/xhtml/pastels_on_dark.render +212 -0
- data/lib/kitabu/vendor/ruby1.8/uv/render/xhtml/slush_poppies.render +131 -0
- data/lib/kitabu/vendor/ruby1.8/uv/render/xhtml/spacecadet.render +89 -0
- data/lib/kitabu/vendor/ruby1.8/uv/render/xhtml/sunburst.render +194 -0
- data/lib/kitabu/vendor/ruby1.8/uv/render/xhtml/twilight.render +161 -0
- data/lib/kitabu/vendor/ruby1.8/uv/render/xhtml/zenburnesque.render +134 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/actionscript.syntax +97 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/active4d.syntax +276 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/active4d_html.syntax +311 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/active4d_ini.syntax +50 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/active4d_library.syntax +21 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/ada.syntax +33 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/antlr.syntax +151 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/apache.syntax +191 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/applescript.syntax +384 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/asp.syntax +70 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/asp_vb.net.syntax +129 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/bibtex.syntax +151 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/blog_html.syntax +41 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/blog_markdown.syntax +42 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/blog_text.syntax +27 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/blog_textile.syntax +27 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/buggy/nemerle.syntax +74 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/build.syntax +53 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/bulletin_board.syntax +287 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/c++.syntax +109 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/c.syntax +326 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/cake.syntax +55 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/camlp4.syntax +36 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/cm.syntax +32 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/coldfusion.syntax +119 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/context_free.syntax +176 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/cs.syntax +59 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/css.syntax +195 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/css_experimental.syntax +1925 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/csv.syntax +68 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/d.syntax +142 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/diff.syntax +81 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/dokuwiki.syntax +204 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/dot.syntax +47 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/doxygen.syntax +43 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/dylan.syntax +62 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/eiffel.syntax +78 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/erlang.syntax +922 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/f-script.syntax +80 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/fortran.syntax +141 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/fxscript.syntax +142 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/greasemonkey.syntax +34 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/gri.syntax +83 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/groovy.syntax +191 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/gtd.syntax +22 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/gtdalt.syntax +143 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/haml.syntax +88 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/haskell.syntax +88 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/html-asp.syntax +27 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/html.syntax +362 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/html_django.syntax +36 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/html_for_asp.net.syntax +424 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/html_mason.syntax +119 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/html_rails.syntax +40 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/html_tcl.syntax +26 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/icalendar.syntax +32 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/inform.syntax +48 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/ini.syntax +55 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/installer_distribution_script.syntax +77 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/io.syntax +81 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/java.syntax +211 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/javaproperties.syntax +20 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/javascript.syntax +256 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/javascript_+_prototype.syntax +72 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/javascript_+_prototype_bracketed.syntax +140 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/jquery_javascript.syntax +114 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/json.syntax +136 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/languagedefinition.syntax +708 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/latex.syntax +566 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/latex_beamer.syntax +41 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/latex_log.syntax +50 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/latex_memoir.syntax +64 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/lexflex.syntax +219 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/lighttpd.syntax +54 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/lilypond.syntax +492 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/lisp.syntax +61 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/literate_haskell.syntax +24 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/logo.syntax +29 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/logtalk.syntax +152 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/lua.syntax +86 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/m.syntax +142 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/macports_portfile.syntax +163 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/mail.syntax +118 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/makefile.syntax +36 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/man.syntax +17 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/markdown.syntax +543 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/mediawiki.syntax +567 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/mel.syntax +92 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/mips.syntax +66 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/mod_perl.syntax +50 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/modula-3.syntax +47 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/moinmoin.syntax +189 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/mootools.syntax +572 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/movable_type.syntax +162 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/multimarkdown.syntax +39 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/objective-c++.syntax +18 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/objective-c.syntax +233 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/ocaml.syntax +764 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/ocamllex.syntax +167 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/ocamlyacc.syntax +184 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/old/YAML.yaml +160 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/old/txt2tags.yaml +139 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/opengl.syntax +14 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/pascal.syntax +77 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/perl.syntax +1115 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/php.syntax +1253 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/plain_text.syntax +32 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/pmwiki.syntax +113 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/postscript.syntax +114 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/processing.syntax +106 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/prolog.syntax +40 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/property_list.syntax +635 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/python.syntax +868 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/python_django.syntax +21 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/qmake_project.syntax +114 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/qt_c++.syntax +26 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/quake3_config.syntax +32 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/r.syntax +81 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/r_console.syntax +16 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/ragel.syntax +201 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/rd_r_documentation.syntax +91 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/regexp.syntax +50 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/regular_expressions_oniguruma.syntax +107 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/regular_expressions_python.syntax +109 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/release_notes.syntax +46 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/remind.syntax +253 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/restructuredtext.syntax +250 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/rez.syntax +80 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/ruby.syntax +1035 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/ruby_experimental.syntax +145 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/ruby_on_rails.syntax +88 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/s5.syntax +69 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/scheme.syntax +347 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/scilab.syntax +41 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/setext.syntax +147 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/shell-unix-generic.syntax +384 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/slate.syntax +149 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/smarty.syntax +63 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/sql.syntax +237 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/sql_rails.syntax +18 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/ssh-config.syntax +33 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/standard_ml.syntax +121 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/strings_file.syntax +39 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/subversion_commit_message.syntax +36 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/sweave.syntax +84 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/swig.syntax +57 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/tcl.syntax +152 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/template_toolkit.syntax +121 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/tex.syntax +86 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/tex_math.syntax +49 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/textile.syntax +215 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/tsv.syntax +50 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/twiki.syntax +241 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/txt2tags.syntax +79 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/vectorscript.syntax +57 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/xhtml_1.0.syntax +4027 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/xml.syntax +180 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/xml_strict.syntax +92 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/xsl.syntax +60 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/yaml.syntax +160 -0
- data/lib/kitabu/vendor/ruby1.8/uv/syntax/yui_javascript.syntax +176 -0
- data/lib/kitabu/vendor/ruby1.8/uv/uv.rb +88 -0
- data/lib/kitabu/vendor/ruby1.8/uv/uv/render_processor.rb +131 -0
- data/lib/kitabu/vendor/ruby1.8/uv/uv/utility.rb +67 -0
- data/lib/kitabu/vendor/ruby1.9/plist/plist.rb +23 -0
- data/lib/kitabu/vendor/ruby1.9/plist/plist/generator.rb +228 -0
- data/lib/kitabu/vendor/ruby1.9/plist/plist/parser.rb +225 -0
- data/lib/kitabu/vendor/ruby1.9/textpow/textpow.rb +10 -0
- data/lib/kitabu/vendor/ruby1.9/textpow/textpow/debug_processor.rb +37 -0
- data/lib/kitabu/vendor/ruby1.9/textpow/textpow/score_manager.rb +66 -0
- data/lib/kitabu/vendor/ruby1.9/textpow/textpow/syntax.rb +286 -0
- data/lib/kitabu/vendor/ruby1.9/uv/render/xhtml/active4d.render +140 -0
- data/lib/kitabu/vendor/ruby1.9/uv/render/xhtml/all_hallows_eve.render +104 -0
- data/lib/kitabu/vendor/ruby1.9/uv/render/xhtml/amy.render +179 -0
- data/lib/kitabu/vendor/ruby1.9/uv/render/xhtml/blackboard.render +119 -0
- data/lib/kitabu/vendor/ruby1.9/uv/render/xhtml/brilliance_black.render +560 -0
- data/lib/kitabu/vendor/ruby1.9/uv/render/xhtml/brilliance_dull.render +569 -0
- data/lib/kitabu/vendor/ruby1.9/uv/render/xhtml/cobalt.render +170 -0
- data/lib/kitabu/vendor/ruby1.9/uv/render/xhtml/dawn.render +134 -0
- data/lib/kitabu/vendor/ruby1.9/uv/render/xhtml/eiffel.render +140 -0
- data/lib/kitabu/vendor/ruby1.9/uv/render/xhtml/espresso_libre.render +131 -0
- data/lib/kitabu/vendor/ruby1.9/uv/render/xhtml/files/css/active4d.css +114 -0
- data/lib/kitabu/vendor/ruby1.9/uv/render/xhtml/files/css/all_hallows_eve.css +72 -0
- data/lib/kitabu/vendor/ruby1.9/uv/render/xhtml/files/css/amy.css +147 -0
- data/lib/kitabu/vendor/ruby1.9/uv/render/xhtml/files/css/blackboard.css +88 -0
- data/lib/kitabu/vendor/ruby1.9/uv/render/xhtml/files/css/brilliance_black.css +605 -0
- data/lib/kitabu/vendor/ruby1.9/uv/render/xhtml/files/css/brilliance_dull.css +599 -0
- data/lib/kitabu/vendor/ruby1.9/uv/render/xhtml/files/css/cobalt.css +149 -0
- data/lib/kitabu/vendor/ruby1.9/uv/render/xhtml/files/css/dawn.css +121 -0
- data/lib/kitabu/vendor/ruby1.9/uv/render/xhtml/files/css/eiffel.css +121 -0
- data/lib/kitabu/vendor/ruby1.9/uv/render/xhtml/files/css/espresso_libre.css +109 -0
- data/lib/kitabu/vendor/ruby1.9/uv/render/xhtml/files/css/idle.css +62 -0
- data/lib/kitabu/vendor/ruby1.9/uv/render/xhtml/files/css/iplastic.css +80 -0
- data/lib/kitabu/vendor/ruby1.9/uv/render/xhtml/files/css/lazy.css +73 -0
- data/lib/kitabu/vendor/ruby1.9/uv/render/xhtml/files/css/mac_classic.css +123 -0
- data/lib/kitabu/vendor/ruby1.9/uv/render/xhtml/files/css/magicwb_amiga.css +104 -0
- data/lib/kitabu/vendor/ruby1.9/uv/render/xhtml/files/css/pastels_on_dark.css +188 -0
- data/lib/kitabu/vendor/ruby1.9/uv/render/xhtml/files/css/slush_poppies.css +85 -0
- data/lib/kitabu/vendor/ruby1.9/uv/render/xhtml/files/css/spacecadet.css +51 -0
- data/lib/kitabu/vendor/ruby1.9/uv/render/xhtml/files/css/sunburst.css +180 -0
- data/lib/kitabu/vendor/ruby1.9/uv/render/xhtml/files/css/twilight.css +137 -0
- data/lib/kitabu/vendor/ruby1.9/uv/render/xhtml/files/css/zenburnesque.css +91 -0
- data/lib/kitabu/vendor/ruby1.9/uv/render/xhtml/idle.render +101 -0
- data/lib/kitabu/vendor/ruby1.9/uv/render/xhtml/iplastic.render +107 -0
- data/lib/kitabu/vendor/ruby1.9/uv/render/xhtml/lazy.render +104 -0
- data/lib/kitabu/vendor/ruby1.9/uv/render/xhtml/mac_classic.render +143 -0
- data/lib/kitabu/vendor/ruby1.9/uv/render/xhtml/magicwb_amiga.render +125 -0
- data/lib/kitabu/vendor/ruby1.9/uv/render/xhtml/pastels_on_dark.render +212 -0
- data/lib/kitabu/vendor/ruby1.9/uv/render/xhtml/slush_poppies.render +131 -0
- data/lib/kitabu/vendor/ruby1.9/uv/render/xhtml/spacecadet.render +89 -0
- data/lib/kitabu/vendor/ruby1.9/uv/render/xhtml/sunburst.render +194 -0
- data/lib/kitabu/vendor/ruby1.9/uv/render/xhtml/twilight.render +161 -0
- data/lib/kitabu/vendor/ruby1.9/uv/render/xhtml/zenburnesque.render +134 -0
- data/lib/kitabu/vendor/ruby1.9/uv/syntax/actionscript.syntax +97 -0
- data/lib/kitabu/vendor/ruby1.9/uv/syntax/active4d.syntax +276 -0
- data/lib/kitabu/vendor/ruby1.9/uv/syntax/active4d_html.syntax +311 -0
- data/lib/kitabu/vendor/ruby1.9/uv/syntax/active4d_ini.syntax +50 -0
- data/lib/kitabu/vendor/ruby1.9/uv/syntax/active4d_library.syntax +21 -0
- data/lib/kitabu/vendor/ruby1.9/uv/syntax/ada.syntax +33 -0
- data/lib/kitabu/vendor/ruby1.9/uv/syntax/antlr.syntax +151 -0
- data/lib/kitabu/vendor/ruby1.9/uv/syntax/apache.syntax +191 -0
- data/lib/kitabu/vendor/ruby1.9/uv/syntax/applescript.syntax +384 -0
- data/lib/kitabu/vendor/ruby1.9/uv/syntax/asp.syntax +70 -0
- data/lib/kitabu/vendor/ruby1.9/uv/syntax/asp_vb.net.syntax +129 -0
- data/lib/kitabu/vendor/ruby1.9/uv/syntax/bibtex.syntax +151 -0
- data/lib/kitabu/vendor/ruby1.9/uv/syntax/blog_html.syntax +41 -0
- data/lib/kitabu/vendor/ruby1.9/uv/syntax/blog_markdown.syntax +42 -0
- data/lib/kitabu/vendor/ruby1.9/uv/syntax/blog_text.syntax +27 -0
- data/lib/kitabu/vendor/ruby1.9/uv/syntax/blog_textile.syntax +27 -0
- data/lib/kitabu/vendor/ruby1.9/uv/syntax/build.syntax +53 -0
- data/lib/kitabu/vendor/ruby1.9/uv/syntax/bulletin_board.syntax +287 -0
- data/lib/kitabu/vendor/ruby1.9/uv/syntax/cake.syntax +55 -0
- data/lib/kitabu/vendor/ruby1.9/uv/syntax/camlp4.syntax +36 -0
- data/lib/kitabu/vendor/ruby1.9/uv/syntax/cm.syntax +32 -0
- data/lib/kitabu/vendor/ruby1.9/uv/syntax/coldfusion.syntax +119 -0
- data/lib/kitabu/vendor/ruby1.9/uv/syntax/context_free.syntax +176 -0
- data/lib/kitabu/vendor/ruby1.9/uv/syntax/cs.syntax +59 -0
- data/lib/kitabu/vendor/ruby1.9/uv/syntax/css.syntax +195 -0
- data/lib/kitabu/vendor/ruby1.9/uv/syntax/css_experimental.syntax +1925 -0
- data/lib/kitabu/vendor/ruby1.9/uv/syntax/csv.syntax +68 -0
- data/lib/kitabu/vendor/ruby1.9/uv/syntax/d.syntax +142 -0
- data/lib/kitabu/vendor/ruby1.9/uv/syntax/diff.syntax +81 -0
- data/lib/kitabu/vendor/ruby1.9/uv/syntax/dokuwiki.syntax +204 -0
- data/lib/kitabu/vendor/ruby1.9/uv/syntax/dot.syntax +47 -0
- data/lib/kitabu/vendor/ruby1.9/uv/syntax/doxygen.syntax +43 -0
- data/lib/kitabu/vendor/ruby1.9/uv/syntax/dylan.syntax +62 -0
- data/lib/kitabu/vendor/ruby1.9/uv/syntax/eiffel.syntax +78 -0
- data/lib/kitabu/vendor/ruby1.9/uv/syntax/erlang.syntax +922 -0
- data/lib/kitabu/vendor/ruby1.9/uv/syntax/f-script.syntax +80 -0
- data/lib/kitabu/vendor/ruby1.9/uv/syntax/fortran.syntax +141 -0
- data/lib/kitabu/vendor/ruby1.9/uv/syntax/fxscript.syntax +142 -0
- data/lib/kitabu/vendor/ruby1.9/uv/syntax/greasemonkey.syntax +34 -0
- data/lib/kitabu/vendor/ruby1.9/uv/syntax/gri.syntax +83 -0
- data/lib/kitabu/vendor/ruby1.9/uv/syntax/groovy.syntax +191 -0
- data/lib/kitabu/vendor/ruby1.9/uv/syntax/gtd.syntax +22 -0
- data/lib/kitabu/vendor/ruby1.9/uv/syntax/gtdalt.syntax +143 -0
- data/lib/kitabu/vendor/ruby1.9/uv/syntax/haml.syntax +88 -0
- data/lib/kitabu/vendor/ruby1.9/uv/syntax/haskell.syntax +88 -0
- data/lib/kitabu/vendor/ruby1.9/uv/syntax/html-asp.syntax +27 -0
- data/lib/kitabu/vendor/ruby1.9/uv/syntax/html.syntax +362 -0
- data/lib/kitabu/vendor/ruby1.9/uv/syntax/html_django.syntax +36 -0
- data/lib/kitabu/vendor/ruby1.9/uv/syntax/html_for_asp.net.syntax +424 -0
- data/lib/kitabu/vendor/ruby1.9/uv/syntax/html_mason.syntax +119 -0
- data/lib/kitabu/vendor/ruby1.9/uv/syntax/html_rails.syntax +40 -0
- data/lib/kitabu/vendor/ruby1.9/uv/syntax/html_tcl.syntax +26 -0
- data/lib/kitabu/vendor/ruby1.9/uv/syntax/icalendar.syntax +32 -0
- data/lib/kitabu/vendor/ruby1.9/uv/syntax/inform.syntax +48 -0
- data/lib/kitabu/vendor/ruby1.9/uv/syntax/ini.syntax +55 -0
- data/lib/kitabu/vendor/ruby1.9/uv/syntax/installer_distribution_script.syntax +77 -0
- data/lib/kitabu/vendor/ruby1.9/uv/syntax/io.syntax +81 -0
- data/lib/kitabu/vendor/ruby1.9/uv/syntax/java.syntax +211 -0
- data/lib/kitabu/vendor/ruby1.9/uv/syntax/javaproperties.syntax +20 -0
- data/lib/kitabu/vendor/ruby1.9/uv/syntax/javascript.syntax +256 -0
- data/lib/kitabu/vendor/ruby1.9/uv/syntax/javascript_+_prototype.syntax +72 -0
- data/lib/kitabu/vendor/ruby1.9/uv/syntax/javascript_+_prototype_bracketed.syntax +140 -0
- data/lib/kitabu/vendor/ruby1.9/uv/syntax/jquery_javascript.syntax +114 -0
- data/lib/kitabu/vendor/ruby1.9/uv/syntax/json.syntax +136 -0
- data/lib/kitabu/vendor/ruby1.9/uv/syntax/languagedefinition.syntax +708 -0
- data/lib/kitabu/vendor/ruby1.9/uv/syntax/latex.syntax +566 -0
- data/lib/kitabu/vendor/ruby1.9/uv/syntax/latex_beamer.syntax +41 -0
- data/lib/kitabu/vendor/ruby1.9/uv/syntax/latex_log.syntax +50 -0
- data/lib/kitabu/vendor/ruby1.9/uv/syntax/latex_memoir.syntax +64 -0
- data/lib/kitabu/vendor/ruby1.9/uv/syntax/lexflex.syntax +219 -0
- data/lib/kitabu/vendor/ruby1.9/uv/syntax/lighttpd.syntax +54 -0
- data/lib/kitabu/vendor/ruby1.9/uv/syntax/lilypond.syntax +492 -0
- data/lib/kitabu/vendor/ruby1.9/uv/syntax/lisp.syntax +61 -0
- data/lib/kitabu/vendor/ruby1.9/uv/syntax/literate_haskell.syntax +24 -0
- data/lib/kitabu/vendor/ruby1.9/uv/syntax/logo.syntax +29 -0
- data/lib/kitabu/vendor/ruby1.9/uv/syntax/logtalk.syntax +152 -0
- data/lib/kitabu/vendor/ruby1.9/uv/syntax/lua.syntax +86 -0
- data/lib/kitabu/vendor/ruby1.9/uv/syntax/m.syntax +142 -0
- data/lib/kitabu/vendor/ruby1.9/uv/syntax/macports_portfile.syntax +163 -0
- data/lib/kitabu/vendor/ruby1.9/uv/syntax/makefile.syntax +36 -0
- data/lib/kitabu/vendor/ruby1.9/uv/syntax/man.syntax +17 -0
- data/lib/kitabu/vendor/ruby1.9/uv/syntax/mediawiki.syntax +567 -0
- data/lib/kitabu/vendor/ruby1.9/uv/syntax/mips.syntax +66 -0
- data/lib/kitabu/vendor/ruby1.9/uv/syntax/mod_perl.syntax +50 -0
- data/lib/kitabu/vendor/ruby1.9/uv/syntax/modula-3.syntax +47 -0
- data/lib/kitabu/vendor/ruby1.9/uv/syntax/moinmoin.syntax +189 -0
- data/lib/kitabu/vendor/ruby1.9/uv/syntax/mootools.syntax +572 -0
- data/lib/kitabu/vendor/ruby1.9/uv/syntax/movable_type.syntax +162 -0
- data/lib/kitabu/vendor/ruby1.9/uv/syntax/multimarkdown.syntax +39 -0
- data/lib/kitabu/vendor/ruby1.9/uv/syntax/objective-c++.syntax +18 -0
- data/lib/kitabu/vendor/ruby1.9/uv/syntax/objective-c.syntax +233 -0
- data/lib/kitabu/vendor/ruby1.9/uv/syntax/ocaml.syntax +764 -0
- data/lib/kitabu/vendor/ruby1.9/uv/syntax/ocamllex.syntax +167 -0
- data/lib/kitabu/vendor/ruby1.9/uv/syntax/ocamlyacc.syntax +184 -0
- data/lib/kitabu/vendor/ruby1.9/uv/syntax/opengl.syntax +14 -0
- data/lib/kitabu/vendor/ruby1.9/uv/syntax/pascal.syntax +77 -0
- data/lib/kitabu/vendor/ruby1.9/uv/syntax/perl.syntax +1115 -0
- data/lib/kitabu/vendor/ruby1.9/uv/syntax/plain_text.syntax +32 -0
- data/lib/kitabu/vendor/ruby1.9/uv/syntax/postscript.syntax +114 -0
- data/lib/kitabu/vendor/ruby1.9/uv/syntax/processing.syntax +106 -0
- data/lib/kitabu/vendor/ruby1.9/uv/syntax/prolog.syntax +40 -0
- data/lib/kitabu/vendor/ruby1.9/uv/syntax/property_list.syntax +635 -0
- data/lib/kitabu/vendor/ruby1.9/uv/syntax/python.syntax +868 -0
- data/lib/kitabu/vendor/ruby1.9/uv/syntax/python_django.syntax +21 -0
- data/lib/kitabu/vendor/ruby1.9/uv/syntax/qmake_project.syntax +114 -0
- data/lib/kitabu/vendor/ruby1.9/uv/syntax/qt_c++.syntax +26 -0
- data/lib/kitabu/vendor/ruby1.9/uv/syntax/quake3_config.syntax +32 -0
- data/lib/kitabu/vendor/ruby1.9/uv/syntax/r.syntax +81 -0
- data/lib/kitabu/vendor/ruby1.9/uv/syntax/r_console.syntax +16 -0
- data/lib/kitabu/vendor/ruby1.9/uv/syntax/ragel.syntax +201 -0
- data/lib/kitabu/vendor/ruby1.9/uv/syntax/rd_r_documentation.syntax +91 -0
- data/lib/kitabu/vendor/ruby1.9/uv/syntax/regexp.syntax +50 -0
- data/lib/kitabu/vendor/ruby1.9/uv/syntax/release_notes.syntax +46 -0
- data/lib/kitabu/vendor/ruby1.9/uv/syntax/remind.syntax +253 -0
- data/lib/kitabu/vendor/ruby1.9/uv/syntax/restructuredtext.syntax +250 -0
- data/lib/kitabu/vendor/ruby1.9/uv/syntax/rez.syntax +80 -0
- data/lib/kitabu/vendor/ruby1.9/uv/syntax/ruby.syntax +1035 -0
- data/lib/kitabu/vendor/ruby1.9/uv/syntax/ruby_experimental.syntax +145 -0
- data/lib/kitabu/vendor/ruby1.9/uv/syntax/ruby_on_rails.syntax +88 -0
- data/lib/kitabu/vendor/ruby1.9/uv/syntax/s5.syntax +69 -0
- data/lib/kitabu/vendor/ruby1.9/uv/syntax/scheme.syntax +347 -0
- data/lib/kitabu/vendor/ruby1.9/uv/syntax/scilab.syntax +41 -0
- data/lib/kitabu/vendor/ruby1.9/uv/syntax/setext.syntax +147 -0
- data/lib/kitabu/vendor/ruby1.9/uv/syntax/shell-unix-generic.syntax +384 -0
- data/lib/kitabu/vendor/ruby1.9/uv/syntax/slate.syntax +149 -0
- data/lib/kitabu/vendor/ruby1.9/uv/syntax/sql.syntax +237 -0
- data/lib/kitabu/vendor/ruby1.9/uv/syntax/sql_rails.syntax +18 -0
- data/lib/kitabu/vendor/ruby1.9/uv/syntax/ssh-config.syntax +33 -0
- data/lib/kitabu/vendor/ruby1.9/uv/syntax/standard_ml.syntax +121 -0
- data/lib/kitabu/vendor/ruby1.9/uv/syntax/strings_file.syntax +39 -0
- data/lib/kitabu/vendor/ruby1.9/uv/syntax/subversion_commit_message.syntax +36 -0
- data/lib/kitabu/vendor/ruby1.9/uv/syntax/sweave.syntax +84 -0
- data/lib/kitabu/vendor/ruby1.9/uv/syntax/swig.syntax +57 -0
- data/lib/kitabu/vendor/ruby1.9/uv/syntax/tcl.syntax +152 -0
- data/lib/kitabu/vendor/ruby1.9/uv/syntax/template_toolkit.syntax +121 -0
- data/lib/kitabu/vendor/ruby1.9/uv/syntax/tex.syntax +86 -0
- data/lib/kitabu/vendor/ruby1.9/uv/syntax/tex_math.syntax +49 -0
- data/lib/kitabu/vendor/ruby1.9/uv/syntax/textile.syntax +215 -0
- data/lib/kitabu/vendor/ruby1.9/uv/syntax/tsv.syntax +50 -0
- data/lib/kitabu/vendor/ruby1.9/uv/syntax/twiki.syntax +241 -0
- data/lib/kitabu/vendor/ruby1.9/uv/syntax/txt2tags.syntax +79 -0
- data/lib/kitabu/vendor/ruby1.9/uv/syntax/vectorscript.syntax +57 -0
- data/lib/kitabu/vendor/ruby1.9/uv/syntax/xhtml_1.0.syntax +4027 -0
- data/lib/kitabu/vendor/ruby1.9/uv/syntax/xml.syntax +180 -0
- data/lib/kitabu/vendor/ruby1.9/uv/syntax/xml_strict.syntax +92 -0
- data/lib/kitabu/vendor/ruby1.9/uv/syntax/xsl.syntax +60 -0
- data/lib/kitabu/vendor/ruby1.9/uv/syntax/yaml.syntax +160 -0
- data/lib/kitabu/vendor/ruby1.9/uv/syntax/yui_javascript.syntax +176 -0
- data/lib/kitabu/vendor/ruby1.9/uv/uv.rb +89 -0
- data/lib/kitabu/vendor/ruby1.9/uv/uv/render_processor.rb +132 -0
- data/lib/kitabu/vendor/ruby1.9/uv/uv/utility.rb +68 -0
- data/spec/exit_matcher.rb +45 -0
- data/spec/fixtures/rails-guides/code/sample.rb +7 -0
- data/spec/kitabu/base_spec.rb +159 -0
- data/spec/kitabu/blackcloth_spec.rb +36 -0
- data/spec/kitabu/bug_fix_spec.rb +25 -0
- data/spec/kitabu/command_spec.rb +82 -0
- data/spec/kitabu/syntax_spec.rb +90 -0
- data/spec/kitabu/toc_spec.rb +79 -0
- data/spec/spec_helper.rb +30 -0
- data/templates/Rakefile +3 -0
- data/templates/config.yml +9 -0
- data/templates/layouts/boom/layout.css +469 -0
- data/templates/layouts/boom/layout.html +37 -0
- data/templates/syntax.css +1065 -0
- data/templates/themes/active4d.css +114 -0
- data/templates/themes/blackboard.css +88 -0
- data/templates/themes/dawn.css +121 -0
- data/templates/themes/eiffel.css +121 -0
- data/templates/themes/idle.css +62 -0
- data/templates/themes/iplastic.css +80 -0
- data/templates/themes/lazy.css +73 -0
- data/templates/themes/mac_classic.css +123 -0
- data/templates/themes/slush_poppies.css +85 -0
- data/templates/themes/sunburst.css +180 -0
- data/templates/user.css +1 -0
- 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(/</, '<').gsub(/>/, '>').gsub(/&/, '&')
|
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(/</, '<').gsub(/>/, '>').gsub(/&/, '&')
|
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
|
data/lib/kitabu/tasks.rb
ADDED
@@ -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
|