prism-rails 1.6.0.3 → 1.19.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/CHANGELOG.md +3 -0
- data/README.md +88 -44
- data/lib/prism-rails/version.rb +1 -1
- data/vendor/assets/javascripts/languages/index.js +82 -0
- data/vendor/assets/javascripts/{prism → languages}/prism-abap.js +2 -2
- data/vendor/assets/javascripts/languages/prism-abnf.js +54 -0
- data/vendor/assets/javascripts/{prism → languages}/prism-actionscript.js +3 -5
- data/vendor/assets/javascripts/{prism → languages}/prism-ada.js +2 -2
- data/vendor/assets/javascripts/languages/prism-antlr4.js +65 -0
- data/vendor/assets/javascripts/languages/prism-apacheconf.js +47 -0
- data/vendor/assets/javascripts/{prism → languages}/prism-apl.js +8 -5
- data/vendor/assets/javascripts/{prism → languages}/prism-applescript.js +3 -3
- data/vendor/assets/javascripts/languages/prism-aql.js +41 -0
- data/vendor/assets/javascripts/languages/prism-arduino.js +5 -0
- data/vendor/assets/javascripts/languages/prism-arff.js +10 -0
- data/vendor/assets/javascripts/{prism → languages}/prism-asciidoc.js +23 -60
- data/vendor/assets/javascripts/languages/prism-asm6502.js +28 -0
- data/vendor/assets/javascripts/{prism → languages}/prism-aspnet.js +22 -10
- data/vendor/assets/javascripts/languages/prism-autohotkey.js +27 -0
- data/vendor/assets/javascripts/{prism → languages}/prism-autoit.js +1 -0
- data/vendor/assets/javascripts/languages/prism-bash.js +197 -0
- data/vendor/assets/javascripts/{prism → languages}/prism-basic.js +5 -2
- data/vendor/assets/javascripts/{prism → languages}/prism-batch.js +0 -0
- data/vendor/assets/javascripts/languages/prism-bbcode.js +27 -0
- data/vendor/assets/javascripts/{prism → languages}/prism-bison.js +0 -0
- data/vendor/assets/javascripts/languages/prism-bnf.js +21 -0
- data/vendor/assets/javascripts/{prism → languages}/prism-brainfuck.js +0 -0
- data/vendor/assets/javascripts/languages/prism-brightscript.js +44 -0
- data/vendor/assets/javascripts/languages/prism-bro.js +48 -0
- data/vendor/assets/javascripts/languages/prism-c.js +41 -0
- data/vendor/assets/javascripts/languages/prism-cil.js +27 -0
- data/vendor/assets/javascripts/languages/prism-clike.js +30 -0
- data/vendor/assets/javascripts/languages/prism-clojure.js +16 -0
- data/vendor/assets/javascripts/languages/prism-cmake.js +29 -0
- data/vendor/assets/javascripts/{prism → languages}/prism-coffeescript.js +6 -5
- data/vendor/assets/javascripts/languages/prism-concurnas.js +48 -0
- data/vendor/assets/javascripts/languages/prism-core.js +627 -0
- data/vendor/assets/javascripts/languages/prism-cpp.js +21 -0
- data/vendor/assets/javascripts/{prism → languages}/prism-crystal.js +5 -7
- data/vendor/assets/javascripts/languages/prism-csharp.js +81 -0
- data/vendor/assets/javascripts/languages/prism-csp.js +25 -0
- data/vendor/assets/javascripts/languages/prism-css-extras.js +109 -0
- data/vendor/assets/javascripts/languages/prism-css.js +62 -0
- data/vendor/assets/javascripts/{prism → languages}/prism-d.js +49 -34
- data/vendor/assets/javascripts/{prism → languages}/prism-dart.js +8 -2
- data/vendor/assets/javascripts/languages/prism-diff.js +54 -0
- data/vendor/assets/javascripts/languages/prism-django.js +60 -0
- data/vendor/assets/javascripts/languages/prism-dns-zone-file.js +33 -0
- data/vendor/assets/javascripts/languages/prism-docker.js +11 -0
- data/vendor/assets/javascripts/languages/prism-ebnf.js +22 -0
- data/vendor/assets/javascripts/{prism → languages}/prism-eiffel.js +20 -7
- data/vendor/assets/javascripts/languages/prism-ejs.js +24 -0
- data/vendor/assets/javascripts/{prism → languages}/prism-elixir.js +14 -15
- data/vendor/assets/javascripts/languages/prism-elm.js +44 -0
- data/vendor/assets/javascripts/languages/prism-erb.js +20 -0
- data/vendor/assets/javascripts/{prism → languages}/prism-erlang.js +7 -4
- data/vendor/assets/javascripts/languages/prism-etlua.js +23 -0
- data/vendor/assets/javascripts/languages/prism-factor.js +403 -0
- data/vendor/assets/javascripts/languages/prism-firestore-security-rules.js +35 -0
- data/vendor/assets/javascripts/languages/prism-flow.js +35 -0
- data/vendor/assets/javascripts/{prism → languages}/prism-fortran.js +5 -2
- data/vendor/assets/javascripts/languages/prism-fsharp.js +67 -0
- data/vendor/assets/javascripts/languages/prism-ftl.js +97 -0
- data/vendor/assets/javascripts/languages/prism-gcode.js +15 -0
- data/vendor/assets/javascripts/languages/prism-gdscript.js +27 -0
- data/vendor/assets/javascripts/languages/prism-gedcom.js +28 -0
- data/vendor/assets/javascripts/languages/prism-gherkin.js +85 -0
- data/vendor/assets/javascripts/{prism → languages}/prism-git.js +2 -2
- data/vendor/assets/javascripts/{prism → languages}/prism-glsl.js +3 -3
- data/vendor/assets/javascripts/languages/prism-gml.js +7 -0
- data/vendor/assets/javascripts/languages/prism-go.js +12 -0
- data/vendor/assets/javascripts/languages/prism-graphql.js +31 -0
- data/vendor/assets/javascripts/{prism → languages}/prism-groovy.js +12 -10
- data/vendor/assets/javascripts/{prism → languages}/prism-haml.js +14 -26
- data/vendor/assets/javascripts/languages/prism-handlebars.js +37 -0
- data/vendor/assets/javascripts/languages/prism-haskell.js +38 -0
- data/vendor/assets/javascripts/{prism → languages}/prism-haxe.js +4 -2
- data/vendor/assets/javascripts/languages/prism-hcl.js +65 -0
- data/vendor/assets/javascripts/languages/prism-hpkp.js +20 -0
- data/vendor/assets/javascripts/languages/prism-hsts.js +20 -0
- data/vendor/assets/javascripts/languages/prism-http.js +77 -0
- data/vendor/assets/javascripts/languages/prism-ichigojam.js +15 -0
- data/vendor/assets/javascripts/{prism → languages}/prism-icon.js +4 -1
- data/vendor/assets/javascripts/{prism → languages}/prism-inform7.js +6 -3
- data/vendor/assets/javascripts/{prism → languages}/prism-ini.js +2 -2
- data/vendor/assets/javascripts/languages/prism-io.js +31 -0
- data/vendor/assets/javascripts/{prism → languages}/prism-j.js +5 -2
- data/vendor/assets/javascripts/{prism → languages}/prism-jade.js +0 -0
- data/vendor/assets/javascripts/languages/prism-java.js +63 -0
- data/vendor/assets/javascripts/languages/prism-javadoc.js +54 -0
- data/vendor/assets/javascripts/languages/prism-javadoclike.js +87 -0
- data/vendor/assets/javascripts/languages/prism-javascript.js +91 -0
- data/vendor/assets/javascripts/languages/prism-javastacktrace.js +93 -0
- data/vendor/assets/javascripts/{prism → languages}/prism-jolie.js +9 -10
- data/vendor/assets/javascripts/languages/prism-jq.js +67 -0
- data/vendor/assets/javascripts/languages/prism-js-extras.js +104 -0
- data/vendor/assets/javascripts/languages/prism-js-templates.js +346 -0
- data/vendor/assets/javascripts/languages/prism-jsdoc.js +73 -0
- data/vendor/assets/javascripts/languages/prism-json.js +19 -0
- data/vendor/assets/javascripts/languages/prism-json5.js +23 -0
- data/vendor/assets/javascripts/languages/prism-jsonp.js +7 -0
- data/vendor/assets/javascripts/languages/prism-jsx.js +126 -0
- data/vendor/assets/javascripts/languages/prism-julia.js +13 -0
- data/vendor/assets/javascripts/languages/prism-keyman.js +14 -0
- data/vendor/assets/javascripts/{prism → languages}/prism-kotlin.js +6 -6
- data/vendor/assets/javascripts/{prism → languages}/prism-latex.js +16 -13
- data/vendor/assets/javascripts/languages/prism-latte.js +69 -0
- data/vendor/assets/javascripts/{prism → languages}/prism-less.js +3 -9
- data/vendor/assets/javascripts/languages/prism-lilypond.js +69 -0
- data/vendor/assets/javascripts/languages/prism-liquid.js +12 -0
- data/vendor/assets/javascripts/languages/prism-lisp.js +197 -0
- data/vendor/assets/javascripts/{prism → languages}/prism-livescript.js +19 -18
- data/vendor/assets/javascripts/{prism → languages}/prism-lolcode.js +3 -2
- data/vendor/assets/javascripts/{prism → languages}/prism-lua.js +0 -0
- data/vendor/assets/javascripts/{prism → languages}/prism-makefile.js +5 -2
- data/vendor/assets/javascripts/languages/prism-markdown.js +344 -0
- data/vendor/assets/javascripts/languages/prism-markup-templating.js +123 -0
- data/vendor/assets/javascripts/languages/prism-markup.js +103 -0
- data/vendor/assets/javascripts/{prism → languages}/prism-matlab.js +5 -3
- data/vendor/assets/javascripts/{prism → languages}/prism-mel.js +7 -3
- data/vendor/assets/javascripts/{prism → languages}/prism-mizar.js +0 -0
- data/vendor/assets/javascripts/{prism → languages}/prism-monkey.js +9 -3
- data/vendor/assets/javascripts/languages/prism-moonscript.js +57 -0
- data/vendor/assets/javascripts/languages/prism-n1ql.js +18 -0
- data/vendor/assets/javascripts/languages/prism-n4js.js +14 -0
- data/vendor/assets/javascripts/languages/prism-nand2tetris-hdl.js +9 -0
- data/vendor/assets/javascripts/languages/prism-nasm.js +24 -0
- data/vendor/assets/javascripts/languages/prism-neon.js +41 -0
- data/vendor/assets/javascripts/languages/prism-nginx.js +11 -0
- data/vendor/assets/javascripts/{prism → languages}/prism-nim.js +4 -1
- data/vendor/assets/javascripts/{prism → languages}/prism-nix.js +2 -1
- data/vendor/assets/javascripts/languages/prism-nsis.js +29 -0
- data/vendor/assets/javascripts/languages/prism-objectivec.js +7 -0
- data/vendor/assets/javascripts/languages/prism-ocaml.js +41 -0
- data/vendor/assets/javascripts/languages/prism-opencl.js +54 -0
- data/vendor/assets/javascripts/{prism → languages}/prism-oz.js +6 -2
- data/vendor/assets/javascripts/{prism → languages}/prism-parigp.js +4 -1
- data/vendor/assets/javascripts/languages/prism-parser.js +73 -0
- data/vendor/assets/javascripts/{prism → languages}/prism-pascal.js +9 -4
- data/vendor/assets/javascripts/languages/prism-pascaligo.js +62 -0
- data/vendor/assets/javascripts/languages/prism-pcaxis.js +53 -0
- data/vendor/assets/javascripts/languages/prism-perl.js +191 -0
- data/vendor/assets/javascripts/{prism → languages}/prism-php-extras.js +3 -3
- data/vendor/assets/javascripts/languages/prism-php.js +130 -0
- data/vendor/assets/javascripts/languages/prism-phpdoc.js +27 -0
- data/vendor/assets/javascripts/languages/prism-plsql.js +26 -0
- data/vendor/assets/javascripts/languages/prism-powershell.js +60 -0
- data/vendor/assets/javascripts/{prism → languages}/prism-processing.js +2 -2
- data/vendor/assets/javascripts/{prism → languages}/prism-prolog.js +4 -1
- data/vendor/assets/javascripts/{prism → languages}/prism-properties.js +2 -2
- data/vendor/assets/javascripts/languages/prism-protobuf.js +36 -0
- data/vendor/assets/javascripts/languages/prism-pug.js +181 -0
- data/vendor/assets/javascripts/{prism → languages}/prism-puppet.js +7 -2
- data/vendor/assets/javascripts/{prism → languages}/prism-pure.js +19 -17
- data/vendor/assets/javascripts/languages/prism-python.js +64 -0
- data/vendor/assets/javascripts/{prism → languages}/prism-q.js +13 -6
- data/vendor/assets/javascripts/languages/prism-qml.js +58 -0
- data/vendor/assets/javascripts/{prism → languages}/prism-qore.js +7 -4
- data/vendor/assets/javascripts/{prism → languages}/prism-r.js +5 -2
- data/vendor/assets/javascripts/{prism → languages}/prism-reason.js +4 -8
- data/vendor/assets/javascripts/languages/prism-regex.js +97 -0
- data/vendor/assets/javascripts/languages/prism-renpy.js +29 -0
- data/vendor/assets/javascripts/{prism → languages}/prism-rest.js +4 -4
- data/vendor/assets/javascripts/{prism → languages}/prism-rip.js +7 -3
- data/vendor/assets/javascripts/{prism → languages}/prism-roboconf.js +0 -0
- data/vendor/assets/javascripts/languages/prism-robotframework.js +104 -0
- data/vendor/assets/javascripts/{prism → languages}/prism-ruby.js +49 -15
- data/vendor/assets/javascripts/languages/prism-rust.js +68 -0
- data/vendor/assets/javascripts/languages/prism-sas.js +302 -0
- data/vendor/assets/javascripts/{prism → languages}/prism-sass.js +1 -2
- data/vendor/assets/javascripts/{prism → languages}/prism-scala.js +10 -11
- data/vendor/assets/javascripts/languages/prism-scheme.js +33 -0
- data/vendor/assets/javascripts/{prism → languages}/prism-scss.js +18 -16
- data/vendor/assets/javascripts/languages/prism-shell-session.js +54 -0
- data/vendor/assets/javascripts/{prism → languages}/prism-smalltalk.js +9 -9
- data/vendor/assets/javascripts/languages/prism-smarty.js +87 -0
- data/vendor/assets/javascripts/languages/prism-solidity.js +20 -0
- data/vendor/assets/javascripts/languages/prism-solution-file.js +51 -0
- data/vendor/assets/javascripts/languages/prism-soy.js +96 -0
- data/vendor/assets/javascripts/languages/prism-sparql.js +18 -0
- data/vendor/assets/javascripts/languages/prism-splunk-spl.js +24 -0
- data/vendor/assets/javascripts/languages/prism-sqf.js +34 -0
- data/vendor/assets/javascripts/languages/prism-sql.js +24 -0
- data/vendor/assets/javascripts/{prism → languages}/prism-stylus.js +16 -7
- data/vendor/assets/javascripts/languages/prism-swift.js +25 -0
- data/vendor/assets/javascripts/languages/prism-t4-cs.js +1 -0
- data/vendor/assets/javascripts/languages/prism-t4-templating.js +49 -0
- data/vendor/assets/javascripts/languages/prism-t4-vb.js +1 -0
- data/vendor/assets/javascripts/languages/prism-tap.js +20 -0
- data/vendor/assets/javascripts/languages/prism-tcl.js +46 -0
- data/vendor/assets/javascripts/{prism → languages}/prism-textile.js +35 -32
- data/vendor/assets/javascripts/languages/prism-toml.js +43 -0
- data/vendor/assets/javascripts/languages/prism-tsx.js +2 -0
- data/vendor/assets/javascripts/languages/prism-tt2.js +53 -0
- data/vendor/assets/javascripts/languages/prism-turtle.js +54 -0
- data/vendor/assets/javascripts/{prism → languages}/prism-twig.js +8 -8
- data/vendor/assets/javascripts/languages/prism-typescript.js +7 -0
- data/vendor/assets/javascripts/languages/prism-vala.js +74 -0
- data/vendor/assets/javascripts/languages/prism-vbnet.js +15 -0
- data/vendor/assets/javascripts/languages/prism-velocity.js +72 -0
- data/vendor/assets/javascripts/languages/prism-verilog.js +20 -0
- data/vendor/assets/javascripts/{prism → languages}/prism-vhdl.js +2 -2
- data/vendor/assets/javascripts/{prism → languages}/prism-vim.js +1 -1
- data/vendor/assets/javascripts/languages/prism-visual-basic.js +34 -0
- data/vendor/assets/javascripts/languages/prism-wasm.js +31 -0
- data/vendor/assets/javascripts/{prism → languages}/prism-wiki.js +7 -6
- data/vendor/assets/javascripts/languages/prism-xeora.js +114 -0
- data/vendor/assets/javascripts/{prism → languages}/prism-xojo.js +1 -1
- data/vendor/assets/javascripts/languages/prism-xquery.js +162 -0
- data/vendor/assets/javascripts/languages/prism-yaml.js +76 -0
- data/vendor/assets/javascripts/languages/prism-zig.js +97 -0
- data/vendor/assets/javascripts/prism-plugin/prism-autolinker.js +13 -8
- data/vendor/assets/javascripts/prism-plugin/prism-autoloader.js +306 -95
- data/vendor/assets/javascripts/prism-plugin/prism-command-line.js +96 -38
- data/vendor/assets/javascripts/prism-plugin/prism-copy-to-clipboard.js +10 -10
- data/vendor/assets/javascripts/prism-plugin/prism-custom-class.js +89 -23
- data/vendor/assets/javascripts/prism-plugin/prism-data-uri-highlight.js +2 -2
- data/vendor/assets/javascripts/prism-plugin/prism-diff-highlight.js +83 -0
- data/vendor/assets/javascripts/prism-plugin/prism-download-button.js +19 -0
- data/vendor/assets/javascripts/prism-plugin/prism-file-highlight.js +53 -41
- data/vendor/assets/javascripts/prism-plugin/prism-filter-highlight-all.js +125 -0
- data/vendor/assets/javascripts/prism-plugin/prism-inline-color.js +88 -0
- data/vendor/assets/javascripts/prism-plugin/prism-jsonp-highlight.js +124 -69
- data/vendor/assets/javascripts/prism-plugin/prism-keep-markup.js +4 -2
- data/vendor/assets/javascripts/prism-plugin/prism-line-highlight.js +195 -115
- data/vendor/assets/javascripts/prism-plugin/prism-line-numbers.js +154 -43
- data/vendor/assets/javascripts/prism-plugin/prism-match-braces.js +184 -0
- data/vendor/assets/javascripts/prism-plugin/prism-normalize-whitespace.js +29 -11
- data/vendor/assets/javascripts/prism-plugin/prism-previewers.js +703 -0
- data/vendor/assets/javascripts/prism-plugin/prism-remove-initial-line-feed.js +2 -2
- data/vendor/assets/javascripts/prism-plugin/prism-show-invisibles.js +83 -18
- data/vendor/assets/javascripts/prism-plugin/prism-show-language.js +190 -19
- data/vendor/assets/javascripts/prism-plugin/prism-toolbar.js +53 -8
- data/vendor/assets/javascripts/prism-plugin/prism-unescaped-markup.js +11 -7
- data/vendor/assets/javascripts/prism-plugin/prism-wpd.js +12 -12
- data/vendor/assets/javascripts/prism.js +210 -127
- data/vendor/assets/stylesheets/prism-plugin/prism-diff-highlight.css +13 -0
- data/vendor/assets/stylesheets/prism-plugin/prism-inline-color.css +9 -0
- data/vendor/assets/stylesheets/prism-plugin/prism-line-highlight.css +5 -0
- data/vendor/assets/stylesheets/prism-plugin/prism-line-numbers.css +4 -3
- data/vendor/assets/stylesheets/prism-plugin/prism-match-braces.css +29 -0
- data/vendor/assets/stylesheets/prism-plugin/prism-previewers.css +242 -0
- data/vendor/assets/stylesheets/prism-plugin/prism-show-invisibles.css +7 -6
- data/vendor/assets/stylesheets/prism-plugin/prism-toolbar.css +21 -15
- data/vendor/assets/stylesheets/prism-plugin/prism-unescaped-markup.css +4 -4
- data/vendor/assets/stylesheets/prism-theme/prism-a11y-dark.css +161 -0
- data/vendor/assets/stylesheets/{prism-atom-dark.css → prism-theme/prism-atom-dark.css} +10 -13
- data/vendor/assets/stylesheets/prism-theme/prism-autolinker.css +3 -0
- data/vendor/assets/stylesheets/{prism-base16-ateliersulphurpool.light.css → prism-theme/prism-base16-ateliersulphurpool.light.css} +57 -53
- data/vendor/assets/stylesheets/{prism-cb.css → prism-theme/prism-cb.css} +27 -27
- data/vendor/assets/stylesheets/prism-theme/prism-command-line.css +33 -0
- data/vendor/assets/stylesheets/{prism-coy.css → prism-theme/prism-coy.css} +14 -9
- data/vendor/assets/stylesheets/prism-theme/prism-darcula.css +159 -0
- data/vendor/assets/stylesheets/{prism-dark.css → prism-theme/prism-dark.css} +2 -1
- data/vendor/assets/stylesheets/prism-theme/prism-dracula.css +122 -0
- data/vendor/assets/stylesheets/{prism-duotone-dark.css → prism-theme/prism-duotone-dark.css} +55 -51
- data/vendor/assets/stylesheets/{prism-duotone-earth.css → prism-theme/prism-duotone-earth.css} +55 -51
- data/vendor/assets/stylesheets/{prism-duotone-forest.css → prism-theme/prism-duotone-forest.css} +55 -51
- data/vendor/assets/stylesheets/{prism-duotone-light.css → prism-theme/prism-duotone-light.css} +55 -51
- data/vendor/assets/stylesheets/{prism-duotone-sea.css → prism-theme/prism-duotone-sea.css} +55 -51
- data/vendor/assets/stylesheets/{prism-duotone-space.css → prism-theme/prism-duotone-space.css} +55 -51
- data/vendor/assets/stylesheets/{prism-funky.css → prism-theme/prism-funky.css} +16 -2
- data/vendor/assets/stylesheets/{prism-ghcolors.css → prism-theme/prism-ghcolors.css} +47 -44
- data/vendor/assets/stylesheets/prism-theme/prism-hopscotch.css +132 -0
- data/vendor/assets/stylesheets/prism-theme/prism-line-highlight.css +49 -0
- data/vendor/assets/stylesheets/prism-theme/prism-line-numbers.css +41 -0
- data/vendor/assets/stylesheets/prism-theme/prism-material-dark.css +205 -0
- data/vendor/assets/stylesheets/prism-theme/prism-material-light.css +207 -0
- data/vendor/assets/stylesheets/prism-theme/prism-material-oceanic.css +210 -0
- data/vendor/assets/stylesheets/prism-theme/prism-nord.css +124 -0
- data/vendor/assets/stylesheets/{prism-okaidia.css → prism-theme/prism-okaidia.css} +4 -2
- data/vendor/assets/stylesheets/prism-theme/prism-pojoaque.css +151 -0
- data/vendor/assets/stylesheets/prism-theme/prism-previewers.css +242 -0
- data/vendor/assets/stylesheets/prism-theme/prism-shades-of-purple.css +200 -0
- data/vendor/assets/stylesheets/prism-theme/prism-show-invisibles.css +34 -0
- data/vendor/assets/stylesheets/{prism-show-language.css → prism-theme/prism-show-language.css} +0 -0
- data/vendor/assets/stylesheets/{prism-solarizedlight.css → prism-theme/prism-solarizedlight.css} +5 -3
- data/vendor/assets/stylesheets/prism-theme/prism-synthwave84.css +140 -0
- data/vendor/assets/stylesheets/{prism-tomorrow.css → prism-theme/prism-tomorrow.css} +1 -0
- data/vendor/assets/stylesheets/{prism-toolbar.css → prism-theme/prism-toolbar.css} +15 -15
- data/vendor/assets/stylesheets/{prism-twilight.css → prism-theme/prism-twilight.css} +2 -1
- data/vendor/assets/stylesheets/prism-theme/prism-unescaped-markup.css +10 -0
- data/vendor/assets/stylesheets/{prism-vs.css → prism-theme/prism-vs.css} +62 -55
- data/vendor/assets/stylesheets/prism-theme/prism-vsc-dark-plus.css +216 -0
- data/vendor/assets/stylesheets/prism-theme/prism-wpd.css +11 -0
- data/vendor/assets/stylesheets/prism-theme/prism-xonokai.css +189 -0
- data/vendor/assets/stylesheets/prism.css +5 -3
- metadata +262 -148
- data/vendor/assets/javascripts/prism/prism-apacheconf.js +0 -47
- data/vendor/assets/javascripts/prism/prism-autohotkey.js +0 -27
- data/vendor/assets/javascripts/prism/prism-bash.js +0 -80
- data/vendor/assets/javascripts/prism/prism-bro.js +0 -50
- data/vendor/assets/javascripts/prism/prism-c.js +0 -33
- data/vendor/assets/javascripts/prism/prism-clike.js +0 -29
- data/vendor/assets/javascripts/prism/prism-core.js +0 -511
- data/vendor/assets/javascripts/prism/prism-cpp.js +0 -12
- data/vendor/assets/javascripts/prism/prism-csharp.js +0 -32
- data/vendor/assets/javascripts/prism/prism-css-extras.js +0 -16
- data/vendor/assets/javascripts/prism/prism-css.js +0 -51
- data/vendor/assets/javascripts/prism/prism-diff.js +0 -20
- data/vendor/assets/javascripts/prism/prism-docker.js +0 -9
- data/vendor/assets/javascripts/prism/prism-fsharp.js +0 -33
- data/vendor/assets/javascripts/prism/prism-gherkin.js +0 -78
- data/vendor/assets/javascripts/prism/prism-go.js +0 -9
- data/vendor/assets/javascripts/prism/prism-graphql.js +0 -24
- data/vendor/assets/javascripts/prism/prism-handlebars.js +0 -83
- data/vendor/assets/javascripts/prism/prism-haskell.js +0 -35
- data/vendor/assets/javascripts/prism/prism-http.js +0 -50
- data/vendor/assets/javascripts/prism/prism-java.js +0 -16
- data/vendor/assets/javascripts/prism/prism-javascript.js +0 -48
- data/vendor/assets/javascripts/prism/prism-json.js +0 -11
- data/vendor/assets/javascripts/prism/prism-jsx.js +0 -27
- data/vendor/assets/javascripts/prism/prism-julia.js +0 -12
- data/vendor/assets/javascripts/prism/prism-keyman.js +0 -14
- data/vendor/assets/javascripts/prism/prism-markdown.js +0 -120
- data/vendor/assets/javascripts/prism/prism-markup.js +0 -46
- data/vendor/assets/javascripts/prism/prism-nasm.js +0 -24
- data/vendor/assets/javascripts/prism/prism-nginx.js +0 -11
- data/vendor/assets/javascripts/prism/prism-nsis.js +0 -26
- data/vendor/assets/javascripts/prism/prism-objectivec.js +0 -5
- data/vendor/assets/javascripts/prism/prism-ocaml.js +0 -21
- data/vendor/assets/javascripts/prism/prism-parser.js +0 -66
- data/vendor/assets/javascripts/prism/prism-perl.js +0 -140
- data/vendor/assets/javascripts/prism/prism-php.js +0 -111
- data/vendor/assets/javascripts/prism/prism-powershell.js +0 -52
- data/vendor/assets/javascripts/prism/prism-protobuf.js +0 -8
- data/vendor/assets/javascripts/prism/prism-python.js +0 -27
- data/vendor/assets/javascripts/prism/prism-rust.js +0 -53
- data/vendor/assets/javascripts/prism/prism-sas.js +0 -31
- data/vendor/assets/javascripts/prism/prism-scheme.js +0 -26
- data/vendor/assets/javascripts/prism/prism-smarty.js +0 -127
- data/vendor/assets/javascripts/prism/prism-sql.js +0 -17
- data/vendor/assets/javascripts/prism/prism-swift.js +0 -25
- data/vendor/assets/javascripts/prism/prism-tcl.js +0 -43
- data/vendor/assets/javascripts/prism/prism-typescript.js +0 -5
- data/vendor/assets/javascripts/prism/prism-verilog.js +0 -17
- data/vendor/assets/javascripts/prism/prism-yaml.js +0 -44
- data/vendor/assets/stylesheets/prism-hopscotch.css +0 -124
- data/vendor/assets/stylesheets/prism-pojoaque.css +0 -134
- data/vendor/assets/stylesheets/prism-xonokai.css +0 -164
@@ -4,33 +4,101 @@ if (typeof self === 'undefined' || !self.Prism || !self.document) {
|
|
4
4
|
return;
|
5
5
|
}
|
6
6
|
|
7
|
-
|
8
|
-
|
7
|
+
var clsReg = /(?:^|\s)command-line(?:\s|$)/;
|
8
|
+
|
9
|
+
Prism.hooks.add('before-highlight', function (env) {
|
10
|
+
var vars = env.vars = env.vars || {};
|
11
|
+
var commandLine = vars['command-line'] = vars['command-line'] || {};
|
12
|
+
|
13
|
+
if (commandLine.complete || !env.code) {
|
14
|
+
commandLine.complete = true;
|
9
15
|
return;
|
10
16
|
}
|
11
17
|
|
12
18
|
// Works only for <code> wrapped inside <pre> (not inline).
|
13
19
|
var pre = env.element.parentNode;
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
// Abort only if neither the <pre> nor the <code> have the class
|
18
|
-
(!clsReg.test(pre.className) && !clsReg.test(env.element.className))
|
19
|
-
) {
|
20
|
+
if (!pre || !/pre/i.test(pre.nodeName) || // Abort only if neither the <pre> nor the <code> have the class
|
21
|
+
(!clsReg.test(pre.className) && !clsReg.test(env.element.className))) {
|
22
|
+
commandLine.complete = true;
|
20
23
|
return;
|
21
24
|
}
|
22
25
|
|
23
|
-
if (env.element.querySelector('.command-line-prompt')) {
|
24
|
-
|
26
|
+
if (env.element.querySelector('.command-line-prompt')) { // Abort if prompt already exists.
|
27
|
+
commandLine.complete = true;
|
25
28
|
return;
|
26
29
|
}
|
27
30
|
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
+
var codeLines = env.code.split('\n');
|
32
|
+
commandLine.numberOfLines = codeLines.length;
|
33
|
+
var outputLines = commandLine.outputLines = [];
|
34
|
+
|
35
|
+
var outputSections = pre.getAttribute('data-output');
|
36
|
+
var outputFilter = pre.getAttribute('data-filter-output');
|
37
|
+
if (outputSections || outputSections === '') { // The user specified the output lines. -- cwells
|
38
|
+
outputSections = outputSections.split(',');
|
39
|
+
for (var i = 0; i < outputSections.length; i++) { // Parse the output sections into start/end ranges. -- cwells
|
40
|
+
var range = outputSections[i].split('-');
|
41
|
+
var outputStart = parseInt(range[0], 10);
|
42
|
+
var outputEnd = (range.length === 2 ? parseInt(range[1], 10) : outputStart);
|
43
|
+
|
44
|
+
if (!isNaN(outputStart) && !isNaN(outputEnd)) {
|
45
|
+
if (outputStart < 1) {
|
46
|
+
outputStart = 1;
|
47
|
+
}
|
48
|
+
if (outputEnd > codeLines.length) {
|
49
|
+
outputEnd = codeLines.length;
|
50
|
+
}
|
51
|
+
// Convert start and end to 0-based to simplify the arrays. -- cwells
|
52
|
+
outputStart--;
|
53
|
+
outputEnd--;
|
54
|
+
// Save the output line in an array and clear it in the code so it's not highlighted. -- cwells
|
55
|
+
for (var j = outputStart; j <= outputEnd; j++) {
|
56
|
+
outputLines[j] = codeLines[j];
|
57
|
+
codeLines[j] = '';
|
58
|
+
}
|
59
|
+
}
|
60
|
+
}
|
61
|
+
} else if (outputFilter) { // Treat lines beginning with this string as output. -- cwells
|
62
|
+
for (var i = 0; i < codeLines.length; i++) {
|
63
|
+
if (codeLines[i].indexOf(outputFilter) === 0) { // This line is output. -- cwells
|
64
|
+
outputLines[i] = codeLines[i].slice(outputFilter.length);
|
65
|
+
codeLines[i] = '';
|
66
|
+
}
|
67
|
+
}
|
68
|
+
}
|
69
|
+
|
70
|
+
env.code = codeLines.join('\n');
|
71
|
+
});
|
72
|
+
|
73
|
+
Prism.hooks.add('before-insert', function (env) {
|
74
|
+
var vars = env.vars = env.vars || {};
|
75
|
+
var commandLine = vars['command-line'] = vars['command-line'] || {};
|
76
|
+
if (commandLine.complete) {
|
77
|
+
return;
|
31
78
|
}
|
32
|
-
|
33
|
-
|
79
|
+
|
80
|
+
// Reinsert the output lines into the highlighted code. -- cwells
|
81
|
+
var codeLines = env.highlightedCode.split('\n');
|
82
|
+
for (var i = 0, l = (commandLine.outputLines || []).length; i < l; i++) {
|
83
|
+
if (commandLine.outputLines.hasOwnProperty(i)) {
|
84
|
+
codeLines[i] = commandLine.outputLines[i];
|
85
|
+
}
|
86
|
+
}
|
87
|
+
env.highlightedCode = codeLines.join('\n');
|
88
|
+
});
|
89
|
+
|
90
|
+
Prism.hooks.add('complete', function (env) {
|
91
|
+
var vars = env.vars = env.vars || {};
|
92
|
+
var commandLine = vars['command-line'] = vars['command-line'] || {};
|
93
|
+
if (commandLine.complete) {
|
94
|
+
return;
|
95
|
+
}
|
96
|
+
|
97
|
+
var pre = env.element.parentNode;
|
98
|
+
if (clsReg.test(env.element.className)) { // Remove the class "command-line" from the <code>
|
99
|
+
env.element.className = env.element.className.replace(clsReg, ' ');
|
100
|
+
}
|
101
|
+
if (!clsReg.test(pre.className)) { // Add the class "command-line" to the <pre>
|
34
102
|
pre.className += ' command-line';
|
35
103
|
}
|
36
104
|
|
@@ -39,43 +107,33 @@ Prism.hooks.add('complete', function (env) {
|
|
39
107
|
};
|
40
108
|
|
41
109
|
// Create the "rows" that will become the command-line prompts. -- cwells
|
42
|
-
var
|
110
|
+
var promptLines = new Array((commandLine.numberOfLines || 0) + 1);
|
43
111
|
var promptText = getAttribute('data-prompt', '');
|
44
112
|
if (promptText !== '') {
|
45
|
-
|
113
|
+
promptLines = promptLines.join('<span data-prompt="' + promptText + '"></span>');
|
46
114
|
} else {
|
47
115
|
var user = getAttribute('data-user', 'user');
|
48
116
|
var host = getAttribute('data-host', 'localhost');
|
49
|
-
|
117
|
+
promptLines = promptLines.join('<span data-user="' + user + '" data-host="' + host + '"></span>');
|
50
118
|
}
|
51
119
|
|
52
120
|
// Create the wrapper element. -- cwells
|
53
121
|
var prompt = document.createElement('span');
|
54
122
|
prompt.className = 'command-line-prompt';
|
55
|
-
prompt.innerHTML =
|
56
|
-
|
57
|
-
// Mark the output lines so they can be styled differently (no prompt). -- cwells
|
58
|
-
var outputSections = pre.getAttribute('data-output') || '';
|
59
|
-
outputSections = outputSections.split(',');
|
60
|
-
for (var i = 0; i < outputSections.length; i++) {
|
61
|
-
var outputRange = outputSections[i].split('-');
|
62
|
-
var outputStart = parseInt(outputRange[0]);
|
63
|
-
var outputEnd = outputStart; // Default: end at the first line when it's not an actual range. -- cwells
|
64
|
-
if (outputRange.length === 2) {
|
65
|
-
outputEnd = parseInt(outputRange[1]);
|
66
|
-
}
|
123
|
+
prompt.innerHTML = promptLines;
|
67
124
|
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
125
|
+
// Remove the prompt from the output lines. -- cwells
|
126
|
+
for (var i = 0, l = (commandLine.outputLines || []).length; i < l; i++) {
|
127
|
+
if (commandLine.outputLines.hasOwnProperty(i)) {
|
128
|
+
var node = prompt.children[i];
|
129
|
+
node.removeAttribute('data-user');
|
130
|
+
node.removeAttribute('data-host');
|
131
|
+
node.removeAttribute('data-prompt');
|
75
132
|
}
|
76
133
|
}
|
77
134
|
|
78
|
-
env.element.
|
135
|
+
env.element.insertBefore(prompt, env.element.firstChild);
|
136
|
+
commandLine.complete = true;
|
79
137
|
});
|
80
138
|
|
81
139
|
}());
|
@@ -9,37 +9,37 @@
|
|
9
9
|
return;
|
10
10
|
}
|
11
11
|
|
12
|
-
var
|
12
|
+
var ClipboardJS = window.ClipboardJS || undefined;
|
13
13
|
|
14
|
-
if (!
|
15
|
-
|
14
|
+
if (!ClipboardJS && typeof require === 'function') {
|
15
|
+
ClipboardJS = require('clipboard');
|
16
16
|
}
|
17
17
|
|
18
18
|
var callbacks = [];
|
19
19
|
|
20
|
-
if (!
|
20
|
+
if (!ClipboardJS) {
|
21
21
|
var script = document.createElement('script');
|
22
22
|
var head = document.querySelector('head');
|
23
23
|
|
24
24
|
script.onload = function() {
|
25
|
-
|
25
|
+
ClipboardJS = window.ClipboardJS;
|
26
26
|
|
27
|
-
if (
|
27
|
+
if (ClipboardJS) {
|
28
28
|
while (callbacks.length) {
|
29
29
|
callbacks.pop()();
|
30
30
|
}
|
31
31
|
}
|
32
32
|
};
|
33
33
|
|
34
|
-
script.src = 'https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/
|
34
|
+
script.src = 'https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js';
|
35
35
|
head.appendChild(script);
|
36
36
|
}
|
37
37
|
|
38
38
|
Prism.plugins.toolbar.registerButton('copy-to-clipboard', function (env) {
|
39
|
-
var linkCopy = document.createElement('
|
39
|
+
var linkCopy = document.createElement('button');
|
40
40
|
linkCopy.textContent = 'Copy';
|
41
41
|
|
42
|
-
if (!
|
42
|
+
if (!ClipboardJS) {
|
43
43
|
callbacks.push(registerClipboard);
|
44
44
|
} else {
|
45
45
|
registerClipboard();
|
@@ -48,7 +48,7 @@
|
|
48
48
|
return linkCopy;
|
49
49
|
|
50
50
|
function registerClipboard() {
|
51
|
-
var clip = new
|
51
|
+
var clip = new ClipboardJS(linkCopy, {
|
52
52
|
'text': function () {
|
53
53
|
return env.code;
|
54
54
|
}
|
@@ -1,29 +1,95 @@
|
|
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
|
-
}
|
1
|
+
(function () {
|
19
2
|
|
20
|
-
|
21
|
-
|
3
|
+
if (
|
4
|
+
(typeof self === 'undefined' || !self.Prism) &&
|
5
|
+
(typeof global === 'undefined' || !global.Prism)
|
6
|
+
) {
|
22
7
|
return;
|
23
8
|
}
|
24
|
-
|
25
|
-
|
9
|
+
|
10
|
+
/**
|
11
|
+
* @callback ClassMapper
|
12
|
+
* @param {string} className
|
13
|
+
* @param {string} language
|
14
|
+
* @returns {string}
|
15
|
+
*
|
16
|
+
* @callback ClassAdder
|
17
|
+
* @param {ClassAdderEnvironment} env
|
18
|
+
* @returns {undefined | string | string[]}
|
19
|
+
*
|
20
|
+
* @typedef ClassAdderEnvironment
|
21
|
+
* @property {string} language
|
22
|
+
* @property {string} type
|
23
|
+
* @property {string} content
|
24
|
+
*/
|
25
|
+
|
26
|
+
// options
|
27
|
+
|
28
|
+
/** @type {ClassAdder | undefined} */
|
29
|
+
var adder;
|
30
|
+
/** @type {ClassMapper | undefined} */
|
31
|
+
var mapper;
|
32
|
+
/** @type {string} */
|
33
|
+
var prefixString = '';
|
34
|
+
|
35
|
+
|
36
|
+
Prism.plugins.customClass = {
|
37
|
+
/**
|
38
|
+
* Sets the function which can be used to add custom aliases to any token.
|
39
|
+
*
|
40
|
+
* @param {ClassAdder} classAdder
|
41
|
+
*/
|
42
|
+
add: function (classAdder) {
|
43
|
+
adder = classAdder;
|
44
|
+
},
|
45
|
+
/**
|
46
|
+
* Maps all class names using the given object or map function.
|
47
|
+
*
|
48
|
+
* This does not affect the prefix.
|
49
|
+
*
|
50
|
+
* @param {Object<string, string> | ClassMapper} classMapper
|
51
|
+
*/
|
52
|
+
map: function map(classMapper) {
|
53
|
+
if (typeof classMapper === 'function') {
|
54
|
+
mapper = classMapper;
|
55
|
+
} else {
|
56
|
+
mapper = function (className) {
|
57
|
+
return classMapper[className] || className;
|
58
|
+
};
|
59
|
+
}
|
60
|
+
},
|
61
|
+
/**
|
62
|
+
* Adds the given prefix to all class names.
|
63
|
+
*
|
64
|
+
* @param {string} string
|
65
|
+
*/
|
66
|
+
prefix: function prefix(string) {
|
67
|
+
prefixString = string || '';
|
68
|
+
}
|
69
|
+
}
|
70
|
+
|
71
|
+
Prism.hooks.add('wrap', function (env) {
|
72
|
+
if (adder) {
|
73
|
+
var result = adder({
|
74
|
+
content: env.content,
|
75
|
+
type: env.type,
|
76
|
+
language: env.language
|
77
|
+
});
|
78
|
+
|
79
|
+
if (Array.isArray(result)) {
|
80
|
+
env.classes.push.apply(env.classes, result);
|
81
|
+
} else if (result) {
|
82
|
+
env.classes.push(result);
|
83
|
+
}
|
84
|
+
}
|
85
|
+
|
86
|
+
if (!mapper && !prefixString) {
|
87
|
+
return;
|
88
|
+
}
|
89
|
+
|
90
|
+
env.classes = env.classes.map(function (c) {
|
91
|
+
return prefixString + (mapper ? mapper(c, env.language) : c);
|
92
|
+
});
|
26
93
|
});
|
27
|
-
});
|
28
94
|
|
29
95
|
})();
|
@@ -47,7 +47,7 @@
|
|
47
47
|
}
|
48
48
|
|
49
49
|
Prism.languages.DFS(grammar, function (key, def, type) {
|
50
|
-
if (candidates.indexOf(type) > -1 &&
|
50
|
+
if (candidates.indexOf(type) > -1 && !Array.isArray(def)) {
|
51
51
|
if (!def.pattern) {
|
52
52
|
def = this[key] = {
|
53
53
|
pattern: def
|
@@ -95,4 +95,4 @@
|
|
95
95
|
|
96
96
|
Prism.plugins.dataURIHighlight.processGrammar(env.grammar);
|
97
97
|
});
|
98
|
-
}());
|
98
|
+
}());
|
@@ -0,0 +1,83 @@
|
|
1
|
+
(function () {
|
2
|
+
|
3
|
+
if (typeof Prism === 'undefined' || !Prism.languages['diff']) {
|
4
|
+
return;
|
5
|
+
}
|
6
|
+
|
7
|
+
|
8
|
+
var LANGUAGE_REGEX = /diff-([\w-]+)/i;
|
9
|
+
var HTML_TAG = /<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/gi;
|
10
|
+
//this will match a line plus the line break while ignoring the line breaks HTML tags may contain.
|
11
|
+
var HTML_LINE = RegExp(/(?:__|[^\r\n<])*(?:\r\n?|\n|(?:__|[^\r\n<])(?![^\r\n]))/.source.replace(/__/g, HTML_TAG.source), 'gi');
|
12
|
+
|
13
|
+
var PREFIXES = Prism.languages.diff.PREFIXES;
|
14
|
+
|
15
|
+
|
16
|
+
Prism.hooks.add('before-sanity-check', function (env) {
|
17
|
+
var lang = env.language;
|
18
|
+
if (LANGUAGE_REGEX.test(lang) && !env.grammar) {
|
19
|
+
env.grammar = Prism.languages[lang] = Prism.languages['diff'];
|
20
|
+
}
|
21
|
+
});
|
22
|
+
Prism.hooks.add('before-tokenize', function (env) {
|
23
|
+
var lang = env.language;
|
24
|
+
if (LANGUAGE_REGEX.test(lang) && !Prism.languages[lang]) {
|
25
|
+
Prism.languages[lang] = Prism.languages['diff'];
|
26
|
+
}
|
27
|
+
});
|
28
|
+
|
29
|
+
Prism.hooks.add('wrap', function (env) {
|
30
|
+
var diffLanguage, diffGrammar;
|
31
|
+
|
32
|
+
if (env.language !== 'diff') {
|
33
|
+
var langMatch = LANGUAGE_REGEX.exec(env.language);
|
34
|
+
if (!langMatch) {
|
35
|
+
return; // not a language specific diff
|
36
|
+
}
|
37
|
+
|
38
|
+
diffLanguage = langMatch[1];
|
39
|
+
diffGrammar = Prism.languages[diffLanguage];
|
40
|
+
}
|
41
|
+
|
42
|
+
// one of the diff tokens without any nested tokens
|
43
|
+
if (env.type in PREFIXES) {
|
44
|
+
/** @type {string} */
|
45
|
+
var content = env.content.replace(HTML_TAG, ''); // remove all HTML tags
|
46
|
+
|
47
|
+
/** @type {string} */
|
48
|
+
var decoded = content.replace(/</g, '<').replace(/&/g, '&');
|
49
|
+
|
50
|
+
// remove any one-character prefix
|
51
|
+
var code = decoded.replace(/(^|[\r\n])./g, '$1');
|
52
|
+
|
53
|
+
// highlight, if possible
|
54
|
+
var highlighted;
|
55
|
+
if (diffGrammar) {
|
56
|
+
highlighted = Prism.highlight(code, diffGrammar, diffLanguage);
|
57
|
+
} else {
|
58
|
+
highlighted = Prism.util.encode(code);
|
59
|
+
}
|
60
|
+
|
61
|
+
// get the HTML source of the prefix token
|
62
|
+
var prefixToken = new Prism.Token('prefix', PREFIXES[env.type], [/\w+/.exec(env.type)[0]]);
|
63
|
+
var prefix = Prism.Token.stringify(prefixToken, env.language);
|
64
|
+
|
65
|
+
// add prefix
|
66
|
+
var lines = [], m;
|
67
|
+
HTML_LINE.lastIndex = 0;
|
68
|
+
while (m = HTML_LINE.exec(highlighted)) {
|
69
|
+
lines.push(prefix + m[0]);
|
70
|
+
}
|
71
|
+
if (/(?:^|[\r\n]).$/.test(decoded)) {
|
72
|
+
// because both "+a\n+" and "+a\n" will map to "a\n" after the line prefixes are removed
|
73
|
+
lines.push(prefix);
|
74
|
+
}
|
75
|
+
env.content = lines.join('');
|
76
|
+
|
77
|
+
if (diffGrammar) {
|
78
|
+
env.classes.push('language-' + diffLanguage);
|
79
|
+
}
|
80
|
+
}
|
81
|
+
});
|
82
|
+
|
83
|
+
}());
|
@@ -0,0 +1,19 @@
|
|
1
|
+
(function () {
|
2
|
+
if (typeof self === 'undefined' || !self.Prism || !self.document || !document.querySelector) {
|
3
|
+
return;
|
4
|
+
}
|
5
|
+
|
6
|
+
Prism.plugins.toolbar.registerButton('download-file', function (env) {
|
7
|
+
var pre = env.element.parentNode;
|
8
|
+
if (!pre || !/pre/i.test(pre.nodeName) || !pre.hasAttribute('data-src') || !pre.hasAttribute('data-download-link')) {
|
9
|
+
return;
|
10
|
+
}
|
11
|
+
var src = pre.getAttribute('data-src');
|
12
|
+
var a = document.createElement('a');
|
13
|
+
a.textContent = pre.getAttribute('data-download-link-label') || 'Download';
|
14
|
+
a.setAttribute('download', '');
|
15
|
+
a.href = src;
|
16
|
+
return a;
|
17
|
+
});
|
18
|
+
|
19
|
+
})();
|