slippery 0.3.0 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (212) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +2 -0
  3. data/assets/deck.js/core/deck.core.css +60 -0
  4. data/assets/deck.js/core/deck.core.js +728 -0
  5. data/assets/deck.js/core/deck.core.scss +65 -0
  6. data/assets/deck.js/core/print.css +25 -0
  7. data/assets/deck.js/core/print.scss +14 -0
  8. data/assets/deck.js/css/common.css +216 -0
  9. data/assets/deck.js/css/common.scss +233 -0
  10. data/assets/deck.js/css/home.css +790 -0
  11. data/assets/deck.js/css/home.scss +892 -0
  12. data/assets/deck.js/extensions/goto/deck.goto.css +36 -0
  13. data/assets/deck.js/extensions/goto/deck.goto.html +7 -0
  14. data/assets/deck.js/extensions/goto/deck.goto.js +190 -0
  15. data/assets/deck.js/extensions/goto/deck.goto.scss +39 -0
  16. data/assets/deck.js/extensions/hash/deck.hash.css +13 -0
  17. data/assets/deck.js/extensions/hash/deck.hash.html +2 -0
  18. data/assets/deck.js/extensions/hash/deck.hash.js +145 -0
  19. data/assets/deck.js/extensions/hash/deck.hash.scss +13 -0
  20. data/assets/deck.js/extensions/menu/deck.menu.css +45 -0
  21. data/assets/deck.js/extensions/menu/deck.menu.js +225 -0
  22. data/assets/deck.js/extensions/menu/deck.menu.scss +55 -0
  23. data/assets/deck.js/extensions/navigation/deck.navigation.css +42 -0
  24. data/assets/deck.js/extensions/navigation/deck.navigation.html +5 -0
  25. data/assets/deck.js/extensions/navigation/deck.navigation.js +94 -0
  26. data/assets/deck.js/extensions/navigation/deck.navigation.scss +44 -0
  27. data/assets/deck.js/extensions/scale/deck.scale.css +20 -0
  28. data/assets/deck.js/extensions/scale/deck.scale.js +190 -0
  29. data/assets/deck.js/extensions/scale/deck.scale.scss +22 -0
  30. data/assets/deck.js/extensions/status/deck.status.css +18 -0
  31. data/assets/deck.js/extensions/status/deck.status.html +6 -0
  32. data/assets/deck.js/extensions/status/deck.status.js +108 -0
  33. data/assets/deck.js/extensions/status/deck.status.scss +18 -0
  34. data/assets/deck.js/modernizr.custom.js +4 -0
  35. data/assets/deck.js/themes/style/_reset.scss +300 -0
  36. data/assets/deck.js/themes/style/neon.css +421 -0
  37. data/assets/deck.js/themes/style/neon.scss +148 -0
  38. data/assets/deck.js/themes/style/swiss.css +389 -0
  39. data/assets/deck.js/themes/style/swiss.scss +109 -0
  40. data/assets/deck.js/themes/style/web-2.0.css +500 -0
  41. data/assets/deck.js/themes/style/web-2.0.scss +228 -0
  42. data/assets/deck.js/themes/transition/fade.css +35 -0
  43. data/assets/deck.js/themes/transition/fade.scss +59 -0
  44. data/assets/deck.js/themes/transition/horizontal-slide.css +53 -0
  45. data/assets/deck.js/themes/transition/horizontal-slide.scss +72 -0
  46. data/assets/deck.js/themes/transition/vertical-slide.css +67 -0
  47. data/assets/deck.js/themes/transition/vertical-slide.scss +92 -0
  48. data/assets/highlight.js/CHANGES.md +953 -0
  49. data/assets/highlight.js/LICENSE +24 -0
  50. data/assets/highlight.js/README.md +101 -0
  51. data/assets/highlight.js/README.ru.md +101 -0
  52. data/assets/highlight.js/highlight-0.8.default.min.css +1 -0
  53. data/assets/highlight.js/highlight-0.8.min.js +1 -0
  54. data/assets/highlight.js/highlight.pack.js +1 -0
  55. data/assets/highlight.js/styles/arta.css +141 -0
  56. data/assets/highlight.js/styles/ascetic.css +53 -0
  57. data/assets/highlight.js/styles/atelier-dune.dark.css +95 -0
  58. data/assets/highlight.js/styles/atelier-dune.light.css +95 -0
  59. data/assets/highlight.js/styles/atelier-forest.dark.css +95 -0
  60. data/assets/highlight.js/styles/atelier-forest.light.css +95 -0
  61. data/assets/highlight.js/styles/atelier-heath.dark.css +95 -0
  62. data/assets/highlight.js/styles/atelier-heath.light.css +95 -0
  63. data/assets/highlight.js/styles/atelier-lakeside.dark.css +95 -0
  64. data/assets/highlight.js/styles/atelier-lakeside.light.css +95 -0
  65. data/assets/highlight.js/styles/atelier-seaside.dark.css +95 -0
  66. data/assets/highlight.js/styles/atelier-seaside.light.css +95 -0
  67. data/assets/highlight.js/styles/brown_paper.css +105 -0
  68. data/assets/highlight.js/styles/brown_papersq.png +0 -0
  69. data/assets/highlight.js/styles/codepen-embed.css +108 -0
  70. data/assets/highlight.js/styles/color-brewer.css +169 -0
  71. data/assets/highlight.js/styles/dark.css +105 -0
  72. data/assets/highlight.js/styles/default.css +153 -0
  73. data/assets/highlight.js/styles/docco.css +136 -0
  74. data/assets/highlight.js/styles/far.css +112 -0
  75. data/assets/highlight.js/styles/foundation.css +136 -0
  76. data/assets/highlight.js/styles/github.css +127 -0
  77. data/assets/highlight.js/styles/googlecode.css +148 -0
  78. data/assets/highlight.js/styles/hybrid.css +171 -0
  79. data/assets/highlight.js/styles/idea.css +126 -0
  80. data/assets/highlight.js/styles/ir_black.css +110 -0
  81. data/assets/highlight.js/styles/kimbie.dark.css +96 -0
  82. data/assets/highlight.js/styles/kimbie.light.css +96 -0
  83. data/assets/highlight.js/styles/magula.css +122 -0
  84. data/assets/highlight.js/styles/mono-blue.css +70 -0
  85. data/assets/highlight.js/styles/monokai.css +127 -0
  86. data/assets/highlight.js/styles/monokai_sublime.css +148 -0
  87. data/assets/highlight.js/styles/obsidian.css +154 -0
  88. data/assets/highlight.js/styles/paraiso.dark.css +95 -0
  89. data/assets/highlight.js/styles/paraiso.light.css +95 -0
  90. data/assets/highlight.js/styles/pojoaque.css +108 -0
  91. data/assets/highlight.js/styles/pojoaque.jpg +0 -0
  92. data/assets/highlight.js/styles/railscasts.css +185 -0
  93. data/assets/highlight.js/styles/rainbow.css +109 -0
  94. data/assets/highlight.js/styles/school_book.css +113 -0
  95. data/assets/highlight.js/styles/school_book.png +0 -0
  96. data/assets/highlight.js/styles/solarized_dark.css +109 -0
  97. data/assets/highlight.js/styles/solarized_light.css +109 -0
  98. data/assets/highlight.js/styles/sunburst.css +165 -0
  99. data/assets/highlight.js/styles/tomorrow-night-blue.css +95 -0
  100. data/assets/highlight.js/styles/tomorrow-night-bright.css +94 -0
  101. data/assets/highlight.js/styles/tomorrow-night-eighties.css +94 -0
  102. data/assets/highlight.js/styles/tomorrow-night.css +95 -0
  103. data/assets/highlight.js/styles/tomorrow.css +92 -0
  104. data/assets/highlight.js/styles/vs.css +94 -0
  105. data/assets/highlight.js/styles/xcode.css +159 -0
  106. data/assets/highlight.js/styles/zenburn.css +119 -0
  107. data/assets/jquery/jquery-2.1.0.min.js +4 -0
  108. data/assets/reveal.js/css/print/paper.css +1 -1
  109. data/assets/reveal.js/css/print/pdf.css +2 -2
  110. data/assets/reveal.js/css/reveal.css +372 -108
  111. data/assets/reveal.js/css/reveal.min.css +2 -2
  112. data/assets/reveal.js/css/theme/README.md +3 -1
  113. data/assets/reveal.js/css/theme/beige.css +7 -1
  114. data/assets/reveal.js/css/theme/blood.css +175 -0
  115. data/assets/reveal.js/css/theme/default.css +7 -1
  116. data/assets/reveal.js/css/theme/moon.css +7 -1
  117. data/assets/reveal.js/css/theme/night.css +7 -1
  118. data/assets/reveal.js/css/theme/serif.css +7 -1
  119. data/assets/reveal.js/css/theme/simple.css +7 -1
  120. data/assets/reveal.js/css/theme/sky.css +7 -1
  121. data/assets/reveal.js/css/theme/solarized.css +7 -1
  122. data/assets/reveal.js/css/theme/source/blood.scss +91 -0
  123. data/assets/reveal.js/css/theme/template/settings.scss +1 -0
  124. data/assets/reveal.js/css/theme/template/theme.scss +9 -2
  125. data/assets/reveal.js/js/reveal.js +1238 -433
  126. data/assets/reveal.js/js/reveal.min.js +4 -3
  127. data/assets/reveal.js/lib/css/zenburn.css +16 -17
  128. data/assets/reveal.js/plugin/highlight/highlight.js +3 -2
  129. data/assets/reveal.js/plugin/leap/leap.js +3 -0
  130. data/assets/reveal.js/plugin/markdown/example.html +37 -5
  131. data/assets/reveal.js/plugin/markdown/example.md +2 -0
  132. data/assets/reveal.js/plugin/markdown/markdown.js +373 -171
  133. data/assets/reveal.js/plugin/math/math.js +64 -0
  134. data/assets/reveal.js/plugin/multiplex/master.js +2 -1
  135. data/assets/reveal.js/plugin/notes/notes.html +33 -19
  136. data/assets/reveal.js/plugin/notes/notes.js +25 -47
  137. data/assets/reveal.js/plugin/remotes/remotes.js +4 -4
  138. data/assets/reveal.js/plugin/zoom-js/zoom.js +3 -1
  139. data/assets/reveal.old/css/print/paper.css +176 -0
  140. data/assets/reveal.old/css/print/pdf.css +190 -0
  141. data/assets/reveal.old/css/reveal.css +1616 -0
  142. data/assets/reveal.old/css/reveal.min.css +7 -0
  143. data/assets/reveal.old/css/theme/README.md +23 -0
  144. data/assets/reveal.old/css/theme/beige.css +142 -0
  145. data/assets/reveal.old/css/theme/default.css +142 -0
  146. data/assets/reveal.old/css/theme/moon.css +142 -0
  147. data/assets/reveal.old/css/theme/night.css +130 -0
  148. data/assets/reveal.old/css/theme/serif.css +132 -0
  149. data/assets/reveal.old/css/theme/simple.css +132 -0
  150. data/assets/reveal.old/css/theme/sky.css +139 -0
  151. data/assets/reveal.old/css/theme/solarized.css +142 -0
  152. data/assets/reveal.old/css/theme/source/beige.scss +50 -0
  153. data/assets/reveal.old/css/theme/source/default.scss +42 -0
  154. data/assets/reveal.old/css/theme/source/moon.scss +68 -0
  155. data/assets/reveal.old/css/theme/source/night.scss +35 -0
  156. data/assets/reveal.old/css/theme/source/serif.scss +35 -0
  157. data/assets/reveal.old/css/theme/source/simple.scss +38 -0
  158. data/assets/reveal.old/css/theme/source/sky.scss +46 -0
  159. data/assets/reveal.old/css/theme/source/solarized.scss +74 -0
  160. data/assets/reveal.old/css/theme/template/mixins.scss +29 -0
  161. data/assets/reveal.old/css/theme/template/settings.scss +33 -0
  162. data/assets/reveal.old/css/theme/template/theme.scss +163 -0
  163. data/assets/{reveal.js → reveal.old}/js/head.min.js +0 -0
  164. data/assets/reveal.old/js/reveal.js +2577 -0
  165. data/assets/reveal.old/js/reveal.min.js +8 -0
  166. data/assets/reveal.old/lib/css/zenburn.css +115 -0
  167. data/assets/reveal.old/lib/font/league_gothic-webfont.eot +0 -0
  168. data/assets/reveal.old/lib/font/league_gothic-webfont.svg +230 -0
  169. data/assets/reveal.old/lib/font/league_gothic-webfont.ttf +0 -0
  170. data/assets/reveal.old/lib/font/league_gothic-webfont.woff +0 -0
  171. data/assets/reveal.old/lib/font/league_gothic_license +2 -0
  172. data/assets/reveal.old/lib/js/classList.js +2 -0
  173. data/assets/reveal.old/lib/js/head.min.js +8 -0
  174. data/assets/reveal.old/lib/js/html5shiv.js +7 -0
  175. data/assets/reveal.old/plugin/highlight/highlight.js +31 -0
  176. data/assets/reveal.old/plugin/leap/leap.js +154 -0
  177. data/assets/reveal.old/plugin/markdown/example.html +97 -0
  178. data/assets/reveal.old/plugin/markdown/example.md +29 -0
  179. data/assets/reveal.old/plugin/markdown/markdown.js +190 -0
  180. data/assets/reveal.old/plugin/markdown/marked.js +37 -0
  181. data/assets/reveal.old/plugin/multiplex/client.js +13 -0
  182. data/assets/reveal.old/plugin/multiplex/index.js +56 -0
  183. data/assets/reveal.old/plugin/multiplex/master.js +50 -0
  184. data/assets/reveal.old/plugin/notes-server/client.js +57 -0
  185. data/assets/reveal.old/plugin/notes-server/index.js +59 -0
  186. data/assets/reveal.old/plugin/notes-server/notes.html +142 -0
  187. data/assets/reveal.old/plugin/notes/notes.html +253 -0
  188. data/assets/reveal.old/plugin/notes/notes.js +100 -0
  189. data/assets/reveal.old/plugin/postmessage/example.html +39 -0
  190. data/assets/reveal.old/plugin/postmessage/postmessage.js +42 -0
  191. data/assets/reveal.old/plugin/print-pdf/print-pdf.js +44 -0
  192. data/assets/reveal.old/plugin/remotes/remotes.js +39 -0
  193. data/assets/reveal.old/plugin/search/search.js +196 -0
  194. data/assets/reveal.old/plugin/zoom-js/zoom.js +256 -0
  195. data/bin/slippery +1 -0
  196. data/code_of_conduct.md +32 -0
  197. data/lib/slippery.rb +5 -3
  198. data/lib/slippery/document.rb +2 -2
  199. data/lib/slippery/presentation.rb +10 -1
  200. data/lib/slippery/processor.rb +18 -0
  201. data/lib/slippery/processor_helpers.rb +16 -2
  202. data/lib/slippery/processors/add_highlight.rb +9 -2
  203. data/lib/slippery/processors/deck_js.rb +81 -0
  204. data/lib/slippery/processors/fathom_js.rb +31 -0
  205. data/lib/slippery/processors/impress_js/add_impress_js.rb +2 -2
  206. data/lib/slippery/processors/jquery.rb +12 -0
  207. data/lib/slippery/processors/reveal_js/add_reveal_js.rb +12 -9
  208. data/lib/slippery/rake_tasks.rb +59 -31
  209. data/lib/slippery/version.rb +1 -1
  210. data/slippery.gemspec +5 -4
  211. metadata +215 -33
  212. data/lib/slippery/converter.rb +0 -132
@@ -0,0 +1,67 @@
1
+ .csstransitions.csstransforms .deck-container {
2
+ overflow-y: hidden;
3
+ }
4
+ .csstransitions.csstransforms .deck-container > .slide {
5
+ -webkit-transition: -webkit-transform 500ms ease-in-out;
6
+ transition: transform 500ms ease-in-out;
7
+ }
8
+ .csstransitions.csstransforms .deck-container:not(.deck-menu) > .slide {
9
+ position: absolute;
10
+ top: 0;
11
+ left: 0;
12
+ }
13
+ .csstransitions.csstransforms .deck-container:not(.deck-menu) > .slide .slide {
14
+ position: relative;
15
+ left: 0;
16
+ top: 0;
17
+ -webkit-transition: -webkit-transform 500ms ease-in-out, opacity 500ms ease-in-out;
18
+ transition: transform 500ms ease-in-out, opacity 500ms ease-in-out;
19
+ }
20
+ .csstransitions.csstransforms .deck-container:not(.deck-menu) > .slide .deck-next, .csstransitions.csstransforms .deck-container:not(.deck-menu) > .slide .deck-after {
21
+ visibility: visible;
22
+ -webkit-transform: translate3d(0, 1600px, 0);
23
+ -ms-transform: translate(0, 1600px);
24
+ transform: translate3d(0, 1600px, 0);
25
+ }
26
+ .csstransitions.csstransforms .deck-container:not(.deck-menu) > .deck-previous {
27
+ -webkit-transform: translate3d(0, -200%, 0);
28
+ -ms-transform: translate(0, -200%);
29
+ transform: translate3d(0, -200%, 0);
30
+ }
31
+ .csstransitions.csstransforms .deck-container:not(.deck-menu) > .deck-before {
32
+ -webkit-transform: translate3d(0, -400%, 0);
33
+ -ms-transform: translate(0, -400%);
34
+ transform: translate3d(0, -400%, 0);
35
+ }
36
+ .csstransitions.csstransforms .deck-container:not(.deck-menu) > .deck-next {
37
+ -webkit-transform: translate3d(0, 200%, 0);
38
+ -ms-transform: translate(0, 200%);
39
+ transform: translate3d(0, 200%, 0);
40
+ }
41
+ .csstransitions.csstransforms .deck-container:not(.deck-menu) > .deck-after {
42
+ -webkit-transform: translate3d(0, 400%, 0);
43
+ -ms-transform: translate(0, 400%);
44
+ transform: translate3d(0, 400%, 0);
45
+ }
46
+ .csstransitions.csstransforms .deck-container:not(.deck-menu) > .deck-before .slide, .csstransitions.csstransforms .deck-container:not(.deck-menu) > .deck-previous .slide {
47
+ visibility: visible;
48
+ }
49
+ .csstransitions.csstransforms .deck-container:not(.deck-menu) > .deck-child-current {
50
+ -webkit-transform: none;
51
+ -ms-transform: none;
52
+ transform: none;
53
+ }
54
+ .csstransitions.csstransforms .deck-prev-link {
55
+ left: auto;
56
+ right: 8px;
57
+ top: 59px;
58
+ -webkit-transform: rotate(90deg);
59
+ -ms-transform: rotate(90deg);
60
+ transform: rotate(90deg);
61
+ }
62
+ .csstransitions.csstransforms .deck-next-link {
63
+ top: 99px;
64
+ -webkit-transform: rotate(90deg);
65
+ -ms-transform: rotate(90deg);
66
+ transform: rotate(90deg);
67
+ }
@@ -0,0 +1,92 @@
1
+ @mixin translate($x: 0, $y: 0, $z: 0) {
2
+ -webkit-transform:translate3d($x, $y, $z);
3
+ -ms-transform:translate($x, $y);
4
+ transform:translate3d($x, $y, $z);
5
+ }
6
+
7
+ @mixin rotate($deg) {
8
+ -webkit-transform:rotate($deg);
9
+ -ms-transform:rotate($deg);
10
+ transform:rotate($deg);
11
+ }
12
+
13
+ @mixin transition($prop, $duration, $easing: ease-in-out, $delay: 0ms) {
14
+ -webkit-transition:$prop $duration $easing $delay;
15
+ transition:$prop $duration $easing $delay;
16
+ }
17
+
18
+ @mixin transform($val) {
19
+ -webkit-transform:$val;
20
+ -ms-transform:$val;
21
+ transform:$val;
22
+ }
23
+
24
+ .csstransitions.csstransforms {
25
+ .deck-container {
26
+ overflow-y:hidden;
27
+
28
+ > .slide {
29
+ -webkit-transition:-webkit-transform 500ms ease-in-out;
30
+ transition:transform 500ms ease-in-out;
31
+ }
32
+ }
33
+
34
+ .deck-container:not(.deck-menu) {
35
+ > .slide {
36
+ position:absolute;
37
+ top:0;
38
+ left:0;
39
+
40
+ .slide {
41
+ position:relative;
42
+ left:0;
43
+ top:0;
44
+ -webkit-transition:-webkit-transform 500ms ease-in-out, opacity 500ms ease-in-out;
45
+ transition:transform 500ms ease-in-out, opacity 500ms ease-in-out;
46
+ }
47
+
48
+ .deck-next, .deck-after {
49
+ visibility:visible;
50
+ @include translate(0, 1600px);
51
+ }
52
+ }
53
+
54
+ > .deck-previous {
55
+ @include translate(0, -200%);
56
+ }
57
+
58
+ > .deck-before {
59
+ @include translate(0, -400%);
60
+ }
61
+
62
+ > .deck-next {
63
+ @include translate(0, 200%);
64
+ }
65
+
66
+ > .deck-after {
67
+ @include translate(0, 400%);
68
+ }
69
+
70
+ > .deck-before, > .deck-previous {
71
+ .slide {
72
+ visibility:visible;
73
+ }
74
+ }
75
+
76
+ > .deck-child-current {
77
+ @include transform(none);
78
+ }
79
+ }
80
+
81
+ .deck-prev-link {
82
+ left:auto;
83
+ right:8px;
84
+ top:59px;
85
+ @include rotate(90deg);
86
+ }
87
+
88
+ .deck-next-link {
89
+ top:99px;
90
+ @include rotate(90deg);
91
+ }
92
+ }
@@ -0,0 +1,953 @@
1
+ ## Version 8.2
2
+
3
+ We've finally got [real tests][test] and [continuous testing on Travis][ci]
4
+ thanks to [Jeremy Hull][] and [Chris Eidhof][]. The tests designed to cover
5
+ everything: language detection, correct parsing of individual language features
6
+ and various special cases. This is a very important change that gives us
7
+ confidence in extending language definitions and refactoring library core.
8
+
9
+ We're going to redesign the old [demo/test suite][demo] into an interactive
10
+ demo web app. If you're confident front-end developer or designer and want to
11
+ help us with it, drop a comment into [the issue][#542] on GitHub.
12
+
13
+ [test]: https://github.com/isagalaev/highlight.js/tree/master/test
14
+ [demo]: https://highlightjs.org/static/test.html
15
+ [#542]: https://github.com/isagalaev/highlight.js/issues/542
16
+ [ci]: https://travis-ci.org/isagalaev/highlight.js
17
+ [Jeremy Hull]: https://github.com/sourrust
18
+ [Chris Eidhof]: https://github.com/chriseidhof
19
+
20
+ As usually there's a handful of new languages in this release:
21
+
22
+ - *Groovy* by [Guillaume Laforge][]
23
+ - *Dart* by [Maxim Dikun][]
24
+ - *Dust* by [Michael Allen][]
25
+ - *Scheme* by [JP Verkamp][]
26
+ - *G-Code* by [Adam Joseph Cook][]
27
+ - *Q* from Kx Systems by [Sergey Vidyuk][]
28
+
29
+ [Guillaume Laforge]: https://github.com/glaforge
30
+ [Maxim Dikun]: https://github.com/dikmax
31
+ [Michael Allen]: https://github.com/bfui
32
+ [JP Verkamp]: https://github.com/jpverkamp
33
+ [Adam Joseph Cook]: https://github.com/adamjcook
34
+ [Sergey Vidyuk]: https://github.com/sv
35
+
36
+ Other improvements:
37
+
38
+ - [Erik Osheim][] heavily reworked Scala definitions making it richer.
39
+ - [Lucas Mazza][] fixed Ruby hashes highlighting
40
+ - Lisp variants (Lisp, Clojure and Scheme) are unified in regard to naming
41
+ the first symbol in parentheses: it's "keyword" in general case and also
42
+ "built_in" for built-in functions in Clojure and Scheme.
43
+
44
+ [Erik Osheim]: https://github.com/non
45
+ [Lucas Mazza]: https://github.com/lucasmazza
46
+
47
+ ## Version 8.1
48
+
49
+ New languages:
50
+
51
+ - *Gherkin* by [Sam Pikesley][]
52
+ - *Elixir* by [Josh Adams][]
53
+ - *NSIS* by [Jan T. Sott][]
54
+ - *VIM script* by [Jun Yang][]
55
+ - *Protocol Buffers* by [Dan Tao][]
56
+ - *Nix* by [Domen Kožar][]
57
+ - *x86asm* by [innocenat][]
58
+ - *Cap’n Proto* and *Thrift* by [Oleg Efimov][]
59
+ - *Monkey* by [Arthur Bikmullin][]
60
+ - *TypeScript* by [Panu Horsmalahti][]
61
+ - *Nimrod* by [Flaviu Tamas][]
62
+ - *Gradle* by [Damian Mee][]
63
+ - *Haxe* by [Christopher Kaster][]
64
+ - *Swift* by [Chris Eidhof][] and [Nate Cook][]
65
+
66
+ New styles:
67
+
68
+ - *Kimbie*, light and dark variants by [Jan T. Sott][]
69
+ - *Color brewer* by [Fabrício Tavares de Oliveira][]
70
+ - *Codepen.io embed* by [Justin Perry][]
71
+ - *Hybrid* by [Nic West][]
72
+
73
+ [Sam Pikesley]: https://github.com/pikesley
74
+ [Sindre Sorhus]: https://github.com/sindresorhus
75
+ [Josh Adams]: https://github.com/knewter
76
+ [Jan T. Sott]: https://github.com/idleberg
77
+ [Jun Yang]: https://github.com/harttle
78
+ [Dan Tao]: https://github.com/dtao
79
+ [Domen Kožar]: https://github.com/iElectric
80
+ [innocenat]: https://github.com/innocenat
81
+ [Oleg Efimov]: https://github.com/Sannis
82
+ [Arthur Bikmullin]: https://github.com/devolonter
83
+ [Panu Horsmalahti]: https://github.com/panuhorsmalahti
84
+ [Flaviu Tamas]: https://github.com/flaviut
85
+ [Damian Mee]: https://github.com/chester1000
86
+ [Christopher Kaster]: http://christopher.kaster.ws
87
+ [Fabrício Tavares de Oliveira]: https://github.com/fabriciotav
88
+ [Justin Perry]: https://github.com/ourmaninamsterdam
89
+ [Nic West]: https://github.com/nicwest
90
+ [Chris Eidhof]: https://github.com/chriseidhof
91
+ [Nate Cook]: https://github.com/natecook1000
92
+
93
+ Other improvements:
94
+
95
+ - The README is heavily reworked and brought up to date by [Jeremy Hull][].
96
+ - Added [`listLanguages()`][ll] method in the API.
97
+ - Improved C/C++/C# detection.
98
+ - Added a bunch of new language aliases, documented the existing ones. Thanks to
99
+ [Sindre Sorhus][] for background research.
100
+ - Added phrasal English words to boost relevance in comments.
101
+ - Many improvements to SQL definition made by [Heiko August][],
102
+ [Nikolay Lisienko][] and [Travis Odom][].
103
+ - The shorter `lang-` prefix for language names in HTML classes supported
104
+ alongside `language-`. Thanks to [Jeff Escalante][].
105
+ - Ruby's got support for interactive console sessions. Thanks to
106
+ [Pascal Hurni][].
107
+ - Added built-in functions for R language. Thanks to [Artem A. Klevtsov][].
108
+ - Rust's got definition for lifetime parameters and improved string syntax.
109
+ Thanks to [Roman Shmatov][].
110
+ - Various improvements to Objective-C definition by [Matt Diephouse][].
111
+ - Fixed highlighting of generics in Java.
112
+
113
+ [ll]: http://highlightjs.readthedocs.org/en/latest/api.html#listlanguages
114
+ [Sindre Sorhus]: https://github.com/sindresorhus
115
+ [Heiko August]: https://github.com/auge8472
116
+ [Nikolay Lisienko]: https://github.com/neor-ru
117
+ [Travis Odom]: https://github.com/Burstaholic
118
+ [Jeff Escalante]: https://github.com/jenius
119
+ [Pascal Hurni]: https://github.com/phurni
120
+ [Jiyin Yiyong]: https://github.com/jiyinyiyong
121
+ [Artem A. Klevtsov]: https://github.com/unikum
122
+ [Roman Shmatov]: https://github.com/shmatov
123
+ [Jeremy Hull]: https://github.com/sourrust
124
+ [Matt Diephouse]: https://github.com/mdiep
125
+
126
+ ## Version 8.0
127
+
128
+ This new major release is quite a big overhaul bringing both new features and
129
+ some backwards incompatible changes. However, chances are that the majority of
130
+ users won't be affected by the latter: the basic scenario described in the
131
+ README is left intact.
132
+
133
+ Here's what did change in an incompatible way:
134
+
135
+ - We're now prefixing all classes located in [CSS classes reference][cr] with
136
+ `hljs-`, by default, because some class names would collide with other
137
+ people's stylesheets. If you were using an older version, you might still want
138
+ the previous behavior, but still want to upgrade. To suppress this new
139
+ behavior, you would initialize like so:
140
+
141
+ ```html
142
+ <script type="text/javascript">
143
+ hljs.configure({classPrefix: ''});
144
+ hljs.initHighlightingOnLoad();
145
+ </script>
146
+ ```
147
+
148
+ - `tabReplace` and `useBR` that were used in different places are also unified
149
+ into the global options object and are to be set using `configure(options)`.
150
+ This function is documented in our [API docs][]. Also note that these
151
+ parameters are gone from `highlightBlock` and `fixMarkup` which are now also
152
+ rely on `configure`.
153
+
154
+ - We removed public-facing (though undocumented) object `hljs.LANGUAGES` which
155
+ was used to register languages with the library in favor of two new methods:
156
+ `registerLanguage` and `getLanguage`. Both are documented in our [API docs][].
157
+
158
+ - Result returned from `highlight` and `highlightAuto` no longer contains two
159
+ separate attributes contributing to relevance score, `relevance` and
160
+ `keyword_count`. They are now unified in `relevance`.
161
+
162
+ Another technically compatible change that nonetheless might need attention:
163
+
164
+ - The structure of the NPM package was refactored, so if you had installed it
165
+ locally, you'll have to update your paths. The usual `require('highlight.js')`
166
+ works as before. This is contributed by [Dmitry Smolin][].
167
+
168
+ New features:
169
+
170
+ - Languages now can be recognized by multiple names like "js" for JavaScript or
171
+ "html" for, well, HTML (which earlier insisted on calling it "xml"). These
172
+ aliases can be specified in the class attribute of the code container in your
173
+ HTML as well as in various API calls. For now there are only a few very common
174
+ aliases but we'll expand it in the future. All of them are listed in the
175
+ [class reference][cr].
176
+
177
+ - Language detection can now be restricted to a subset of languages relevant in
178
+ a given context — a web page or even a single highlighting call. This is
179
+ especially useful for node.js build that includes all the known languages.
180
+ Another example is a StackOverflow-style site where users specify languages
181
+ as tags rather than in the markdown-formatted code snippets. This is
182
+ documented in the [API reference][] (see methods `highlightAuto` and
183
+ `configure`).
184
+
185
+ - Language definition syntax streamlined with [variants][] and
186
+ [beginKeywords][].
187
+
188
+ New languages and styles:
189
+
190
+ - *Oxygene* by [Carlo Kok][]
191
+ - *Mathematica* by [Daniel Kvasnička][]
192
+ - *Autohotkey* by [Seongwon Lee][]
193
+ - *Atelier* family of styles in 10 variants by [Bram de Haan][]
194
+ - *Paraíso* styles by [Jan T. Sott][]
195
+
196
+ Miscellaneous improvements:
197
+
198
+ - Highlighting `=>` prompts in Clojure.
199
+ - [Jeremy Hull][] fixed a lot of styles for consistency.
200
+ - Finally, highlighting PHP and HTML [mixed in peculiar ways][php-html].
201
+ - Objective C and C# now properly highlight titles in method definition.
202
+ - Big overhaul of relevance counting for a number of languages. Please do report
203
+ bugs about mis-detection of non-trivial code snippets!
204
+
205
+ [cr]: http://highlightjs.readthedocs.org/en/latest/css-classes-reference.html
206
+ [api docs]: http://highlightjs.readthedocs.org/en/latest/api.html
207
+ [variants]: https://groups.google.com/d/topic/highlightjs/VoGC9-1p5vk/discussion
208
+ [beginKeywords]: https://github.com/isagalaev/highlight.js/commit/6c7fdea002eb3949577a85b3f7930137c7c3038d
209
+ [php-html]: https://twitter.com/highlightjs/status/408890903017689088
210
+
211
+ [Carlo Kok]: https://github.com/carlokok
212
+ [Bram de Haan]: https://github.com/atelierbram
213
+ [Daniel Kvasnička]: https://github.com/dkvasnicka
214
+ [Dmitry Smolin]: https://github.com/dimsmol
215
+ [Jeremy Hull]: https://github.com/sourrust
216
+ [Seongwon Lee]: https://github.com/dlimpid
217
+ [Jan T. Sott]: https://github.com/idleberg
218
+
219
+
220
+ ## Version 7.5
221
+
222
+ A catch-up release dealing with some of the accumulated contributions. This one
223
+ is probably will be the last before the 8.0 which will be slightly backwards
224
+ incompatible regarding some advanced use-cases.
225
+
226
+ One outstanding change in this version is the addition of 6 languages to the
227
+ [hosted script][d]: Markdown, ObjectiveC, CoffeeScript, Apache, Nginx and
228
+ Makefile. It now weighs about 6K more but we're going to keep it under 30K.
229
+
230
+ New languages:
231
+
232
+ - OCaml by [Mehdi Dogguy][mehdid] and [Nicolas Braud-Santoni][nbraud]
233
+ - [LiveCode Server][lcs] by [Ralf Bitter][revig]
234
+ - Scilab by [Sylvestre Ledru][sylvestre]
235
+ - basic support for Makefile by [Ivan Sagalaev][isagalaev]
236
+
237
+ Improvements:
238
+
239
+ - Ruby's got support for characters like `?A`, `?1`, `?\012` etc. and `%r{..}`
240
+ regexps.
241
+ - Clojure now allows a function call in the beginning of s-expressions
242
+ `(($filter "myCount") (arr 1 2 3 4 5))`.
243
+ - Haskell's got new keywords and now recognizes more things like pragmas,
244
+ preprocessors, modules, containers, FFIs etc. Thanks to [Zena Treep][treep]
245
+ for the implementation and to [Jeremy Hull][sourrust] for guiding it.
246
+ - Miscellaneous fixes in PHP, Brainfuck, SCSS, Asciidoc, CMake, Python and F#.
247
+
248
+ [mehdid]: https://github.com/mehdid
249
+ [nbraud]: https://github.com/nbraud
250
+ [revig]: https://github.com/revig
251
+ [lcs]: http://livecode.com/developers/guides/server/
252
+ [sylvestre]: https://github.com/sylvestre
253
+ [isagalaev]: https://github.com/isagalaev
254
+ [treep]: https://github.com/treep
255
+ [sourrust]: https://github.com/sourrust
256
+ [d]: http://highlightjs.org/download/
257
+
258
+
259
+ ## New core developers
260
+
261
+ The latest long period of almost complete inactivity in the project coincided
262
+ with growing interest to it led to a decision that now seems completely obvious:
263
+ we need more core developers.
264
+
265
+ So without further ado let me welcome to the core team two long-time
266
+ contributors: [Jeremy Hull][] and [Oleg
267
+ Efimov][].
268
+
269
+ Hope now we'll be able to work through stuff faster!
270
+
271
+ P.S. The historical commit is [here][1] for the record.
272
+
273
+ [Jeremy Hull]: https://github.com/sourrust
274
+ [Oleg Efimov]: https://github.com/sannis
275
+ [1]: https://github.com/isagalaev/highlight.js/commit/f3056941bda56d2b72276b97bc0dd5f230f2473f
276
+
277
+
278
+ ## Version 7.4
279
+
280
+ This long overdue version is a snapshot of the current source tree with all the
281
+ changes that happened during the past year. Sorry for taking so long!
282
+
283
+ Along with the changes in code highlight.js has finally got its new home at
284
+ <http://highlightjs.org/>, moving from its cradle on Software Maniacs which it
285
+ outgrew a long time ago. Be sure to report any bugs about the site to
286
+ <mailto:info@highlightjs.org>.
287
+
288
+ On to what's new…
289
+
290
+ New languages:
291
+
292
+ - Handlebars templates by [Robin Ward][]
293
+ - Oracle Rules Language by [Jason Jacobson][]
294
+ - F# by [Joans Follesø][]
295
+ - AsciiDoc and Haml by [Dan Allen][]
296
+ - Lasso by [Eric Knibbe][]
297
+ - SCSS by [Kurt Emch][]
298
+ - VB.NET by [Poren Chiang][]
299
+ - Mizar by [Kelley van Evert][]
300
+
301
+ [Robin Ward]: https://github.com/eviltrout
302
+ [Jason Jacobson]: https://github.com/jayce7
303
+ [Joans Follesø]: https://github.com/follesoe
304
+ [Dan Allen]: https://github.com/mojavelinux
305
+ [Eric Knibbe]: https://github.com/EricFromCanada
306
+ [Kurt Emch]: https://github.com/kemch
307
+ [Poren Chiang]: https://github.com/rschiang
308
+ [Kelley van Evert]: https://github.com/kelleyvanevert
309
+
310
+ New style themes:
311
+
312
+ - Monokai Sublime by [noformnocontent][]
313
+ - Railscasts by [Damien White][]
314
+ - Obsidian by [Alexander Marenin][]
315
+ - Docco by [Simon Madine][]
316
+ - Mono Blue by [Ivan Sagalaev][] (uses a single color hue for everything)
317
+ - Foundation by [Dan Allen][]
318
+
319
+ [noformnocontent]: http://nn.mit-license.org/
320
+ [Damien White]: https://github.com/visoft
321
+ [Alexander Marenin]: https://github.com/ioncreature
322
+ [Simon Madine]: https://github.com/thingsinjars
323
+ [Ivan Sagalaev]: https://github.com/isagalaev
324
+
325
+ Other notable changes:
326
+
327
+ - Corrected many corner cases in CSS.
328
+ - Dropped Python 2 version of the build tool.
329
+ - Implemented building for the AMD format.
330
+ - Updated Rust keywords (thanks to [Dmitry Medvinsky][]).
331
+ - Literal regexes can now be used in language definitions.
332
+ - CoffeeScript highlighting is now significantly more robust and rich due to
333
+ input from [Cédric Néhémie][].
334
+
335
+ [Dmitry Medvinsky]: https://github.com/dmedvinsky
336
+ [Cédric Néhémie]: https://github.com/abe33
337
+
338
+
339
+ ## Version 7.3
340
+
341
+ - Since this version highlight.js no longer works in IE version 8 and older.
342
+ It's made it possible to reduce the library size and dramatically improve code
343
+ readability and made it easier to maintain. Time to go forward!
344
+
345
+ - New languages: AppleScript (by [Nathan Grigg][ng] and [Dr. Drang][dd]) and
346
+ Brainfuck (by [Evgeny Stepanischev][bolk]).
347
+
348
+ - Improvements to existing languages:
349
+
350
+ - interpreter prompt in Python (`>>>` and `...`)
351
+ - @-properties and classes in CoffeeScript
352
+ - E4X in JavaScript (by [Oleg Efimov][oe])
353
+ - new keywords in Perl (by [Kirk Kimmel][kk])
354
+ - big Ruby syntax update (by [Vasily Polovnyov][vast])
355
+ - small fixes in Bash
356
+
357
+ - Also Oleg Efimov did a great job of moving all the docs for language and style
358
+ developers and contributors from the old wiki under the source code in the
359
+ "docs" directory. Now these docs are nicely presented at
360
+ <http://highlightjs.readthedocs.org/>.
361
+
362
+ [ng]: https://github.com/nathan11g
363
+ [dd]: https://github.com/drdrang
364
+ [bolk]: https://github.com/bolknote
365
+ [oe]: https://github.com/Sannis
366
+ [kk]: https://github.com/kimmel
367
+ [vast]: https://github.com/vast
368
+
369
+
370
+ ## Version 7.2
371
+
372
+ A regular bug-fix release without any significant new features. Enjoy!
373
+
374
+
375
+ ## Version 7.1
376
+
377
+ A Summer crop:
378
+
379
+ - [Marc Fornos][mf] made the definition for Clojure along with the matching
380
+ style Rainbow (which, of course, works for other languages too).
381
+ - CoffeeScript support continues to improve getting support for regular
382
+ expressions.
383
+ - Yoshihide Jimbo ported to highlight.js [five Tomorrow styles][tm] from the
384
+ [project by Chris Kempson][tm0].
385
+ - Thanks to [Casey Duncun][cd] the library can now be built in the popular
386
+ [AMD format][amd].
387
+ - And last but not least, we've got a fair number of correctness and consistency
388
+ fixes, including a pretty significant refactoring of Ruby.
389
+
390
+ [mf]: https://github.com/mfornos
391
+ [tm]: http://jmblog.github.com/color-themes-for-highlightjs/
392
+ [tm0]: https://github.com/ChrisKempson/Tomorrow-Theme
393
+ [cd]: https://github.com/caseman
394
+ [amd]: http://requirejs.org/docs/whyamd.html
395
+
396
+
397
+ ## Version 7.0
398
+
399
+ The reason for the new major version update is a global change of keyword syntax
400
+ which resulted in the library getting smaller once again. For example, the
401
+ hosted build is 2K less than at the previous version while supporting two new
402
+ languages.
403
+
404
+ Notable changes:
405
+
406
+ - The library now works not only in a browser but also with [node.js][]. It is
407
+ installable with `npm install highlight.js`. [API][] docs are available on our
408
+ wiki.
409
+
410
+ - The new unique feature (apparently) among syntax highlighters is highlighting
411
+ *HTTP* headers and an arbitrary language in the request body. The most useful
412
+ languages here are *XML* and *JSON* both of which highlight.js does support.
413
+ Here's [the detailed post][p] about the feature.
414
+
415
+ - Two new style themes: a dark "south" *[Pojoaque][]* by Jason Tate and an
416
+ emulation of*XCode* IDE by [Angel Olloqui][ao].
417
+
418
+ - Three new languages: *D* by [Aleksandar Ružičić][ar], *R* by [Joe Cheng][jc]
419
+ and *GLSL* by [Sergey Tikhomirov][st].
420
+
421
+ - *Nginx* syntax has become a million times smaller and more universal thanks to
422
+ remaking it in a more generic manner that doesn't require listing all the
423
+ directives in the known universe.
424
+
425
+ - Function titles are now highlighted in *PHP*.
426
+
427
+ - *Haskell* and *VHDL* were significantly reworked to be more rich and correct
428
+ by their respective maintainers [Jeremy Hull][sr] and [Igor Kalnitsky][ik].
429
+
430
+ And last but not least, many bugs have been fixed around correctness and
431
+ language detection.
432
+
433
+ Overall highlight.js currently supports 51 languages and 20 style themes.
434
+
435
+ [node.js]: http://nodejs.org/
436
+ [api]: http://softwaremaniacs.org/wiki/doku.php/highlight.js:api
437
+ [p]: http://softwaremaniacs.org/blog/2012/05/10/http-and-json-in-highlight-js/en/
438
+ [pojoaque]: http://web-cms-designs.com/ftopict-10-pojoaque-style-for-highlight-js-code-highlighter.html
439
+ [ao]: https://github.com/angelolloqui
440
+ [ar]: https://github.com/raleksandar
441
+ [jc]: https://github.com/jcheng5
442
+ [st]: https://github.com/tikhomirov
443
+ [sr]: https://github.com/sourrust
444
+ [ik]: https://github.com/ikalnitsky
445
+
446
+
447
+ ## Version 6.2
448
+
449
+ A lot of things happened in highlight.js since the last version! We've got nine
450
+ new contributors, the discussion group came alive, and the main branch on GitHub
451
+ now counts more than 350 followers. Here are most significant results coming
452
+ from all this activity:
453
+
454
+ - 5 (five!) new languages: Rust, ActionScript, CoffeeScript, MatLab and
455
+ experimental support for markdown. Thanks go to [Andrey Vlasovskikh][av],
456
+ [Alexander Myadzel][am], [Dmytrii Nagirniak][dn], [Oleg Efimov][oe], [Denis
457
+ Bardadym][db] and [John Crepezzi][jc].
458
+
459
+ - 2 new style themes: Monokai by [Luigi Maselli][lm] and stylistic imitation of
460
+ another well-known highlighter Google Code Prettify by [Aahan Krish][ak].
461
+
462
+ - A vast number of [correctness fixes and code refactorings][log], mostly made
463
+ by [Oleg Efimov][oe] and [Evgeny Stepanischev][es].
464
+
465
+ [av]: https://github.com/vlasovskikh
466
+ [am]: https://github.com/myadzel
467
+ [dn]: https://github.com/dnagir
468
+ [oe]: https://github.com/Sannis
469
+ [db]: https://github.com/btd
470
+ [jc]: https://github.com/seejohnrun
471
+ [lm]: http://grigio.org/
472
+ [ak]: https://github.com/geekpanth3r
473
+ [es]: https://github.com/bolknote
474
+ [log]: https://github.com/isagalaev/highlight.js/commits/
475
+
476
+
477
+ ## Version 6.1 — Solarized
478
+
479
+ [Jeremy Hull][jh] has implemented my dream feature — a port of [Solarized][]
480
+ style theme famous for being based on the intricate color theory to achieve
481
+ correct contrast and color perception. It is now available for highlight.js in
482
+ both variants — light and dark.
483
+
484
+ This version also adds a new original style Arta. Its author pumbur maintains a
485
+ [heavily modified fork of highlight.js][pb] on GitHub.
486
+
487
+ [jh]: https://github.com/sourrust
488
+ [solarized]: http://ethanschoonover.com/solarized
489
+ [pb]: https://github.com/pumbur/highlight.js
490
+
491
+
492
+ ## Version 6.0
493
+
494
+ New major version of the highlighter has been built on a significantly
495
+ refactored syntax. Due to this it's even smaller than the previous one while
496
+ supporting more languages!
497
+
498
+ New languages are:
499
+
500
+ - Haskell by [Jeremy Hull][sourrust]
501
+ - Erlang in two varieties — module and REPL — made collectively by [Nikolay
502
+ Zakharov][desh], [Dmitry Kovega][arhibot] and [Sergey Ignatov][ignatov]
503
+ - Objective C by [Valerii Hiora][vhbit]
504
+ - Vala by [Antono Vasiljev][antono]
505
+ - Go by [Stephan Kountso][steplg]
506
+
507
+ [sourrust]: https://github.com/sourrust
508
+ [desh]: http://desh.su/
509
+ [arhibot]: https://github.com/arhibot
510
+ [ignatov]: https://github.com/ignatov
511
+ [vhbit]: https://github.com/vhbit
512
+ [antono]: https://github.com/antono
513
+ [steplg]: https://github.com/steplg
514
+
515
+ Also this version is marginally faster and fixes a number of small long-standing
516
+ bugs.
517
+
518
+ Developer overview of the new language syntax is available in a [blog post about
519
+ recent beta release][beta].
520
+
521
+ [beta]: http://softwaremaniacs.org/blog/2011/04/25/highlight-js-60-beta/en/
522
+
523
+ P.S. New version is not yet available on a Yandex CDN, so for now you have to
524
+ download [your own copy][d].
525
+
526
+ [d]: /soft/highlight/en/download/
527
+
528
+
529
+ ## Version 5.14
530
+
531
+ Fixed bugs in HTML/XML detection and relevance introduced in previous
532
+ refactoring.
533
+
534
+ Also test.html now shows the second best result of language detection by
535
+ relevance.
536
+
537
+
538
+ ## Version 5.13
539
+
540
+ Past weekend began with a couple of simple additions for existing languages but
541
+ ended up in a big code refactoring bringing along nice improvements for language
542
+ developers.
543
+
544
+ ### For users
545
+
546
+ - Description of C++ has got new keywords from the upcoming [C++ 0x][] standard.
547
+ - Description of HTML has got new tags from [HTML 5][].
548
+ - CSS-styles have been unified to use consistent padding and also have lost
549
+ pop-outs with names of detected languages.
550
+ - [Igor Kalnitsky][ik] has sent two new language descriptions: CMake & VHDL.
551
+
552
+ This makes total number of languages supported by highlight.js to reach 35.
553
+
554
+ Bug fixes:
555
+
556
+ - Custom classes on `<pre>` tags are not being overridden anymore
557
+ - More correct highlighting of code blocks inside non-`<pre>` containers:
558
+ highlighter now doesn't insist on replacing them with its own container and
559
+ just replaces the contents.
560
+ - Small fixes in browser compatibility and heuristics.
561
+
562
+ [c++ 0x]: http://ru.wikipedia.org/wiki/C%2B%2B0x
563
+ [html 5]: http://en.wikipedia.org/wiki/HTML5
564
+ [ik]: http://kalnitsky.org.ua/
565
+
566
+ ### For developers
567
+
568
+ The most significant change is the ability to include language submodes right
569
+ under `contains` instead of defining explicit named submodes in the main array:
570
+
571
+ contains: [
572
+ 'string',
573
+ 'number',
574
+ {begin: '\\n', end: hljs.IMMEDIATE_RE}
575
+ ]
576
+
577
+ This is useful for auxiliary modes needed only in one place to define parsing.
578
+ Note that such modes often don't have `className` and hence won't generate a
579
+ separate `<span>` in the resulting markup. This is similar in effect to
580
+ `noMarkup: true`. All existing languages have been refactored accordingly.
581
+
582
+ Test file test.html has at last become a real test. Now it not only puts the
583
+ detected language name under the code snippet but also tests if it matches the
584
+ expected one. Test summary is displayed right above all language snippets.
585
+
586
+
587
+ ## CDN
588
+
589
+ Fine people at [Yandex][] agreed to host highlight.js on their big fast servers.
590
+ [Link up][l]!
591
+
592
+ [yandex]: http://yandex.com/
593
+ [l]: http://softwaremaniacs.org/soft/highlight/en/download/
594
+
595
+
596
+ ## Version 5.10 — "Paris".
597
+
598
+ Though I'm on a vacation in Paris, I decided to release a new version with a
599
+ couple of small fixes:
600
+
601
+ - Tomas Vitvar discovered that TAB replacement doesn't always work when used
602
+ with custom markup in code
603
+ - SQL parsing is even more rigid now and doesn't step over SmallTalk in tests
604
+
605
+
606
+ ## Version 5.9
607
+
608
+ A long-awaited version is finally released.
609
+
610
+ New languages:
611
+
612
+ - Andrew Fedorov made a definition for Lua
613
+ - a long-time highlight.js contributor [Peter Leonov][pl] made a definition for
614
+ Nginx config
615
+ - [Vladimir Moskva][vm] made a definition for TeX
616
+
617
+ [pl]: http://kung-fu-tzu.ru/
618
+ [vm]: http://fulc.ru/
619
+
620
+ Fixes for existing languages:
621
+
622
+ - [Loren Segal][ls] reworked the Ruby definition and added highlighting for
623
+ [YARD][] inline documentation
624
+ - the definition of SQL has become more solid and now it shouldn't be overly
625
+ greedy when it comes to language detection
626
+
627
+ [ls]: http://gnuu.org/
628
+ [yard]: http://yardoc.org/
629
+
630
+ The highlighter has become more usable as a library allowing to do highlighting
631
+ from initialization code of JS frameworks and in ajax methods (see.
632
+ readme.eng.txt).
633
+
634
+ Also this version drops support for the [WordPress][wp] plugin. Everyone is
635
+ welcome to [pick up its maintenance][p] if needed.
636
+
637
+ [wp]: http://wordpress.org/
638
+ [p]: http://bazaar.launchpad.net/~isagalaev/+junk/highlight/annotate/342/src/wp_highlight.js.php
639
+
640
+
641
+ ## Version 5.8
642
+
643
+ - Jan Berkel has contributed a definition for Scala. +1 to hotness!
644
+ - All CSS-styles are rewritten to work only inside `<pre>` tags to avoid
645
+ conflicts with host site styles.
646
+
647
+
648
+ ## Version 5.7.
649
+
650
+ Fixed escaping of quotes in VBScript strings.
651
+
652
+
653
+ ## Version 5.5
654
+
655
+ This version brings a small change: now .ini-files allow digits, underscores and
656
+ square brackets in key names.
657
+
658
+
659
+ ## Version 5.4
660
+
661
+ Fixed small but upsetting bug in the packer which caused incorrect highlighting
662
+ of explicitly specified languages. Thanks to Andrew Fedorov for precise
663
+ diagnostics!
664
+
665
+
666
+ ## Version 5.3
667
+
668
+ The version to fulfil old promises.
669
+
670
+ The most significant change is that highlight.js now preserves custom user
671
+ markup in code along with its own highlighting markup. This means that now it's
672
+ possible to use, say, links in code. Thanks to [Vladimir Dolzhenko][vd] for the
673
+ [initial proposal][1] and for making a proof-of-concept patch.
674
+
675
+ Also in this version:
676
+
677
+ - [Vasily Polovnyov][vp] has sent a GitHub-like style and has implemented
678
+ support for CSS @-rules and Ruby symbols.
679
+ - Yura Zaripov has sent two styles: Brown Paper and School Book.
680
+ - Oleg Volchkov has sent a definition for [Parser 3][p3].
681
+
682
+ [1]: http://softwaremaniacs.org/forum/highlightjs/6612/
683
+ [p3]: http://www.parser.ru/
684
+ [vp]: http://vasily.polovnyov.ru/
685
+ [vd]: http://dolzhenko.blogspot.com/
686
+
687
+
688
+ ## Version 5.2
689
+
690
+ - at last it's possible to replace indentation TABs with something sensible
691
+ (e.g. 2 or 4 spaces)
692
+ - new keywords and built-ins for 1C by Sergey Baranov
693
+ - a couple of small fixes to Apache highlighting
694
+
695
+
696
+ ## Version 5.1
697
+
698
+ This is one of those nice version consisting entirely of new and shiny
699
+ contributions!
700
+
701
+ - [Vladimir Ermakov][vooon] created highlighting for AVR Assembler
702
+ - [Ruslan Keba][rukeba] created highlighting for Apache config file. Also his
703
+ original visual style for it is now available for all highlight.js languages
704
+ under the name "Magula".
705
+ - [Shuen-Huei Guan][drake] (aka Drake) sent new keywords for RenderMan
706
+ languages. Also thanks go to [Konstantin Evdokimenko][ke] for his advice on
707
+ the matter.
708
+
709
+ [vooon]: http://vehq.ru/about/
710
+ [rukeba]: http://rukeba.com/
711
+ [drake]: http://drakeguan.org/
712
+ [ke]: http://k-evdokimenko.moikrug.ru/
713
+
714
+
715
+ ## Version 5.0
716
+
717
+ The main change in the new major version of highlight.js is a mechanism for
718
+ packing several languages along with the library itself into a single compressed
719
+ file. Now sites using several languages will load considerably faster because
720
+ the library won't dynamically include additional files while loading.
721
+
722
+ Also this version fixes a long-standing bug with Javascript highlighting that
723
+ couldn't distinguish between regular expressions and division operations.
724
+
725
+ And as usually there were a couple of minor correctness fixes.
726
+
727
+ Great thanks to all contributors! Keep using highlight.js.
728
+
729
+
730
+ ## Version 4.3
731
+
732
+ This version comes with two contributions from [Jason Diamond][jd]:
733
+
734
+ - language definition for C# (yes! it was a long-missed thing!)
735
+ - Visual Studio-like highlighting style
736
+
737
+ Plus there are a couple of minor bug fixes for parsing HTML and XML attributes.
738
+
739
+ [jd]: http://jason.diamond.name/weblog/
740
+
741
+
742
+ ## Version 4.2
743
+
744
+ The biggest news is highlighting for Lisp, courtesy of Vasily Polovnyov. It's
745
+ somewhat experimental meaning that for highlighting "keywords" it doesn't use
746
+ any pre-defined set of a Lisp dialect. Instead it tries to highlight first word
747
+ in parentheses wherever it makes sense. I'd like to ask people programming in
748
+ Lisp to confirm if it's a good idea and send feedback to [the forum][f].
749
+
750
+ Other changes:
751
+
752
+ - Smalltalk was excluded from DEFAULT_LANGUAGES to save traffic
753
+ - [Vladimir Epifanov][voldmar] has implemented javascript style switcher for
754
+ test.html
755
+ - comments now allowed inside Ruby function definition
756
+ - [MEL][] language from [Shuen-Huei Guan][drake]
757
+ - whitespace now allowed between `<pre>` and `<code>`
758
+ - better auto-detection of C++ and PHP
759
+ - HTML allows embedded VBScript (`<% .. %>`)
760
+
761
+ [f]: http://softwaremaniacs.org/forum/highlightjs/
762
+ [voldmar]: http://voldmar.ya.ru/
763
+ [mel]: http://en.wikipedia.org/wiki/Maya_Embedded_Language
764
+ [drake]: http://drakeguan.org/
765
+
766
+
767
+ ## Version 4.1
768
+
769
+ Languages:
770
+
771
+ - Bash from Vah
772
+ - DOS bat-files from Alexander Makarov (Sam)
773
+ - Diff files from Vasily Polovnyov
774
+ - Ini files from myself though initial idea was from Sam
775
+
776
+ Styles:
777
+
778
+ - Zenburn from Vladimir Epifanov, this is an imitation of a
779
+ [well-known theme for Vim][zenburn].
780
+ - Ascetic from myself, as a realization of ideals of non-flashy highlighting:
781
+ just one color in only three gradations :-)
782
+
783
+ In other news. [One small bug][bug] was fixed, built-in keywords were added for
784
+ Python and C++ which improved auto-detection for the latter (it was shame that
785
+ [my wife's blog][alenacpp] had issues with it from time to time). And lastly
786
+ thanks go to Sam for getting rid of my stylistic comments in code that were
787
+ getting in the way of [JSMin][].
788
+
789
+ [zenburn]: http://en.wikipedia.org/wiki/Zenburn
790
+ [alenacpp]: http://alenacpp.blogspot.com/
791
+ [bug]: http://softwaremaniacs.org/forum/viewtopic.php?id=1823
792
+ [jsmin]: http://code.google.com/p/jsmin-php/
793
+
794
+
795
+ ## Version 4.0
796
+
797
+ New major version is a result of vast refactoring and of many contributions.
798
+
799
+ Visible new features:
800
+
801
+ - Highlighting of embedded languages. Currently is implemented highlighting of
802
+ Javascript and CSS inside HTML.
803
+ - Bundled 5 ready-made style themes!
804
+
805
+ Invisible new features:
806
+
807
+ - Highlight.js no longer pollutes global namespace. Only one object and one
808
+ function for backward compatibility.
809
+ - Performance is further increased by about 15%.
810
+
811
+ Changing of a major version number caused by a new format of language definition
812
+ files. If you use some third-party language files they should be updated.
813
+
814
+
815
+ ## Version 3.5
816
+
817
+ A very nice version in my opinion fixing a number of small bugs and slightly
818
+ increased speed in a couple of corner cases. Thanks to everybody who reports
819
+ bugs in he [forum][f] and by email!
820
+
821
+ There is also a new language — XML. A custom XML formerly was detected as HTML
822
+ and didn't highlight custom tags. In this version I tried to make custom XML to
823
+ be detected and highlighted by its own rules. Which by the way include such
824
+ things as CDATA sections and processing instructions (`<? ... ?>`).
825
+
826
+ [f]: http://softwaremaniacs.org/forum/viewforum.php?id=6
827
+
828
+
829
+ ## Version 3.3
830
+
831
+ [Vladimir Gubarkov][xonix] has provided an interesting and useful addition.
832
+ File export.html contains a little program that shows and allows to copy and
833
+ paste an HTML code generated by the highlighter for any code snippet. This can
834
+ be useful in situations when one can't use the script itself on a site.
835
+
836
+
837
+ [xonix]: http://xonixx.blogspot.com/
838
+
839
+
840
+ ## Version 3.2 consists completely of contributions:
841
+
842
+ - Vladimir Gubarkov has described SmallTalk
843
+ - Yuri Ivanov has described 1C
844
+ - Peter Leonov has packaged the highlighter as a Firefox extension
845
+ - Vladimir Ermakov has compiled a mod for phpBB
846
+
847
+ Many thanks to you all!
848
+
849
+
850
+ ## Version 3.1
851
+
852
+ Three new languages are available: Django templates, SQL and Axapta. The latter
853
+ two are sent by [Dmitri Roudakov][1]. However I've almost entirely rewrote an
854
+ SQL definition but I'd never started it be it from the ground up :-)
855
+
856
+ The engine itself has got a long awaited feature of grouping keywords
857
+ ("keyword", "built-in function", "literal"). No more hacks!
858
+
859
+ [1]: http://roudakov.ru/
860
+
861
+
862
+ ## Version 3.0
863
+
864
+ It is major mainly because now highlight.js has grown large and has become
865
+ modular. Now when you pass it a list of languages to highlight it will
866
+ dynamically load into a browser only those languages.
867
+
868
+ Also:
869
+
870
+ - Konstantin Evdokimenko of [RibKit][] project has created a highlighting for
871
+ RenderMan Shading Language and RenderMan Interface Bytestream. Yay for more
872
+ languages!
873
+ - Heuristics for C++ and HTML got better.
874
+ - I've implemented (at last) a correct handling of backslash escapes in C-like
875
+ languages.
876
+
877
+ There is also a small backwards incompatible change in the new version. The
878
+ function initHighlighting that was used to initialize highlighting instead of
879
+ initHighlightingOnLoad a long time ago no longer works. If you by chance still
880
+ use it — replace it with the new one.
881
+
882
+ [RibKit]: http://ribkit.sourceforge.net/
883
+
884
+
885
+ ## Version 2.9
886
+
887
+ Highlight.js is a parser, not just a couple of regular expressions. That said
888
+ I'm glad to announce that in the new version 2.9 has support for:
889
+
890
+ - in-string substitutions for Ruby -- `#{...}`
891
+ - strings from from numeric symbol codes (like #XX) for Delphi
892
+
893
+
894
+ ## Version 2.8
895
+
896
+ A maintenance release with more tuned heuristics. Fully backwards compatible.
897
+
898
+
899
+ ## Version 2.7
900
+
901
+ - Nikita Ledyaev presents highlighting for VBScript, yay!
902
+ - A couple of bugs with escaping in strings were fixed thanks to Mickle
903
+ - Ongoing tuning of heuristics
904
+
905
+ Fixed bugs were rather unpleasant so I encourage everyone to upgrade!
906
+
907
+
908
+ ## Version 2.4
909
+
910
+ - Peter Leonov provides another improved highlighting for Perl
911
+ - Javascript gets a new kind of keywords — "literals". These are the words
912
+ "true", "false" and "null"
913
+
914
+ Also highlight.js homepage now lists sites that use the library. Feel free to
915
+ add your site by [dropping me a message][mail] until I find the time to build a
916
+ submit form.
917
+
918
+ [mail]: mailto:Maniac@SoftwareManiacs.Org
919
+
920
+
921
+ ## Version 2.3
922
+
923
+ This version fixes IE breakage in previous version. My apologies to all who have
924
+ already downloaded that one!
925
+
926
+
927
+ ## Version 2.2
928
+
929
+ - added highlighting for Javascript
930
+ - at last fixed parsing of Delphi's escaped apostrophes in strings
931
+ - in Ruby fixed highlighting of keywords 'def' and 'class', same for 'sub' in
932
+ Perl
933
+
934
+
935
+ ## Version 2.0
936
+
937
+ - Ruby support by [Anton Kovalyov][ak]
938
+ - speed increased by orders of magnitude due to new way of parsing
939
+ - this same way allows now correct highlighting of keywords in some tricky
940
+ places (like keyword "End" at the end of Delphi classes)
941
+
942
+ [ak]: http://anton.kovalyov.net/
943
+
944
+
945
+ ## Version 1.0
946
+
947
+ Version 1.0 of javascript syntax highlighter is released!
948
+
949
+ It's the first version available with English description. Feel free to post
950
+ your comments and question to [highlight.js forum][forum]. And don't be afraid
951
+ if you find there some fancy Cyrillic letters -- it's for Russian users too :-)
952
+
953
+ [forum]: http://softwaremaniacs.org/forum/viewforum.php?id=6