rmthemegen 0.0.47 → 0.0.48

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 (237) hide show
  1. data/.rvmrc +1 -1
  2. data/lib/rmthemegen.rb +154 -1
  3. data/test/create_syntax.rb +2 -5
  4. metadata +24 -257
  5. data/vendor/ultraviolet-0.10.2/History.txt +0 -25
  6. data/vendor/ultraviolet-0.10.2/Manifest.txt +0 -233
  7. data/vendor/ultraviolet-0.10.2/README.txt +0 -52
  8. data/vendor/ultraviolet-0.10.2/Rakefile +0 -51
  9. data/vendor/ultraviolet-0.10.2/bin/theme2latexrender +0 -122
  10. data/vendor/ultraviolet-0.10.2/bin/theme2xhtmlrender +0 -156
  11. data/vendor/ultraviolet-0.10.2/bin/uv +0 -140
  12. data/vendor/ultraviolet-0.10.2/lib/uv.rb +0 -94
  13. data/vendor/ultraviolet-0.10.2/lib/uv/render_processor.rb +0 -131
  14. data/vendor/ultraviolet-0.10.2/lib/uv/utility.rb +0 -206
  15. data/vendor/ultraviolet-0.10.2/render/latex/active4d.render +0 -132
  16. data/vendor/ultraviolet-0.10.2/render/latex/all_hallows_eve.render +0 -96
  17. data/vendor/ultraviolet-0.10.2/render/latex/amy.render +0 -171
  18. data/vendor/ultraviolet-0.10.2/render/latex/blackboard.render +0 -111
  19. data/vendor/ultraviolet-0.10.2/render/latex/brilliance_black.render +0 -552
  20. data/vendor/ultraviolet-0.10.2/render/latex/brilliance_dull.render +0 -561
  21. data/vendor/ultraviolet-0.10.2/render/latex/cobalt.render +0 -162
  22. data/vendor/ultraviolet-0.10.2/render/latex/dawn.render +0 -126
  23. data/vendor/ultraviolet-0.10.2/render/latex/eiffel.render +0 -132
  24. data/vendor/ultraviolet-0.10.2/render/latex/espresso_libre.render +0 -123
  25. data/vendor/ultraviolet-0.10.2/render/latex/idle.render +0 -93
  26. data/vendor/ultraviolet-0.10.2/render/latex/iplastic.render +0 -99
  27. data/vendor/ultraviolet-0.10.2/render/latex/lazy.render +0 -96
  28. data/vendor/ultraviolet-0.10.2/render/latex/mac_classic.render +0 -135
  29. data/vendor/ultraviolet-0.10.2/render/latex/magicwb_amiga.render +0 -117
  30. data/vendor/ultraviolet-0.10.2/render/latex/pastels_on_dark.render +0 -204
  31. data/vendor/ultraviolet-0.10.2/render/latex/slush_poppies.render +0 -123
  32. data/vendor/ultraviolet-0.10.2/render/latex/spacecadet.render +0 -81
  33. data/vendor/ultraviolet-0.10.2/render/latex/sunburst.render +0 -186
  34. data/vendor/ultraviolet-0.10.2/render/latex/twilight.render +0 -153
  35. data/vendor/ultraviolet-0.10.2/render/latex/zenburnesque.render +0 -126
  36. data/vendor/ultraviolet-0.10.2/render/old/txt2tags.render +0 -131
  37. data/vendor/ultraviolet-0.10.2/render/xhtml/active4d.render +0 -140
  38. data/vendor/ultraviolet-0.10.2/render/xhtml/all_hallows_eve.render +0 -104
  39. data/vendor/ultraviolet-0.10.2/render/xhtml/amy.render +0 -179
  40. data/vendor/ultraviolet-0.10.2/render/xhtml/blackboard.render +0 -119
  41. data/vendor/ultraviolet-0.10.2/render/xhtml/brilliance_black.render +0 -560
  42. data/vendor/ultraviolet-0.10.2/render/xhtml/brilliance_dull.render +0 -569
  43. data/vendor/ultraviolet-0.10.2/render/xhtml/cobalt.render +0 -170
  44. data/vendor/ultraviolet-0.10.2/render/xhtml/dawn.render +0 -134
  45. data/vendor/ultraviolet-0.10.2/render/xhtml/eiffel.render +0 -140
  46. data/vendor/ultraviolet-0.10.2/render/xhtml/espresso_libre.render +0 -131
  47. data/vendor/ultraviolet-0.10.2/render/xhtml/files/css/active4d.css +0 -114
  48. data/vendor/ultraviolet-0.10.2/render/xhtml/files/css/all_hallows_eve.css +0 -72
  49. data/vendor/ultraviolet-0.10.2/render/xhtml/files/css/amy.css +0 -147
  50. data/vendor/ultraviolet-0.10.2/render/xhtml/files/css/blackboard.css +0 -88
  51. data/vendor/ultraviolet-0.10.2/render/xhtml/files/css/brilliance_black.css +0 -605
  52. data/vendor/ultraviolet-0.10.2/render/xhtml/files/css/brilliance_dull.css +0 -599
  53. data/vendor/ultraviolet-0.10.2/render/xhtml/files/css/cobalt.css +0 -149
  54. data/vendor/ultraviolet-0.10.2/render/xhtml/files/css/dawn.css +0 -121
  55. data/vendor/ultraviolet-0.10.2/render/xhtml/files/css/eiffel.css +0 -121
  56. data/vendor/ultraviolet-0.10.2/render/xhtml/files/css/espresso_libre.css +0 -109
  57. data/vendor/ultraviolet-0.10.2/render/xhtml/files/css/idle.css +0 -62
  58. data/vendor/ultraviolet-0.10.2/render/xhtml/files/css/iplastic.css +0 -80
  59. data/vendor/ultraviolet-0.10.2/render/xhtml/files/css/lazy.css +0 -73
  60. data/vendor/ultraviolet-0.10.2/render/xhtml/files/css/mac_classic.css +0 -123
  61. data/vendor/ultraviolet-0.10.2/render/xhtml/files/css/magicwb_amiga.css +0 -104
  62. data/vendor/ultraviolet-0.10.2/render/xhtml/files/css/pastels_on_dark.css +0 -188
  63. data/vendor/ultraviolet-0.10.2/render/xhtml/files/css/slush_poppies.css +0 -85
  64. data/vendor/ultraviolet-0.10.2/render/xhtml/files/css/spacecadet.css +0 -51
  65. data/vendor/ultraviolet-0.10.2/render/xhtml/files/css/sunburst.css +0 -180
  66. data/vendor/ultraviolet-0.10.2/render/xhtml/files/css/twilight.css +0 -137
  67. data/vendor/ultraviolet-0.10.2/render/xhtml/files/css/zenburnesque.css +0 -91
  68. data/vendor/ultraviolet-0.10.2/render/xhtml/idle.render +0 -101
  69. data/vendor/ultraviolet-0.10.2/render/xhtml/iplastic.render +0 -107
  70. data/vendor/ultraviolet-0.10.2/render/xhtml/lazy.render +0 -104
  71. data/vendor/ultraviolet-0.10.2/render/xhtml/mac_classic.render +0 -143
  72. data/vendor/ultraviolet-0.10.2/render/xhtml/magicwb_amiga.render +0 -125
  73. data/vendor/ultraviolet-0.10.2/render/xhtml/pastels_on_dark.render +0 -212
  74. data/vendor/ultraviolet-0.10.2/render/xhtml/slush_poppies.render +0 -131
  75. data/vendor/ultraviolet-0.10.2/render/xhtml/spacecadet.render +0 -89
  76. data/vendor/ultraviolet-0.10.2/render/xhtml/sunburst.render +0 -194
  77. data/vendor/ultraviolet-0.10.2/render/xhtml/twilight.render +0 -161
  78. data/vendor/ultraviolet-0.10.2/render/xhtml/zenburnesque.render +0 -134
  79. data/vendor/ultraviolet-0.10.2/syntax/actionscript.syntax +0 -97
  80. data/vendor/ultraviolet-0.10.2/syntax/active4d.syntax +0 -276
  81. data/vendor/ultraviolet-0.10.2/syntax/active4d_html.syntax +0 -311
  82. data/vendor/ultraviolet-0.10.2/syntax/active4d_ini.syntax +0 -50
  83. data/vendor/ultraviolet-0.10.2/syntax/active4d_library.syntax +0 -21
  84. data/vendor/ultraviolet-0.10.2/syntax/ada.syntax +0 -33
  85. data/vendor/ultraviolet-0.10.2/syntax/antlr.syntax +0 -151
  86. data/vendor/ultraviolet-0.10.2/syntax/apache.syntax +0 -191
  87. data/vendor/ultraviolet-0.10.2/syntax/applescript.syntax +0 -384
  88. data/vendor/ultraviolet-0.10.2/syntax/asp.syntax +0 -70
  89. data/vendor/ultraviolet-0.10.2/syntax/asp_vb.net.syntax +0 -129
  90. data/vendor/ultraviolet-0.10.2/syntax/bibtex.syntax +0 -151
  91. data/vendor/ultraviolet-0.10.2/syntax/blog_html.syntax +0 -41
  92. data/vendor/ultraviolet-0.10.2/syntax/blog_markdown.syntax +0 -42
  93. data/vendor/ultraviolet-0.10.2/syntax/blog_text.syntax +0 -27
  94. data/vendor/ultraviolet-0.10.2/syntax/blog_textile.syntax +0 -27
  95. data/vendor/ultraviolet-0.10.2/syntax/build.syntax +0 -53
  96. data/vendor/ultraviolet-0.10.2/syntax/bulletin_board.syntax +0 -287
  97. data/vendor/ultraviolet-0.10.2/syntax/c++.syntax +0 -109
  98. data/vendor/ultraviolet-0.10.2/syntax/c.syntax +0 -326
  99. data/vendor/ultraviolet-0.10.2/syntax/cake.syntax +0 -55
  100. data/vendor/ultraviolet-0.10.2/syntax/camlp4.syntax +0 -36
  101. data/vendor/ultraviolet-0.10.2/syntax/cm.syntax +0 -32
  102. data/vendor/ultraviolet-0.10.2/syntax/coldfusion.syntax +0 -119
  103. data/vendor/ultraviolet-0.10.2/syntax/context_free.syntax +0 -176
  104. data/vendor/ultraviolet-0.10.2/syntax/cs.syntax +0 -59
  105. data/vendor/ultraviolet-0.10.2/syntax/css.syntax +0 -195
  106. data/vendor/ultraviolet-0.10.2/syntax/css_experimental.syntax +0 -1925
  107. data/vendor/ultraviolet-0.10.2/syntax/csv.syntax +0 -68
  108. data/vendor/ultraviolet-0.10.2/syntax/d.syntax +0 -142
  109. data/vendor/ultraviolet-0.10.2/syntax/diff.syntax +0 -81
  110. data/vendor/ultraviolet-0.10.2/syntax/dokuwiki.syntax +0 -204
  111. data/vendor/ultraviolet-0.10.2/syntax/dot.syntax +0 -47
  112. data/vendor/ultraviolet-0.10.2/syntax/doxygen.syntax +0 -43
  113. data/vendor/ultraviolet-0.10.2/syntax/dylan.syntax +0 -62
  114. data/vendor/ultraviolet-0.10.2/syntax/eiffel.syntax +0 -78
  115. data/vendor/ultraviolet-0.10.2/syntax/erlang.syntax +0 -922
  116. data/vendor/ultraviolet-0.10.2/syntax/f-script.syntax +0 -80
  117. data/vendor/ultraviolet-0.10.2/syntax/fortran.syntax +0 -141
  118. data/vendor/ultraviolet-0.10.2/syntax/fxscript.syntax +0 -142
  119. data/vendor/ultraviolet-0.10.2/syntax/greasemonkey.syntax +0 -34
  120. data/vendor/ultraviolet-0.10.2/syntax/gri.syntax +0 -83
  121. data/vendor/ultraviolet-0.10.2/syntax/groovy.syntax +0 -191
  122. data/vendor/ultraviolet-0.10.2/syntax/gtd.syntax +0 -22
  123. data/vendor/ultraviolet-0.10.2/syntax/gtdalt.syntax +0 -143
  124. data/vendor/ultraviolet-0.10.2/syntax/haml.syntax +0 -88
  125. data/vendor/ultraviolet-0.10.2/syntax/haskell.syntax +0 -88
  126. data/vendor/ultraviolet-0.10.2/syntax/html-asp.syntax +0 -27
  127. data/vendor/ultraviolet-0.10.2/syntax/html.syntax +0 -362
  128. data/vendor/ultraviolet-0.10.2/syntax/html_django.syntax +0 -36
  129. data/vendor/ultraviolet-0.10.2/syntax/html_for_asp.net.syntax +0 -424
  130. data/vendor/ultraviolet-0.10.2/syntax/html_mason.syntax +0 -119
  131. data/vendor/ultraviolet-0.10.2/syntax/html_rails.syntax +0 -40
  132. data/vendor/ultraviolet-0.10.2/syntax/html_tcl.syntax +0 -26
  133. data/vendor/ultraviolet-0.10.2/syntax/icalendar.syntax +0 -32
  134. data/vendor/ultraviolet-0.10.2/syntax/inform.syntax +0 -48
  135. data/vendor/ultraviolet-0.10.2/syntax/ini.syntax +0 -55
  136. data/vendor/ultraviolet-0.10.2/syntax/installer_distribution_script.syntax +0 -77
  137. data/vendor/ultraviolet-0.10.2/syntax/io.syntax +0 -81
  138. data/vendor/ultraviolet-0.10.2/syntax/java.syntax +0 -211
  139. data/vendor/ultraviolet-0.10.2/syntax/javaproperties.syntax +0 -20
  140. data/vendor/ultraviolet-0.10.2/syntax/javascript.syntax +0 -256
  141. data/vendor/ultraviolet-0.10.2/syntax/javascript_+_prototype.syntax +0 -72
  142. data/vendor/ultraviolet-0.10.2/syntax/javascript_+_prototype_bracketed.syntax +0 -140
  143. data/vendor/ultraviolet-0.10.2/syntax/jquery_javascript.syntax +0 -114
  144. data/vendor/ultraviolet-0.10.2/syntax/json.syntax +0 -136
  145. data/vendor/ultraviolet-0.10.2/syntax/languagedefinition.syntax +0 -708
  146. data/vendor/ultraviolet-0.10.2/syntax/latex.syntax +0 -566
  147. data/vendor/ultraviolet-0.10.2/syntax/latex_beamer.syntax +0 -41
  148. data/vendor/ultraviolet-0.10.2/syntax/latex_log.syntax +0 -50
  149. data/vendor/ultraviolet-0.10.2/syntax/latex_memoir.syntax +0 -64
  150. data/vendor/ultraviolet-0.10.2/syntax/lexflex.syntax +0 -219
  151. data/vendor/ultraviolet-0.10.2/syntax/lighttpd.syntax +0 -54
  152. data/vendor/ultraviolet-0.10.2/syntax/lilypond.syntax +0 -492
  153. data/vendor/ultraviolet-0.10.2/syntax/lisp.syntax +0 -61
  154. data/vendor/ultraviolet-0.10.2/syntax/literate_haskell.syntax +0 -24
  155. data/vendor/ultraviolet-0.10.2/syntax/logo.syntax +0 -29
  156. data/vendor/ultraviolet-0.10.2/syntax/logtalk.syntax +0 -152
  157. data/vendor/ultraviolet-0.10.2/syntax/lua.syntax +0 -86
  158. data/vendor/ultraviolet-0.10.2/syntax/m.syntax +0 -142
  159. data/vendor/ultraviolet-0.10.2/syntax/macports_portfile.syntax +0 -163
  160. data/vendor/ultraviolet-0.10.2/syntax/mail.syntax +0 -118
  161. data/vendor/ultraviolet-0.10.2/syntax/makefile.syntax +0 -36
  162. data/vendor/ultraviolet-0.10.2/syntax/man.syntax +0 -17
  163. data/vendor/ultraviolet-0.10.2/syntax/markdown.syntax +0 -543
  164. data/vendor/ultraviolet-0.10.2/syntax/mediawiki.syntax +0 -567
  165. data/vendor/ultraviolet-0.10.2/syntax/mel.syntax +0 -92
  166. data/vendor/ultraviolet-0.10.2/syntax/mips.syntax +0 -66
  167. data/vendor/ultraviolet-0.10.2/syntax/mod_perl.syntax +0 -50
  168. data/vendor/ultraviolet-0.10.2/syntax/modula-3.syntax +0 -47
  169. data/vendor/ultraviolet-0.10.2/syntax/moinmoin.syntax +0 -189
  170. data/vendor/ultraviolet-0.10.2/syntax/mootools.syntax +0 -572
  171. data/vendor/ultraviolet-0.10.2/syntax/movable_type.syntax +0 -162
  172. data/vendor/ultraviolet-0.10.2/syntax/multimarkdown.syntax +0 -39
  173. data/vendor/ultraviolet-0.10.2/syntax/objective-c++.syntax +0 -18
  174. data/vendor/ultraviolet-0.10.2/syntax/objective-c.syntax +0 -233
  175. data/vendor/ultraviolet-0.10.2/syntax/ocaml.syntax +0 -764
  176. data/vendor/ultraviolet-0.10.2/syntax/ocamllex.syntax +0 -167
  177. data/vendor/ultraviolet-0.10.2/syntax/ocamlyacc.syntax +0 -184
  178. data/vendor/ultraviolet-0.10.2/syntax/opengl.syntax +0 -14
  179. data/vendor/ultraviolet-0.10.2/syntax/pascal.syntax +0 -77
  180. data/vendor/ultraviolet-0.10.2/syntax/perl.syntax +0 -1115
  181. data/vendor/ultraviolet-0.10.2/syntax/php.syntax +0 -1253
  182. data/vendor/ultraviolet-0.10.2/syntax/plain_text.syntax +0 -32
  183. data/vendor/ultraviolet-0.10.2/syntax/pmwiki.syntax +0 -113
  184. data/vendor/ultraviolet-0.10.2/syntax/postscript.syntax +0 -114
  185. data/vendor/ultraviolet-0.10.2/syntax/processing.syntax +0 -106
  186. data/vendor/ultraviolet-0.10.2/syntax/prolog.syntax +0 -40
  187. data/vendor/ultraviolet-0.10.2/syntax/property_list.syntax +0 -635
  188. data/vendor/ultraviolet-0.10.2/syntax/python.syntax +0 -868
  189. data/vendor/ultraviolet-0.10.2/syntax/python_django.syntax +0 -21
  190. data/vendor/ultraviolet-0.10.2/syntax/qmake_project.syntax +0 -114
  191. data/vendor/ultraviolet-0.10.2/syntax/qt_c++.syntax +0 -26
  192. data/vendor/ultraviolet-0.10.2/syntax/quake3_config.syntax +0 -32
  193. data/vendor/ultraviolet-0.10.2/syntax/r.syntax +0 -81
  194. data/vendor/ultraviolet-0.10.2/syntax/r_console.syntax +0 -16
  195. data/vendor/ultraviolet-0.10.2/syntax/ragel.syntax +0 -201
  196. data/vendor/ultraviolet-0.10.2/syntax/rd_r_documentation.syntax +0 -91
  197. data/vendor/ultraviolet-0.10.2/syntax/regexp.syntax +0 -50
  198. data/vendor/ultraviolet-0.10.2/syntax/regular_expressions_oniguruma.syntax +0 -107
  199. data/vendor/ultraviolet-0.10.2/syntax/regular_expressions_python.syntax +0 -109
  200. data/vendor/ultraviolet-0.10.2/syntax/release_notes.syntax +0 -46
  201. data/vendor/ultraviolet-0.10.2/syntax/remind.syntax +0 -253
  202. data/vendor/ultraviolet-0.10.2/syntax/restructuredtext.syntax +0 -250
  203. data/vendor/ultraviolet-0.10.2/syntax/rez.syntax +0 -80
  204. data/vendor/ultraviolet-0.10.2/syntax/ruby.syntax +0 -1035
  205. data/vendor/ultraviolet-0.10.2/syntax/ruby_experimental.syntax +0 -145
  206. data/vendor/ultraviolet-0.10.2/syntax/ruby_on_rails.syntax +0 -88
  207. data/vendor/ultraviolet-0.10.2/syntax/s5.syntax +0 -69
  208. data/vendor/ultraviolet-0.10.2/syntax/scheme.syntax +0 -347
  209. data/vendor/ultraviolet-0.10.2/syntax/scilab.syntax +0 -41
  210. data/vendor/ultraviolet-0.10.2/syntax/setext.syntax +0 -147
  211. data/vendor/ultraviolet-0.10.2/syntax/shell-unix-generic.syntax +0 -384
  212. data/vendor/ultraviolet-0.10.2/syntax/slate.syntax +0 -149
  213. data/vendor/ultraviolet-0.10.2/syntax/smarty.syntax +0 -63
  214. data/vendor/ultraviolet-0.10.2/syntax/sql.syntax +0 -237
  215. data/vendor/ultraviolet-0.10.2/syntax/sql_rails.syntax +0 -18
  216. data/vendor/ultraviolet-0.10.2/syntax/ssh-config.syntax +0 -33
  217. data/vendor/ultraviolet-0.10.2/syntax/standard_ml.syntax +0 -121
  218. data/vendor/ultraviolet-0.10.2/syntax/strings_file.syntax +0 -39
  219. data/vendor/ultraviolet-0.10.2/syntax/subversion_commit_message.syntax +0 -36
  220. data/vendor/ultraviolet-0.10.2/syntax/sweave.syntax +0 -84
  221. data/vendor/ultraviolet-0.10.2/syntax/swig.syntax +0 -57
  222. data/vendor/ultraviolet-0.10.2/syntax/tcl.syntax +0 -152
  223. data/vendor/ultraviolet-0.10.2/syntax/template_toolkit.syntax +0 -121
  224. data/vendor/ultraviolet-0.10.2/syntax/tex.syntax +0 -86
  225. data/vendor/ultraviolet-0.10.2/syntax/tex_math.syntax +0 -49
  226. data/vendor/ultraviolet-0.10.2/syntax/textile.syntax +0 -215
  227. data/vendor/ultraviolet-0.10.2/syntax/tsv.syntax +0 -50
  228. data/vendor/ultraviolet-0.10.2/syntax/twiki.syntax +0 -241
  229. data/vendor/ultraviolet-0.10.2/syntax/txt2tags.syntax +0 -79
  230. data/vendor/ultraviolet-0.10.2/syntax/vectorscript.syntax +0 -57
  231. data/vendor/ultraviolet-0.10.2/syntax/xhtml_1.0.syntax +0 -4027
  232. data/vendor/ultraviolet-0.10.2/syntax/xml.syntax +0 -180
  233. data/vendor/ultraviolet-0.10.2/syntax/xml_strict.syntax +0 -92
  234. data/vendor/ultraviolet-0.10.2/syntax/xsl.syntax +0 -60
  235. data/vendor/ultraviolet-0.10.2/syntax/yaml.syntax +0 -160
  236. data/vendor/ultraviolet-0.10.2/syntax/yui_javascript.syntax +0 -176
  237. data/vendor/ultraviolet-0.10.2/test/test_uv.rb +0 -0
@@ -1,156 +0,0 @@
1
- #! /usr/bin/env ruby
2
- begin
3
- require 'plist'
4
- rescue LoadError
5
- require 'rubygems'
6
- require 'plist'
7
- end
8
- require 'uv/utility'
9
-
10
- base_dir = File.join( File.dirname(__FILE__), '..', 'render' )
11
-
12
-
13
- def settings
14
- unless @settings
15
- @settings = @theme["settings"].find { |s| ! s["name"] }["settings"]
16
- end
17
- @settings
18
- end
19
-
20
- puts "Processing #{ARGV[0]}"
21
-
22
- @theme = Plist::parse_xml( ARGV[0] )
23
- render = {"name" => @theme["name"]}
24
- css = {}
25
-
26
- standard_name = File.basename( ARGV[0] ).downcase.gsub(/\s+/, '_').gsub('.tmtheme', '').gsub(/\W/, '').gsub(/_+/, '_')
27
- code_name = "pre.#{standard_name}"
28
-
29
- render["tags"] = []
30
- count_names = {}
31
- @theme["settings"].each do |t|
32
- if t["scope"]
33
- class_name = t["name"].downcase.gsub(/\W/, ' ').gsub('.tmtheme', '').split(' ').collect{|s| s.capitalize}.join
34
- if class_name == ""
35
- class_name = "x" * t["name"].size
36
- end
37
-
38
- if count_names[class_name]
39
- tname = class_name
40
- class_name = "#{class_name}#{count_names[class_name]}"
41
- count_names[tname] += count_names[tname] + 1
42
- else
43
- count_names[class_name] = 1
44
- end
45
-
46
- tag = {}
47
- tag["selector"] = t["scope"]
48
- tag["begin"] = "<span class=\"#{class_name}\">"
49
- tag["end"] = "</span>"
50
- render["tags"] << tag
51
-
52
- if s = t["settings"]
53
- style = {}
54
- style["color"] = Uv.normalize_color(settings, s["foreground"], true)
55
- style["background-color"] = Uv.normalize_color(settings, s["background"])
56
- case s["fontStyle"]
57
- when /bold/ then style["font-weight"] = "bold"
58
- when /italic/ then style["font-style"] = "italic"
59
- when /underline/ then style["text-decoration"] = "underline"
60
- end
61
- css[".#{class_name}"] = style
62
- end
63
- elsif ! t["name"]
64
- if s = t["settings"]
65
- style = {}
66
- style["color"] = Uv.normalize_color(settings, s["foreground"], true)
67
- style["background-color"] = Uv.alpha_blend(s["background"], s["background"])
68
- css[code_name] = style
69
- @style = style
70
- style = {}
71
- style["background-color"] = Uv.alpha_blend(s["selection"], s["selection"])
72
- style["color"] = Uv.foreground( style["background-color"] )
73
- css[".line-numbers"] = style
74
-
75
- tag = {}
76
- tag["begin"] = "<span class=\"line-numbers\">"
77
- tag["end"] = "</span>"
78
- render["line-numbers"] = tag
79
- end
80
- end
81
- end
82
-
83
- render["filter"] = "CGI.escapeHTML( @escaped )"
84
-
85
- tag = {}
86
- tag["begin"] = ""
87
- tag["end"] = ""
88
- render["line"] = tag
89
-
90
-
91
- tag = {}
92
- tag["begin"] = "<pre class=\"#{standard_name}\">"
93
- tag["end"] = "</pre>"
94
- render["listing"] = tag
95
-
96
- tag = {}
97
- tag["begin"] = <<END
98
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
99
- <html xmlns="http://www.w3.org/1999/xhtml" lang="en">
100
-
101
- <head>
102
- <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
103
- <meta http-equiv="cache-control" content="no-cache" />
104
- <meta http-equiv="expires" content="3600" />
105
- <meta name="revisit-after" content="2 days" />
106
- <meta name="robots" content="index,follow" />
107
- <meta name="publisher" content="Dichodaemon" />
108
- <meta name="copyright" content="Dichodaemon" />
109
-
110
- <meta name="author" content="Dichodaemon" />
111
- <meta name="distribution" content="global" />
112
- <meta name="description" content="Ocatarinetabellachithchix" />
113
- <meta name="keywords" content="arzaversperia flexilimosos toves" />
114
- <link rel="stylesheet" type="text/css" media="screen,projection,print" href="css/#{standard_name}.css" />
115
- <title>#{standard_name}</title>
116
-
117
- </head>
118
-
119
- <body>
120
- END
121
-
122
- tag["end"] = <<END
123
- <p>
124
- <a href="http://validator.w3.org/check?uri=referer">
125
- <img style="border:0"
126
- src="http://www.w3.org/Icons/valid-xhtml10"
127
- alt="Valid XHTML 1.0 Strict" height="31" width="88" />
128
- </a>
129
- <a href="http://jigsaw.w3.org/css-validator/check?uri=referer">
130
- <img style="border:0;width:88px;height:31px"
131
- src="http://jigsaw.w3.org/css-validator/images/vcss"
132
- alt="Valid CSS!" />
133
- </a>
134
- </p>
135
- </body>
136
- </html>
137
- END
138
-
139
- render["document"] = tag
140
-
141
- File.open( File.join( base_dir, "xhtml", "#{standard_name}.render" ), "w" ) {|f| YAML.dump( render, f ) }
142
-
143
- File.open( File.join( base_dir, "xhtml", "files", "css", "#{standard_name}.css" ), "w" ) do |f|
144
- css.each do |key, values|
145
- if key == code_name
146
- f.puts "#{code_name} {"
147
- #puts @style
148
- else
149
- f.puts "#{code_name} #{key} {"
150
- end
151
- values.each do |style, value|
152
- f.puts " #{style}: #{value};" if value
153
- end
154
- f.puts "}"
155
- end
156
- end
@@ -1,140 +0,0 @@
1
- #!/usr/bin/env ruby
2
-
3
- begin
4
- require 'rubygems'
5
- require 'uv'
6
- rescue LoadError
7
- $:.unshift File.join( File.dirname(__FILE__), '..', 'lib' )
8
- require 'uv'
9
- end
10
-
11
- require 'optparse'
12
- require 'ostruct'
13
-
14
- o = OpenStruct.new
15
- o.copy_files = false
16
- o.output = "xhtml"
17
- o.headers = false
18
- o.theme = "espresso_libre"
19
- o.lines = true
20
-
21
- options = OptionParser.new
22
-
23
- options.banner =<<END
24
-
25
- Usage: uv [options] input_file
26
-
27
- Parses input_file (or stdin, if no input_file is given) and
28
- outputs the coresponding HTML to stdout. If no syntax is specified,
29
- it tries to guess the best one. If no theme is specified, defaults
30
- to espresso_libre.
31
-
32
- Example:
33
-
34
- uv -t amy -h ~/.bashrc > bashrc.html
35
-
36
- Renders the contents of ~/.bashrc to file bashrc.html
37
- as a standalone web page.
38
-
39
- All options are non-mandatory
40
-
41
- Options:
42
-
43
- END
44
-
45
- options.on( "-c DIR", "--copy-files DIR", <<DESCRIPTION ) {|val| o.copy_files = val}
46
- Copy the required files to the specified output directory (css, images, etc).
47
- DESCRIPTION
48
-
49
- options.on( "-s SYNTAX", "--syntax SYNTAX", <<DESCRIPTION, Uv.syntaxes) {|val| o.syntax = val}
50
- The file's syntax (e.g. ruby, c++, etc.)
51
- DESCRIPTION
52
-
53
- options.on( "-o OUTPUT", "--output OUTPUT", <<DESCRIPTION) {|val| o.output = val}
54
- The output format (xhtml, latex, etc.) default to xhtml
55
- DESCRIPTION
56
-
57
- options.on( "-t THEME", "--theme THEME", <<DESCRIPTION, Uv.themes) {|val| o.theme = val}
58
- The theme to be used (e.g. amy, espresso_libre, etc.)
59
- DESCRIPTION
60
-
61
- options.on( "-n", "--no-lines", <<DESCRIPTION ) {|val| o.lines = false}
62
- Produces output without line numbers
63
- DESCRIPTION
64
-
65
-
66
- options.on( "-h", "--headers", <<DESCRIPTION ) {|val| o.headers = val}
67
- Include headers, outputs a self-contained web page/document
68
- DESCRIPTION
69
-
70
- options.on( "-d", "--debug", <<DESCRIPTION ) {|val| o.debug = val}
71
- Outputs debug information instead of normal page rendering
72
- DESCRIPTION
73
-
74
- options.on( "-l [syntaxes|themes]", "--list [syntaxes|themes]", ['syntaxes', 'themes'], <<DESCRIPTION ) {|val| o.list = val}
75
- Lists all the available syntaxes/themes
76
- DESCRIPTION
77
-
78
-
79
- options.on( "-?", "--help", <<DESCRIPTION ) {|val| o.help = val}
80
- Show this message
81
- DESCRIPTION
82
-
83
- rest = options.parse( ARGV )
84
-
85
-
86
- if o.help
87
- puts options
88
- exit
89
- elsif o.list
90
- if o.list == 'syntaxes'
91
- puts "Available syntaxes:\n"
92
- Uv.syntaxes.sort.each{ |s| puts " - #{s}"}
93
- elsif o.list == 'themes'
94
- puts "Available themes:\n"
95
- Uv.themes.sort.each{ |t| puts " - #{t}"}
96
- else
97
- STDERR.puts "Option #{o.list} is not valid should be one of [syntaxes, themes]"
98
- end
99
- exit
100
- end
101
-
102
- if o.copy_files
103
- unless File.exists?(o.copy_files)
104
- STDERR.puts "The specified output directory: #{o.copy_files} does not exist."
105
- exit -1
106
- end
107
- Uv.copy_files o.output, o.copy_files
108
- end
109
-
110
- o.filename = rest[0]
111
-
112
- if o.filename && ! o.syntax
113
- candidates = Uv.syntax_for_file o.filename
114
- if candidates.size > 1
115
- STDERR.puts "Many syntaxes match, please specify"
116
- STDERR.puts "\nMatching syntaxes:"
117
- candidates.sort.each { |name, syntax| STDERR.puts "\t - " + name}
118
- exit -1
119
- end
120
- o.syntax = candidates.first.first unless candidates.size == 0
121
- end
122
-
123
- unless o.syntax
124
- STDERR.puts "No default syntax found, please specify"
125
- exit -1
126
- end
127
-
128
- if o.filename
129
- o.text = File.read(o.filename)
130
- else
131
- o.text = STDIN
132
- end
133
-
134
- if o.debug
135
- Uv.debug( o.text, o.syntax )
136
- exit
137
- end
138
-
139
- puts Uv.parse( o.text, o.output, o.syntax, o.lines, o.theme, o.headers )
140
-
@@ -1,94 +0,0 @@
1
- require 'fileutils'
2
- require 'textpow'
3
- require File.expand_path('../uv/render_processor.rb',__FILE__)
4
- require File.expand_path('../uv/utility.rb',__FILE__)
5
-
6
- module Uv
7
-
8
- def Uv.syntaxes_hash
9
- Uv.init_syntaxes unless @syntaxes
10
- @syntaxes
11
- end
12
-
13
- def Uv.path
14
- result = []
15
- result << File.join(File.dirname(__FILE__), ".." )
16
- end
17
-
18
- def Uv.copy_files output, output_dir
19
- Uv.path.each do |dir|
20
- dir_name = File.join( dir, "render", output, "files" )
21
- FileUtils.cp_r( Dir.glob(File.join( dir_name, "." )), output_dir ) if File.exists?( dir_name )
22
- end
23
- end
24
-
25
- def Uv.init_syntaxes
26
- @syntaxes = {}
27
- Dir.glob( File.join(File.dirname(__FILE__), '..', 'syntax', '*.syntax') ).each do |f|
28
- @syntaxes[File.basename(f, '.syntax')] = Textpow::SyntaxNode.load( f )
29
- end
30
- end
31
-
32
- def Uv.syntaxes
33
- Dir.glob( File.join(File.dirname(__FILE__), '..', 'syntax', '*.syntax') ).collect do |f|
34
- File.basename(f, '.syntax')
35
- end
36
- end
37
-
38
- def Uv.themes
39
- Dir.glob( File.join(File.dirname(__FILE__), '..', 'render', 'xhtml', 'files', 'css', '*.css') ).collect do |f|
40
- File.basename(f, '.css')
41
- end
42
- end
43
-
44
- def Uv.syntax_for_file file_name
45
- init_syntaxes unless @syntaxes
46
- first_line = ""
47
- File.open( file_name, 'r' ) { |f|
48
- while (first_line = f.readline).strip.size == 0; end
49
- }
50
- result = []
51
- @syntaxes.each do |key, value|
52
- assigned = false
53
- if value.fileTypes
54
- value.fileTypes.each do |t|
55
- if t == File.basename( file_name ) || t == File.extname( file_name )[1..-1]
56
- result << [key, value]
57
- assigned = true
58
- break
59
- end
60
- end
61
- end
62
- unless assigned
63
- if value.firstLineMatch && value.firstLineMatch =~ first_line
64
- result << [key, value]
65
- end
66
- end
67
- end
68
- result
69
- end
70
-
71
- def Uv.parse text, output = "xhtml", syntax_name = nil, line_numbers = false, render_style = "classic", headers = false
72
- init_syntaxes unless @syntaxes
73
- renderer = File.join( File.dirname(__FILE__), '..',"render", output,"#{render_style}.render")
74
- raise( ArgumentError, "Output for #{output} is not yet implemented" ) unless File.exists?(renderer)
75
- css_class = render_style
76
- render_options = YAML.load( File.open( renderer ) )
77
- render_processor = RenderProcessor.new( render_options, line_numbers, headers )
78
- @syntaxes[syntax_name].parse( text, render_processor )
79
- render_processor.string
80
- end
81
-
82
- def Uv.debug text, syntax_name
83
- unless @syntaxes
84
- @syntaxes = {}
85
- Dir.glob( File.join(File.dirname(__FILE__), '..', 'syntax', '*.syntax') ).each do |f|
86
- @syntaxes[File.basename(f, '.syntax')] = Textpow::SyntaxNode.load( f )
87
- end
88
- end
89
- processor = Textpow::DebugProcessor.new
90
-
91
- @syntaxes[syntax_name].parse( text, processor )
92
- end
93
-
94
- end
@@ -1,131 +0,0 @@
1
- require 'cgi'
2
-
3
- module Uv
4
-
5
-
6
- class RenderProcessor
7
- @@score_manager = Textpow::ScoreManager.new
8
-
9
- attr_reader :string
10
- attr_accessor :escapeHTML
11
-
12
- def initialize render_options, line_numbers = false, headers = true, score_manager = nil
13
- @score_manager = score_manager || @@score_manager
14
- @render_options = render_options
15
- @options = {}
16
- @headers = headers
17
- @line_numbers = line_numbers
18
- @escapeHTML = true
19
- end
20
-
21
- def start_parsing name
22
- @stack = [name]
23
- @string = ""
24
- @line = nil
25
- @line_number = 0
26
- print @render_options["document"]["begin"] if @headers
27
- print @render_options["listing"]["begin"]
28
- # opt = options @stack
29
- # print opt["begin"] if opt
30
- end
31
-
32
- def print string
33
- @string << string
34
- end
35
-
36
- def escape string
37
- if @render_options["filter"]
38
- @escaped = string
39
- @escaped = self.instance_eval( @render_options["filter"] )
40
- @escaped
41
- else
42
- string
43
- end
44
- end
45
-
46
- def open_tag name, position
47
- @stack << name
48
- print escape(@line[@position...position].gsub(/\n|\r/, '')) if position > @position
49
- @position = position
50
- opt = options @stack
51
- print opt["begin"] if opt
52
- end
53
-
54
- def close_tag name, position
55
- print escape(@line[@position...position].gsub(/\n|\r/, '')) if position > @position
56
- @position = position
57
- opt = options @stack
58
- print opt["end"] if opt
59
- @stack.pop
60
- end
61
-
62
- def close_line
63
- stack = @stack[0..-1]
64
- while stack.size > 1
65
- opt = options stack
66
- print opt["end"] if opt
67
- stack.pop
68
- end
69
- end
70
-
71
- def open_line
72
- stack = [@stack.first]
73
- clone = @stack[1..-1]
74
- while stack.size < @stack.size
75
- stack << clone.shift
76
- opt = options stack
77
- print opt["begin"] if opt
78
- end
79
- end
80
-
81
- def new_line line
82
- if @line
83
- print escape(@line[@position..-1].gsub(/\n|\r/, ''))
84
- close_line
85
- print @render_options["line"]["end"]
86
- print "\n"
87
- end
88
- @position = 0
89
- @line_number += 1
90
- @line = line
91
- print @render_options["line"]["begin"]
92
- if @line_numbers
93
- print @render_options["line-numbers"]["begin"]
94
- print @line_number.to_s.rjust(4).ljust(5)
95
- print @render_options["line-numbers"]["end"]
96
- print " "
97
- end
98
- open_line
99
- end
100
-
101
- def end_parsing name
102
- if @line
103
- print escape(@line[@position..-1].gsub(/\n|\r/, ''))
104
- while @stack.size > 1
105
- opt = options @stack
106
- print opt["end"] if opt
107
- @stack.pop
108
- end
109
- print @render_options["line"]["end"]
110
- print "\n"
111
- end
112
- # opt = options @stack
113
- # print opt["end"] if opt
114
- @stack.pop
115
- print @render_options["listing"]["end"]
116
- print @render_options["document"]["end"] if @headers
117
- end
118
-
119
- def options stack
120
- ref = stack.join ' '
121
- return @options[ref] if @options.has_key? ref
122
-
123
- result = @render_options['tags'].max do |a, b|
124
- @score_manager.score( a['selector'], ref ) <=> @score_manager.score( b['selector'], ref )
125
- end
126
- result = nil if @score_manager.score( result['selector'], ref ) == 0
127
- @options[ref] = result
128
- end
129
- end
130
- end
131
-