showoffer 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (206) hide show
  1. data/LICENSE +20 -0
  2. data/README.rdoc +559 -0
  3. data/Rakefile +27 -0
  4. data/bin/showoffer +189 -0
  5. data/lib/commandline_parser.rb +67 -0
  6. data/lib/showoff.rb +515 -0
  7. data/lib/showoff/version.rb +3 -0
  8. data/lib/showoff_utils.rb +360 -0
  9. data/public/css/960.css +653 -0
  10. data/public/css/fg.menu.css +114 -0
  11. data/public/css/onepage.css +60 -0
  12. data/public/css/pdf.css +12 -0
  13. data/public/css/presenter.css +76 -0
  14. data/public/css/reset.css +53 -0
  15. data/public/css/sh_style.css +66 -0
  16. data/public/css/showoff.css +403 -0
  17. data/public/css/spinner_bar.gif +0 -0
  18. data/public/css/theme/images/ui-bg_diagonals-small_100_f0efea_40x40.png +0 -0
  19. data/public/css/theme/images/ui-bg_flat_35_f0f0f0_40x100.png +0 -0
  20. data/public/css/theme/images/ui-bg_glass_55_fcf0ba_1x400.png +0 -0
  21. data/public/css/theme/images/ui-bg_glow-ball_25_2e2e28_600x600.png +0 -0
  22. data/public/css/theme/images/ui-bg_highlight-soft_100_f0efea_1x100.png +0 -0
  23. data/public/css/theme/images/ui-bg_highlight-soft_25_327E04_1x100.png +0 -0
  24. data/public/css/theme/images/ui-bg_highlight-soft_25_5A9D1A_1x100.png +0 -0
  25. data/public/css/theme/images/ui-bg_highlight-soft_95_ffedad_1x100.png +0 -0
  26. data/public/css/theme/images/ui-bg_inset-soft_22_3b3b35_1x100.png +0 -0
  27. data/public/css/theme/images/ui-icons_808080_256x240.png +0 -0
  28. data/public/css/theme/images/ui-icons_8DC262_256x240.png +0 -0
  29. data/public/css/theme/images/ui-icons_cd0a0a_256x240.png +0 -0
  30. data/public/css/theme/images/ui-icons_e7e6e4_256x240.png +0 -0
  31. data/public/css/theme/images/ui-icons_eeeeee_256x240.png +0 -0
  32. data/public/css/theme/images/ui-icons_ffffff_256x240.png +0 -0
  33. data/public/css/theme/ui.accordion.css +9 -0
  34. data/public/css/theme/ui.all.css +2 -0
  35. data/public/css/theme/ui.base.css +9 -0
  36. data/public/css/theme/ui.core.css +37 -0
  37. data/public/css/theme/ui.datepicker.css +62 -0
  38. data/public/css/theme/ui.dialog.css +13 -0
  39. data/public/css/theme/ui.progressbar.css +4 -0
  40. data/public/css/theme/ui.resizable.css +13 -0
  41. data/public/css/theme/ui.slider.css +17 -0
  42. data/public/css/theme/ui.tabs.css +9 -0
  43. data/public/css/theme/ui.theme.css +245 -0
  44. data/public/favicon.ico +0 -0
  45. data/public/highlight/AUTHORS.en.txt +46 -0
  46. data/public/highlight/AUTHORS.ru.txt +46 -0
  47. data/public/highlight/LICENSE +24 -0
  48. data/public/highlight/README.md +136 -0
  49. data/public/highlight/README.ru.md +140 -0
  50. data/public/highlight/classref.txt +437 -0
  51. data/public/highlight/export.html +87 -0
  52. data/public/highlight/highlight.js +630 -0
  53. data/public/highlight/highlight.pack.js +1 -0
  54. data/public/highlight/languages/1c.js +68 -0
  55. data/public/highlight/languages/apache.js +432 -0
  56. data/public/highlight/languages/avrasm.js +75 -0
  57. data/public/highlight/languages/axapta.js +43 -0
  58. data/public/highlight/languages/bash.js +56 -0
  59. data/public/highlight/languages/cmake.js +24 -0
  60. data/public/highlight/languages/cpp.js +62 -0
  61. data/public/highlight/languages/cs.js +41 -0
  62. data/public/highlight/languages/css.js +101 -0
  63. data/public/highlight/languages/delphi.js +70 -0
  64. data/public/highlight/languages/diff.js +64 -0
  65. data/public/highlight/languages/django.js +72 -0
  66. data/public/highlight/languages/dos.js +29 -0
  67. data/public/highlight/languages/erlang-repl.js +81 -0
  68. data/public/highlight/languages/erlang.js +201 -0
  69. data/public/highlight/languages/go.js +58 -0
  70. data/public/highlight/languages/haskell.js +77 -0
  71. data/public/highlight/languages/ini.js +32 -0
  72. data/public/highlight/languages/java.js +45 -0
  73. data/public/highlight/languages/javascript.js +53 -0
  74. data/public/highlight/languages/lisp.js +87 -0
  75. data/public/highlight/languages/lua.js +75 -0
  76. data/public/highlight/languages/mel.js +40 -0
  77. data/public/highlight/languages/nginx.js +224 -0
  78. data/public/highlight/languages/objectivec.js +94 -0
  79. data/public/highlight/languages/parser3.js +52 -0
  80. data/public/highlight/languages/perl.js +143 -0
  81. data/public/highlight/languages/php.js +55 -0
  82. data/public/highlight/languages/profile.js +49 -0
  83. data/public/highlight/languages/python.js +71 -0
  84. data/public/highlight/languages/renderman.js +230 -0
  85. data/public/highlight/languages/ruby.js +203 -0
  86. data/public/highlight/languages/scala.js +60 -0
  87. data/public/highlight/languages/smalltalk.js +55 -0
  88. data/public/highlight/languages/sql.js +90 -0
  89. data/public/highlight/languages/tex.js +62 -0
  90. data/public/highlight/languages/vala.js +75 -0
  91. data/public/highlight/languages/vbscript.js +30 -0
  92. data/public/highlight/languages/vhdl.js +30 -0
  93. data/public/highlight/languages/xml.js +103 -0
  94. data/public/highlight/styles/arta.css +151 -0
  95. data/public/highlight/styles/ascetic.css +45 -0
  96. data/public/highlight/styles/brown_paper.css +105 -0
  97. data/public/highlight/styles/brown_papersq.png +0 -0
  98. data/public/highlight/styles/dark.css +103 -0
  99. data/public/highlight/styles/default.css +121 -0
  100. data/public/highlight/styles/far.css +118 -0
  101. data/public/highlight/styles/github.css +129 -0
  102. data/public/highlight/styles/idea.css +118 -0
  103. data/public/highlight/styles/ir_black.css +103 -0
  104. data/public/highlight/styles/magula.css +118 -0
  105. data/public/highlight/styles/school_book.css +111 -0
  106. data/public/highlight/styles/school_book.png +0 -0
  107. data/public/highlight/styles/solarized_dark.css +96 -0
  108. data/public/highlight/styles/solarized_light.css +96 -0
  109. data/public/highlight/styles/sunburst.css +147 -0
  110. data/public/highlight/styles/vs.css +84 -0
  111. data/public/highlight/styles/zenburn.css +115 -0
  112. data/public/highlight/test.html +1609 -0
  113. data/public/js/coffee-script.js +8 -0
  114. data/public/js/core.js +79 -0
  115. data/public/js/fg.menu.js +645 -0
  116. data/public/js/jTypeWriter.js +26 -0
  117. data/public/js/jquery-1.4.2.min.js +154 -0
  118. data/public/js/jquery-print.js +109 -0
  119. data/public/js/jquery.batchImageLoad.js +56 -0
  120. data/public/js/jquery.cookie.js +96 -0
  121. data/public/js/jquery.cycle.all.js +1284 -0
  122. data/public/js/jquery.doubletap-0.1.js +105 -0
  123. data/public/js/jquery.uuid.js +24 -0
  124. data/public/js/jquery.ws-0.3pre.js +201 -0
  125. data/public/js/onepage.js +5 -0
  126. data/public/js/presenter.js +193 -0
  127. data/public/js/sh_lang/sh_bison.min.js +1 -0
  128. data/public/js/sh_lang/sh_c.min.js +1 -0
  129. data/public/js/sh_lang/sh_caml.min.js +1 -0
  130. data/public/js/sh_lang/sh_changelog.min.js +1 -0
  131. data/public/js/sh_lang/sh_coffeescript.min.js +1 -0
  132. data/public/js/sh_lang/sh_cpp.min.js +1 -0
  133. data/public/js/sh_lang/sh_csharp.min.js +1 -0
  134. data/public/js/sh_lang/sh_css.min.js +1 -0
  135. data/public/js/sh_lang/sh_cucumber.min.js +2 -0
  136. data/public/js/sh_lang/sh_desktop.min.js +1 -0
  137. data/public/js/sh_lang/sh_diff.min.js +1 -0
  138. data/public/js/sh_lang/sh_erlang.min.js +1 -0
  139. data/public/js/sh_lang/sh_flex.min.js +1 -0
  140. data/public/js/sh_lang/sh_glsl.min.js +1 -0
  141. data/public/js/sh_lang/sh_haxe.min.js +1 -0
  142. data/public/js/sh_lang/sh_html.min.js +1 -0
  143. data/public/js/sh_lang/sh_java.min.js +1 -0
  144. data/public/js/sh_lang/sh_javascript.min.js +1 -0
  145. data/public/js/sh_lang/sh_javascript_dom.min.js +1 -0
  146. data/public/js/sh_lang/sh_latex.min.js +1 -0
  147. data/public/js/sh_lang/sh_ldap.min.js +1 -0
  148. data/public/js/sh_lang/sh_log.min.js +1 -0
  149. data/public/js/sh_lang/sh_lsm.min.js +1 -0
  150. data/public/js/sh_lang/sh_m4.min.js +1 -0
  151. data/public/js/sh_lang/sh_makefile.min.js +1 -0
  152. data/public/js/sh_lang/sh_oracle.min.js +1 -0
  153. data/public/js/sh_lang/sh_pascal.min.js +1 -0
  154. data/public/js/sh_lang/sh_perl.min.js +1 -0
  155. data/public/js/sh_lang/sh_php.min.js +1 -0
  156. data/public/js/sh_lang/sh_prolog.min.js +1 -0
  157. data/public/js/sh_lang/sh_properties.min.js +1 -0
  158. data/public/js/sh_lang/sh_python.min.js +1 -0
  159. data/public/js/sh_lang/sh_ruby.min.js +1 -0
  160. data/public/js/sh_lang/sh_scala.min.js +1 -0
  161. data/public/js/sh_lang/sh_sh.min.js +1 -0
  162. data/public/js/sh_lang/sh_slang.min.js +1 -0
  163. data/public/js/sh_lang/sh_sml.min.js +1 -0
  164. data/public/js/sh_lang/sh_spec.min.js +1 -0
  165. data/public/js/sh_lang/sh_sql.min.js +1 -0
  166. data/public/js/sh_lang/sh_tcl.min.js +1 -0
  167. data/public/js/sh_lang/sh_xml.min.js +1 -0
  168. data/public/js/sh_lang/sh_xorg.min.js +1 -0
  169. data/public/js/sh_main.min.js +4 -0
  170. data/public/js/showoff.js +652 -0
  171. data/public/js/showoffcore.js +13 -0
  172. data/public/scripts/script.js +280 -0
  173. data/public/themes/ribbon/fonts/DroidSansMono.svg +626 -0
  174. data/public/themes/ribbon/fonts/DroidSansMono.ttf +0 -0
  175. data/public/themes/ribbon/fonts/PTSans.Bold.Italic.svg +728 -0
  176. data/public/themes/ribbon/fonts/PTSans.Bold.Italic.ttf +0 -0
  177. data/public/themes/ribbon/fonts/PTSans.Bold.Italic.woff +0 -0
  178. data/public/themes/ribbon/fonts/PTSans.Bold.svg +728 -0
  179. data/public/themes/ribbon/fonts/PTSans.Bold.ttf +0 -0
  180. data/public/themes/ribbon/fonts/PTSans.Bold.woff +0 -0
  181. data/public/themes/ribbon/fonts/PTSans.Italic.svg +728 -0
  182. data/public/themes/ribbon/fonts/PTSans.Italic.ttf +0 -0
  183. data/public/themes/ribbon/fonts/PTSans.Italic.woff +0 -0
  184. data/public/themes/ribbon/fonts/PTSans.Narrow.Bold.svg +728 -0
  185. data/public/themes/ribbon/fonts/PTSans.Narrow.Bold.ttf +0 -0
  186. data/public/themes/ribbon/fonts/PTSans.Narrow.Bold.woff +0 -0
  187. data/public/themes/ribbon/fonts/PTSans.Narrow.svg +728 -0
  188. data/public/themes/ribbon/fonts/PTSans.Narrow.ttf +0 -0
  189. data/public/themes/ribbon/fonts/PTSans.Narrow.woff +0 -0
  190. data/public/themes/ribbon/fonts/PTSans.svg +728 -0
  191. data/public/themes/ribbon/fonts/PTSans.ttf +0 -0
  192. data/public/themes/ribbon/fonts/PTSans.woff +0 -0
  193. data/public/themes/ribbon/fonts/TargetBlank.otf +0 -0
  194. data/public/themes/ribbon/fonts/TargetBlank.svg +14 -0
  195. data/public/themes/ribbon/images/grid.png +0 -0
  196. data/public/themes/ribbon/images/linen.png +0 -0
  197. data/public/themes/ribbon/images/ribbon.svg +4 -0
  198. data/public/themes/ribbon/styles/fonts.css +63 -0
  199. data/public/themes/ribbon/styles/print.css +68 -0
  200. data/public/themes/ribbon/styles/reset.css +42 -0
  201. data/public/themes/ribbon/styles/style.css +408 -0
  202. data/views/header.erb +11 -0
  203. data/views/index.erb +13 -0
  204. data/views/onepage.erb +39 -0
  205. data/views/presenter.erb +70 -0
  206. metadata +328 -0
@@ -0,0 +1,84 @@
1
+ /*
2
+
3
+ Visual Studio-like style based on original C# coloring by Jason Diamond <jason@diamond.name>
4
+
5
+ */
6
+ pre code {
7
+ display: block; padding: 0.5em;
8
+ }
9
+
10
+ pre .comment,
11
+ pre .annotation,
12
+ pre .template_comment,
13
+ pre .diff .header,
14
+ pre .chunk,
15
+ pre .apache .cbracket {
16
+ color: rgb(0, 128, 0);
17
+ }
18
+
19
+ pre .keyword,
20
+ pre .id,
21
+ pre .title,
22
+ pre .built_in,
23
+ pre .aggregate,
24
+ pre .smalltalk .class,
25
+ pre .winutils,
26
+ pre .bash .variable,
27
+ pre .tex .command {
28
+ color: rgb(0, 0, 255);
29
+ }
30
+
31
+ pre .string,
32
+ pre .title,
33
+ pre .parent,
34
+ pre .tag .value,
35
+ pre .rules .value,
36
+ pre .rules .value .number,
37
+ pre .ruby .symbol,
38
+ pre .ruby .symbol .string,
39
+ pre .ruby .symbol .keyword,
40
+ pre .ruby .symbol .keymethods,
41
+ pre .instancevar,
42
+ pre .aggregate,
43
+ pre .template_tag,
44
+ pre .django .variable,
45
+ pre .addition,
46
+ pre .flow,
47
+ pre .stream,
48
+ pre .apache .tag,
49
+ pre .date,
50
+ pre .tex .formula {
51
+ color: rgb(163, 21, 21);
52
+ }
53
+
54
+ pre .ruby .string,
55
+ pre .decorator,
56
+ pre .filter .argument,
57
+ pre .localvars,
58
+ pre .array,
59
+ pre .attr_selector,
60
+ pre .pseudo,
61
+ pre .pi,
62
+ pre .doctype,
63
+ pre .deletion,
64
+ pre .envvar,
65
+ pre .shebang,
66
+ pre .preprocessor,
67
+ pre .userType,
68
+ pre .apache .sqbracket,
69
+ pre .nginx .built_in,
70
+ pre .tex .special,
71
+ pre .input_number {
72
+ color: rgb(43, 145, 175);
73
+ }
74
+
75
+ pre .phpdoc,
76
+ pre .javadoc,
77
+ pre .xmlDocTag {
78
+ color: rgb(128, 128, 128);
79
+ }
80
+
81
+ pre .vhdl .type { font-weight: bold; }
82
+ pre .vhdl .string { color: #666666; }
83
+ pre .vhdl .literal { color: rgb(163, 21, 21); }
84
+
@@ -0,0 +1,115 @@
1
+ /*
2
+
3
+ Zenburn style from voldmar.ru (c) Vladimir Epifanov <voldmar@voldmar.ru>
4
+ based on dark.css by Ivan Sagalaev
5
+
6
+ */
7
+
8
+ pre code {
9
+ display: block; padding: 0.5em;
10
+ background: #3F3F3F;
11
+ color: #DCDCDC;
12
+ }
13
+
14
+ pre .keyword,
15
+ pre .tag,
16
+ pre .django .tag,
17
+ pre .django .keyword,
18
+ pre .css .class,
19
+ pre .css .id,
20
+ pre .lisp .title {
21
+ color: #E3CEAB;
22
+ }
23
+
24
+ pre .django .template_tag,
25
+ pre .django .variable,
26
+ pre .django .filter .argument {
27
+ color: #DCDCDC;
28
+ }
29
+
30
+ pre .number,
31
+ pre .date {
32
+ color: #8CD0D3;
33
+ }
34
+
35
+ pre .dos .envvar,
36
+ pre .dos .stream,
37
+ pre .variable,
38
+ pre .apache .sqbracket {
39
+ color: #EFDCBC;
40
+ }
41
+
42
+ pre .dos .flow,
43
+ pre .diff .change,
44
+ pre .python .exception,
45
+ pre .python .built_in,
46
+ pre .literal,
47
+ pre .tex .special {
48
+ color: #EFEFAF;
49
+ }
50
+
51
+ pre .diff .chunk,
52
+ pre .ruby .subst {
53
+ color: #8F8F8F;
54
+ }
55
+
56
+ pre .dos .keyword,
57
+ pre .python .decorator,
58
+ pre .class .title,
59
+ pre .haskell .label,
60
+ pre .function .title,
61
+ pre .ini .title,
62
+ pre .diff .header,
63
+ pre .ruby .class .parent,
64
+ pre .apache .tag,
65
+ pre .nginx .built_in,
66
+ pre .tex .command,
67
+ pre .input_number {
68
+ color: #efef8f;
69
+ }
70
+
71
+ pre .dos .winutils,
72
+ pre .ruby .symbol,
73
+ pre .ruby .symbol .string,
74
+ pre .ruby .symbol .keyword,
75
+ pre .ruby .symbol .keymethods,
76
+ pre .ruby .string,
77
+ pre .ruby .instancevar {
78
+ color: #DCA3A3;
79
+ }
80
+
81
+ pre .diff .deletion,
82
+ pre .string,
83
+ pre .tag .value,
84
+ pre .preprocessor,
85
+ pre .built_in,
86
+ pre .sql .aggregate,
87
+ pre .javadoc,
88
+ pre .smalltalk .class,
89
+ pre .smalltalk .localvars,
90
+ pre .smalltalk .array,
91
+ pre .css .rules .value,
92
+ pre .attr_selector,
93
+ pre .pseudo,
94
+ pre .apache .cbracket,
95
+ pre .tex .formula {
96
+ color: #CC9393;
97
+ }
98
+
99
+ pre .shebang,
100
+ pre .diff .addition,
101
+ pre .comment,
102
+ pre .java .annotation,
103
+ pre .template_comment,
104
+ pre .pi,
105
+ pre .doctype {
106
+ color: #7F9F7F;
107
+ }
108
+
109
+ pre .xml .css,
110
+ pre .xml .javascript,
111
+ pre .xml .vbscript,
112
+ pre .tex .formula {
113
+ opacity: 0.5;
114
+ }
115
+
@@ -0,0 +1,1609 @@
1
+ <!DOCTYPE html>
2
+ <head>
3
+ <title>highlight.js test</title>
4
+ <meta charset="utf-8">
5
+
6
+ <link rel="stylesheet" title="Default" href="styles/default.css">
7
+ <link rel="alternate stylesheet" title="Dark" href="styles/dark.css">
8
+ <link rel="alternate stylesheet" title="FAR" href="styles/far.css">
9
+ <link rel="alternate stylesheet" title="IDEA" href="styles/idea.css">
10
+ <link rel="alternate stylesheet" title="Sunburst" href="styles/sunburst.css">
11
+ <link rel="alternate stylesheet" title="Zenburn" href="styles/zenburn.css">
12
+ <link rel="alternate stylesheet" title="Visual Studio" href="styles/vs.css">
13
+ <link rel="alternate stylesheet" title="Ascetic" href="styles/ascetic.css">
14
+ <link rel="alternate stylesheet" title="Magula" href="styles/magula.css">
15
+ <link rel="alternate stylesheet" title="GitHub" href="styles/github.css">
16
+ <link rel="alternate stylesheet" title="Brown Paper" href="styles/brown_paper.css">
17
+ <link rel="alternate stylesheet" title="School Book" href="styles/school_book.css">
18
+ <link rel="alternate stylesheet" title="IR Black" href="styles/ir_black.css">
19
+ <link rel="alternate stylesheet" title="Solarized - Dark" href="styles/solarized_dark.css">
20
+ <link rel="alternate stylesheet" title="Solarized - Light" href="styles/solarized_light.css">
21
+ <link rel="alternate stylesheet" title="Arta" href="styles/arta.css">
22
+
23
+ <style>
24
+ body {
25
+ font: small Arial, sans-serif;
26
+ }
27
+ h2 {
28
+ font: bold 100% Arial, sans-serif;
29
+ margin-top: 2em;
30
+ margin-bottom: 0.5em;
31
+ }
32
+ table {
33
+ width: 100%; padding: 0; border-collapse: collapse;
34
+ }
35
+ th {
36
+ width: 12em;
37
+ padding: 0; margin: 0;
38
+ }
39
+ td {
40
+ padding-bottom: 1em;
41
+ }
42
+ td, th {
43
+ vertical-align: top;
44
+ text-align: left;
45
+ }
46
+ pre {
47
+ margin: 0; font-size: medium;
48
+ }
49
+ #switch {
50
+ overflow: auto; width: 57em;
51
+ list-style: none;
52
+ padding: 0; margin: 0;
53
+ }
54
+ #switch li {
55
+ float: left; width: 10em;
56
+ padding: 0.1em; margin: 0.1em 1em 0.1em 0;
57
+ background: #EEE;
58
+ cursor: pointer;
59
+ }
60
+ #switch li.current {
61
+ background: #CCC;
62
+ font-weight: bold;
63
+ }
64
+ .test {
65
+ color: #888;
66
+ font-weight: normal;
67
+ margin: 2em 0 0 0;
68
+ }
69
+ .test var {
70
+ font-style: normal;
71
+ }
72
+ .passed {
73
+ color: green;
74
+ }
75
+ .failed {
76
+ color: red;
77
+ }
78
+ .code {
79
+ font: medium monospace;
80
+ }
81
+ .code .keyword {
82
+ font-weight: bold;
83
+ }
84
+ </style>
85
+
86
+ <script src="highlight.pack.js"></script>
87
+ <script>
88
+ hljs.tabReplace = ' ';
89
+ hljs.initHighlightingOnLoad();
90
+ </script>
91
+
92
+ <script>
93
+ // Stylesheet switcher © Vladimir Epifanov <voldmar@voldmar.ru>
94
+ (function(container_id) {
95
+ if (window.addEventListener) {
96
+ var attach = function(el, ev, handler) {
97
+ el.addEventListener(ev, handler, false);
98
+ }
99
+ } else if (window.attachEvent) {
100
+ var attach = function(el, ev, handler) {
101
+ el.attachEvent('on' + ev, handler);
102
+ }
103
+ } else {
104
+ var attach = function(el, ev, handler) {
105
+ ev['on' + ev] = handler;
106
+ }
107
+ }
108
+
109
+
110
+ attach(window, 'load', function() {
111
+ var current = null;
112
+
113
+ var info = {};
114
+ var links = document.getElementsByTagName('link');
115
+ var ul = document.createElement('ul')
116
+
117
+ for (var i = 0; (link = links[i]); i++) {
118
+ if (link.getAttribute('rel').indexOf('style') != -1
119
+ && link.title) {
120
+
121
+ var title = link.title;
122
+
123
+ info[title] = {
124
+ 'link': link,
125
+ 'li': document.createElement('li')
126
+ }
127
+
128
+ ul.appendChild(info[title].li)
129
+ info[title].li.title = title;
130
+
131
+ info[title].link.disabled = true;
132
+
133
+ info[title].li.appendChild(document.createTextNode(title));
134
+ attach(info[title].li, 'click', (function (el) {
135
+ return function() {
136
+ current.li.className = '';
137
+ current.link.disabled = true;
138
+ current = el;
139
+ current.li.className = 'current';
140
+ current.link.disabled = false;
141
+ }})(info[title]));
142
+ }
143
+ }
144
+
145
+ current = info['Default']
146
+ current.li.className = 'current';
147
+ current.link.disabled = false;
148
+
149
+ ul.id = 'switch';
150
+ container = document.getElementById(container_id);
151
+ container.appendChild(ul);
152
+ });
153
+
154
+ })('styleswitcher');
155
+ </script>
156
+ <body>
157
+
158
+ <p>This is a demo/test page showing all languages supported by <a href="http://softwaremaniacs.org/soft/highlight/en/">highlight.js</a>.
159
+ Most snippets do not contain working code :-).
160
+
161
+ <div id="styleswitcher">
162
+ <h2>Styles</h2>
163
+ </div>
164
+
165
+ <h2>Automatically detected languages</h2>
166
+
167
+ <p id="summary">...</p>
168
+ <table id="autotest">
169
+ <tr>
170
+ <th>Python
171
+ <td class="python">
172
+ <pre>
173
+ <code>@requires_authorization
174
+ def somefunc(param1, param2):
175
+ r'''A docstring'''
176
+ if param1 &gt; param2: # interesting
177
+ print 'Gre\'ater'
178
+ print ''
179
+ return (param2 - param1 + 1) or None
180
+
181
+ class SomeClass:<br> pass
182
+ </code></pre>
183
+
184
+ <tr>
185
+ <th>Python's profiler output
186
+ <td class="profile">
187
+ <pre><code> 261917242 function calls in 686.251 CPU seconds
188
+
189
+ ncalls tottime filename:lineno(function)
190
+ 152824 513.894 {method 'sort' of 'list' objects}
191
+ 129590630 83.894 rrule.py:842(__cmp__)
192
+ 129590630 82.439 {cmp}
193
+ 153900 1.296 rrule.py:399(_iter)
194
+ 304393/151570 0.963 rrule.py:102(_iter_cached)
195
+ </code></pre>
196
+
197
+ <tr>
198
+ <th>Ruby
199
+ <td class="ruby">
200
+ <pre><code>class A &lt; B; def self.create(object = User) object end end
201
+ class Zebra; def inspect; "X#{2 + self.object_id}" end end
202
+
203
+ module ABC::DEF
204
+ include Comparable
205
+
206
+ # @param test
207
+ # @return [String] nothing
208
+ def foo(test)
209
+ Thread.new do |blockvar|
210
+ ABC::DEF.reverse(:a_symbol, :'a symbol' + 'test' + test)
211
+ end.join
212
+ end
213
+
214
+ def [](index) self[index] end
215
+ def ==(other) other == self end
216
+ end
217
+
218
+ anIdentifier = an_identifier
219
+ Constant = 1
220
+ </code></pre>
221
+
222
+ <tr>
223
+ <th>Perl
224
+ <td class="perl">
225
+ <pre><code># loads object
226
+ sub load
227
+ {
228
+ my $flds = $c-&gt;db_load($id,@_) || do {
229
+ Carp::carp "Can`t load (class: $c, id: $id): '$!'"; return undef
230
+ };
231
+ my $o = $c-&gt;_perl_new();
232
+ $id12 = $id;
233
+ $o-&gt;{'ID'} = $id12 + 123;
234
+ $o-&gt;{'PAPA'} = $flds-&gt;{'PAPA'};
235
+ #$o-&gt;{'SHCUT'} = $flds-&gt;{'SHCUT'};
236
+ my $p = $o-&gt;props;
237
+ my $vt;
238
+ $string =~ m/^sought_text$/;
239
+ for my $key (keys %$p)
240
+ {
241
+ if(${$vt.'::property'}) {
242
+ $o-&gt;{$key . '_real'} = $flds-&gt;{$key};
243
+ tie $o-&gt;{$key}, 'CMSBuilder::Property', $o, $key;
244
+ } else {
245
+ $o-&gt;{$key} = $flds-&gt;{$key};
246
+ $o->kill();
247
+ }
248
+ }
249
+ $o-&gt;save if delete $o-&gt;{'_save_after_load'};
250
+ return $o;
251
+ }
252
+
253
+ foreach my $num (0..$#array) {
254
+ # something
255
+ }
256
+ </code></pre>
257
+
258
+ <tr>
259
+ <th>PHP
260
+ <td class="php">
261
+ <pre><code>require_once 'Zend.php';
262
+ require_once 'Zend/Uri/Exception.php';
263
+ require_once 'Zend/Uri/Http.php';
264
+ require_once 'Zend/Uri/Mailto.php';
265
+
266
+ abstract class Zend_Uri
267
+ {
268
+
269
+ /**
270
+ * Return a string representation of this URI.
271
+ *
272
+ * @see getUri()
273
+ * @return string
274
+ */
275
+ public function __toString()
276
+ {
277
+ return $this-&gt;getUri();
278
+ }
279
+
280
+ static public function factory($uri = 'http')
281
+ {
282
+ $uri = explode(':', $uri, 2);
283
+ $scheme = strtolower($uri[0]);
284
+ $schemeSpecific = isset($uri[1]) ? $uri[1] : '';
285
+
286
+ // Security check: $scheme is used to load a class file,
287
+ // so only alphanumerics are allowed.
288
+ if (!ctype_alnum($scheme)) {
289
+ throw new Zend_Uri_Exception('Illegal scheme');
290
+ }
291
+ }
292
+ }
293
+ </code></pre>
294
+
295
+ <tr>
296
+ <th>Scala
297
+ <td class="scala">
298
+ <pre><code>object abstractTypes extends Application {
299
+ abstract class SeqBuffer {
300
+ type T; val element: Seq[T]; def length = element.length
301
+ }
302
+ }
303
+
304
+ /** Turn command line arguments to uppercase */
305
+ object Main {
306
+ def main(args: Array[String]) {
307
+ val res = for (a &lt;- args) yield a.toUpperCase
308
+ println("Arguments: " + res.toString)
309
+ }
310
+ }
311
+
312
+ /** Maps are easy to use in Scala. */
313
+ object Maps {
314
+ val colors = Map("red" -&gt; 0xFF0000,
315
+ "turquoise" -&gt; 0x00FFFF,
316
+ "black" -&gt; 0x000000,
317
+ "orange" -&gt; 0xFF8040,
318
+ "brown" -&gt; 0x804000)
319
+ def main(args: Array[String]) {
320
+ for (name &lt;- args) println(
321
+ colors.get(name) match {
322
+ case Some(code) =&gt;
323
+ name + " has code: " + code
324
+ case None =&gt;
325
+ "Unknown color: " + name
326
+ }
327
+ )
328
+ }
329
+ }
330
+ </code></pre>
331
+
332
+ <tr>
333
+ <th>Go
334
+ <td class="go">
335
+ <pre><code>package main
336
+
337
+ import (
338
+ "fmt"
339
+ "rand"
340
+ "os"
341
+ )
342
+
343
+ const (
344
+ Sunday = iota
345
+ Partyday
346
+ numberOfDays // this constant is not exported
347
+ )
348
+
349
+ type Foo interface {
350
+ FooFunc(int, float32) (complex128, []int)
351
+ }
352
+
353
+ // simple comment
354
+ type Bar struct {
355
+ os.File /* multi
356
+ line
357
+ comment */
358
+
359
+ PublicData chan int
360
+ }
361
+
362
+ func main() {
363
+ ch := make(chan int)
364
+ ch &lt;- 1
365
+ x, ok := &lt;- ch
366
+ ok = true
367
+ x = nil
368
+ float_var := 1.0e10
369
+ defer fmt.Println('exitting \' now')
370
+ defer fmt.Println(`exitting \` now`)
371
+ var fv1 float64 = 0.75
372
+ go println(len("hello world!"))
373
+ return
374
+ }
375
+
376
+ </code></pre>
377
+
378
+ <tr>
379
+ <th>XML
380
+ <td class="xml">
381
+ <pre><code>&lt;?xml version="1.0"?&gt;
382
+ &lt;response value="ok" xml:lang="en"&gt;
383
+ &lt;text&gt;Ok&lt;/text&gt;
384
+ &lt;comment html_allowed="true"/&gt;
385
+ &lt;ns1:description&gt;&lt;![CDATA[
386
+ CDATA is &lt;not&gt; magical.
387
+ ]]&gt;&lt;/ns1:description&gt;
388
+ &lt;a&gt;&lt;/a&gt; &lt;a/&gt;
389
+ &lt;/response&gt;
390
+ </code></pre>
391
+
392
+ <tr>
393
+ <th>HTML (with inline css and javascript)
394
+ <td class="xml">
395
+ <pre><code>&lt;!DOCTYPE html5&gt;
396
+ &lt;head&gt;
397
+ &lt;title&gt;Title&lt;/title&gt;
398
+
399
+ &lt;style&gt;
400
+ body {
401
+ width: 500px;
402
+ }
403
+ &lt;/style&gt;
404
+
405
+ &lt;script type="application/javascript"&gt;
406
+ function someFunction() {
407
+ return true;
408
+ }
409
+ &lt;/script&gt;
410
+
411
+ &lt;body&gt;
412
+ &lt;p class="something" id='12'&gt;Something&lt;/p&gt;
413
+ &lt;p class=something&gt;Something&lt;/p&gt;
414
+ &lt;!-- comment --&gt;
415
+ &lt;p class&gt;Something&lt;/p&gt;
416
+ &lt;p class="something" title="p"&gt;Something&lt;/p&gt;
417
+ &lt;/body&gt;
418
+ </code></pre>
419
+
420
+ <tr>
421
+ <th>Django templates
422
+ <td class="django">
423
+ <pre><code>{% if articles|length %}
424
+ {% for article in articles %}
425
+
426
+ {# Striped table #}
427
+ &lt;tr class="{% cycle odd,even %}"&gt;
428
+ &lt;td&gt;{{ article|default:"Hi... "|escape }}&lt;/td&gt;
429
+ &lt;td {% if article.today %}class="today"{% endif %}&gt;{{ article.date|date:"d.m.Y" }}&lt;/td&gt;
430
+ &lt;/tr&gt;
431
+
432
+ {% endfor %}
433
+ {% endif %}
434
+
435
+ {% comment %}
436
+ Comments may be long and
437
+ multiline.
438
+ {% endcomment %}
439
+ </code></pre>
440
+
441
+ <tr>
442
+ <th>CSS
443
+ <td class="css">
444
+ <pre><code>body,
445
+ html {
446
+ font: Tahoma, Arial, san-serif;
447
+ background: url('hatch.png');
448
+ }
449
+
450
+ @import url('print.css');
451
+
452
+ @media screen and (-webkit-min-device-pixel-ratio: 0) {
453
+ body:first-of-type pre::after {
454
+ content: 'highlight: ' attr(class);
455
+ }
456
+ }
457
+
458
+ @page:right {
459
+ margin: 1cm 2cm 1.3cm 4cm;
460
+ }
461
+
462
+ @font-face {
463
+ font-family: Chunkfive;
464
+ src: url('Chunkfive.otf');
465
+ }
466
+
467
+ #content {
468
+ width: /* wide enough */ 100% /* 400px */;
469
+ height: 100%
470
+ }
471
+
472
+ p[lang=ru] {
473
+ color: #F0F0F0; background: white !important;
474
+ }
475
+ </code></pre>
476
+
477
+ <tr>
478
+ <th>Javascript
479
+ <td class="javascript">
480
+ <pre><code>function $initHighlight(block) {
481
+ if (block.className.search(/\bno\-highlight\b/) != -1)
482
+ return false;
483
+ try {
484
+ blockText(block);
485
+ } catch (e) {
486
+ if (e == 'Complex markup')
487
+ return;
488
+ }//try
489
+ var classes = block.className.split(/\s+/);
490
+ for (var i = 0 / 2; i &lt; classes.length; i++) { // "0 / 2" should not be parsed as regexp start
491
+ if (LANGUAGES[classes[i]]) {
492
+ highlightLanguage(block, classes[i]);
493
+ return;
494
+ }//if
495
+ }//for
496
+ highlightAuto(block);
497
+ }//initHighlight</code></pre>
498
+
499
+ <tr>
500
+ <th>VBScript
501
+ <td class="vbscript">
502
+ <pre><code>' creating configuration storage and initializing with default values
503
+ Set cfg = CreateObject("Scripting.Dictionary")
504
+
505
+ ' reading ini file
506
+ for i = 0 to ubound(ini_strings)
507
+ s = trim(ini_strings(i))
508
+
509
+ ' skipping empty strings and comments
510
+ if mid(s, 1, 1) &lt;&gt; "#" and len(s) &gt; 0 then
511
+ ' obtaining key and value
512
+ parts = split(s, "=", -1, 1)
513
+
514
+ if ubound(parts)+1 = 2 then
515
+ parts(0) = trim(parts(0))
516
+ parts(1) = trim(parts(1))
517
+
518
+ ' reading configuration and filenames
519
+ select case lcase(parts(0))
520
+ case "uncompressed""_postfix" cfg.item("uncompressed""_postfix") = parts(1)
521
+ case "f"
522
+ options = split(parts(1), "|", -1, 1)
523
+ if ubound(options)+1 = 2 then
524
+ ' 0: filename, 1: options
525
+ ff.add trim(options(0)), trim(options(1))
526
+ end if
527
+ end select
528
+ end if
529
+ end if
530
+ next</code></pre>
531
+
532
+ <tr>
533
+ <th>Lua
534
+ <td class="lua">
535
+ <pre><code>--[[
536
+ Simple signal/slot implementation
537
+ ]]
538
+ local signal_mt = {
539
+ __index = {
540
+ register = table.insert
541
+ }
542
+ }
543
+ function signal_mt.__index:emit(... --[[ Comment in params ]])
544
+ for _, slot in ipairs(self) do
545
+ slot(self, ...)
546
+ end
547
+ end
548
+ local function create_signal()
549
+ return setmetatable({}, signal_mt)
550
+ end
551
+
552
+ -- Signal test
553
+ local signal = create_signal()
554
+ signal:register(function (signal, ...)
555
+ print(...)
556
+ end)
557
+ signal:emit('Answer to Life, the Universe, and Everything:', 42)
558
+
559
+ --[==[ [=[ [[
560
+ Nested ]]
561
+ multi-line ]=]
562
+ comment ]==]
563
+ [==[ Nested
564
+ [=[ multi-line
565
+ [[ string
566
+ ]] ]=] ]==]
567
+ </code></pre>
568
+
569
+ <tr>
570
+ <th>Delphi
571
+ <td class="delphi">
572
+ <pre><code>TList=Class(TObject)
573
+ Private
574
+ Some: String;
575
+ Public
576
+ Procedure Inside;
577
+ End;{TList}
578
+
579
+ Procedure CopyFile(InFileName,var OutFileName:String);
580
+ Const
581
+ BufSize=4096; (* Huh? *)
582
+ Var
583
+ InFile,OutFile:TStream;
584
+ Buffer:Array[1..BufSize] Of Byte;
585
+ ReadBufSize:Integer;
586
+ Begin
587
+ InFile:=Nil;
588
+ OutFile:=Nil;
589
+ Try
590
+ InFile:=TFileStream.Create(InFileName,fmOpenRead);
591
+ OutFile:=TFileStream.Create(OutFileName,fmCreate);
592
+ Repeat
593
+ ReadBufSize:=InFile.Read(Buffer,BufSize);
594
+ OutFile.Write(Buffer,ReadBufSize);
595
+ Until ReadBufSize&lt;&gt;BufSize;
596
+ Log('File '''+InFileName+''' copied'#13#10);
597
+ Finally
598
+ InFile.Free;
599
+ OutFile.Free;
600
+ End;{Try}
601
+ End;{CopyFile}
602
+ </code></pre>
603
+
604
+ <tr>
605
+ <th>Java
606
+ <td class="java">
607
+ <pre><code>package l2f.gameserver.model;
608
+
609
+ import java.util.ArrayList;
610
+
611
+ /**
612
+ * Mother class of all character objects of the world (PC, NPC...)&lt;BR&gt;&lt;BR&gt;
613
+ *
614
+ */
615
+ public abstract class L2Character extends L2Object
616
+ {
617
+ protected static final Logger _log = Logger.getLogger(L2Character.class.getName());
618
+
619
+ public static final Short ABNORMAL_EFFECT_BLEEDING = 0x0001; // not sure
620
+ public static final Short ABNORMAL_EFFECT_POISON = 0x0002;
621
+
622
+ public void detachAI() {
623
+ _ai = null;
624
+ //jbf = null;
625
+ if (1 &gt; 5) {
626
+ return;
627
+ }
628
+ }
629
+
630
+ public void moveTo(int x, int y, int z) {
631
+ moveTo(x, y, z, 0);
632
+ }
633
+
634
+ /** Task of AI notification */
635
+ @SuppressWarnings( { "nls", "unqualified-field-access", "boxing" })
636
+ public class NotifyAITask implements Runnable {
637
+ private final CtrlEvent _evt;
638
+
639
+ public void run() {
640
+ try {
641
+ getAI().notifyEvent(_evt, null, null);
642
+ } catch (Throwable t) {
643
+ _log.warning("Exception " + t);
644
+ t.printStackTrace();
645
+ }
646
+ }
647
+ }
648
+
649
+ }
650
+ </code></pre>
651
+
652
+ <tr>
653
+ <th>C++
654
+ <td class="cpp">
655
+ <pre><code>#include &lt;iostream&gt;
656
+
657
+ int main(int argc, char *argv[]) {
658
+
659
+ /* An annoying "Hello World" example */
660
+ for (auto i = 0; i &lt; 0xFFFF; i++)
661
+ cout &lt;&lt; "Hello, World!" &lt;&lt; endl;
662
+
663
+ char c = '\n'; // just a test
664
+ unordered_map &lt;string, vector&lt;string&gt; &gt; m;
665
+ m["key"] = "\\\\"; // yeah, I know it's an error
666
+ }
667
+ </code></pre>
668
+
669
+ <tr>
670
+ <th>Objective C
671
+ <td class="objectivec">
672
+ <pre>
673
+ <code>
674
+ #import &lt;UIKit/UIKit.h&gt;
675
+ #import "Dependency.h"
676
+
677
+ @protocol WorldDataSource
678
+ @optional
679
+ - (NSString*)worldName;
680
+ @required
681
+ - (BOOL)allowsToLive;
682
+ @end
683
+
684
+ @interface Test : NSObject &lt;HelloDelegate, WorldDataSource&gt; {
685
+ NSString *_greeting;
686
+ }
687
+
688
+ @property (nonatomic, readonly) NSString *greeting;
689
+ - (IBAction) show;
690
+ @end
691
+
692
+ @implementation Test
693
+
694
+ @synthesize test=_test;
695
+
696
+ + (id) test {
697
+ return [self testWithGreeting:@"Hello, world!\nFoo bar!"];
698
+ }
699
+
700
+ + (id) testWithGreeting:(NSString*)greeting {
701
+ return [[[self alloc] initWithGreeting:greeting] autorelease];
702
+ }
703
+
704
+ - (id) initWithGreeting:(NSString*)greeting {
705
+ if ( (self = [super init]) ) {
706
+ _greeting = [greeting retain];
707
+ }
708
+ return self;
709
+ }
710
+
711
+ - (void) dealloc {
712
+ [_greeting release];
713
+ [super dealloc];
714
+ }
715
+
716
+ @end
717
+
718
+ </code></pre>
719
+
720
+ <tr>
721
+ <th>Vala
722
+ <td class="vala">
723
+ <pre><code>using DBus;
724
+
725
+ namespace Test {
726
+ class Foo : Object {
727
+ public signal void some_event (); // definition of the signal
728
+ public void method () {
729
+ some_event (); // emitting the signal (callbacks get invoked)
730
+ }
731
+ }
732
+ }
733
+
734
+ /* defining a class */
735
+ class Track : GLib.Object { /* subclassing 'GLib.Object' */
736
+ public double mass; /* a public field */
737
+ public double name { get; set; } /* a public property */
738
+ private bool terminated = false; /* a private field */
739
+ public void terminate() { /* a public method */
740
+ terminated = true;
741
+ }
742
+ }
743
+
744
+ const ALL_UPPER_CASE = "you should follow this convention";
745
+
746
+ var t = new Track(); // same as: Track t = new Track();
747
+ var s = "hello"; // same as: string s = "hello";
748
+ var l = new List&lt;int&gt;(); // same as: List&lt;int&gt; l = new List&lt;int&gt;();
749
+ var i = 10; // same as: int i = 10;
750
+
751
+
752
+ #if (ololo)
753
+ Regex regex = /foo/;
754
+ #endif
755
+
756
+ /*
757
+ * Entry point can be outside class
758
+ */
759
+ void main () {
760
+ var long_string = """
761
+ Example of "verbatim string".
762
+ Same as in @"string" in C#
763
+ """
764
+ var foo = new Foo ();
765
+ foo.some_event.connect (callback_a); // connecting the callback functions
766
+ foo.some_event.connect (callback_b);
767
+ foo.method ();
768
+ }
769
+ </code></pre>
770
+
771
+ <tr>
772
+ <th>C#
773
+ <td class="cs">
774
+ <pre><code>using System;
775
+
776
+ public class Program
777
+ {
778
+ /// &lt;summary&gt;The entry point to the program.&lt;/summary&gt;
779
+ /// &lt;remarks&gt;
780
+ /// Using the Visual Studio style, the tags in this comment
781
+ /// should be grey, but this text should be green.
782
+ /// This comment should be green on the inside:
783
+ /// &lt;!-- I'm green! --&gt;
784
+ /// &lt;/remarks&gt;
785
+ public static int Main(string[] args)
786
+ {
787
+ Console.WriteLine("Hello, World!");
788
+ string s = @"This
789
+ ""string""
790
+ spans
791
+ multiple
792
+ lines!";
793
+ return 0;
794
+ }
795
+ }
796
+ </code></pre>
797
+
798
+ <tr>
799
+ <th>RenderMan RSL
800
+ <td class="rsl">
801
+ <pre><code>#define TEST_DEFINE 3.14
802
+ /* plastic surface shader
803
+ *
804
+ * Pixie is:
805
+ * (c) Copyright 1999-2003 Okan Arikan. All rights reserved.
806
+ */
807
+
808
+ surface plastic (float Ka = 1, Kd = 0.5, Ks = 0.5, roughness = 0.1;
809
+ color specularcolor = 1;) {
810
+ normal Nf = faceforward (normalize(N),I);
811
+ Ci = Cs * (Ka*ambient() + Kd*diffuse(Nf)) + specularcolor * Ks *
812
+ specular(Nf,-normalize(I),roughness);
813
+ Oi = Os;
814
+ Ci *= Oi;
815
+ }
816
+ </code></pre>
817
+
818
+ <tr>
819
+ <th>RenderMan RIB
820
+ <td class="rib">
821
+ <pre><code>FrameBegin 0
822
+ Display "Scene" "framebuffer" "rgb"
823
+ Option "searchpath" "shader" "+&amp;:/home/kew"
824
+ Option "trace" "int maxdepth" [4]
825
+ Attribute "visibility" "trace" [1]
826
+ Attribute "irradiance" "maxerror" [0.1]
827
+ Attribute "visibility" "transmission" "opaque"
828
+ Format 640 480 1.0
829
+ ShadingRate 2
830
+ PixelFilter "catmull-rom" 1 1
831
+ PixelSamples 4 4
832
+ Projection "perspective" "fov" 49.5502811377
833
+ Scale 1 1 -1
834
+
835
+ WorldBegin
836
+
837
+ ReadArchive "Lamp.002_Light/instance.rib"
838
+ Surface "plastic"
839
+ ReadArchive "Cube.004_Mesh/instance.rib"
840
+ # ReadArchive "Sphere.010_Mesh/instance.rib"
841
+ # ReadArchive "Sphere.009_Mesh/instance.rib"
842
+ ReadArchive "Sphere.006_Mesh/instance.rib"
843
+
844
+ WorldEnd
845
+ FrameEnd
846
+ </code></pre>
847
+
848
+ <tr>
849
+ <th>MEL (Maya Embedded Language)
850
+ <td class="mel">
851
+ <pre><code>proc string[] getSelectedLights()
852
+
853
+ {
854
+ string $selectedLights[];
855
+
856
+ string $select[] = `ls -sl -dag -leaf`;
857
+
858
+ for ( $shape in $select )
859
+ {
860
+ // Determine if this is a light.
861
+ //
862
+ string $class[] = getClassification( `nodeType $shape` );
863
+
864
+
865
+ if ( ( `size $class` ) &gt; 0 &amp;&amp; ( "light" == $class[0] ) )
866
+ {
867
+ $selectedLights[ `size $selectedLights` ] = $shape;
868
+ }
869
+ }
870
+
871
+ // Result is an array of all lights included in
872
+
873
+ // current selection list.
874
+ return $selectedLights;
875
+ }
876
+ </code></pre>
877
+
878
+ <tr>
879
+ <th>SQL
880
+ <td class="sql">
881
+ <pre><code>BEGIN;
882
+ CREATE TABLE "cicero_topic" (
883
+ "id" serial NOT NULL PRIMARY KEY,
884
+ "forum_id" integer NOT NULL,
885
+ "subject" varchar(255) NOT NULL,
886
+ "created" timestamp with time zone NOT NULL
887
+ );
888
+ ALTER TABLE "cicero_topic"
889
+ ADD CONSTRAINT forum_id_refs_id_4be56999
890
+ FOREIGN KEY ("forum_id")
891
+ REFERENCES "cicero_forum" ("id")
892
+ DEFERRABLE INITIALLY DEFERRED;
893
+
894
+ -- Initials
895
+ insert into "cicero_forum"
896
+ ("slug", "name", "group", "ordering")
897
+ values
898
+ ('test', 'Forum for te''sting', 'Test', 0);
899
+
900
+ -- Test
901
+ select count(*) from cicero_forum;
902
+
903
+ COMMIT;
904
+ </code></pre>
905
+
906
+ <tr>
907
+ <th>SmallTalk
908
+ <td class="smalltalk">
909
+ <pre><code>Object&gt;&gt;method: num
910
+ "comment 123"
911
+ | var1 var2 |
912
+ (1 to: num) do: [:i | |var| ^i].
913
+ Klass with: var1.
914
+ Klass new.
915
+ arr := #('123' 123.345 #hello Transcript var $@).
916
+ arr := #().
917
+ var2 = arr at: 3.
918
+ ^ self abc
919
+
920
+ heapExample
921
+ "HeapTest new heapExample"
922
+ "Multiline
923
+ decription"
924
+ | n rnd array time sorted |
925
+ n := 5000.
926
+ "# of elements to sort"
927
+ rnd := Random new.
928
+ array := (1 to: n)
929
+ collect: [:i | rnd next].
930
+ "First, the heap version"
931
+ time := Time
932
+ millisecondsToRun: [sorted := Heap withAll: array.
933
+ 1
934
+ to: n
935
+ do: [:i |
936
+ sorted removeFirst.
937
+ sorted add: rnd next]].
938
+ Transcript cr; show: 'Time for Heap: ' , time printString , ' msecs'.
939
+ "The quicksort version"
940
+ time := Time
941
+ millisecondsToRun: [sorted := SortedCollection withAll: array.
942
+ 1
943
+ to: n
944
+ do: [:i |
945
+ sorted removeFirst.
946
+ sorted add: rnd next]].
947
+ Transcript cr; show: 'Time for SortedCollection: ' , time printString , ' msecs'
948
+ </code></pre>
949
+
950
+ <tr>
951
+ <th>Lisp
952
+ <td class="lisp">
953
+ <pre><code>(defun prompt-for-cd ()
954
+ "Prompts
955
+ for CD"
956
+ (prompt-read "Title" 1.53 1 2/4 1.7 1.7e0 2.9E-4 +42 -7 #b001 #b001/100 #o777 #O777 #xabc55 #c(0 -5.6))
957
+ (prompt-read "Artist" &amp;rest)
958
+ (or (parse-integer (prompt-read "Rating") :junk-allowed t) 0)
959
+ (if x (format t "yes") (format t "no" nil) ;and here comment
960
+ )
961
+ ;; second line comment
962
+ '(+ 1 2)
963
+ (defvar *lines*) ; list of all lines
964
+ (position-if-not #'sys::whitespacep line :start beg))
965
+ (quote (privet 1 2 3))
966
+ '(hello world)
967
+ (* 5 7)
968
+ (1 2 34 5)
969
+ (:use "aaaa")
970
+ (let ((x 10) (y 20))
971
+ (print (+ x y))
972
+ )</code></pre>
973
+
974
+ <tr>
975
+ <th>Ini file
976
+ <td class="ini">
977
+ <pre><code>;Settings relating to the location and loading of the database
978
+ [Database]
979
+ ProfileDir=.
980
+ ShowProfileMgr=smart
981
+ Profile1_Name[] = "\|/_-=MegaDestoyer=-_\|/"
982
+ DefaultProfile=True
983
+ AutoCreate = no
984
+
985
+ [AutoExec]
986
+ Use="prompt"
987
+ Glob=autoexec_*.ini
988
+ AskAboutIgnoredPlugins=0
989
+ </code></pre>
990
+
991
+ <tr>
992
+ <th>Apache
993
+ <td class="apache">
994
+ <pre><code># rewrite`s rules for wordpress pretty url
995
+ LoadModule rewrite_module modules/mod_rewrite.so
996
+ RewriteCond %{REQUEST_FILENAME} !-f
997
+ RewriteCond %{REQUEST_FILENAME} !-d
998
+ RewriteRule . index.php [NC,L]
999
+
1000
+ ExpiresActive On
1001
+ ExpiresByType application/x-javascript "access plus 1 days"
1002
+
1003
+ &lt;Location /maps/&gt;
1004
+ RewriteMap map txt:map.txt
1005
+ RewriteMap lower int:tolower
1006
+ RewriteCond %{REQUEST_URI} ^/([^/.]+)\.html$ [NC]
1007
+ RewriteCond ${map:${lower:%1}|NOT_FOUND} !NOT_FOUND
1008
+ RewriteRule .? /index.php?q=${map:${lower:%1}} [NC,L]
1009
+ &lt;/Location&gt;
1010
+ </code></pre>
1011
+
1012
+ <tr>
1013
+ <th>nginx
1014
+ <td class="nginx">
1015
+ <pre><code>user www www;
1016
+ worker_processes 2;
1017
+ pid /var/run/nginx.pid;
1018
+ error_log /var/log/nginx.error_log debug | info | notice | warn | error | crit;
1019
+
1020
+ events {
1021
+ connections 2000;
1022
+ use kqueue | rtsig | epoll | /dev/poll | select | poll;
1023
+ }
1024
+
1025
+ http {
1026
+ log_format main '$remote_addr - $remote_user [$time_local] '
1027
+ '"$request" $status $bytes_sent '
1028
+ '"$http_referer" "$http_user_agent" '
1029
+ '"$gzip_ratio"';
1030
+
1031
+ send_timeout 3m;
1032
+ client_header_buffer_size 1k;
1033
+
1034
+ gzip on;
1035
+ gzip_min_length 1100;
1036
+
1037
+ #lingering_time 30;
1038
+
1039
+ server {
1040
+ listen one.example.com;
1041
+ server_name one.example.com www.one.example.com;
1042
+ access_log /var/log/nginx.access_log main;
1043
+
1044
+ location / {
1045
+ proxy_pass http://127.0.0.1/;
1046
+ proxy_redirect off;
1047
+ proxy_set_header Host $host;
1048
+ proxy_set_header X-Real-IP $remote_addr;
1049
+ charset koi8-r;
1050
+ }
1051
+
1052
+ location ~* \.(jpg|jpeg|gif)$ {
1053
+ root /spool/www;
1054
+ }
1055
+ }
1056
+ }
1057
+ </code></pre>
1058
+
1059
+ <tr>
1060
+ <th>Diff
1061
+ <td class="diff">
1062
+ <pre><code>Index: languages/ini.js
1063
+ ===================================================================
1064
+ --- languages/ini.js (revision 199)
1065
+ +++ languages/ini.js (revision 200)
1066
+ @@ -1,8 +1,7 @@
1067
+ hljs.LANGUAGES.ini =
1068
+ {
1069
+ case_insensitive: true,
1070
+ - defaultMode:
1071
+ - {
1072
+ + defaultMode: {
1073
+ contains: ['comment', 'title', 'setting'],
1074
+ illegal: '[^\\s]'
1075
+ },
1076
+
1077
+ *** /path/to/original timestamp
1078
+ --- /path/to/new timestamp
1079
+ ***************
1080
+ *** 1,3 ****
1081
+ --- 1,9 ----
1082
+ + This is an important
1083
+ + notice! It should
1084
+ + therefore be located at
1085
+ + the beginning of this
1086
+ + document!
1087
+
1088
+ ! compress the size of the
1089
+ ! changes.
1090
+
1091
+ It is important to spell
1092
+ </code></pre>
1093
+
1094
+ <tr>
1095
+ <th>DOS batch files
1096
+ <td class="dos">
1097
+ <pre><code>cd \
1098
+ copy a b
1099
+ ping 192.168.0.1
1100
+ @rem ping 192.168.0.1
1101
+ net stop sharedaccess
1102
+ del %tmp% /f /s /q
1103
+ del %temp% /f /s /q
1104
+ ipconfig /flushdns
1105
+ taskkill /F /IM JAVA.EXE /T
1106
+
1107
+ cd Photoshop/Adobe Photoshop CS3/AMT/
1108
+ if exist application.sif (
1109
+ ren application.sif _application.sif
1110
+ ) else (
1111
+ ren _application.sif application.sif
1112
+ )
1113
+
1114
+ taskkill /F /IM proquota.exe /T
1115
+
1116
+ sfc /SCANNOW
1117
+
1118
+ set path = test
1119
+
1120
+ xcopy %1\*.* %2
1121
+ </code></pre>
1122
+
1123
+ <tr>
1124
+ <th>Bash
1125
+ <td class="bash">
1126
+ <pre><code>#!/bin/bash
1127
+
1128
+ ###### BEGIN CONFIG
1129
+ ACCEPTED_HOSTS="/root/.hag_accepted.conf"
1130
+ BE_VERBOSE=false
1131
+ ###### END CONFIG
1132
+
1133
+ if [ "$UID" -ne 0 ]
1134
+ then
1135
+ echo "Superuser rights is required"
1136
+ exit 2
1137
+ fi
1138
+
1139
+ genApacheConf(){
1140
+ if [[ "$2" = "www" ]]
1141
+ then
1142
+ full_domain=$1
1143
+ else
1144
+ full_domain=$2.$1
1145
+ fi
1146
+ host_root="${APACHE_HOME_DIR}$1/$2"
1147
+ echo -e "# Host $1/$2 :"
1148
+ }
1149
+ </code></pre>
1150
+
1151
+ <tr>
1152
+ <th>CMake
1153
+ <td class="cmake">
1154
+ <pre><code>project(test)
1155
+ cmake_minimum_required(VERSION 2.6)
1156
+
1157
+ # IF LINUX
1158
+ if (${CMAKE_SYSTEM_NAME} MATCHES Linux)
1159
+ message("\nOS:\t\tLinux")
1160
+ endif()
1161
+
1162
+ # IF WINDOWS
1163
+ if (${CMAKE_SYSTEM_NAME} MATCHES Windows)
1164
+ message("\nOS:\t\tWindows")
1165
+ endif()
1166
+
1167
+ set(test test0.cpp test1.cpp test2.cpp)
1168
+
1169
+ include_directories(./)
1170
+
1171
+ set(EXECUTABLE_OUTPUT_PATH ../bin)
1172
+
1173
+ add_subdirectory(src)
1174
+
1175
+ add_executable(test WIN32 ${test})
1176
+
1177
+ target_link_libraries(test msimg32)
1178
+ </code></pre>
1179
+
1180
+ <tr>
1181
+ <th>Axapta
1182
+ <td class="axapta">
1183
+ <pre><code>class ExchRateLoadBatch extends RunBaseBatch {
1184
+ ExchRateLoad rbc;
1185
+ container currencies;
1186
+ boolean actual;
1187
+ boolean overwrite;
1188
+ date beg;
1189
+ date end;
1190
+
1191
+ #define.CurrentVersion(5)
1192
+
1193
+ #localmacro.CurrentList
1194
+ currencies,
1195
+ actual,
1196
+ beg,
1197
+ end
1198
+ #endmacro
1199
+ }
1200
+
1201
+ public boolean unpack(container packedClass) {
1202
+ container base;
1203
+ boolean ret;
1204
+ Integer version = runbase::getVersion(packedClass);
1205
+
1206
+ switch (version) {
1207
+ case #CurrentVersion:
1208
+ [version, #CurrentList] = packedClass;
1209
+ return true;
1210
+ default:
1211
+ return false;
1212
+ }
1213
+ return ret;
1214
+ }
1215
+ </code></pre>
1216
+
1217
+ <tr>
1218
+ <th>1С
1219
+ <td class="1c">
1220
+ <pre><code>
1221
+ #Если Клиент Тогда
1222
+ Перем СимвольныйКодКаталога = "ля-ля-ля"; //комментарий
1223
+ Функция Сообщить(Знач ТекстСообщения, ТекстСообщения2) Экспорт //комментарий к функции
1224
+ x=ТекстСообщения+ТекстСообщения2+"
1225
+ |строка1
1226
+ |строка2
1227
+ |строка3";
1228
+ КонецФункции
1229
+ #КонецЕсли
1230
+
1231
+ // Процедура ПриНачалеРаботыСистемы
1232
+ //
1233
+ Процедура ПриНачалеРаботыСистемы()
1234
+ Обработки.Помощник.ПолучитьФорму("Форма").Открыть();
1235
+ d = '21.01.2008'
1236
+ КонецПроцедуры
1237
+ </code></pre>
1238
+
1239
+ <tr>
1240
+ <th>AVR Assembler
1241
+ <td class="avrasm">
1242
+ <pre><code>;* Title: Block Copy Routines
1243
+ ;* Version: 1.1
1244
+
1245
+ .include "8515def.inc"
1246
+
1247
+ rjmp RESET ;reset handle
1248
+
1249
+ .def flashsize=r16 ;size of block to be copied
1250
+
1251
+ flash2ram:
1252
+ lpm ;get constant
1253
+ st Y+,r0 ;store in SRAM and increment Y-pointer
1254
+ adiw ZL,1 ;increment Z-pointer
1255
+ dec flashsize
1256
+ brne flash2ram ;if not end of table, loop more
1257
+ ret
1258
+
1259
+ .def ramtemp =r1 ;temporary storage register
1260
+ .def ramsize =r16 ;size of block to be copied
1261
+ </code></pre>
1262
+
1263
+ <tr>
1264
+ <th>VHDL
1265
+ <td class="vhdl">
1266
+ <pre><code>------------------------------------
1267
+ -- RS Trigger with Assynch. Reset --
1268
+ ------------------------------------
1269
+
1270
+ library IEEE;
1271
+ use IEEE.STD_LOGIC_1164.all;
1272
+
1273
+ entity RS_AR is
1274
+ generic (T: Time := 0ns);
1275
+
1276
+ port(
1277
+ -- Default RS Trigger
1278
+ R : in STD_LOGIC;
1279
+ S : in STD_LOGIC;
1280
+ Q : out STD_LOGIC;
1281
+ nQ : out STD_LOGIC;
1282
+
1283
+ -- Special Input Signals
1284
+ AR : in STD_LOGIC; -- assynch. reset
1285
+ C : in STD_LOGIC -- synch. signal
1286
+ );
1287
+ end RS_AR;
1288
+
1289
+
1290
+ architecture RS_AR of RS_AR is
1291
+ signal QT: std_logic; -- Q(t)
1292
+ begin
1293
+
1294
+ process(C, AR) is
1295
+ subtype RS is std_logic_vector ( 1 downto 0 );
1296
+ begin
1297
+ if AR='0' then
1298
+ QT &lt;= '0';
1299
+ else
1300
+ if rising_edge(C) then
1301
+
1302
+ if not (R'stable(T) and S'stable(T)) then
1303
+ QT &lt;= 'X';
1304
+ else
1305
+
1306
+ case RS'(R&amp;S) is
1307
+ when "01" =&gt; QT &lt;= '1';
1308
+ when "10" =&gt; QT &lt;= '0';
1309
+ when "11" =&gt; QT &lt;= 'X';
1310
+ when others =&gt; null;
1311
+ end case;
1312
+
1313
+ end if;
1314
+ end if;
1315
+ end if;
1316
+ end process;
1317
+
1318
+ Q &lt;= QT;
1319
+ nQ &lt;= not QT;
1320
+
1321
+ end RS_AR;
1322
+ </code></pre>
1323
+
1324
+ <tr>
1325
+ <th>Parser 3
1326
+ <td class="parser3">
1327
+ <pre><code>@CLASS
1328
+ base
1329
+
1330
+ @USE
1331
+ module.p
1332
+
1333
+ @BASE
1334
+ class
1335
+
1336
+ # Comment for code
1337
+ @create[aParam1;aParam2][local1;local2]
1338
+ ^connect[mysql://host/database?ClientCharset=windows-1251]
1339
+ ^for[i](1;10){
1340
+ &lt;p class=&quot;paragraph&quot;&gt;^eval($i+10)&lt;/p&gt;
1341
+ ^connect[mysql://host/database]{
1342
+ $tab[^table::sql{select * from `table` where a='1'}]
1343
+ $var_Name[some${value}]
1344
+ }
1345
+ }
1346
+
1347
+ ^rem{
1348
+ Multiline comment with code: $var
1349
+ ^while(true){
1350
+ ^for[i](1;10){
1351
+ ^sleep[]
1352
+ }
1353
+ }
1354
+ }
1355
+ ^taint[^#0A]
1356
+
1357
+ @GET_base[]
1358
+ ## Comment for code
1359
+ # Isn't comment
1360
+ $result[$.hash_item1[one] $.hash_item2[two]]
1361
+ </code></pre>
1362
+
1363
+ <tr>
1364
+ <th>TeX
1365
+ <td class="tex">
1366
+ <pre>
1367
+ <code>\documentclass{article}
1368
+ \usepackage[koi8-r]{inputenc}
1369
+ \hoffset=0pt
1370
+ \voffset=.3em
1371
+ \tolerance=400
1372
+ \newcommand{\eTiX}{\TeX}
1373
+ \begin{document}
1374
+ \section*{Highlight.js}
1375
+ \begin{table}[c|c]
1376
+ $\frac 12\, + \, \frac 1{x^3}\text{Hello \! world}$ &amp; \textbf{Goodbye\~ world} \\\eTiX $ \pi=400 $
1377
+ \end{table}
1378
+ Ch\'erie, \c{c}a ne me pla\^\i t pas! % comment \b
1379
+ G\"otterd\"ammerung~45\%=34.
1380
+ $$
1381
+ \int\limits_{0}^{\pi}\frac{4}{x-7}=3
1382
+ $$
1383
+ \end{document}
1384
+ </code></pre>
1385
+
1386
+ <tr>
1387
+ <th>Haskell
1388
+ <td class="haskell">
1389
+ <pre>
1390
+ <code>module Shapes
1391
+ ( Point(..) ,
1392
+ Shape(..) ,
1393
+ surface ,
1394
+ baseCircle ,
1395
+ baseRect
1396
+ ) where
1397
+
1398
+ -- Single line comment
1399
+ {-
1400
+ multi
1401
+ line
1402
+ comment
1403
+ -}
1404
+ data Point = Point Float Float deriving (Show)
1405
+ data Shape = Circle Point Float | Rectangle Point Point deriving (Show)
1406
+
1407
+ surface :: Shape -> Float
1408
+ surface (Circle _ r) = pi * r^2
1409
+ surface (Rectangle (Point x1 y1) (Point x2 y2)) = (abs $ x2 - x1) * (abs $ y2 - y1)
1410
+
1411
+ baseCircle :: Float -> Shape
1412
+ baseCircle r = Circle(Point 0 0) r
1413
+
1414
+ baseRect :: Float -> Float -> Shape
1415
+ baseRect w h = Rectangle (Point 0 0) (Point w h)
1416
+ </code></pre>
1417
+
1418
+ <tr>
1419
+ <th>Erlang
1420
+ <td class="erlang">
1421
+ <pre><code>-module(ssh_cli).
1422
+
1423
+ -behaviour(ssh_channel).
1424
+
1425
+ -include("ssh.hrl").
1426
+ %% backwards compatibility
1427
+ -export([listen/1, listen/2, listen/3, listen/4, stop/1]).
1428
+
1429
+ %% state
1430
+ -record(state, {
1431
+ cm,
1432
+ channel
1433
+ }).
1434
+
1435
+ test(Foo)->Foo.
1436
+
1437
+ init([Shell, Exec]) ->
1438
+ {ok, #state{shell = Shell, exec = Exec}};
1439
+ init([Shell]) ->
1440
+ false = not true,
1441
+ io:format("Hello, \"~p!~n", [atom_to_list('World')]),
1442
+ {ok, #state{shell = Shell}}.
1443
+
1444
+ concat([Single]) -> Single;
1445
+ concat(RList) ->
1446
+ EpsilonFree = lists:filter(
1447
+ fun (Element) ->
1448
+ case Element of
1449
+ epsilon -> false;
1450
+ _ -> true
1451
+ end
1452
+ end,
1453
+ RList),
1454
+ case EpsilonFree of
1455
+ [Single] -> Single;
1456
+ Other -> {concat, Other}
1457
+ end.
1458
+
1459
+ union_dot_union({union, _}=U1, {union, _}=U2) ->
1460
+ union(lists:flatten(
1461
+ lists:map(
1462
+ fun (X1) ->
1463
+ lists:map(
1464
+ fun (X2) ->
1465
+ concat([X1, X2])
1466
+ end,
1467
+ union_to_list(U2)
1468
+ )
1469
+ end,
1470
+ union_to_list(U1)
1471
+ ))).
1472
+ </code></pre>
1473
+
1474
+ <tr>
1475
+ <th>Erlang REPL
1476
+ <td class="erlang_repl">
1477
+ <pre><code>1> Str = "abcd".
1478
+ "abcd"
1479
+ 2> L = test:length(Str).
1480
+ 4
1481
+ 3> Descriptor = {L, list_to_atom(Str)}.
1482
+ {4,abcd}
1483
+ 4> L.
1484
+ 4
1485
+ 5> b().
1486
+ Descriptor = {4,abcd}
1487
+ L = 4
1488
+ Str = "abcd"
1489
+ ok
1490
+ 6> f(L).
1491
+ ok
1492
+ 7> b().
1493
+ Descriptor = {4,abcd}
1494
+ Str = "abcd"
1495
+ ok
1496
+ 8> {L, _} = Descriptor.
1497
+ {4,abcd}
1498
+ 9> L.
1499
+ 4
1500
+ </code></pre>
1501
+
1502
+ </table>
1503
+
1504
+ <script>
1505
+ function testDetection() {
1506
+ if (!hljs.initHighlighting.called) {
1507
+ window.setTimeout(testDetection, 500);
1508
+ return;
1509
+ }
1510
+ var table = document.getElementById('autotest');
1511
+ var tds = table.getElementsByTagName('TD');
1512
+ var failed = [];
1513
+ for (var i = 0; i < tds.length; i++) {
1514
+ var tdClass = tds[i].className;
1515
+ if (!hljs.LANGUAGES.hasOwnProperty(tdClass)) {
1516
+ tds[i].parentNode.style.display = 'none';
1517
+ continue;
1518
+ }
1519
+ var code = tds[i].getElementsByTagName('CODE')[0];
1520
+ var passed = tdClass == code.className;
1521
+ var result = document.createElement('DIV');
1522
+ result.className = 'test';
1523
+ result.innerHTML = '<var class="'+ (passed ? 'passed' : 'failed') +'">' + code.className + '</var>';
1524
+ function counts(r) {
1525
+ return ' (' + r.kw + '+' + r.re + '=' + (r.kw + r.re) + ')';
1526
+ }
1527
+ result.innerHTML += counts(code.result);
1528
+ if (code.second_best) {
1529
+ result.innerHTML += '<br>' + code.second_best.language +
1530
+ counts(code.second_best) ;
1531
+ }
1532
+ tds[i].parentNode.getElementsByTagName('th')[0].appendChild(result);
1533
+ if (!passed) {
1534
+ failed.push(tdClass);
1535
+ }
1536
+ }
1537
+ var summary = document.getElementById('summary');
1538
+ summary.innerHTML = failed.length ? ('Failed tests: ' + failed.join(', ')) : 'All tests passed';
1539
+ summary.className = failed.length ? 'failed' : 'passed';
1540
+ }
1541
+ testDetection();
1542
+ </script>
1543
+
1544
+
1545
+ <h2>Special tests</h2>
1546
+
1547
+ <table>
1548
+ <tr>
1549
+ <th>Explicit Python highlighting
1550
+ <td>
1551
+ <pre><code class="python">for x in [1, 2, 3]:
1552
+ count(x)
1553
+ </code></pre>
1554
+
1555
+ <tr>
1556
+ <th>Language set on &lt;pre&gt;
1557
+ <td>
1558
+ <pre class="python"><code>for x in [1, 2, 3]:
1559
+ count(x)
1560
+ </code></pre>
1561
+
1562
+ <tr>
1563
+ <th>HTML5-style language class (language-python)
1564
+ <td>
1565
+ <pre><code class="language-python">for x in [1, 2, 3]:
1566
+ count(x)
1567
+ </code></pre>
1568
+
1569
+ <tr>
1570
+ <th>Replacing TAB with 4 spaces
1571
+ <td>
1572
+ <pre><code class="python">for x in [1, 2, 3]:
1573
+ count(x)
1574
+ </code></pre>
1575
+
1576
+ <tr>
1577
+ <th>Custom markup
1578
+ <td>
1579
+ <pre><code>&lt;<a href="http://dev.w3.org/html5/spec/Overview.html#the-div-element">div</a> id="contents"&gt;
1580
+ <del>&lt;p&gt;Hello, World!</del>
1581
+ &lt;/div&gt;
1582
+ </code></pre>
1583
+
1584
+ <tr>
1585
+ <th>Custom markup + TAB replacement
1586
+ <td>
1587
+ <pre><code class="python">for x in [1, 2, 3]:
1588
+ <span style="background:yellow"> </span>count(x)
1589
+ if x == 3:
1590
+ <span style="background:yellow"> </span>count(x + 1)
1591
+ </code></pre>
1592
+
1593
+ <tr>
1594
+ <th>Non-pre container
1595
+ <td>
1596
+ <div id="codecontainer" class="code">for x in [1, 2, 3]:<br>
1597
+ &nbsp;&nbsp;count(x)<br>
1598
+ </div>
1599
+ <script>hljs.highlightBlock(document.getElementById('codecontainer'), null, true);</script>
1600
+
1601
+ <tr>
1602
+ <th>Disabled highlighting
1603
+ <td>
1604
+ <pre><code class="no-highlight">&lt;div id="contents"&gt;
1605
+ &lt;p&gt;Hello, World!
1606
+ &lt;/div&gt;
1607
+ </code></pre>
1608
+
1609
+ </table>