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
@@ -3,7 +3,11 @@
|
|
3
3
|
return;
|
4
4
|
}
|
5
5
|
|
6
|
-
|
6
|
+
/**
|
7
|
+
* @param {Element} [container=document]
|
8
|
+
*/
|
9
|
+
self.Prism.fileHighlight = function(container) {
|
10
|
+
container = container || document;
|
7
11
|
|
8
12
|
var Extensions = {
|
9
13
|
'js': 'javascript',
|
@@ -17,61 +21,69 @@
|
|
17
21
|
'tex': 'latex'
|
18
22
|
};
|
19
23
|
|
20
|
-
|
21
|
-
|
22
|
-
|
24
|
+
Array.prototype.slice.call(container.querySelectorAll('pre[data-src]')).forEach(function (pre) {
|
25
|
+
// ignore if already loaded
|
26
|
+
if (pre.hasAttribute('data-src-loaded')) {
|
27
|
+
return;
|
28
|
+
}
|
23
29
|
|
24
|
-
|
25
|
-
|
26
|
-
while (parent && !lang.test(parent.className)) {
|
27
|
-
parent = parent.parentNode;
|
28
|
-
}
|
30
|
+
// load current
|
31
|
+
var src = pre.getAttribute('data-src');
|
29
32
|
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
+
var language, parent = pre;
|
34
|
+
var lang = /\blang(?:uage)?-([\w-]+)\b/i;
|
35
|
+
while (parent && !lang.test(parent.className)) {
|
36
|
+
parent = parent.parentNode;
|
37
|
+
}
|
33
38
|
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
}
|
39
|
+
if (parent) {
|
40
|
+
language = (pre.className.match(lang) || [, ''])[1];
|
41
|
+
}
|
38
42
|
|
39
|
-
|
40
|
-
|
43
|
+
if (!language) {
|
44
|
+
var extension = (src.match(/\.(\w+)$/) || [, ''])[1];
|
45
|
+
language = Extensions[extension] || extension;
|
46
|
+
}
|
41
47
|
|
42
|
-
|
48
|
+
var code = document.createElement('code');
|
49
|
+
code.className = 'language-' + language;
|
43
50
|
|
44
|
-
|
51
|
+
pre.textContent = '';
|
45
52
|
|
46
|
-
|
53
|
+
code.textContent = 'Loading…';
|
47
54
|
|
48
|
-
|
55
|
+
pre.appendChild(code);
|
49
56
|
|
50
|
-
|
57
|
+
var xhr = new XMLHttpRequest();
|
51
58
|
|
52
|
-
|
53
|
-
if (xhr.readyState == 4) {
|
59
|
+
xhr.open('GET', src, true);
|
54
60
|
|
55
|
-
|
56
|
-
|
61
|
+
xhr.onreadystatechange = function () {
|
62
|
+
if (xhr.readyState == 4) {
|
57
63
|
|
58
|
-
|
59
|
-
|
60
|
-
else if (xhr.status >= 400) {
|
61
|
-
code.textContent = '✖ Error ' + xhr.status + ' while fetching file: ' + xhr.statusText;
|
62
|
-
}
|
63
|
-
else {
|
64
|
-
code.textContent = '✖ Error: File does not exist or is empty';
|
65
|
-
}
|
66
|
-
}
|
67
|
-
};
|
64
|
+
if (xhr.status < 400 && xhr.responseText) {
|
65
|
+
code.textContent = xhr.responseText;
|
68
66
|
|
69
|
-
|
70
|
-
|
71
|
-
|
67
|
+
Prism.highlightElement(code);
|
68
|
+
// mark as loaded
|
69
|
+
pre.setAttribute('data-src-loaded', '');
|
70
|
+
}
|
71
|
+
else if (xhr.status >= 400) {
|
72
|
+
code.textContent = '✖ Error ' + xhr.status + ' while fetching file: ' + xhr.statusText;
|
73
|
+
}
|
74
|
+
else {
|
75
|
+
code.textContent = '✖ Error: File does not exist or is empty';
|
76
|
+
}
|
77
|
+
}
|
78
|
+
};
|
72
79
|
|
80
|
+
xhr.send(null);
|
81
|
+
});
|
73
82
|
};
|
74
83
|
|
75
|
-
document.addEventListener('DOMContentLoaded',
|
84
|
+
document.addEventListener('DOMContentLoaded', function () {
|
85
|
+
// execute inside handler, for dropping Event as argument
|
86
|
+
self.Prism.fileHighlight();
|
87
|
+
});
|
76
88
|
|
77
89
|
})();
|
@@ -0,0 +1,125 @@
|
|
1
|
+
(function () {
|
2
|
+
|
3
|
+
if (typeof self !== 'undefined' && !self.Prism) {
|
4
|
+
return;
|
5
|
+
}
|
6
|
+
|
7
|
+
// https://developer.mozilla.org/en-US/docs/Web/API/Element/matches#Polyfill
|
8
|
+
if (!Element.prototype.matches) {
|
9
|
+
Element.prototype.matches = Element.prototype.msMatchesSelector || Element.prototype.webkitMatchesSelector;
|
10
|
+
}
|
11
|
+
|
12
|
+
var script = Prism.util.currentScript();
|
13
|
+
|
14
|
+
|
15
|
+
/**
|
16
|
+
* @type {Array<(element: HTMLElement) => boolean>}
|
17
|
+
*/
|
18
|
+
var filters = [];
|
19
|
+
|
20
|
+
var config = Prism.plugins.filterHighlightAll = {
|
21
|
+
|
22
|
+
/**
|
23
|
+
* Adds a new filter for the elements of `highlightAll` and `highlightAllUnder` such that only elements for
|
24
|
+
* which the given function returns `true` will be highlighted.
|
25
|
+
*
|
26
|
+
* @param {(value: { element: HTMLElement, language: string }) => boolean} condition
|
27
|
+
*/
|
28
|
+
add: function (condition) {
|
29
|
+
filters.push(function (element) {
|
30
|
+
return condition({
|
31
|
+
element: element,
|
32
|
+
language: Prism.util.getLanguage(element)
|
33
|
+
});
|
34
|
+
});
|
35
|
+
},
|
36
|
+
|
37
|
+
/**
|
38
|
+
* Adds a new filter for the elements of `highlightAll` and `highlightAllUnder` such that only elements that
|
39
|
+
* match the given CSS selection will be highlighted.
|
40
|
+
*
|
41
|
+
* @param {string} selector
|
42
|
+
*/
|
43
|
+
addSelector: function (selector) {
|
44
|
+
filters.push(function (element) {
|
45
|
+
return element.matches(selector);
|
46
|
+
});
|
47
|
+
},
|
48
|
+
|
49
|
+
reject: {
|
50
|
+
|
51
|
+
/**
|
52
|
+
* Adds a new filter for the elements of `highlightAll` and `highlightAllUnder` such that only elements for
|
53
|
+
* which the given function returns `false` will be highlighted.
|
54
|
+
*
|
55
|
+
* @param {(value: { element: HTMLElement, language: string }) => boolean} condition
|
56
|
+
*/
|
57
|
+
add: function (condition) {
|
58
|
+
filters.push(function (element) {
|
59
|
+
return !condition({
|
60
|
+
element: element,
|
61
|
+
language: Prism.util.getLanguage(element)
|
62
|
+
});
|
63
|
+
});
|
64
|
+
},
|
65
|
+
|
66
|
+
/**
|
67
|
+
* Adds a new filter for the elements of `highlightAll` and `highlightAllUnder` such that only elements that do
|
68
|
+
* not match the given CSS selection will be highlighted.
|
69
|
+
*
|
70
|
+
* @param {string} selector
|
71
|
+
*/
|
72
|
+
addSelector: function (selector) {
|
73
|
+
filters.push(function (element) {
|
74
|
+
return !element.matches(selector);
|
75
|
+
});
|
76
|
+
},
|
77
|
+
|
78
|
+
},
|
79
|
+
|
80
|
+
/**
|
81
|
+
* Filters the elements of `highlightAll` and `highlightAllUnder` such that only elements with a known language
|
82
|
+
* will be highlighted. All elements with an unset or unknown language will be ignored.
|
83
|
+
*
|
84
|
+
* __Note:__ This will effectively disable the AutoLoader plugin.
|
85
|
+
*
|
86
|
+
* @type {boolean}
|
87
|
+
*/
|
88
|
+
filterKnown: !!script && script.hasAttribute('data-filter-known')
|
89
|
+
};
|
90
|
+
|
91
|
+
config.add(function filterKnown(env) {
|
92
|
+
return !config.filterKnown || typeof Prism.languages[env.language] === 'object';
|
93
|
+
});
|
94
|
+
|
95
|
+
if (script) {
|
96
|
+
var attr;
|
97
|
+
if (attr = script.getAttribute('data-filter-selector')) {
|
98
|
+
config.addSelector(attr);
|
99
|
+
}
|
100
|
+
if (attr = script.getAttribute('data-reject-selector')) {
|
101
|
+
config.reject.addSelector(attr);
|
102
|
+
}
|
103
|
+
}
|
104
|
+
|
105
|
+
/**
|
106
|
+
* Applies all filters to the given element and returns true if and only if every filter returned true on the
|
107
|
+
* given element.
|
108
|
+
*
|
109
|
+
* @param {HTMLElement} element
|
110
|
+
* @returns {boolean}
|
111
|
+
*/
|
112
|
+
function combinedFilter(element) {
|
113
|
+
for (var i = 0, l = filters.length; i < l; i++) {
|
114
|
+
if (!filters[i](element)) {
|
115
|
+
return false;
|
116
|
+
}
|
117
|
+
}
|
118
|
+
return true;
|
119
|
+
}
|
120
|
+
|
121
|
+
Prism.hooks.add('before-all-elements-highlight', function (env) {
|
122
|
+
env.elements = env.elements.filter(combinedFilter);
|
123
|
+
});
|
124
|
+
|
125
|
+
}());
|
@@ -0,0 +1,88 @@
|
|
1
|
+
(function () {
|
2
|
+
|
3
|
+
if (typeof self === 'undefined' || typeof Prism === 'undefined' || typeof document === 'undefined') {
|
4
|
+
return;
|
5
|
+
}
|
6
|
+
|
7
|
+
// Copied from the markup language definition
|
8
|
+
var HTML_TAG = /<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/g;
|
9
|
+
|
10
|
+
// the regex explained: In first lookahead we check whether the string is valid and then we use the
|
11
|
+
// capturing groups to split the string into its components.
|
12
|
+
var HEX_COLOR = /^#?(?=(?:[\da-f]{1,2}){3,4}$)([\da-f][\da-f]?)([\da-f][\da-f]?)([\da-f][\da-f]?)([\da-f][\da-f]?)?$/i;
|
13
|
+
|
14
|
+
/**
|
15
|
+
* Parses the given hexadecimal representation and returns the parsed RGBA color.
|
16
|
+
*
|
17
|
+
* If the format of the given string is invalid, `undefined` will be returned.
|
18
|
+
* Valid formats are: `RGB`, `RGBA`, `RRGGBB`, and `RRGGBBAA`.
|
19
|
+
*
|
20
|
+
* @param {string} hex
|
21
|
+
* @returns {string | undefined}
|
22
|
+
*/
|
23
|
+
function parseHexColor(hex) {
|
24
|
+
var match = HEX_COLOR.exec(hex);
|
25
|
+
if (!match) {
|
26
|
+
return undefined;
|
27
|
+
}
|
28
|
+
|
29
|
+
// This is used to scale normalize 4bit and 8bit values
|
30
|
+
var scale = hex.length <= 4 ? 1 / 15 : 1 / 255;
|
31
|
+
|
32
|
+
var rgb = match.slice(1, 4).map(function (c) {
|
33
|
+
return String(Math.round(parseInt(c, 16) * scale * 255));
|
34
|
+
}).join(',');
|
35
|
+
|
36
|
+
var alpha = match[4] === undefined ? '1' : (parseInt(match[4], 16) * scale).toFixed(3);
|
37
|
+
|
38
|
+
return 'rgba(' + rgb + ',' + alpha + ')';
|
39
|
+
}
|
40
|
+
|
41
|
+
/**
|
42
|
+
* Validates the given Color using the current browser's internal implementation.
|
43
|
+
*
|
44
|
+
* @param {string} color
|
45
|
+
* @returns {string | undefined}
|
46
|
+
*/
|
47
|
+
function validateColor(color) {
|
48
|
+
var s = new Option().style;
|
49
|
+
s.color = color;
|
50
|
+
return s.color ? color : undefined;
|
51
|
+
}
|
52
|
+
|
53
|
+
/**
|
54
|
+
* An array of function which parse a given string representation of a color.
|
55
|
+
*
|
56
|
+
* These parser serve as validators and as a layer of compatibility to support color formats which the browser
|
57
|
+
* might not support natively.
|
58
|
+
*
|
59
|
+
* @type {((value: string) => (string|undefined))[]}
|
60
|
+
*/
|
61
|
+
var parsers = [
|
62
|
+
parseHexColor,
|
63
|
+
validateColor
|
64
|
+
];
|
65
|
+
|
66
|
+
|
67
|
+
Prism.hooks.add('wrap', function (env) {
|
68
|
+
if (env.type === 'color' || env.type === 'hexcode') {
|
69
|
+
var content = env.content;
|
70
|
+
|
71
|
+
// remove all HTML tags inside
|
72
|
+
var rawText = content.split(HTML_TAG).join('');
|
73
|
+
|
74
|
+
var color;
|
75
|
+
for (var i = 0, l = parsers.length; i < l && !color; i++) {
|
76
|
+
color = parsers[i](rawText);
|
77
|
+
}
|
78
|
+
|
79
|
+
if (!color) {
|
80
|
+
return;
|
81
|
+
}
|
82
|
+
|
83
|
+
var previewElement = '<span class="inline-color" style="background-color:' + color + ';"></span>';
|
84
|
+
env.content = previewElement + content;
|
85
|
+
}
|
86
|
+
});
|
87
|
+
|
88
|
+
}());
|
@@ -1,136 +1,185 @@
|
|
1
|
-
(function() {
|
2
|
-
if (
|
1
|
+
(function () {
|
2
|
+
if (!self.Prism || !self.document || !document.querySelectorAll || ![].filter) return;
|
3
3
|
|
4
|
+
/**
|
5
|
+
* @callback Adapter
|
6
|
+
* @param {any} response
|
7
|
+
* @param {HTMLPreElement} [pre]
|
8
|
+
* @returns {string}
|
9
|
+
*/
|
10
|
+
|
11
|
+
/**
|
12
|
+
* The list of adapter which will be used if `data-adapter` is not specified.
|
13
|
+
*
|
14
|
+
* @type {Array.<{adapter: Adapter, name: string}>}
|
15
|
+
*/
|
4
16
|
var adapters = [];
|
5
|
-
|
6
|
-
|
7
|
-
|
17
|
+
|
18
|
+
/**
|
19
|
+
* Adds a new function to the list of adapters.
|
20
|
+
*
|
21
|
+
* If the given adapter is already registered or not a function or there is an adapter with the given name already,
|
22
|
+
* nothing will happen.
|
23
|
+
*
|
24
|
+
* @param {Adapter} adapter The adapter to be registered.
|
25
|
+
* @param {string} [name] The name of the adapter. Defaults to the function name of `adapter`.
|
26
|
+
*/
|
27
|
+
function registerAdapter(adapter, name) {
|
28
|
+
name = name || adapter.name;
|
29
|
+
if (typeof adapter === "function" && !getAdapter(adapter) && !getAdapter(name)) {
|
30
|
+
adapters.push({ adapter: adapter, name: name });
|
8
31
|
}
|
9
32
|
}
|
33
|
+
/**
|
34
|
+
* Returns the given adapter itself, if registered, or a registered adapter with the given name.
|
35
|
+
*
|
36
|
+
* If no fitting adapter is registered, `null` will be returned.
|
37
|
+
*
|
38
|
+
* @param {string|Function} adapter The adapter itself or the name of an adapter.
|
39
|
+
* @returns {Adapter} A registered adapter or `null`.
|
40
|
+
*/
|
10
41
|
function getAdapter(adapter) {
|
11
42
|
if (typeof adapter === "function") {
|
12
|
-
|
43
|
+
for (var i = 0, item; item = adapters[i++];) {
|
44
|
+
if (item.adapter.valueOf() === adapter.valueOf()) {
|
45
|
+
return item.adapter;
|
46
|
+
}
|
47
|
+
}
|
13
48
|
}
|
14
|
-
else if (typeof adapter === "string"
|
15
|
-
|
49
|
+
else if (typeof adapter === "string") {
|
50
|
+
for (var i = 0, item; item = adapters[i++];) {
|
51
|
+
if (item.name === adapter) {
|
52
|
+
return item.adapter;
|
53
|
+
}
|
54
|
+
}
|
16
55
|
}
|
17
56
|
return null;
|
18
57
|
}
|
58
|
+
/**
|
59
|
+
* Remove the given adapter or the first registered adapter with the given name from the list of
|
60
|
+
* registered adapters.
|
61
|
+
*
|
62
|
+
* @param {string|Function} adapter The adapter itself or the name of an adapter.
|
63
|
+
*/
|
19
64
|
function removeAdapter(adapter) {
|
20
|
-
if (typeof adapter === "string")
|
65
|
+
if (typeof adapter === "string") {
|
21
66
|
adapter = getAdapter(adapter);
|
67
|
+
}
|
22
68
|
if (typeof adapter === "function") {
|
23
|
-
var index = adapters.indexOf(adapter);
|
24
|
-
if (index >=0) {
|
25
|
-
adapters.splice(index,1);
|
69
|
+
var index = adapters.map(function (item) { return item.adapter; }).indexOf(adapter);
|
70
|
+
if (index >= 0) {
|
71
|
+
adapters.splice(index, 1);
|
26
72
|
}
|
27
73
|
}
|
28
74
|
}
|
29
75
|
|
30
|
-
Prism.plugins.jsonphighlight = {
|
31
|
-
registerAdapter: registerAdapter,
|
32
|
-
removeAdapter: removeAdapter,
|
33
|
-
highlight: highlight
|
34
|
-
};
|
35
76
|
registerAdapter(function github(rsp, el) {
|
36
|
-
if (
|
37
|
-
if (
|
38
|
-
return "Error: " + (
|
77
|
+
if (rsp && rsp.meta && rsp.data) {
|
78
|
+
if (rsp.meta.status && rsp.meta.status >= 400) {
|
79
|
+
return "Error: " + (rsp.data.message || rsp.meta.status);
|
39
80
|
}
|
40
|
-
else if (
|
41
|
-
return typeof(atob) === "function"
|
81
|
+
else if (typeof (rsp.data.content) === "string") {
|
82
|
+
return typeof (atob) === "function"
|
42
83
|
? atob(rsp.data.content.replace(/\s/g, ""))
|
43
84
|
: "Your browser cannot decode base64";
|
44
85
|
}
|
45
86
|
}
|
46
87
|
return null;
|
47
|
-
});
|
88
|
+
}, 'github');
|
48
89
|
registerAdapter(function gist(rsp, el) {
|
49
|
-
if (
|
50
|
-
if (
|
51
|
-
return "Error: " + (
|
90
|
+
if (rsp && rsp.meta && rsp.data && rsp.data.files) {
|
91
|
+
if (rsp.meta.status && rsp.meta.status >= 400) {
|
92
|
+
return "Error: " + (rsp.data.message || rsp.meta.status);
|
52
93
|
}
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
94
|
+
|
95
|
+
var files = rsp.data.files;
|
96
|
+
var filename = el.getAttribute("data-filename");
|
97
|
+
if (filename == null) {
|
98
|
+
// Maybe in the future we can somehow render all files
|
99
|
+
// But the standard <script> include for gists does that nicely already,
|
100
|
+
// so that might be getting beyond the scope of this plugin
|
101
|
+
for (var key in files) {
|
102
|
+
if (files.hasOwnProperty(key)) {
|
103
|
+
filename = key;
|
104
|
+
break;
|
64
105
|
}
|
65
106
|
}
|
66
|
-
if (rsp.data.files[filename] !== undefined) {
|
67
|
-
return rsp.data.files[filename].content;
|
68
|
-
}
|
69
|
-
else {
|
70
|
-
return "Error: unknown or missing gist file " + filename;
|
71
|
-
}
|
72
107
|
}
|
108
|
+
|
109
|
+
if (files[filename] !== undefined) {
|
110
|
+
return files[filename].content;
|
111
|
+
}
|
112
|
+
return "Error: unknown or missing gist file " + filename;
|
73
113
|
}
|
74
114
|
return null;
|
75
|
-
});
|
115
|
+
}, 'gist');
|
76
116
|
registerAdapter(function bitbucket(rsp, el) {
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
117
|
+
if (rsp && rsp.node && typeof (rsp.data) === "string") {
|
118
|
+
return rsp.data;
|
119
|
+
}
|
120
|
+
return null;
|
121
|
+
}, 'bitbucket');
|
81
122
|
|
82
123
|
var jsonpcb = 0,
|
83
|
-
|
124
|
+
loadMsg = "Loading\u2026";
|
84
125
|
|
126
|
+
/**
|
127
|
+
* Highlights all `pre` elements with an `data-jsonp` by requesting the specified JSON and using the specified adapter
|
128
|
+
* or a registered adapter to extract the code to highlight from the response. The highlighted code will be inserted
|
129
|
+
* into the `pre` element.
|
130
|
+
*/
|
85
131
|
function highlight() {
|
86
|
-
Array.prototype.slice.call(document.querySelectorAll("pre[data-jsonp]")).forEach(function(pre) {
|
132
|
+
Array.prototype.slice.call(document.querySelectorAll("pre[data-jsonp]")).forEach(function (pre) {
|
87
133
|
pre.textContent = "";
|
88
134
|
|
89
135
|
var code = document.createElement("code");
|
90
|
-
code.textContent =
|
136
|
+
code.textContent = loadMsg;
|
91
137
|
pre.appendChild(code);
|
92
138
|
|
93
|
-
var
|
139
|
+
var adapterName = pre.getAttribute("data-adapter");
|
94
140
|
var adapter = null;
|
95
|
-
if (
|
96
|
-
if (
|
97
|
-
adapter = window[
|
141
|
+
if (adapterName) {
|
142
|
+
if (typeof window[adapterName] === "function") {
|
143
|
+
adapter = window[adapterName];
|
98
144
|
}
|
99
145
|
else {
|
100
|
-
code.textContent = "JSONP adapter function '" +
|
146
|
+
code.textContent = "JSONP adapter function '" + adapterName + "' doesn't exist";
|
101
147
|
return;
|
102
148
|
}
|
103
149
|
}
|
104
150
|
|
105
|
-
var cb = "prismjsonp" +
|
106
|
-
|
151
|
+
var cb = "prismjsonp" + jsonpcb++;
|
152
|
+
|
107
153
|
var uri = document.createElement("a");
|
108
154
|
var src = uri.href = pre.getAttribute("data-jsonp");
|
109
|
-
uri.href += (
|
155
|
+
uri.href += (uri.search ? "&" : "?") + (pre.getAttribute("data-callback") || "callback") + "=" + cb;
|
110
156
|
|
111
|
-
var timeout = setTimeout(function() {
|
157
|
+
var timeout = setTimeout(function () {
|
112
158
|
// we could clean up window[cb], but if the request finally succeeds, keeping it around is a good thing
|
113
|
-
if (
|
159
|
+
if (code.textContent === loadMsg) {
|
114
160
|
code.textContent = "Timeout loading '" + src + "'";
|
161
|
+
}
|
115
162
|
}, 5000);
|
116
|
-
|
163
|
+
|
117
164
|
var script = document.createElement("script");
|
118
165
|
script.src = uri.href;
|
119
166
|
|
120
|
-
window[cb] = function(rsp) {
|
167
|
+
window[cb] = function (rsp) {
|
121
168
|
document.head.removeChild(script);
|
122
169
|
clearTimeout(timeout);
|
123
170
|
delete window[cb];
|
124
171
|
|
125
172
|
var data = "";
|
126
|
-
|
127
|
-
if (
|
173
|
+
|
174
|
+
if (adapter) {
|
128
175
|
data = adapter(rsp, pre);
|
129
176
|
}
|
130
177
|
else {
|
131
|
-
for (
|
132
|
-
data = adapters[p](rsp, pre);
|
133
|
-
if (
|
178
|
+
for (var p in adapters) {
|
179
|
+
data = adapters[p].adapter(rsp, pre);
|
180
|
+
if (data !== null) {
|
181
|
+
break;
|
182
|
+
}
|
134
183
|
}
|
135
184
|
}
|
136
185
|
|
@@ -147,5 +196,11 @@
|
|
147
196
|
});
|
148
197
|
}
|
149
198
|
|
199
|
+
Prism.plugins.jsonphighlight = {
|
200
|
+
registerAdapter: registerAdapter,
|
201
|
+
removeAdapter: removeAdapter,
|
202
|
+
highlight: highlight
|
203
|
+
};
|
204
|
+
|
150
205
|
highlight();
|
151
|
-
})();
|
206
|
+
})();
|