Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Sign in / Register
Toggle navigation
K
kpp
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Alexandr Veselov
kpp
Commits
8d714342
Commit
8d714342
authored
Mar 18, 2016
by
Nikolay Gromov
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
syntax highlight to block
parent
f2c04c3c
Changes
7
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
121 additions
and
100 deletions
+121
-100
blocks-library.html
src/blocks/blocks-library/blocks-library.html
+10
-3
blocks-library.less
src/blocks/blocks-library/blocks-library.less
+0
-95
highlight.html
src/blocks/highlight/highlight.html
+8
-0
highlight.js
src/blocks/highlight/highlight.js
+5
-2
highlight.less
src/blocks/highlight/highlight.less
+95
-0
readme.md
src/blocks/highlight/readme.md
+1
-0
style.less
src/less/style.less
+2
-0
No files found.
src/blocks/blocks-library/blocks-library.html
View file @
8d714342
<!--DEV
<!--DEV
<section class="blocks-library__item" data-name="Пояснение сбоку">
<section class="blocks-library__item"
id=""
data-name="Пояснение сбоку">
<h
2 class="blocks-library__title" id="">Заголовок</h2
>
<h
1 class="blocks-library__item-title">Раздел</h1
>
Контентю
Контент
<div class="blocks-library__sub-item">
<h2 class="blocks-library__sub-item-title">Подраздел</h2>
Контент
</div>
</section>
</section>
...
...
src/blocks/blocks-library/blocks-library.less
View file @
8d714342
...
@@ -46,98 +46,3 @@
...
@@ -46,98 +46,3 @@
&__sub-item-title {}
&__sub-item-title {}
}
}
.hljs {
display: block;
width: auto;
color: @text-color;
background-color: transparent;
padding: 0;
}
.hljs-comment,
.hljs-quote {
color: #999;
}
.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: #4f9fcf;
}
.hljs-string,
.hljs-doctag {
color: #d44950;
}
.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: #2f6f9f;
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;
}
src/blocks/highlight/highlight.html
0 → 100644
View file @
8d714342
<!--DEV
<pre><code><input type="text" value="Текстовое поле для сравнения высоты">
<a href="" class="btn">Cсылка</a>
<input type="submit" class="btn" value="Input">
<button class="btn">Button</button></code></pre>
-->
src/blocks/
blocks-library/blocks-library
.js
→
src/blocks/
highlight/highlight
.js
View file @
8d714342
/*! highlight.js v9.2.0 | BSD3 License | git.io/hljslicense */
/*!
!
function
(
e
){
var
n
=
"object"
==
typeof
window
&&
window
||
"object"
==
typeof
self
&&
self
;
"undefined"
!=
typeof
exports
?
e
(
exports
):
n
&&
(
n
.
hljs
=
e
({}),
"function"
==
typeof
define
&&
define
.
amd
&&
define
([],
function
(){
return
n
.
hljs
}))}(
function
(
e
){
function
n
(
e
){
return
e
.
replace
(
/&/gm
,
"&"
).
replace
(
/</gm
,
"<"
).
replace
(
/>/gm
,
">"
)}
function
t
(
e
){
return
e
.
nodeName
.
toLowerCase
()}
function
r
(
e
,
n
){
var
t
=
e
&&
e
.
exec
(
n
);
return
t
&&
0
==
t
.
index
}
function
a
(
e
){
return
/^
(
no-
?
highlight|plain|text
)
$/i
.
test
(
e
)}
function
i
(
e
){
var
n
,
t
,
r
,
i
=
e
.
className
+
" "
;
if
(
i
+=
e
.
parentNode
?
e
.
parentNode
.
className
:
""
,
t
=
/
\b
lang
(?:
uage
)?
-
([\w
-
]
+
)\b
/i
.
exec
(
i
))
return
w
(
t
[
1
])?
t
[
1
]:
"no-highlight"
;
for
(
i
=
i
.
split
(
/
\s
+/
),
n
=
0
,
r
=
i
.
length
;
r
>
n
;
n
++
)
if
(
w
(
i
[
n
])
||
a
(
i
[
n
]))
return
i
[
n
]}
function
o
(
e
,
n
){
var
t
,
r
=
{};
for
(
t
in
e
)
r
[
t
]
=
e
[
t
];
if
(
n
)
for
(
t
in
n
)
r
[
t
]
=
n
[
t
];
return
r
}
function
u
(
e
){
var
n
=
[];
return
function
r
(
e
,
a
){
for
(
var
i
=
e
.
firstChild
;
i
;
i
=
i
.
nextSibling
)
3
==
i
.
nodeType
?
a
+=
i
.
nodeValue
.
length
:
1
==
i
.
nodeType
&&
(
n
.
push
({
event
:
"start"
,
offset
:
a
,
node
:
i
}),
a
=
r
(
i
,
a
),
t
(
i
).
match
(
/br|hr|img|input/
)
||
n
.
push
({
event
:
"stop"
,
offset
:
a
,
node
:
i
}));
return
a
}(
e
,
0
),
n
}
function
c
(
e
,
r
,
a
){
function
i
(){
return
e
.
length
&&
r
.
length
?
e
[
0
].
offset
!=
r
[
0
].
offset
?
e
[
0
].
offset
<
r
[
0
].
offset
?
e
:
r
:
"start"
==
r
[
0
].
event
?
e
:
r
:
e
.
length
?
e
:
r
}
function
o
(
e
){
function
r
(
e
){
return
" "
+
e
.
nodeName
+
'="'
+
n
(
e
.
value
)
+
'"'
}
f
+=
"<"
+
t
(
e
)
+
Array
.
prototype
.
map
.
call
(
e
.
attributes
,
r
).
join
(
""
)
+
">"
}
function
u
(
e
){
f
+=
"</"
+
t
(
e
)
+
">"
}
function
c
(
e
){(
"start"
==
e
.
event
?
o
:
u
)(
e
.
node
)}
for
(
var
s
=
0
,
f
=
""
,
l
=
[];
e
.
length
||
r
.
length
;){
var
g
=
i
();
if
(
f
+=
n
(
a
.
substr
(
s
,
g
[
0
].
offset
-
s
)),
s
=
g
[
0
].
offset
,
g
==
e
){
l
.
reverse
().
forEach
(
u
);
do
c
(
g
.
splice
(
0
,
1
)[
0
]),
g
=
i
();
while
(
g
==
e
&&
g
.
length
&&
g
[
0
].
offset
==
s
);
l
.
reverse
().
forEach
(
o
)}
else
"start"
==
g
[
0
].
event
?
l
.
push
(
g
[
0
].
node
):
l
.
pop
(),
c
(
g
.
splice
(
0
,
1
)[
0
])}
return
f
+
n
(
a
.
substr
(
s
))}
function
s
(
e
){
function
n
(
e
){
return
e
&&
e
.
source
||
e
}
function
t
(
t
,
r
){
return
new
RegExp
(
n
(
t
),
"m"
+
(
e
.
cI
?
"i"
:
""
)
+
(
r
?
"g"
:
""
))}
function
r
(
a
,
i
){
if
(
!
a
.
compiled
){
if
(
a
.
compiled
=!
0
,
a
.
k
=
a
.
k
||
a
.
bK
,
a
.
k
){
var
u
=
{},
c
=
function
(
n
,
t
){
e
.
cI
&&
(
t
=
t
.
toLowerCase
()),
t
.
split
(
" "
).
forEach
(
function
(
e
){
var
t
=
e
.
split
(
"|"
);
u
[
t
[
0
]]
=
[
n
,
t
[
1
]?
Number
(
t
[
1
]):
1
]})};
"string"
==
typeof
a
.
k
?
c
(
"keyword"
,
a
.
k
):
Object
.
keys
(
a
.
k
).
forEach
(
function
(
e
){
c
(
e
,
a
.
k
[
e
])}),
a
.
k
=
u
}
a
.
lR
=
t
(
a
.
l
||
/
\b\w
+
\b
/
,
!
0
),
i
&&
(
a
.
bK
&&
(
a
.
b
=
"
\\
b("
+
a
.
bK
.
split
(
" "
).
join
(
"|"
)
+
")
\\
b"
),
a
.
b
||
(
a
.
b
=
/
\B
|
\b
/
),
a
.
bR
=
t
(
a
.
b
),
a
.
e
||
a
.
eW
||
(
a
.
e
=
/
\B
|
\b
/
),
a
.
e
&&
(
a
.
eR
=
t
(
a
.
e
)),
a
.
tE
=
n
(
a
.
e
)
||
""
,
a
.
eW
&&
i
.
tE
&&
(
a
.
tE
+=
(
a
.
e
?
"|"
:
""
)
+
i
.
tE
)),
a
.
i
&&
(
a
.
iR
=
t
(
a
.
i
)),
void
0
===
a
.
r
&&
(
a
.
r
=
1
),
a
.
c
||
(
a
.
c
=
[]);
var
s
=
[];
a
.
c
.
forEach
(
function
(
e
){
e
.
v
?
e
.
v
.
forEach
(
function
(
n
){
s
.
push
(
o
(
e
,
n
))}):
s
.
push
(
"self"
==
e
?
a
:
e
)}),
a
.
c
=
s
,
a
.
c
.
forEach
(
function
(
e
){
r
(
e
,
a
)}),
a
.
starts
&&
r
(
a
.
starts
,
i
);
var
f
=
a
.
c
.
map
(
function
(
e
){
return
e
.
bK
?
"
\\
.?("
+
e
.
b
+
")
\\
.?"
:
e
.
b
}).
concat
([
a
.
tE
,
a
.
i
]).
map
(
n
).
filter
(
Boolean
);
a
.
t
=
f
.
length
?
t
(
f
.
join
(
"|"
),
!
0
):{
exec
:
function
(){
return
null
}}}}
r
(
e
)}
function
f
(
e
,
t
,
a
,
i
){
function
o
(
e
,
n
){
for
(
var
t
=
0
;
t
<
n
.
c
.
length
;
t
++
)
if
(
r
(
n
.
c
[
t
].
bR
,
e
))
return
n
.
c
[
t
]}
function
u
(
e
,
n
){
if
(
r
(
e
.
eR
,
n
)){
for
(;
e
.
endsParent
&&
e
.
parent
;)
e
=
e
.
parent
;
return
e
}
return
e
.
eW
?
u
(
e
.
parent
,
n
):
void
0
}
function
c
(
e
,
n
){
return
!
a
&&
r
(
n
.
iR
,
e
)}
function
g
(
e
,
n
){
var
t
=
N
.
cI
?
n
[
0
].
toLowerCase
():
n
[
0
];
return
e
.
k
.
hasOwnProperty
(
t
)
&&
e
.
k
[
t
]}
function
p
(
e
,
n
,
t
,
r
){
var
a
=
r
?
""
:
E
.
classPrefix
,
i
=
'<span class="'
+
a
,
o
=
t
?
""
:
"</span>"
;
return
i
+=
e
+
'">'
,
i
+
n
+
o
}
function
h
(){
if
(
!
k
.
k
)
return
n
(
M
);
var
e
=
""
,
t
=
0
;
k
.
lR
.
lastIndex
=
0
;
for
(
var
r
=
k
.
lR
.
exec
(
M
);
r
;){
e
+=
n
(
M
.
substr
(
t
,
r
.
index
-
t
));
var
a
=
g
(
k
,
r
);
a
?(
B
+=
a
[
1
],
e
+=
p
(
a
[
0
],
n
(
r
[
0
]))):
e
+=
n
(
r
[
0
]),
t
=
k
.
lR
.
lastIndex
,
r
=
k
.
lR
.
exec
(
M
)}
return
e
+
n
(
M
.
substr
(
t
))}
function
d
(){
var
e
=
"string"
==
typeof
k
.
sL
;
if
(
e
&&!
R
[
k
.
sL
])
return
n
(
M
);
var
t
=
e
?
f
(
k
.
sL
,
M
,
!
0
,
y
[
k
.
sL
]):
l
(
M
,
k
.
sL
.
length
?
k
.
sL
:
void
0
);
return
k
.
r
>
0
&&
(
B
+=
t
.
r
),
e
&&
(
y
[
k
.
sL
]
=
t
.
top
),
p
(
t
.
language
,
t
.
value
,
!
1
,
!
0
)}
function
b
(){
L
+=
void
0
!==
k
.
sL
?
d
():
h
(),
M
=
""
}
function
v
(
e
,
n
){
L
+=
e
.
cN
?
p
(
e
.
cN
,
""
,
!
0
):
""
,
k
=
Object
.
create
(
e
,{
parent
:{
value
:
k
}})}
function
m
(
e
,
n
){
if
(
M
+=
e
,
void
0
===
n
)
return
b
(),
0
;
var
t
=
o
(
n
,
k
);
if
(
t
)
return
t
.
skip
?
M
+=
n
:(
t
.
eB
&&
(
M
+=
n
),
b
(),
t
.
rB
||
t
.
eB
||
(
M
=
n
)),
v
(
t
,
n
),
t
.
rB
?
0
:
n
.
length
;
var
r
=
u
(
k
,
n
);
if
(
r
){
var
a
=
k
;
a
.
skip
?
M
+=
n
:(
a
.
rE
||
a
.
eE
||
(
M
+=
n
),
b
(),
a
.
eE
&&
(
M
=
n
));
do
k
.
cN
&&
(
L
+=
"</span>"
),
k
.
skip
||
(
B
+=
k
.
r
),
k
=
k
.
parent
;
while
(
k
!=
r
.
parent
);
return
r
.
starts
&&
v
(
r
.
starts
,
""
),
a
.
rE
?
0
:
n
.
length
}
if
(
c
(
n
,
k
))
throw
new
Error
(
'Illegal lexeme "'
+
n
+
'" for mode "'
+
(
k
.
cN
||
"<unnamed>"
)
+
'"'
);
return
M
+=
n
,
n
.
length
||
1
}
var
N
=
w
(
e
);
if
(
!
N
)
throw
new
Error
(
'Unknown language: "'
+
e
+
'"'
);
s
(
N
);
var
x
,
k
=
i
||
N
,
y
=
{},
L
=
""
;
for
(
x
=
k
;
x
!=
N
;
x
=
x
.
parent
)
x
.
cN
&&
(
L
=
p
(
x
.
cN
,
""
,
!
0
)
+
L
);
var
M
=
""
,
B
=
0
;
try
{
for
(
var
C
,
j
,
I
=
0
;;){
if
(
k
.
t
.
lastIndex
=
I
,
C
=
k
.
t
.
exec
(
t
),
!
C
)
break
;
j
=
m
(
t
.
substr
(
I
,
C
.
index
-
I
),
C
[
0
]),
I
=
C
.
index
+
j
}
for
(
m
(
t
.
substr
(
I
)),
x
=
k
;
x
.
parent
;
x
=
x
.
parent
)
x
.
cN
&&
(
L
+=
"</span>"
);
return
{
r
:
B
,
value
:
L
,
language
:
e
,
top
:
k
}}
catch
(
O
){
if
(
-
1
!=
O
.
message
.
indexOf
(
"Illegal"
))
return
{
r
:
0
,
value
:
n
(
t
)};
throw
O
}}
function
l
(
e
,
t
){
t
=
t
||
E
.
languages
||
Object
.
keys
(
R
);
var
r
=
{
r
:
0
,
value
:
n
(
e
)},
a
=
r
;
return
t
.
forEach
(
function
(
n
){
if
(
w
(
n
)){
var
t
=
f
(
n
,
e
,
!
1
);
t
.
language
=
n
,
t
.
r
>
a
.
r
&&
(
a
=
t
),
t
.
r
>
r
.
r
&&
(
a
=
r
,
r
=
t
)}}),
a
.
language
&&
(
r
.
second_best
=
a
),
r
}
function
g
(
e
){
return
E
.
tabReplace
&&
(
e
=
e
.
replace
(
/^
((
<
[^
>
]
+>|
\t)
+
)
/gm
,
function
(
e
,
n
){
return
n
.
replace
(
/
\t
/g
,
E
.
tabReplace
)})),
E
.
useBR
&&
(
e
=
e
.
replace
(
/
\n
/g
,
"<br>"
)),
e
}
function
p
(
e
,
n
,
t
){
var
r
=
n
?
x
[
n
]:
t
,
a
=
[
e
.
trim
()];
return
e
.
match
(
/
\b
hljs
\b
/
)
||
a
.
push
(
"hljs"
),
-
1
===
e
.
indexOf
(
r
)
&&
a
.
push
(
r
),
a
.
join
(
" "
).
trim
()}
function
h
(
e
){
var
n
=
i
(
e
);
if
(
!
a
(
n
)){
var
t
;
E
.
useBR
?(
t
=
document
.
createElementNS
(
"http://www.w3.org/1999/xhtml"
,
"div"
),
t
.
innerHTML
=
e
.
innerHTML
.
replace
(
/
\n
/g
,
""
).
replace
(
/<br
[
\/]
*>/g
,
"
\n
"
)):
t
=
e
;
var
r
=
t
.
textContent
,
o
=
n
?
f
(
n
,
r
,
!
0
):
l
(
r
),
s
=
u
(
t
);
if
(
s
.
length
){
var
h
=
document
.
createElementNS
(
"http://www.w3.org/1999/xhtml"
,
"div"
);
h
.
innerHTML
=
o
.
value
,
o
.
value
=
c
(
s
,
u
(
h
),
r
)}
o
.
value
=
g
(
o
.
value
),
e
.
innerHTML
=
o
.
value
,
e
.
className
=
p
(
e
.
className
,
n
,
o
.
language
),
e
.
result
=
{
language
:
o
.
language
,
re
:
o
.
r
},
o
.
second_best
&&
(
e
.
second_best
=
{
language
:
o
.
second_best
.
language
,
re
:
o
.
second_best
.
r
})}}
function
d
(
e
){
E
=
o
(
E
,
e
)}
function
b
(){
if
(
!
b
.
called
){
b
.
called
=!
0
;
var
e
=
document
.
querySelectorAll
(
"pre code"
);
Array
.
prototype
.
forEach
.
call
(
e
,
h
)}}
function
v
(){
addEventListener
(
"DOMContentLoaded"
,
b
,
!
1
),
addEventListener
(
"load"
,
b
,
!
1
)}
function
m
(
n
,
t
){
var
r
=
R
[
n
]
=
t
(
e
);
r
.
aliases
&&
r
.
aliases
.
forEach
(
function
(
e
){
x
[
e
]
=
n
})}
function
N
(){
return
Object
.
keys
(
R
)}
function
w
(
e
){
return
e
=
(
e
||
""
).
toLowerCase
(),
R
[
e
]
||
R
[
x
[
e
]]}
var
E
=
{
classPrefix
:
"hljs-"
,
tabReplace
:
null
,
useBR
:
!
1
,
languages
:
void
0
},
R
=
{},
x
=
{};
return
e
.
highlight
=
f
,
e
.
highlightAuto
=
l
,
e
.
fixMarkup
=
g
,
e
.
highlightBlock
=
h
,
e
.
configure
=
d
,
e
.
initHighlighting
=
b
,
e
.
initHighlightingOnLoad
=
v
,
e
.
registerLanguage
=
m
,
e
.
listLanguages
=
N
,
e
.
getLanguage
=
w
,
e
.
inherit
=
o
,
e
.
IR
=
"[a-zA-Z]
\\
w*"
,
e
.
UIR
=
"[a-zA-Z_]
\\
w*"
,
e
.
NR
=
"
\\
b
\\
d+(
\\
.
\\
d+)?"
,
e
.
CNR
=
"(-?)(
\\
b0[xX][a-fA-F0-9]+|(
\\
b
\\
d+(
\\
.
\\
d*)?|
\\
.
\\
d+)([eE][-+]?
\\
d+)?)"
,
e
.
BNR
=
"
\\
b(0b[01]+)"
,
e
.
RSR
=
"!|!=|!==|%|%=|&|&&|&=|
\\
*|
\\
*=|
\\
+|
\\
+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|
\\
?|
\\
[|
\\
{|
\\
(|
\\
^|
\\
^=|
\\
||
\\
|=|
\\
|
\\
||~"
,
e
.
BE
=
{
b
:
"
\\\\
[
\\
s
\\
S]"
,
r
:
0
},
e
.
ASM
=
{
cN
:
"string"
,
b
:
"'"
,
e
:
"'"
,
i
:
"
\
\n
"
,
c
:[
e
.
BE
]},
e
.
QSM
=
{
cN
:
"string"
,
b
:
'"'
,
e
:
'"'
,
i
:
"
\
\n
"
,
c
:[
e
.
BE
]},
e
.
PWM
=
{
b
:
/
\b(
a|an|the|are|I|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|like
)\b
/
},
e
.
C
=
function
(
n
,
t
,
r
){
var
a
=
e
.
inherit
({
cN
:
"comment"
,
b
:
n
,
e
:
t
,
c
:[]},
r
||
{});
return
a
.
c
.
push
(
e
.
PWM
),
a
.
c
.
push
({
cN
:
"doctag"
,
b
:
"(?:TODO|FIXME|NOTE|BUG|XXX):"
,
r
:
0
}),
a
},
e
.
CLCM
=
e
.
C
(
"//"
,
"$"
),
e
.
CBCM
=
e
.
C
(
"/
\\
*"
,
"
\\
*/"
),
e
.
HCM
=
e
.
C
(
"#"
,
"$"
),
e
.
NM
=
{
cN
:
"number"
,
b
:
e
.
NR
,
r
:
0
},
e
.
CNM
=
{
cN
:
"number"
,
b
:
e
.
CNR
,
r
:
0
},
e
.
BNM
=
{
cN
:
"number"
,
b
:
e
.
BNR
,
r
:
0
},
e
.
CSSNM
=
{
cN
:
"number"
,
b
:
e
.
NR
+
"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?"
,
r
:
0
},
e
.
RM
=
{
cN
:
"regexp"
,
b
:
/
\/
/
,
e
:
/
\/[
gimuy
]
*/
,
i
:
/
\n
/
,
c
:[
e
.
BE
,{
b
:
/
\[
/
,
e
:
/
\]
/
,
r
:
0
,
c
:[
e
.
BE
]}]},
e
.
TM
=
{
cN
:
"title"
,
b
:
e
.
IR
,
r
:
0
},
e
.
UTM
=
{
cN
:
"title"
,
b
:
e
.
UIR
,
r
:
0
},
e
.
METHOD_GUARD
=
{
b
:
"
\\
.
\\
s*"
+
e
.
UIR
,
r
:
0
},
e
});
hljs
.
registerLanguage
(
"markdown"
,
function
(
e
){
return
{
aliases
:[
"md"
,
"mkdown"
,
"mkd"
],
c
:[{
cN
:
"section"
,
v
:[{
b
:
"^#{1,6}"
,
e
:
"$"
},{
b
:
"^.+?
\
\n
[=-]{2,}$"
}]},{
b
:
"<"
,
e
:
">"
,
sL
:
"xml"
,
r
:
0
},{
cN
:
"bullet"
,
b
:
"^([*+-]|(
\\
d+
\\
.))
\\
s+"
},{
cN
:
"strong"
,
b
:
"[*_]{2}.+?[*_]{2}"
},{
cN
:
"emphasis"
,
v
:[{
b
:
"
\\
*.+?
\\
*"
},{
b
:
"_.+?_"
,
r
:
0
}]},{
cN
:
"quote"
,
b
:
"^>
\\
s+"
,
e
:
"$"
},{
cN
:
"code"
,
v
:[{
b
:
"`.+?`"
},{
b
:
"^( {4}| )"
,
e
:
"$"
,
r
:
0
}]},{
b
:
"^[-
\\
*]{3,}"
,
e
:
"$"
},{
b
:
"
\\
[.+?
\\
][
\\
(
\\
[].*?[
\\
)
\\
]]"
,
rB
:
!
0
,
c
:[{
cN
:
"string"
,
b
:
"
\\
["
,
e
:
"
\\
]"
,
eB
:
!
0
,
rE
:
!
0
,
r
:
0
},{
cN
:
"link"
,
b
:
"
\\
]
\\
("
,
e
:
"
\\
)"
,
eB
:
!
0
,
eE
:
!
0
},{
cN
:
"symbol"
,
b
:
"
\\
]
\\
["
,
e
:
"
\\
]"
,
eB
:
!
0
,
eE
:
!
0
}],
r
:
10
},{
b
:
"^
\\
[.+
\\
]:"
,
rB
:
!
0
,
c
:[{
cN
:
"symbol"
,
b
:
"
\\
["
,
e
:
"
\\
]:"
,
eB
:
!
0
,
eE
:
!
0
,
starts
:{
cN
:
"link"
,
e
:
"$"
}}]}]}});
hljs
.
registerLanguage
(
"css"
,
function
(
e
){
var
c
=
"[a-zA-Z-][a-zA-Z0-9_-]*"
,
t
=
{
b
:
/
[
A-Z
\_\.\-]
+
\s
*:/
,
rB
:
!
0
,
e
:
";"
,
eW
:
!
0
,
c
:[{
cN
:
"attribute"
,
b
:
/
\S
/
,
e
:
":"
,
eE
:
!
0
,
starts
:{
eW
:
!
0
,
eE
:
!
0
,
c
:[{
b
:
/
[\w
-
]
+
\(
/
,
rB
:
!
0
,
c
:[{
cN
:
"built_in"
,
b
:
/
[\w
-
]
+/
},{
b
:
/
\(
/
,
e
:
/
\)
/
,
c
:[
e
.
ASM
,
e
.
QSM
]}]},
e
.
CSSNM
,
e
.
QSM
,
e
.
ASM
,
e
.
CBCM
,{
cN
:
"number"
,
b
:
"#[0-9A-Fa-f]+"
},{
cN
:
"meta"
,
b
:
"!important"
}]}}]};
return
{
cI
:
!
0
,
i
:
/
[
=
\/
|'
\$]
/
,
c
:[
e
.
CBCM
,{
cN
:
"selector-id"
,
b
:
/#
[
A-Za-z0-9_-
]
+/
},{
cN
:
"selector-class"
,
b
:
/
\.[
A-Za-z0-9_-
]
+/
},{
cN
:
"selector-attr"
,
b
:
/
\[
/
,
e
:
/
\]
/
,
i
:
"$"
},{
cN
:
"selector-pseudo"
,
b
:
/:
(
:
)?[
a-zA-Z0-9
\_\-\+\(\)
"'.
]
+/
},{
b
:
"@(font-face|page)"
,
l
:
"[a-z-]+"
,
k
:
"font-face page"
},{
b
:
"@"
,
e
:
"[{;]"
,
c
:[{
cN
:
"keyword"
,
b
:
/
\S
+/
},{
b
:
/
\s
/
,
eW
:
!
0
,
eE
:
!
0
,
r
:
0
,
c
:[
e
.
ASM
,
e
.
QSM
,
e
.
CSSNM
]}]},{
cN
:
"selector-tag"
,
b
:
c
,
r
:
0
},{
b
:
"{"
,
e
:
"}"
,
i
:
/
\S
/
,
c
:[
e
.
CBCM
,
t
]}]}});
hljs
.
registerLanguage
(
"json"
,
function
(
e
){
var
i
=
{
literal
:
"true false null"
},
n
=
[
e
.
QSM
,
e
.
CNM
],
r
=
{
e
:
","
,
eW
:
!
0
,
eE
:
!
0
,
c
:
n
,
k
:
i
},
t
=
{
b
:
"{"
,
e
:
"}"
,
c
:[{
cN
:
"attr"
,
b
:
/"/
,
e
:
/"/
,
c
:[
e
.
BE
],
i
:
"
\
\n
"
},
e
.
inherit
(
r
,{
b
:
/:/
})],
i
:
"
\\
S"
},
c
=
{
b
:
"
\\
["
,
e
:
"
\\
]"
,
c
:[
e
.
inherit
(
r
)],
i
:
"
\\
S"
};
return
n
.
splice
(
n
.
length
,
0
,
t
,
c
),{
c
:
n
,
k
:
i
,
i
:
"
\\
S"
}});
hljs
.
registerLanguage
(
"xml"
,
function
(
s
){
var
e
=
"[A-Za-z0-9
\\
._:-]+"
,
t
=
{
eW
:
!
0
,
i
:
/</
,
r
:
0
,
c
:[{
cN
:
"attr"
,
b
:
e
,
r
:
0
},{
b
:
"="
,
r
:
0
,
c
:[{
cN
:
"string"
,
v
:[{
b
:
/"/
,
e
:
/"/
},{
b
:
/'/
,
e
:
/'/
},{
b
:
/
[^\s\/
>
]
+/
}]}]}]};
return
{
aliases
:[
"html"
,
"xhtml"
,
"rss"
,
"atom"
,
"xsl"
,
"plist"
],
cI
:
!
0
,
c
:[{
cN
:
"meta"
,
b
:
"<!DOCTYPE"
,
e
:
">"
,
r
:
10
,
c
:[{
b
:
"
\\
["
,
e
:
"
\\
]"
}]},
s
.
C
(
"<!--"
,
"-->"
,{
r
:
10
}),{
b
:
"<
\\
!
\\
[CDATA
\\
["
,
e
:
"
\\
]
\\
]>"
,
r
:
10
},{
b
:
/<
\?(
php
)?
/
,
e
:
/
\?
>/
,
sL
:
"php"
,
c
:[{
b
:
"/
\\
*"
,
e
:
"
\\
*/"
,
skip
:
!
0
}]},{
cN
:
"tag"
,
b
:
"<style(?=
\\
s|>|$)"
,
e
:
">"
,
k
:{
name
:
"style"
},
c
:[
t
],
starts
:{
e
:
"</style>"
,
rE
:
!
0
,
sL
:[
"css"
,
"xml"
]}},{
cN
:
"tag"
,
b
:
"<script(?=
\\
s|>|$)"
,
e
:
">"
,
k
:{
name
:
"script"
},
c
:[
t
],
starts
:{
e
:
"</script>"
,
rE
:
!
0
,
sL
:[
"actionscript"
,
"javascript"
,
"handlebars"
,
"xml"
]}},{
cN
:
"meta"
,
v
:[{
b
:
/<
\?
xml/
,
e
:
/
\?
>/
,
r
:
10
},{
b
:
/<
\?\w
+/
,
e
:
/
\?
>/
}]},{
cN
:
"tag"
,
b
:
"</?"
,
e
:
"/?>"
,
c
:[{
cN
:
"name"
,
b
:
/
[^\/
><
\s]
+/
,
r
:
0
},
t
]}]}});
hljs
.
registerLanguage
(
"javascript"
,
function
(
e
){
return
{
aliases
:[
"js"
,
"jsx"
],
k
:{
keyword
:
"in of if for while finally var new function do return void else break catch instanceof with throw case default try this switch continue typeof delete let yield const export super debugger as async await static import from as"
,
literal
:
"true false null undefined NaN Infinity"
,
built_in
:
"eval isFinite isNaN parseFloat parseInt decodeURI decodeURIComponent encodeURI encodeURIComponent escape unescape Object Function Boolean Error EvalError InternalError RangeError ReferenceError StopIteration SyntaxError TypeError URIError Number Math Date String RegExp Array Float32Array Float64Array Int16Array Int32Array Int8Array Uint16Array Uint32Array Uint8Array Uint8ClampedArray ArrayBuffer DataView JSON Intl arguments require module console window document Symbol Set Map WeakSet WeakMap Proxy Reflect Promise"
},
c
:[{
cN
:
"meta"
,
r
:
10
,
b
:
/^
\s
*
[
'"
]
use
(
strict|asm
)[
'"
]
/
},{
cN
:
"meta"
,
b
:
/^#!/
,
e
:
/$/
},
e
.
ASM
,
e
.
QSM
,{
cN
:
"string"
,
b
:
"`"
,
e
:
"`"
,
c
:[
e
.
BE
,{
cN
:
"subst"
,
b
:
"
\\
$
\\
{"
,
e
:
"
\\
}"
}]},
e
.
CLCM
,
e
.
CBCM
,{
cN
:
"number"
,
v
:[{
b
:
"
\\
b(0[bB][01]+)"
},{
b
:
"
\\
b(0[oO][0-7]+)"
},{
b
:
e
.
CNR
}],
r
:
0
},{
b
:
"("
+
e
.
RSR
+
"|
\\
b(case|return|throw)
\\
b)
\\
s*"
,
k
:
"return throw case"
,
c
:[
e
.
CLCM
,
e
.
CBCM
,
e
.
RM
,{
b
:
/</
,
e
:
/
(\/\w
+|
\w
+
\/)
>/
,
sL
:
"xml"
,
c
:[{
b
:
/<
\w
+
\/
>/
,
skip
:
!
0
},{
b
:
/<
\w
+/
,
e
:
/
(\/\w
+|
\w
+
\/)
>/
,
skip
:
!
0
,
c
:[
"self"
]}]}],
r
:
0
},{
cN
:
"function"
,
bK
:
"function"
,
e
:
/
\{
/
,
eE
:
!
0
,
c
:[
e
.
inherit
(
e
.
TM
,{
b
:
/
[
A-Za-z$_
][
0-9A-Za-z$_
]
*/
}),{
cN
:
"params"
,
b
:
/
\(
/
,
e
:
/
\)
/
,
eB
:
!
0
,
eE
:
!
0
,
c
:[
e
.
CLCM
,
e
.
CBCM
]}],
i
:
/
\[
|%/
},{
b
:
/
\$[
(.
]
/
},
e
.
METHOD_GUARD
,{
cN
:
"class"
,
bK
:
"class"
,
e
:
/
[
{;=
]
/
,
eE
:
!
0
,
i
:
/
[
:"
\[\]]
/
,
c
:[{
bK
:
"extends"
},
e
.
UTM
]},{
bK
:
"constructor"
,
e
:
/
\{
/
,
eE
:
!
0
}],
i
:
/#
(?!
!
)
/
}});
hljs
.
registerLanguage
(
"less"
,
function
(
e
){
var
r
=
"[
\\
w-]+"
,
t
=
"("
+
r
+
"|@{"
+
r
+
"})"
,
a
=
[],
c
=
[],
s
=
function
(
e
){
return
{
cN
:
"string"
,
b
:
"~?"
+
e
+
".*?"
+
e
}},
b
=
function
(
e
,
r
,
t
){
return
{
cN
:
e
,
b
:
r
,
r
:
t
}},
i
=
{
b
:
"
\\
("
,
e
:
"
\\
)"
,
c
:
c
,
r
:
0
};
c
.
push
(
e
.
CLCM
,
e
.
CBCM
,
s
(
"'"
),
s
(
'"'
),
e
.
CSSNM
,{
b
:
"(url|data-uri)
\\
("
,
starts
:{
cN
:
"string"
,
e
:
"[
\\
)
\
\n
]"
,
eE
:
!
0
}},
b
(
"number"
,
"#[0-9A-Fa-f]+
\\
b"
),
i
,
b
(
"variable"
,
"@@?"
+
r
,
10
),
b
(
"variable"
,
"@{"
+
r
+
"}"
),
b
(
"built_in"
,
"~?`[^`]*?`"
),{
cN
:
"attribute"
,
b
:
r
+
"
\\
s*:"
,
e
:
":"
,
rB
:
!
0
,
eE
:
!
0
},{
cN
:
"meta"
,
b
:
"!important"
});
var
n
=
c
.
concat
({
b
:
"{"
,
e
:
"}"
,
c
:
a
}),
o
=
{
bK
:
"when"
,
eW
:
!
0
,
c
:[{
bK
:
"and not"
}].
concat
(
c
)},
u
=
{
cN
:
"attribute"
,
b
:
t
,
e
:
":"
,
eE
:
!
0
,
c
:[
e
.
CLCM
,
e
.
CBCM
],
i
:
/
\S
/
,
starts
:{
e
:
"[;}]"
,
rE
:
!
0
,
c
:
c
,
i
:
"[<=$]"
}},
C
=
{
cN
:
"keyword"
,
b
:
"@(import|media|charset|font-face|(-[a-z]+-)?keyframes|supports|document|namespace|page|viewport|host)
\\
b"
,
starts
:{
e
:
"[;{}]"
,
rE
:
!
0
,
c
:
c
,
r
:
0
}},
l
=
{
cN
:
"variable"
,
v
:[{
b
:
"@"
+
r
+
"
\\
s*:"
,
r
:
15
},{
b
:
"@"
+
r
}],
starts
:{
e
:
"[;}]"
,
rE
:
!
0
,
c
:
n
}},
p
=
{
v
:[{
b
:
"[
\\
.#:&
\\
[]"
,
e
:
"[;{}]"
},{
b
:
t
+
"[^;]*{"
,
e
:
"{"
}],
rB
:
!
0
,
rE
:
!
0
,
i
:
"[<='$
\"
]"
,
c
:[
e
.
CLCM
,
e
.
CBCM
,
o
,
b
(
"keyword"
,
"all
\\
b"
),
b
(
"variable"
,
"@{"
+
r
+
"}"
),
b
(
"selector-tag"
,
t
+
"%?"
,
0
),
b
(
"selector-id"
,
"#"
+
t
),
b
(
"selector-class"
,
"
\\
."
+
t
,
0
),
b
(
"selector-tag"
,
"&"
,
0
),{
cN
:
"selector-attr"
,
b
:
"
\\
["
,
e
:
"
\\
]"
},{
b
:
"
\\
("
,
e
:
"
\\
)"
,
c
:
n
},{
b
:
"!important"
}]};
return
a
.
push
(
e
.
CLCM
,
e
.
CBCM
,
C
,
l
,
p
,
u
),{
cI
:
!
0
,
i
:
"[=>'/<($
\"
]"
,
c
:
a
}});
highlight.js v9.2.0 | BSD3 License | git.io/hljslicense
https://highlightjs.org/download/
*/
!
function
(
e
){
var
n
=
"object"
==
typeof
window
&&
window
||
"object"
==
typeof
self
&&
self
;
"undefined"
!=
typeof
exports
?
e
(
exports
):
n
&&
(
n
.
hljs
=
e
({}),
"function"
==
typeof
define
&&
define
.
amd
&&
define
([],
function
(){
return
n
.
hljs
}))}(
function
(
e
){
function
n
(
e
){
return
e
.
replace
(
/&/gm
,
"&"
).
replace
(
/</gm
,
"<"
).
replace
(
/>/gm
,
">"
)}
function
t
(
e
){
return
e
.
nodeName
.
toLowerCase
()}
function
r
(
e
,
n
){
var
t
=
e
&&
e
.
exec
(
n
);
return
t
&&
0
==
t
.
index
}
function
a
(
e
){
return
/^
(
no-
?
highlight|plain|text
)
$/i
.
test
(
e
)}
function
i
(
e
){
var
n
,
t
,
r
,
i
=
e
.
className
+
" "
;
if
(
i
+=
e
.
parentNode
?
e
.
parentNode
.
className
:
""
,
t
=
/
\b
lang
(?:
uage
)?
-
([\w
-
]
+
)\b
/i
.
exec
(
i
))
return
w
(
t
[
1
])?
t
[
1
]:
"no-highlight"
;
for
(
i
=
i
.
split
(
/
\s
+/
),
n
=
0
,
r
=
i
.
length
;
r
>
n
;
n
++
)
if
(
w
(
i
[
n
])
||
a
(
i
[
n
]))
return
i
[
n
]}
function
o
(
e
,
n
){
var
t
,
r
=
{};
for
(
t
in
e
)
r
[
t
]
=
e
[
t
];
if
(
n
)
for
(
t
in
n
)
r
[
t
]
=
n
[
t
];
return
r
}
function
u
(
e
){
var
n
=
[];
return
function
r
(
e
,
a
){
for
(
var
i
=
e
.
firstChild
;
i
;
i
=
i
.
nextSibling
)
3
==
i
.
nodeType
?
a
+=
i
.
nodeValue
.
length
:
1
==
i
.
nodeType
&&
(
n
.
push
({
event
:
"start"
,
offset
:
a
,
node
:
i
}),
a
=
r
(
i
,
a
),
t
(
i
).
match
(
/br|hr|img|input/
)
||
n
.
push
({
event
:
"stop"
,
offset
:
a
,
node
:
i
}));
return
a
}(
e
,
0
),
n
}
function
c
(
e
,
r
,
a
){
function
i
(){
return
e
.
length
&&
r
.
length
?
e
[
0
].
offset
!=
r
[
0
].
offset
?
e
[
0
].
offset
<
r
[
0
].
offset
?
e
:
r
:
"start"
==
r
[
0
].
event
?
e
:
r
:
e
.
length
?
e
:
r
}
function
o
(
e
){
function
r
(
e
){
return
" "
+
e
.
nodeName
+
'="'
+
n
(
e
.
value
)
+
'"'
}
f
+=
"<"
+
t
(
e
)
+
Array
.
prototype
.
map
.
call
(
e
.
attributes
,
r
).
join
(
""
)
+
">"
}
function
u
(
e
){
f
+=
"</"
+
t
(
e
)
+
">"
}
function
c
(
e
){(
"start"
==
e
.
event
?
o
:
u
)(
e
.
node
)}
for
(
var
s
=
0
,
f
=
""
,
l
=
[];
e
.
length
||
r
.
length
;){
var
g
=
i
();
if
(
f
+=
n
(
a
.
substr
(
s
,
g
[
0
].
offset
-
s
)),
s
=
g
[
0
].
offset
,
g
==
e
){
l
.
reverse
().
forEach
(
u
);
do
c
(
g
.
splice
(
0
,
1
)[
0
]),
g
=
i
();
while
(
g
==
e
&&
g
.
length
&&
g
[
0
].
offset
==
s
);
l
.
reverse
().
forEach
(
o
)}
else
"start"
==
g
[
0
].
event
?
l
.
push
(
g
[
0
].
node
):
l
.
pop
(),
c
(
g
.
splice
(
0
,
1
)[
0
])}
return
f
+
n
(
a
.
substr
(
s
))}
function
s
(
e
){
function
n
(
e
){
return
e
&&
e
.
source
||
e
}
function
t
(
t
,
r
){
return
new
RegExp
(
n
(
t
),
"m"
+
(
e
.
cI
?
"i"
:
""
)
+
(
r
?
"g"
:
""
))}
function
r
(
a
,
i
){
if
(
!
a
.
compiled
){
if
(
a
.
compiled
=!
0
,
a
.
k
=
a
.
k
||
a
.
bK
,
a
.
k
){
var
u
=
{},
c
=
function
(
n
,
t
){
e
.
cI
&&
(
t
=
t
.
toLowerCase
()),
t
.
split
(
" "
).
forEach
(
function
(
e
){
var
t
=
e
.
split
(
"|"
);
u
[
t
[
0
]]
=
[
n
,
t
[
1
]?
Number
(
t
[
1
]):
1
]})};
"string"
==
typeof
a
.
k
?
c
(
"keyword"
,
a
.
k
):
Object
.
keys
(
a
.
k
).
forEach
(
function
(
e
){
c
(
e
,
a
.
k
[
e
])}),
a
.
k
=
u
}
a
.
lR
=
t
(
a
.
l
||
/
\b\w
+
\b
/
,
!
0
),
i
&&
(
a
.
bK
&&
(
a
.
b
=
"
\\
b("
+
a
.
bK
.
split
(
" "
).
join
(
"|"
)
+
")
\\
b"
),
a
.
b
||
(
a
.
b
=
/
\B
|
\b
/
),
a
.
bR
=
t
(
a
.
b
),
a
.
e
||
a
.
eW
||
(
a
.
e
=
/
\B
|
\b
/
),
a
.
e
&&
(
a
.
eR
=
t
(
a
.
e
)),
a
.
tE
=
n
(
a
.
e
)
||
""
,
a
.
eW
&&
i
.
tE
&&
(
a
.
tE
+=
(
a
.
e
?
"|"
:
""
)
+
i
.
tE
)),
a
.
i
&&
(
a
.
iR
=
t
(
a
.
i
)),
void
0
===
a
.
r
&&
(
a
.
r
=
1
),
a
.
c
||
(
a
.
c
=
[]);
var
s
=
[];
a
.
c
.
forEach
(
function
(
e
){
e
.
v
?
e
.
v
.
forEach
(
function
(
n
){
s
.
push
(
o
(
e
,
n
))}):
s
.
push
(
"self"
==
e
?
a
:
e
)}),
a
.
c
=
s
,
a
.
c
.
forEach
(
function
(
e
){
r
(
e
,
a
)}),
a
.
starts
&&
r
(
a
.
starts
,
i
);
var
f
=
a
.
c
.
map
(
function
(
e
){
return
e
.
bK
?
"
\\
.?("
+
e
.
b
+
")
\\
.?"
:
e
.
b
}).
concat
([
a
.
tE
,
a
.
i
]).
map
(
n
).
filter
(
Boolean
);
a
.
t
=
f
.
length
?
t
(
f
.
join
(
"|"
),
!
0
):{
exec
:
function
(){
return
null
}}}}
r
(
e
)}
function
f
(
e
,
t
,
a
,
i
){
function
o
(
e
,
n
){
for
(
var
t
=
0
;
t
<
n
.
c
.
length
;
t
++
)
if
(
r
(
n
.
c
[
t
].
bR
,
e
))
return
n
.
c
[
t
]}
function
u
(
e
,
n
){
if
(
r
(
e
.
eR
,
n
)){
for
(;
e
.
endsParent
&&
e
.
parent
;)
e
=
e
.
parent
;
return
e
}
return
e
.
eW
?
u
(
e
.
parent
,
n
):
void
0
}
function
c
(
e
,
n
){
return
!
a
&&
r
(
n
.
iR
,
e
)}
function
g
(
e
,
n
){
var
t
=
N
.
cI
?
n
[
0
].
toLowerCase
():
n
[
0
];
return
e
.
k
.
hasOwnProperty
(
t
)
&&
e
.
k
[
t
]}
function
p
(
e
,
n
,
t
,
r
){
var
a
=
r
?
""
:
E
.
classPrefix
,
i
=
'<span class="'
+
a
,
o
=
t
?
""
:
"</span>"
;
return
i
+=
e
+
'">'
,
i
+
n
+
o
}
function
h
(){
if
(
!
k
.
k
)
return
n
(
M
);
var
e
=
""
,
t
=
0
;
k
.
lR
.
lastIndex
=
0
;
for
(
var
r
=
k
.
lR
.
exec
(
M
);
r
;){
e
+=
n
(
M
.
substr
(
t
,
r
.
index
-
t
));
var
a
=
g
(
k
,
r
);
a
?(
B
+=
a
[
1
],
e
+=
p
(
a
[
0
],
n
(
r
[
0
]))):
e
+=
n
(
r
[
0
]),
t
=
k
.
lR
.
lastIndex
,
r
=
k
.
lR
.
exec
(
M
)}
return
e
+
n
(
M
.
substr
(
t
))}
function
d
(){
var
e
=
"string"
==
typeof
k
.
sL
;
if
(
e
&&!
R
[
k
.
sL
])
return
n
(
M
);
var
t
=
e
?
f
(
k
.
sL
,
M
,
!
0
,
y
[
k
.
sL
]):
l
(
M
,
k
.
sL
.
length
?
k
.
sL
:
void
0
);
return
k
.
r
>
0
&&
(
B
+=
t
.
r
),
e
&&
(
y
[
k
.
sL
]
=
t
.
top
),
p
(
t
.
language
,
t
.
value
,
!
1
,
!
0
)}
function
b
(){
L
+=
void
0
!==
k
.
sL
?
d
():
h
(),
M
=
""
}
function
v
(
e
,
n
){
L
+=
e
.
cN
?
p
(
e
.
cN
,
""
,
!
0
):
""
,
k
=
Object
.
create
(
e
,{
parent
:{
value
:
k
}})}
function
m
(
e
,
n
){
if
(
M
+=
e
,
void
0
===
n
)
return
b
(),
0
;
var
t
=
o
(
n
,
k
);
if
(
t
)
return
t
.
skip
?
M
+=
n
:(
t
.
eB
&&
(
M
+=
n
),
b
(),
t
.
rB
||
t
.
eB
||
(
M
=
n
)),
v
(
t
,
n
),
t
.
rB
?
0
:
n
.
length
;
var
r
=
u
(
k
,
n
);
if
(
r
){
var
a
=
k
;
a
.
skip
?
M
+=
n
:(
a
.
rE
||
a
.
eE
||
(
M
+=
n
),
b
(),
a
.
eE
&&
(
M
=
n
));
do
k
.
cN
&&
(
L
+=
"</span>"
),
k
.
skip
||
(
B
+=
k
.
r
),
k
=
k
.
parent
;
while
(
k
!=
r
.
parent
);
return
r
.
starts
&&
v
(
r
.
starts
,
""
),
a
.
rE
?
0
:
n
.
length
}
if
(
c
(
n
,
k
))
throw
new
Error
(
'Illegal lexeme "'
+
n
+
'" for mode "'
+
(
k
.
cN
||
"<unnamed>"
)
+
'"'
);
return
M
+=
n
,
n
.
length
||
1
}
var
N
=
w
(
e
);
if
(
!
N
)
throw
new
Error
(
'Unknown language: "'
+
e
+
'"'
);
s
(
N
);
var
x
,
k
=
i
||
N
,
y
=
{},
L
=
""
;
for
(
x
=
k
;
x
!=
N
;
x
=
x
.
parent
)
x
.
cN
&&
(
L
=
p
(
x
.
cN
,
""
,
!
0
)
+
L
);
var
M
=
""
,
B
=
0
;
try
{
for
(
var
C
,
j
,
I
=
0
;;){
if
(
k
.
t
.
lastIndex
=
I
,
C
=
k
.
t
.
exec
(
t
),
!
C
)
break
;
j
=
m
(
t
.
substr
(
I
,
C
.
index
-
I
),
C
[
0
]),
I
=
C
.
index
+
j
}
for
(
m
(
t
.
substr
(
I
)),
x
=
k
;
x
.
parent
;
x
=
x
.
parent
)
x
.
cN
&&
(
L
+=
"</span>"
);
return
{
r
:
B
,
value
:
L
,
language
:
e
,
top
:
k
}}
catch
(
O
){
if
(
-
1
!=
O
.
message
.
indexOf
(
"Illegal"
))
return
{
r
:
0
,
value
:
n
(
t
)};
throw
O
}}
function
l
(
e
,
t
){
t
=
t
||
E
.
languages
||
Object
.
keys
(
R
);
var
r
=
{
r
:
0
,
value
:
n
(
e
)},
a
=
r
;
return
t
.
forEach
(
function
(
n
){
if
(
w
(
n
)){
var
t
=
f
(
n
,
e
,
!
1
);
t
.
language
=
n
,
t
.
r
>
a
.
r
&&
(
a
=
t
),
t
.
r
>
r
.
r
&&
(
a
=
r
,
r
=
t
)}}),
a
.
language
&&
(
r
.
second_best
=
a
),
r
}
function
g
(
e
){
return
E
.
tabReplace
&&
(
e
=
e
.
replace
(
/^
((
<
[^
>
]
+>|
\t)
+
)
/gm
,
function
(
e
,
n
){
return
n
.
replace
(
/
\t
/g
,
E
.
tabReplace
)})),
E
.
useBR
&&
(
e
=
e
.
replace
(
/
\n
/g
,
"<br>"
)),
e
}
function
p
(
e
,
n
,
t
){
var
r
=
n
?
x
[
n
]:
t
,
a
=
[
e
.
trim
()];
return
e
.
match
(
/
\b
hljs
\b
/
)
||
a
.
push
(
"hljs"
),
-
1
===
e
.
indexOf
(
r
)
&&
a
.
push
(
r
),
a
.
join
(
" "
).
trim
()}
function
h
(
e
){
var
n
=
i
(
e
);
if
(
!
a
(
n
)){
var
t
;
E
.
useBR
?(
t
=
document
.
createElementNS
(
"http://www.w3.org/1999/xhtml"
,
"div"
),
t
.
innerHTML
=
e
.
innerHTML
.
replace
(
/
\n
/g
,
""
).
replace
(
/<br
[
\/]
*>/g
,
"
\n
"
)):
t
=
e
;
var
r
=
t
.
textContent
,
o
=
n
?
f
(
n
,
r
,
!
0
):
l
(
r
),
s
=
u
(
t
);
if
(
s
.
length
){
var
h
=
document
.
createElementNS
(
"http://www.w3.org/1999/xhtml"
,
"div"
);
h
.
innerHTML
=
o
.
value
,
o
.
value
=
c
(
s
,
u
(
h
),
r
)}
o
.
value
=
g
(
o
.
value
),
e
.
innerHTML
=
o
.
value
,
e
.
className
=
p
(
e
.
className
,
n
,
o
.
language
),
e
.
result
=
{
language
:
o
.
language
,
re
:
o
.
r
},
o
.
second_best
&&
(
e
.
second_best
=
{
language
:
o
.
second_best
.
language
,
re
:
o
.
second_best
.
r
})}}
function
d
(
e
){
E
=
o
(
E
,
e
)}
function
b
(){
if
(
!
b
.
called
){
b
.
called
=!
0
;
var
e
=
document
.
querySelectorAll
(
"pre code"
);
Array
.
prototype
.
forEach
.
call
(
e
,
h
)}}
function
v
(){
addEventListener
(
"DOMContentLoaded"
,
b
,
!
1
),
addEventListener
(
"load"
,
b
,
!
1
)}
function
m
(
n
,
t
){
var
r
=
R
[
n
]
=
t
(
e
);
r
.
aliases
&&
r
.
aliases
.
forEach
(
function
(
e
){
x
[
e
]
=
n
})}
function
N
(){
return
Object
.
keys
(
R
)}
function
w
(
e
){
return
e
=
(
e
||
""
).
toLowerCase
(),
R
[
e
]
||
R
[
x
[
e
]]}
var
E
=
{
classPrefix
:
"hljs-"
,
tabReplace
:
null
,
useBR
:
!
1
,
languages
:
void
0
},
R
=
{},
x
=
{};
return
e
.
highlight
=
f
,
e
.
highlightAuto
=
l
,
e
.
fixMarkup
=
g
,
e
.
highlightBlock
=
h
,
e
.
configure
=
d
,
e
.
initHighlighting
=
b
,
e
.
initHighlightingOnLoad
=
v
,
e
.
registerLanguage
=
m
,
e
.
listLanguages
=
N
,
e
.
getLanguage
=
w
,
e
.
inherit
=
o
,
e
.
IR
=
"[a-zA-Z]
\\
w*"
,
e
.
UIR
=
"[a-zA-Z_]
\\
w*"
,
e
.
NR
=
"
\\
b
\\
d+(
\\
.
\\
d+)?"
,
e
.
CNR
=
"(-?)(
\\
b0[xX][a-fA-F0-9]+|(
\\
b
\\
d+(
\\
.
\\
d*)?|
\\
.
\\
d+)([eE][-+]?
\\
d+)?)"
,
e
.
BNR
=
"
\\
b(0b[01]+)"
,
e
.
RSR
=
"!|!=|!==|%|%=|&|&&|&=|
\\
*|
\\
*=|
\\
+|
\\
+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|
\\
?|
\\
[|
\\
{|
\\
(|
\\
^|
\\
^=|
\\
||
\\
|=|
\\
|
\\
||~"
,
e
.
BE
=
{
b
:
"
\\\\
[
\\
s
\\
S]"
,
r
:
0
},
e
.
ASM
=
{
cN
:
"string"
,
b
:
"'"
,
e
:
"'"
,
i
:
"
\
\n
"
,
c
:[
e
.
BE
]},
e
.
QSM
=
{
cN
:
"string"
,
b
:
'"'
,
e
:
'"'
,
i
:
"
\
\n
"
,
c
:[
e
.
BE
]},
e
.
PWM
=
{
b
:
/
\b(
a|an|the|are|I|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|like
)\b
/
},
e
.
C
=
function
(
n
,
t
,
r
){
var
a
=
e
.
inherit
({
cN
:
"comment"
,
b
:
n
,
e
:
t
,
c
:[]},
r
||
{});
return
a
.
c
.
push
(
e
.
PWM
),
a
.
c
.
push
({
cN
:
"doctag"
,
b
:
"(?:TODO|FIXME|NOTE|BUG|XXX):"
,
r
:
0
}),
a
},
e
.
CLCM
=
e
.
C
(
"//"
,
"$"
),
e
.
CBCM
=
e
.
C
(
"/
\\
*"
,
"
\\
*/"
),
e
.
HCM
=
e
.
C
(
"#"
,
"$"
),
e
.
NM
=
{
cN
:
"number"
,
b
:
e
.
NR
,
r
:
0
},
e
.
CNM
=
{
cN
:
"number"
,
b
:
e
.
CNR
,
r
:
0
},
e
.
BNM
=
{
cN
:
"number"
,
b
:
e
.
BNR
,
r
:
0
},
e
.
CSSNM
=
{
cN
:
"number"
,
b
:
e
.
NR
+
"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?"
,
r
:
0
},
e
.
RM
=
{
cN
:
"regexp"
,
b
:
/
\/
/
,
e
:
/
\/[
gimuy
]
*/
,
i
:
/
\n
/
,
c
:[
e
.
BE
,{
b
:
/
\[
/
,
e
:
/
\]
/
,
r
:
0
,
c
:[
e
.
BE
]}]},
e
.
TM
=
{
cN
:
"title"
,
b
:
e
.
IR
,
r
:
0
},
e
.
UTM
=
{
cN
:
"title"
,
b
:
e
.
UIR
,
r
:
0
},
e
.
METHOD_GUARD
=
{
b
:
"
\\
.
\\
s*"
+
e
.
UIR
,
r
:
0
},
e
});
hljs
.
registerLanguage
(
"markdown"
,
function
(
e
){
return
{
aliases
:[
"md"
,
"mkdown"
,
"mkd"
],
c
:[{
cN
:
"section"
,
v
:[{
b
:
"^#{1,6}"
,
e
:
"$"
},{
b
:
"^.+?
\
\n
[=-]{2,}$"
}]},{
b
:
"<"
,
e
:
">"
,
sL
:
"xml"
,
r
:
0
},{
cN
:
"bullet"
,
b
:
"^([*+-]|(
\\
d+
\\
.))
\\
s+"
},{
cN
:
"strong"
,
b
:
"[*_]{2}.+?[*_]{2}"
},{
cN
:
"emphasis"
,
v
:[{
b
:
"
\\
*.+?
\\
*"
},{
b
:
"_.+?_"
,
r
:
0
}]},{
cN
:
"quote"
,
b
:
"^>
\\
s+"
,
e
:
"$"
},{
cN
:
"code"
,
v
:[{
b
:
"`.+?`"
},{
b
:
"^( {4}| )"
,
e
:
"$"
,
r
:
0
}]},{
b
:
"^[-
\\
*]{3,}"
,
e
:
"$"
},{
b
:
"
\\
[.+?
\\
][
\\
(
\\
[].*?[
\\
)
\\
]]"
,
rB
:
!
0
,
c
:[{
cN
:
"string"
,
b
:
"
\\
["
,
e
:
"
\\
]"
,
eB
:
!
0
,
rE
:
!
0
,
r
:
0
},{
cN
:
"link"
,
b
:
"
\\
]
\\
("
,
e
:
"
\\
)"
,
eB
:
!
0
,
eE
:
!
0
},{
cN
:
"symbol"
,
b
:
"
\\
]
\\
["
,
e
:
"
\\
]"
,
eB
:
!
0
,
eE
:
!
0
}],
r
:
10
},{
b
:
"^
\\
[.+
\\
]:"
,
rB
:
!
0
,
c
:[{
cN
:
"symbol"
,
b
:
"
\\
["
,
e
:
"
\\
]:"
,
eB
:
!
0
,
eE
:
!
0
,
starts
:{
cN
:
"link"
,
e
:
"$"
}}]}]}});
hljs
.
registerLanguage
(
"css"
,
function
(
e
){
var
c
=
"[a-zA-Z-][a-zA-Z0-9_-]*"
,
t
=
{
b
:
/
[
A-Z
\_\.\-]
+
\s
*:/
,
rB
:
!
0
,
e
:
";"
,
eW
:
!
0
,
c
:[{
cN
:
"attribute"
,
b
:
/
\S
/
,
e
:
":"
,
eE
:
!
0
,
starts
:{
eW
:
!
0
,
eE
:
!
0
,
c
:[{
b
:
/
[\w
-
]
+
\(
/
,
rB
:
!
0
,
c
:[{
cN
:
"built_in"
,
b
:
/
[\w
-
]
+/
},{
b
:
/
\(
/
,
e
:
/
\)
/
,
c
:[
e
.
ASM
,
e
.
QSM
]}]},
e
.
CSSNM
,
e
.
QSM
,
e
.
ASM
,
e
.
CBCM
,{
cN
:
"number"
,
b
:
"#[0-9A-Fa-f]+"
},{
cN
:
"meta"
,
b
:
"!important"
}]}}]};
return
{
cI
:
!
0
,
i
:
/
[
=
\/
|'
\$]
/
,
c
:[
e
.
CBCM
,{
cN
:
"selector-id"
,
b
:
/#
[
A-Za-z0-9_-
]
+/
},{
cN
:
"selector-class"
,
b
:
/
\.[
A-Za-z0-9_-
]
+/
},{
cN
:
"selector-attr"
,
b
:
/
\[
/
,
e
:
/
\]
/
,
i
:
"$"
},{
cN
:
"selector-pseudo"
,
b
:
/:
(
:
)?[
a-zA-Z0-9
\_\-\+\(\)
"'.
]
+/
},{
b
:
"@(font-face|page)"
,
l
:
"[a-z-]+"
,
k
:
"font-face page"
},{
b
:
"@"
,
e
:
"[{;]"
,
c
:[{
cN
:
"keyword"
,
b
:
/
\S
+/
},{
b
:
/
\s
/
,
eW
:
!
0
,
eE
:
!
0
,
r
:
0
,
c
:[
e
.
ASM
,
e
.
QSM
,
e
.
CSSNM
]}]},{
cN
:
"selector-tag"
,
b
:
c
,
r
:
0
},{
b
:
"{"
,
e
:
"}"
,
i
:
/
\S
/
,
c
:[
e
.
CBCM
,
t
]}]}});
hljs
.
registerLanguage
(
"json"
,
function
(
e
){
var
i
=
{
literal
:
"true false null"
},
n
=
[
e
.
QSM
,
e
.
CNM
],
r
=
{
e
:
","
,
eW
:
!
0
,
eE
:
!
0
,
c
:
n
,
k
:
i
},
t
=
{
b
:
"{"
,
e
:
"}"
,
c
:[{
cN
:
"attr"
,
b
:
/"/
,
e
:
/"/
,
c
:[
e
.
BE
],
i
:
"
\
\n
"
},
e
.
inherit
(
r
,{
b
:
/:/
})],
i
:
"
\\
S"
},
c
=
{
b
:
"
\\
["
,
e
:
"
\\
]"
,
c
:[
e
.
inherit
(
r
)],
i
:
"
\\
S"
};
return
n
.
splice
(
n
.
length
,
0
,
t
,
c
),{
c
:
n
,
k
:
i
,
i
:
"
\\
S"
}});
hljs
.
registerLanguage
(
"xml"
,
function
(
s
){
var
e
=
"[A-Za-z0-9
\\
._:-]+"
,
t
=
{
eW
:
!
0
,
i
:
/</
,
r
:
0
,
c
:[{
cN
:
"attr"
,
b
:
e
,
r
:
0
},{
b
:
"="
,
r
:
0
,
c
:[{
cN
:
"string"
,
v
:[{
b
:
/"/
,
e
:
/"/
},{
b
:
/'/
,
e
:
/'/
},{
b
:
/
[^\s\/
>
]
+/
}]}]}]};
return
{
aliases
:[
"html"
,
"xhtml"
,
"rss"
,
"atom"
,
"xsl"
,
"plist"
],
cI
:
!
0
,
c
:[{
cN
:
"meta"
,
b
:
"<!DOCTYPE"
,
e
:
">"
,
r
:
10
,
c
:[{
b
:
"
\\
["
,
e
:
"
\\
]"
}]},
s
.
C
(
"<!--"
,
"-->"
,{
r
:
10
}),{
b
:
"<
\\
!
\\
[CDATA
\\
["
,
e
:
"
\\
]
\\
]>"
,
r
:
10
},{
b
:
/<
\?(
php
)?
/
,
e
:
/
\?
>/
,
sL
:
"php"
,
c
:[{
b
:
"/
\\
*"
,
e
:
"
\\
*/"
,
skip
:
!
0
}]},{
cN
:
"tag"
,
b
:
"<style(?=
\\
s|>|$)"
,
e
:
">"
,
k
:{
name
:
"style"
},
c
:[
t
],
starts
:{
e
:
"</style>"
,
rE
:
!
0
,
sL
:[
"css"
,
"xml"
]}},{
cN
:
"tag"
,
b
:
"<script(?=
\\
s|>|$)"
,
e
:
">"
,
k
:{
name
:
"script"
},
c
:[
t
],
starts
:{
e
:
"</script>"
,
rE
:
!
0
,
sL
:[
"actionscript"
,
"javascript"
,
"handlebars"
,
"xml"
]}},{
cN
:
"meta"
,
v
:[{
b
:
/<
\?
xml/
,
e
:
/
\?
>/
,
r
:
10
},{
b
:
/<
\?\w
+/
,
e
:
/
\?
>/
}]},{
cN
:
"tag"
,
b
:
"</?"
,
e
:
"/?>"
,
c
:[{
cN
:
"name"
,
b
:
/
[^\/
><
\s]
+/
,
r
:
0
},
t
]}]}});
hljs
.
registerLanguage
(
"bash"
,
function
(
e
){
var
t
=
{
cN
:
"variable"
,
v
:[{
b
:
/
\$[\w\d
#@
][\w\d
_
]
*/
},{
b
:
/
\$\{(
.*
?)
}/
}]},
s
=
{
cN
:
"string"
,
b
:
/"/
,
e
:
/"/
,
c
:[
e
.
BE
,
t
,{
cN
:
"variable"
,
b
:
/
\$\(
/
,
e
:
/
\)
/
,
c
:[
e
.
BE
]}]},
a
=
{
cN
:
"string"
,
b
:
/'/
,
e
:
/'/
};
return
{
aliases
:[
"sh"
,
"zsh"
],
l
:
/-
?[
a-z
\.]
+/
,
k
:{
keyword
:
"if then else elif fi for while in do done case esac function"
,
literal
:
"true false"
,
built_in
:
"break cd continue eval exec exit export getopts hash pwd readonly return shift test times trap umask unset alias bind builtin caller command declare echo enable help let local logout mapfile printf read readarray source type typeset ulimit unalias set shopt autoload bg bindkey bye cap chdir clone comparguments compcall compctl compdescribe compfiles compgroups compquote comptags comptry compvalues dirs disable disown echotc echoti emulate fc fg float functions getcap getln history integer jobs kill limit log noglob popd print pushd pushln rehash sched setcap setopt stat suspend ttyctl unfunction unhash unlimit unsetopt vared wait whence where which zcompile zformat zftp zle zmodload zparseopts zprof zpty zregexparse zsocket zstyle ztcp"
,
_
:
"-ne -eq -lt -gt -f -d -e -s -l -a"
},
c
:[{
cN
:
"meta"
,
b
:
/^#!
[^\n]
+sh
\s
*$/
,
r
:
10
},{
cN
:
"function"
,
b
:
/
\w[\w\d
_
]
*
\s
*
\(\s
*
\)\s
*
\{
/
,
rB
:
!
0
,
c
:[
e
.
inherit
(
e
.
TM
,{
b
:
/
\w[\w\d
_
]
*/
})],
r
:
0
},
e
.
HCM
,
s
,
a
,
t
]}});
hljs
.
registerLanguage
(
"javascript"
,
function
(
e
){
return
{
aliases
:[
"js"
,
"jsx"
],
k
:{
keyword
:
"in of if for while finally var new function do return void else break catch instanceof with throw case default try this switch continue typeof delete let yield const export super debugger as async await static import from as"
,
literal
:
"true false null undefined NaN Infinity"
,
built_in
:
"eval isFinite isNaN parseFloat parseInt decodeURI decodeURIComponent encodeURI encodeURIComponent escape unescape Object Function Boolean Error EvalError InternalError RangeError ReferenceError StopIteration SyntaxError TypeError URIError Number Math Date String RegExp Array Float32Array Float64Array Int16Array Int32Array Int8Array Uint16Array Uint32Array Uint8Array Uint8ClampedArray ArrayBuffer DataView JSON Intl arguments require module console window document Symbol Set Map WeakSet WeakMap Proxy Reflect Promise"
},
c
:[{
cN
:
"meta"
,
r
:
10
,
b
:
/^
\s
*
[
'"
]
use
(
strict|asm
)[
'"
]
/
},{
cN
:
"meta"
,
b
:
/^#!/
,
e
:
/$/
},
e
.
ASM
,
e
.
QSM
,{
cN
:
"string"
,
b
:
"`"
,
e
:
"`"
,
c
:[
e
.
BE
,{
cN
:
"subst"
,
b
:
"
\\
$
\\
{"
,
e
:
"
\\
}"
}]},
e
.
CLCM
,
e
.
CBCM
,{
cN
:
"number"
,
v
:[{
b
:
"
\\
b(0[bB][01]+)"
},{
b
:
"
\\
b(0[oO][0-7]+)"
},{
b
:
e
.
CNR
}],
r
:
0
},{
b
:
"("
+
e
.
RSR
+
"|
\\
b(case|return|throw)
\\
b)
\\
s*"
,
k
:
"return throw case"
,
c
:[
e
.
CLCM
,
e
.
CBCM
,
e
.
RM
,{
b
:
/</
,
e
:
/
(\/\w
+|
\w
+
\/)
>/
,
sL
:
"xml"
,
c
:[{
b
:
/<
\w
+
\/
>/
,
skip
:
!
0
},{
b
:
/<
\w
+/
,
e
:
/
(\/\w
+|
\w
+
\/)
>/
,
skip
:
!
0
,
c
:[
"self"
]}]}],
r
:
0
},{
cN
:
"function"
,
bK
:
"function"
,
e
:
/
\{
/
,
eE
:
!
0
,
c
:[
e
.
inherit
(
e
.
TM
,{
b
:
/
[
A-Za-z$_
][
0-9A-Za-z$_
]
*/
}),{
cN
:
"params"
,
b
:
/
\(
/
,
e
:
/
\)
/
,
eB
:
!
0
,
eE
:
!
0
,
c
:[
e
.
CLCM
,
e
.
CBCM
]}],
i
:
/
\[
|%/
},{
b
:
/
\$[
(.
]
/
},
e
.
METHOD_GUARD
,{
cN
:
"class"
,
bK
:
"class"
,
e
:
/
[
{;=
]
/
,
eE
:
!
0
,
i
:
/
[
:"
\[\]]
/
,
c
:[{
bK
:
"extends"
},
e
.
UTM
]},{
bK
:
"constructor"
,
e
:
/
\{
/
,
eE
:
!
0
}],
i
:
/#
(?!
!
)
/
}});
hljs
.
registerLanguage
(
"less"
,
function
(
e
){
var
r
=
"[
\\
w-]+"
,
t
=
"("
+
r
+
"|@{"
+
r
+
"})"
,
a
=
[],
c
=
[],
s
=
function
(
e
){
return
{
cN
:
"string"
,
b
:
"~?"
+
e
+
".*?"
+
e
}},
b
=
function
(
e
,
r
,
t
){
return
{
cN
:
e
,
b
:
r
,
r
:
t
}},
i
=
{
b
:
"
\\
("
,
e
:
"
\\
)"
,
c
:
c
,
r
:
0
};
c
.
push
(
e
.
CLCM
,
e
.
CBCM
,
s
(
"'"
),
s
(
'"'
),
e
.
CSSNM
,{
b
:
"(url|data-uri)
\\
("
,
starts
:{
cN
:
"string"
,
e
:
"[
\\
)
\
\n
]"
,
eE
:
!
0
}},
b
(
"number"
,
"#[0-9A-Fa-f]+
\\
b"
),
i
,
b
(
"variable"
,
"@@?"
+
r
,
10
),
b
(
"variable"
,
"@{"
+
r
+
"}"
),
b
(
"built_in"
,
"~?`[^`]*?`"
),{
cN
:
"attribute"
,
b
:
r
+
"
\\
s*:"
,
e
:
":"
,
rB
:
!
0
,
eE
:
!
0
},{
cN
:
"meta"
,
b
:
"!important"
});
var
n
=
c
.
concat
({
b
:
"{"
,
e
:
"}"
,
c
:
a
}),
o
=
{
bK
:
"when"
,
eW
:
!
0
,
c
:[{
bK
:
"and not"
}].
concat
(
c
)},
u
=
{
cN
:
"attribute"
,
b
:
t
,
e
:
":"
,
eE
:
!
0
,
c
:[
e
.
CLCM
,
e
.
CBCM
],
i
:
/
\S
/
,
starts
:{
e
:
"[;}]"
,
rE
:
!
0
,
c
:
c
,
i
:
"[<=$]"
}},
C
=
{
cN
:
"keyword"
,
b
:
"@(import|media|charset|font-face|(-[a-z]+-)?keyframes|supports|document|namespace|page|viewport|host)
\\
b"
,
starts
:{
e
:
"[;{}]"
,
rE
:
!
0
,
c
:
c
,
r
:
0
}},
l
=
{
cN
:
"variable"
,
v
:[{
b
:
"@"
+
r
+
"
\\
s*:"
,
r
:
15
},{
b
:
"@"
+
r
}],
starts
:{
e
:
"[;}]"
,
rE
:
!
0
,
c
:
n
}},
p
=
{
v
:[{
b
:
"[
\\
.#:&
\\
[]"
,
e
:
"[;{}]"
},{
b
:
t
+
"[^;]*{"
,
e
:
"{"
}],
rB
:
!
0
,
rE
:
!
0
,
i
:
"[<='$
\"
]"
,
c
:[
e
.
CLCM
,
e
.
CBCM
,
o
,
b
(
"keyword"
,
"all
\\
b"
),
b
(
"variable"
,
"@{"
+
r
+
"}"
),
b
(
"selector-tag"
,
t
+
"%?"
,
0
),
b
(
"selector-id"
,
"#"
+
t
),
b
(
"selector-class"
,
"
\\
."
+
t
,
0
),
b
(
"selector-tag"
,
"&"
,
0
),{
cN
:
"selector-attr"
,
b
:
"
\\
["
,
e
:
"
\\
]"
},{
b
:
"
\\
("
,
e
:
"
\\
)"
,
c
:
n
},{
b
:
"!important"
}]};
return
a
.
push
(
e
.
CLCM
,
e
.
CBCM
,
C
,
l
,
p
,
u
),{
cI
:
!
0
,
i
:
"[=>'/<($
\"
]"
,
c
:
a
}});
src/blocks/highlight/highlight.less
0 → 100644
View file @
8d714342
@import '../../less/variables.less'; // только для удобства обращения к переменным
.hljs {
display: block;
width: auto;
color: @text-color;
background-color: transparent;
padding: 0;
}
.hljs-comment,
.hljs-quote {
color: #999;
}
.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: #4f9fcf;
}
.hljs-string,
.hljs-doctag {
color: #d44950;
}
.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: #2f6f9f;
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;
}
src/blocks/highlight/readme.md
0 → 100644
View file @
8d714342
Это не обычный блок. Это компонент, служащий для подсветки синтаксиса в
<code>
pre>code
</code>
.
src/less/style.less
View file @
8d714342
...
@@ -7,6 +7,8 @@
...
@@ -7,6 +7,8 @@
@import './src/less/global/global-forms.less';
@import './src/less/global/global-forms.less';
@import './src/less/global/global-tables.less';
@import './src/less/global/global-tables.less';
@import './src/blocks/highlight/highlight.less';
@import './src/blocks/dl-horizontal/dl-horizontal.less';
@import './src/blocks/dl-horizontal/dl-horizontal.less';
@import './src/blocks/blockquote-right/blockquote-right.less';
@import './src/blocks/blockquote-right/blockquote-right.less';
@import './src/blocks/blocks-library/blocks-library.less';
@import './src/blocks/blocks-library/blocks-library.less';
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment