move highlight.js to npm/webpack (#10011)
- introduced window.config to help with js-based lazy-loading - adjusted webpack chunk naming to avoid 'vendors~name.js' that webpack defaults to for vendor chunks. - added theme class to html and prefixed all selectors. this is neccesary so that the theme styles win over the lazy-loaded ones. Co-authored-by: zeripath <art27@cantab.net>tokarchuk/v1.17
parent
d879353632
commit
b9690d7c0b
@ -1,25 +0,0 @@ |
||||
Copyright (c) 2006, Ivan Sagalaev |
||||
All rights reserved. |
||||
Redistribution and use in source and binary forms, with or without |
||||
modification, are permitted provided that the following conditions are met: |
||||
|
||||
* Redistributions of source code must retain the above copyright |
||||
notice, this list of conditions and the following disclaimer. |
||||
* Redistributions in binary form must reproduce the above copyright |
||||
notice, this list of conditions and the following disclaimer in the |
||||
documentation and/or other materials provided with the distribution. |
||||
* Neither the name of highlight.js nor the names of its contributors |
||||
may be used to endorse or promote products derived from this software |
||||
without specific prior written permission. |
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ANY |
||||
EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED |
||||
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE |
||||
DISCLAIMED. IN NO EVENT SHALL THE REGENTS AND CONTRIBUTORS BE LIABLE FOR ANY |
||||
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES |
||||
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; |
||||
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND |
||||
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS |
||||
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
||||
|
@ -1,99 +0,0 @@ |
||||
/* |
||||
|
||||
Original highlight.js style (c) Ivan Sagalaev <maniac@softwaremaniacs.org> |
||||
|
||||
*/ |
||||
|
||||
.hljs { |
||||
display: block; |
||||
overflow-x: auto; |
||||
padding: 0.5em; |
||||
background: #F0F0F0; |
||||
} |
||||
|
||||
|
||||
/* Base color: saturation 0; */ |
||||
|
||||
.hljs, |
||||
.hljs-subst { |
||||
color: #444; |
||||
} |
||||
|
||||
.hljs-comment { |
||||
color: #888888; |
||||
} |
||||
|
||||
.hljs-keyword, |
||||
.hljs-attribute, |
||||
.hljs-selector-tag, |
||||
.hljs-meta-keyword, |
||||
.hljs-doctag, |
||||
.hljs-name { |
||||
font-weight: bold; |
||||
} |
||||
|
||||
|
||||
/* User color: hue: 0 */ |
||||
|
||||
.hljs-type, |
||||
.hljs-string, |
||||
.hljs-number, |
||||
.hljs-selector-id, |
||||
.hljs-selector-class, |
||||
.hljs-quote, |
||||
.hljs-template-tag, |
||||
.hljs-deletion { |
||||
color: #880000; |
||||
} |
||||
|
||||
.hljs-title, |
||||
.hljs-section { |
||||
color: #880000; |
||||
font-weight: bold; |
||||
} |
||||
|
||||
.hljs-regexp, |
||||
.hljs-symbol, |
||||
.hljs-variable, |
||||
.hljs-template-variable, |
||||
.hljs-link, |
||||
.hljs-selector-attr, |
||||
.hljs-selector-pseudo { |
||||
color: #BC6060; |
||||
} |
||||
|
||||
|
||||
/* Language color: hue: 90; */ |
||||
|
||||
.hljs-literal { |
||||
color: #78A960; |
||||
} |
||||
|
||||
.hljs-built_in, |
||||
.hljs-bullet, |
||||
.hljs-code, |
||||
.hljs-addition { |
||||
color: #397300; |
||||
} |
||||
|
||||
|
||||
/* Meta color: hue: 200 */ |
||||
|
||||
.hljs-meta { |
||||
color: #1f7199; |
||||
} |
||||
|
||||
.hljs-meta-string { |
||||
color: #4d99bf; |
||||
} |
||||
|
||||
|
||||
/* Misc effects */ |
||||
|
||||
.hljs-emphasis { |
||||
font-style: italic; |
||||
} |
||||
|
||||
.hljs-strong { |
||||
font-weight: bold; |
||||
} |
@ -1,99 +0,0 @@ |
||||
/* |
||||
|
||||
github.com style (c) Vasily Polovnyov <vast@whiteants.net> |
||||
|
||||
*/ |
||||
|
||||
.hljs { |
||||
display: block; |
||||
overflow-x: auto; |
||||
padding: 0.5em; |
||||
color: #333; |
||||
background: #f8f8f8; |
||||
} |
||||
|
||||
.hljs-comment, |
||||
.hljs-quote { |
||||
color: #998; |
||||
font-style: italic; |
||||
} |
||||
|
||||
.hljs-keyword, |
||||
.hljs-selector-tag, |
||||
.hljs-subst { |
||||
color: #333; |
||||
font-weight: bold; |
||||
} |
||||
|
||||
.hljs-number, |
||||
.hljs-literal, |
||||
.hljs-variable, |
||||
.hljs-template-variable, |
||||
.hljs-tag .hljs-attr { |
||||
color: #008080; |
||||
} |
||||
|
||||
.hljs-string, |
||||
.hljs-doctag { |
||||
color: #d14; |
||||
} |
||||
|
||||
.hljs-title, |
||||
.hljs-section, |
||||
.hljs-selector-id { |
||||
color: #900; |
||||
font-weight: bold; |
||||
} |
||||
|
||||
.hljs-subst { |
||||
font-weight: normal; |
||||
} |
||||
|
||||
.hljs-type, |
||||
.hljs-class .hljs-title { |
||||
color: #458; |
||||
font-weight: bold; |
||||
} |
||||
|
||||
.hljs-tag, |
||||
.hljs-name, |
||||
.hljs-attribute { |
||||
color: #000080; |
||||
font-weight: normal; |
||||
} |
||||
|
||||
.hljs-regexp, |
||||
.hljs-link { |
||||
color: #009926; |
||||
} |
||||
|
||||
.hljs-symbol, |
||||
.hljs-bullet { |
||||
color: #990073; |
||||
} |
||||
|
||||
.hljs-built_in, |
||||
.hljs-builtin-name { |
||||
color: #0086b3; |
||||
} |
||||
|
||||
.hljs-meta { |
||||
color: #999; |
||||
font-weight: bold; |
||||
} |
||||
|
||||
.hljs-deletion { |
||||
background: #fdd; |
||||
} |
||||
|
||||
.hljs-addition { |
||||
background: #dfd; |
||||
} |
||||
|
||||
.hljs-emphasis { |
||||
font-style: italic; |
||||
} |
||||
|
||||
.hljs-strong { |
||||
font-weight: bold; |
||||
} |
File diff suppressed because one or more lines are too long
@ -0,0 +1,12 @@ |
||||
export default async function initHighlight() { |
||||
if (!window.config || !window.config.HighlightJS) return; |
||||
|
||||
const hljs = await import(/* webpackChunkName: "highlight" */'highlight.js'); |
||||
|
||||
const nodes = [].slice.call(document.querySelectorAll('pre code') || []); |
||||
for (let i = 0; i < nodes.length; i++) { |
||||
hljs.highlightBlock(nodes[i]); |
||||
} |
||||
|
||||
return hljs; |
||||
} |
Loading…
Reference in new issue