prism-rails 1.5.1.2 → 1.6.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (174) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +7 -0
  3. data/LICENSE +21 -0
  4. data/README.md +94 -0
  5. data/lib/prism-rails.rb +3 -5
  6. data/lib/prism-rails/version.rb +1 -1
  7. data/vendor/assets/javascripts/{prism-autolinker.js → prism-plugin/prism-autolinker.js} +0 -0
  8. data/vendor/assets/javascripts/{prism-autoloader.js → prism-plugin/prism-autoloader.js} +1 -1
  9. data/vendor/assets/javascripts/{prism-command-line.js → prism-plugin/prism-command-line.js} +7 -3
  10. data/vendor/assets/javascripts/prism-plugin/prism-copy-to-clipboard.js +75 -0
  11. data/vendor/assets/javascripts/prism-plugin/prism-custom-class.js +29 -0
  12. data/vendor/assets/javascripts/{prism-data-uri-highlight.js → prism-plugin/prism-data-uri-highlight.js} +0 -0
  13. data/vendor/assets/javascripts/{prism-file-highlight.js → prism-plugin/prism-file-highlight.js} +0 -0
  14. data/vendor/assets/javascripts/{prism-highlight-keywords.js → prism-plugin/prism-highlight-keywords.js} +0 -0
  15. data/vendor/assets/javascripts/{prism-ie8.js → prism-plugin/prism-ie8.js} +0 -0
  16. data/vendor/assets/javascripts/{prism-jsonp-highlight.js → prism-plugin/prism-jsonp-highlight.js} +0 -0
  17. data/vendor/assets/javascripts/{prism-keep-markup.js → prism-plugin/prism-keep-markup.js} +0 -0
  18. data/vendor/assets/javascripts/{prism-line-highlight.js → prism-plugin/prism-line-highlight.js} +0 -0
  19. data/vendor/assets/javascripts/{prism-line-numbers.js → prism-plugin/prism-line-numbers.js} +0 -0
  20. data/vendor/assets/javascripts/{prism-normalize-whitespace.js → prism-plugin/prism-normalize-whitespace.js} +0 -0
  21. data/vendor/assets/javascripts/{prism-previewer-angle.js → prism-plugin/prism-previewer-angle.js} +0 -0
  22. data/vendor/assets/javascripts/{prism-previewer-base.js → prism-plugin/prism-previewer-base.js} +0 -0
  23. data/vendor/assets/javascripts/{prism-previewer-color.js → prism-plugin/prism-previewer-color.js} +0 -0
  24. data/vendor/assets/javascripts/{prism-previewer-easing.js → prism-plugin/prism-previewer-easing.js} +0 -0
  25. data/vendor/assets/javascripts/{prism-previewer-gradient.js → prism-plugin/prism-previewer-gradient.js} +0 -0
  26. data/vendor/assets/javascripts/{prism-previewer-time.js → prism-plugin/prism-previewer-time.js} +0 -0
  27. data/vendor/assets/javascripts/{prism-remove-initial-line-feed.js → prism-plugin/prism-remove-initial-line-feed.js} +0 -0
  28. data/vendor/assets/javascripts/{prism-show-invisibles.js → prism-plugin/prism-show-invisibles.js} +0 -0
  29. data/vendor/assets/javascripts/{prism-show-language.js → prism-plugin/prism-show-language.js} +10 -20
  30. data/vendor/assets/javascripts/prism-plugin/prism-toolbar.js +133 -0
  31. data/vendor/assets/javascripts/{prism-unescaped-markup.js → prism-plugin/prism-unescaped-markup.js} +0 -0
  32. data/vendor/assets/javascripts/{prism-wpd.js → prism-plugin/prism-wpd.js} +0 -0
  33. data/vendor/assets/javascripts/prism-rails.js +131 -0
  34. data/vendor/assets/javascripts/prism.js +293 -8
  35. data/vendor/assets/javascripts/{prism-abap.js → prism/prism-abap.js} +0 -0
  36. data/vendor/assets/javascripts/{prism-actionscript.js → prism/prism-actionscript.js} +0 -0
  37. data/vendor/assets/javascripts/{prism-ada.js → prism/prism-ada.js} +0 -0
  38. data/vendor/assets/javascripts/{prism-apacheconf.js → prism/prism-apacheconf.js} +0 -0
  39. data/vendor/assets/javascripts/{prism-apl.js → prism/prism-apl.js} +2 -2
  40. data/vendor/assets/javascripts/{prism-applescript.js → prism/prism-applescript.js} +0 -0
  41. data/vendor/assets/javascripts/{prism-asciidoc.js → prism/prism-asciidoc.js} +0 -0
  42. data/vendor/assets/javascripts/{prism-aspnet.js → prism/prism-aspnet.js} +0 -0
  43. data/vendor/assets/javascripts/{prism-autohotkey.js → prism/prism-autohotkey.js} +0 -0
  44. data/vendor/assets/javascripts/{prism-autoit.js → prism/prism-autoit.js} +0 -0
  45. data/vendor/assets/javascripts/{prism-bash.js → prism/prism-bash.js} +0 -0
  46. data/vendor/assets/javascripts/{prism-basic.js → prism/prism-basic.js} +0 -0
  47. data/vendor/assets/javascripts/{prism-batch.js → prism/prism-batch.js} +0 -0
  48. data/vendor/assets/javascripts/{prism-bison.js → prism/prism-bison.js} +0 -0
  49. data/vendor/assets/javascripts/{prism-brainfuck.js → prism/prism-brainfuck.js} +0 -0
  50. data/vendor/assets/javascripts/{prism-bro.js → prism/prism-bro.js} +0 -0
  51. data/vendor/assets/javascripts/{prism-c.js → prism/prism-c.js} +0 -0
  52. data/vendor/assets/javascripts/{prism-clike.js → prism/prism-clike.js} +0 -0
  53. data/vendor/assets/javascripts/{prism-coffeescript.js → prism/prism-coffeescript.js} +0 -0
  54. data/vendor/assets/javascripts/prism/prism-core.js +511 -0
  55. data/vendor/assets/javascripts/{prism-cpp.js → prism/prism-cpp.js} +0 -0
  56. data/vendor/assets/javascripts/{prism-crystal.js → prism/prism-crystal.js} +0 -0
  57. data/vendor/assets/javascripts/{prism-csharp.js → prism/prism-csharp.js} +0 -0
  58. data/vendor/assets/javascripts/{prism-css-extras.js → prism/prism-css-extras.js} +0 -0
  59. data/vendor/assets/javascripts/{prism-css.js → prism/prism-css.js} +0 -0
  60. data/vendor/assets/javascripts/{prism-d.js → prism/prism-d.js} +0 -0
  61. data/vendor/assets/javascripts/{prism-dart.js → prism/prism-dart.js} +0 -0
  62. data/vendor/assets/javascripts/{prism-diff.js → prism/prism-diff.js} +0 -0
  63. data/vendor/assets/javascripts/{prism-docker.js → prism/prism-docker.js} +0 -0
  64. data/vendor/assets/javascripts/{prism-eiffel.js → prism/prism-eiffel.js} +0 -0
  65. data/vendor/assets/javascripts/{prism-elixir.js → prism/prism-elixir.js} +0 -0
  66. data/vendor/assets/javascripts/{prism-erlang.js → prism/prism-erlang.js} +0 -0
  67. data/vendor/assets/javascripts/{prism-fortran.js → prism/prism-fortran.js} +0 -0
  68. data/vendor/assets/javascripts/{prism-fsharp.js → prism/prism-fsharp.js} +0 -0
  69. data/vendor/assets/javascripts/{prism-gherkin.js → prism/prism-gherkin.js} +0 -0
  70. data/vendor/assets/javascripts/{prism-git.js → prism/prism-git.js} +0 -0
  71. data/vendor/assets/javascripts/{prism-glsl.js → prism/prism-glsl.js} +0 -0
  72. data/vendor/assets/javascripts/{prism-go.js → prism/prism-go.js} +0 -0
  73. data/vendor/assets/javascripts/{prism-graphql.js → prism/prism-graphql.js} +0 -0
  74. data/vendor/assets/javascripts/{prism-groovy.js → prism/prism-groovy.js} +1 -1
  75. data/vendor/assets/javascripts/{prism-haml.js → prism/prism-haml.js} +0 -0
  76. data/vendor/assets/javascripts/{prism-handlebars.js → prism/prism-handlebars.js} +0 -0
  77. data/vendor/assets/javascripts/{prism-haskell.js → prism/prism-haskell.js} +0 -0
  78. data/vendor/assets/javascripts/{prism-haxe.js → prism/prism-haxe.js} +0 -0
  79. data/vendor/assets/javascripts/{prism-http.js → prism/prism-http.js} +0 -0
  80. data/vendor/assets/javascripts/{prism-icon.js → prism/prism-icon.js} +0 -0
  81. data/vendor/assets/javascripts/{prism-inform7.js → prism/prism-inform7.js} +0 -0
  82. data/vendor/assets/javascripts/{prism-ini.js → prism/prism-ini.js} +1 -1
  83. data/vendor/assets/javascripts/{prism-j.js → prism/prism-j.js} +0 -0
  84. data/vendor/assets/javascripts/{prism-jade.js → prism/prism-jade.js} +0 -0
  85. data/vendor/assets/javascripts/{prism-java.js → prism/prism-java.js} +0 -0
  86. data/vendor/assets/javascripts/{prism-javascript.js → prism/prism-javascript.js} +0 -0
  87. data/vendor/assets/javascripts/prism/prism-jolie.js +56 -0
  88. data/vendor/assets/javascripts/{prism-json.js → prism/prism-json.js} +0 -0
  89. data/vendor/assets/javascripts/{prism-jsx.js → prism/prism-jsx.js} +0 -0
  90. data/vendor/assets/javascripts/{prism-julia.js → prism/prism-julia.js} +0 -0
  91. data/vendor/assets/javascripts/{prism-keyman.js → prism/prism-keyman.js} +0 -0
  92. data/vendor/assets/javascripts/{prism-kotlin.js → prism/prism-kotlin.js} +0 -0
  93. data/vendor/assets/javascripts/{prism-latex.js → prism/prism-latex.js} +0 -0
  94. data/vendor/assets/javascripts/{prism-less.js → prism/prism-less.js} +0 -0
  95. data/vendor/assets/javascripts/{prism-livescript.js → prism/prism-livescript.js} +0 -0
  96. data/vendor/assets/javascripts/{prism-lolcode.js → prism/prism-lolcode.js} +0 -0
  97. data/vendor/assets/javascripts/{prism-lua.js → prism/prism-lua.js} +0 -0
  98. data/vendor/assets/javascripts/{prism-makefile.js → prism/prism-makefile.js} +0 -0
  99. data/vendor/assets/javascripts/{prism-markdown.js → prism/prism-markdown.js} +0 -0
  100. data/vendor/assets/javascripts/{prism-markup.js → prism/prism-markup.js} +0 -0
  101. data/vendor/assets/javascripts/{prism-matlab.js → prism/prism-matlab.js} +0 -0
  102. data/vendor/assets/javascripts/{prism-mel.js → prism/prism-mel.js} +0 -0
  103. data/vendor/assets/javascripts/{prism-mizar.js → prism/prism-mizar.js} +0 -0
  104. data/vendor/assets/javascripts/{prism-monkey.js → prism/prism-monkey.js} +0 -0
  105. data/vendor/assets/javascripts/{prism-nasm.js → prism/prism-nasm.js} +0 -0
  106. data/vendor/assets/javascripts/{prism-nginx.js → prism/prism-nginx.js} +0 -0
  107. data/vendor/assets/javascripts/{prism-nim.js → prism/prism-nim.js} +0 -0
  108. data/vendor/assets/javascripts/{prism-nix.js → prism/prism-nix.js} +0 -0
  109. data/vendor/assets/javascripts/prism/prism-nsis.js +26 -0
  110. data/vendor/assets/javascripts/{prism-objectivec.js → prism/prism-objectivec.js} +0 -0
  111. data/vendor/assets/javascripts/{prism-ocaml.js → prism/prism-ocaml.js} +0 -0
  112. data/vendor/assets/javascripts/{prism-oz.js → prism/prism-oz.js} +0 -0
  113. data/vendor/assets/javascripts/{prism-parigp.js → prism/prism-parigp.js} +0 -0
  114. data/vendor/assets/javascripts/{prism-parser.js → prism/prism-parser.js} +0 -0
  115. data/vendor/assets/javascripts/{prism-pascal.js → prism/prism-pascal.js} +0 -0
  116. data/vendor/assets/javascripts/{prism-perl.js → prism/prism-perl.js} +0 -0
  117. data/vendor/assets/javascripts/{prism-php-extras.js → prism/prism-php-extras.js} +0 -0
  118. data/vendor/assets/javascripts/{prism-php.js → prism/prism-php.js} +0 -0
  119. data/vendor/assets/javascripts/{prism-powershell.js → prism/prism-powershell.js} +0 -0
  120. data/vendor/assets/javascripts/{prism-processing.js → prism/prism-processing.js} +0 -0
  121. data/vendor/assets/javascripts/{prism-prolog.js → prism/prism-prolog.js} +0 -0
  122. data/vendor/assets/javascripts/{prism-properties.js → prism/prism-properties.js} +0 -0
  123. data/vendor/assets/javascripts/{prism-protobuf.js → prism/prism-protobuf.js} +0 -0
  124. data/vendor/assets/javascripts/{prism-puppet.js → prism/prism-puppet.js} +0 -0
  125. data/vendor/assets/javascripts/{prism-pure.js → prism/prism-pure.js} +0 -0
  126. data/vendor/assets/javascripts/{prism-python.js → prism/prism-python.js} +0 -0
  127. data/vendor/assets/javascripts/{prism-q.js → prism/prism-q.js} +0 -0
  128. data/vendor/assets/javascripts/{prism-qore.js → prism/prism-qore.js} +0 -0
  129. data/vendor/assets/javascripts/{prism-r.js → prism/prism-r.js} +0 -0
  130. data/vendor/assets/javascripts/prism/prism-reason.js +32 -0
  131. data/vendor/assets/javascripts/{prism-rest.js → prism/prism-rest.js} +0 -0
  132. data/vendor/assets/javascripts/{prism-rip.js → prism/prism-rip.js} +0 -0
  133. data/vendor/assets/javascripts/{prism-roboconf.js → prism/prism-roboconf.js} +0 -0
  134. data/vendor/assets/javascripts/{prism-ruby.js → prism/prism-ruby.js} +6 -0
  135. data/vendor/assets/javascripts/{prism-rust.js → prism/prism-rust.js} +0 -0
  136. data/vendor/assets/javascripts/{prism-sas.js → prism/prism-sas.js} +0 -0
  137. data/vendor/assets/javascripts/{prism-sass.js → prism/prism-sass.js} +0 -0
  138. data/vendor/assets/javascripts/{prism-scala.js → prism/prism-scala.js} +0 -0
  139. data/vendor/assets/javascripts/{prism-scheme.js → prism/prism-scheme.js} +0 -0
  140. data/vendor/assets/javascripts/{prism-scss.js → prism/prism-scss.js} +0 -0
  141. data/vendor/assets/javascripts/{prism-smalltalk.js → prism/prism-smalltalk.js} +0 -0
  142. data/vendor/assets/javascripts/{prism-smarty.js → prism/prism-smarty.js} +0 -0
  143. data/vendor/assets/javascripts/{prism-sql.js → prism/prism-sql.js} +0 -0
  144. data/vendor/assets/javascripts/{prism-stylus.js → prism/prism-stylus.js} +0 -0
  145. data/vendor/assets/javascripts/{prism-swift.js → prism/prism-swift.js} +0 -0
  146. data/vendor/assets/javascripts/{prism-tcl.js → prism/prism-tcl.js} +0 -0
  147. data/vendor/assets/javascripts/{prism-textile.js → prism/prism-textile.js} +0 -0
  148. data/vendor/assets/javascripts/{prism-twig.js → prism/prism-twig.js} +0 -0
  149. data/vendor/assets/javascripts/prism/prism-typescript.js +5 -0
  150. data/vendor/assets/javascripts/{prism-verilog.js → prism/prism-verilog.js} +0 -0
  151. data/vendor/assets/javascripts/{prism-vhdl.js → prism/prism-vhdl.js} +0 -0
  152. data/vendor/assets/javascripts/{prism-vim.js → prism/prism-vim.js} +0 -0
  153. data/vendor/assets/javascripts/{prism-wiki.js → prism/prism-wiki.js} +0 -0
  154. data/vendor/assets/javascripts/{prism-xojo.js → prism/prism-xojo.js} +0 -0
  155. data/vendor/assets/javascripts/{prism-yaml.js → prism/prism-yaml.js} +0 -0
  156. data/vendor/assets/stylesheets/{prism-autolinker.css → prism-plugin/prism-autolinker.css} +0 -0
  157. data/vendor/assets/stylesheets/{prism-command-line.css → prism-plugin/prism-command-line.css} +0 -0
  158. data/vendor/assets/stylesheets/{prism-ie8.css → prism-plugin/prism-ie8.css} +0 -0
  159. data/vendor/assets/stylesheets/{prism-line-highlight.css → prism-plugin/prism-line-highlight.css} +0 -0
  160. data/vendor/assets/stylesheets/{prism-line-numbers.css → prism-plugin/prism-line-numbers.css} +0 -0
  161. data/vendor/assets/stylesheets/{prism-previewer-angle.css → prism-plugin/prism-previewer-angle.css} +0 -0
  162. data/vendor/assets/stylesheets/{prism-previewer-base.css → prism-plugin/prism-previewer-base.css} +0 -0
  163. data/vendor/assets/stylesheets/{prism-previewer-color.css → prism-plugin/prism-previewer-color.css} +0 -0
  164. data/vendor/assets/stylesheets/{prism-previewer-easing.css → prism-plugin/prism-previewer-easing.css} +0 -0
  165. data/vendor/assets/stylesheets/{prism-previewer-gradient.css → prism-plugin/prism-previewer-gradient.css} +0 -0
  166. data/vendor/assets/stylesheets/{prism-previewer-time.css → prism-plugin/prism-previewer-time.css} +0 -0
  167. data/vendor/assets/stylesheets/{prism-show-invisibles.css → prism-plugin/prism-show-invisibles.css} +0 -0
  168. data/vendor/assets/stylesheets/prism-plugin/prism-toolbar.css +58 -0
  169. data/vendor/assets/stylesheets/{prism-unescaped-markup.css → prism-plugin/prism-unescaped-markup.css} +0 -0
  170. data/vendor/assets/stylesheets/{prism-wpd.css → prism-plugin/prism-wpd.css} +0 -0
  171. metadata +202 -162
  172. data/vendor/assets/javascripts/prism-nsis.js +0 -19
  173. data/vendor/assets/javascripts/prism-typescript.js +0 -3
  174. data/vendor/assets/stylesheets/prism-show-language.css +0 -27
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: c1437c16febe5cfcd2684f06663642f3d018be21
4
- data.tar.gz: 35e33cbfe4869341a54bfe2bf0e98f20e804d250
3
+ metadata.gz: 115d34618a66e2ae5facadee40baef80e6e264d1
4
+ data.tar.gz: 3af00fc130c2fea4e836cd3f72c135f1f2868ed4
5
5
  SHA512:
6
- metadata.gz: 0d4abb000415f67252c81c8ea116170aecbc660b00394785c54118ff3983b4a57584a047a1fad469dc8dafa0c1ea905b4607bcc485bded54424adc709e3b130b
7
- data.tar.gz: 5ed3ca00df1131d63907aa86e21b28a7448f8b21e2edbffeff2387daceb77f3fb45acdf2d59ba9d1e3087e6c7df8da8600e72a7bf184614eb1f1b2cbd6ecb85e
6
+ metadata.gz: fb30cb079017b13bcb0917539f5350fe963975e158de866ba2bab8df2c258d0696fef9f2a8be2ee3db920d07913bb1724b054c3ced1c55d48548e6074d23c0c2
7
+ data.tar.gz: bacd347e7e35878502093d527fb913a729819dfff4a6f8f287aeeb62604e4e3a48ced6a8a6e24254d467e1091e3980c67e5ffa732f44ee8053ea1dfa574b5b92
data/CHANGELOG.md ADDED
@@ -0,0 +1,7 @@
1
+ # Prism-rails Changelog
2
+ ## 1.6.0 (2017-01-02)
3
+ ### Prism.js changes see [Prism.js changelog](https://github.com/PrismJS/prism/blob/gh-pages/CHANGELOG.md)
4
+
5
+ ### Gem changes
6
+ * Require all languages in one file
7
+ * Sub directory for plugins js and css
data/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2016 Avi Charlop
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in
13
+ all copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
+ THE SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,94 @@
1
+ # prism-rails
2
+
3
+ prism-rails wraps the Prism.js library in a rails engine for simple use with the asset pipeline
4
+
5
+ Prism is a lightweight, robust, elegant syntax highlighting library.
6
+
7
+ ## Usage
8
+
9
+ Add the following to your application's Gemfile and run `bundle install`:
10
+
11
+ ```ruby
12
+ gem 'prism-rails'
13
+ ```
14
+
15
+ Add the following to your Javascript manifest file `application.js`:
16
+
17
+ ```ruby
18
+ //= require prism-rails
19
+ ```
20
+
21
+ Add the css for the default styling `application.css`:
22
+
23
+ ```ruby
24
+ *= require prism
25
+ ```
26
+
27
+ Or use one of the other themes below. See [Prism](http://prismjs.com) and [prism-themes](https://github.com/PrismJS/prism-themes) for examples.
28
+
29
+ * atom-dark
30
+ * base16-ateliersulphurpool.light
31
+ * cb
32
+ * coy
33
+ * dark
34
+ * duotone-dark
35
+ * duotone-earth
36
+ * duotone-forest
37
+ * duotone-light
38
+ * duotone-sea
39
+ * duotone-space
40
+ * funky
41
+ * ghcolors
42
+ * hopscotch
43
+ * okaidia
44
+ * pojoaque
45
+ * solarizedlight
46
+ * tomorrow
47
+ * twilight
48
+ * xonokai
49
+
50
+ ## Plugins
51
+
52
+ See [Prism](http://prismjs.com/#plugins) for more details about the plugins
53
+
54
+ * autolinker
55
+ * command-line
56
+ * ie8
57
+ * line-highlight
58
+ * line-numbers
59
+ * previewer-angle
60
+ * previewer-base
61
+ * previewer-color
62
+ * previewer-easing
63
+ * previewer-gradient
64
+ * previewer-time
65
+ * show-invisibles
66
+ * show-language
67
+ * unescaped-markup
68
+ * wpd
69
+
70
+ Add the following to your Javascript manifest file `application.js`:
71
+
72
+ ```ruby
73
+ //= require prism-plugin/prism-[plugin-name]
74
+ ```
75
+
76
+ Add the following to your `application.scss`:
77
+
78
+ ```ruby
79
+ *= require prism-plugin/prism-[plugin-name]
80
+ ```
81
+
82
+ ## Versioning
83
+ prism-rails 1.6.0 == Prism.js 1.6.0
84
+ Every attempt is made to mirror the currently shipping Prism.js version number wherever possible. The major, minor, and patch version numbers will always represent the Prism.js version. Should a gem bug be discovered, a 4th version identifier will be added and incremented.
85
+
86
+ ## Contributing
87
+
88
+ Bug reports and pull requests are welcome on GitHub at https://github.com/acharlop/prism-rails.
89
+
90
+
91
+ ## License
92
+
93
+ The gem is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).
94
+
data/lib/prism-rails.rb CHANGED
@@ -1,8 +1,6 @@
1
1
  require "prism-rails/version"
2
2
 
3
- module Prism
4
- module Rails
5
- class Engine < ::Rails::Engine
6
- end
7
- end
3
+ module PrismRails
4
+ class Engine < ::Rails::Engine
5
+ end
8
6
  end
@@ -1,3 +1,3 @@
1
1
  module Prism
2
- VERSION = "1.5.1.2"
2
+ VERSION = "1.6.0.1"
3
3
  end
@@ -4,7 +4,7 @@
4
4
  }
5
5
 
6
6
  // The dependencies map is built automatically with gulp
7
- var lang_dependencies = /*languages_placeholder[*/{"javascript":"clike","actionscript":"javascript","aspnet":"markup","bison":"c","c":"clike","csharp":"clike","cpp":"c","coffeescript":"javascript","crystal":"ruby","css-extras":"css","d":"clike","dart":"clike","fsharp":"clike","glsl":"clike","go":"clike","groovy":"clike","haml":"ruby","handlebars":"markup","haxe":"clike","jade":"javascript","java":"clike","kotlin":"clike","less":"css","markdown":"markup","nginx":"clike","objectivec":"c","parser":"markup","php":"clike","php-extras":"php","processing":"clike","protobuf":"clike","qore":"clike","jsx":["markup","javascript"],"ruby":"clike","sass":"css","scss":"css","scala":"java","smarty":"markup","swift":"clike","textile":"markup","twig":"markup","typescript":"javascript","wiki":"markup"}/*]*/;
7
+ var lang_dependencies = /*languages_placeholder[*/{"javascript":"clike","actionscript":"javascript","aspnet":"markup","bison":"c","c":"clike","csharp":"clike","cpp":"c","coffeescript":"javascript","crystal":"ruby","css-extras":"css","d":"clike","dart":"clike","fsharp":"clike","glsl":"clike","go":"clike","groovy":"clike","haml":"ruby","handlebars":"markup","haxe":"clike","jade":"javascript","java":"clike","jolie":"clike","kotlin":"clike","less":"css","markdown":"markup","nginx":"clike","objectivec":"c","parser":"markup","php":"clike","php-extras":"php","processing":"clike","protobuf":"clike","qore":"clike","jsx":["markup","javascript"],"reason":"clike","ruby":"clike","sass":"css","scss":"css","scala":"java","smarty":"markup","swift":"clike","textile":"markup","twig":"markup","typescript":"javascript","wiki":"markup"}/*]*/;
8
8
 
9
9
  var lang_data = {};
10
10
 
@@ -34,14 +34,18 @@ Prism.hooks.add('complete', function (env) {
34
34
  pre.className += ' command-line';
35
35
  }
36
36
 
37
+ var getAttribute = function(key, defaultValue) {
38
+ return (pre.getAttribute(key) || defaultValue).replace(/"/g, '&quot');
39
+ };
40
+
37
41
  // Create the "rows" that will become the command-line prompts. -- cwells
38
42
  var lines = new Array(1 + env.code.split('\n').length);
39
- var promptText = pre.getAttribute('data-prompt') || '';
43
+ var promptText = getAttribute('data-prompt', '');
40
44
  if (promptText !== '') {
41
45
  lines = lines.join('<span data-prompt="' + promptText + '"></span>');
42
46
  } else {
43
- var user = pre.getAttribute('data-user') || 'user';
44
- var host = pre.getAttribute('data-host') || 'localhost';
47
+ var user = getAttribute('data-user', 'user');
48
+ var host = getAttribute('data-host', 'localhost');
45
49
  lines = lines.join('<span data-user="' + user + '" data-host="' + host + '"></span>');
46
50
  }
47
51
 
@@ -0,0 +1,75 @@
1
+ (function(){
2
+ if (typeof self === 'undefined' || !self.Prism || !self.document) {
3
+ return;
4
+ }
5
+
6
+ if (!Prism.plugins.toolbar) {
7
+ console.warn('Copy to Clipboard plugin loaded before Toolbar plugin.');
8
+
9
+ return;
10
+ }
11
+
12
+ var Clipboard = window.Clipboard || undefined;
13
+
14
+ if (!Clipboard && typeof require === 'function') {
15
+ Clipboard = require('clipboard');
16
+ }
17
+
18
+ var callbacks = [];
19
+
20
+ if (!Clipboard) {
21
+ var script = document.createElement('script');
22
+ var head = document.querySelector('head');
23
+
24
+ script.onload = function() {
25
+ Clipboard = window.Clipboard;
26
+
27
+ if (Clipboard) {
28
+ while (callbacks.length) {
29
+ callbacks.pop()();
30
+ }
31
+ }
32
+ };
33
+
34
+ script.src = 'https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/1.5.8/clipboard.min.js';
35
+ head.appendChild(script);
36
+ }
37
+
38
+ Prism.plugins.toolbar.registerButton('copy-to-clipboard', function (env) {
39
+ var linkCopy = document.createElement('a');
40
+ linkCopy.textContent = 'Copy';
41
+
42
+ if (!Clipboard) {
43
+ callbacks.push(registerClipboard);
44
+ } else {
45
+ registerClipboard();
46
+ }
47
+
48
+ return linkCopy;
49
+
50
+ function registerClipboard() {
51
+ var clip = new Clipboard(linkCopy, {
52
+ 'text': function () {
53
+ return env.code;
54
+ }
55
+ });
56
+
57
+ clip.on('success', function() {
58
+ linkCopy.textContent = 'Copied!';
59
+
60
+ resetText();
61
+ });
62
+ clip.on('error', function () {
63
+ linkCopy.textContent = 'Press Ctrl+C to copy';
64
+
65
+ resetText();
66
+ });
67
+ }
68
+
69
+ function resetText() {
70
+ setTimeout(function () {
71
+ linkCopy.textContent = 'Copy';
72
+ }, 5000);
73
+ }
74
+ });
75
+ })();
@@ -0,0 +1,29 @@
1
+ (function(){
2
+
3
+ if (
4
+ (typeof self === 'undefined' || !self.Prism) &&
5
+ (typeof global === 'undefined' || !global.Prism)
6
+ ) {
7
+ return;
8
+ }
9
+
10
+ var options = {};
11
+ Prism.plugins.customClass = {
12
+ map: function map(cm) {
13
+ options.classMap = cm;
14
+ },
15
+ prefix: function prefix(string) {
16
+ options.prefixString = string;
17
+ }
18
+ }
19
+
20
+ Prism.hooks.add('wrap', function (env) {
21
+ if (!options.classMap && !options.prefixString) {
22
+ return;
23
+ }
24
+ env.classes = env.classes.map(function(c) {
25
+ return (options.prefixString || '') + (options.classMap[c] || c);
26
+ });
27
+ });
28
+
29
+ })();
@@ -4,35 +4,25 @@ if (typeof self === 'undefined' || !self.Prism || !self.document) {
4
4
  return;
5
5
  }
6
6
 
7
+ if (!Prism.plugins.toolbar) {
8
+ console.warn('Show Languages plugin loaded before Toolbar plugin.');
9
+
10
+ return;
11
+ }
12
+
7
13
  // The languages map is built automatically with gulp
8
14
  var Languages = /*languages_placeholder[*/{"html":"HTML","xml":"XML","svg":"SVG","mathml":"MathML","css":"CSS","clike":"C-like","javascript":"JavaScript","abap":"ABAP","actionscript":"ActionScript","apacheconf":"Apache Configuration","apl":"APL","applescript":"AppleScript","asciidoc":"AsciiDoc","aspnet":"ASP.NET (C#)","autoit":"AutoIt","autohotkey":"AutoHotkey","basic":"BASIC","csharp":"C#","cpp":"C++","coffeescript":"CoffeeScript","css-extras":"CSS Extras","fsharp":"F#","glsl":"GLSL","graphql":"GraphQL","http":"HTTP","inform7":"Inform 7","json":"JSON","latex":"LaTeX","livescript":"LiveScript","lolcode":"LOLCODE","matlab":"MATLAB","mel":"MEL","nasm":"NASM","nginx":"nginx","nsis":"NSIS","objectivec":"Objective-C","ocaml":"OCaml","parigp":"PARI/GP","php":"PHP","php-extras":"PHP Extras","powershell":"PowerShell","properties":".properties","protobuf":"Protocol Buffers","jsx":"React JSX","rest":"reST (reStructuredText)","sas":"SAS","sass":"Sass (Sass)","scss":"Sass (Scss)","sql":"SQL","typescript":"TypeScript","vhdl":"VHDL","vim":"vim","wiki":"Wiki markup","xojo":"Xojo (REALbasic)","yaml":"YAML"}/*]*/;
9
- Prism.hooks.add('before-highlight', function(env) {
15
+ Prism.plugins.toolbar.registerButton('show-language', function(env) {
10
16
  var pre = env.element.parentNode;
11
17
  if (!pre || !/pre/i.test(pre.nodeName)) {
12
18
  return;
13
19
  }
14
20
  var language = pre.getAttribute('data-language') || Languages[env.language] || (env.language.substring(0, 1).toUpperCase() + env.language.substring(1));
15
21
 
16
- /* check if the divs already exist */
17
- var sib = pre.previousSibling;
18
- var div, div2;
19
- if (sib && /\s*\bprism-show-language\b\s*/.test(sib.className) &&
20
- sib.firstChild &&
21
- /\s*\bprism-show-language-label\b\s*/.test(sib.firstChild.className)) {
22
- div2 = sib.firstChild;
23
- } else {
24
- div = document.createElement('div');
25
- div2 = document.createElement('div');
22
+ var element = document.createElement('span');
23
+ element.textContent = language;
26
24
 
27
- div2.className = 'prism-show-language-label';
28
-
29
- div.className = 'prism-show-language';
30
- div.appendChild(div2);
31
-
32
- pre.parentNode.insertBefore(div, pre);
33
- }
34
-
35
- div2.innerHTML = language;
25
+ return element;
36
26
  });
37
27
 
38
28
  })();
@@ -0,0 +1,133 @@
1
+ (function(){
2
+ if (typeof self === 'undefined' || !self.Prism || !self.document) {
3
+ return;
4
+ }
5
+
6
+ var callbacks = [];
7
+ var map = {};
8
+ var noop = function() {};
9
+
10
+ Prism.plugins.toolbar = {};
11
+
12
+ /**
13
+ * Register a button callback with the toolbar.
14
+ *
15
+ * @param {string} key
16
+ * @param {Object|Function} opts
17
+ */
18
+ var registerButton = Prism.plugins.toolbar.registerButton = function (key, opts) {
19
+ var callback;
20
+
21
+ if (typeof opts === 'function') {
22
+ callback = opts;
23
+ } else {
24
+ callback = function (env) {
25
+ var element;
26
+
27
+ if (typeof opts.onClick === 'function') {
28
+ element = document.createElement('button');
29
+ element.type = 'button';
30
+ element.addEventListener('click', function () {
31
+ opts.onClick.call(this, env);
32
+ });
33
+ } else if (typeof opts.url === 'string') {
34
+ element = document.createElement('a');
35
+ element.href = opts.url;
36
+ } else {
37
+ element = document.createElement('span');
38
+ }
39
+
40
+ element.textContent = opts.text;
41
+
42
+ return element;
43
+ };
44
+ }
45
+
46
+ callbacks.push(map[key] = callback);
47
+ };
48
+
49
+ /**
50
+ * Post-highlight Prism hook callback.
51
+ *
52
+ * @param env
53
+ */
54
+ var hook = Prism.plugins.toolbar.hook = function (env) {
55
+ // Check if inline or actual code block (credit to line-numbers plugin)
56
+ var pre = env.element.parentNode;
57
+ if (!pre || !/pre/i.test(pre.nodeName)) {
58
+ return;
59
+ }
60
+
61
+ // Autoloader rehighlights, so only do this once.
62
+ if (pre.classList.contains('code-toolbar')) {
63
+ return;
64
+ }
65
+
66
+ pre.classList.add('code-toolbar');
67
+
68
+ // Setup the toolbar
69
+ var toolbar = document.createElement('div');
70
+ toolbar.classList.add('toolbar');
71
+
72
+ if (document.body.hasAttribute('data-toolbar-order')) {
73
+ callbacks = document.body.getAttribute('data-toolbar-order').split(',').map(function(key) {
74
+ return map[key] || noop;
75
+ });
76
+ }
77
+
78
+ callbacks.forEach(function(callback) {
79
+ var element = callback(env);
80
+
81
+ if (!element) {
82
+ return;
83
+ }
84
+
85
+ var item = document.createElement('div');
86
+ item.classList.add('toolbar-item');
87
+
88
+ item.appendChild(element);
89
+ toolbar.appendChild(item);
90
+ });
91
+
92
+ // Add our toolbar to the <pre> tag
93
+ pre.appendChild(toolbar);
94
+ };
95
+
96
+ registerButton('label', function(env) {
97
+ var pre = env.element.parentNode;
98
+ if (!pre || !/pre/i.test(pre.nodeName)) {
99
+ return;
100
+ }
101
+
102
+ if (!pre.hasAttribute('data-label')) {
103
+ return;
104
+ }
105
+
106
+ var element, template;
107
+ var text = pre.getAttribute('data-label');
108
+ try {
109
+ // Any normal text will blow up this selector.
110
+ template = document.querySelector('template#' + text);
111
+ } catch (e) {}
112
+
113
+ if (template) {
114
+ element = template.content;
115
+ } else {
116
+ if (pre.hasAttribute('data-url')) {
117
+ element = document.createElement('a');
118
+ element.href = pre.getAttribute('data-url');
119
+ } else {
120
+ element = document.createElement('span');
121
+ }
122
+
123
+ element.textContent = text;
124
+ }
125
+
126
+ return element;
127
+ });
128
+
129
+ /**
130
+ * Register the toolbar with Prism.
131
+ */
132
+ Prism.hooks.add('complete', hook);
133
+ })();