prism-rails 1.19.0 → 1.29.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +9 -0
- data/README.md +22 -1
- data/lib/prism-rails/version.rb +1 -1
- data/vendor/assets/javascripts/languages/prism-abap.js +17 -17
- data/vendor/assets/javascripts/languages/prism-abnf.js +3 -3
- data/vendor/assets/javascripts/languages/prism-actionscript.js +6 -2
- data/vendor/assets/javascripts/languages/prism-ada.js +9 -6
- data/vendor/assets/javascripts/languages/prism-agda.js +24 -0
- data/vendor/assets/javascripts/languages/prism-al.js +25 -0
- data/vendor/assets/javascripts/languages/prism-antlr4.js +1 -1
- data/vendor/assets/javascripts/languages/prism-apacheconf.js +3 -3
- data/vendor/assets/javascripts/languages/prism-apex.js +65 -0
- data/vendor/assets/javascripts/languages/prism-apl.js +3 -3
- data/vendor/assets/javascripts/languages/prism-applescript.js +5 -8
- data/vendor/assets/javascripts/languages/prism-aql.js +14 -6
- data/vendor/assets/javascripts/languages/prism-arduino.js +5 -3
- data/vendor/assets/javascripts/languages/prism-arff.js +1 -1
- data/vendor/assets/javascripts/languages/prism-armasm.js +49 -0
- data/vendor/assets/javascripts/languages/prism-arturo.js +105 -0
- data/vendor/assets/javascripts/languages/prism-asciidoc.js +13 -13
- data/vendor/assets/javascripts/languages/prism-asm6502.js +15 -14
- data/vendor/assets/javascripts/languages/prism-asmatmel.js +43 -0
- data/vendor/assets/javascripts/languages/prism-aspnet.js +6 -6
- data/vendor/assets/javascripts/languages/prism-autohotkey.js +31 -14
- data/vendor/assets/javascripts/languages/prism-autoit.js +16 -16
- data/vendor/assets/javascripts/languages/prism-avisynth.js +188 -0
- data/vendor/assets/javascripts/languages/prism-avro-idl.js +50 -0
- data/vendor/assets/javascripts/languages/prism-awk.js +32 -0
- data/vendor/assets/javascripts/languages/prism-bash.js +60 -22
- data/vendor/assets/javascripts/languages/prism-basic.js +4 -4
- data/vendor/assets/javascripts/languages/prism-batch.js +10 -10
- data/vendor/assets/javascripts/languages/prism-bbcode.js +3 -1
- data/vendor/assets/javascripts/languages/prism-bbj.js +19 -0
- data/vendor/assets/javascripts/languages/prism-bicep.js +77 -0
- data/vendor/assets/javascripts/languages/prism-birb.js +23 -0
- data/vendor/assets/javascripts/languages/prism-bison.js +2 -2
- data/vendor/assets/javascripts/languages/prism-bqn.js +63 -0
- data/vendor/assets/javascripts/languages/prism-brainfuck.js +1 -1
- data/vendor/assets/javascripts/languages/prism-brightscript.js +2 -2
- data/vendor/assets/javascripts/languages/prism-bro.js +9 -20
- data/vendor/assets/javascripts/languages/prism-bsl.js +75 -0
- data/vendor/assets/javascripts/languages/prism-c.js +53 -14
- data/vendor/assets/javascripts/languages/prism-cfscript.js +44 -0
- data/vendor/assets/javascripts/languages/prism-chaiscript.js +60 -0
- data/vendor/assets/javascripts/languages/prism-cil.js +5 -5
- data/vendor/assets/javascripts/languages/prism-cilkc.js +8 -0
- data/vendor/assets/javascripts/languages/prism-cilkcpp.js +9 -0
- data/vendor/assets/javascripts/languages/prism-clike.js +7 -6
- data/vendor/assets/javascripts/languages/prism-clojure.js +20 -5
- data/vendor/assets/javascripts/languages/prism-cmake.js +7 -7
- data/vendor/assets/javascripts/languages/prism-cobol.js +53 -0
- data/vendor/assets/javascripts/languages/prism-coffeescript.js +79 -75
- data/vendor/assets/javascripts/languages/prism-concurnas.js +33 -20
- data/vendor/assets/javascripts/languages/prism-cooklang.js +146 -0
- data/vendor/assets/javascripts/languages/prism-coq.js +54 -0
- data/vendor/assets/javascripts/languages/prism-core.js +1087 -451
- data/vendor/assets/javascripts/languages/prism-cpp.js +99 -21
- data/vendor/assets/javascripts/languages/prism-crystal.js +36 -30
- data/vendor/assets/javascripts/languages/prism-csharp.js +343 -58
- data/vendor/assets/javascripts/languages/prism-cshtml.js +199 -0
- data/vendor/assets/javascripts/languages/prism-csp.js +67 -16
- data/vendor/assets/javascripts/languages/prism-css-extras.js +27 -16
- data/vendor/assets/javascripts/languages/prism-css.js +28 -26
- data/vendor/assets/javascripts/languages/prism-csv.js +6 -0
- data/vendor/assets/javascripts/languages/prism-cue.js +84 -0
- data/vendor/assets/javascripts/languages/prism-cypher.js +36 -0
- data/vendor/assets/javascripts/languages/prism-d.js +15 -10
- data/vendor/assets/javascripts/languages/prism-dart.js +76 -21
- data/vendor/assets/javascripts/languages/prism-dataweave.js +41 -0
- data/vendor/assets/javascripts/languages/prism-dax.js +27 -0
- data/vendor/assets/javascripts/languages/prism-dhall.js +69 -0
- data/vendor/assets/javascripts/languages/prism-diff.js +15 -5
- data/vendor/assets/javascripts/languages/prism-django.js +8 -8
- data/vendor/assets/javascripts/languages/prism-dns-zone-file.js +3 -3
- data/vendor/assets/javascripts/languages/prism-docker.js +98 -11
- data/vendor/assets/javascripts/languages/prism-dot.js +76 -0
- data/vendor/assets/javascripts/languages/prism-ebnf.js +2 -2
- data/vendor/assets/javascripts/languages/prism-editorconfig.js +26 -0
- data/vendor/assets/javascripts/languages/prism-eiffel.js +5 -8
- data/vendor/assets/javascripts/languages/prism-ejs.js +4 -2
- data/vendor/assets/javascripts/languages/prism-elixir.js +21 -12
- data/vendor/assets/javascripts/languages/prism-elm.js +16 -15
- data/vendor/assets/javascripts/languages/prism-erb.js +12 -7
- data/vendor/assets/javascripts/languages/prism-erlang.js +6 -6
- data/vendor/assets/javascripts/languages/prism-excel-formula.js +66 -0
- data/vendor/assets/javascripts/languages/prism-factor.js +8 -8
- data/vendor/assets/javascripts/languages/prism-false.js +32 -0
- data/vendor/assets/javascripts/languages/prism-firestore-security-rules.js +2 -2
- data/vendor/assets/javascripts/languages/prism-flow.js +5 -5
- data/vendor/assets/javascripts/languages/prism-fortran.js +6 -6
- data/vendor/assets/javascripts/languages/prism-fsharp.js +20 -12
- data/vendor/assets/javascripts/languages/prism-ftl.js +12 -11
- data/vendor/assets/javascripts/languages/prism-gap.js +54 -0
- data/vendor/assets/javascripts/languages/prism-gcode.js +4 -3
- data/vendor/assets/javascripts/languages/prism-gdscript.js +2 -2
- data/vendor/assets/javascripts/languages/prism-gedcom.js +6 -6
- data/vendor/assets/javascripts/languages/prism-gettext.js +43 -0
- data/vendor/assets/javascripts/languages/prism-gherkin.js +7 -7
- data/vendor/assets/javascripts/languages/prism-git.js +3 -3
- data/vendor/assets/javascripts/languages/prism-glsl.js +2 -15
- data/vendor/assets/javascripts/languages/prism-gml.js +5 -5
- data/vendor/assets/javascripts/languages/prism-gn.js +51 -0
- data/vendor/assets/javascripts/languages/prism-go-module.js +24 -0
- data/vendor/assets/javascripts/languages/prism-go.js +21 -5
- data/vendor/assets/javascripts/languages/prism-gradle.js +63 -0
- data/vendor/assets/javascripts/languages/prism-graphql.js +187 -7
- data/vendor/assets/javascripts/languages/prism-groovy.js +56 -58
- data/vendor/assets/javascripts/languages/prism-haml.js +23 -16
- data/vendor/assets/javascripts/languages/prism-handlebars.js +10 -7
- data/vendor/assets/javascripts/languages/prism-haskell.js +42 -14
- data/vendor/assets/javascripts/languages/prism-haxe.js +54 -21
- data/vendor/assets/javascripts/languages/prism-hcl.js +12 -14
- data/vendor/assets/javascripts/languages/prism-hlsl.js +20 -0
- data/vendor/assets/javascripts/languages/prism-hoon.js +14 -0
- data/vendor/assets/javascripts/languages/prism-hpkp.js +4 -10
- data/vendor/assets/javascripts/languages/prism-hsts.js +4 -10
- data/vendor/assets/javascripts/languages/prism-http.js +91 -17
- data/vendor/assets/javascripts/languages/prism-ichigojam.js +5 -5
- data/vendor/assets/javascripts/languages/prism-icon.js +2 -2
- data/vendor/assets/javascripts/languages/prism-icu-message-format.js +148 -0
- data/vendor/assets/javascripts/languages/prism-idris.js +19 -0
- data/vendor/assets/javascripts/languages/prism-iecst.js +32 -0
- data/vendor/assets/javascripts/languages/prism-ignore.js +23 -0
- data/vendor/assets/javascripts/languages/prism-inform7.js +10 -10
- data/vendor/assets/javascripts/languages/prism-ini.js +39 -8
- data/vendor/assets/javascripts/languages/prism-io.js +10 -19
- data/vendor/assets/javascripts/languages/prism-j.js +7 -4
- data/vendor/assets/javascripts/languages/prism-java.js +80 -19
- data/vendor/assets/javascripts/languages/prism-javadoc.js +59 -31
- data/vendor/assets/javascripts/languages/prism-javadoclike.js +2 -2
- data/vendor/assets/javascripts/languages/prism-javascript.js +98 -17
- data/vendor/assets/javascripts/languages/prism-javastacktrace.js +63 -14
- data/vendor/assets/javascripts/languages/prism-jexl.js +14 -0
- data/vendor/assets/javascripts/languages/prism-jolie.js +23 -37
- data/vendor/assets/javascripts/languages/prism-jq.js +8 -6
- data/vendor/assets/javascripts/languages/prism-js-extras.js +34 -3
- data/vendor/assets/javascripts/languages/prism-js-templates.js +5 -2
- data/vendor/assets/javascripts/languages/prism-jsdoc.js +15 -10
- data/vendor/assets/javascripts/languages/prism-json.js +13 -5
- data/vendor/assets/javascripts/languages/prism-json5.js +3 -3
- data/vendor/assets/javascripts/languages/prism-jsonp.js +1 -1
- data/vendor/assets/javascripts/languages/prism-jsstacktrace.js +49 -0
- data/vendor/assets/javascripts/languages/prism-jsx.js +123 -104
- data/vendor/assets/javascripts/languages/prism-julia.js +31 -9
- data/vendor/assets/javascripts/languages/prism-keepalived.js +51 -0
- data/vendor/assets/javascripts/languages/prism-keyman.js +43 -13
- data/vendor/assets/javascripts/languages/prism-kotlin.js +56 -30
- data/vendor/assets/javascripts/languages/prism-kumir.js +106 -0
- data/vendor/assets/javascripts/languages/prism-kusto.js +44 -0
- data/vendor/assets/javascripts/languages/prism-latex.js +6 -6
- data/vendor/assets/javascripts/languages/prism-latte.js +11 -17
- data/vendor/assets/javascripts/languages/prism-less.js +5 -5
- data/vendor/assets/javascripts/languages/prism-lilypond.js +3 -3
- data/vendor/assets/javascripts/languages/prism-linker-script.js +30 -0
- data/vendor/assets/javascripts/languages/prism-liquid.js +62 -8
- data/vendor/assets/javascripts/languages/prism-lisp.js +41 -41
- data/vendor/assets/javascripts/languages/prism-livescript.js +3 -3
- data/vendor/assets/javascripts/languages/prism-llvm.js +19 -0
- data/vendor/assets/javascripts/languages/prism-log.js +120 -0
- data/vendor/assets/javascripts/languages/prism-lolcode.js +9 -9
- data/vendor/assets/javascripts/languages/prism-lua.js +3 -3
- data/vendor/assets/javascripts/languages/prism-magma.js +35 -0
- data/vendor/assets/javascripts/languages/prism-makefile.js +17 -17
- data/vendor/assets/javascripts/languages/prism-markdown.js +103 -32
- data/vendor/assets/javascripts/languages/prism-markup-templating.js +2 -1
- data/vendor/assets/javascripts/languages/prism-markup.js +95 -12
- data/vendor/assets/javascripts/languages/prism-mata.js +50 -0
- data/vendor/assets/javascripts/languages/prism-matlab.js +4 -4
- data/vendor/assets/javascripts/languages/prism-maxscript.js +91 -0
- data/vendor/assets/javascripts/languages/prism-mel.js +24 -21
- data/vendor/assets/javascripts/languages/prism-mermaid.js +113 -0
- data/vendor/assets/javascripts/languages/prism-metafont.js +84 -0
- data/vendor/assets/javascripts/languages/prism-mizar.js +3 -3
- data/vendor/assets/javascripts/languages/prism-mongodb.js +97 -0
- data/vendor/assets/javascripts/languages/prism-monkey.js +16 -18
- data/vendor/assets/javascripts/languages/prism-moonscript.js +1 -1
- data/vendor/assets/javascripts/languages/prism-n1ql.js +14 -8
- data/vendor/assets/javascripts/languages/prism-n4js.js +2 -2
- data/vendor/assets/javascripts/languages/prism-nand2tetris-hdl.js +3 -3
- data/vendor/assets/javascripts/languages/prism-naniscript.js +170 -0
- data/vendor/assets/javascripts/languages/prism-nasm.js +4 -4
- data/vendor/assets/javascripts/languages/prism-neon.js +5 -6
- data/vendor/assets/javascripts/languages/prism-nevod.js +125 -0
- data/vendor/assets/javascripts/languages/prism-nginx.js +54 -11
- data/vendor/assets/javascripts/languages/prism-nim.js +23 -12
- data/vendor/assets/javascripts/languages/prism-nix.js +10 -13
- data/vendor/assets/javascripts/languages/prism-nsis.js +10 -9
- data/vendor/assets/javascripts/languages/prism-objectivec.js +7 -2
- data/vendor/assets/javascripts/languages/prism-ocaml.js +32 -15
- data/vendor/assets/javascripts/languages/prism-odin.js +99 -0
- data/vendor/assets/javascripts/languages/prism-opencl.js +19 -12
- data/vendor/assets/javascripts/languages/prism-openqasm.js +23 -0
- data/vendor/assets/javascripts/languages/prism-oz.js +11 -8
- data/vendor/assets/javascripts/languages/prism-parigp.js +4 -4
- data/vendor/assets/javascripts/languages/prism-parser.js +3 -3
- data/vendor/assets/javascripts/languages/prism-pascal.js +24 -8
- data/vendor/assets/javascripts/languages/prism-pascaligo.js +7 -7
- data/vendor/assets/javascripts/languages/prism-pcaxis.js +2 -2
- data/vendor/assets/javascripts/languages/prism-peoplecode.js +42 -0
- data/vendor/assets/javascripts/languages/prism-perl.js +153 -188
- data/vendor/assets/javascripts/languages/prism-php-extras.js +8 -5
- data/vendor/assets/javascripts/languages/prism-php.js +275 -63
- data/vendor/assets/javascripts/languages/prism-phpdoc.js +1 -1
- data/vendor/assets/javascripts/languages/prism-plant-uml.js +103 -0
- data/vendor/assets/javascripts/languages/prism-plsql.js +16 -25
- data/vendor/assets/javascripts/languages/prism-powerquery.js +55 -0
- data/vendor/assets/javascripts/languages/prism-powershell.js +16 -18
- data/vendor/assets/javascripts/languages/prism-processing.js +6 -9
- data/vendor/assets/javascripts/languages/prism-prolog.js +7 -8
- data/vendor/assets/javascripts/languages/prism-promql.js +99 -0
- data/vendor/assets/javascripts/languages/prism-properties.js +9 -5
- data/vendor/assets/javascripts/languages/prism-protobuf.js +16 -9
- data/vendor/assets/javascripts/languages/prism-psl.js +35 -0
- data/vendor/assets/javascripts/languages/prism-pug.js +28 -21
- data/vendor/assets/javascripts/languages/prism-puppet.js +6 -6
- data/vendor/assets/javascripts/languages/prism-pure.js +9 -6
- data/vendor/assets/javascripts/languages/prism-purebasic.js +70 -0
- data/vendor/assets/javascripts/languages/prism-purescript.js +31 -0
- data/vendor/assets/javascripts/languages/prism-python.js +12 -11
- data/vendor/assets/javascripts/languages/prism-q.js +4 -4
- data/vendor/assets/javascripts/languages/prism-qml.js +9 -6
- data/vendor/assets/javascripts/languages/prism-qore.js +5 -5
- data/vendor/assets/javascripts/languages/prism-qsharp.js +132 -0
- data/vendor/assets/javascripts/languages/prism-r.js +5 -5
- data/vendor/assets/javascripts/languages/prism-racket.js +18 -0
- data/vendor/assets/javascripts/languages/prism-reason.js +5 -8
- data/vendor/assets/javascripts/languages/prism-regex.js +54 -47
- data/vendor/assets/javascripts/languages/prism-rego.js +30 -0
- data/vendor/assets/javascripts/languages/prism-renpy.js +12 -12
- data/vendor/assets/javascripts/languages/prism-rescript.js +60 -0
- data/vendor/assets/javascripts/languages/prism-rest.js +16 -16
- data/vendor/assets/javascripts/languages/prism-rip.js +22 -16
- data/vendor/assets/javascripts/languages/prism-roboconf.js +3 -3
- data/vendor/assets/javascripts/languages/prism-robotframework.js +5 -5
- data/vendor/assets/javascripts/languages/prism-ruby.js +127 -88
- data/vendor/assets/javascripts/languages/prism-rust.js +120 -60
- data/vendor/assets/javascripts/languages/prism-sas.js +62 -38
- data/vendor/assets/javascripts/languages/prism-sass.js +15 -10
- data/vendor/assets/javascripts/languages/prism-scala.js +36 -3
- data/vendor/assets/javascripts/languages/prism-scheme.js +120 -33
- data/vendor/assets/javascripts/languages/prism-scss.js +11 -7
- data/vendor/assets/javascripts/languages/prism-shell-session.js +42 -26
- data/vendor/assets/javascripts/languages/prism-smali.js +87 -0
- data/vendor/assets/javascripts/languages/prism-smalltalk.js +12 -5
- data/vendor/assets/javascripts/languages/prism-smarty.js +91 -47
- data/vendor/assets/javascripts/languages/prism-sml.js +68 -0
- data/vendor/assets/javascripts/languages/prism-solidity.js +3 -1
- data/vendor/assets/javascripts/languages/prism-solution-file.js +2 -2
- data/vendor/assets/javascripts/languages/prism-soy.js +9 -9
- data/vendor/assets/javascripts/languages/prism-sparql.js +8 -8
- data/vendor/assets/javascripts/languages/prism-splunk-spl.js +3 -3
- data/vendor/assets/javascripts/languages/prism-sqf.js +7 -7
- data/vendor/assets/javascripts/languages/prism-sql.js +12 -4
- data/vendor/assets/javascripts/languages/prism-squirrel.js +47 -0
- data/vendor/assets/javascripts/languages/prism-stan.js +65 -0
- data/vendor/assets/javascripts/languages/prism-stata.js +76 -0
- data/vendor/assets/javascripts/languages/prism-stylus.js +48 -16
- data/vendor/assets/javascripts/languages/prism-supercollider.js +36 -0
- data/vendor/assets/javascripts/languages/prism-swift.js +143 -20
- data/vendor/assets/javascripts/languages/prism-systemd.js +74 -0
- data/vendor/assets/javascripts/languages/prism-t4-templating.js +2 -2
- data/vendor/assets/javascripts/languages/prism-t4-vb.js +1 -1
- data/vendor/assets/javascripts/languages/prism-tap.js +13 -11
- data/vendor/assets/javascripts/languages/prism-tcl.js +8 -8
- data/vendor/assets/javascripts/languages/prism-textile.js +55 -29
- data/vendor/assets/javascripts/languages/prism-toml.js +14 -8
- data/vendor/assets/javascripts/languages/prism-tremor.js +72 -0
- data/vendor/assets/javascripts/languages/prism-tsx.js +15 -2
- data/vendor/assets/javascripts/languages/prism-tt2.js +7 -7
- data/vendor/assets/javascripts/languages/prism-turtle.js +4 -4
- data/vendor/assets/javascripts/languages/prism-twig.js +38 -40
- data/vendor/assets/javascripts/languages/prism-typescript.js +59 -6
- data/vendor/assets/javascripts/languages/prism-typoscript.js +80 -0
- data/vendor/assets/javascripts/languages/prism-unrealscript.js +42 -0
- data/vendor/assets/javascripts/languages/prism-uorazor.js +48 -0
- data/vendor/assets/javascripts/languages/prism-uri.js +96 -0
- data/vendor/assets/javascripts/languages/prism-v.js +81 -0
- data/vendor/assets/javascripts/languages/prism-vala.js +20 -10
- data/vendor/assets/javascripts/languages/prism-vbnet.js +11 -4
- data/vendor/assets/javascripts/languages/prism-velocity.js +6 -6
- data/vendor/assets/javascripts/languages/prism-verilog.js +14 -8
- data/vendor/assets/javascripts/languages/prism-vhdl.js +7 -4
- data/vendor/assets/javascripts/languages/prism-vim.js +4 -4
- data/vendor/assets/javascripts/languages/prism-visual-basic.js +9 -14
- data/vendor/assets/javascripts/languages/prism-warpscript.js +21 -0
- data/vendor/assets/javascripts/languages/prism-wasm.js +3 -3
- data/vendor/assets/javascripts/languages/prism-web-idl.js +101 -0
- data/vendor/assets/javascripts/languages/prism-wgsl.js +69 -0
- data/vendor/assets/javascripts/languages/prism-wiki.js +4 -4
- data/vendor/assets/javascripts/languages/prism-wolfram.js +29 -0
- data/vendor/assets/javascripts/languages/prism-wren.js +100 -0
- data/vendor/assets/javascripts/languages/prism-xeora.js +8 -8
- data/vendor/assets/javascripts/languages/prism-xml-doc.js +40 -0
- data/vendor/assets/javascripts/languages/prism-xojo.js +9 -8
- data/vendor/assets/javascripts/languages/prism-xquery.js +7 -7
- data/vendor/assets/javascripts/languages/prism-yaml.js +19 -12
- data/vendor/assets/javascripts/languages/prism-yang.js +20 -0
- data/vendor/assets/javascripts/languages/prism-zig.js +19 -15
- data/vendor/assets/javascripts/prism-plugin/prism-autolinker.js +60 -65
- data/vendor/assets/javascripts/prism-plugin/prism-autoloader.js +199 -67
- data/vendor/assets/javascripts/prism-plugin/prism-command-line.js +212 -112
- data/vendor/assets/javascripts/prism-plugin/prism-copy-to-clipboard.js +128 -43
- data/vendor/assets/javascripts/prism-plugin/prism-custom-class.js +23 -8
- data/vendor/assets/javascripts/prism-plugin/prism-data-uri-highlight.js +2 -6
- data/vendor/assets/javascripts/prism-plugin/prism-diff-highlight.js +19 -12
- data/vendor/assets/javascripts/prism-plugin/prism-download-button.js +3 -2
- data/vendor/assets/javascripts/prism-plugin/prism-file-highlight.js +169 -63
- data/vendor/assets/javascripts/prism-plugin/prism-filter-highlight-all.js +5 -3
- data/vendor/assets/javascripts/prism-plugin/prism-highlight-keywords.js +10 -13
- data/vendor/assets/javascripts/prism-plugin/prism-inline-color.js +29 -12
- data/vendor/assets/javascripts/prism-plugin/prism-jsonp-highlight.js +179 -82
- data/vendor/assets/javascripts/prism-plugin/prism-keep-markup.js +53 -26
- data/vendor/assets/javascripts/prism-plugin/prism-line-highlight.js +217 -84
- data/vendor/assets/javascripts/prism-plugin/prism-line-numbers.js +152 -68
- data/vendor/assets/javascripts/prism-plugin/prism-match-braces.js +53 -47
- data/vendor/assets/javascripts/prism-plugin/prism-normalize-whitespace.js +203 -164
- data/vendor/assets/javascripts/prism-plugin/prism-previewers.js +61 -52
- data/vendor/assets/javascripts/prism-plugin/prism-remove-initial-line-feed.js +16 -16
- data/vendor/assets/javascripts/prism-plugin/prism-show-invisibles.js +4 -5
- data/vendor/assets/javascripts/prism-plugin/prism-show-language.js +147 -21
- data/vendor/assets/javascripts/prism-plugin/prism-toolbar.js +9 -8
- data/vendor/assets/javascripts/prism-plugin/prism-treeview.js +70 -0
- data/vendor/assets/javascripts/prism-plugin/prism-unescaped-markup.js +41 -23
- data/vendor/assets/javascripts/prism-plugin/prism-wpd.js +133 -148
- data/vendor/assets/javascripts/prism.js +96 -4
- data/vendor/assets/stylesheets/prism-plugin/prism-autolinker.min.css +1 -0
- data/vendor/assets/stylesheets/prism-plugin/prism-command-line.css +11 -1
- data/vendor/assets/stylesheets/prism-plugin/prism-command-line.min.css +1 -0
- data/vendor/assets/stylesheets/prism-plugin/prism-diff-highlight.min.css +1 -0
- data/vendor/assets/stylesheets/prism-plugin/prism-inline-color.css +26 -2
- data/vendor/assets/stylesheets/prism-plugin/prism-inline-color.min.css +1 -0
- data/vendor/assets/stylesheets/prism-plugin/prism-line-highlight.css +21 -0
- data/vendor/assets/stylesheets/prism-plugin/prism-line-highlight.min.css +1 -0
- data/vendor/assets/stylesheets/prism-plugin/prism-line-numbers.css +0 -1
- data/vendor/assets/stylesheets/prism-plugin/prism-line-numbers.min.css +1 -0
- data/vendor/assets/stylesheets/prism-plugin/prism-match-braces.min.css +1 -0
- data/vendor/assets/stylesheets/prism-plugin/prism-previewers.css +1 -0
- data/vendor/assets/stylesheets/prism-plugin/prism-previewers.min.css +1 -0
- data/vendor/assets/stylesheets/prism-plugin/prism-show-invisibles.min.css +1 -0
- data/vendor/assets/stylesheets/prism-plugin/prism-toolbar.css +13 -12
- data/vendor/assets/stylesheets/prism-plugin/prism-toolbar.min.css +1 -0
- data/vendor/assets/stylesheets/prism-plugin/prism-treeview.css +168 -0
- data/vendor/assets/stylesheets/prism-plugin/prism-treeview.min.css +1 -0
- data/vendor/assets/stylesheets/prism-plugin/prism-unescaped-markup.min.css +1 -0
- data/vendor/assets/stylesheets/prism-plugin/prism-wpd.min.css +1 -0
- data/vendor/assets/stylesheets/prism-theme/prism-base16-ateliersulphurpool.light.css +3 -3
- data/vendor/assets/stylesheets/prism-theme/prism-cb.css +5 -35
- data/vendor/assets/stylesheets/prism-theme/prism-coldark-cold.css +317 -0
- data/vendor/assets/stylesheets/prism-theme/prism-coldark-dark.css +317 -0
- data/vendor/assets/stylesheets/prism-theme/prism-coy-without-shadows.css +140 -0
- data/vendor/assets/stylesheets/prism-theme/prism-coy.css +5 -12
- data/vendor/assets/stylesheets/prism-theme/prism-coy.min.css +1 -0
- data/vendor/assets/stylesheets/prism-theme/prism-dark.min.css +1 -0
- data/vendor/assets/stylesheets/prism-theme/prism-duotone-dark.css +3 -3
- data/vendor/assets/stylesheets/prism-theme/prism-duotone-earth.css +3 -3
- data/vendor/assets/stylesheets/prism-theme/prism-duotone-forest.css +3 -3
- data/vendor/assets/stylesheets/prism-theme/prism-duotone-light.css +3 -3
- data/vendor/assets/stylesheets/prism-theme/prism-duotone-sea.css +3 -3
- data/vendor/assets/stylesheets/prism-theme/prism-duotone-space.css +3 -3
- data/vendor/assets/stylesheets/prism-theme/prism-funky.min.css +1 -0
- data/vendor/assets/stylesheets/prism-theme/prism-gruvbox-dark.css +143 -0
- data/vendor/assets/stylesheets/prism-theme/prism-gruvbox-light.css +143 -0
- data/vendor/assets/stylesheets/prism-theme/prism-holi-theme.css +119 -0
- data/vendor/assets/stylesheets/prism-theme/prism-laserwave.css +133 -0
- data/vendor/assets/stylesheets/prism-theme/prism-lucario.css +122 -0
- data/vendor/assets/stylesheets/prism-theme/prism-night-owl.css +158 -0
- data/vendor/assets/stylesheets/prism-theme/prism-okaidia.css +1 -1
- data/vendor/assets/stylesheets/prism-theme/prism-okaidia.min.css +1 -0
- data/vendor/assets/stylesheets/prism-theme/prism-one-dark.css +440 -0
- data/vendor/assets/stylesheets/prism-theme/prism-one-light.css +428 -0
- data/vendor/assets/stylesheets/prism-theme/prism-shades-of-purple.css +3 -7
- data/vendor/assets/stylesheets/prism-theme/prism-solarized-dark-atom.css +143 -0
- data/vendor/assets/stylesheets/prism-theme/prism-solarizedlight.min.css +1 -0
- data/vendor/assets/stylesheets/prism-theme/prism-tomorrow.min.css +1 -0
- data/vendor/assets/stylesheets/prism-theme/prism-twilight.css +3 -33
- data/vendor/assets/stylesheets/prism-theme/prism-twilight.min.css +1 -0
- data/vendor/assets/stylesheets/prism-theme/prism-vs.css +7 -3
- data/vendor/assets/stylesheets/prism-theme/prism-vsc-dark-plus.css +108 -49
- data/vendor/assets/stylesheets/prism-theme/prism-xonokai.css +3 -30
- data/vendor/assets/stylesheets/prism-theme/prism-z-touch.css +160 -0
- data/vendor/assets/stylesheets/prism.css +1 -0
- metadata +133 -6
@@ -1,33 +1,38 @@
|
|
1
1
|
(function () {
|
2
2
|
|
3
|
-
if (typeof Prism === 'undefined'
|
3
|
+
if (typeof Prism === 'undefined') {
|
4
4
|
return;
|
5
5
|
}
|
6
6
|
|
7
7
|
|
8
|
-
var LANGUAGE_REGEX =
|
9
|
-
var HTML_TAG = /<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/
|
8
|
+
var LANGUAGE_REGEX = /^diff-([\w-]+)/i;
|
9
|
+
var HTML_TAG = /<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/g;
|
10
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;
|
11
|
+
var HTML_LINE = RegExp(/(?:__|[^\r\n<])*(?:\r\n?|\n|(?:__|[^\r\n<])(?![^\r\n]))/.source.replace(/__/g, function () { return HTML_TAG.source; }), 'gi');
|
14
12
|
|
13
|
+
var warningLogged = false;
|
15
14
|
|
16
15
|
Prism.hooks.add('before-sanity-check', function (env) {
|
17
16
|
var lang = env.language;
|
18
17
|
if (LANGUAGE_REGEX.test(lang) && !env.grammar) {
|
19
|
-
env.grammar = Prism.languages[lang] = Prism.languages
|
18
|
+
env.grammar = Prism.languages[lang] = Prism.languages.diff;
|
20
19
|
}
|
21
20
|
});
|
22
21
|
Prism.hooks.add('before-tokenize', function (env) {
|
22
|
+
if (!warningLogged && !Prism.languages.diff && !Prism.plugins.autoloader) {
|
23
|
+
warningLogged = true;
|
24
|
+
console.warn("Prism's Diff Highlight plugin requires the Diff language definition (prism-diff.js)." +
|
25
|
+
"Make sure the language definition is loaded or use Prism's Autoloader plugin.");
|
26
|
+
}
|
27
|
+
|
23
28
|
var lang = env.language;
|
24
29
|
if (LANGUAGE_REGEX.test(lang) && !Prism.languages[lang]) {
|
25
|
-
Prism.languages[lang] = Prism.languages
|
30
|
+
Prism.languages[lang] = Prism.languages.diff;
|
26
31
|
}
|
27
32
|
});
|
28
33
|
|
29
34
|
Prism.hooks.add('wrap', function (env) {
|
30
|
-
var diffLanguage
|
35
|
+
var diffLanguage; var diffGrammar;
|
31
36
|
|
32
37
|
if (env.language !== 'diff') {
|
33
38
|
var langMatch = LANGUAGE_REGEX.exec(env.language);
|
@@ -39,8 +44,10 @@
|
|
39
44
|
diffGrammar = Prism.languages[diffLanguage];
|
40
45
|
}
|
41
46
|
|
47
|
+
var PREFIXES = Prism.languages.diff && Prism.languages.diff.PREFIXES;
|
48
|
+
|
42
49
|
// one of the diff tokens without any nested tokens
|
43
|
-
if (env.type in PREFIXES) {
|
50
|
+
if (PREFIXES && env.type in PREFIXES) {
|
44
51
|
/** @type {string} */
|
45
52
|
var content = env.content.replace(HTML_TAG, ''); // remove all HTML tags
|
46
53
|
|
@@ -63,9 +70,9 @@
|
|
63
70
|
var prefix = Prism.Token.stringify(prefixToken, env.language);
|
64
71
|
|
65
72
|
// add prefix
|
66
|
-
var lines = []
|
73
|
+
var lines = []; var m;
|
67
74
|
HTML_LINE.lastIndex = 0;
|
68
|
-
while (m = HTML_LINE.exec(highlighted)) {
|
75
|
+
while ((m = HTML_LINE.exec(highlighted))) {
|
69
76
|
lines.push(prefix + m[0]);
|
70
77
|
}
|
71
78
|
if (/(?:^|[\r\n]).$/.test(decoded)) {
|
@@ -1,5 +1,6 @@
|
|
1
1
|
(function () {
|
2
|
-
|
2
|
+
|
3
|
+
if (typeof Prism === 'undefined' || typeof document === 'undefined' || !document.querySelector) {
|
3
4
|
return;
|
4
5
|
}
|
5
6
|
|
@@ -16,4 +17,4 @@
|
|
16
17
|
return a;
|
17
18
|
});
|
18
19
|
|
19
|
-
}
|
20
|
+
}());
|
@@ -1,89 +1,195 @@
|
|
1
1
|
(function () {
|
2
|
-
|
2
|
+
|
3
|
+
if (typeof Prism === 'undefined' || typeof document === 'undefined') {
|
3
4
|
return;
|
4
5
|
}
|
5
6
|
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
container = container || document;
|
11
|
-
|
12
|
-
var Extensions = {
|
13
|
-
'js': 'javascript',
|
14
|
-
'py': 'python',
|
15
|
-
'rb': 'ruby',
|
16
|
-
'ps1': 'powershell',
|
17
|
-
'psm1': 'powershell',
|
18
|
-
'sh': 'bash',
|
19
|
-
'bat': 'batch',
|
20
|
-
'h': 'c',
|
21
|
-
'tex': 'latex'
|
22
|
-
};
|
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
|
+
}
|
23
11
|
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
12
|
+
var LOADING_MESSAGE = 'Loading…';
|
13
|
+
var FAILURE_MESSAGE = function (status, message) {
|
14
|
+
return '✖ Error ' + status + ' while fetching file: ' + message;
|
15
|
+
};
|
16
|
+
var FAILURE_EMPTY_MESSAGE = '✖ Error: File does not exist or is empty';
|
17
|
+
|
18
|
+
var EXTENSIONS = {
|
19
|
+
'js': 'javascript',
|
20
|
+
'py': 'python',
|
21
|
+
'rb': 'ruby',
|
22
|
+
'ps1': 'powershell',
|
23
|
+
'psm1': 'powershell',
|
24
|
+
'sh': 'bash',
|
25
|
+
'bat': 'batch',
|
26
|
+
'h': 'c',
|
27
|
+
'tex': 'latex'
|
28
|
+
};
|
29
29
|
|
30
|
-
|
31
|
-
|
30
|
+
var STATUS_ATTR = 'data-src-status';
|
31
|
+
var STATUS_LOADING = 'loading';
|
32
|
+
var STATUS_LOADED = 'loaded';
|
33
|
+
var STATUS_FAILED = 'failed';
|
32
34
|
|
33
|
-
|
34
|
-
|
35
|
-
while (parent && !lang.test(parent.className)) {
|
36
|
-
parent = parent.parentNode;
|
37
|
-
}
|
35
|
+
var SELECTOR = 'pre[data-src]:not([' + STATUS_ATTR + '="' + STATUS_LOADED + '"])'
|
36
|
+
+ ':not([' + STATUS_ATTR + '="' + STATUS_LOADING + '"])';
|
38
37
|
|
39
|
-
|
40
|
-
|
38
|
+
/**
|
39
|
+
* Loads the given file.
|
40
|
+
*
|
41
|
+
* @param {string} src The URL or path of the source file to load.
|
42
|
+
* @param {(result: string) => void} success
|
43
|
+
* @param {(reason: string) => void} error
|
44
|
+
*/
|
45
|
+
function loadFile(src, success, error) {
|
46
|
+
var xhr = new XMLHttpRequest();
|
47
|
+
xhr.open('GET', src, true);
|
48
|
+
xhr.onreadystatechange = function () {
|
49
|
+
if (xhr.readyState == 4) {
|
50
|
+
if (xhr.status < 400 && xhr.responseText) {
|
51
|
+
success(xhr.responseText);
|
52
|
+
} else {
|
53
|
+
if (xhr.status >= 400) {
|
54
|
+
error(FAILURE_MESSAGE(xhr.status, xhr.statusText));
|
55
|
+
} else {
|
56
|
+
error(FAILURE_EMPTY_MESSAGE);
|
57
|
+
}
|
58
|
+
}
|
41
59
|
}
|
60
|
+
};
|
61
|
+
xhr.send(null);
|
62
|
+
}
|
42
63
|
|
43
|
-
|
44
|
-
|
45
|
-
|
64
|
+
/**
|
65
|
+
* Parses the given range.
|
66
|
+
*
|
67
|
+
* This returns a range with inclusive ends.
|
68
|
+
*
|
69
|
+
* @param {string | null | undefined} range
|
70
|
+
* @returns {[number, number | undefined] | undefined}
|
71
|
+
*/
|
72
|
+
function parseRange(range) {
|
73
|
+
var m = /^\s*(\d+)\s*(?:(,)\s*(?:(\d+)\s*)?)?$/.exec(range || '');
|
74
|
+
if (m) {
|
75
|
+
var start = Number(m[1]);
|
76
|
+
var comma = m[2];
|
77
|
+
var end = m[3];
|
78
|
+
|
79
|
+
if (!comma) {
|
80
|
+
return [start, start];
|
46
81
|
}
|
82
|
+
if (!end) {
|
83
|
+
return [start, undefined];
|
84
|
+
}
|
85
|
+
return [start, Number(end)];
|
86
|
+
}
|
87
|
+
return undefined;
|
88
|
+
}
|
47
89
|
|
48
|
-
|
49
|
-
|
90
|
+
Prism.hooks.add('before-highlightall', function (env) {
|
91
|
+
env.selector += ', ' + SELECTOR;
|
92
|
+
});
|
50
93
|
|
51
|
-
|
94
|
+
Prism.hooks.add('before-sanity-check', function (env) {
|
95
|
+
var pre = /** @type {HTMLPreElement} */ (env.element);
|
96
|
+
if (pre.matches(SELECTOR)) {
|
97
|
+
env.code = ''; // fast-path the whole thing and go to complete
|
52
98
|
|
53
|
-
|
99
|
+
pre.setAttribute(STATUS_ATTR, STATUS_LOADING); // mark as loading
|
54
100
|
|
55
|
-
|
101
|
+
// add code element with loading message
|
102
|
+
var code = pre.appendChild(document.createElement('CODE'));
|
103
|
+
code.textContent = LOADING_MESSAGE;
|
56
104
|
|
57
|
-
var
|
105
|
+
var src = pre.getAttribute('data-src');
|
58
106
|
|
59
|
-
|
107
|
+
var language = env.language;
|
108
|
+
if (language === 'none') {
|
109
|
+
// the language might be 'none' because there is no language set;
|
110
|
+
// in this case, we want to use the extension as the language
|
111
|
+
var extension = (/\.(\w+)$/.exec(src) || [, 'none'])[1];
|
112
|
+
language = EXTENSIONS[extension] || extension;
|
113
|
+
}
|
60
114
|
|
61
|
-
|
62
|
-
|
115
|
+
// set language classes
|
116
|
+
Prism.util.setLanguage(code, language);
|
117
|
+
Prism.util.setLanguage(pre, language);
|
63
118
|
|
64
|
-
|
65
|
-
|
119
|
+
// preload the language
|
120
|
+
var autoloader = Prism.plugins.autoloader;
|
121
|
+
if (autoloader) {
|
122
|
+
autoloader.loadLanguages(language);
|
123
|
+
}
|
66
124
|
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
125
|
+
// load file
|
126
|
+
loadFile(
|
127
|
+
src,
|
128
|
+
function (text) {
|
129
|
+
// mark as loaded
|
130
|
+
pre.setAttribute(STATUS_ATTR, STATUS_LOADED);
|
131
|
+
|
132
|
+
// handle data-range
|
133
|
+
var range = parseRange(pre.getAttribute('data-range'));
|
134
|
+
if (range) {
|
135
|
+
var lines = text.split(/\r\n?|\n/g);
|
136
|
+
|
137
|
+
// the range is one-based and inclusive on both ends
|
138
|
+
var start = range[0];
|
139
|
+
var end = range[1] == null ? lines.length : range[1];
|
140
|
+
|
141
|
+
if (start < 0) { start += lines.length; }
|
142
|
+
start = Math.max(0, Math.min(start - 1, lines.length));
|
143
|
+
if (end < 0) { end += lines.length; }
|
144
|
+
end = Math.max(0, Math.min(end, lines.length));
|
145
|
+
|
146
|
+
text = lines.slice(start, end).join('\n');
|
147
|
+
|
148
|
+
// add data-start for line numbers
|
149
|
+
if (!pre.hasAttribute('data-start')) {
|
150
|
+
pre.setAttribute('data-start', String(start + 1));
|
151
|
+
}
|
76
152
|
}
|
153
|
+
|
154
|
+
// highlight code
|
155
|
+
code.textContent = text;
|
156
|
+
Prism.highlightElement(code);
|
157
|
+
},
|
158
|
+
function (error) {
|
159
|
+
// mark as failed
|
160
|
+
pre.setAttribute(STATUS_ATTR, STATUS_FAILED);
|
161
|
+
|
162
|
+
code.textContent = error;
|
77
163
|
}
|
78
|
-
|
164
|
+
);
|
165
|
+
}
|
166
|
+
});
|
79
167
|
|
80
|
-
|
81
|
-
|
168
|
+
Prism.plugins.fileHighlight = {
|
169
|
+
/**
|
170
|
+
* Executes the File Highlight plugin for all matching `pre` elements under the given container.
|
171
|
+
*
|
172
|
+
* Note: Elements which are already loaded or currently loading will not be touched by this method.
|
173
|
+
*
|
174
|
+
* @param {ParentNode} [container=document]
|
175
|
+
*/
|
176
|
+
highlight: function highlight(container) {
|
177
|
+
var elements = (container || document).querySelectorAll(SELECTOR);
|
178
|
+
|
179
|
+
for (var i = 0, element; (element = elements[i++]);) {
|
180
|
+
Prism.highlightElement(element);
|
181
|
+
}
|
182
|
+
}
|
82
183
|
};
|
83
184
|
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
185
|
+
var logged = false;
|
186
|
+
/** @deprecated Use `Prism.plugins.fileHighlight.highlight` instead. */
|
187
|
+
Prism.fileHighlight = function () {
|
188
|
+
if (!logged) {
|
189
|
+
console.warn('Prism.fileHighlight is deprecated. Use `Prism.plugins.fileHighlight.highlight` instead.');
|
190
|
+
logged = true;
|
191
|
+
}
|
192
|
+
Prism.plugins.fileHighlight.highlight.apply(this, arguments);
|
193
|
+
};
|
88
194
|
|
89
|
-
}
|
195
|
+
}());
|
@@ -1,6 +1,6 @@
|
|
1
1
|
(function () {
|
2
2
|
|
3
|
-
if (typeof
|
3
|
+
if (typeof Prism === 'undefined' || typeof document === 'undefined') {
|
4
4
|
return;
|
5
5
|
}
|
6
6
|
|
@@ -94,10 +94,12 @@
|
|
94
94
|
|
95
95
|
if (script) {
|
96
96
|
var attr;
|
97
|
-
|
97
|
+
attr = script.getAttribute('data-filter-selector');
|
98
|
+
if (attr) {
|
98
99
|
config.addSelector(attr);
|
99
100
|
}
|
100
|
-
|
101
|
+
attr = script.getAttribute('data-reject-selector');
|
102
|
+
if (attr) {
|
101
103
|
config.reject.addSelector(attr);
|
102
104
|
}
|
103
105
|
}
|
@@ -1,17 +1,14 @@
|
|
1
|
-
(function(){
|
1
|
+
(function () {
|
2
2
|
|
3
|
-
if (
|
4
|
-
typeof self !== 'undefined' && !self.Prism ||
|
5
|
-
typeof global !== 'undefined' && !global.Prism
|
6
|
-
) {
|
7
|
-
return;
|
8
|
-
}
|
9
|
-
|
10
|
-
Prism.hooks.add('wrap', function(env) {
|
11
|
-
if (env.type !== "keyword") {
|
3
|
+
if (typeof Prism === 'undefined') {
|
12
4
|
return;
|
13
5
|
}
|
14
|
-
env.classes.push('keyword-' + env.content);
|
15
|
-
});
|
16
6
|
|
17
|
-
|
7
|
+
Prism.hooks.add('wrap', function (env) {
|
8
|
+
if (env.type !== 'keyword') {
|
9
|
+
return;
|
10
|
+
}
|
11
|
+
env.classes.push('keyword-' + env.content);
|
12
|
+
});
|
13
|
+
|
14
|
+
}());
|
@@ -1,15 +1,14 @@
|
|
1
1
|
(function () {
|
2
2
|
|
3
|
-
if (typeof
|
3
|
+
if (typeof Prism === 'undefined' || typeof document === 'undefined') {
|
4
4
|
return;
|
5
5
|
}
|
6
6
|
|
7
7
|
// Copied from the markup language definition
|
8
8
|
var HTML_TAG = /<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/g;
|
9
9
|
|
10
|
-
//
|
11
|
-
|
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;
|
10
|
+
// a regex to validate hexadecimal colors
|
11
|
+
var HEX_COLOR = /^#?((?:[\da-f]){3,4}|(?:[\da-f]{2}){3,4})$/i;
|
13
12
|
|
14
13
|
/**
|
15
14
|
* Parses the given hexadecimal representation and returns the parsed RGBA color.
|
@@ -17,6 +16,9 @@
|
|
17
16
|
* If the format of the given string is invalid, `undefined` will be returned.
|
18
17
|
* Valid formats are: `RGB`, `RGBA`, `RRGGBB`, and `RRGGBBAA`.
|
19
18
|
*
|
19
|
+
* Hexadecimal colors are parsed because they are not fully supported by older browsers, so converting them to
|
20
|
+
* `rgba` functions improves browser compatibility.
|
21
|
+
*
|
20
22
|
* @param {string} hex
|
21
23
|
* @returns {string | undefined}
|
22
24
|
*/
|
@@ -25,15 +27,30 @@
|
|
25
27
|
if (!match) {
|
26
28
|
return undefined;
|
27
29
|
}
|
30
|
+
hex = match[1]; // removes the leading "#"
|
28
31
|
|
29
|
-
//
|
30
|
-
var
|
32
|
+
// the width and number of channels
|
33
|
+
var channelWidth = hex.length >= 6 ? 2 : 1;
|
34
|
+
var channelCount = hex.length / channelWidth;
|
31
35
|
|
32
|
-
|
33
|
-
|
34
|
-
|
36
|
+
// the scale used to normalize 4bit and 8bit values
|
37
|
+
var scale = channelWidth == 1 ? 1 / 15 : 1 / 255;
|
38
|
+
|
39
|
+
// normalized RGBA channels
|
40
|
+
var channels = [];
|
41
|
+
for (var i = 0; i < channelCount; i++) {
|
42
|
+
var int = parseInt(hex.substr(i * channelWidth, channelWidth), 16);
|
43
|
+
channels.push(int * scale);
|
44
|
+
}
|
45
|
+
if (channelCount == 3) {
|
46
|
+
channels.push(1); // add alpha of 100%
|
47
|
+
}
|
35
48
|
|
36
|
-
|
49
|
+
// output
|
50
|
+
var rgb = channels.slice(0, 3).map(function (x) {
|
51
|
+
return String(Math.round(x * 255));
|
52
|
+
}).join(',');
|
53
|
+
var alpha = String(Number(channels[3].toFixed(3))); // easy way to round 3 decimal places
|
37
54
|
|
38
55
|
return 'rgba(' + rgb + ',' + alpha + ')';
|
39
56
|
}
|
@@ -65,7 +82,7 @@
|
|
65
82
|
|
66
83
|
|
67
84
|
Prism.hooks.add('wrap', function (env) {
|
68
|
-
if (env.type === 'color' || env.
|
85
|
+
if (env.type === 'color' || env.classes.indexOf('color') >= 0) {
|
69
86
|
var content = env.content;
|
70
87
|
|
71
88
|
// remove all HTML tags inside
|
@@ -80,7 +97,7 @@
|
|
80
97
|
return;
|
81
98
|
}
|
82
99
|
|
83
|
-
var previewElement = '<span class="inline-color" style="background-color:' + color + ';"></span>';
|
100
|
+
var previewElement = '<span class="inline-color-wrapper"><span class="inline-color" style="background-color:' + color + ';"></span></span>';
|
84
101
|
env.content = previewElement + content;
|
85
102
|
}
|
86
103
|
});
|