devver-ultraviolet 0.10.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (222) hide show
  1. data/History.txt +25 -0
  2. data/Manifest.txt +233 -0
  3. data/README.txt +52 -0
  4. data/bin/theme2latexrender +122 -0
  5. data/bin/theme2xhtmlrender +156 -0
  6. data/bin/uv +140 -0
  7. data/lib/uv.rb +94 -0
  8. data/lib/uv/render_processor.rb +146 -0
  9. data/lib/uv/utility.rb +67 -0
  10. data/render/latex/active4d.render +132 -0
  11. data/render/latex/all_hallows_eve.render +96 -0
  12. data/render/latex/amy.render +171 -0
  13. data/render/latex/blackboard.render +111 -0
  14. data/render/latex/brilliance_black.render +552 -0
  15. data/render/latex/brilliance_dull.render +561 -0
  16. data/render/latex/cobalt.render +162 -0
  17. data/render/latex/dawn.render +126 -0
  18. data/render/latex/eiffel.render +132 -0
  19. data/render/latex/espresso_libre.render +123 -0
  20. data/render/latex/idle.render +93 -0
  21. data/render/latex/iplastic.render +99 -0
  22. data/render/latex/lazy.render +96 -0
  23. data/render/latex/mac_classic.render +135 -0
  24. data/render/latex/magicwb_amiga.render +117 -0
  25. data/render/latex/pastels_on_dark.render +204 -0
  26. data/render/latex/slush_poppies.render +123 -0
  27. data/render/latex/spacecadet.render +81 -0
  28. data/render/latex/sunburst.render +186 -0
  29. data/render/latex/twilight.render +153 -0
  30. data/render/latex/zenburnesque.render +126 -0
  31. data/render/old/txt2tags.render +131 -0
  32. data/render/xhtml/active4d.render +140 -0
  33. data/render/xhtml/all_hallows_eve.render +104 -0
  34. data/render/xhtml/amy.render +179 -0
  35. data/render/xhtml/blackboard.render +119 -0
  36. data/render/xhtml/brilliance_black.render +560 -0
  37. data/render/xhtml/brilliance_dull.render +569 -0
  38. data/render/xhtml/cobalt.render +170 -0
  39. data/render/xhtml/dawn.render +134 -0
  40. data/render/xhtml/eiffel.render +140 -0
  41. data/render/xhtml/espresso_libre.render +131 -0
  42. data/render/xhtml/files/css/active4d.css +114 -0
  43. data/render/xhtml/files/css/all_hallows_eve.css +72 -0
  44. data/render/xhtml/files/css/amy.css +147 -0
  45. data/render/xhtml/files/css/blackboard.css +88 -0
  46. data/render/xhtml/files/css/brilliance_black.css +605 -0
  47. data/render/xhtml/files/css/brilliance_dull.css +599 -0
  48. data/render/xhtml/files/css/cobalt.css +149 -0
  49. data/render/xhtml/files/css/dawn.css +121 -0
  50. data/render/xhtml/files/css/eiffel.css +121 -0
  51. data/render/xhtml/files/css/espresso_libre.css +109 -0
  52. data/render/xhtml/files/css/idle.css +62 -0
  53. data/render/xhtml/files/css/iplastic.css +80 -0
  54. data/render/xhtml/files/css/lazy.css +73 -0
  55. data/render/xhtml/files/css/mac_classic.css +123 -0
  56. data/render/xhtml/files/css/magicwb_amiga.css +104 -0
  57. data/render/xhtml/files/css/pastels_on_dark.css +188 -0
  58. data/render/xhtml/files/css/slush_poppies.css +85 -0
  59. data/render/xhtml/files/css/spacecadet.css +51 -0
  60. data/render/xhtml/files/css/sunburst.css +180 -0
  61. data/render/xhtml/files/css/twilight.css +137 -0
  62. data/render/xhtml/files/css/zenburnesque.css +91 -0
  63. data/render/xhtml/idle.render +101 -0
  64. data/render/xhtml/iplastic.render +107 -0
  65. data/render/xhtml/lazy.render +104 -0
  66. data/render/xhtml/mac_classic.render +143 -0
  67. data/render/xhtml/magicwb_amiga.render +125 -0
  68. data/render/xhtml/pastels_on_dark.render +212 -0
  69. data/render/xhtml/slush_poppies.render +131 -0
  70. data/render/xhtml/spacecadet.render +89 -0
  71. data/render/xhtml/sunburst.render +194 -0
  72. data/render/xhtml/twilight.render +161 -0
  73. data/render/xhtml/zenburnesque.render +134 -0
  74. data/syntax/actionscript.syntax +97 -0
  75. data/syntax/active4d.syntax +276 -0
  76. data/syntax/active4d_html.syntax +311 -0
  77. data/syntax/active4d_ini.syntax +50 -0
  78. data/syntax/active4d_library.syntax +21 -0
  79. data/syntax/ada.syntax +33 -0
  80. data/syntax/antlr.syntax +151 -0
  81. data/syntax/apache.syntax +191 -0
  82. data/syntax/applescript.syntax +384 -0
  83. data/syntax/asp.syntax +70 -0
  84. data/syntax/asp_vb.net.syntax +129 -0
  85. data/syntax/bibtex.syntax +151 -0
  86. data/syntax/blog_html.syntax +41 -0
  87. data/syntax/blog_markdown.syntax +42 -0
  88. data/syntax/blog_text.syntax +27 -0
  89. data/syntax/blog_textile.syntax +27 -0
  90. data/syntax/build.syntax +53 -0
  91. data/syntax/bulletin_board.syntax +287 -0
  92. data/syntax/cake.syntax +55 -0
  93. data/syntax/camlp4.syntax +36 -0
  94. data/syntax/cm.syntax +32 -0
  95. data/syntax/coldfusion.syntax +119 -0
  96. data/syntax/context_free.syntax +176 -0
  97. data/syntax/cs.syntax +59 -0
  98. data/syntax/css.syntax +195 -0
  99. data/syntax/css_experimental.syntax +1925 -0
  100. data/syntax/csv.syntax +68 -0
  101. data/syntax/d.syntax +142 -0
  102. data/syntax/diff.syntax +81 -0
  103. data/syntax/dokuwiki.syntax +204 -0
  104. data/syntax/dot.syntax +47 -0
  105. data/syntax/doxygen.syntax +43 -0
  106. data/syntax/dylan.syntax +62 -0
  107. data/syntax/eiffel.syntax +78 -0
  108. data/syntax/erlang.syntax +922 -0
  109. data/syntax/f-script.syntax +80 -0
  110. data/syntax/fortran.syntax +141 -0
  111. data/syntax/fxscript.syntax +142 -0
  112. data/syntax/greasemonkey.syntax +34 -0
  113. data/syntax/gri.syntax +83 -0
  114. data/syntax/groovy.syntax +191 -0
  115. data/syntax/gtd.syntax +22 -0
  116. data/syntax/gtdalt.syntax +143 -0
  117. data/syntax/haml.syntax +88 -0
  118. data/syntax/haskell.syntax +88 -0
  119. data/syntax/html-asp.syntax +27 -0
  120. data/syntax/html.syntax +362 -0
  121. data/syntax/html_django.syntax +36 -0
  122. data/syntax/html_for_asp.net.syntax +424 -0
  123. data/syntax/html_mason.syntax +119 -0
  124. data/syntax/html_rails.syntax +40 -0
  125. data/syntax/html_tcl.syntax +26 -0
  126. data/syntax/icalendar.syntax +32 -0
  127. data/syntax/inform.syntax +48 -0
  128. data/syntax/ini.syntax +55 -0
  129. data/syntax/installer_distribution_script.syntax +77 -0
  130. data/syntax/io.syntax +81 -0
  131. data/syntax/java.syntax +211 -0
  132. data/syntax/javaproperties.syntax +20 -0
  133. data/syntax/javascript.syntax +256 -0
  134. data/syntax/javascript_+_prototype.syntax +72 -0
  135. data/syntax/javascript_+_prototype_bracketed.syntax +140 -0
  136. data/syntax/jquery_javascript.syntax +114 -0
  137. data/syntax/json.syntax +136 -0
  138. data/syntax/languagedefinition.syntax +708 -0
  139. data/syntax/latex.syntax +566 -0
  140. data/syntax/latex_beamer.syntax +41 -0
  141. data/syntax/latex_log.syntax +50 -0
  142. data/syntax/latex_memoir.syntax +64 -0
  143. data/syntax/lexflex.syntax +219 -0
  144. data/syntax/lighttpd.syntax +54 -0
  145. data/syntax/lilypond.syntax +492 -0
  146. data/syntax/lisp.syntax +61 -0
  147. data/syntax/literate_haskell.syntax +24 -0
  148. data/syntax/logo.syntax +29 -0
  149. data/syntax/logtalk.syntax +152 -0
  150. data/syntax/lua.syntax +86 -0
  151. data/syntax/m.syntax +142 -0
  152. data/syntax/macports_portfile.syntax +163 -0
  153. data/syntax/makefile.syntax +36 -0
  154. data/syntax/man.syntax +17 -0
  155. data/syntax/mediawiki.syntax +567 -0
  156. data/syntax/mips.syntax +66 -0
  157. data/syntax/mod_perl.syntax +50 -0
  158. data/syntax/modula-3.syntax +47 -0
  159. data/syntax/moinmoin.syntax +189 -0
  160. data/syntax/mootools.syntax +572 -0
  161. data/syntax/movable_type.syntax +162 -0
  162. data/syntax/multimarkdown.syntax +39 -0
  163. data/syntax/objective-c++.syntax +18 -0
  164. data/syntax/objective-c.syntax +233 -0
  165. data/syntax/ocaml.syntax +764 -0
  166. data/syntax/ocamllex.syntax +167 -0
  167. data/syntax/ocamlyacc.syntax +184 -0
  168. data/syntax/opengl.syntax +14 -0
  169. data/syntax/pascal.syntax +77 -0
  170. data/syntax/perl.syntax +1115 -0
  171. data/syntax/plain_text.syntax +32 -0
  172. data/syntax/postscript.syntax +114 -0
  173. data/syntax/processing.syntax +106 -0
  174. data/syntax/prolog.syntax +40 -0
  175. data/syntax/property_list.syntax +635 -0
  176. data/syntax/python.syntax +868 -0
  177. data/syntax/python_django.syntax +21 -0
  178. data/syntax/qmake_project.syntax +114 -0
  179. data/syntax/qt_c++.syntax +26 -0
  180. data/syntax/quake3_config.syntax +32 -0
  181. data/syntax/r.syntax +81 -0
  182. data/syntax/r_console.syntax +16 -0
  183. data/syntax/ragel.syntax +201 -0
  184. data/syntax/rd_r_documentation.syntax +91 -0
  185. data/syntax/regexp.syntax +50 -0
  186. data/syntax/release_notes.syntax +46 -0
  187. data/syntax/remind.syntax +253 -0
  188. data/syntax/restructuredtext.syntax +250 -0
  189. data/syntax/rez.syntax +80 -0
  190. data/syntax/ruby.syntax +1035 -0
  191. data/syntax/ruby_experimental.syntax +145 -0
  192. data/syntax/ruby_on_rails.syntax +88 -0
  193. data/syntax/s5.syntax +69 -0
  194. data/syntax/scheme.syntax +347 -0
  195. data/syntax/scilab.syntax +41 -0
  196. data/syntax/setext.syntax +147 -0
  197. data/syntax/shell-unix-generic.syntax +384 -0
  198. data/syntax/slate.syntax +149 -0
  199. data/syntax/sql.syntax +237 -0
  200. data/syntax/sql_rails.syntax +18 -0
  201. data/syntax/ssh-config.syntax +33 -0
  202. data/syntax/standard_ml.syntax +121 -0
  203. data/syntax/strings_file.syntax +39 -0
  204. data/syntax/subversion_commit_message.syntax +36 -0
  205. data/syntax/sweave.syntax +84 -0
  206. data/syntax/swig.syntax +57 -0
  207. data/syntax/tcl.syntax +152 -0
  208. data/syntax/template_toolkit.syntax +121 -0
  209. data/syntax/tex.syntax +86 -0
  210. data/syntax/tex_math.syntax +49 -0
  211. data/syntax/textile.syntax +215 -0
  212. data/syntax/tsv.syntax +50 -0
  213. data/syntax/twiki.syntax +241 -0
  214. data/syntax/txt2tags.syntax +79 -0
  215. data/syntax/vectorscript.syntax +57 -0
  216. data/syntax/xhtml_1.0.syntax +4027 -0
  217. data/syntax/xml.syntax +180 -0
  218. data/syntax/xml_strict.syntax +92 -0
  219. data/syntax/xsl.syntax +60 -0
  220. data/syntax/yaml.syntax +160 -0
  221. data/syntax/yui_javascript.syntax +176 -0
  222. metadata +310 -0
@@ -0,0 +1,25 @@
1
+ == 0.10.2
2
+ * Fixed --no-lines command line option.
3
+ * Updated PHP syntax, no longer stalling.
4
+
5
+ == 0.10.1 / 2007-06-15
6
+ * Corrected line-number schemes in theme2xhtmlrender
7
+ * Corrected alpha blending code in theme2xhtmlrender, Now the brilliance themes seem to work!
8
+ * Modified html_processor to include whole syntax scopes.
9
+ * Add index for duplicated setting names in tmTheme files.
10
+ * Multiple fixes for latex, color boxes have now the right color and size.
11
+
12
+ == 0.10.0 / 2007-05-15
13
+ * Added copy files commant to Uv module and to command line utility.
14
+ now the required files (ex. css) may be easily copied to a destination
15
+ directory.
16
+ * Small corrections in html_processor (should change name)
17
+ * Many modifications to latex rendering
18
+ * First latex rendering implementation (still buggy).
19
+ * All processing is defined in render files.
20
+
21
+ == 0.9.0 / 2007-04-24
22
+
23
+ * 1 major enhancement
24
+ * Birthday!
25
+
@@ -0,0 +1,233 @@
1
+ test/test_uv.rb
2
+ lib/uv/render_processor.rb
3
+ lib/uv/utility.rb
4
+ lib/uv.rb
5
+ bin/theme2xhtmlrender
6
+ bin/theme2latexrender
7
+ bin/uv
8
+ History.txt
9
+ Rakefile
10
+ Manifest.txt
11
+ README.txt
12
+ render/xhtml/files/css/idle.css
13
+ render/xhtml/files/css/lazy.css
14
+ render/xhtml/files/css/espresso_libre.css
15
+ render/xhtml/files/css/blackboard.css
16
+ render/xhtml/files/css/brilliance_dull.css
17
+ render/xhtml/files/css/sunburst.css
18
+ render/xhtml/files/css/amy.css
19
+ render/xhtml/files/css/zenburnesque.css
20
+ render/xhtml/files/css/magicwb_amiga.css
21
+ render/xhtml/files/css/dawn.css
22
+ render/xhtml/files/css/eiffel.css
23
+ render/xhtml/files/css/twilight.css
24
+ render/xhtml/files/css/spacecadet.css
25
+ render/xhtml/files/css/brilliance_black.css
26
+ render/xhtml/files/css/mac_classic.css
27
+ render/xhtml/files/css/active4d.css
28
+ render/xhtml/files/css/slush_poppies.css
29
+ render/xhtml/files/css/cobalt.css
30
+ render/xhtml/files/css/iplastic.css
31
+ render/xhtml/files/css/all_hallows_eve.css
32
+ render/xhtml/files/css/pastels_on_dark.css
33
+ render/xhtml/idle.render
34
+ render/xhtml/lazy.render
35
+ render/xhtml/espresso_libre.render
36
+ render/xhtml/blackboard.render
37
+ render/xhtml/brilliance_dull.render
38
+ render/xhtml/sunburst.render
39
+ render/xhtml/amy.render
40
+ render/xhtml/zenburnesque.render
41
+ render/xhtml/magicwb_amiga.render
42
+ render/xhtml/dawn.render
43
+ render/xhtml/eiffel.render
44
+ render/xhtml/twilight.render
45
+ render/xhtml/spacecadet.render
46
+ render/xhtml/brilliance_black.render
47
+ render/xhtml/mac_classic.render
48
+ render/xhtml/active4d.render
49
+ render/xhtml/slush_poppies.render
50
+ render/xhtml/cobalt.render
51
+ render/xhtml/iplastic.render
52
+ render/xhtml/all_hallows_eve.render
53
+ render/xhtml/pastels_on_dark.render
54
+ render/latex/mac_classic.render
55
+ render/latex/active4d.render
56
+ render/latex/cobalt.render
57
+ render/latex/magicwb_amiga.render
58
+ render/latex/pastels_on_dark.render
59
+ render/latex/iplastic.render
60
+ render/latex/idle.render
61
+ render/latex/lazy.render
62
+ render/latex/espresso_libre.render
63
+ render/latex/brilliance_dull.render
64
+ render/latex/blackboard.render
65
+ render/latex/sunburst.render
66
+ render/latex/amy.render
67
+ render/latex/zenburnesque.render
68
+ render/latex/dawn.render
69
+ render/latex/eiffel.render
70
+ render/latex/twilight.render
71
+ render/latex/spacecadet.render
72
+ render/latex/slush_poppies.render
73
+ render/latex/brilliance_black.render
74
+ render/latex/all_hallows_eve.render
75
+ render/old/txt2tags.render
76
+ syntax/logo.syntax
77
+ syntax/dylan.syntax
78
+ syntax/latex_log.syntax
79
+ syntax/textile.syntax
80
+ syntax/build.syntax
81
+ syntax/latex_memoir.syntax
82
+ syntax/lexflex.syntax
83
+ syntax/lisp.syntax
84
+ syntax/gtd.syntax
85
+ syntax/m.syntax
86
+ syntax/ocaml.syntax
87
+ syntax/d.syntax
88
+ syntax/cm.syntax
89
+ syntax/ocamlyacc.syntax
90
+ syntax/opengl.syntax
91
+ syntax/pascal.syntax
92
+ syntax/lua.syntax
93
+ syntax/active4d.syntax
94
+ syntax/mel.syntax
95
+ syntax/r.syntax
96
+ syntax/r_console.syntax
97
+ syntax/smarty.syntax
98
+ syntax/latex.syntax
99
+ syntax/prolog.syntax
100
+ syntax/rez.syntax
101
+ syntax/asp.syntax
102
+ syntax/xhtml_1.0.syntax
103
+ syntax/icalendar.syntax
104
+ syntax/mootools.syntax
105
+ syntax/scheme.syntax
106
+ syntax/xml.syntax
107
+ syntax/mail.syntax
108
+ syntax/swig.syntax
109
+ syntax/slate.syntax
110
+ syntax/sweave.syntax
111
+ syntax/qmake_project.syntax
112
+ syntax/release_notes.syntax
113
+ syntax/html_tcl.syntax
114
+ syntax/html.syntax
115
+ syntax/c.syntax
116
+ syntax/pmwiki.syntax
117
+ syntax/ruby.syntax
118
+ syntax/csv.syntax
119
+ syntax/ruby_on_rails.syntax
120
+ syntax/xsl.syntax
121
+ syntax/yaml.syntax
122
+ syntax/io.syntax
123
+ syntax/java.syntax
124
+ syntax/gri.syntax
125
+ syntax/movable_type.syntax
126
+ syntax/cs.syntax
127
+ syntax/css.syntax
128
+ syntax/c++.syntax
129
+ syntax/haml.syntax
130
+ syntax/dot.syntax
131
+ syntax/tsv.syntax
132
+ syntax/ruby_experimental.syntax
133
+ syntax/man.syntax
134
+ syntax/bibtex.syntax
135
+ syntax/objective-c.syntax
136
+ syntax/subversion_commit_message.syntax
137
+ syntax/ocamllex.syntax
138
+ syntax/tcl.syntax
139
+ syntax/tex.syntax
140
+ syntax/ragel.syntax
141
+ syntax/shell-unix-generic.syntax
142
+ syntax/inform.syntax
143
+ syntax/sql.syntax
144
+ syntax/python.syntax
145
+ syntax/modula-3.syntax
146
+ syntax/cake.syntax
147
+ syntax/logtalk.syntax
148
+ syntax/ini.syntax
149
+ syntax/diff.syntax
150
+ syntax/fortran.syntax
151
+ syntax/txt2tags.syntax
152
+ syntax/s5.syntax
153
+ syntax/scilab.syntax
154
+ syntax/mips.syntax
155
+ syntax/twiki.syntax
156
+ syntax/perl.syntax
157
+ syntax/fxscript.syntax
158
+ syntax/markdown.syntax
159
+ syntax/lilypond.syntax
160
+ syntax/blog_html.syntax
161
+ syntax/html_mason.syntax
162
+ syntax/jquery_javascript.syntax
163
+ syntax/json.syntax
164
+ syntax/languagedefinition.syntax
165
+ syntax/tex_math.syntax
166
+ syntax/xml_strict.syntax
167
+ syntax/php.syntax
168
+ syntax/doxygen.syntax
169
+ syntax/strings_file.syntax
170
+ syntax/makefile.syntax
171
+ syntax/setext.syntax
172
+ syntax/ada.syntax
173
+ syntax/active4d_ini.syntax
174
+ syntax/active4d_library.syntax
175
+ syntax/antlr.syntax
176
+ syntax/javascript_+_prototype.syntax
177
+ syntax/lighttpd.syntax
178
+ syntax/template_toolkit.syntax
179
+ syntax/sql_rails.syntax
180
+ syntax/ssh-config.syntax
181
+ syntax/mediawiki.syntax
182
+ syntax/moinmoin.syntax
183
+ syntax/javascript.syntax
184
+ syntax/quake3_config.syntax
185
+ syntax/qt_c++.syntax
186
+ syntax/camlp4.syntax
187
+ syntax/multimarkdown.syntax
188
+ syntax/blog_text.syntax
189
+ syntax/blog_textile.syntax
190
+ syntax/bulletin_board.syntax
191
+ syntax/groovy.syntax
192
+ syntax/gtdalt.syntax
193
+ syntax/regular_expressions_python.syntax
194
+ syntax/latex_beamer.syntax
195
+ syntax/remind.syntax
196
+ syntax/regexp.syntax
197
+ syntax/rd_r_documentation.syntax
198
+ syntax/standard_ml.syntax
199
+ syntax/literate_haskell.syntax
200
+ syntax/python_django.syntax
201
+ syntax/restructuredtext.syntax
202
+ syntax/mod_perl.syntax
203
+ syntax/coldfusion.syntax
204
+ syntax/installer_distribution_script.syntax
205
+ syntax/vectorscript.syntax
206
+ syntax/macports_portfile.syntax
207
+ syntax/yui_javascript.syntax
208
+ syntax/actionscript.syntax
209
+ syntax/active4d_html.syntax
210
+ syntax/apache.syntax
211
+ syntax/applescript.syntax
212
+ syntax/asp_vb.net.syntax
213
+ syntax/blog_markdown.syntax
214
+ syntax/context_free.syntax
215
+ syntax/css_experimental.syntax
216
+ syntax/dokuwiki.syntax
217
+ syntax/eiffel.syntax
218
+ syntax/erlang.syntax
219
+ syntax/f-script.syntax
220
+ syntax/haskell.syntax
221
+ syntax/greasemonkey.syntax
222
+ syntax/html-asp.syntax
223
+ syntax/html_django.syntax
224
+ syntax/html_for_asp.net.syntax
225
+ syntax/html_rails.syntax
226
+ syntax/javaproperties.syntax
227
+ syntax/javascript_+_prototype_bracketed.syntax
228
+ syntax/objective-c++.syntax
229
+ syntax/plain_text.syntax
230
+ syntax/postscript.syntax
231
+ syntax/processing.syntax
232
+ syntax/property_list.syntax
233
+ syntax/regular_expressions_oniguruma.syntax
@@ -0,0 +1,52 @@
1
+ == Ultraviolet
2
+
3
+ Ultraviolet is a syntax highlighting library and engine. It
4
+ uses TextMate[http://macromates.com/] syntax files and parses
5
+ them using the Textpow[http://textpow.rubyforge.org] library. It
6
+ supports more than 60 programming languages out of the box.
7
+
8
+ == SYNTAX
9
+
10
+
11
+ == REQUIREMENTS:
12
+
13
+ * Oniguruma for Ruby[http://oniguruma.rubyforge.org] v1.1.0 or higher.
14
+ * Textpow[http://textpow.rubyforge.org] v0.9.0 or higher.
15
+
16
+ == INSTALL:
17
+
18
+ sudo gem install -r markray
19
+
20
+ == BUGS/PROBLEMS/INCOMPATIBILITIES:
21
+
22
+
23
+ == TODO:
24
+
25
+
26
+ == CREDITS:
27
+
28
+
29
+ == LICENSE:
30
+
31
+ (The MIT License)
32
+
33
+ Copyright (c) 2007 FIX
34
+
35
+ Permission is hereby granted, free of charge, to any person obtaining
36
+ a copy of this software and associated documentation files (the
37
+ 'Software'), to deal in the Software without restriction, including
38
+ without limitation the rights to use, copy, modify, merge, publish,
39
+ distribute, sublicense, and/or sell copies of the Software, and to
40
+ permit persons to whom the Software is furnished to do so, subject to
41
+ the following conditions:
42
+
43
+ The above copyright notice and this permission notice shall be
44
+ included in all copies or substantial portions of the Software.
45
+
46
+ THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
47
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
48
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
49
+ IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
50
+ CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
51
+ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
52
+ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -0,0 +1,122 @@
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
+ def settings
13
+ unless @settings
14
+ @settings = @theme["settings"].find { |s| ! s["name"] }["settings"]
15
+ end
16
+ @settings
17
+ end
18
+
19
+ @theme = Plist::parse_xml( ARGV[0] )
20
+ render = {"name" => @theme["name"]}
21
+ codecolumn = ""
22
+ numbercolumn = ""
23
+ standard_name = File.basename( ARGV[0] ).downcase.gsub(/\s+/, '_').gsub('.tmtheme', '').gsub(/\W/, '').gsub(/_+/, '_')
24
+
25
+ render["tags"] = []
26
+
27
+ @theme["settings"].each do |t|
28
+ if t["scope"]
29
+ class_name = t["name"].downcase.gsub(/\W/, ' ').gsub('.tmtheme', '').split(' ').collect{|s| s.capitalize}.join
30
+ if class_name == ""
31
+ class_name = "x" * t["name"].size
32
+ end
33
+
34
+ tag = {}
35
+ tag["selector"] = t["scope"]
36
+ render["tags"] << tag
37
+
38
+ begin_string = ""
39
+ pcount = 0
40
+ if s = t["settings"]
41
+ if s["background"]
42
+ begin_string << "\\setlength{\\fboxsep}{0ex}\\colorbox[HTML]{#{Uv.normalize_color(settings, s["background"])[1..-1]}}{\\rule[-0.5ex]{0pt}{2.0ex}"
43
+ else
44
+ begin_string << "{"
45
+ end
46
+ pcount += 1
47
+ if s["foreground"]
48
+ begin_string << "\\color[HTML]{#{Uv.normalize_color(settings, s["foreground"], true)[1..-1]}}"
49
+ end
50
+ case s["fontStyle"]
51
+ when /bold/
52
+ begin_string << "\\textbf{"
53
+ pcount += 1
54
+ when /italic/
55
+ begin_string << "\\textit{"
56
+ pcount += 1
57
+ when /underline/
58
+ begin_string << "\\underline{"
59
+ pcount += 1
60
+ end
61
+ tag["begin"] = begin_string
62
+ tag["end"] = "}" * pcount
63
+ end
64
+
65
+
66
+ elsif ! t["name"]
67
+ if s = t["settings"]
68
+ codecolumn = "\\newcolumntype{C}{>{"
69
+ codecolumn << "\\color[HTML]{#{Uv.normalize_color(settings, s["foreground"], true)[1..-1]}}" if s["foreground"]
70
+ codecolumn << "\\columncolor[HTML]{#{Uv.alpha_blend(s["background"], s["background"])[1..-1]}}" if s["background"]
71
+ codecolumn << "}l}"
72
+ bg = Uv.alpha_blend(s["selection"], s["selection"]) if s["selection"]
73
+ numbercolumn = "\\newcolumntype{N}{>{"
74
+ numbercolumn << "\\color[HTML]{#{Uv.foreground(bg)[1..-1]}}" if bg
75
+ numbercolumn << "\\columncolor[HTML]{#{bg[1..-1]}}" if s["selection"]
76
+ numbercolumn << "}l}"
77
+
78
+ tag = {}
79
+ tag["begin"] = "\\texttt{"
80
+ tag["end"] = "}&\\mbox{\\texttt{"
81
+ render["line-numbers"] = tag end
82
+ end
83
+ end
84
+
85
+ render["filter"] = '@escaped.gsub(/(\$)/, \'\\\\\\\\\1\').gsub(/\\\\(?!\$)/, \'$\\\\\\\\backslash$\').gsub(/(_|\{|\}|&|\#|%)/, \'\\\\\\\\\1\').gsub(/~/, \'\\\\textasciitilde \').gsub(/ /,\'\\\\hspace{1ex}\').gsub(/\t| /,\'\\\\hspace{3ex}\').gsub(/\"/, "\'\'").gsub(/(\^)/,\'\\\\\\\\\1{}\')'
86
+
87
+ tag = {}
88
+ tag["begin"] = ""
89
+ tag["end"] = "}}\\\\"
90
+ render["line"] = tag
91
+
92
+ tag = {}
93
+ tag["begin"] = <<END
94
+ #{codecolumn}
95
+ #{numbercolumn}
96
+ \\begin{longtable}{NC}
97
+ END
98
+
99
+ tag["end"] = <<END
100
+ \\end{longtable}
101
+ END
102
+ render["listing"] = tag
103
+
104
+ tag = {}
105
+ tag["begin"] = <<END
106
+ \\documentclass[a4paper,landscape]{article}
107
+ \\usepackage{xcolor}
108
+ \\usepackage{colortbl}
109
+ \\usepackage{longtable}
110
+ \\usepackage[left=2cm,top=1cm,right=3cm,nohead,nofoot]{geometry}
111
+ \\usepackage[T1]{fontenc}
112
+ \\usepackage[scaled]{beramono}
113
+ \\begin{document}
114
+ END
115
+
116
+ tag["end"] = <<END
117
+ \\end{document}
118
+ END
119
+
120
+ render["document"] = tag
121
+
122
+ File.open( File.join( base_dir, "latex", "#{standard_name}.render" ), "w" ) {|f| YAML.dump( render, f ) }
@@ -0,0 +1,156 @@
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