Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
S
solo-1
Project overview
Project overview
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
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
Administrator
solo-1
Commits
e196c68a
Unverified
Commit
e196c68a
authored
Jan 15, 2020
by
Van
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
⬆
vditor
parent
8542bfab
Changes
13
Hide whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
55 additions
and
29 deletions
+55
-29
package-lock.json
package-lock.json
+33
-14
package.json
package.json
+1
-1
src/main/resources/admin/admin-index.ftl
src/main/resources/admin/admin-index.ftl
+1
-1
src/main/resources/common-template/label.ftl
src/main/resources/common-template/label.ftl
+1
-1
src/main/resources/js/common.js
src/main/resources/js/common.js
+1
-1
src/main/resources/js/common.min.js
src/main/resources/js/common.min.js
+1
-1
src/main/resources/js/page.js
src/main/resources/js/page.js
+3
-2
src/main/resources/js/page.min.js
src/main/resources/js/page.min.js
+1
-1
src/main/resources/skins/Finding/css/base.css
src/main/resources/skins/Finding/css/base.css
+1
-1
src/main/resources/skins/owmx-3.0/article.ftl
src/main/resources/skins/owmx-3.0/article.ftl
+4
-1
src/main/resources/skins/owmx-3.0/css/base.css
src/main/resources/skins/owmx-3.0/css/base.css
+1
-1
src/main/resources/skins/owmx-3.0/css/base.scss
src/main/resources/skins/owmx-3.0/css/base.scss
+4
-0
src/main/resources/skins/tree-house/article.ftl
src/main/resources/skins/tree-house/article.ftl
+3
-4
No files found.
package-lock.json
View file @
e196c68a
...
@@ -1764,7 +1764,8 @@
...
@@ -1764,7 +1764,8 @@
"ansi-regex"
:
{
"ansi-regex"
:
{
"version"
:
"2.1.1"
,
"version"
:
"2.1.1"
,
"bundled"
:
true
,
"bundled"
:
true
,
"dev"
:
true
"dev"
:
true
,
"optional"
:
true
},
},
"aproba"
:
{
"aproba"
:
{
"version"
:
"1.2.0"
,
"version"
:
"1.2.0"
,
...
@@ -1785,12 +1786,14 @@
...
@@ -1785,12 +1786,14 @@
"balanced-match"
:
{
"balanced-match"
:
{
"version"
:
"1.0.0"
,
"version"
:
"1.0.0"
,
"bundled"
:
true
,
"bundled"
:
true
,
"dev"
:
true
"dev"
:
true
,
"optional"
:
true
},
},
"brace-expansion"
:
{
"brace-expansion"
:
{
"version"
:
"1.1.11"
,
"version"
:
"1.1.11"
,
"bundled"
:
true
,
"bundled"
:
true
,
"dev"
:
true
,
"dev"
:
true
,
"optional"
:
true
,
"requires"
:
{
"requires"
:
{
"balanced-match"
:
"^1.0.0"
,
"balanced-match"
:
"^1.0.0"
,
"concat-map"
:
"0.0.1"
"concat-map"
:
"0.0.1"
...
@@ -1805,17 +1808,20 @@
...
@@ -1805,17 +1808,20 @@
"code-point-at"
:
{
"code-point-at"
:
{
"version"
:
"1.1.0"
,
"version"
:
"1.1.0"
,
"bundled"
:
true
,
"bundled"
:
true
,
"dev"
:
true
"dev"
:
true
,
"optional"
:
true
},
},
"concat-map"
:
{
"concat-map"
:
{
"version"
:
"0.0.1"
,
"version"
:
"0.0.1"
,
"bundled"
:
true
,
"bundled"
:
true
,
"dev"
:
true
"dev"
:
true
,
"optional"
:
true
},
},
"console-control-strings"
:
{
"console-control-strings"
:
{
"version"
:
"1.1.0"
,
"version"
:
"1.1.0"
,
"bundled"
:
true
,
"bundled"
:
true
,
"dev"
:
true
"dev"
:
true
,
"optional"
:
true
},
},
"core-util-is"
:
{
"core-util-is"
:
{
"version"
:
"1.0.2"
,
"version"
:
"1.0.2"
,
...
@@ -1932,7 +1938,8 @@
...
@@ -1932,7 +1938,8 @@
"inherits"
:
{
"inherits"
:
{
"version"
:
"2.0.3"
,
"version"
:
"2.0.3"
,
"bundled"
:
true
,
"bundled"
:
true
,
"dev"
:
true
"dev"
:
true
,
"optional"
:
true
},
},
"ini"
:
{
"ini"
:
{
"version"
:
"1.3.5"
,
"version"
:
"1.3.5"
,
...
@@ -1944,6 +1951,7 @@
...
@@ -1944,6 +1951,7 @@
"version"
:
"1.0.0"
,
"version"
:
"1.0.0"
,
"bundled"
:
true
,
"bundled"
:
true
,
"dev"
:
true
,
"dev"
:
true
,
"optional"
:
true
,
"requires"
:
{
"requires"
:
{
"number-is-nan"
:
"^1.0.0"
"number-is-nan"
:
"^1.0.0"
}
}
...
@@ -1958,6 +1966,7 @@
...
@@ -1958,6 +1966,7 @@
"version"
:
"3.0.4"
,
"version"
:
"3.0.4"
,
"bundled"
:
true
,
"bundled"
:
true
,
"dev"
:
true
,
"dev"
:
true
,
"optional"
:
true
,
"requires"
:
{
"requires"
:
{
"brace-expansion"
:
"^1.1.7"
"brace-expansion"
:
"^1.1.7"
}
}
...
@@ -1965,12 +1974,14 @@
...
@@ -1965,12 +1974,14 @@
"minimist"
:
{
"minimist"
:
{
"version"
:
"0.0.8"
,
"version"
:
"0.0.8"
,
"bundled"
:
true
,
"bundled"
:
true
,
"dev"
:
true
"dev"
:
true
,
"optional"
:
true
},
},
"minipass"
:
{
"minipass"
:
{
"version"
:
"2.3.5"
,
"version"
:
"2.3.5"
,
"bundled"
:
true
,
"bundled"
:
true
,
"dev"
:
true
,
"dev"
:
true
,
"optional"
:
true
,
"requires"
:
{
"requires"
:
{
"safe-buffer"
:
"^5.1.2"
,
"safe-buffer"
:
"^5.1.2"
,
"yallist"
:
"^3.0.0"
"yallist"
:
"^3.0.0"
...
@@ -1989,6 +2000,7 @@
...
@@ -1989,6 +2000,7 @@
"version"
:
"0.5.1"
,
"version"
:
"0.5.1"
,
"bundled"
:
true
,
"bundled"
:
true
,
"dev"
:
true
,
"dev"
:
true
,
"optional"
:
true
,
"requires"
:
{
"requires"
:
{
"minimist"
:
"0.0.8"
"minimist"
:
"0.0.8"
}
}
...
@@ -2069,7 +2081,8 @@
...
@@ -2069,7 +2081,8 @@
"number-is-nan"
:
{
"number-is-nan"
:
{
"version"
:
"1.0.1"
,
"version"
:
"1.0.1"
,
"bundled"
:
true
,
"bundled"
:
true
,
"dev"
:
true
"dev"
:
true
,
"optional"
:
true
},
},
"object-assign"
:
{
"object-assign"
:
{
"version"
:
"4.1.1"
,
"version"
:
"4.1.1"
,
...
@@ -2081,6 +2094,7 @@
...
@@ -2081,6 +2094,7 @@
"version"
:
"1.4.0"
,
"version"
:
"1.4.0"
,
"bundled"
:
true
,
"bundled"
:
true
,
"dev"
:
true
,
"dev"
:
true
,
"optional"
:
true
,
"requires"
:
{
"requires"
:
{
"wrappy"
:
"1"
"wrappy"
:
"1"
}
}
...
@@ -2166,7 +2180,8 @@
...
@@ -2166,7 +2180,8 @@
"safe-buffer"
:
{
"safe-buffer"
:
{
"version"
:
"5.1.2"
,
"version"
:
"5.1.2"
,
"bundled"
:
true
,
"bundled"
:
true
,
"dev"
:
true
"dev"
:
true
,
"optional"
:
true
},
},
"safer-buffer"
:
{
"safer-buffer"
:
{
"version"
:
"2.1.2"
,
"version"
:
"2.1.2"
,
...
@@ -2202,6 +2217,7 @@
...
@@ -2202,6 +2217,7 @@
"version"
:
"1.0.2"
,
"version"
:
"1.0.2"
,
"bundled"
:
true
,
"bundled"
:
true
,
"dev"
:
true
,
"dev"
:
true
,
"optional"
:
true
,
"requires"
:
{
"requires"
:
{
"code-point-at"
:
"^1.0.0"
,
"code-point-at"
:
"^1.0.0"
,
"is-fullwidth-code-point"
:
"^1.0.0"
,
"is-fullwidth-code-point"
:
"^1.0.0"
,
...
@@ -2221,6 +2237,7 @@
...
@@ -2221,6 +2237,7 @@
"version"
:
"3.0.1"
,
"version"
:
"3.0.1"
,
"bundled"
:
true
,
"bundled"
:
true
,
"dev"
:
true
,
"dev"
:
true
,
"optional"
:
true
,
"requires"
:
{
"requires"
:
{
"ansi-regex"
:
"^2.0.0"
"ansi-regex"
:
"^2.0.0"
}
}
...
@@ -2264,12 +2281,14 @@
...
@@ -2264,12 +2281,14 @@
"wrappy"
:
{
"wrappy"
:
{
"version"
:
"1.0.2"
,
"version"
:
"1.0.2"
,
"bundled"
:
true
,
"bundled"
:
true
,
"dev"
:
true
"dev"
:
true
,
"optional"
:
true
},
},
"yallist"
:
{
"yallist"
:
{
"version"
:
"3.0.3"
,
"version"
:
"3.0.3"
,
"bundled"
:
true
,
"bundled"
:
true
,
"dev"
:
true
"dev"
:
true
,
"optional"
:
true
}
}
}
}
},
},
...
@@ -5242,9 +5261,9 @@
...
@@ -5242,9 +5261,9 @@
"dev"
:
true
"dev"
:
true
},
},
"vditor"
:
{
"vditor"
:
{
"version"
:
"2.1.
0
"
,
"version"
:
"2.1.
1
"
,
"resolved"
:
"https://registry.npmjs.org/vditor/-/vditor-2.1.
0
.tgz"
,
"resolved"
:
"https://registry.npmjs.org/vditor/-/vditor-2.1.
1
.tgz"
,
"integrity"
:
"sha512-
Vahzpe/oLy/2u3brbQPG70R99nm+l/vSeCsxC+b2+LUZMr5dKn3A8DKdkni0J+jqjRnxcRWgVGYCPusbU5STtA
=="
,
"integrity"
:
"sha512-
dIlq++kLFpyBxLRJ8JkBgW1tdln88xw9UbaBapxNWdnnDR1zGbP4Pt3n/gbLU6aDsXebcK8lzsk8G9MRJtcqMg
=="
,
"requires"
:
{
"requires"
:
{
"diff-match-patch"
:
"^1.0.4"
"diff-match-patch"
:
"^1.0.4"
}
}
...
...
package.json
View file @
e196c68a
...
@@ -38,6 +38,6 @@
...
@@ -38,6 +38,6 @@
},
},
"dependencies"
:
{
"dependencies"
:
{
"
uvstat
"
:
"
^1.0.0
"
,
"
uvstat
"
:
"
^1.0.0
"
,
"
vditor
"
:
"
^2.1.
0
"
"
vditor
"
:
"
^2.1.
1
"
}
}
}
}
src/main/resources/admin/admin-index.ftl
View file @
e196c68a
...
@@ -171,7 +171,7 @@
...
@@ -171,7 +171,7 @@
</div>
</div>
</div>
</div>
<script
src=
"${staticServePath}/js/lib/compress/admin-lib.min.js"
></script>
<script
src=
"${staticServePath}/js/lib/compress/admin-lib.min.js"
></script>
<script
src=
"https://cdn.jsdelivr.net/npm/vditor@2.1.
0
/dist/index.min.js"
></script>
<script
src=
"https://cdn.jsdelivr.net/npm/vditor@2.1.
1
/dist/index.min.js"
></script>
<script
src=
"${staticServePath}/js/common${miniPostfix}.js"
></script>
<script
src=
"${staticServePath}/js/common${miniPostfix}.js"
></script>
<
#if
""
==
miniPostfix
>
<
#if
""
==
miniPostfix
>
<script
src=
"${staticServePath}/js/admin/admin.js"
></script>
<script
src=
"${staticServePath}/js/admin/admin.js"
></script>
...
...
src/main/resources/common-template/label.ftl
View file @
e196c68a
...
@@ -18,7 +18,7 @@
...
@@ -18,7 +18,7 @@
-->
-->
<script src="https://cdn.jsdelivr.net/npm/uvstat@v1.0.4/dist/index.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/uvstat@v1.0.4/dist/index.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/vcmt@v1.0.
3
/dist/index.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/vcmt@v1.0.
4
/dist/index.min.js"></script>
<script>
<script>
var Label = {
var Label = {
servePath: "${servePath}",
servePath: "${servePath}",
...
...
src/main/resources/js/common.js
View file @
e196c68a
...
@@ -184,7 +184,7 @@ var Util = {
...
@@ -184,7 +184,7 @@ var Util = {
if
(
typeof
Vditor
===
'
undefined
'
)
{
if
(
typeof
Vditor
===
'
undefined
'
)
{
Util
.
addScript
(
Util
.
addScript
(
'
https://cdn.jsdelivr.net/npm/vditor@2.1.
0
/dist/method.min.js
'
,
'
https://cdn.jsdelivr.net/npm/vditor@2.1.
1
/dist/method.min.js
'
,
'
vditorPreviewScript
'
)
'
vditorPreviewScript
'
)
}
}
...
...
src/main/resources/js/common.min.js
View file @
e196c68a
var
Util
=
{
uvstat
:
void
0
,
initViewCnt
:
function
(){
Util
.
uvstat
=
new
Uvstat
,
Util
.
uvstat
.
addStat
(),
Util
.
uvstat
.
renderStat
()},
isArticlePage
:
function
(
e
){
var
t
=!
0
;
return
e
.
indexOf
(
Label
.
servePath
+
"
/tags/
"
)
>-
1
&&
(
t
=!
1
),
e
.
indexOf
(
Label
.
servePath
+
"
/tags.html
"
)
>-
1
&&
(
t
=!
1
),
e
.
indexOf
(
Label
.
servePath
+
"
/category/
"
)
>-
1
&&
(
t
=!
1
),
e
.
indexOf
(
Label
.
servePath
+
"
/archives.html
"
)
>-
1
&&
(
t
=!
1
),
e
.
indexOf
(
Label
.
servePath
+
"
/archives/
"
)
>-
1
&&
(
t
=!
1
),
e
.
indexOf
(
Label
.
servePath
+
"
/links.html
"
)
>-
1
&&
(
t
=!
1
),
e
===
Label
.
servePath
&&
(
t
=!
1
),
/^
[
0-9
]
*$/
.
test
(
e
.
replace
(
Label
.
servePath
+
"
/
"
,
""
))
&&
(
t
=!
1
),
t
},
initPjax
:
function
(
e
){
1
===
$
(
"
#pjax
"
).
length
&&
(
$
.
pjax
({
selector
:
"
a
"
,
container
:
"
#pjax
"
,
show
:
""
,
cache
:
!
1
,
storage
:
!
0
,
titleSuffix
:
""
,
filter
:
function
(
e
,
t
){
return
!
e
||
(
"
_blank
"
===
t
.
getAttribute
(
"
target
"
)
||
(
e
===
Label
.
servePath
+
"
/rss.xml
"
||
e
.
indexOf
(
Label
.
servePath
+
"
/admin-index.do
"
)
>-
1
||
(
0
===
e
.
indexOf
(
"
#
"
)
||!
(
t
.
href
.
indexOf
(
Label
.
servePath
)
>-
1
))))},
callback
:
function
(){
Util
.
parseMarkdown
(),
Util
.
parseLanguage
(),
Util
.
uvstat
.
addStat
(),
Util
.
uvstat
.
renderStat
(),
e
&&
e
()}}),
NProgress
.
configure
({
showSpinner
:
!
1
}),
$
(
"
#pjax
"
).
bind
(
"
pjax.start
"
,(
function
(){
NProgress
.
start
()})),
$
(
"
#pjax
"
).
bind
(
"
pjax.end
"
,(
function
(){
window
.
scroll
(
window
.
scrollX
,
0
),
NProgress
.
done
()})))},
previewImg
:
function
(){
$
(
"
body
"
).
on
(
"
click
"
,
"
.vditor-reset img
"
,(
function
(){
$
(
this
).
hasClass
(
"
prevent
"
)
||
window
.
open
(
this
.
src
)}))},
addStyle
:
function
(
e
,
t
){
if
(
!
document
.
getElementById
(
t
)){
var
i
=
document
.
createElement
(
"
link
"
);
i
.
id
=
t
,
i
.
setAttribute
(
"
rel
"
,
"
stylesheet
"
),
i
.
setAttribute
(
"
type
"
,
"
text/css
"
),
i
.
setAttribute
(
"
href
"
,
e
),
document
.
getElementsByTagName
(
"
head
"
)[
0
].
appendChild
(
i
)}},
addScript
:
function
(
e
,
t
){
if
(
!
document
.
getElementById
(
t
)){
var
i
=
new
XMLHttpRequest
;
i
.
open
(
"
GET
"
,
e
,
!
1
),
i
.
setRequestHeader
(
"
Accept
"
,
"
text/javascript, application/javascript, application/ecmascript, application/x-ecmascript, */*; q=0.01
"
),
i
.
send
(
""
);
var
a
=
document
.
createElement
(
"
script
"
);
a
.
id
=
t
,
a
.
type
=
"
text/javascript
"
,
a
.
text
=
i
.
responseText
,
document
.
getElementsByTagName
(
"
head
"
)[
0
].
appendChild
(
a
)}},
parseLanguage
:
function
(){
Vditor
.
highlightRender
({
style
:
Label
.
hljsStyle
,
enable
:
!
Label
.
luteAvailable
},
document
)},
parseMarkdown
:
function
(){
"
undefined
"
==
typeof
Vditor
&&
Util
.
addScript
(
"
https://cdn.jsdelivr.net/npm/vditor@2.1.0/dist/method.min.js
"
,
"
vditorPreviewScript
"
),
Vditor
.
codeRender
(
document
.
body
,
Label
.
langLabel
),
Label
.
luteAvailable
?
Vditor
.
mathRenderByLute
(
document
.
body
):
Vditor
.
mathRender
(
document
.
body
),
Vditor
.
abcRender
(),
Vditor
.
chartRender
(),
Vditor
.
mediaRender
(
document
.
body
),
Vditor
.
mermaidRender
(
document
.
body
),
document
.
querySelectorAll
(
"
.vditor-reset
"
).
forEach
(
e
=>
{
Vditor
.
speechRender
(
e
,
Label
.
langLabel
)})},
killIE
:
function
(
e
){
var
t
=
navigator
.
userAgent
.
split
(
"
MSIE
"
)[
1
];
t
&&
(
e
||
(
e
=
7
),
parseFloat
(
t
.
split
(
"
;
"
))
<=
e
&&
function
(){
try
{
var
e
=
'
<div class="killIEIframe" style=
\'
display: block; height: 100%; width: 100%; position: fixed; background-color: rgb(0, 0, 0); opacity: 0.6;filter: alpha(opacity=60); top: 0px;z-index:110
\'
></div><iframe class="killIEIframe" style=
\'
left:
'
+
(
$
(
window
).
width
()
-
781
)
/
2
+
"
px;z-index:120;top:
"
+
(
$
(
window
).
height
()
-
680
)
/
2
+
"
px; position: fixed; border: 0px none; width: 781px; height: 680px;' src='
"
+
Label
.
servePath
+
"
/kill-browser'></iframe>
"
;
$
(
"
body
"
).
append
(
e
)}
catch
(
t
){
e
=
'
<div class="killIEIframe" style=
\'
display: block; height: 100%; width: 100%; position: fixed; background-color: rgb(0, 0, 0); opacity: 0.6;filter: alpha(opacity=60); top: 0px;z-index:110
\'
></div><iframe class="killIEIframe" style=
\'
left:
'
+
10
+
"
px;z-index:120;top:
"
+
0
+
"
px; position: fixed; border: 0px none; width: 781px; height: 680px;' src='
"
+
Label
.
servePath
+
"
/kill-browser'></iframe>
"
;
document
.
body
.
innerHTML
=
document
.
body
.
innerHTML
+
e
}}())},
setTopBar
:
function
(){
var
e
=
$
(
"
#top
"
);
if
(
1
===
e
.
length
){
var
t
=
$
(
"
#showTop
"
);
t
.
click
((
function
(){
e
.
slideDown
(),
t
.
hide
()})),
$
(
"
#hideTop
"
).
click
((
function
(){
e
.
slideUp
(),
t
.
show
()}))}},
goTop
:
function
(){
$
(
"
html, body
"
).
animate
({
scrollTop
:
0
},
800
)},
goBottom
:
function
(
e
){
e
||
(
e
=
0
),
$
(
"
html, body
"
).
animate
({
scrollTop
:
$
(
document
).
height
()
-
$
(
window
).
height
()
-
e
},
800
)},
init
:
function
(){
Util
.
killIE
(),
Util
.
parseMarkdown
(),
Util
.
parseLanguage
(),
Util
.
initSW
(),
Util
.
previewImg
(),
Util
.
initDebugInfo
(),
Util
.
initViewCnt
()},
initDebugInfo
:
function
(){
console
.
log
(
"
%cSolo%c
\n
\
ud83c
\
udfb8
\
u4e00
\
u6b3e
\
u5c0f
\
u800c
\
u7f8e
\
u7684
\
u535a
\
u5ba2
\
u7cfb
\
u7edf
\
uff0c
\
u4e13
\
u4e3a
\
u7a0b
\
u5e8f
\
u5458
\
u8bbe
\
u8ba1
\
u3002
\n\n
solo.b3log.org v
"
+
Label
.
version
+
"
\n
Copyright
\
xa9 2010-present
"
,
"
font-size:96px;color:#3b3e43
"
,
"
font-size:12px;color:#4285f4;
"
)},
initSW
:
function
(){
navigator
.
serviceWorker
&&
navigator
.
serviceWorker
.
register
(
"
/sw.js
"
,{
scope
:
"
/
"
})},
buildTags
:
function
(
e
){
e
=
e
||
"
tags
"
;
for
(
var
t
=
[
"
tags1
"
,
"
tags2
"
,
"
tags3
"
,
"
tags4
"
,
"
tags5
"
],
i
=
$
(
"
#
"
+
e
+
"
b
"
).
get
(),
a
=
parseInt
(
$
(
"
#
"
+
e
+
"
b
"
).
last
().
text
()),
n
=
Math
.
ceil
(
a
/
t
.
length
),
r
=
0
;
r
<
i
.
length
;
r
++
)
for
(
var
o
=
parseInt
(
i
[
r
].
innerHTML
),
l
=
0
;
l
<
t
.
length
;
l
++
)
if
(
o
>
l
*
n
&&
o
<=
(
l
+
1
)
*
n
){
i
[
r
].
parentNode
.
className
=
t
[
l
];
break
}
$
(
"
#
"
+
e
).
html
(
$
(
"
#
"
+
e
+
"
li
"
).
get
().
sort
((
function
(
e
,
t
){
var
i
=
$
(
e
).
find
(
"
span
"
).
text
().
toLowerCase
(),
a
=
$
(
t
).
find
(
"
span
"
).
text
().
toLowerCase
();
return
i
.
localeCompare
(
a
)})))}};
var
Util
=
{
uvstat
:
void
0
,
initViewCnt
:
function
(){
Util
.
uvstat
=
new
Uvstat
,
Util
.
uvstat
.
addStat
(),
Util
.
uvstat
.
renderStat
()},
isArticlePage
:
function
(
e
){
var
t
=!
0
;
return
e
.
indexOf
(
Label
.
servePath
+
"
/tags/
"
)
>-
1
&&
(
t
=!
1
),
e
.
indexOf
(
Label
.
servePath
+
"
/tags.html
"
)
>-
1
&&
(
t
=!
1
),
e
.
indexOf
(
Label
.
servePath
+
"
/category/
"
)
>-
1
&&
(
t
=!
1
),
e
.
indexOf
(
Label
.
servePath
+
"
/archives.html
"
)
>-
1
&&
(
t
=!
1
),
e
.
indexOf
(
Label
.
servePath
+
"
/archives/
"
)
>-
1
&&
(
t
=!
1
),
e
.
indexOf
(
Label
.
servePath
+
"
/links.html
"
)
>-
1
&&
(
t
=!
1
),
e
===
Label
.
servePath
&&
(
t
=!
1
),
/^
[
0-9
]
*$/
.
test
(
e
.
replace
(
Label
.
servePath
+
"
/
"
,
""
))
&&
(
t
=!
1
),
t
},
initPjax
:
function
(
e
){
1
===
$
(
"
#pjax
"
).
length
&&
(
$
.
pjax
({
selector
:
"
a
"
,
container
:
"
#pjax
"
,
show
:
""
,
cache
:
!
1
,
storage
:
!
0
,
titleSuffix
:
""
,
filter
:
function
(
e
,
t
){
return
!
e
||
(
"
_blank
"
===
t
.
getAttribute
(
"
target
"
)
||
(
e
===
Label
.
servePath
+
"
/rss.xml
"
||
e
.
indexOf
(
Label
.
servePath
+
"
/admin-index.do
"
)
>-
1
||
(
0
===
e
.
indexOf
(
"
#
"
)
||!
(
t
.
href
.
indexOf
(
Label
.
servePath
)
>-
1
))))},
callback
:
function
(){
Util
.
parseMarkdown
(),
Util
.
parseLanguage
(),
Util
.
uvstat
.
addStat
(),
Util
.
uvstat
.
renderStat
(),
e
&&
e
()}}),
NProgress
.
configure
({
showSpinner
:
!
1
}),
$
(
"
#pjax
"
).
bind
(
"
pjax.start
"
,(
function
(){
NProgress
.
start
()})),
$
(
"
#pjax
"
).
bind
(
"
pjax.end
"
,(
function
(){
window
.
scroll
(
window
.
scrollX
,
0
),
NProgress
.
done
()})))},
previewImg
:
function
(){
$
(
"
body
"
).
on
(
"
click
"
,
"
.vditor-reset img
"
,(
function
(){
$
(
this
).
hasClass
(
"
prevent
"
)
||
window
.
open
(
this
.
src
)}))},
addStyle
:
function
(
e
,
t
){
if
(
!
document
.
getElementById
(
t
)){
var
i
=
document
.
createElement
(
"
link
"
);
i
.
id
=
t
,
i
.
setAttribute
(
"
rel
"
,
"
stylesheet
"
),
i
.
setAttribute
(
"
type
"
,
"
text/css
"
),
i
.
setAttribute
(
"
href
"
,
e
),
document
.
getElementsByTagName
(
"
head
"
)[
0
].
appendChild
(
i
)}},
addScript
:
function
(
e
,
t
){
if
(
!
document
.
getElementById
(
t
)){
var
i
=
new
XMLHttpRequest
;
i
.
open
(
"
GET
"
,
e
,
!
1
),
i
.
setRequestHeader
(
"
Accept
"
,
"
text/javascript, application/javascript, application/ecmascript, application/x-ecmascript, */*; q=0.01
"
),
i
.
send
(
""
);
var
a
=
document
.
createElement
(
"
script
"
);
a
.
id
=
t
,
a
.
type
=
"
text/javascript
"
,
a
.
text
=
i
.
responseText
,
document
.
getElementsByTagName
(
"
head
"
)[
0
].
appendChild
(
a
)}},
parseLanguage
:
function
(){
Vditor
.
highlightRender
({
style
:
Label
.
hljsStyle
,
enable
:
!
Label
.
luteAvailable
},
document
)},
parseMarkdown
:
function
(){
"
undefined
"
==
typeof
Vditor
&&
Util
.
addScript
(
"
https://cdn.jsdelivr.net/npm/vditor@2.1.1/dist/method.min.js
"
,
"
vditorPreviewScript
"
),
Vditor
.
codeRender
(
document
.
body
,
Label
.
langLabel
),
Label
.
luteAvailable
?
Vditor
.
mathRenderByLute
(
document
.
body
):
Vditor
.
mathRender
(
document
.
body
),
Vditor
.
abcRender
(),
Vditor
.
chartRender
(),
Vditor
.
mediaRender
(
document
.
body
),
Vditor
.
mermaidRender
(
document
.
body
),
document
.
querySelectorAll
(
"
.vditor-reset
"
).
forEach
(
e
=>
{
Vditor
.
speechRender
(
e
,
Label
.
langLabel
)})},
killIE
:
function
(
e
){
var
t
=
navigator
.
userAgent
.
split
(
"
MSIE
"
)[
1
];
t
&&
(
e
||
(
e
=
7
),
parseFloat
(
t
.
split
(
"
;
"
))
<=
e
&&
function
(){
try
{
var
e
=
'
<div class="killIEIframe" style=
\'
display: block; height: 100%; width: 100%; position: fixed; background-color: rgb(0, 0, 0); opacity: 0.6;filter: alpha(opacity=60); top: 0px;z-index:110
\'
></div><iframe class="killIEIframe" style=
\'
left:
'
+
(
$
(
window
).
width
()
-
781
)
/
2
+
"
px;z-index:120;top:
"
+
(
$
(
window
).
height
()
-
680
)
/
2
+
"
px; position: fixed; border: 0px none; width: 781px; height: 680px;' src='
"
+
Label
.
servePath
+
"
/kill-browser'></iframe>
"
;
$
(
"
body
"
).
append
(
e
)}
catch
(
t
){
e
=
'
<div class="killIEIframe" style=
\'
display: block; height: 100%; width: 100%; position: fixed; background-color: rgb(0, 0, 0); opacity: 0.6;filter: alpha(opacity=60); top: 0px;z-index:110
\'
></div><iframe class="killIEIframe" style=
\'
left:
'
+
10
+
"
px;z-index:120;top:
"
+
0
+
"
px; position: fixed; border: 0px none; width: 781px; height: 680px;' src='
"
+
Label
.
servePath
+
"
/kill-browser'></iframe>
"
;
document
.
body
.
innerHTML
=
document
.
body
.
innerHTML
+
e
}}())},
setTopBar
:
function
(){
var
e
=
$
(
"
#top
"
);
if
(
1
===
e
.
length
){
var
t
=
$
(
"
#showTop
"
);
t
.
click
((
function
(){
e
.
slideDown
(),
t
.
hide
()})),
$
(
"
#hideTop
"
).
click
((
function
(){
e
.
slideUp
(),
t
.
show
()}))}},
goTop
:
function
(){
$
(
"
html, body
"
).
animate
({
scrollTop
:
0
},
800
)},
goBottom
:
function
(
e
){
e
||
(
e
=
0
),
$
(
"
html, body
"
).
animate
({
scrollTop
:
$
(
document
).
height
()
-
$
(
window
).
height
()
-
e
},
800
)},
init
:
function
(){
Util
.
killIE
(),
Util
.
parseMarkdown
(),
Util
.
parseLanguage
(),
Util
.
initSW
(),
Util
.
previewImg
(),
Util
.
initDebugInfo
(),
Util
.
initViewCnt
()},
initDebugInfo
:
function
(){
console
.
log
(
"
%cSolo%c
\n
\
ud83c
\
udfb8
\
u4e00
\
u6b3e
\
u5c0f
\
u800c
\
u7f8e
\
u7684
\
u535a
\
u5ba2
\
u7cfb
\
u7edf
\
uff0c
\
u4e13
\
u4e3a
\
u7a0b
\
u5e8f
\
u5458
\
u8bbe
\
u8ba1
\
u3002
\n\n
solo.b3log.org v
"
+
Label
.
version
+
"
\n
Copyright
\
xa9 2010-present
"
,
"
font-size:96px;color:#3b3e43
"
,
"
font-size:12px;color:#4285f4;
"
)},
initSW
:
function
(){
navigator
.
serviceWorker
&&
navigator
.
serviceWorker
.
register
(
"
/sw.js
"
,{
scope
:
"
/
"
})},
buildTags
:
function
(
e
){
e
=
e
||
"
tags
"
;
for
(
var
t
=
[
"
tags1
"
,
"
tags2
"
,
"
tags3
"
,
"
tags4
"
,
"
tags5
"
],
i
=
$
(
"
#
"
+
e
+
"
b
"
).
get
(),
a
=
parseInt
(
$
(
"
#
"
+
e
+
"
b
"
).
last
().
text
()),
n
=
Math
.
ceil
(
a
/
t
.
length
),
r
=
0
;
r
<
i
.
length
;
r
++
)
for
(
var
o
=
parseInt
(
i
[
r
].
innerHTML
),
l
=
0
;
l
<
t
.
length
;
l
++
)
if
(
o
>
l
*
n
&&
o
<=
(
l
+
1
)
*
n
){
i
[
r
].
parentNode
.
className
=
t
[
l
];
break
}
$
(
"
#
"
+
e
).
html
(
$
(
"
#
"
+
e
+
"
li
"
).
get
().
sort
((
function
(
e
,
t
){
var
i
=
$
(
e
).
find
(
"
span
"
).
text
().
toLowerCase
(),
a
=
$
(
t
).
find
(
"
span
"
).
text
().
toLowerCase
();
return
i
.
localeCompare
(
a
)})))}};
\ No newline at end of file
\ No newline at end of file
src/main/resources/js/page.js
View file @
e196c68a
...
@@ -20,7 +20,7 @@
...
@@ -20,7 +20,7 @@
*
*
* @author <a href="http://vanessa.b3log.org">Liyuan Li</a>
* @author <a href="http://vanessa.b3log.org">Liyuan Li</a>
* @author <a href="http://88250.b3log.org">Liang Ding</a>
* @author <a href="http://88250.b3log.org">Liang Ding</a>
* @version 2.
4.0.2, Dec 29, 2019
* @version 2.
5.0.0, Jan 15, 2020
*/
*/
var
Page
=
function
(
tips
)
{
var
Page
=
function
(
tips
)
{
this
.
currentCommentId
=
''
this
.
currentCommentId
=
''
...
@@ -43,6 +43,7 @@ $.extend(Page.prototype, {
...
@@ -43,6 +43,7 @@ $.extend(Page.prototype, {
userName
:
$vcomment
.
data
(
'
name
'
),
userName
:
$vcomment
.
data
(
'
name
'
),
currentPage
:
1
,
currentPage
:
1
,
vditor
:
{
vditor
:
{
scriptPath
:
'
https://cdn.jsdelivr.net/npm/vditor@2.1.1/dist/index.min.js
'
,
hljsEnable
:
!
Label
.
luteAvailable
,
hljsEnable
:
!
Label
.
luteAvailable
,
hljsStyle
:
Label
.
hljsStyle
,
hljsStyle
:
Label
.
hljsStyle
,
},
},
...
@@ -133,7 +134,7 @@ $.extend(Page.prototype, {
...
@@ -133,7 +134,7 @@ $.extend(Page.prototype, {
if
(
!
$
(
'
#soloEditorComment
'
).
hasClass
(
'
vditor
'
))
{
if
(
!
$
(
'
#soloEditorComment
'
).
hasClass
(
'
vditor
'
))
{
var
that
=
this
var
that
=
this
Util
.
addScript
(
Util
.
addScript
(
'
https://cdn.jsdelivr.net/npm/vditor@2.1.
0
/dist/index.min.js
'
,
'
https://cdn.jsdelivr.net/npm/vditor@2.1.
1
/dist/index.min.js
'
,
'
vditorScript
'
)
'
vditorScript
'
)
var
toolbar
=
[
var
toolbar
=
[
'
emoji
'
,
'
emoji
'
,
...
...
src/main/resources/js/page.min.js
View file @
e196c68a
var
Page
=
function
(
t
){
this
.
currentCommentId
=
""
,
this
.
tips
=
t
};
$
.
extend
(
Page
.
prototype
,{
vcomment
:
function
(){
const
t
=
$
(
"
#vcomment
"
);
0
!==
t
.
length
&&
new
Vcomment
({
id
:
"
vcomment
"
,
postId
:
t
.
data
(
"
postid
"
),
url
:
"
https://hacpai.com
"
,
userName
:
t
.
data
(
"
name
"
),
currentPage
:
1
,
vditor
:{
hljsEnable
:
!
Label
.
luteAvailable
,
hljsStyle
:
Label
.
hljsStyle
},
error
(){
t
.
remove
(),
$
(
"
#soloComments
"
).
show
()}}).
render
()},
share
:
function
(){
var
t
=
$
(
"
.article__share
"
);
if
(
0
!==
t
.
length
){
var
e
=
t
.
find
(
"
.item__qr
"
),
o
=
t
.
data
(
"
url
"
),
i
=
t
.
data
(
"
avatar
"
),
l
=
encodeURIComponent
(
t
.
data
(
"
title
"
)
+
"
-
"
+
t
.
data
(
"
blogtitle
"
)),
n
=
encodeURIComponent
(
o
),
r
=
{};
r
.
tencent
=
"
http://share.v.t.qq.com/index.php?c=share&a=index&title=
"
+
l
+
"
&url=
"
+
n
+
"
&pic=
"
+
i
,
r
.
weibo
=
"
http://v.t.sina.com.cn/share/share.php?title=
"
+
l
+
"
&url=
"
+
n
+
"
&pic=
"
+
i
,
r
.
qqz
=
"
https://sns.qzone.qq.com/cgi-bin/qzshare/cgi_qzshare_onekey?url=
"
+
n
+
"
&sharesource=qzone&title=
"
+
l
+
"
&pics=
"
+
i
,
r
.
twitter
=
"
https://twitter.com/intent/tweet?status=
"
+
l
+
"
"
+
n
,
t
.
find
(
"
span
"
).
click
((
function
(){
var
t
=
$
(
this
).
data
(
"
type
"
);
if
(
t
)
return
"
wechat
"
===
t
?(
0
===
e
.
find
(
"
canvas
"
).
length
?(
Util
.
addScript
(
Label
.
staticServePath
+
"
/js/lib/jquery.qrcode.min.js
"
,
"
qrcodeScript
"
),
e
.
qrcode
({
width
:
128
,
height
:
128
,
text
:
o
})):
e
.
slideToggle
(),
!
1
):
void
window
.
open
(
r
[
t
],
"
_blank
"
,
"
top=100,left=200,width=648,height=618
"
)}))}},
load
:
function
(){
var
t
=
this
;
$
(
"
#comment
"
).
click
((
function
(){
t
.
toggleEditor
()})).
attr
(
"
readonly
"
,
"
readonly
"
),
$
(
"
#soloEditorCancel
"
).
click
((
function
(){
t
.
toggleEditor
()})),
$
(
"
#soloEditorAdd
"
).
click
((
function
(){
t
.
submitComment
()})),
t
.
vcomment
()},
toggleEditor
:
function
(
t
,
e
){
var
o
=
$
(
"
#soloEditor
"
);
if
(
0
!==
o
.
length
){
if
(
!
$
(
"
#soloEditorComment
"
).
hasClass
(
"
vditor
"
)){
Util
.
addScript
(
"
https://cdn.jsdelivr.net/npm/vditor@2.1.0/dist/index.min.js
"
,
"
vditorScript
"
);
var
i
=
[
"
emoji
"
,
"
headings
"
,
"
bold
"
,
"
italic
"
,
"
strike
"
,
"
link
"
,
"
|
"
,
"
list
"
,
"
ordered-list
"
,
"
check
"
,
"
|
"
,
"
quote
"
,
"
line
"
,
"
code
"
,
"
inline-code
"
,
"
table
"
,
"
|
"
,
"
undo
"
,
"
redo
"
,
"
|
"
,
"
wysiwyg
"
,
"
both
"
,
"
preview
"
,
"
format
"
,
"
|
"
,
"
fullscreen
"
,
"
devtools
"
,
"
info
"
,
"
help
"
],
l
=!
0
;
$
(
window
).
width
()
<
768
&&
(
i
=
[
"
emoji
"
,
"
bold
"
,
"
italic
"
,
"
link
"
,
"
list
"
,
"
check
"
,
"
wysiwyg
"
,
"
preview
"
,
"
fullscreen
"
,
"
help
"
],
l
=!
1
),
window
.
vditor
=
new
Vditor
(
"
soloEditorComment
"
,{
placeholder
:
this
.
tips
.
commentContentCannotEmptyLabel
,
height
:
180
,
tab
:
"
\t
"
,
esc
:
function
(){
$
(
"
#soloEditorCancel
"
).
click
()},
ctrlEnter
:
function
(){
$
(
"
#soloEditorAdd
"
).
click
()},
preview
:{
delay
:
500
,
mode
:
"
editor
"
,
url
:
Label
.
servePath
+
"
/console/markdown/2html
"
,
hljs
:{
enable
:
!
Label
.
luteAvailable
,
style
:
Label
.
hljsStyle
},
parse
:
function
(
t
){
"
none
"
!==
t
.
style
.
display
&&
Util
.
parseLanguage
()}},
counter
:
500
,
resize
:{
enable
:
l
,
position
:
"
top
"
},
lang
:
Label
.
langLabel
,
toolbar
:
i
,
after
:()
=>
{
vditor
.
focus
()}})}
"
-300px
"
===
o
.
css
(
"
bottom
"
)
||
t
?(
$
(
"
#soloEditorError
"
).
text
(
""
),
$
(
window
).
width
()
<
768
?
o
.
css
({
top
:
"
0
"
,
bottom
:
"
auto
"
,
opacity
:
1
}):
o
.
css
({
bottom
:
"
0
"
,
top
:
"
auto
"
,
opacity
:
1
}),
this
.
currentCommentId
=
t
,
$
(
"
#soloEditorReplyTarget
"
).
text
(
e
?
"
@
"
+
e
:
""
),
"
undefined
"
!=
typeof
vditor
&&
vditor
.
vditor
.
wysiwyg
&&
vditor
.
focus
()):
o
.
css
({
bottom
:
"
-300px
"
,
top
:
"
auto
"
,
opacity
:
0
})}
else
location
.
href
=
Label
.
servePath
+
"
/start
"
},
loadRandomArticles
:
function
(
t
){
var
e
=
this
.
tips
.
randomArticles1Label
;
$
.
ajax
({
url
:
Label
.
servePath
+
"
/articles/random
"
,
type
:
"
POST
"
,
success
:
function
(
o
,
i
){
var
l
=
o
.
randomArticles
;
if
(
l
&&
0
!==
l
.
length
){
for
(
var
n
=
""
,
r
=
0
;
r
<
l
.
length
;
r
++
){
var
a
=
l
[
r
],
s
=
a
.
articleTitle
;
n
+=
"
<li><a rel='nofollow' title='
"
+
s
+
"
' href='
"
+
Label
.
servePath
+
a
.
articlePermalink
+
"
'>
"
+
s
+
"
</a></li>
"
}
var
c
=
(
t
||
"
<h4>
"
+
e
+
"
</h4>
"
)
+
"
<ul>
"
+
n
+
"
</ul>
"
;
$
(
"
#randomArticles
"
).
append
(
c
)}
else
$
(
"
#randomArticles
"
).
remove
()}})},
loadRelevantArticles
:
function
(
t
,
e
){
$
.
ajax
({
url
:
Label
.
servePath
+
"
/article/id/
"
+
t
+
"
/relevant/articles
"
,
type
:
"
GET
"
,
success
:
function
(
t
,
o
){
var
i
=
t
.
relevantArticles
;
if
(
i
&&
0
!==
i
.
length
){
for
(
var
l
=
""
,
n
=
0
;
n
<
i
.
length
;
n
++
){
var
r
=
i
[
n
],
a
=
r
.
articleTitle
;
l
+=
"
<li><a rel='nofollow' title='
"
+
a
+
"
' href='
"
+
Label
.
servePath
+
r
.
articlePermalink
+
"
'>
"
+
a
+
"
</a></li>
"
}
var
s
=
e
+
"
<ul>
"
+
l
+
"
</ul>
"
;
$
(
"
#relevantArticles
"
).
append
(
s
)}
else
$
(
"
#relevantArticles
"
).
remove
()},
error
:
function
(){
$
(
"
#relevantArticles
"
).
remove
()}})},
loadExternalRelevantArticles
:
function
(
t
,
e
){
var
o
=
this
.
tips
;
try
{
$
.
ajax
({
url
:
"
https://rhythm.b3log.org/get-articles-by-tags.do?tags=
"
+
t
+
"
&blogHost=
"
+
o
.
blogHost
+
"
&paginationPageSize=
"
+
o
.
externalRelevantArticlesDisplayCount
,
type
:
"
GET
"
,
cache
:
!
0
,
dataType
:
"
jsonp
"
,
error
:
function
(){
$
(
"
#externalRelevantArticles
"
).
remove
()},
success
:
function
(
t
,
i
){
var
l
=
t
.
articles
;
if
(
l
&&
0
!==
l
.
length
){
for
(
var
n
=
""
,
r
=
0
;
r
<
l
.
length
;
r
++
){
var
a
=
l
[
r
],
s
=
a
.
articleTitle
;
n
+=
"
<li><a rel='nofollow' title='
"
+
s
+
"
' target='_blank' href='
"
+
a
.
articlePermalink
+
"
'>
"
+
s
+
"
</a></li>
"
}
var
c
=
(
e
||
"
<h4>
"
+
o
.
externalRelevantArticles1Label
+
"
</h4>
"
)
+
"
<ul>
"
+
n
+
"
</ul>
"
;
$
(
"
#externalRelevantArticles
"
).
append
(
c
)}
else
$
(
"
#externalRelevantArticles
"
).
remove
()}})}
catch
(
t
){}},
submitComment
:
function
(){
var
t
=
this
,
e
=
this
.
tips
;
if
(
vditor
.
getValue
().
length
>
1
&&
vditor
.
getValue
().
length
<
500
){
$
(
"
#soloEditorAdd
"
).
attr
(
"
disabled
"
,
"
disabled
"
);
var
o
=
{
oId
:
e
.
oId
,
commentContent
:
vditor
.
getValue
()};
this
.
currentCommentId
&&
(
o
.
commentOriginalCommentId
=
this
.
currentCommentId
),
$
.
ajax
({
type
:
"
POST
"
,
url
:
Label
.
servePath
+
"
/article/comments
"
,
cache
:
!
1
,
contentType
:
"
application/json
"
,
data
:
JSON
.
stringify
(
o
),
success
:
function
(
e
){
$
(
"
#soloEditorAdd
"
).
removeAttr
(
"
disabled
"
),
e
.
sc
?(
t
.
toggleEditor
(),
vditor
.
setValue
(
""
),
t
.
addCommentAjax
(
e
.
cmtTpl
)):
$
(
"
#soloEditorError
"
).
html
(
e
.
msg
)}})}
else
$
(
"
#soloEditorError
"
).
text
(
t
.
tips
.
commentContentCannotEmptyLabel
)},
addReplyForm
:
function
(
t
,
e
){
this
.
currentCommentId
=
t
,
this
.
toggleEditor
(
t
,
e
)},
hideComment
:
function
(
t
){
$
(
"
#commentRef
"
+
t
).
hide
()},
showComment
:
function
(
t
,
e
,
o
,
i
){
var
l
=
parseInt
(
$
(
t
).
position
().
top
);
if
(
i
&&
(
l
=
parseInt
(
$
(
t
).
parents
(
i
).
position
().
top
)),
$
(
"
#commentRef
"
+
e
).
length
>
0
)
$
(
"
#commentRef
"
+
e
).
show
().
css
(
"
top
"
,
l
+
o
+
"
px
"
);
else
{
var
n
=
$
(
"
#
"
+
e
).
clone
();
n
.
addClass
(
"
comment-body-ref
"
).
attr
(
"
id
"
,
"
commentRef
"
+
e
),
n
.
find
(
"
#replyForm
"
).
remove
(),
$
(
"
#comments
"
).
append
(
n
),
$
(
"
#commentRef
"
+
e
).
css
(
"
top
"
,
l
+
o
+
"
px
"
)}},
addCommentAjax
:
function
(
t
){
$
(
"
#comments
"
).
children
().
length
>
0
?
$
(
$
(
"
#comments
"
).
children
()[
0
]).
before
(
t
):
$
(
"
#comments
"
).
html
(
t
),
Util
.
parseMarkdown
(),
Util
.
parseLanguage
(),
window
.
location
.
hash
=
"
#comments
"
}});
var
Page
=
function
(
t
){
this
.
currentCommentId
=
""
,
this
.
tips
=
t
};
$
.
extend
(
Page
.
prototype
,{
vcomment
:
function
(){
const
t
=
$
(
"
#vcomment
"
);
0
!==
t
.
length
&&
new
Vcomment
({
id
:
"
vcomment
"
,
postId
:
t
.
data
(
"
postid
"
),
url
:
"
https://hacpai.com
"
,
userName
:
t
.
data
(
"
name
"
),
currentPage
:
1
,
vditor
:{
scriptPath
:
"
https://cdn.jsdelivr.net/npm/vditor@2.1.1/dist/index.min.js
"
,
hljsEnable
:
!
Label
.
luteAvailable
,
hljsStyle
:
Label
.
hljsStyle
},
error
(){
t
.
remove
(),
$
(
"
#soloComments
"
).
show
()}}).
render
()},
share
:
function
(){
var
t
=
$
(
"
.article__share
"
);
if
(
0
!==
t
.
length
){
var
e
=
t
.
find
(
"
.item__qr
"
),
o
=
t
.
data
(
"
url
"
),
i
=
t
.
data
(
"
avatar
"
),
n
=
encodeURIComponent
(
t
.
data
(
"
title
"
)
+
"
-
"
+
t
.
data
(
"
blogtitle
"
)),
r
=
encodeURIComponent
(
o
),
l
=
{};
l
.
tencent
=
"
http://share.v.t.qq.com/index.php?c=share&a=index&title=
"
+
n
+
"
&url=
"
+
r
+
"
&pic=
"
+
i
,
l
.
weibo
=
"
http://v.t.sina.com.cn/share/share.php?title=
"
+
n
+
"
&url=
"
+
r
+
"
&pic=
"
+
i
,
l
.
qqz
=
"
https://sns.qzone.qq.com/cgi-bin/qzshare/cgi_qzshare_onekey?url=
"
+
r
+
"
&sharesource=qzone&title=
"
+
n
+
"
&pics=
"
+
i
,
l
.
twitter
=
"
https://twitter.com/intent/tweet?status=
"
+
n
+
"
"
+
r
,
t
.
find
(
"
span
"
).
click
((
function
(){
var
t
=
$
(
this
).
data
(
"
type
"
);
if
(
t
)
return
"
wechat
"
===
t
?(
0
===
e
.
find
(
"
canvas
"
).
length
?(
Util
.
addScript
(
Label
.
staticServePath
+
"
/js/lib/jquery.qrcode.min.js
"
,
"
qrcodeScript
"
),
e
.
qrcode
({
width
:
128
,
height
:
128
,
text
:
o
})):
e
.
slideToggle
(),
!
1
):
void
window
.
open
(
l
[
t
],
"
_blank
"
,
"
top=100,left=200,width=648,height=618
"
)}))}},
load
:
function
(){
var
t
=
this
;
$
(
"
#comment
"
).
click
((
function
(){
t
.
toggleEditor
()})).
attr
(
"
readonly
"
,
"
readonly
"
),
$
(
"
#soloEditorCancel
"
).
click
((
function
(){
t
.
toggleEditor
()})),
$
(
"
#soloEditorAdd
"
).
click
((
function
(){
t
.
submitComment
()})),
t
.
vcomment
()},
toggleEditor
:
function
(
t
,
e
){
var
o
=
$
(
"
#soloEditor
"
);
if
(
0
!==
o
.
length
){
if
(
!
$
(
"
#soloEditorComment
"
).
hasClass
(
"
vditor
"
)){
Util
.
addScript
(
"
https://cdn.jsdelivr.net/npm/vditor@2.1.1/dist/index.min.js
"
,
"
vditorScript
"
);
var
i
=
[
"
emoji
"
,
"
headings
"
,
"
bold
"
,
"
italic
"
,
"
strike
"
,
"
link
"
,
"
|
"
,
"
list
"
,
"
ordered-list
"
,
"
check
"
,
"
|
"
,
"
quote
"
,
"
line
"
,
"
code
"
,
"
inline-code
"
,
"
table
"
,
"
|
"
,
"
undo
"
,
"
redo
"
,
"
|
"
,
"
wysiwyg
"
,
"
both
"
,
"
preview
"
,
"
format
"
,
"
|
"
,
"
fullscreen
"
,
"
devtools
"
,
"
info
"
,
"
help
"
],
n
=!
0
;
$
(
window
).
width
()
<
768
&&
(
i
=
[
"
emoji
"
,
"
bold
"
,
"
italic
"
,
"
link
"
,
"
list
"
,
"
check
"
,
"
wysiwyg
"
,
"
preview
"
,
"
fullscreen
"
,
"
help
"
],
n
=!
1
),
window
.
vditor
=
new
Vditor
(
"
soloEditorComment
"
,{
placeholder
:
this
.
tips
.
commentContentCannotEmptyLabel
,
height
:
180
,
tab
:
"
\t
"
,
esc
:
function
(){
$
(
"
#soloEditorCancel
"
).
click
()},
ctrlEnter
:
function
(){
$
(
"
#soloEditorAdd
"
).
click
()},
preview
:{
delay
:
500
,
mode
:
"
editor
"
,
url
:
Label
.
servePath
+
"
/console/markdown/2html
"
,
hljs
:{
enable
:
!
Label
.
luteAvailable
,
style
:
Label
.
hljsStyle
},
parse
:
function
(
t
){
"
none
"
!==
t
.
style
.
display
&&
Util
.
parseLanguage
()}},
counter
:
500
,
resize
:{
enable
:
n
,
position
:
"
top
"
},
lang
:
Label
.
langLabel
,
toolbar
:
i
,
after
:()
=>
{
vditor
.
focus
()}})}
"
-300px
"
===
o
.
css
(
"
bottom
"
)
||
t
?(
$
(
"
#soloEditorError
"
).
text
(
""
),
$
(
window
).
width
()
<
768
?
o
.
css
({
top
:
"
0
"
,
bottom
:
"
auto
"
,
opacity
:
1
}):
o
.
css
({
bottom
:
"
0
"
,
top
:
"
auto
"
,
opacity
:
1
}),
this
.
currentCommentId
=
t
,
$
(
"
#soloEditorReplyTarget
"
).
text
(
e
?
"
@
"
+
e
:
""
),
"
undefined
"
!=
typeof
vditor
&&
vditor
.
vditor
.
wysiwyg
&&
vditor
.
focus
()):
o
.
css
({
bottom
:
"
-300px
"
,
top
:
"
auto
"
,
opacity
:
0
})}
else
location
.
href
=
Label
.
servePath
+
"
/start
"
},
loadRandomArticles
:
function
(
t
){
var
e
=
this
.
tips
.
randomArticles1Label
;
$
.
ajax
({
url
:
Label
.
servePath
+
"
/articles/random
"
,
type
:
"
POST
"
,
success
:
function
(
o
,
i
){
var
n
=
o
.
randomArticles
;
if
(
n
&&
0
!==
n
.
length
){
for
(
var
r
=
""
,
l
=
0
;
l
<
n
.
length
;
l
++
){
var
a
=
n
[
l
],
s
=
a
.
articleTitle
;
r
+=
"
<li><a rel='nofollow' title='
"
+
s
+
"
' href='
"
+
Label
.
servePath
+
a
.
articlePermalink
+
"
'>
"
+
s
+
"
</a></li>
"
}
var
c
=
(
t
||
"
<h4>
"
+
e
+
"
</h4>
"
)
+
"
<ul>
"
+
r
+
"
</ul>
"
;
$
(
"
#randomArticles
"
).
append
(
c
)}
else
$
(
"
#randomArticles
"
).
remove
()}})},
loadRelevantArticles
:
function
(
t
,
e
){
$
.
ajax
({
url
:
Label
.
servePath
+
"
/article/id/
"
+
t
+
"
/relevant/articles
"
,
type
:
"
GET
"
,
success
:
function
(
t
,
o
){
var
i
=
t
.
relevantArticles
;
if
(
i
&&
0
!==
i
.
length
){
for
(
var
n
=
""
,
r
=
0
;
r
<
i
.
length
;
r
++
){
var
l
=
i
[
r
],
a
=
l
.
articleTitle
;
n
+=
"
<li><a rel='nofollow' title='
"
+
a
+
"
' href='
"
+
Label
.
servePath
+
l
.
articlePermalink
+
"
'>
"
+
a
+
"
</a></li>
"
}
var
s
=
e
+
"
<ul>
"
+
n
+
"
</ul>
"
;
$
(
"
#relevantArticles
"
).
append
(
s
)}
else
$
(
"
#relevantArticles
"
).
remove
()},
error
:
function
(){
$
(
"
#relevantArticles
"
).
remove
()}})},
loadExternalRelevantArticles
:
function
(
t
,
e
){
var
o
=
this
.
tips
;
try
{
$
.
ajax
({
url
:
"
https://rhythm.b3log.org/get-articles-by-tags.do?tags=
"
+
t
+
"
&blogHost=
"
+
o
.
blogHost
+
"
&paginationPageSize=
"
+
o
.
externalRelevantArticlesDisplayCount
,
type
:
"
GET
"
,
cache
:
!
0
,
dataType
:
"
jsonp
"
,
error
:
function
(){
$
(
"
#externalRelevantArticles
"
).
remove
()},
success
:
function
(
t
,
i
){
var
n
=
t
.
articles
;
if
(
n
&&
0
!==
n
.
length
){
for
(
var
r
=
""
,
l
=
0
;
l
<
n
.
length
;
l
++
){
var
a
=
n
[
l
],
s
=
a
.
articleTitle
;
r
+=
"
<li><a rel='nofollow' title='
"
+
s
+
"
' target='_blank' href='
"
+
a
.
articlePermalink
+
"
'>
"
+
s
+
"
</a></li>
"
}
var
c
=
(
e
||
"
<h4>
"
+
o
.
externalRelevantArticles1Label
+
"
</h4>
"
)
+
"
<ul>
"
+
r
+
"
</ul>
"
;
$
(
"
#externalRelevantArticles
"
).
append
(
c
)}
else
$
(
"
#externalRelevantArticles
"
).
remove
()}})}
catch
(
t
){}},
submitComment
:
function
(){
var
t
=
this
,
e
=
this
.
tips
;
if
(
vditor
.
getValue
().
length
>
1
&&
vditor
.
getValue
().
length
<
500
){
$
(
"
#soloEditorAdd
"
).
attr
(
"
disabled
"
,
"
disabled
"
);
var
o
=
{
oId
:
e
.
oId
,
commentContent
:
vditor
.
getValue
()};
this
.
currentCommentId
&&
(
o
.
commentOriginalCommentId
=
this
.
currentCommentId
),
$
.
ajax
({
type
:
"
POST
"
,
url
:
Label
.
servePath
+
"
/article/comments
"
,
cache
:
!
1
,
contentType
:
"
application/json
"
,
data
:
JSON
.
stringify
(
o
),
success
:
function
(
e
){
$
(
"
#soloEditorAdd
"
).
removeAttr
(
"
disabled
"
),
e
.
sc
?(
t
.
toggleEditor
(),
vditor
.
setValue
(
""
),
t
.
addCommentAjax
(
e
.
cmtTpl
)):
$
(
"
#soloEditorError
"
).
html
(
e
.
msg
)}})}
else
$
(
"
#soloEditorError
"
).
text
(
t
.
tips
.
commentContentCannotEmptyLabel
)},
addReplyForm
:
function
(
t
,
e
){
this
.
currentCommentId
=
t
,
this
.
toggleEditor
(
t
,
e
)},
hideComment
:
function
(
t
){
$
(
"
#commentRef
"
+
t
).
hide
()},
showComment
:
function
(
t
,
e
,
o
,
i
){
var
n
=
parseInt
(
$
(
t
).
position
().
top
);
if
(
i
&&
(
n
=
parseInt
(
$
(
t
).
parents
(
i
).
position
().
top
)),
$
(
"
#commentRef
"
+
e
).
length
>
0
)
$
(
"
#commentRef
"
+
e
).
show
().
css
(
"
top
"
,
n
+
o
+
"
px
"
);
else
{
var
r
=
$
(
"
#
"
+
e
).
clone
();
r
.
addClass
(
"
comment-body-ref
"
).
attr
(
"
id
"
,
"
commentRef
"
+
e
),
r
.
find
(
"
#replyForm
"
).
remove
(),
$
(
"
#comments
"
).
append
(
r
),
$
(
"
#commentRef
"
+
e
).
css
(
"
top
"
,
n
+
o
+
"
px
"
)}},
addCommentAjax
:
function
(
t
){
$
(
"
#comments
"
).
children
().
length
>
0
?
$
(
$
(
"
#comments
"
).
children
()[
0
]).
before
(
t
):
$
(
"
#comments
"
).
html
(
t
),
Util
.
parseMarkdown
(),
Util
.
parseLanguage
(),
window
.
location
.
hash
=
"
#comments
"
}});
\ No newline at end of file
\ No newline at end of file
src/main/resources/skins/Finding/css/base.css
View file @
e196c68a
.article__toc
{
overflow
:
auto
}
.article__toc
::-webkit-scrollbar
{
display
:
none
}
.article__toc
li
{
list-style-type
:
none
}
.article__toc
li
a
{
padding-left
:
10px
;
display
:
block
;
white-space
:
nowrap
;
overflow
:
hidden
;
text-overflow
:
ellipsis
}
.article__toc
li
a
:hover
{
text-decoration
:
none
}
.article__toc
li
.toc__h3
a
{
padding-left
:
20px
}
.article__toc
li
.toc__h4
a
{
padding-left
:
30px
}
.article__toc
li
.toc__h5
a
{
padding-left
:
40px
}
.user__site
:hover
{
text-decoration
:
none
}
@-webkit-keyframes
tooltip-appear
{
from
{
opacity
:
0
}
to
{
opacity
:
1
}}
@keyframes
tooltip-appear
{
from
{
opacity
:
0
}
to
{
opacity
:
1
}}
.vditor-tooltipped
{
position
:
relative
;
cursor
:
pointer
}
.vditor-tooltipped
::after
{
position
:
absolute
;
z-index
:
1000000
;
display
:
none
;
padding
:
5px
8px
;
font-size
:
11px
;
font-weight
:
normal
;
-webkit-font-smoothing
:
subpixel-antialiased
;
color
:
#fff
;
text-align
:
center
;
text-decoration
:
none
;
text-shadow
:
none
;
text-transform
:
none
;
letter-spacing
:
normal
;
word-wrap
:
break-word
;
white-space
:
pre
;
pointer-events
:
none
;
content
:
attr
(
aria-label
);
background
:
rgba
(
0
,
0
,
0
,
0.8
);
border-radius
:
3px
;
line-height
:
16px
;
opacity
:
0
}
.vditor-tooltipped
::before
{
position
:
absolute
;
z-index
:
1000001
;
display
:
none
;
width
:
0
;
height
:
0
;
color
:
rgba
(
0
,
0
,
0
,
0.8
);
pointer-events
:
none
;
content
:
""
;
border
:
5px
solid
transparent
;
opacity
:
0
}
.vditor-tooltipped--hover
::before
,
.vditor-tooltipped--hover
::after
,
.vditor-tooltipped
:hover::before
,
.vditor-tooltipped
:hover::after
,
.vditor-tooltipped
:active::before
,
.vditor-tooltipped
:active::after
,
.vditor-tooltipped
:focus::before
,
.vditor-tooltipped
:focus::after
{
display
:
inline-block
;
text-decoration
:
none
;
-webkit-animation-name
:
tooltip-appear
;
animation-name
:
tooltip-appear
;
-webkit-animation-duration
:
0.15s
;
animation-duration
:
0.15s
;
-webkit-animation-fill-mode
:
forwards
;
animation-fill-mode
:
forwards
;
-webkit-animation-timing-function
:
ease-in
;
animation-timing-function
:
ease-in
}
.vditor-tooltipped__s
::after
,
.vditor-tooltipped__se
::after
,
.vditor-tooltipped__sw
::after
{
top
:
100%
;
right
:
50%
;
margin-top
:
5px
}
.vditor-tooltipped__s
::before
,
.vditor-tooltipped__se
::before
,
.vditor-tooltipped__sw
::before
{
top
:
auto
;
right
:
50%
;
bottom
:
-5px
;
margin-right
:
-5px
;
border-bottom-color
:
rgba
(
0
,
0
,
0
,
0.8
)}
.vditor-tooltipped__se
::after
{
right
:
auto
;
left
:
50%
;
margin-left
:
-15px
}
.vditor-tooltipped__sw
::after
{
margin-right
:
-15px
}
.vditor-tooltipped__n
::after
,
.vditor-tooltipped__ne
::after
,
.vditor-tooltipped__nw
::after
{
right
:
50%
;
bottom
:
100%
;
margin-bottom
:
5px
}
.vditor-tooltipped__n
::before
,
.vditor-tooltipped__ne
::before
,
.vditor-tooltipped__nw
::before
{
top
:
-5px
;
right
:
50%
;
bottom
:
auto
;
margin-right
:
-5px
;
border-top-color
:
rgba
(
0
,
0
,
0
,
0.8
)}
.vditor-tooltipped__ne
::after
{
right
:
auto
;
left
:
50%
;
margin-left
:
-15px
}
.vditor-tooltipped__nw
::after
{
margin-right
:
-15px
}
.vditor-tooltipped__s
::after
,
.vditor-tooltipped__n
::after
{
-webkit-transform
:
translateX
(
50%
);
transform
:
translateX
(
50%
)}
.vditor-tooltipped__w
::after
{
right
:
100%
;
bottom
:
50%
;
margin-right
:
5px
;
-webkit-transform
:
translateY
(
50%
);
transform
:
translateY
(
50%
)}
.vditor-tooltipped__w
::before
{
top
:
50%
;
bottom
:
50%
;
left
:
-5px
;
margin-top
:
-5px
;
border-left-color
:
rgba
(
0
,
0
,
0
,
0.8
)}
.vditor-tooltipped__e
::after
{
bottom
:
50%
;
left
:
100%
;
margin-left
:
5px
;
-webkit-transform
:
translateY
(
50%
);
transform
:
translateY
(
50%
)}
.vditor-tooltipped__e
::before
{
top
:
50%
;
right
:
-5px
;
bottom
:
50%
;
margin-top
:
-5px
;
border-right-color
:
rgba
(
0
,
0
,
0
,
0.8
)}
@-webkit-keyframes
scale-in
{
0
%
{
opacity
:
0
;
-webkit-transform
:
scale
(
0.5
);
transform
:
scale
(
0.5
)}
100
%
{
opacity
:
1
;
-webkit-transform
:
scale
(
1
);
transform
:
scale
(
1
)}}
@keyframes
scale-in
{
0
%
{
opacity
:
0
;
-webkit-transform
:
scale
(
0.5
);
transform
:
scale
(
0.5
)}
100
%
{
opacity
:
1
;
-webkit-transform
:
scale
(
1
);
transform
:
scale
(
1
)}}
.vditor-panel
{
background-color
:
#fff
;
position
:
absolute
;
box-shadow
:
0
1px
2px
rgba
(
0
,
0
,
0
,
0.2
);
border-radius
:
3px
;
padding
:
5px
;
z-index
:
3
;
font-size
:
14px
;
display
:
none
;
-webkit-user-select
:
none
;
-moz-user-select
:
none
;
-ms-user-select
:
none
;
user-select
:
none
;
max-width
:
320px
;
min-width
:
80px
;
-webkit-animation-duration
:
.15s
;
animation-duration
:
.15s
;
-webkit-animation-name
:
scale-in
;
animation-name
:
scale-in
;
-webkit-animation-timing-function
:
cubic-bezier
(
0.2
,
0
,
0.13
,
1.5
);
animation-timing-function
:
cubic-bezier
(
0.2
,
0
,
0.13
,
1.5
)}
.vditor-panel--none
{
color
:
#4285f4
;
padding
:
0
;
-webkit-animation
:
none
;
animation
:
none
;
background-color
:
#f6f8fa
;
min-width
:
auto
;
max-width
:
none
}
.vditor-panel
h1
,
.vditor-panel
h2
,
.vditor-panel
h3
,
.vditor-panel
h4
,
.vditor-panel
h5
,
.vditor-panel
h6
{
margin
:
0
;
cursor
:
pointer
;
padding
:
3px
10px
;
border-radius
:
3px
;
line-height
:
normal
}
.vditor-panel
h1
:hover
,
.vditor-panel
h2
:hover
,
.vditor-panel
h3
:hover
,
.vditor-panel
h4
:hover
,
.vditor-panel
h5
:hover
,
.vditor-panel
h6
:hover
{
background-color
:
#4285f4
;
color
:
#fff
}
.vditor-input
{
border
:
0
;
padding
:
3px
5px
;
background-color
:
#f6f8fa
}
.vditor-input
:focus
{
background-color
:
#fff
;
outline
:
none
}
.vditor-icon
{
color
:
#586069
;
cursor
:
pointer
;
float
:
left
;
padding
:
2px
5px
;
height
:
19px
;
width
:
25px
;
background-color
:
transparent
;
border
:
0
;
box-sizing
:
border-box
}
.vditor-icon
:hover
,
.vditor-icon--current
{
color
:
#4285f4
;
background-color
:
transparent
}
.vditor-icon
:focus
{
outline
:
none
}
.vditor-icon
svg
{
height
:
15px
!important
;
width
:
15px
!important
;
float
:
left
;
fill
:
currentColor
}
.vditor-toolbar
{
background-color
:
#f6f8fa
;
border-bottom
:
1px
solid
#d1d5da
;
padding
:
0
5px
;
border-radius
:
3px
3px
0
0
}
.vditor-toolbar
>
div
{
float
:
left
}
.vditor-toolbar
>
div
>
.vditor-tooltipped
{
border
:
0
;
margin
:
0
;
padding
:
10px
5px
;
background-color
:
transparent
;
height
:
35px
;
width
:
25px
;
box-sizing
:
border-box
}
.vditor-toolbar
>
div
>
.vditor-tooltipped
:focus
{
outline
:
none
}
.vditor-toolbar
.vditor-tooltipped
{
color
:
#586069
}
.vditor-toolbar
.vditor-tooltipped
:hover
{
color
:
#4285f4
}
.vditor-toolbar
svg
{
fill
:
currentColor
;
display
:
inline-block
;
stroke-width
:
0
;
stroke
:
currentColor
;
width
:
15px
;
height
:
15px
}
.vditor-toolbar
input
{
position
:
absolute
;
width
:
25px
;
height
:
35px
;
top
:
0
;
left
:
0
;
cursor
:
pointer
;
opacity
:
.001
;
overflow
:
hidden
}
.vditor-menu--current
svg
{
color
:
#4285f4
}
.vditor-menu__divider
{
width
:
10px
;
height
:
35px
}
.vditor-menu__br
{
width
:
100%
;
padding
:
0
!important
;
height
:
0
!important
}
.vditor-menu--disabled
svg
{
color
:
rgba
(
88
,
96
,
105
,
0.6
);
cursor
:
not-allowed
}
.vditor-emojis
{
display
:
inline-block
;
overflow
:
auto
}
.vditor-emojis
::-webkit-scrollbar
{
display
:
none
}
.vditor-emojis__tip
{
-webkit-box-flex
:
1
;
flex
:
1
;
width
:
200px
;
margin-right
:
10px
;
color
:
#586069
;
white-space
:
nowrap
;
text-overflow
:
ellipsis
;
overflow
:
hidden
}
.vditor-emojis__tail
{
margin-top
:
5px
;
font-size
:
12px
;
color
:
#586069
;
display
:
-webkit-box
;
display
:
flex
}
.vditor-emojis__tail
a
{
text-decoration
:
none
;
color
:
#586069
}
.vditor-emojis__tail
a
:hover
{
color
:
#4285f4
}
.vditor-emojis
button
{
cursor
:
pointer
;
border-radius
:
3px
;
float
:
left
;
height
:
30px
;
width
:
30px
;
text-align
:
center
;
line-height
:
26px
;
padding
:
3px
;
box-sizing
:
border-box
;
font-size
:
16px
;
-webkit-transition
:
all
0.15s
ease-in-out
;
transition
:
all
0.15s
ease-in-out
;
border
:
0
;
margin
:
0
;
background-color
:
transparent
;
overflow
:
hidden
}
.vditor-emojis
button
:focus
{
outline
:
none
}
.vditor-emojis
button
:hover
.vditor-emojis__icon
{
display
:
inline-block
;
-webkit-transform
:
scale
(
1.2
);
transform
:
scale
(
1.2
)}
.vditor-emojis
img
{
height
:
20px
;
width
:
20px
;
float
:
left
;
margin
:
3px
0
0
3px
}
@-webkit-keyframes
slideInDown
{
from
{
-webkit-transform
:
translate3d
(
0
,
-100%
,
0
);
transform
:
translate3d
(
0
,
-100%
,
0
);
visibility
:
visible
}
to
{
-webkit-transform
:
translate3d
(
0
,
0
,
0
);
transform
:
translate3d
(
0
,
0
,
0
)}}
@keyframes
slideInDown
{
from
{
-webkit-transform
:
translate3d
(
0
,
-100%
,
0
);
transform
:
translate3d
(
0
,
-100%
,
0
);
visibility
:
visible
}
to
{
-webkit-transform
:
translate3d
(
0
,
0
,
0
);
transform
:
translate3d
(
0
,
0
,
0
)}}
.vditor
{
display
:
-webkit-box
;
display
:
flex
;
-webkit-box-orient
:
vertical
;
-webkit-box-direction
:
normal
;
flex-direction
:
column
;
border
:
1px
solid
#d1d5da
;
border-radius
:
3px
;
box-sizing
:
border-box
;
font-family
:
"Helvetica Neue"
,
"Luxi Sans"
,
"DejaVu Sans"
,
Tahoma
,
"Hiragino Sans GB"
,
"Microsoft Yahei"
,
sans-serif
,
"Apple Color Emoji"
,
"Segoe UI Emoji"
,
"Noto Color Emoji"
,
"Segoe UI Symbol"
,
"Android Emoji"
,
"EmojiSymbols"
}
.vditor--fullscreen
{
position
:
fixed
;
top
:
0
;
width
:
100%
!important
;
left
:
0
;
height
:
100vh
!important
;
z-index
:
90
;
background-color
:
#fff
}
.vditor-content
{
display
:
-webkit-box
;
display
:
flex
;
min-height
:
60px
;
-webkit-box-flex
:
1
;
flex
:
1
;
position
:
relative
}
.vditor-textarea
{
font-family
:
"Helvetica Neue"
,
"Luxi Sans"
,
"DejaVu Sans"
,
Tahoma
,
"Hiragino Sans GB"
,
"Microsoft Yahei"
,
sans-serif
,
"Apple Color Emoji"
,
"Segoe UI Emoji"
,
"Noto Color Emoji"
,
"Segoe UI Symbol"
,
"Android Emoji"
,
"EmojiSymbols"
;
margin
:
0
1px
0
0
;
height
:
100%
;
overflow
:
auto
;
width
:
100%
;
-webkit-box-flex
:
1
;
flex
:
1
;
border
:
0
;
resize
:
none
;
padding
:
10px
9px
10px
10px
;
box-sizing
:
border-box
;
background-color
:
#fafbfc
;
outline
:
0
none
;
font-size
:
16px
;
line-height
:
22px
;
color
:
#24292e
;
border-radius
:
0
0
3px
3px
;
font-variant-ligatures
:
no-common-ligatures
;
white-space
:
pre-wrap
;
word-break
:
break-word
;
word-wrap
:
break-word
}
.vditor-textarea
[
contenteditable
=
"false"
]
{
opacity
:
0.3
;
cursor
:
not-allowed
}
.vditor-textarea
:focus
{
background-color
:
#fff
}
.vditor-textarea
:empty::before
{
content
:
attr
(
placeholder
);
color
:
rgba
(
36
,
41
,
46
,
0.68
)}
.vditor-preview
{
-webkit-box-flex
:
1
;
flex
:
1
;
background-color
:
#fff
;
overflow
:
auto
;
margin-left
:
-1px
;
padding
:
10px
;
box-shadow
:
inset
1px
0
#d1d5da
;
box-sizing
:
border-box
;
border-radius
:
0
0
3px
0
}
.vditor-preview
>
div
::-webkit-scrollbar
{
display
:
none
}
.vditor-preview
>
.vditor-reset
{
margin
:
0
auto
}
.vditor-devtools
{
display
:
none
;
background-color
:
#fff
;
overflow
:
auto
;
-webkit-box-flex
:
1
;
flex
:
1
;
box-shadow
:
inset
1px
0
#d1d5da
;
box-sizing
:
border-box
;
border-radius
:
0
0
3px
0
;
padding
:
10px
}
.vditor-counter
{
padding
:
0
3px
;
position
:
absolute
;
bottom
:
10px
;
right
:
20px
;
color
:
#24292e
;
background-color
:
rgba
(
255
,
255
,
255
,
0.6
);
border-radius
:
3px
;
font-size
:
12px
;
-webkit-user-select
:
none
;
-moz-user-select
:
none
;
-ms-user-select
:
none
;
user-select
:
none
;
z-index
:
2
}
.vditor-counter--error
{
color
:
#d23f31
;
background-color
:
rgba
(
210
,
63
,
49
,
0.1
)}
.vditor-resize
{
padding
:
3px
0
;
cursor
:
row-resize
;
-webkit-user-select
:
none
;
-moz-user-select
:
none
;
-ms-user-select
:
none
;
user-select
:
none
;
position
:
absolute
;
width
:
100%
;
z-index
:
2
}
.vditor-resize--top
{
top
:
-3px
}
.vditor-resize--bottom
{
bottom
:
-3px
}
.vditor-resize
>
div
{
height
:
3px
;
background-color
:
#f6f8fa
;
-webkit-transition
:
all
0.15s
ease-in-out
;
transition
:
all
0.15s
ease-in-out
}
.vditor-resize
:hover
>
div
,
.vditor-resize--selected
>
div
{
background-color
:
#4285f4
}
.vditor-resize
:hover
svg
,
.vditor-resize--selected
svg
{
color
:
#fff
}
.vditor-resize
svg
{
fill
:
currentColor
;
stroke-width
:
0
;
stroke
:
currentColor
;
width
:
13px
;
height
:
3px
;
display
:
block
;
margin
:
0
auto
;
color
:
#586069
}
.vditor-upload
{
position
:
absolute
;
height
:
3px
;
left
:
0
;
top
:
-2px
;
-webkit-transition
:
all
0.15s
ease-in-out
;
transition
:
all
0.15s
ease-in-out
;
background-color
:
rgba
(
66
,
133
,
244
,
0.8
)}
.vditor-tip
{
position
:
absolute
;
font-size
:
12px
;
top
:
10px
;
color
:
#fff
;
-webkit-animation-duration
:
.15s
;
animation-duration
:
.15s
;
-webkit-animation-fill-mode
:
both
;
animation-fill-mode
:
both
;
left
:
50%
}
.vditor-tip--show
{
display
:
block
;
-webkit-animation-name
:
slideInDown
;
animation-name
:
slideInDown
}
.vditor-tip__content
{
text-align
:
left
;
display
:
inline-block
;
line-height
:
16px
;
padding
:
3px
10px
;
border-radius
:
3px
;
background
:
rgba
(
66
,
133
,
244
,
0.8
);
position
:
relative
;
margin-left
:
-50%
}
.vditor-tip__content
ul
{
margin
:
2px
0
;
padding
:
0
0
0
18px
}
.vditor-tip__close
{
position
:
absolute
;
color
:
#586069
;
top
:
-7px
;
right
:
-15px
;
font-weight
:
bold
;
cursor
:
pointer
}
.vditor-tip__close
:hover
{
color
:
#4285f4
}
.vditor-hint
{
background-color
:
#fff
;
position
:
absolute
;
box-shadow
:
0
1px
2px
rgba
(
0
,
0
,
0
,
0.2
);
border-radius
:
3px
;
padding
:
5px
0
;
z-index
:
4
;
line-height
:
20px
;
list-style
:
none
;
color
:
#24292e
;
font-size
:
12px
;
margin
:
0
;
max-width
:
250px
;
min-width
:
80px
;
display
:
none
}
.vditor-hint
button
{
display
:
block
;
padding
:
3px
10px
;
border
:
0
;
border-bottom
:
1px
solid
#d1d5da
;
line-height
:
20px
;
width
:
100%
;
box-sizing
:
border-box
;
text-align
:
left
;
margin
:
0
;
background-color
:
transparent
}
.vditor-hint
button
:last-child
{
border-bottom
:
0
}
.vditor-hint--current
,
.vditor-hint
button
:hover
{
background-color
:
#4285f4
!important
;
color
:
#fff
}
.vditor-hint__emoji
{
font-size
:
16px
;
float
:
left
;
margin-right
:
3px
}
.vditor-hint
img
{
height
:
20px
;
width
:
20px
;
float
:
left
;
margin-right
:
3px
}
.vditor-reset
{
font-variant-ligatures
:
no-common-ligatures
;
font-family
:
"Helvetica Neue"
,
"Luxi Sans"
,
"DejaVu Sans"
,
Tahoma
,
"Hiragino Sans GB"
,
"Microsoft Yahei"
,
sans-serif
,
"Apple Color Emoji"
,
"Segoe UI Emoji"
,
"Noto Color Emoji"
,
"Segoe UI Symbol"
,
"Android Emoji"
,
"EmojiSymbols"
;
word-wrap
:
break-word
;
overflow
:
auto
;
line-height
:
1.5
;
font-size
:
16px
;
word-break
:
break-word
}
.vditor-reset--anchor
{
padding-left
:
20px
}
.vditor-reset--error
{
color
:
#d23f31
;
font-size
:
12px
;
display
:
block
;
line-height
:
16px
}
.vditor-reset
ul
ul
ul
{
list-style-type
:
square
}
.vditor-reset
ul
ul
{
list-style-type
:
circle
}
.vditor-reset
ul
{
list-style-type
:
disc
}
.vditor-reset
ul
,
.vditor-reset
ol
{
padding-left
:
2em
;
margin-top
:
0
;
margin-bottom
:
16px
}
.vditor-reset
li
+
li
{
margin-top
:
0.25em
}
.vditor-reset
audio
{
max-width
:
100%
}
.vditor-reset
audio
:focus
{
outline
:
none
}
.vditor-reset
video
{
max-height
:
90vh
;
max-width
:
100%
}
.vditor-reset
img
{
max-width
:
100%
}
.vditor-reset
img
.emoji
{
cursor
:
auto
;
max-width
:
20px
;
vertical-align
:
sub
}
.vditor-reset
h1
,
.vditor-reset
h2
,
.vditor-reset
h3
,
.vditor-reset
h4
,
.vditor-reset
h5
,
.vditor-reset
h6
{
margin-top
:
24px
;
margin-bottom
:
16px
;
font-weight
:
600
;
line-height
:
1.25
}
.vditor-reset
h1
:hover
.vditor-anchor
svg
,
.vditor-reset
h2
:hover
.vditor-anchor
svg
,
.vditor-reset
h3
:hover
.vditor-anchor
svg
,
.vditor-reset
h4
:hover
.vditor-anchor
svg
,
.vditor-reset
h5
:hover
.vditor-anchor
svg
,
.vditor-reset
h6
:hover
.vditor-anchor
svg
{
visibility
:
visible
}
.vditor-reset
h1
{
padding-bottom
:
0.3em
;
font-size
:
1.7em
;
border-bottom
:
1px
solid
#eee
}
.vditor-reset
h2
{
padding-bottom
:
0.3em
;
font-size
:
1.5em
;
border-bottom
:
1px
solid
#eee
}
.vditor-reset
h3
{
font-size
:
1.25em
}
.vditor-reset
h4
{
font-size
:
1em
}
.vditor-reset
h5
{
font-size
:
0.875em
}
.vditor-reset
h6
{
font-size
:
0.85em
}
.vditor-reset
hr
{
height
:
2px
;
padding
:
0
;
margin
:
24px
0
;
background-color
:
#e7e7e7
;
border
:
0
}
.vditor-reset
p
{
margin-top
:
0
;
margin-bottom
:
16px
}
.vditor-reset
blockquote
{
padding
:
0
1em
;
color
:
#777
;
border-left
:
0.25em
solid
#ddd
;
margin
:
0
0
16px
0
}
.vditor-reset
blockquote
p
{
margin
:
0
}
.vditor-reset
ins
>
iframe
{
border
:
0
}
.vditor-reset
iframe
{
border
:
1px
solid
#d1d5da
;
max-width
:
100%
;
box-sizing
:
border-box
}
.vditor-reset
iframe
.iframe__video
{
min-width
:
80%
;
min-height
:
36vh
}
.vditor-reset
table
{
width
:
100%
;
border-collapse
:
collapse
;
empty-cells
:
show
;
margin-bottom
:
16px
;
display
:
block
;
overflow
:
auto
;
border-spacing
:
0
}
.vditor-reset
table
tr
{
background-color
:
#fff
;
border-top
:
1px
solid
#c6cbd1
}
.vditor-reset
table
td
,
.vditor-reset
table
th
{
padding
:
6px
13px
;
border
:
1px
solid
#dfe2e5
;
word-break
:
normal
}
.vditor-reset
table
th
{
font-weight
:
600
}
.vditor-reset
table
tbody
tr
:nth-child
(
2n
)
{
background-color
:
#f6f8fa
}
.vditor-reset
code
:not
(
.hljs
)
:not
(
.highlight-chroma
)
{
padding
:
0.2em
0.4em
;
margin
:
0
;
font-size
:
85%
;
border-radius
:
3px
;
font-family
:
mononoki
,
Consolas
,
"Liberation Mono"
,
Menlo
,
Courier
,
monospace
,
"Apple Color Emoji"
,
"Segoe UI Emoji"
,
"Noto Color Emoji"
,
"Segoe UI Symbol"
,
"Android Emoji"
,
"EmojiSymbols"
;
word-break
:
break-word
;
background-size
:
20px
20px
;
white-space
:
pre-wrap
;
background-color
:
rgba
(
27
,
31
,
35
,
0.05
)}
.vditor-reset
pre
>
code
{
margin
:
0
;
font-size
:
85%
;
padding
:
0.5em
;
border-radius
:
5px
;
display
:
block
;
overflow
:
auto
;
white-space
:
pre
;
font-family
:
mononoki
,
Consolas
,
"Liberation Mono"
,
Menlo
,
Courier
,
monospace
,
"Apple Color Emoji"
,
"Segoe UI Emoji"
,
"Noto Color Emoji"
,
"Segoe UI Symbol"
,
"Android Emoji"
,
"EmojiSymbols"
;
background-size
:
20px
20px
;
background-image
:
url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8AgMAAABHkjHhAAAACVBMVEWAgIBaWlo+Pj7rTFvWAAAAA3RSTlMHCAw+VhR4AAAA+klEQVQoz4WSMW7EQAhFPxKWNh2FCx+HkaZI6RRb5DYbyVfIJXLKDCFoMbaTKSw/8ZnPAPjaH2xgZcUNUDADD7D9LtDBCLZ45fbkvo/30K8yeI64pPwl6znd/3n/Oe93P3ho9qeh72btTFzqkz0rsJle8Zr81OLEwZ1dv/713uWqvu2pl+k0fy7MWtj9r/tN5q/02z89qa/L4Dc2LvM93kezPfXlME/O86EbY/V9GB9ePX8G1/6W+/9h1dq/HGfTfzT3j/xNo7522Bfnqe5jO/fvhVthlfk434v3iO9zG/UOphyPeinPl1J8Gtaa7xPTa/Dk+RIs4deMvwGvcGsmsCvJ0AAAAABJRU5ErkJggg==)
;
word-break
:
initial
;
word-wrap
:
normal
}
.vditor-reset
pre
:hover
div
.vditor-copy
{
display
:
block
}
.vditor-reset
kbd
{
display
:
inline-block
;
padding
:
3px
5px
;
font
:
11px
Consolas
,
"Liberation Mono"
,
Menlo
,
Courier
,
monospace
;
line-height
:
10px
;
color
:
#555
;
vertical-align
:
middle
;
background-color
:
#fcfcfc
;
border
:
solid
1px
#d1d5da
;
border-bottom-color
:
#bbb
;
border-radius
:
3px
;
box-shadow
:
inset
0
-1px
0
#bbb
}
.vditor-reset
summary
{
cursor
:
pointer
}
.vditor-reset
summary
:focus
{
outline
:
none
}
.vditor-reset
svg
{
height
:
auto
;
width
:
auto
}
.vditor-reset
p
:last-child
,
.vditor-reset
blockquote
:last-child
,
.vditor-reset
pre
:last-child
,
.vditor-reset
ul
:last-child
,
.vditor-reset
ol
:last-child
,
.vditor-reset
hr
:last-child
{
margin-bottom
:
0
}
.vditor-reset
.language-echarts
{
overflow
:
hidden
;
height
:
420px
}
.vditor-task
{
list-style
:
none
}
.vditor-task
input
{
margin
:
0
.2em
.25em
-1.6em
;
font-size
:
12px
;
vertical-align
:
middle
}
.vditor-copy
{
position
:
relative
;
display
:
none
;
z-index
:
1
}
.vditor-copy
textarea
{
position
:
absolute
;
left
:
-100000px
;
height
:
10px
}
.vditor-copy
span
{
cursor
:
pointer
;
position
:
absolute
;
right
:
0.5em
;
top
:
0.5em
;
height
:
14px
;
width
:
14px
;
display
:
block
;
background-color
:
#f6f8fa
;
border-radius
:
3px
;
padding
:
3px
}
.vditor-copy
svg
{
color
:
#586069
;
height
:
14px
;
width
:
14px
!important
;
display
:
block
;
fill
:
currentColor
}
.vditor-linenumber
{
padding-left
:
4em
!important
;
position
:
relative
}
.vditor-linenumber__rows
{
position
:
absolute
;
pointer-events
:
none
;
top
:
0.5em
;
left
:
0
;
width
:
3em
;
-webkit-user-select
:
none
;
-moz-user-select
:
none
;
-ms-user-select
:
none
;
user-select
:
none
;
counter-reset
:
linenumber
}
.vditor-linenumber__rows
>
span
{
pointer-events
:
none
;
display
:
block
}
.vditor-linenumber__rows
>
span
::before
{
counter-increment
:
linenumber
;
content
:
counter
(
linenumber
);
color
:
rgba
(
158
,
150
,
150
,
0.38
);
display
:
block
;
padding-right
:
1em
;
text-align
:
right
}
.vditor-speech
{
position
:
absolute
;
display
:
none
;
background-color
:
#f6f8fa
;
border
:
1px
solid
#d1d5da
;
border-radius
:
3px
;
padding
:
3px
;
cursor
:
pointer
;
color
:
#586069
}
.vditor-speech
:hover
,
.vditor-speech--current
{
color
:
#4285f4
}
.vditor-speech
svg
{
height
:
14px
;
width
:
14px
;
fill
:
currentColor
;
display
:
block
;
stroke-width
:
0
;
stroke
:
currentColor
}
.vditor-anchor
{
float
:
left
;
padding-right
:
4px
;
margin-left
:
-20px
}
.vditor-anchor
svg
{
visibility
:
hidden
}
.vditor-anchor
:hover
svg
{
visibility
:
visible
}
.vditor-anchor
:focus
{
outline
:
none
}
.vditor-linkcard
{
margin
:
31px
auto
16px
;
-webkit-transition
:
all
0.15s
ease-in-out
;
transition
:
all
0.15s
ease-in-out
;
cursor
:
pointer
;
max-width
:
768px
;
padding
:
0
10px
}
.vditor-linkcard
a
{
border-radius
:
3px
;
background-color
:
#f6f8fa
;
overflow
:
hidden
;
max-height
:
250px
;
display
:
-webkit-box
;
display
:
flex
;
text-decoration
:
none
;
flex-wrap
:
wrap-reverse
;
box-shadow
:
0
1px
2px
rgba
(
0
,
0
,
0
,
0.2
)}
.vditor-linkcard
a
:hover
{
box-shadow
:
0
0
3px
rgba
(
0
,
0
,
0
,
0.13
),
0
3px
6px
rgba
(
0
,
0
,
0
,
0.26
);
text-decoration
:
none
}
.vditor-linkcard
a
:visited
.vditor-linkcard__abstract
{
color
:
rgba
(
88
,
96
,
105
,
0.6
)}
.vditor-linkcard__info
{
padding
:
10px
;
min-width
:
200px
;
box-sizing
:
border-box
;
-webkit-box-flex
:
1
;
flex
:
1
}
.vditor-linkcard__title
{
font-size
:
14px
;
font-weight
:
400
;
color
:
#24292e
;
display
:
-webkit-box
;
display
:
flex
;
-webkit-box-align
:
center
;
align-items
:
center
}
.vditor-linkcard__title
img
{
cursor
:
pointer
;
height
:
20px
;
width
:
20px
;
border-radius
:
3px
;
flex-shrink
:
0
;
margin-right
:
5px
}
.vditor-linkcard__abstract
{
word-wrap
:
break-word
;
word-break
:
break-all
;
-webkit-line-clamp
:
2
;
overflow
:
hidden
;
text-overflow
:
ellipsis
;
-webkit-box-orient
:
vertical
;
display
:
-webkit-box
;
font-size
:
13px
;
color
:
#586069
;
margin
:
5px
0
}
.vditor-linkcard__site
{
font-size
:
12px
;
color
:
#4285f4
}
.vditor-linkcard__image
{
background-size
:
cover
;
background-repeat
:
no-repeat
;
background-position
:
center
center
;
max-width
:
250px
;
min-width
:
126px
;
cursor
:
pointer
;
background-color
:
#fff
}
.vditor-wysiwyg
{
background-color
:
#fafbfc
;
box-sizing
:
border-box
;
-webkit-box-flex
:
1
;
flex
:
1
;
margin
:
0
;
white-space
:
pre-wrap
;
position
:
relative
}
.vditor-wysiwyg
[
contenteditable
=
"false"
]
{
opacity
:
0.3
;
cursor
:
not-allowed
}
.vditor-wysiwyg
:focus
{
outline
:
none
;
background-color
:
#fff
}
.vditor-wysiwyg
blockquote
:empty::before
,
.vditor-wysiwyg
pre
>
code
:empty::before
{
content
:
' '
}
.vditor-wysiwyg__block
[
data-type
=
"html-block"
]>
pre
,
.vditor-wysiwyg__block
[
data-type
=
"math-block"
]>
pre
{
margin-bottom
:
0
}
.vditor-wysiwyg__block
>
pre
{
margin-bottom
:
-1em
}
.vditor-wysiwyg__block
>
pre
>
code
{
background-color
:
#fff
!important
;
border
:
1px
solid
#d1d5da
;
overflow
:
auto
!important
}
.vditor-wysiwyg__block
[
data-type
=
html-inline
]
.vditor-wysiwyg__preview
svg
{
fill
:
rgba
(
88
,
96
,
105
,
0.36
);
height
:
12px
;
cursor
:
pointer
;
width
:
12px
}
.vditor-wysiwyg__preview
{
cursor
:
pointer
;
white-space
:
initial
;
min-height
:
27px
}
.vditor-wysiwyg__preview
pre
{
margin-bottom
:
1em
!important
}
.vditor-wysiwyg
h1
:before
,
.vditor-wysiwyg
h2
:before
,
.vditor-wysiwyg
h3
:before
,
.vditor-wysiwyg
h4
:before
,
.vditor-wysiwyg
h5
:before
,
.vditor-wysiwyg
h6
:before
,
.vditor-wysiwyg
div
.vditor-wysiwyg__block
:before
{
float
:
left
;
padding-right
:
4px
;
margin-left
:
-29px
;
content
:
'h1'
;
font-size
:
0.85rem
;
font-weight
:
normal
;
text-transform
:
uppercase
;
color
:
rgba
(
88
,
96
,
105
,
0.36
)}
.vditor-wysiwyg
h2
:before
{
content
:
'h2'
}
.vditor-wysiwyg
h3
:before
{
content
:
'h3'
}
.vditor-wysiwyg
h4
:before
{
content
:
'h4'
}
.vditor-wysiwyg
h5
:before
{
content
:
'h5'
}
.vditor-wysiwyg
h6
:before
{
content
:
'h6'
}
.vditor-wysiwyg
div
.vditor-wysiwyg__block
:before
{
content
:
"</>"
}
.vditor-wysiwyg
details
{
white-space
:
initial
}
.vditor-wysiwyg
span
[
data-type
=
"backslash"
]>
span
{
display
:
none
;
color
:
rgba
(
88
,
96
,
105
,
0.36
)}
.user__site
{
float
:
left
;
margin-left
:
10px
}
.user__site
svg
{
height
:
20px
;
width
:
20px
;
fill
:
currentColor
}
html
{
height
:
100%
;
max-height
:
100%
;
font-size
:
62.5%
;
-webkit-tap-highlight-color
:
rgba
(
0
,
0
,
0
,
0
)}
body
{
height
:
100%
;
max-height
:
100%
;
font-family
:
"Merriweather"
,
"Microsoft Yahei"
,
'Helvetica'
;
letter-spacing
:
0.01rem
;
font-size
:
1.8rem
;
line-height
:
1.75em
;
color
:
#3A4145
;
-webkit-font-feature-settings
:
'kern'
1
;
-moz-font-feature-settings
:
'kern'
1
;
-o-font-feature-settings
:
'kern'
1
;
text-rendering
:
geometricPrecision
;
margin
:
0
}
::-moz-selection
{
background
:
#D6EDFF
}
::selection
{
background
:
#D6EDFF
}
a
{
color
:
#4A4A4A
;
-webkit-transition
:
color
0.3s
ease
;
transition
:
color
0.3s
ease
}
a
:hover
{
color
:
#111
}
h1
,
h2
,
h3
,
h4
,
h5
,
h6
{
-webkit-font-feature-settings
:
'dlig'
1
,
'liga'
1
,
'lnum'
1
,
'kern'
1
;
-moz-font-feature-settings
:
'dlig'
1
,
'liga'
1
,
'lnum'
1
,
'kern'
1
;
-o-font-feature-settings
:
'dlig'
1
,
'liga'
1
,
'lnum'
1
,
'kern'
1
;
color
:
#2E2E2E
;
line-height
:
1.15em
;
font-family
:
"Open Sans"
,
"Microsoft Yahei"
,
'Helvetica'
;
text-rendering
:
geometricPrecision
}
h1
{
font-size
:
5rem
}
h2
{
font-size
:
3.6rem
}
h3
{
font-size
:
3rem
}
h4
{
font-size
:
2.5rem
}
h5
{
font-size
:
2rem
}
h6
{
font-size
:
2rem
}
img
{
max-width
:
100%
;
height
:
auto
}
p
,
ul
,
ol
,
dl
{
-webkit-font-feature-settings
:
'liga'
1
,
'onum'
1
,
'kern'
1
;
-moz-font-feature-settings
:
'liga'
1
,
'onum'
1
,
'kern'
1
;
-o-font-feature-settings
:
'liga'
1
,
'onum'
1
,
'kern'
1
;
margin
:
0
0
1.75em
0
;
text-rendering
:
geometricPrecision
}
ol
,
ul
{
padding-left
:
3rem
}
ol
ol
,
ul
ul
,
ul
ol
,
ol
ul
{
padding-left
:
2em
;
margin-bottom
:
0
}
dl
dt
{
float
:
left
;
width
:
180px
;
overflow
:
hidden
;
clear
:
left
;
text-align
:
right
;
text-overflow
:
ellipsis
;
white-space
:
nowrap
;
font-weight
:
700
;
margin-bottom
:
1em
}
dl
dd
{
margin-left
:
200px
;
margin-bottom
:
1em
}
li
li
{
margin
:
0
}
hr
{
display
:
block
;
height
:
1px
;
border
:
0
;
border-top
:
#EFEFEF
1px
solid
;
margin
:
3.2em
0
;
padding
:
0
}
blockquote
{
box-sizing
:
border-box
;
margin
:
1.75em
0
1.75em
0
;
padding
:
0
0
0
1.75em
;
border-left
:
#4A4A4A
0.4em
solid
}
blockquote
p
{
margin
:
0.8em
0
;
font-style
:
italic
}
blockquote
small
{
display
:
inline-block
;
margin
:
0.8em
0
0.8em
1.5em
;
font-size
:
0.9em
;
color
:
#CCC
}
blockquote
small
:before
{
content
:
"\2014 \00A0"
}
blockquote
cite
{
font-weight
:
700
}
blockquote
cite
a
{
font-weight
:
normal
}
mark
{
background-color
:
#fdffb6
}
code
,
tt
{
padding
:
1px
3px
;
font-family
:
Inconsolata
,
monospace
,
"Microsoft Yahei"
,
'Helvetica'
;
font-size
:
0.85em
;
white-space
:
pre-wrap
;
border
:
#E3EDF3
1px
solid
;
background
:
#F7FAFB
;
border-radius
:
2px
}
pre
code
,
pre
tt
{
font-size
:
inherit
;
white-space
:
pre-wrap
;
background
:
transparent
;
border
:
none
;
padding
:
0
}
.fn-clear
:before
,
.fn-clear
:after
{
display
:
table
;
content
:
""
}
.fn-clear
:after
{
clear
:
both
}
.fn-left
{
float
:
left
}
.fn-right
{
float
:
right
}
.fn-none
{
display
:
none
}
.fn-vertical
{
display
:
table-cell
;
vertical-align
:
middle
}
.fn-wrap
{
width
:
80%
;
max-width
:
768px
;
margin
:
0
auto
}
@-webkit-keyframes
fade-in-down
{
0
%
{
opacity
:
0
;
-webkit-transform
:
translateY
(
-10px
);
transform
:
translateY
(
-10px
)}
100
%
{
opacity
:
1
;
-webkit-transform
:
translateY
(
0
);
transform
:
translateY
(
0
)}}
@keyframes
fade-in-down
{
0
%
{
opacity
:
0
;
-webkit-transform
:
translateY
(
-10px
);
transform
:
translateY
(
-10px
)}
100
%
{
opacity
:
1
;
-webkit-transform
:
translateY
(
0
);
transform
:
translateY
(
0
)}}
@-webkit-keyframes
bounce
{
0
%,
10
%,
25
%,
40
%,
50
%
{
-webkit-transform
:
translateY
(
0
);
transform
:
translateY
(
0
)}
20
%
{
-webkit-transform
:
translateY
(
-10px
);
transform
:
translateY
(
-10px
)}
30
%
{
-webkit-transform
:
translateY
(
-5px
);
transform
:
translateY
(
-5px
)}}
@keyframes
bounce
{
0
%,
20
%,
50
%,
80
%,
100
%
{
-webkit-transform
:
translateY
(
0
);
transform
:
translateY
(
0
)}
40
%
{
-webkit-transform
:
translateY
(
-10px
);
transform
:
translateY
(
-10px
)}
60
%
{
-webkit-transform
:
translateY
(
-5px
);
transform
:
translateY
(
-5px
)}}
@-webkit-keyframes
upbounce
{
0
%,
10
%,
25
%,
40
%,
50
%
{
-webkit-transform
:
translateY
(
0
);
transform
:
translateY
(
0
)}
20
%
{
-webkit-transform
:
translateY
(
-10px
);
transform
:
translateY
(
-10px
)}
30
%
{
-webkit-transform
:
translateY
(
-5px
);
transform
:
translateY
(
-5px
)}}
@keyframes
upbounce
{
0
%,
20
%,
50
%,
80
%,
100
%
{
-webkit-transform
:
translateY
(
0
);
transform
:
translateY
(
0
)}
40
%
{
-webkit-transform
:
translateY
(
-10px
);
transform
:
translateY
(
-10px
)}
60
%
{
-webkit-transform
:
translateY
(
-5px
);
transform
:
translateY
(
-5px
)}}
@font-face
{
font-family
:
'icomoon'
;
src
:
url("fonts/icomoon.eot?hvf32e")
;
src
:
url("fonts/icomoon.eot?hvf32e#iefix")
format
(
"embedded-opentype"
),
url("fonts/icomoon.ttf?hvf32e")
format
(
"truetype"
),
url("fonts/icomoon.woff?hvf32e")
format
(
"woff"
),
url("fonts/icomoon.svg?hvf32e#icomoon")
format
(
"svg"
);
font-weight
:
normal
;
font-style
:
normal
}
[
class
^=
"icon-"
],[
class
*=
" icon-"
]
{
font-size
:
2rem
;
font-family
:
'icomoon'
!important
;
speak
:
none
;
font-style
:
normal
;
font-weight
:
normal
;
font-variant
:
normal
;
text-transform
:
none
;
line-height
:
1
;
-webkit-font-smoothing
:
antialiased
;
-moz-osx-font-smoothing
:
grayscale
}
.icon-qqz
:before
{
content
:
"\e902"
}
.icon-register
:before
{
content
:
"\e600"
}
.icon-logout
:before
{
content
:
"\e601"
}
.icon-setting
:before
{
content
:
"\e602"
}
.icon-gotop
:before
{
content
:
"\e60a"
}
.icon-twitter
:before
{
content
:
"\e60b"
}
.icon-login
:before
{
content
:
"\e611"
}
.icon-arrow-left
:before
{
content
:
"\f605"
}
.icon-menu
:before
{
line-height
:
38px
;
content
:
"\f609"
;
font-size
:
20px
}
.icon-wechat
:before
{
content
:
"\e903"
}
.icon-sitemap
:before
{
content
:
"\e900"
}
.icon-list
:before
{
content
:
"\e901"
}
.avatar
{
border-radius
:
100%
;
float
:
left
;
height
:
24px
;
margin-right
:
9px
;
width
:
24px
}
.avatar-warp
{
width
:
10%
;
padding-right
:
10px
;
box-sizing
:
border-box
}
.avatar-48
{
box-shadow
:
0
0
2px
#ddd
;
height
:
auto
;
width
:
48px
;
margin-right
:
10px
;
border-radius
:
24px
}
.form
{
width
:
100%
;
margin-top
:
50px
}
.form
input
,
.form
textarea
,
.form
button
{
border
:
1px
solid
#CCCCCC
;
background-color
:
#FAFAFA
;
border-radius
:
3px
;
box-shadow
:
0
1px
2px
rgba
(
0
,
0
,
0
,
0.075
)
inset
;
padding
:
7px
8px
;
width
:
100%
;
box-sizing
:
border-box
;
-moz-box-sizing
:
border-box
;
-webkit-box-sizing
:
border-box
;
font-family
:
"Microsoft Yahei"
,
'Helvetica'
;
outline
:
none
}
.form
button
{
width
:
auto
;
vertical-align
:
bottom
}
.form
input
:focus
,
.form
textarea
:focus
{
background-color
:
#FFF
;
box-shadow
:
0
1px
2px
rgba
(
0
,
0
,
0
,
0.075
)
inset
,
0
0
5px
rgba
(
81
,
167
,
232
,
0.5
);
border
:
1px
solid
#51A7E8
}
.error-msg
{
font-size
:
1.5rem
;
color
:
#9EABB3
}
.cmtFromSym
{
font-size
:
1rem
;
color
:
#9EABB3
}
.main-header
{
position
:
relative
;
display
:
table
;
width
:
100%
;
height
:
100vh
;
margin-bottom
:
5rem
;
text-align
:
center
;
background
:
#222
no-repeat
center
center
;
background-size
:
cover
;
overflow
:
hidden
;
background-image
:
url("../images/header-bg.jpg")
;
min-height
:
50vh
}
.site-wrapper
{
position
:
relative
;
z-index
:
10
;
min-height
:
100%
;
background
:
#fff
;
-webkit-transition
:
-webkit-transform
0.5s
ease
;
transition
:
-webkit-transform
0.5s
ease
;
transition
:
transform
0.5s
ease
;
transition
:
transform
0.5s
ease
,
-webkit-transform
0.5s
ease
}
.nav-opened
.site-wrapper
{
overflow-x
:
hidden
;
margin-right
:
240px
;
-webkit-transition
:
margin
0.3s
ease
;
transition
:
margin
0.3s
ease
}
.page-title
a
{
-webkit-animation
:
fade-in-down
0.6s
;
animation
:
fade-in-down
0.6s
;
-webkit-animation-delay
:
0.2s
;
animation-delay
:
0.2s
;
margin
:
10px
0
10px
0
;
font-size
:
5rem
;
letter-spacing
:
-1px
;
font-weight
:
700
;
font-family
:
"Open Sans"
,
"Microsoft Yahei"
,
'Helvetica'
;
color
:
#fff
;
text-shadow
:
0px
0px
3px
rgba
(
0
,
0
,
0
,
0.9
);
text-decoration
:
none
}
.page-description
,
.page-description
a
{
-webkit-animation
:
fade-in-down
0.9s
;
animation
:
fade-in-down
0.9s
;
-webkit-animation-delay
:
0.1s
;
animation-delay
:
0.1s
;
margin
:
0
;
font-size
:
2rem
;
line-height
:
1.5em
;
font-weight
:
400
;
letter-spacing
:
0.01rem
;
color
:
rgba
(
255
,
255
,
255
,
0.8
)}
.scroll-down
{
display
:
block
;
position
:
absolute
;
z-index
:
100
;
bottom
:
45px
;
left
:
50%
;
margin-left
:
-16px
;
width
:
34px
;
height
:
34px
;
font-size
:
34px
;
text-align
:
center
;
text-decoration
:
none
;
color
:
rgba
(
255
,
255
,
255
,
0.7
);
-webkit-animation
:
bounce
4s
2s
infinite
;
animation
:
bounce
4s
2s
infinite
}
.scroll-down
:hover
{
color
:
#fff
;
-webkit-animation
:
none
;
animation
:
none
}
.menu-button
{
position
:
fixed
;
box-sizing
:
border-box
;
display
:
inline-block
;
float
:
right
;
height
:
38px
;
padding
:
0
15px
;
opacity
:
1
;
font-size
:
12px
;
text-transform
:
uppercase
;
line-height
:
46px
;
border-radius
:
3px
;
-webkit-transition
:
all
0.5s
ease
;
transition
:
all
0.5s
ease
;
right
:
20px
;
top
:
40px
;
text-decoration
:
none
;
font-family
:
'Open Sans'
,
"Microsoft Yahei"
,
'Helvetica'
;
z-index
:
30
;
overflow
:
hidden
;
background-color
:
#111
;
border
:
1px
solid
#111
;
color
:
#fff
;
cursor
:
pointer
}
.menu-button
:hover
{
background
:
#fff
}
.menu-button
:focus
{
outline
:
0
}
.nav-closed
.menu-button
:hover
{
color
:
#222
}
.nav-opened
.menu-button
{
padding
:
0
12px
;
background
:
#111
;
border-color
:
#111
;
color
:
#fff
;
-webkit-transform
:
translate3D
(
50px
,
0
,
0
);
transform
:
translate3D
(
50px
,
0
,
0
);
-webkit-transition
:
all
0.3s
ease
;
transition
:
all
0.3s
ease
;
right
:
287px
;
z-index
:
10
;
width
:
46px
;
border-radius
:
3px
0
0
3px
}
.menu-button
.word
{
float
:
right
;
margin
:
-4px
0
0
10px
}
.nav
{
position
:
fixed
;
display
:
-webkit-box
;
display
:
flex
;
-webkit-box-orient
:
vertical
;
-webkit-box-direction
:
normal
;
flex-direction
:
column
;
top
:
0
;
right
:
0
;
bottom
:
0
;
z-index
:
5
;
width
:
220px
;
padding
:
10px
10px
0
10px
;
opacity
:
0
;
background
:
#111
;
margin-bottom
:
0
;
text-align
:
left
;
overflow-y
:
auto
;
color
:
#FFF
;
-webkit-transition
:
-webkit-transform
0.5s
ease
,
opacity
0.3s
ease
0.7s
;
-webkit-transition
:
opacity
0.3s
ease
0.7s
,
-webkit-transform
0.5s
ease
;
transition
:
opacity
0.3s
ease
0.7s
,
-webkit-transform
0.5s
ease
;
transition
:
transform
0.5s
ease
,
opacity
0.3s
ease
0.7s
;
transition
:
transform
0.5s
ease
,
opacity
0.3s
ease
0.7s
,
-webkit-transform
0.5s
ease
;
overflow-x
:
hidden
}
.nav
::-webkit-scrollbar
{
display
:
none
}
.nav
ul
{
-webkit-box-flex
:
1
;
flex
:
1
;
margin
:
0
;
padding
:
0px
0
5%
;
list-style
:
none
;
counter-reset
:
item
}
.nav
li
{
height
:
30px
;
line-height
:
1.4rem
}
.nav
li
:before
{
display
:
block
;
float
:
right
;
padding-right
:
4%
;
padding-left
:
5px
;
text-align
:
right
;
font-size
:
1.2rem
;
vertical-align
:
bottom
;
color
:
#B8B8B8
;
content
:
counter
(
item
,
lower-roman
);
counter-increment
:
item
;
line-height
:
2.5rem
}
.nav
a
{
color
:
#989898
;
text-decoration
:
none
;
line-height
:
1.4
;
font-size
:
1.4rem
}
.nav
a
:hover
,
.nav
a
.current
{
color
:
#FFF
}
.nav
li
a
{
display
:
block
;
padding
:
0.6rem
4%
;
overflow
:
hidden
;
white-space
:
nowrap
;
text-overflow
:
ellipsis
}
.nav
li
a
:after
{
display
:
inline-block
;
content
:
" ......................................................."
;
color
:
rgba
(
255
,
255
,
255
,
0.2
);
margin-left
:
5px
}
.nav
.count
{
font-size
:
1rem
;
word-wrap
:
normal
;
word-break
:
break-all
;
white-space
:
nowrap
}
.nav
.page-icon
{
float
:
left
;
height
:
14px
;
width
:
14px
;
margin
:
3px
4px
0
0
}
body
.nav-closed
.nav
{
-webkit-transform
:
translate3D
(
240px
,
0
,
0
);
transform
:
translate3D
(
240px
,
0
,
0
)}
body
.nav-opened
.nav
{
opacity
:
1
;
-webkit-transition
:
-webkit-transform
0.3s
ease
,
opacity
0s
ease
0s
;
-webkit-transition
:
opacity
0s
ease
0s
,
-webkit-transform
0.3s
ease
;
transition
:
opacity
0s
ease
0s
,
-webkit-transform
0.3s
ease
;
transition
:
transform
0.3s
ease
,
opacity
0s
ease
0s
;
transition
:
transform
0.3s
ease
,
opacity
0s
ease
0s
,
-webkit-transform
0.3s
ease
;
-webkit-transform
:
translate3D
(
0
,
0
,
0
);
transform
:
translate3D
(
0
,
0
,
0
)}
article
.post
{
position
:
relative
;
margin
:
4rem
auto
;
padding-bottom
:
4rem
;
border-bottom
:
#EBF2F6
1px
solid
;
word-wrap
:
break-word
;
width
:
80%
}
article
.post
.share
{
position
:
relative
}
article
.post
.share
canvas
{
position
:
absolute
;
left
:
0
;
top
:
36px
}
.post-content--article
{
padding-bottom
:
10px
}
.post-content--article
::-webkit-scrollbar
{
display
:
none
}
article
.post
:after
{
display
:
block
;
content
:
""
;
width
:
7px
;
height
:
7px
;
border
:
#E7EEF2
1px
solid
;
position
:
absolute
;
bottom
:
-5px
;
left
:
50%
;
margin-left
:
-5px
;
background
:
#FFF
;
border-radius
:
100%
;
box-shadow
:
#FFF
0
0
0
5px
}
.post-title
a
{
text-decoration
:
none
}
.post-tip
{
display
:
inline-block
;
text-transform
:
uppercase
;
font-size
:
1.3rem
;
white-space
:
nowrap
;
color
:
#9EABB3
;
cursor
:
text
}
.post-tip
:hover
{
color
:
#9EABB3
}
.post-tip
:visited
{
color
:
#fff
}
.post-excerpt
p
{
margin
:
0
;
font-size
:
0.9em
;
line-height
:
1.7em
}
.post-meta
{
color
:
#9eabb3
;
font-family
:
"Open Sans"
,
"Microsoft Yahei"
,
'Helvetica'
;
font-size
:
1.5rem
;
line-height
:
2.2rem
;
margin
:
1.75rem
0
0
0
}
.post-meta
a
{
color
:
#9EABB3
;
text-decoration
:
none
}
.post-meta
a
:hover
{
text-decoration
:
underline
}
.post-meta
time
{
border-left
:
1px
solid
#d5dbde
;
display
:
inline-block
;
font-size
:
1.3rem
;
margin-left
:
8px
;
padding-left
:
12px
;
text-transform
:
uppercase
;
white-space
:
nowrap
}
.post-author
{
box-sizing
:
border-box
;
display
:
block
;
position
:
absolute
;
bottom
:
-57px
;
left
:
50%
;
margin-left
:
-40px
;
width
:
80px
;
height
:
80px
;
border-radius
:
100%
;
overflow
:
hidden
;
padding
:
6px
;
background
:
#fff
;
z-index
:
2
;
box-shadow
:
#E7EEF2
0
0
0
1px
}
.post-author
a
{
background-size
:
cover
;
background-position
:
center
center
;
width
:
68px
;
height
:
68px
;
display
:
block
;
border-radius
:
35px
}
.share
.icon
{
cursor
:
pointer
;
-webkit-transition
:
all
0.2s
ease-out
0s
;
transition
:
all
0.2s
ease-out
0s
;
display
:
inline-block
;
font-size
:
16px
;
margin-top
:
15px
}
.share
.icon
:hover
{
-webkit-transform
:
rotate
(
360deg
);
transform
:
rotate
(
360deg
);
color
:
#9EABB3
}
.icon-weibo
:before
{
content
:
"\e605"
}
.icon-twitter
:before
{
content
:
"\e60b"
}
.icon-tencent
:before
{
content
:
"\e60d"
}
.icon-google
:before
{
content
:
"\e603"
}
.icon-gotop
:before
{
content
:
"\E60A"
;
font-weight
:
bold
}
.icon-gotop
{
cursor
:
pointer
;
position
:
fixed
;
bottom
:
30px
;
right
:
30px
;
-webkit-animation
:
upbounce
4s
2s
infinite
;
animation
:
upbounce
4s
2s
infinite
;
text-decoration
:
none
;
z-index
:
12
}
.icon-gotop
:hover
{
color
:
#B8B8B8
;
-webkit-animation
:
none
;
animation
:
none
}
.pagination
{
font-family
:
"Open Sans"
,
"Microsoft Yahei"
,
'Helvetica'
;
font-size
:
1.3rem
;
color
:
#9eabb3
;
text-align
:
center
}
.pagination
a
{
color
:
#9EABB3
;
-webkit-transition
:
all
0.2s
ease
;
transition
:
all
0.2s
ease
;
padding
:
0
15px
;
border
:
#bfc8cd
1px
solid
;
text-decoration
:
none
;
display
:
inline-block
;
border-radius
:
4px
}
.pagination
a
:hover
{
border-color
:
#98a0a4
;
color
:
#889093
}
ul
.comments
{
padding
:
0
;
list-style
:
none
;
margin-top
:
100px
;
position
:
relative
}
.comments
li
{
padding
:
10px
;
white-space
:
normal
;
word-wrap
:
break-word
;
position
:
relative
;
border-bottom
:
#EBF2F6
1px
solid
}
.comments
li
:hover
{
background-color
:
#F7F7F7
}
.comments
li
img
{
vertical-align
:
sub
}
.comments
.comment-content
{
margin
:
8px
0
0
}
.comments
li
.comment-body-ref
{
position
:
absolute
;
z-index
:
10
;
background-color
:
#EBF2F6
;
border
:
#d5dbde
1px
solid
;
width
:
86%
;
left
:
69px
}
.comments
.post-meta
{
margin-top
:
0
}
#captcha
,
#captchaReply
{
height
:
27px
;
display
:
inline-block
;
vertical-align
:
inherit
}
.read-next
{
display
:
-webkit-box
;
display
:
flex
;
-webkit-box-align
:
stretch
;
align-items
:
stretch
;
margin-top
:
10rem
}
.read-next-story
{
display
:
-webkit-box
;
display
:
flex
;
-webkit-box-flex
:
1
;
flex-grow
:
1
;
min-width
:
50%
;
text-decoration
:
none
;
position
:
relative
;
text-align
:
center
;
color
:
#fff
;
background
:
#222
no-repeat
center
center
;
background-size
:
cover
;
overflow
:
hidden
}
.read-next-story
a
{
color
:
#BBB
}
.read-next-story
a
:hover
{
color
:
#FFF
}
.read-next-story
:hover:before
{
background
:
rgba
(
0
,
0
,
0
,
0.8
);
-webkit-transition
:
all
0.2s
ease
;
transition
:
all
0.2s
ease
}
.read-next-story
:hover
.post
:before
{
color
:
#222
;
background
:
#fff
;
-webkit-transition
:
all
0.2s
ease
;
transition
:
all
0.2s
ease
}
.read-next-story
:before
{
content
:
""
;
display
:
block
;
position
:
absolute
;
top
:
0
;
right
:
0
;
bottom
:
0
;
left
:
0
;
background
:
rgba
(
0
,
0
,
0
,
0.7
);
-webkit-transition
:
all
0.5s
ease
;
transition
:
all
0.5s
ease
}
.read-next-story
.post
{
padding-top
:
6rem
;
padding-bottom
:
6rem
;
width
:
80%
;
position
:
relative
;
margin
:
0
auto
}
.read-next-story
.post
:before
{
content
:
"Read This Next"
;
padding
:
4px
10px
5px
;
text-transform
:
uppercase
;
font-size
:
1.1rem
;
font-family
:
"Open Sans"
,
"Microsoft Yahei"
,
'Helvetica'
;
color
:
rgba
(
255
,
255
,
255
,
0.8
);
border
:
1px
solid
rgba
(
255
,
255
,
255
,
0.5
);
border-radius
:
4px
;
-webkit-transition
:
all
0.5s
ease
;
transition
:
all
0.5s
ease
}
.read-next-story.prev
.post
:before
{
content
:
"Read This Before"
}
.read-next-story
h2
{
margin-top
:
1rem
;
color
:
#fff
}
.read-next-story
p
{
margin
:
0
;
color
:
rgba
(
255
,
255
,
255
,
0.8
)}
.read-next
+
.site-footer
{
position
:
absolute
;
bottom
:
0
;
left
:
0
;
right
:
0
;
margin
:
0
}
#tags
{
padding
:
0
}
#tags
li
{
list-style
:
none
;
float
:
left
}
#tags
li
a
{
border
:
1px
solid
#4A4A4A
;
display
:
inline-block
;
padding
:
10px
;
margin
:
1rem
;
border-radius
:
5px
;
text-decoration
:
none
}
#tags
li
a
:hover
{
border
:
1px
solid
#FFF
;
color
:
#FFF
;
background-color
:
#4A4A4A
}
.dynamic
.read-next-story
>
div
{
position
:
relative
;
width
:
60%
;
margin
:
50px
auto
;
text-align
:
left
}
.dynamic
a
{
text-decoration
:
none
;
margin
:
0
;
color
:
rgba
(
255
,
255
,
255
,
0.8
)}
.dynamic
a
:hover
{
color
:
rgba
(
255
,
255
,
255
,
0.5
)}
.site-footer
{
position
:
relative
;
margin
:
8rem
0
0
0
;
padding
:
1rem
15px
;
font-family
:
"Open Sans"
,
"Microsoft Yahei"
,
'Helvetica'
;
font-size
:
1rem
;
line-height
:
1.75em
;
color
:
#BBC7CC
}
.site-footer
a
{
color
:
#BBC7CC
;
font-weight
:
bold
;
text-decoration
:
none
}
.site-footer
a
:hover
{
text-decoration
:
underline
}
@media
only
screen
and
(
max-width
:
900px
){
blockquote
{
margin-left
:
0
}
.main-header
{
box-sizing
:
border-box
;
height
:
auto
;
min-height
:
240px
;
height
:
60vh
;
padding
:
15%
0
}
.scroll-down
{
display
:
none
}
.page-title
,
.page-title
a
{
font-size
:
4rem
;
letter-spacing
:
-1px
}
.page-description
,
.page-description
a
{
font-size
:
1.8rem
;
line-height
:
1.5em
}
.post
{
font-size
:
0.95em
}
hr
{
margin
:
2.4em
0
}
ol
,
ul
{
padding-left
:
2em
}
h1
{
font-size
:
4.5rem
}
h2
{
font-size
:
3.6rem
}
h3
{
font-size
:
3.1rem
}
h4
{
font-size
:
2.5rem
}
h5
{
font-size
:
2.2rem
}
h6
{
font-size
:
1.8rem
}
.read-next
{
-webkit-box-orient
:
vertical
;
-webkit-box-direction
:
normal
;
flex-direction
:
column
;
margin-top
:
4rem
}}
@media
only
screen
and
(
max-width
:
500px
){
.main-header
{
margin-bottom
:
15px
;
height
:
40vh
}
.pagination
{
width
:
auto
;
margin
:
2rem
auto
}
.post
{
width
:
auto
;
margin-top
:
2rem
;
margin-bottom
:
2rem
;
margin-left
:
16px
;
margin-right
:
16px
;
padding-bottom
:
2rem
;
line-height
:
1.65em
}
hr
{
margin
:
1.75em
0
}
p
,
ul
,
ol
,
dl
{
font-size
:
0.95em
;
margin
:
0
0
2.5rem
0
}
.page-title
,
.page-title
a
{
font-size
:
3rem
}
.post-excerpt
p
{
font-size
:
0.85em
}
.page-description
,
.page-description
a
{
font-size
:
1.6rem
}
h1
,
h2
,
h3
,
h4
,
h5
,
h6
{
margin
:
0
0
0.3em
0
}
h1
{
font-size
:
2.8rem
;
letter-spacing
:
-1px
}
h2
{
font-size
:
2.4rem
;
letter-spacing
:
0
}
h3
{
font-size
:
2.1rem
}
h4
{
font-size
:
1.9rem
}
h5
{
font-size
:
1.8rem
}
h6
{
font-size
:
1.8rem
}
.post-content
img
{
padding
:
0
;
width
:
calc
(
100%
+
32px
);
min-width
:
0
;
max-width
:
112%
}
.post-meta
{
font-size
:
1.3rem
;
margin-top
:
1rem
}
.site-footer
{
margin-top
:
3rem
}
.read-next
{
margin-top
:
2rem
;
margin-bottom
:
-37px
}
.read-next
.post
{
width
:
100%
}
.menu-button
{
border
:
0
;
top
:
0
;
right
:
0
}
.nav-opened
.site-wrapper
{
margin-right
:
0
}
.nav
{
z-index
:
11
}
.nav-closed
.menu-button
:hover
{
color
:
#FFF
;
background-color
:
transparent
}
.post-author
{
width
:
40px
;
height
:
40px
;
bottom
:
-37px
;
padding
:
3px
;
margin-left
:
-20px
}
.post-author
a
{
width
:
34px
;
height
:
34px
;
display
:
block
;
border-radius
:
17px
}
.nav
.count
{
line-height
:
1.5rem
}
#tags
li
a
{
padding
:
0
5px
}}
.article__toc
{
overflow
:
auto
}
.article__toc
::-webkit-scrollbar
{
display
:
none
}
.article__toc
li
{
list-style-type
:
none
}
.article__toc
li
a
{
padding-left
:
10px
;
display
:
block
;
white-space
:
nowrap
;
overflow
:
hidden
;
text-overflow
:
ellipsis
}
.article__toc
li
a
:hover
{
text-decoration
:
none
}
.article__toc
li
.toc__h3
a
{
padding-left
:
20px
}
.article__toc
li
.toc__h4
a
{
padding-left
:
30px
}
.article__toc
li
.toc__h5
a
{
padding-left
:
40px
}
.user__site
:hover
{
text-decoration
:
none
}
@-webkit-keyframes
tooltip-appear
{
from
{
opacity
:
0
}
to
{
opacity
:
1
}}
@keyframes
tooltip-appear
{
from
{
opacity
:
0
}
to
{
opacity
:
1
}}
.vditor-tooltipped
{
position
:
relative
;
cursor
:
pointer
}
.vditor-tooltipped
::after
{
position
:
absolute
;
z-index
:
1000000
;
display
:
none
;
padding
:
5px
8px
;
font-size
:
11px
;
font-weight
:
normal
;
-webkit-font-smoothing
:
subpixel-antialiased
;
color
:
#fff
;
text-align
:
center
;
text-decoration
:
none
;
text-shadow
:
none
;
text-transform
:
none
;
letter-spacing
:
normal
;
word-wrap
:
break-word
;
white-space
:
pre
;
pointer-events
:
none
;
content
:
attr
(
aria-label
);
background
:
rgba
(
0
,
0
,
0
,
0.8
);
border-radius
:
3px
;
line-height
:
16px
;
opacity
:
0
}
.vditor-tooltipped
::before
{
position
:
absolute
;
z-index
:
1000001
;
display
:
none
;
width
:
0
;
height
:
0
;
color
:
rgba
(
0
,
0
,
0
,
0.8
);
pointer-events
:
none
;
content
:
""
;
border
:
5px
solid
transparent
;
opacity
:
0
}
.vditor-tooltipped--hover
::before
,
.vditor-tooltipped--hover
::after
,
.vditor-tooltipped
:hover::before
,
.vditor-tooltipped
:hover::after
,
.vditor-tooltipped
:active::before
,
.vditor-tooltipped
:active::after
,
.vditor-tooltipped
:focus::before
,
.vditor-tooltipped
:focus::after
{
display
:
inline-block
;
text-decoration
:
none
;
-webkit-animation-name
:
tooltip-appear
;
animation-name
:
tooltip-appear
;
-webkit-animation-duration
:
0.15s
;
animation-duration
:
0.15s
;
-webkit-animation-fill-mode
:
forwards
;
animation-fill-mode
:
forwards
;
-webkit-animation-timing-function
:
ease-in
;
animation-timing-function
:
ease-in
}
.vditor-tooltipped__s
::after
,
.vditor-tooltipped__se
::after
,
.vditor-tooltipped__sw
::after
{
top
:
100%
;
right
:
50%
;
margin-top
:
5px
}
.vditor-tooltipped__s
::before
,
.vditor-tooltipped__se
::before
,
.vditor-tooltipped__sw
::before
{
top
:
auto
;
right
:
50%
;
bottom
:
-5px
;
margin-right
:
-5px
;
border-bottom-color
:
rgba
(
0
,
0
,
0
,
0.8
)}
.vditor-tooltipped__se
::after
{
right
:
auto
;
left
:
50%
;
margin-left
:
-15px
}
.vditor-tooltipped__sw
::after
{
margin-right
:
-15px
}
.vditor-tooltipped__n
::after
,
.vditor-tooltipped__ne
::after
,
.vditor-tooltipped__nw
::after
{
right
:
50%
;
bottom
:
100%
;
margin-bottom
:
5px
}
.vditor-tooltipped__n
::before
,
.vditor-tooltipped__ne
::before
,
.vditor-tooltipped__nw
::before
{
top
:
-5px
;
right
:
50%
;
bottom
:
auto
;
margin-right
:
-5px
;
border-top-color
:
rgba
(
0
,
0
,
0
,
0.8
)}
.vditor-tooltipped__ne
::after
{
right
:
auto
;
left
:
50%
;
margin-left
:
-15px
}
.vditor-tooltipped__nw
::after
{
margin-right
:
-15px
}
.vditor-tooltipped__s
::after
,
.vditor-tooltipped__n
::after
{
-webkit-transform
:
translateX
(
50%
);
transform
:
translateX
(
50%
)}
.vditor-tooltipped__w
::after
{
right
:
100%
;
bottom
:
50%
;
margin-right
:
5px
;
-webkit-transform
:
translateY
(
50%
);
transform
:
translateY
(
50%
)}
.vditor-tooltipped__w
::before
{
top
:
50%
;
bottom
:
50%
;
left
:
-5px
;
margin-top
:
-5px
;
border-left-color
:
rgba
(
0
,
0
,
0
,
0.8
)}
.vditor-tooltipped__e
::after
{
bottom
:
50%
;
left
:
100%
;
margin-left
:
5px
;
-webkit-transform
:
translateY
(
50%
);
transform
:
translateY
(
50%
)}
.vditor-tooltipped__e
::before
{
top
:
50%
;
right
:
-5px
;
bottom
:
50%
;
margin-top
:
-5px
;
border-right-color
:
rgba
(
0
,
0
,
0
,
0.8
)}
@-webkit-keyframes
scale-in
{
0
%
{
opacity
:
0
;
-webkit-transform
:
scale
(
0.5
);
transform
:
scale
(
0.5
)}
100
%
{
opacity
:
1
;
-webkit-transform
:
scale
(
1
);
transform
:
scale
(
1
)}}
@keyframes
scale-in
{
0
%
{
opacity
:
0
;
-webkit-transform
:
scale
(
0.5
);
transform
:
scale
(
0.5
)}
100
%
{
opacity
:
1
;
-webkit-transform
:
scale
(
1
);
transform
:
scale
(
1
)}}
.vditor-panel
{
background-color
:
#fff
;
position
:
absolute
;
box-shadow
:
0
1px
2px
rgba
(
0
,
0
,
0
,
0.2
);
border-radius
:
3px
;
padding
:
5px
;
z-index
:
3
;
font-size
:
14px
;
display
:
none
;
-webkit-user-select
:
none
;
-moz-user-select
:
none
;
-ms-user-select
:
none
;
user-select
:
none
;
max-width
:
320px
;
min-width
:
80px
;
-webkit-animation-duration
:
.15s
;
animation-duration
:
.15s
;
-webkit-animation-name
:
scale-in
;
animation-name
:
scale-in
;
-webkit-animation-timing-function
:
cubic-bezier
(
0.2
,
0
,
0.13
,
1.5
);
animation-timing-function
:
cubic-bezier
(
0.2
,
0
,
0.13
,
1.5
)}
.vditor-panel--none
{
color
:
#4285f4
;
padding
:
0
;
-webkit-animation
:
none
;
animation
:
none
;
background-color
:
#f6f8fa
;
min-width
:
auto
;
max-width
:
none
}
.vditor-panel
h1
,
.vditor-panel
h2
,
.vditor-panel
h3
,
.vditor-panel
h4
,
.vditor-panel
h5
,
.vditor-panel
h6
{
margin
:
0
;
cursor
:
pointer
;
padding
:
3px
10px
;
border-radius
:
3px
;
line-height
:
normal
}
.vditor-panel
h1
:hover
,
.vditor-panel
h2
:hover
,
.vditor-panel
h3
:hover
,
.vditor-panel
h4
:hover
,
.vditor-panel
h5
:hover
,
.vditor-panel
h6
:hover
{
background-color
:
#4285f4
;
color
:
#fff
}
.vditor-input
{
border
:
0
;
padding
:
3px
5px
;
background-color
:
#f6f8fa
}
.vditor-input
:focus
{
background-color
:
#fff
;
outline
:
none
}
.vditor-icon
{
color
:
#586069
;
cursor
:
pointer
;
float
:
left
;
padding
:
2px
5px
;
height
:
19px
;
width
:
25px
;
background-color
:
transparent
;
border
:
0
;
box-sizing
:
border-box
}
.vditor-icon
:hover
,
.vditor-icon--current
{
color
:
#4285f4
;
background-color
:
transparent
}
.vditor-icon
:focus
{
outline
:
none
}
.vditor-icon
svg
{
height
:
15px
!important
;
width
:
15px
!important
;
float
:
left
;
fill
:
currentColor
}
.vditor-toolbar
{
background-color
:
#f6f8fa
;
border-bottom
:
1px
solid
#d1d5da
;
padding
:
0
5px
;
border-radius
:
3px
3px
0
0
}
.vditor-toolbar
>
div
{
float
:
left
}
.vditor-toolbar
>
div
>
.vditor-tooltipped
{
border
:
0
;
margin
:
0
;
padding
:
10px
5px
;
background-color
:
transparent
;
height
:
35px
;
width
:
25px
;
box-sizing
:
border-box
}
.vditor-toolbar
>
div
>
.vditor-tooltipped
:focus
{
outline
:
none
}
.vditor-toolbar
.vditor-tooltipped
{
color
:
#586069
}
.vditor-toolbar
.vditor-tooltipped
:hover
{
color
:
#4285f4
}
.vditor-toolbar
svg
{
fill
:
currentColor
;
display
:
inline-block
;
stroke-width
:
0
;
stroke
:
currentColor
;
width
:
15px
;
height
:
15px
}
.vditor-toolbar
input
{
position
:
absolute
;
width
:
25px
;
height
:
35px
;
top
:
0
;
left
:
0
;
cursor
:
pointer
;
opacity
:
.001
;
overflow
:
hidden
}
.vditor-menu--current
svg
{
color
:
#4285f4
}
.vditor-menu__divider
{
width
:
10px
;
height
:
35px
}
.vditor-menu__br
{
width
:
100%
;
padding
:
0
!important
;
height
:
0
!important
}
.vditor-menu--disabled
svg
{
color
:
rgba
(
88
,
96
,
105
,
0.6
);
cursor
:
not-allowed
}
.vditor-emojis
{
display
:
inline-block
;
overflow
:
auto
}
.vditor-emojis
::-webkit-scrollbar
{
display
:
none
}
.vditor-emojis__tip
{
-webkit-box-flex
:
1
;
flex
:
1
;
width
:
200px
;
margin-right
:
10px
;
color
:
#586069
;
white-space
:
nowrap
;
text-overflow
:
ellipsis
;
overflow
:
hidden
}
.vditor-emojis__tail
{
margin-top
:
5px
;
font-size
:
12px
;
color
:
#586069
;
display
:
-webkit-box
;
display
:
flex
}
.vditor-emojis__tail
a
{
text-decoration
:
none
;
color
:
#586069
}
.vditor-emojis__tail
a
:hover
{
color
:
#4285f4
}
.vditor-emojis
button
{
cursor
:
pointer
;
border-radius
:
3px
;
float
:
left
;
height
:
30px
;
width
:
30px
;
text-align
:
center
;
line-height
:
26px
;
padding
:
3px
;
box-sizing
:
border-box
;
font-size
:
16px
;
-webkit-transition
:
all
0.15s
ease-in-out
;
transition
:
all
0.15s
ease-in-out
;
border
:
0
;
margin
:
0
;
background-color
:
transparent
;
overflow
:
hidden
}
.vditor-emojis
button
:focus
{
outline
:
none
}
.vditor-emojis
button
:hover
.vditor-emojis__icon
{
display
:
inline-block
;
-webkit-transform
:
scale
(
1.2
);
transform
:
scale
(
1.2
)}
.vditor-emojis
img
{
height
:
20px
;
width
:
20px
;
float
:
left
;
margin
:
3px
0
0
3px
}
@-webkit-keyframes
slideInDown
{
from
{
-webkit-transform
:
translate3d
(
0
,
-100%
,
0
);
transform
:
translate3d
(
0
,
-100%
,
0
);
visibility
:
visible
}
to
{
-webkit-transform
:
translate3d
(
0
,
0
,
0
);
transform
:
translate3d
(
0
,
0
,
0
)}}
@keyframes
slideInDown
{
from
{
-webkit-transform
:
translate3d
(
0
,
-100%
,
0
);
transform
:
translate3d
(
0
,
-100%
,
0
);
visibility
:
visible
}
to
{
-webkit-transform
:
translate3d
(
0
,
0
,
0
);
transform
:
translate3d
(
0
,
0
,
0
)}}
.vditor
{
display
:
-webkit-box
;
display
:
flex
;
-webkit-box-orient
:
vertical
;
-webkit-box-direction
:
normal
;
flex-direction
:
column
;
border
:
1px
solid
#d1d5da
;
border-radius
:
3px
;
box-sizing
:
border-box
;
font-family
:
"Helvetica Neue"
,
"Luxi Sans"
,
"DejaVu Sans"
,
Tahoma
,
"Hiragino Sans GB"
,
"Microsoft Yahei"
,
sans-serif
,
"Apple Color Emoji"
,
"Segoe UI Emoji"
,
"Noto Color Emoji"
,
"Segoe UI Symbol"
,
"Android Emoji"
,
"EmojiSymbols"
}
.vditor--fullscreen
{
position
:
fixed
;
top
:
0
;
width
:
100%
!important
;
left
:
0
;
height
:
100vh
!important
;
z-index
:
90
;
background-color
:
#fff
}
.vditor-content
{
display
:
-webkit-box
;
display
:
flex
;
min-height
:
60px
;
-webkit-box-flex
:
1
;
flex
:
1
;
position
:
relative
}
.vditor-textarea
{
font-family
:
"Helvetica Neue"
,
"Luxi Sans"
,
"DejaVu Sans"
,
Tahoma
,
"Hiragino Sans GB"
,
"Microsoft Yahei"
,
sans-serif
,
"Apple Color Emoji"
,
"Segoe UI Emoji"
,
"Noto Color Emoji"
,
"Segoe UI Symbol"
,
"Android Emoji"
,
"EmojiSymbols"
;
margin
:
0
1px
0
0
;
height
:
100%
;
overflow
:
auto
;
width
:
100%
;
-webkit-box-flex
:
1
;
flex
:
1
;
border
:
0
;
resize
:
none
;
padding
:
10px
9px
10px
10px
;
box-sizing
:
border-box
;
background-color
:
#fafbfc
;
outline
:
0
none
;
font-size
:
16px
;
line-height
:
22px
;
color
:
#24292e
;
border-radius
:
0
0
3px
3px
;
font-variant-ligatures
:
no-common-ligatures
;
white-space
:
pre-wrap
;
word-break
:
break-word
;
word-wrap
:
break-word
}
.vditor-textarea
[
contenteditable
=
"false"
]
{
opacity
:
0.3
;
cursor
:
not-allowed
}
.vditor-textarea
:focus
{
background-color
:
#fff
}
.vditor-textarea
:empty::before
{
content
:
attr
(
placeholder
);
color
:
rgba
(
36
,
41
,
46
,
0.68
)}
.vditor-preview
{
-webkit-box-flex
:
1
;
flex
:
1
;
background-color
:
#fff
;
overflow
:
auto
;
margin-left
:
-1px
;
padding
:
10px
;
box-shadow
:
inset
1px
0
#d1d5da
;
box-sizing
:
border-box
;
border-radius
:
0
0
3px
0
}
.vditor-preview
>
div
::-webkit-scrollbar
{
display
:
none
}
.vditor-preview
>
.vditor-reset
{
margin
:
0
auto
}
.vditor-devtools
{
display
:
none
;
background-color
:
#fff
;
overflow
:
auto
;
-webkit-box-flex
:
1
;
flex
:
1
;
box-shadow
:
inset
1px
0
#d1d5da
;
box-sizing
:
border-box
;
border-radius
:
0
0
3px
0
;
padding
:
10px
}
.vditor-counter
{
padding
:
0
3px
;
position
:
absolute
;
bottom
:
10px
;
right
:
20px
;
color
:
#24292e
;
background-color
:
rgba
(
255
,
255
,
255
,
0.6
);
border-radius
:
3px
;
font-size
:
12px
;
-webkit-user-select
:
none
;
-moz-user-select
:
none
;
-ms-user-select
:
none
;
user-select
:
none
;
z-index
:
2
}
.vditor-counter--error
{
color
:
#d23f31
;
background-color
:
rgba
(
210
,
63
,
49
,
0.1
)}
.vditor-resize
{
padding
:
3px
0
;
cursor
:
row-resize
;
-webkit-user-select
:
none
;
-moz-user-select
:
none
;
-ms-user-select
:
none
;
user-select
:
none
;
position
:
absolute
;
width
:
100%
;
z-index
:
2
}
.vditor-resize--top
{
top
:
-3px
}
.vditor-resize--bottom
{
bottom
:
-3px
}
.vditor-resize
>
div
{
height
:
3px
;
background-color
:
#f6f8fa
;
-webkit-transition
:
all
0.15s
ease-in-out
;
transition
:
all
0.15s
ease-in-out
}
.vditor-resize
:hover
>
div
,
.vditor-resize--selected
>
div
{
background-color
:
#4285f4
}
.vditor-resize
:hover
svg
,
.vditor-resize--selected
svg
{
color
:
#fff
}
.vditor-resize
svg
{
fill
:
currentColor
;
stroke-width
:
0
;
stroke
:
currentColor
;
width
:
13px
;
height
:
3px
;
display
:
block
;
margin
:
0
auto
;
color
:
#586069
}
.vditor-upload
{
position
:
absolute
;
height
:
3px
;
left
:
0
;
top
:
-2px
;
-webkit-transition
:
all
0.15s
ease-in-out
;
transition
:
all
0.15s
ease-in-out
;
background-color
:
rgba
(
66
,
133
,
244
,
0.8
)}
.vditor-tip
{
position
:
absolute
;
font-size
:
12px
;
top
:
10px
;
color
:
#fff
;
-webkit-animation-duration
:
.15s
;
animation-duration
:
.15s
;
-webkit-animation-fill-mode
:
both
;
animation-fill-mode
:
both
;
left
:
50%
}
.vditor-tip--show
{
display
:
block
;
-webkit-animation-name
:
slideInDown
;
animation-name
:
slideInDown
}
.vditor-tip__content
{
text-align
:
left
;
display
:
inline-block
;
line-height
:
16px
;
padding
:
3px
10px
;
border-radius
:
3px
;
background
:
rgba
(
66
,
133
,
244
,
0.8
);
position
:
relative
;
margin-left
:
-50%
}
.vditor-tip__content
ul
{
margin
:
2px
0
;
padding
:
0
0
0
18px
}
.vditor-tip__close
{
position
:
absolute
;
color
:
#586069
;
top
:
-7px
;
right
:
-15px
;
font-weight
:
bold
;
cursor
:
pointer
}
.vditor-tip__close
:hover
{
color
:
#4285f4
}
.vditor-hint
{
background-color
:
#fff
;
position
:
absolute
;
box-shadow
:
0
1px
2px
rgba
(
0
,
0
,
0
,
0.2
);
border-radius
:
3px
;
padding
:
5px
0
;
z-index
:
4
;
line-height
:
20px
;
list-style
:
none
;
color
:
#24292e
;
font-size
:
12px
;
margin
:
0
;
max-width
:
250px
;
min-width
:
80px
;
display
:
none
}
.vditor-hint
button
{
display
:
block
;
padding
:
3px
10px
;
border
:
0
;
border-bottom
:
1px
solid
#d1d5da
;
line-height
:
20px
;
width
:
100%
;
box-sizing
:
border-box
;
text-align
:
left
;
margin
:
0
;
background-color
:
transparent
}
.vditor-hint
button
:last-child
{
border-bottom
:
0
}
.vditor-hint--current
,
.vditor-hint
button
:hover
{
background-color
:
#4285f4
!important
;
color
:
#fff
}
.vditor-hint__emoji
{
font-size
:
16px
;
float
:
left
;
margin-right
:
3px
}
.vditor-hint
img
{
height
:
20px
;
width
:
20px
;
float
:
left
;
margin-right
:
3px
}
.vditor-reset
{
font-variant-ligatures
:
no-common-ligatures
;
font-family
:
"Helvetica Neue"
,
"Luxi Sans"
,
"DejaVu Sans"
,
Tahoma
,
"Hiragino Sans GB"
,
"Microsoft Yahei"
,
sans-serif
,
"Apple Color Emoji"
,
"Segoe UI Emoji"
,
"Noto Color Emoji"
,
"Segoe UI Symbol"
,
"Android Emoji"
,
"EmojiSymbols"
;
word-wrap
:
break-word
;
overflow
:
auto
;
line-height
:
1.5
;
font-size
:
16px
;
word-break
:
break-word
}
.vditor-reset--anchor
{
padding-left
:
20px
}
.vditor-reset--error
{
color
:
#d23f31
;
font-size
:
12px
;
display
:
block
;
line-height
:
16px
}
.vditor-reset
ul
ul
ul
{
list-style-type
:
square
}
.vditor-reset
ul
ul
{
list-style-type
:
circle
}
.vditor-reset
ul
{
list-style-type
:
disc
}
.vditor-reset
ul
,
.vditor-reset
ol
{
padding-left
:
2em
;
margin-top
:
0
;
margin-bottom
:
16px
}
.vditor-reset
li
+
li
{
margin-top
:
0.25em
}
.vditor-reset
audio
{
max-width
:
100%
}
.vditor-reset
audio
:focus
{
outline
:
none
}
.vditor-reset
video
{
max-height
:
90vh
;
max-width
:
100%
}
.vditor-reset
img
{
max-width
:
100%
}
.vditor-reset
img
.emoji
{
cursor
:
auto
;
max-width
:
20px
;
vertical-align
:
sub
}
.vditor-reset
h1
,
.vditor-reset
h2
,
.vditor-reset
h3
,
.vditor-reset
h4
,
.vditor-reset
h5
,
.vditor-reset
h6
{
margin-top
:
24px
;
margin-bottom
:
16px
;
font-weight
:
600
;
line-height
:
1.25
}
.vditor-reset
h1
:hover
.vditor-anchor
svg
,
.vditor-reset
h2
:hover
.vditor-anchor
svg
,
.vditor-reset
h3
:hover
.vditor-anchor
svg
,
.vditor-reset
h4
:hover
.vditor-anchor
svg
,
.vditor-reset
h5
:hover
.vditor-anchor
svg
,
.vditor-reset
h6
:hover
.vditor-anchor
svg
{
visibility
:
visible
}
.vditor-reset
h1
{
padding-bottom
:
0.3em
;
font-size
:
1.7em
;
border-bottom
:
1px
solid
#eee
}
.vditor-reset
h2
{
padding-bottom
:
0.3em
;
font-size
:
1.5em
;
border-bottom
:
1px
solid
#eee
}
.vditor-reset
h3
{
font-size
:
1.25em
}
.vditor-reset
h4
{
font-size
:
1em
}
.vditor-reset
h5
{
font-size
:
0.875em
}
.vditor-reset
h6
{
font-size
:
0.85em
}
.vditor-reset
hr
{
height
:
2px
;
padding
:
0
;
margin
:
24px
0
;
background-color
:
#e7e7e7
;
border
:
0
}
.vditor-reset
p
{
margin-top
:
0
;
margin-bottom
:
16px
}
.vditor-reset
blockquote
{
padding
:
0
1em
;
color
:
#777
;
border-left
:
0.25em
solid
#ddd
;
margin
:
0
0
16px
0
}
.vditor-reset
blockquote
p
{
margin
:
0
}
.vditor-reset
ins
>
iframe
{
border
:
0
}
.vditor-reset
iframe
{
border
:
1px
solid
#d1d5da
;
max-width
:
100%
;
box-sizing
:
border-box
}
.vditor-reset
iframe
.iframe__video
{
min-width
:
80%
;
min-height
:
36vh
}
.vditor-reset
table
{
width
:
100%
;
border-collapse
:
collapse
;
empty-cells
:
show
;
margin-bottom
:
16px
;
display
:
block
;
overflow
:
auto
;
border-spacing
:
0
}
.vditor-reset
table
tr
{
background-color
:
#fff
;
border-top
:
1px
solid
#c6cbd1
}
.vditor-reset
table
td
,
.vditor-reset
table
th
{
padding
:
6px
13px
;
border
:
1px
solid
#dfe2e5
;
word-break
:
normal
}
.vditor-reset
table
th
{
font-weight
:
600
}
.vditor-reset
table
tbody
tr
:nth-child
(
2n
)
{
background-color
:
#f6f8fa
}
.vditor-reset
code
:not
(
.hljs
)
:not
(
.highlight-chroma
)
{
padding
:
0.2em
0.4em
;
margin
:
0
;
font-size
:
85%
;
border-radius
:
3px
;
font-family
:
mononoki
,
Consolas
,
"Liberation Mono"
,
Menlo
,
Courier
,
monospace
,
"Apple Color Emoji"
,
"Segoe UI Emoji"
,
"Noto Color Emoji"
,
"Segoe UI Symbol"
,
"Android Emoji"
,
"EmojiSymbols"
;
word-break
:
break-word
;
background-size
:
20px
20px
;
white-space
:
pre-wrap
;
background-color
:
rgba
(
27
,
31
,
35
,
0.05
)}
.vditor-reset
pre
>
code
{
margin
:
0
;
font-size
:
85%
;
padding
:
0.5em
;
border-radius
:
5px
;
display
:
block
;
overflow
:
auto
;
white-space
:
pre
;
font-family
:
mononoki
,
Consolas
,
"Liberation Mono"
,
Menlo
,
Courier
,
monospace
,
"Apple Color Emoji"
,
"Segoe UI Emoji"
,
"Noto Color Emoji"
,
"Segoe UI Symbol"
,
"Android Emoji"
,
"EmojiSymbols"
;
background-size
:
20px
20px
;
background-image
:
url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8AgMAAABHkjHhAAAACVBMVEWAgIBaWlo+Pj7rTFvWAAAAA3RSTlMHCAw+VhR4AAAA+klEQVQoz4WSMW7EQAhFPxKWNh2FCx+HkaZI6RRb5DYbyVfIJXLKDCFoMbaTKSw/8ZnPAPjaH2xgZcUNUDADD7D9LtDBCLZ45fbkvo/30K8yeI64pPwl6znd/3n/Oe93P3ho9qeh72btTFzqkz0rsJle8Zr81OLEwZ1dv/713uWqvu2pl+k0fy7MWtj9r/tN5q/02z89qa/L4Dc2LvM93kezPfXlME/O86EbY/V9GB9ePX8G1/6W+/9h1dq/HGfTfzT3j/xNo7522Bfnqe5jO/fvhVthlfk434v3iO9zG/UOphyPeinPl1J8Gtaa7xPTa/Dk+RIs4deMvwGvcGsmsCvJ0AAAAABJRU5ErkJggg==)
;
word-break
:
initial
;
word-wrap
:
normal
}
.vditor-reset
pre
:hover
div
.vditor-copy
{
display
:
block
}
.vditor-reset
kbd
{
display
:
inline-block
;
padding
:
3px
5px
;
font
:
11px
Consolas
,
"Liberation Mono"
,
Menlo
,
Courier
,
monospace
;
line-height
:
10px
;
color
:
#555
;
vertical-align
:
middle
;
background-color
:
#fcfcfc
;
border
:
solid
1px
#d1d5da
;
border-bottom-color
:
#bbb
;
border-radius
:
3px
;
box-shadow
:
inset
0
-1px
0
#bbb
}
.vditor-reset
summary
{
cursor
:
pointer
}
.vditor-reset
summary
:focus
{
outline
:
none
}
.vditor-reset
svg
{
height
:
auto
;
width
:
auto
}
.vditor-reset
p
:last-child
,
.vditor-reset
blockquote
:last-child
,
.vditor-reset
pre
:last-child
,
.vditor-reset
ul
:last-child
,
.vditor-reset
ol
:last-child
,
.vditor-reset
hr
:last-child
{
margin-bottom
:
0
}
.vditor-reset
.language-echarts
{
overflow
:
hidden
;
height
:
420px
}
.vditor-task
{
list-style
:
none
}
.vditor-task
input
{
margin
:
0
.2em
.25em
-1.6em
;
font-size
:
12px
;
vertical-align
:
middle
}
.vditor-copy
{
position
:
relative
;
display
:
none
;
z-index
:
1
}
.vditor-copy
textarea
{
position
:
absolute
;
left
:
-100000px
;
height
:
10px
}
.vditor-copy
span
{
cursor
:
pointer
;
position
:
absolute
;
right
:
0.5em
;
top
:
0.5em
;
height
:
14px
;
width
:
14px
;
display
:
block
;
background-color
:
#f6f8fa
;
border-radius
:
3px
;
padding
:
3px
}
.vditor-copy
svg
{
color
:
#586069
;
height
:
14px
;
width
:
14px
!important
;
display
:
block
;
fill
:
currentColor
}
.vditor-linenumber
{
padding-left
:
4em
!important
;
position
:
relative
}
.vditor-linenumber__rows
{
position
:
absolute
;
pointer-events
:
none
;
top
:
0.5em
;
left
:
0
;
width
:
3em
;
-webkit-user-select
:
none
;
-moz-user-select
:
none
;
-ms-user-select
:
none
;
user-select
:
none
;
counter-reset
:
linenumber
}
.vditor-linenumber__rows
>
span
{
pointer-events
:
none
;
display
:
block
}
.vditor-linenumber__rows
>
span
::before
{
counter-increment
:
linenumber
;
content
:
counter
(
linenumber
);
color
:
rgba
(
158
,
150
,
150
,
0.38
);
display
:
block
;
padding-right
:
1em
;
text-align
:
right
}
.vditor-speech
{
position
:
absolute
;
display
:
none
;
background-color
:
#f6f8fa
;
border
:
1px
solid
#d1d5da
;
border-radius
:
3px
;
padding
:
3px
;
cursor
:
pointer
;
color
:
#586069
}
.vditor-speech
:hover
,
.vditor-speech--current
{
color
:
#4285f4
}
.vditor-speech
svg
{
height
:
14px
;
width
:
14px
;
fill
:
currentColor
;
display
:
block
;
stroke-width
:
0
;
stroke
:
currentColor
}
.vditor-anchor
{
float
:
left
;
padding-right
:
4px
;
margin-left
:
-20px
}
.vditor-anchor
svg
{
visibility
:
hidden
}
.vditor-anchor
:hover
svg
{
visibility
:
visible
}
.vditor-anchor
:focus
{
outline
:
none
}
.vditor-linkcard
{
margin
:
31px
auto
16px
;
-webkit-transition
:
all
0.15s
ease-in-out
;
transition
:
all
0.15s
ease-in-out
;
cursor
:
pointer
;
max-width
:
768px
;
padding
:
0
10px
}
.vditor-linkcard
a
{
border-radius
:
3px
;
background-color
:
#f6f8fa
;
overflow
:
hidden
;
max-height
:
250px
;
display
:
-webkit-box
;
display
:
flex
;
text-decoration
:
none
;
flex-wrap
:
wrap-reverse
;
box-shadow
:
0
1px
2px
rgba
(
0
,
0
,
0
,
0.2
)}
.vditor-linkcard
a
:hover
{
box-shadow
:
0
0
3px
rgba
(
0
,
0
,
0
,
0.13
),
0
3px
6px
rgba
(
0
,
0
,
0
,
0.26
);
text-decoration
:
none
}
.vditor-linkcard
a
:visited
.vditor-linkcard__abstract
{
color
:
rgba
(
88
,
96
,
105
,
0.6
)}
.vditor-linkcard__info
{
padding
:
10px
;
min-width
:
200px
;
box-sizing
:
border-box
;
-webkit-box-flex
:
1
;
flex
:
1
}
.vditor-linkcard__title
{
font-size
:
14px
;
font-weight
:
400
;
color
:
#24292e
;
display
:
-webkit-box
;
display
:
flex
;
-webkit-box-align
:
center
;
align-items
:
center
}
.vditor-linkcard__title
img
{
cursor
:
pointer
;
height
:
20px
;
width
:
20px
;
border-radius
:
3px
;
flex-shrink
:
0
;
margin-right
:
5px
}
.vditor-linkcard__abstract
{
word-wrap
:
break-word
;
word-break
:
break-all
;
-webkit-line-clamp
:
2
;
overflow
:
hidden
;
text-overflow
:
ellipsis
;
-webkit-box-orient
:
vertical
;
display
:
-webkit-box
;
font-size
:
13px
;
color
:
#586069
;
margin
:
5px
0
}
.vditor-linkcard__site
{
font-size
:
12px
;
color
:
#4285f4
}
.vditor-linkcard__image
{
background-size
:
cover
;
background-repeat
:
no-repeat
;
background-position
:
center
center
;
max-width
:
250px
;
min-width
:
126px
;
cursor
:
pointer
;
background-color
:
#fff
}
.vditor-wysiwyg
{
background-color
:
#fafbfc
;
box-sizing
:
border-box
;
-webkit-box-flex
:
1
;
flex
:
1
;
margin
:
0
;
white-space
:
pre-wrap
;
position
:
relative
}
.vditor-wysiwyg
[
contenteditable
=
"false"
]
{
opacity
:
0.3
;
cursor
:
not-allowed
}
.vditor-wysiwyg
:focus
{
outline
:
none
;
background-color
:
#fff
}
.vditor-wysiwyg
blockquote
:empty::before
,
.vditor-wysiwyg
pre
>
code
:empty::before
{
content
:
' '
}
.vditor-wysiwyg__block
[
data-type
=
"html-block"
]>
pre
,
.vditor-wysiwyg__block
[
data-type
=
"math-block"
]>
pre
{
margin-bottom
:
0
}
.vditor-wysiwyg__block
>
pre
{
margin-bottom
:
-1em
}
.vditor-wysiwyg__block
>
pre
>
code
{
background-color
:
#fff
!important
;
border
:
1px
solid
#d1d5da
;
overflow
:
auto
!important
}
.vditor-wysiwyg__block
[
data-type
=
html-inline
]
.vditor-wysiwyg__preview
svg
{
fill
:
rgba
(
88
,
96
,
105
,
0.36
);
height
:
12px
;
cursor
:
pointer
;
width
:
12px
}
.vditor-wysiwyg__preview
{
cursor
:
pointer
;
white-space
:
initial
;
min-height
:
27px
}
.vditor-wysiwyg__preview
pre
{
margin-bottom
:
1em
!important
}
.vditor-wysiwyg
h1
:before
,
.vditor-wysiwyg
h2
:before
,
.vditor-wysiwyg
h3
:before
,
.vditor-wysiwyg
h4
:before
,
.vditor-wysiwyg
h5
:before
,
.vditor-wysiwyg
h6
:before
,
.vditor-wysiwyg
div
.vditor-wysiwyg__block
:before
{
float
:
left
;
padding-right
:
4px
;
margin-left
:
-29px
;
content
:
'h1'
;
font-size
:
0.85rem
;
font-weight
:
normal
;
text-transform
:
uppercase
;
color
:
rgba
(
88
,
96
,
105
,
0.36
)}
.vditor-wysiwyg
h2
:before
{
content
:
'h2'
}
.vditor-wysiwyg
h3
:before
{
content
:
'h3'
}
.vditor-wysiwyg
h4
:before
{
content
:
'h4'
}
.vditor-wysiwyg
h5
:before
{
content
:
'h5'
}
.vditor-wysiwyg
h6
:before
{
content
:
'h6'
}
.vditor-wysiwyg
div
.vditor-wysiwyg__block
:before
{
content
:
"</>"
}
.vditor-wysiwyg
details
{
white-space
:
initial
}
.vditor-wysiwyg
span
[
data-type
=
"backslash"
]>
span
{
display
:
none
;
color
:
rgba
(
88
,
96
,
105
,
0.36
)}
.user__site
{
float
:
left
;
margin-left
:
10px
}
.user__site
svg
{
height
:
20px
;
width
:
20px
;
fill
:
currentColor
}
html
{
height
:
100%
;
max-height
:
100%
;
font-size
:
62.5%
;
-webkit-tap-highlight-color
:
rgba
(
0
,
0
,
0
,
0
)}
body
{
height
:
100%
;
max-height
:
100%
;
font-family
:
"Merriweather"
,
"Microsoft Yahei"
,
'Helvetica'
;
letter-spacing
:
0.01rem
;
font-size
:
1.8rem
;
line-height
:
1.75em
;
color
:
#3A4145
;
-webkit-font-feature-settings
:
'kern'
1
;
-moz-font-feature-settings
:
'kern'
1
;
-o-font-feature-settings
:
'kern'
1
;
text-rendering
:
geometricPrecision
;
margin
:
0
}
::-moz-selection
{
background
:
#D6EDFF
}
::selection
{
background
:
#D6EDFF
}
a
{
color
:
#4A4A4A
;
-webkit-transition
:
color
0.3s
ease
;
transition
:
color
0.3s
ease
}
a
:hover
{
color
:
#111
}
h1
,
h2
,
h3
,
h4
,
h5
,
h6
{
-webkit-font-feature-settings
:
'dlig'
1
,
'liga'
1
,
'lnum'
1
,
'kern'
1
;
-moz-font-feature-settings
:
'dlig'
1
,
'liga'
1
,
'lnum'
1
,
'kern'
1
;
-o-font-feature-settings
:
'dlig'
1
,
'liga'
1
,
'lnum'
1
,
'kern'
1
;
color
:
#2E2E2E
;
line-height
:
1.15em
;
font-family
:
"Open Sans"
,
"Microsoft Yahei"
,
'Helvetica'
;
text-rendering
:
geometricPrecision
}
h1
{
font-size
:
5rem
}
h2
{
font-size
:
3.6rem
}
h3
{
font-size
:
3rem
}
h4
{
font-size
:
2.5rem
}
h5
{
font-size
:
2rem
}
h6
{
font-size
:
2rem
}
img
{
max-width
:
100%
;
height
:
auto
}
p
,
ul
,
ol
,
dl
{
-webkit-font-feature-settings
:
'liga'
1
,
'onum'
1
,
'kern'
1
;
-moz-font-feature-settings
:
'liga'
1
,
'onum'
1
,
'kern'
1
;
-o-font-feature-settings
:
'liga'
1
,
'onum'
1
,
'kern'
1
;
margin
:
0
0
1.75em
0
;
text-rendering
:
geometricPrecision
}
ol
,
ul
{
padding-left
:
3rem
}
ol
ol
,
ul
ul
,
ul
ol
,
ol
ul
{
padding-left
:
2em
;
margin-bottom
:
0
}
dl
dt
{
float
:
left
;
width
:
180px
;
overflow
:
hidden
;
clear
:
left
;
text-align
:
right
;
text-overflow
:
ellipsis
;
white-space
:
nowrap
;
font-weight
:
700
;
margin-bottom
:
1em
}
dl
dd
{
margin-left
:
200px
;
margin-bottom
:
1em
}
li
li
{
margin
:
0
}
hr
{
display
:
block
;
height
:
1px
;
border
:
0
;
border-top
:
#EFEFEF
1px
solid
;
margin
:
3.2em
0
;
padding
:
0
}
blockquote
{
box-sizing
:
border-box
;
margin
:
1.75em
0
1.75em
0
;
padding
:
0
0
0
1.75em
;
border-left
:
#4A4A4A
0.4em
solid
}
blockquote
p
{
margin
:
0.8em
0
;
font-style
:
italic
}
blockquote
small
{
display
:
inline-block
;
margin
:
0.8em
0
0.8em
1.5em
;
font-size
:
0.9em
;
color
:
#CCC
}
blockquote
small
:before
{
content
:
"\2014 \00A0"
}
blockquote
cite
{
font-weight
:
700
}
blockquote
cite
a
{
font-weight
:
normal
}
mark
{
background-color
:
#fdffb6
}
code
,
tt
{
padding
:
1px
3px
;
font-family
:
Inconsolata
,
monospace
,
"Microsoft Yahei"
,
'Helvetica'
;
font-size
:
0.85em
;
white-space
:
pre-wrap
;
border
:
#E3EDF3
1px
solid
;
background
:
#F7FAFB
;
border-radius
:
2px
}
pre
code
,
pre
tt
{
font-size
:
inherit
;
white-space
:
pre-wrap
;
background
:
transparent
;
border
:
none
;
padding
:
0
}
.fn-clear
:before
,
.fn-clear
:after
{
display
:
table
;
content
:
""
}
.fn-clear
:after
{
clear
:
both
}
.fn-left
{
float
:
left
}
.fn-right
{
float
:
right
}
.fn-none
{
display
:
none
}
.fn-vertical
{
display
:
table-cell
;
vertical-align
:
middle
}
.fn-wrap
{
width
:
80%
;
max-width
:
768px
;
margin
:
0
auto
}
@-webkit-keyframes
fade-in-down
{
0
%
{
opacity
:
0
;
-webkit-transform
:
translateY
(
-10px
);
transform
:
translateY
(
-10px
)}
100
%
{
opacity
:
1
;
-webkit-transform
:
translateY
(
0
);
transform
:
translateY
(
0
)}}
@keyframes
fade-in-down
{
0
%
{
opacity
:
0
;
-webkit-transform
:
translateY
(
-10px
);
transform
:
translateY
(
-10px
)}
100
%
{
opacity
:
1
;
-webkit-transform
:
translateY
(
0
);
transform
:
translateY
(
0
)}}
@-webkit-keyframes
bounce
{
0
%,
10
%,
25
%,
40
%,
50
%
{
-webkit-transform
:
translateY
(
0
);
transform
:
translateY
(
0
)}
20
%
{
-webkit-transform
:
translateY
(
-10px
);
transform
:
translateY
(
-10px
)}
30
%
{
-webkit-transform
:
translateY
(
-5px
);
transform
:
translateY
(
-5px
)}}
@keyframes
bounce
{
0
%,
20
%,
50
%,
80
%,
100
%
{
-webkit-transform
:
translateY
(
0
);
transform
:
translateY
(
0
)}
40
%
{
-webkit-transform
:
translateY
(
-10px
);
transform
:
translateY
(
-10px
)}
60
%
{
-webkit-transform
:
translateY
(
-5px
);
transform
:
translateY
(
-5px
)}}
@-webkit-keyframes
upbounce
{
0
%,
10
%,
25
%,
40
%,
50
%
{
-webkit-transform
:
translateY
(
0
);
transform
:
translateY
(
0
)}
20
%
{
-webkit-transform
:
translateY
(
-10px
);
transform
:
translateY
(
-10px
)}
30
%
{
-webkit-transform
:
translateY
(
-5px
);
transform
:
translateY
(
-5px
)}}
@keyframes
upbounce
{
0
%,
20
%,
50
%,
80
%,
100
%
{
-webkit-transform
:
translateY
(
0
);
transform
:
translateY
(
0
)}
40
%
{
-webkit-transform
:
translateY
(
-10px
);
transform
:
translateY
(
-10px
)}
60
%
{
-webkit-transform
:
translateY
(
-5px
);
transform
:
translateY
(
-5px
)}}
@font-face
{
font-family
:
'icomoon'
;
src
:
url("fonts/icomoon.eot?hvf32e")
;
src
:
url("fonts/icomoon.eot?hvf32e#iefix")
format
(
"embedded-opentype"
),
url("fonts/icomoon.ttf?hvf32e")
format
(
"truetype"
),
url("fonts/icomoon.woff?hvf32e")
format
(
"woff"
),
url("fonts/icomoon.svg?hvf32e#icomoon")
format
(
"svg"
);
font-weight
:
normal
;
font-style
:
normal
}
[
class
^=
"icon-"
],[
class
*=
" icon-"
]
{
font-size
:
2rem
;
font-family
:
'icomoon'
!important
;
speak
:
none
;
font-style
:
normal
;
font-weight
:
normal
;
font-variant
:
normal
;
text-transform
:
none
;
line-height
:
1
;
-webkit-font-smoothing
:
antialiased
;
-moz-osx-font-smoothing
:
grayscale
}
.icon-qqz
:before
{
content
:
"\e902"
}
.icon-register
:before
{
content
:
"\e600"
}
.icon-logout
:before
{
content
:
"\e601"
}
.icon-setting
:before
{
content
:
"\e602"
}
.icon-gotop
:before
{
content
:
"\e60a"
}
.icon-twitter
:before
{
content
:
"\e60b"
}
.icon-login
:before
{
content
:
"\e611"
}
.icon-arrow-left
:before
{
content
:
"\f605"
}
.icon-menu
:before
{
line-height
:
38px
;
content
:
"\f609"
;
font-size
:
20px
}
.icon-wechat
:before
{
content
:
"\e903"
}
.icon-sitemap
:before
{
content
:
"\e900"
}
.icon-list
:before
{
content
:
"\e901"
}
.avatar
{
border-radius
:
100%
;
float
:
left
;
height
:
24px
;
margin-right
:
9px
;
width
:
24px
}
.avatar-warp
{
width
:
10%
;
padding-right
:
10px
;
box-sizing
:
border-box
}
.avatar-48
{
box-shadow
:
0
0
2px
#ddd
;
height
:
auto
;
width
:
48px
;
margin-right
:
10px
;
border-radius
:
24px
}
.form
{
width
:
100%
;
margin-top
:
50px
}
.form
input
,
.form
textarea
,
.form
button
{
border
:
1px
solid
#CCCCCC
;
background-color
:
#FAFAFA
;
border-radius
:
3px
;
box-shadow
:
0
1px
2px
rgba
(
0
,
0
,
0
,
0.075
)
inset
;
padding
:
7px
8px
;
width
:
100%
;
box-sizing
:
border-box
;
-moz-box-sizing
:
border-box
;
-webkit-box-sizing
:
border-box
;
font-family
:
"Microsoft Yahei"
,
'Helvetica'
;
outline
:
none
}
.form
button
{
width
:
auto
;
vertical-align
:
bottom
}
.form
input
:focus
,
.form
textarea
:focus
{
background-color
:
#FFF
;
box-shadow
:
0
1px
2px
rgba
(
0
,
0
,
0
,
0.075
)
inset
,
0
0
5px
rgba
(
81
,
167
,
232
,
0.5
);
border
:
1px
solid
#51A7E8
}
.error-msg
{
font-size
:
1.5rem
;
color
:
#9EABB3
}
.cmtFromSym
{
font-size
:
1rem
;
color
:
#9EABB3
}
.main-header
{
position
:
relative
;
display
:
table
;
width
:
100%
;
height
:
100vh
;
margin-bottom
:
5rem
;
text-align
:
center
;
background
:
#222
no-repeat
center
center
;
background-size
:
cover
;
overflow
:
hidden
;
background-image
:
url("../images/header-bg.jpg")
;
min-height
:
50vh
}
.site-wrapper
{
position
:
relative
;
z-index
:
10
;
min-height
:
100%
;
background
:
#fff
;
-webkit-transition
:
-webkit-transform
0.5s
ease
;
transition
:
-webkit-transform
0.5s
ease
;
transition
:
transform
0.5s
ease
;
transition
:
transform
0.5s
ease
,
-webkit-transform
0.5s
ease
}
.nav-opened
.site-wrapper
{
overflow-x
:
hidden
;
margin-right
:
240px
;
-webkit-transition
:
margin
0.3s
ease
;
transition
:
margin
0.3s
ease
}
.page-title
a
{
-webkit-animation
:
fade-in-down
0.6s
;
animation
:
fade-in-down
0.6s
;
-webkit-animation-delay
:
0.2s
;
animation-delay
:
0.2s
;
margin
:
10px
0
10px
0
;
font-size
:
5rem
;
letter-spacing
:
-1px
;
font-weight
:
700
;
font-family
:
"Open Sans"
,
"Microsoft Yahei"
,
'Helvetica'
;
color
:
#fff
;
text-shadow
:
0px
0px
3px
rgba
(
0
,
0
,
0
,
0.9
);
text-decoration
:
none
}
.page-description
,
.page-description
a
{
-webkit-animation
:
fade-in-down
0.9s
;
animation
:
fade-in-down
0.9s
;
-webkit-animation-delay
:
0.1s
;
animation-delay
:
0.1s
;
margin
:
0
;
font-size
:
2rem
;
line-height
:
1.5em
;
font-weight
:
400
;
letter-spacing
:
0.01rem
;
color
:
rgba
(
255
,
255
,
255
,
0.8
)}
.scroll-down
{
display
:
block
;
position
:
absolute
;
z-index
:
100
;
bottom
:
45px
;
left
:
50%
;
margin-left
:
-16px
;
width
:
34px
;
height
:
34px
;
font-size
:
34px
;
text-align
:
center
;
text-decoration
:
none
;
color
:
rgba
(
255
,
255
,
255
,
0.7
);
-webkit-animation
:
bounce
4s
2s
infinite
;
animation
:
bounce
4s
2s
infinite
}
.scroll-down
:hover
{
color
:
#fff
;
-webkit-animation
:
none
;
animation
:
none
}
.menu-button
{
position
:
fixed
;
box-sizing
:
border-box
;
display
:
inline-block
;
float
:
right
;
height
:
38px
;
padding
:
0
15px
;
opacity
:
1
;
font-size
:
12px
;
text-transform
:
uppercase
;
line-height
:
46px
;
border-radius
:
3px
;
-webkit-transition
:
all
0.5s
ease
;
transition
:
all
0.5s
ease
;
right
:
20px
;
top
:
40px
;
text-decoration
:
none
;
font-family
:
'Open Sans'
,
"Microsoft Yahei"
,
'Helvetica'
;
z-index
:
30
;
overflow
:
hidden
;
background-color
:
#111
;
border
:
1px
solid
#111
;
color
:
#fff
;
cursor
:
pointer
}
.menu-button
:hover
{
background
:
#fff
}
.menu-button
:focus
{
outline
:
0
}
.nav-closed
.menu-button
:hover
{
color
:
#222
}
.nav-opened
.menu-button
{
padding
:
0
12px
;
background
:
#111
;
border-color
:
#111
;
color
:
#fff
;
-webkit-transform
:
translate3D
(
50px
,
0
,
0
);
transform
:
translate3D
(
50px
,
0
,
0
);
-webkit-transition
:
all
0.3s
ease
;
transition
:
all
0.3s
ease
;
right
:
287px
;
z-index
:
10
;
width
:
46px
;
border-radius
:
3px
0
0
3px
}
.menu-button
.word
{
float
:
right
;
margin
:
-4px
0
0
10px
}
.nav
{
position
:
fixed
;
display
:
-webkit-box
;
display
:
flex
;
-webkit-box-orient
:
vertical
;
-webkit-box-direction
:
normal
;
flex-direction
:
column
;
top
:
0
;
right
:
0
;
bottom
:
0
;
z-index
:
5
;
width
:
220px
;
padding
:
10px
10px
0
10px
;
opacity
:
0
;
background
:
#111
;
margin-bottom
:
0
;
text-align
:
left
;
overflow-y
:
auto
;
color
:
#FFF
;
-webkit-transition
:
-webkit-transform
0.5s
ease
,
opacity
0.3s
ease
0.7s
;
-webkit-transition
:
opacity
0.3s
ease
0.7s
,
-webkit-transform
0.5s
ease
;
transition
:
opacity
0.3s
ease
0.7s
,
-webkit-transform
0.5s
ease
;
transition
:
transform
0.5s
ease
,
opacity
0.3s
ease
0.7s
;
transition
:
transform
0.5s
ease
,
opacity
0.3s
ease
0.7s
,
-webkit-transform
0.5s
ease
;
overflow-x
:
hidden
}
.nav
::-webkit-scrollbar
{
display
:
none
}
.nav
ul
{
-webkit-box-flex
:
1
;
flex
:
1
;
margin
:
0
;
padding
:
0px
0
5%
;
list-style
:
none
;
counter-reset
:
item
}
.nav
li
{
height
:
30px
;
line-height
:
1.4rem
}
.nav
li
:before
{
display
:
block
;
float
:
right
;
padding-right
:
4%
;
padding-left
:
5px
;
text-align
:
right
;
font-size
:
1.2rem
;
vertical-align
:
bottom
;
color
:
#B8B8B8
;
content
:
counter
(
item
,
lower-roman
);
counter-increment
:
item
;
line-height
:
2.5rem
}
.nav
a
{
color
:
#989898
;
text-decoration
:
none
;
line-height
:
1.4
;
font-size
:
1.4rem
}
.nav
a
:hover
,
.nav
a
.current
{
color
:
#FFF
}
.nav
li
a
{
display
:
block
;
padding
:
0.6rem
4%
;
overflow
:
hidden
;
white-space
:
nowrap
;
text-overflow
:
ellipsis
}
.nav
li
a
:after
{
display
:
inline-block
;
content
:
" ......................................................."
;
color
:
rgba
(
255
,
255
,
255
,
0.2
);
margin-left
:
5px
}
.nav
.count
{
font-size
:
1rem
;
word-wrap
:
normal
;
word-break
:
break-all
;
white-space
:
nowrap
}
.nav
.page-icon
{
float
:
left
;
height
:
14px
;
width
:
14px
;
margin
:
3px
4px
0
0
}
body
.nav-closed
.nav
{
-webkit-transform
:
translate3D
(
240px
,
0
,
0
);
transform
:
translate3D
(
240px
,
0
,
0
)}
body
.nav-opened
.nav
{
opacity
:
1
;
-webkit-transition
:
-webkit-transform
0.3s
ease
,
opacity
0s
ease
0s
;
-webkit-transition
:
opacity
0s
ease
0s
,
-webkit-transform
0.3s
ease
;
transition
:
opacity
0s
ease
0s
,
-webkit-transform
0.3s
ease
;
transition
:
transform
0.3s
ease
,
opacity
0s
ease
0s
;
transition
:
transform
0.3s
ease
,
opacity
0s
ease
0s
,
-webkit-transform
0.3s
ease
;
-webkit-transform
:
translate3D
(
0
,
0
,
0
);
transform
:
translate3D
(
0
,
0
,
0
)}
article
.post
{
position
:
relative
;
margin
:
4rem
auto
;
padding-bottom
:
4rem
;
border-bottom
:
#EBF2F6
1px
solid
;
word-wrap
:
break-word
;
width
:
80%
}
article
.post
.share
{
position
:
relative
}
article
.post
.share
canvas
{
position
:
absolute
;
left
:
0
;
top
:
36px
}
.post-content--article
{
padding-bottom
:
10px
}
.post-content--article
::-webkit-scrollbar
{
display
:
none
}
article
.post
:after
{
display
:
block
;
content
:
""
;
width
:
7px
;
height
:
7px
;
border
:
#E7EEF2
1px
solid
;
position
:
absolute
;
bottom
:
-5px
;
left
:
50%
;
margin-left
:
-5px
;
background
:
#FFF
;
border-radius
:
100%
;
box-shadow
:
#FFF
0
0
0
5px
}
.post-title
a
{
text-decoration
:
none
}
.post-tip
{
display
:
inline-block
;
text-transform
:
uppercase
;
font-size
:
1.3rem
;
white-space
:
nowrap
;
color
:
#9EABB3
;
cursor
:
text
}
.post-tip
:hover
{
color
:
#9EABB3
}
.post-tip
:visited
{
color
:
#fff
}
.post-excerpt
p
{
margin
:
0
;
font-size
:
0.9em
;
line-height
:
1.7em
}
.post-meta
{
color
:
#9eabb3
;
font-family
:
"Open Sans"
,
"Microsoft Yahei"
,
'Helvetica'
;
font-size
:
1.5rem
;
line-height
:
2.2rem
;
margin
:
1.75rem
0
0
0
}
.post-meta
a
{
color
:
#9EABB3
;
text-decoration
:
none
}
.post-meta
a
:hover
{
text-decoration
:
underline
}
.post-meta
time
{
border-left
:
1px
solid
#d5dbde
;
display
:
inline-block
;
font-size
:
1.3rem
;
margin-left
:
8px
;
padding-left
:
12px
;
text-transform
:
uppercase
;
white-space
:
nowrap
}
.post-author
{
box-sizing
:
border-box
;
display
:
block
;
position
:
absolute
;
bottom
:
-57px
;
left
:
50%
;
margin-left
:
-40px
;
width
:
80px
;
height
:
80px
;
border-radius
:
100%
;
overflow
:
hidden
;
padding
:
6px
;
background
:
#fff
;
z-index
:
2
;
box-shadow
:
#E7EEF2
0
0
0
1px
}
.post-author
a
{
background-size
:
cover
;
background-position
:
center
center
;
width
:
68px
;
height
:
68px
;
display
:
block
;
border-radius
:
35px
}
.share
.icon
{
cursor
:
pointer
;
-webkit-transition
:
all
0.2s
ease-out
0s
;
transition
:
all
0.2s
ease-out
0s
;
display
:
inline-block
;
font-size
:
16px
;
margin-top
:
15px
}
.share
.icon
:hover
{
-webkit-transform
:
rotate
(
360deg
);
transform
:
rotate
(
360deg
);
color
:
#9EABB3
}
.icon-weibo
:before
{
content
:
"\e605"
}
.icon-twitter
:before
{
content
:
"\e60b"
}
.icon-tencent
:before
{
content
:
"\e60d"
}
.icon-google
:before
{
content
:
"\e603"
}
.icon-gotop
:before
{
content
:
"\E60A"
;
font-weight
:
bold
}
.icon-gotop
{
cursor
:
pointer
;
position
:
fixed
;
bottom
:
30px
;
right
:
30px
;
-webkit-animation
:
upbounce
4s
2s
infinite
;
animation
:
upbounce
4s
2s
infinite
;
text-decoration
:
none
;
z-index
:
12
}
.icon-gotop
:hover
{
color
:
#B8B8B8
;
-webkit-animation
:
none
;
animation
:
none
}
.pagination
{
font-family
:
"Open Sans"
,
"Microsoft Yahei"
,
'Helvetica'
;
font-size
:
1.3rem
;
color
:
#9eabb3
;
text-align
:
center
}
.pagination
a
{
color
:
#9EABB3
;
-webkit-transition
:
all
0.2s
ease
;
transition
:
all
0.2s
ease
;
padding
:
0
15px
;
border
:
#bfc8cd
1px
solid
;
text-decoration
:
none
;
display
:
inline-block
;
border-radius
:
4px
}
.pagination
a
:hover
{
border-color
:
#98a0a4
;
color
:
#889093
}
ul
.comments
{
padding
:
0
;
list-style
:
none
;
margin-top
:
100px
;
position
:
relative
}
.comments
li
{
padding
:
10px
;
white-space
:
normal
;
word-wrap
:
break-word
;
position
:
relative
;
border-bottom
:
#EBF2F6
1px
solid
}
.comments
li
:hover
{
background-color
:
#F7F7F7
}
.comments
li
img
{
vertical-align
:
sub
}
.comments
.comment-content
{
margin
:
8px
0
0
}
.comments
li
.comment-body-ref
{
position
:
absolute
;
z-index
:
10
;
background-color
:
#EBF2F6
;
border
:
#d5dbde
1px
solid
;
width
:
86%
;
left
:
69px
}
.comments
.post-meta
{
margin-top
:
0
}
#captcha
,
#captchaReply
{
height
:
27px
;
display
:
inline-block
;
vertical-align
:
inherit
}
.read-next
{
display
:
-webkit-box
;
display
:
flex
;
-webkit-box-align
:
stretch
;
align-items
:
stretch
;
margin-top
:
10rem
}
.read-next-story
{
display
:
-webkit-box
;
display
:
flex
;
-webkit-box-flex
:
1
;
flex-grow
:
1
;
min-width
:
50%
;
text-decoration
:
none
;
position
:
relative
;
text-align
:
center
;
color
:
#fff
;
background
:
#222
no-repeat
center
center
;
background-size
:
cover
;
overflow
:
hidden
}
.read-next-story
a
{
color
:
#BBB
}
.read-next-story
a
:hover
{
color
:
#FFF
}
.read-next-story
:hover:before
{
background
:
rgba
(
0
,
0
,
0
,
0.8
);
-webkit-transition
:
all
0.2s
ease
;
transition
:
all
0.2s
ease
}
.read-next-story
:hover
.post
:before
{
color
:
#222
;
background
:
#fff
;
-webkit-transition
:
all
0.2s
ease
;
transition
:
all
0.2s
ease
}
.read-next-story
:before
{
content
:
""
;
display
:
block
;
position
:
absolute
;
top
:
0
;
right
:
0
;
bottom
:
0
;
left
:
0
;
background
:
rgba
(
0
,
0
,
0
,
0.7
);
-webkit-transition
:
all
0.5s
ease
;
transition
:
all
0.5s
ease
}
.read-next-story
.post
{
padding-top
:
6rem
;
padding-bottom
:
6rem
;
width
:
80%
;
position
:
relative
;
margin
:
0
auto
}
.read-next-story
.post
:before
{
content
:
"Read This Next"
;
padding
:
4px
10px
5px
;
text-transform
:
uppercase
;
font-size
:
1.1rem
;
font-family
:
"Open Sans"
,
"Microsoft Yahei"
,
'Helvetica'
;
color
:
rgba
(
255
,
255
,
255
,
0.8
);
border
:
1px
solid
rgba
(
255
,
255
,
255
,
0.5
);
border-radius
:
4px
;
-webkit-transition
:
all
0.5s
ease
;
transition
:
all
0.5s
ease
}
.read-next-story.prev
.post
:before
{
content
:
"Read This Before"
}
.read-next-story
h2
{
margin-top
:
1rem
;
color
:
#fff
}
.read-next-story
p
{
margin
:
0
;
color
:
rgba
(
255
,
255
,
255
,
0.8
)}
.read-next
+
.site-footer
{
position
:
absolute
;
bottom
:
0
;
left
:
0
;
right
:
0
;
margin
:
0
}
#tags
{
padding
:
0
}
#tags
li
{
list-style
:
none
;
float
:
left
}
#tags
li
a
{
border
:
1px
solid
#4A4A4A
;
display
:
inline-block
;
padding
:
10px
;
margin
:
1rem
;
border-radius
:
5px
;
text-decoration
:
none
}
#tags
li
a
:hover
{
border
:
1px
solid
#FFF
;
color
:
#FFF
;
background-color
:
#4A4A4A
}
.dynamic
.read-next-story
>
div
{
position
:
relative
;
width
:
60%
;
margin
:
50px
auto
;
text-align
:
left
}
.dynamic
a
{
text-decoration
:
none
;
margin
:
0
;
color
:
rgba
(
255
,
255
,
255
,
0.8
)}
.dynamic
a
:hover
{
color
:
rgba
(
255
,
255
,
255
,
0.5
)}
.site-footer
{
position
:
relative
;
margin
:
8rem
0
0
0
;
padding
:
1rem
15px
;
font-family
:
"Open Sans"
,
"Microsoft Yahei"
,
'Helvetica'
;
font-size
:
1rem
;
line-height
:
1.75em
;
color
:
#BBC7CC
}
.site-footer
a
{
color
:
#BBC7CC
;
font-weight
:
bold
;
text-decoration
:
none
}
.site-footer
a
:hover
{
text-decoration
:
underline
}
@media
only
screen
and
(
max-width
:
900px
){
blockquote
{
margin-left
:
0
}
.main-header
{
box-sizing
:
border-box
;
height
:
auto
;
min-height
:
240px
;
height
:
60vh
;
padding
:
15%
0
}
.scroll-down
{
display
:
none
}
.page-title
,
.page-title
a
{
font-size
:
4rem
;
letter-spacing
:
-1px
}
.page-description
,
.page-description
a
{
font-size
:
1.8rem
;
line-height
:
1.5em
}
.post
{
font-size
:
0.95em
}
hr
{
margin
:
2.4em
0
}
ol
,
ul
{
padding-left
:
2em
}
h1
{
font-size
:
4.5rem
}
h2
{
font-size
:
3.6rem
}
h3
{
font-size
:
3.1rem
}
h4
{
font-size
:
2.5rem
}
h5
{
font-size
:
2.2rem
}
h6
{
font-size
:
1.8rem
}
.read-next
{
-webkit-box-orient
:
vertical
;
-webkit-box-direction
:
normal
;
flex-direction
:
column
;
margin-top
:
4rem
}}
@media
only
screen
and
(
max-width
:
500px
){
.main-header
{
margin-bottom
:
15px
;
height
:
40vh
}
.pagination
{
width
:
auto
;
margin
:
2rem
auto
}
.post
{
width
:
auto
;
margin-top
:
2rem
;
margin-bottom
:
2rem
;
margin-left
:
16px
;
margin-right
:
16px
;
padding-bottom
:
2rem
;
line-height
:
1.65em
}
hr
{
margin
:
1.75em
0
}
p
,
ul
,
ol
,
dl
{
font-size
:
0.95em
;
margin
:
0
0
2.5rem
0
}
.page-title
,
.page-title
a
{
font-size
:
3rem
}
.post-excerpt
p
{
font-size
:
0.85em
}
.page-description
,
.page-description
a
{
font-size
:
1.6rem
}
h1
,
h2
,
h3
,
h4
,
h5
,
h6
{
margin
:
0
0
0.3em
0
}
h1
{
font-size
:
2.8rem
;
letter-spacing
:
-1px
}
h2
{
font-size
:
2.4rem
;
letter-spacing
:
0
}
h3
{
font-size
:
2.1rem
}
h4
{
font-size
:
1.9rem
}
h5
{
font-size
:
1.8rem
}
h6
{
font-size
:
1.8rem
}
.post-content
img
{
padding
:
0
;
width
:
calc
(
100%
+
32px
);
min-width
:
0
;
max-width
:
112%
}
.post-meta
{
font-size
:
1.3rem
;
margin-top
:
1rem
}
.site-footer
{
margin-top
:
3rem
}
.read-next
{
margin-top
:
2rem
;
margin-bottom
:
-37px
}
.read-next
.post
{
width
:
100%
}
.menu-button
{
border
:
0
;
top
:
0
;
right
:
0
}
.nav-opened
.site-wrapper
{
margin-right
:
0
}
.nav
{
z-index
:
11
}
.nav-closed
.menu-button
:hover
{
color
:
#FFF
;
background-color
:
transparent
}
.post-author
{
width
:
40px
;
height
:
40px
;
bottom
:
-37px
;
padding
:
3px
;
margin-left
:
-20px
}
.post-author
a
{
width
:
34px
;
height
:
34px
;
display
:
block
;
border-radius
:
17px
}
.nav
.count
{
line-height
:
1.5rem
}
#tags
li
a
{
padding
:
0
5px
}}
src/main/resources/skins/owmx-3.0/article.ftl
View file @
e196c68a
...
@@ -104,7 +104,10 @@ ${topBarReplacement}
...
@@ -104,7 +104,10 @@ ${topBarReplacement}
<div
id=
"randomArticles"
></div>
<div
id=
"randomArticles"
></div>
<div
id=
"externalRelevantArticles"
></div>
<div
id=
"externalRelevantArticles"
></div>
<
#if
commentable
>
<
#if
commentable
>
<div
id=
"vcomment"
data-name=
"${article.authorName}"
data-postId=
"${article.oId}"
></div>
<div
id=
"vcomment"
class=
"comments"
style=
"padding-top: 15px;"
data-name=
"${article.authorName}"
data-postId=
"${article.oId}"
></div>
<div
id=
"soloComments"
style=
"display: none;"
>
<div
id=
"soloComments"
style=
"display: none;"
>
<
@
comments
commentList=
articleComments
article=
article
></
@
comments>
<
@
comments
commentList=
articleComments
article=
article
></
@
comments>
</div>
</div>
...
...
src/main/resources/skins/owmx-3.0/css/base.css
View file @
e196c68a
.article__toc
{
overflow
:
auto
}
.article__toc
::-webkit-scrollbar
{
display
:
none
}
.article__toc
li
{
list-style-type
:
none
}
.article__toc
li
a
{
padding-left
:
10px
;
display
:
block
;
white-space
:
nowrap
;
overflow
:
hidden
;
text-overflow
:
ellipsis
}
.article__toc
li
a
:hover
{
text-decoration
:
none
}
.article__toc
li
.toc__h3
a
{
padding-left
:
20px
}
.article__toc
li
.toc__h4
a
{
padding-left
:
30px
}
.article__toc
li
.toc__h5
a
{
padding-left
:
40px
}
@-webkit-keyframes
tooltip-appear
{
from
{
opacity
:
0
}
to
{
opacity
:
1
}}
@keyframes
tooltip-appear
{
from
{
opacity
:
0
}
to
{
opacity
:
1
}}
.vditor-tooltipped
{
position
:
relative
;
cursor
:
pointer
}
.vditor-tooltipped
::after
{
position
:
absolute
;
z-index
:
1000000
;
display
:
none
;
padding
:
5px
8px
;
font-size
:
11px
;
font-weight
:
normal
;
-webkit-font-smoothing
:
subpixel-antialiased
;
color
:
#fff
;
text-align
:
center
;
text-decoration
:
none
;
text-shadow
:
none
;
text-transform
:
none
;
letter-spacing
:
normal
;
word-wrap
:
break-word
;
white-space
:
pre
;
pointer-events
:
none
;
content
:
attr
(
aria-label
);
background
:
rgba
(
0
,
0
,
0
,
0.8
);
border-radius
:
3px
;
line-height
:
16px
;
opacity
:
0
}
.vditor-tooltipped
::before
{
position
:
absolute
;
z-index
:
1000001
;
display
:
none
;
width
:
0
;
height
:
0
;
color
:
rgba
(
0
,
0
,
0
,
0.8
);
pointer-events
:
none
;
content
:
""
;
border
:
5px
solid
transparent
;
opacity
:
0
}
.vditor-tooltipped--hover
::before
,
.vditor-tooltipped--hover
::after
,
.vditor-tooltipped
:hover::before
,
.vditor-tooltipped
:hover::after
,
.vditor-tooltipped
:active::before
,
.vditor-tooltipped
:active::after
,
.vditor-tooltipped
:focus::before
,
.vditor-tooltipped
:focus::after
{
display
:
inline-block
;
text-decoration
:
none
;
-webkit-animation-name
:
tooltip-appear
;
animation-name
:
tooltip-appear
;
-webkit-animation-duration
:
0.15s
;
animation-duration
:
0.15s
;
-webkit-animation-fill-mode
:
forwards
;
animation-fill-mode
:
forwards
;
-webkit-animation-timing-function
:
ease-in
;
animation-timing-function
:
ease-in
}
.vditor-tooltipped__s
::after
,
.vditor-tooltipped__se
::after
,
.vditor-tooltipped__sw
::after
{
top
:
100%
;
right
:
50%
;
margin-top
:
5px
}
.vditor-tooltipped__s
::before
,
.vditor-tooltipped__se
::before
,
.vditor-tooltipped__sw
::before
{
top
:
auto
;
right
:
50%
;
bottom
:
-5px
;
margin-right
:
-5px
;
border-bottom-color
:
rgba
(
0
,
0
,
0
,
0.8
)}
.vditor-tooltipped__se
::after
{
right
:
auto
;
left
:
50%
;
margin-left
:
-15px
}
.vditor-tooltipped__sw
::after
{
margin-right
:
-15px
}
.vditor-tooltipped__n
::after
,
.vditor-tooltipped__ne
::after
,
.vditor-tooltipped__nw
::after
{
right
:
50%
;
bottom
:
100%
;
margin-bottom
:
5px
}
.vditor-tooltipped__n
::before
,
.vditor-tooltipped__ne
::before
,
.vditor-tooltipped__nw
::before
{
top
:
-5px
;
right
:
50%
;
bottom
:
auto
;
margin-right
:
-5px
;
border-top-color
:
rgba
(
0
,
0
,
0
,
0.8
)}
.vditor-tooltipped__ne
::after
{
right
:
auto
;
left
:
50%
;
margin-left
:
-15px
}
.vditor-tooltipped__nw
::after
{
margin-right
:
-15px
}
.vditor-tooltipped__s
::after
,
.vditor-tooltipped__n
::after
{
-webkit-transform
:
translateX
(
50%
);
transform
:
translateX
(
50%
)}
.vditor-tooltipped__w
::after
{
right
:
100%
;
bottom
:
50%
;
margin-right
:
5px
;
-webkit-transform
:
translateY
(
50%
);
transform
:
translateY
(
50%
)}
.vditor-tooltipped__w
::before
{
top
:
50%
;
bottom
:
50%
;
left
:
-5px
;
margin-top
:
-5px
;
border-left-color
:
rgba
(
0
,
0
,
0
,
0.8
)}
.vditor-tooltipped__e
::after
{
bottom
:
50%
;
left
:
100%
;
margin-left
:
5px
;
-webkit-transform
:
translateY
(
50%
);
transform
:
translateY
(
50%
)}
.vditor-tooltipped__e
::before
{
top
:
50%
;
right
:
-5px
;
bottom
:
50%
;
margin-top
:
-5px
;
border-right-color
:
rgba
(
0
,
0
,
0
,
0.8
)}
@-webkit-keyframes
scale-in
{
0
%
{
opacity
:
0
;
-webkit-transform
:
scale
(
0.5
);
transform
:
scale
(
0.5
)}
100
%
{
opacity
:
1
;
-webkit-transform
:
scale
(
1
);
transform
:
scale
(
1
)}}
@keyframes
scale-in
{
0
%
{
opacity
:
0
;
-webkit-transform
:
scale
(
0.5
);
transform
:
scale
(
0.5
)}
100
%
{
opacity
:
1
;
-webkit-transform
:
scale
(
1
);
transform
:
scale
(
1
)}}
.vditor-panel
{
background-color
:
#fff
;
position
:
absolute
;
box-shadow
:
0
1px
2px
rgba
(
0
,
0
,
0
,
0.2
);
border-radius
:
3px
;
padding
:
5px
;
z-index
:
3
;
font-size
:
14px
;
display
:
none
;
-webkit-user-select
:
none
;
-moz-user-select
:
none
;
-ms-user-select
:
none
;
user-select
:
none
;
max-width
:
320px
;
min-width
:
80px
;
-webkit-animation-duration
:
.15s
;
animation-duration
:
.15s
;
-webkit-animation-name
:
scale-in
;
animation-name
:
scale-in
;
-webkit-animation-timing-function
:
cubic-bezier
(
0.2
,
0
,
0.13
,
1.5
);
animation-timing-function
:
cubic-bezier
(
0.2
,
0
,
0.13
,
1.5
)}
.vditor-panel--none
{
color
:
#4285f4
;
padding
:
0
;
-webkit-animation
:
none
;
animation
:
none
;
background-color
:
#f6f8fa
;
min-width
:
auto
;
max-width
:
none
}
.vditor-panel
h1
,
.vditor-panel
h2
,
.vditor-panel
h3
,
.vditor-panel
h4
,
.vditor-panel
h5
,
.vditor-panel
h6
{
margin
:
0
;
cursor
:
pointer
;
padding
:
3px
10px
;
border-radius
:
3px
;
line-height
:
normal
}
.vditor-panel
h1
:hover
,
.vditor-panel
h2
:hover
,
.vditor-panel
h3
:hover
,
.vditor-panel
h4
:hover
,
.vditor-panel
h5
:hover
,
.vditor-panel
h6
:hover
{
background-color
:
#4285f4
;
color
:
#fff
}
.vditor-input
{
border
:
0
;
padding
:
3px
5px
;
background-color
:
#f6f8fa
}
.vditor-input
:focus
{
background-color
:
#fff
;
outline
:
none
}
.vditor-icon
{
color
:
#586069
;
cursor
:
pointer
;
float
:
left
;
padding
:
2px
5px
;
height
:
19px
;
width
:
25px
;
background-color
:
transparent
;
border
:
0
;
box-sizing
:
border-box
}
.vditor-icon
:hover
,
.vditor-icon--current
{
color
:
#4285f4
;
background-color
:
transparent
}
.vditor-icon
:focus
{
outline
:
none
}
.vditor-icon
svg
{
height
:
15px
!important
;
width
:
15px
!important
;
float
:
left
;
fill
:
currentColor
}
.vditor-toolbar
{
background-color
:
#f6f8fa
;
border-bottom
:
1px
solid
#d1d5da
;
padding
:
0
5px
;
border-radius
:
3px
3px
0
0
}
.vditor-toolbar
>
div
{
float
:
left
}
.vditor-toolbar
>
div
>
.vditor-tooltipped
{
border
:
0
;
margin
:
0
;
padding
:
10px
5px
;
background-color
:
transparent
;
height
:
35px
;
width
:
25px
;
box-sizing
:
border-box
}
.vditor-toolbar
>
div
>
.vditor-tooltipped
:focus
{
outline
:
none
}
.vditor-toolbar
.vditor-tooltipped
{
color
:
#586069
}
.vditor-toolbar
.vditor-tooltipped
:hover
{
color
:
#4285f4
}
.vditor-toolbar
svg
{
fill
:
currentColor
;
display
:
inline-block
;
stroke-width
:
0
;
stroke
:
currentColor
;
width
:
15px
;
height
:
15px
}
.vditor-toolbar
input
{
position
:
absolute
;
width
:
25px
;
height
:
35px
;
top
:
0
;
left
:
0
;
cursor
:
pointer
;
opacity
:
.001
;
overflow
:
hidden
}
.vditor-menu--current
svg
{
color
:
#4285f4
}
.vditor-menu__divider
{
width
:
10px
;
height
:
35px
}
.vditor-menu__br
{
width
:
100%
;
padding
:
0
!important
;
height
:
0
!important
}
.vditor-menu--disabled
svg
{
color
:
rgba
(
88
,
96
,
105
,
0.6
);
cursor
:
not-allowed
}
.vditor-emojis
{
display
:
inline-block
;
overflow
:
auto
}
.vditor-emojis
::-webkit-scrollbar
{
display
:
none
}
.vditor-emojis__tip
{
-webkit-box-flex
:
1
;
flex
:
1
;
width
:
200px
;
margin-right
:
10px
;
color
:
#586069
;
white-space
:
nowrap
;
text-overflow
:
ellipsis
;
overflow
:
hidden
}
.vditor-emojis__tail
{
margin-top
:
5px
;
font-size
:
12px
;
color
:
#586069
;
display
:
-webkit-box
;
display
:
flex
}
.vditor-emojis__tail
a
{
text-decoration
:
none
;
color
:
#586069
}
.vditor-emojis__tail
a
:hover
{
color
:
#4285f4
}
.vditor-emojis
button
{
cursor
:
pointer
;
border-radius
:
3px
;
float
:
left
;
height
:
30px
;
width
:
30px
;
text-align
:
center
;
line-height
:
26px
;
padding
:
3px
;
box-sizing
:
border-box
;
font-size
:
16px
;
-webkit-transition
:
all
0.15s
ease-in-out
;
transition
:
all
0.15s
ease-in-out
;
border
:
0
;
margin
:
0
;
background-color
:
transparent
;
overflow
:
hidden
}
.vditor-emojis
button
:focus
{
outline
:
none
}
.vditor-emojis
button
:hover
.vditor-emojis__icon
{
display
:
inline-block
;
-webkit-transform
:
scale
(
1.2
);
transform
:
scale
(
1.2
)}
.vditor-emojis
img
{
height
:
20px
;
width
:
20px
;
float
:
left
;
margin
:
3px
0
0
3px
}
@-webkit-keyframes
slideInDown
{
from
{
-webkit-transform
:
translate3d
(
0
,
-100%
,
0
);
transform
:
translate3d
(
0
,
-100%
,
0
);
visibility
:
visible
}
to
{
-webkit-transform
:
translate3d
(
0
,
0
,
0
);
transform
:
translate3d
(
0
,
0
,
0
)}}
@keyframes
slideInDown
{
from
{
-webkit-transform
:
translate3d
(
0
,
-100%
,
0
);
transform
:
translate3d
(
0
,
-100%
,
0
);
visibility
:
visible
}
to
{
-webkit-transform
:
translate3d
(
0
,
0
,
0
);
transform
:
translate3d
(
0
,
0
,
0
)}}
.vditor
{
display
:
-webkit-box
;
display
:
flex
;
-webkit-box-orient
:
vertical
;
-webkit-box-direction
:
normal
;
flex-direction
:
column
;
border
:
1px
solid
#d1d5da
;
border-radius
:
3px
;
box-sizing
:
border-box
;
font-family
:
"Helvetica Neue"
,
"Luxi Sans"
,
"DejaVu Sans"
,
Tahoma
,
"Hiragino Sans GB"
,
"Microsoft Yahei"
,
sans-serif
,
"Apple Color Emoji"
,
"Segoe UI Emoji"
,
"Noto Color Emoji"
,
"Segoe UI Symbol"
,
"Android Emoji"
,
"EmojiSymbols"
}
.vditor--fullscreen
{
position
:
fixed
;
top
:
0
;
width
:
100%
!important
;
left
:
0
;
height
:
100vh
!important
;
z-index
:
90
;
background-color
:
#fff
}
.vditor-content
{
display
:
-webkit-box
;
display
:
flex
;
min-height
:
60px
;
-webkit-box-flex
:
1
;
flex
:
1
;
position
:
relative
}
.vditor-textarea
{
font-family
:
"Helvetica Neue"
,
"Luxi Sans"
,
"DejaVu Sans"
,
Tahoma
,
"Hiragino Sans GB"
,
"Microsoft Yahei"
,
sans-serif
,
"Apple Color Emoji"
,
"Segoe UI Emoji"
,
"Noto Color Emoji"
,
"Segoe UI Symbol"
,
"Android Emoji"
,
"EmojiSymbols"
;
margin
:
0
1px
0
0
;
height
:
100%
;
overflow
:
auto
;
width
:
100%
;
-webkit-box-flex
:
1
;
flex
:
1
;
border
:
0
;
resize
:
none
;
padding
:
10px
9px
10px
10px
;
box-sizing
:
border-box
;
background-color
:
#fafbfc
;
outline
:
0
none
;
font-size
:
16px
;
line-height
:
22px
;
color
:
#24292e
;
border-radius
:
0
0
3px
3px
;
font-variant-ligatures
:
no-common-ligatures
;
white-space
:
pre-wrap
;
word-break
:
break-word
;
word-wrap
:
break-word
}
.vditor-textarea
[
contenteditable
=
"false"
]
{
opacity
:
0.3
;
cursor
:
not-allowed
}
.vditor-textarea
:focus
{
background-color
:
#fff
}
.vditor-textarea
:empty::before
{
content
:
attr
(
placeholder
);
color
:
rgba
(
36
,
41
,
46
,
0.68
)}
.vditor-preview
{
-webkit-box-flex
:
1
;
flex
:
1
;
background-color
:
#fff
;
overflow
:
auto
;
margin-left
:
-1px
;
padding
:
10px
;
box-shadow
:
inset
1px
0
#d1d5da
;
box-sizing
:
border-box
;
border-radius
:
0
0
3px
0
}
.vditor-preview
>
div
::-webkit-scrollbar
{
display
:
none
}
.vditor-preview
>
.vditor-reset
{
margin
:
0
auto
}
.vditor-devtools
{
display
:
none
;
background-color
:
#fff
;
overflow
:
auto
;
-webkit-box-flex
:
1
;
flex
:
1
;
box-shadow
:
inset
1px
0
#d1d5da
;
box-sizing
:
border-box
;
border-radius
:
0
0
3px
0
;
padding
:
10px
}
.vditor-counter
{
padding
:
0
3px
;
position
:
absolute
;
bottom
:
10px
;
right
:
20px
;
color
:
#24292e
;
background-color
:
rgba
(
255
,
255
,
255
,
0.6
);
border-radius
:
3px
;
font-size
:
12px
;
-webkit-user-select
:
none
;
-moz-user-select
:
none
;
-ms-user-select
:
none
;
user-select
:
none
;
z-index
:
2
}
.vditor-counter--error
{
color
:
#d23f31
;
background-color
:
rgba
(
210
,
63
,
49
,
0.1
)}
.vditor-resize
{
padding
:
3px
0
;
cursor
:
row-resize
;
-webkit-user-select
:
none
;
-moz-user-select
:
none
;
-ms-user-select
:
none
;
user-select
:
none
;
position
:
absolute
;
width
:
100%
;
z-index
:
2
}
.vditor-resize--top
{
top
:
-3px
}
.vditor-resize--bottom
{
bottom
:
-3px
}
.vditor-resize
>
div
{
height
:
3px
;
background-color
:
#f6f8fa
;
-webkit-transition
:
all
0.15s
ease-in-out
;
transition
:
all
0.15s
ease-in-out
}
.vditor-resize
:hover
>
div
,
.vditor-resize--selected
>
div
{
background-color
:
#4285f4
}
.vditor-resize
:hover
svg
,
.vditor-resize--selected
svg
{
color
:
#fff
}
.vditor-resize
svg
{
fill
:
currentColor
;
stroke-width
:
0
;
stroke
:
currentColor
;
width
:
13px
;
height
:
3px
;
display
:
block
;
margin
:
0
auto
;
color
:
#586069
}
.vditor-upload
{
position
:
absolute
;
height
:
3px
;
left
:
0
;
top
:
-2px
;
-webkit-transition
:
all
0.15s
ease-in-out
;
transition
:
all
0.15s
ease-in-out
;
background-color
:
rgba
(
66
,
133
,
244
,
0.8
)}
.vditor-tip
{
position
:
absolute
;
font-size
:
12px
;
top
:
10px
;
color
:
#fff
;
-webkit-animation-duration
:
.15s
;
animation-duration
:
.15s
;
-webkit-animation-fill-mode
:
both
;
animation-fill-mode
:
both
;
left
:
50%
}
.vditor-tip--show
{
display
:
block
;
-webkit-animation-name
:
slideInDown
;
animation-name
:
slideInDown
}
.vditor-tip__content
{
text-align
:
left
;
display
:
inline-block
;
line-height
:
16px
;
padding
:
3px
10px
;
border-radius
:
3px
;
background
:
rgba
(
66
,
133
,
244
,
0.8
);
position
:
relative
;
margin-left
:
-50%
}
.vditor-tip__content
ul
{
margin
:
2px
0
;
padding
:
0
0
0
18px
}
.vditor-tip__close
{
position
:
absolute
;
color
:
#586069
;
top
:
-7px
;
right
:
-15px
;
font-weight
:
bold
;
cursor
:
pointer
}
.vditor-tip__close
:hover
{
color
:
#4285f4
}
.vditor-hint
{
background-color
:
#fff
;
position
:
absolute
;
box-shadow
:
0
1px
2px
rgba
(
0
,
0
,
0
,
0.2
);
border-radius
:
3px
;
padding
:
5px
0
;
z-index
:
4
;
line-height
:
20px
;
list-style
:
none
;
color
:
#24292e
;
font-size
:
12px
;
margin
:
0
;
max-width
:
250px
;
min-width
:
80px
;
display
:
none
}
.vditor-hint
button
{
display
:
block
;
padding
:
3px
10px
;
border
:
0
;
border-bottom
:
1px
solid
#d1d5da
;
line-height
:
20px
;
width
:
100%
;
box-sizing
:
border-box
;
text-align
:
left
;
margin
:
0
;
background-color
:
transparent
}
.vditor-hint
button
:last-child
{
border-bottom
:
0
}
.vditor-hint--current
,
.vditor-hint
button
:hover
{
background-color
:
#4285f4
!important
;
color
:
#fff
}
.vditor-hint__emoji
{
font-size
:
16px
;
float
:
left
;
margin-right
:
3px
}
.vditor-hint
img
{
height
:
20px
;
width
:
20px
;
float
:
left
;
margin-right
:
3px
}
.vditor-reset
{
font-variant-ligatures
:
no-common-ligatures
;
font-family
:
"Helvetica Neue"
,
"Luxi Sans"
,
"DejaVu Sans"
,
Tahoma
,
"Hiragino Sans GB"
,
"Microsoft Yahei"
,
sans-serif
,
"Apple Color Emoji"
,
"Segoe UI Emoji"
,
"Noto Color Emoji"
,
"Segoe UI Symbol"
,
"Android Emoji"
,
"EmojiSymbols"
;
word-wrap
:
break-word
;
overflow
:
auto
;
line-height
:
1.5
;
font-size
:
16px
;
word-break
:
break-word
}
.vditor-reset--anchor
{
padding-left
:
20px
}
.vditor-reset--error
{
color
:
#d23f31
;
font-size
:
12px
;
display
:
block
;
line-height
:
16px
}
.vditor-reset
ul
ul
ul
{
list-style-type
:
square
}
.vditor-reset
ul
ul
{
list-style-type
:
circle
}
.vditor-reset
ul
{
list-style-type
:
disc
}
.vditor-reset
ul
,
.vditor-reset
ol
{
padding-left
:
2em
;
margin-top
:
0
;
margin-bottom
:
16px
}
.vditor-reset
li
+
li
{
margin-top
:
0.25em
}
.vditor-reset
audio
{
max-width
:
100%
}
.vditor-reset
audio
:focus
{
outline
:
none
}
.vditor-reset
video
{
max-height
:
90vh
;
max-width
:
100%
}
.vditor-reset
img
{
max-width
:
100%
}
.vditor-reset
img
.emoji
{
cursor
:
auto
;
max-width
:
20px
;
vertical-align
:
sub
}
.vditor-reset
h1
,
.vditor-reset
h2
,
.vditor-reset
h3
,
.vditor-reset
h4
,
.vditor-reset
h5
,
.vditor-reset
h6
{
margin-top
:
24px
;
margin-bottom
:
16px
;
font-weight
:
600
;
line-height
:
1.25
}
.vditor-reset
h1
:hover
.vditor-anchor
svg
,
.vditor-reset
h2
:hover
.vditor-anchor
svg
,
.vditor-reset
h3
:hover
.vditor-anchor
svg
,
.vditor-reset
h4
:hover
.vditor-anchor
svg
,
.vditor-reset
h5
:hover
.vditor-anchor
svg
,
.vditor-reset
h6
:hover
.vditor-anchor
svg
{
visibility
:
visible
}
.vditor-reset
h1
{
padding-bottom
:
0.3em
;
font-size
:
1.7em
;
border-bottom
:
1px
solid
#eee
}
.vditor-reset
h2
{
padding-bottom
:
0.3em
;
font-size
:
1.5em
;
border-bottom
:
1px
solid
#eee
}
.vditor-reset
h3
{
font-size
:
1.25em
}
.vditor-reset
h4
{
font-size
:
1em
}
.vditor-reset
h5
{
font-size
:
0.875em
}
.vditor-reset
h6
{
font-size
:
0.85em
}
.vditor-reset
hr
{
height
:
2px
;
padding
:
0
;
margin
:
24px
0
;
background-color
:
#e7e7e7
;
border
:
0
}
.vditor-reset
p
{
margin-top
:
0
;
margin-bottom
:
16px
}
.vditor-reset
blockquote
{
padding
:
0
1em
;
color
:
#777
;
border-left
:
0.25em
solid
#ddd
;
margin
:
0
0
16px
0
}
.vditor-reset
blockquote
p
{
margin
:
0
}
.vditor-reset
ins
>
iframe
{
border
:
0
}
.vditor-reset
iframe
{
border
:
1px
solid
#d1d5da
;
max-width
:
100%
;
box-sizing
:
border-box
}
.vditor-reset
iframe
.iframe__video
{
min-width
:
80%
;
min-height
:
36vh
}
.vditor-reset
table
{
width
:
100%
;
border-collapse
:
collapse
;
empty-cells
:
show
;
margin-bottom
:
16px
;
display
:
block
;
overflow
:
auto
;
border-spacing
:
0
}
.vditor-reset
table
tr
{
background-color
:
#fff
;
border-top
:
1px
solid
#c6cbd1
}
.vditor-reset
table
td
,
.vditor-reset
table
th
{
padding
:
6px
13px
;
border
:
1px
solid
#dfe2e5
;
word-break
:
normal
}
.vditor-reset
table
th
{
font-weight
:
600
}
.vditor-reset
table
tbody
tr
:nth-child
(
2n
)
{
background-color
:
#f6f8fa
}
.vditor-reset
code
:not
(
.hljs
)
:not
(
.highlight-chroma
)
{
padding
:
0.2em
0.4em
;
margin
:
0
;
font-size
:
85%
;
border-radius
:
3px
;
font-family
:
mononoki
,
Consolas
,
"Liberation Mono"
,
Menlo
,
Courier
,
monospace
,
"Apple Color Emoji"
,
"Segoe UI Emoji"
,
"Noto Color Emoji"
,
"Segoe UI Symbol"
,
"Android Emoji"
,
"EmojiSymbols"
;
word-break
:
break-word
;
background-size
:
20px
20px
;
white-space
:
pre-wrap
;
background-color
:
rgba
(
27
,
31
,
35
,
0.05
)}
.vditor-reset
pre
>
code
{
margin
:
0
;
font-size
:
85%
;
padding
:
0.5em
;
border-radius
:
5px
;
display
:
block
;
overflow
:
auto
;
white-space
:
pre
;
font-family
:
mononoki
,
Consolas
,
"Liberation Mono"
,
Menlo
,
Courier
,
monospace
,
"Apple Color Emoji"
,
"Segoe UI Emoji"
,
"Noto Color Emoji"
,
"Segoe UI Symbol"
,
"Android Emoji"
,
"EmojiSymbols"
;
background-size
:
20px
20px
;
background-image
:
url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8AgMAAABHkjHhAAAACVBMVEWAgIBaWlo+Pj7rTFvWAAAAA3RSTlMHCAw+VhR4AAAA+klEQVQoz4WSMW7EQAhFPxKWNh2FCx+HkaZI6RRb5DYbyVfIJXLKDCFoMbaTKSw/8ZnPAPjaH2xgZcUNUDADD7D9LtDBCLZ45fbkvo/30K8yeI64pPwl6znd/3n/Oe93P3ho9qeh72btTFzqkz0rsJle8Zr81OLEwZ1dv/713uWqvu2pl+k0fy7MWtj9r/tN5q/02z89qa/L4Dc2LvM93kezPfXlME/O86EbY/V9GB9ePX8G1/6W+/9h1dq/HGfTfzT3j/xNo7522Bfnqe5jO/fvhVthlfk434v3iO9zG/UOphyPeinPl1J8Gtaa7xPTa/Dk+RIs4deMvwGvcGsmsCvJ0AAAAABJRU5ErkJggg==)
;
word-break
:
initial
;
word-wrap
:
normal
}
.vditor-reset
pre
:hover
div
.vditor-copy
{
display
:
block
}
.vditor-reset
kbd
{
display
:
inline-block
;
padding
:
3px
5px
;
font
:
11px
Consolas
,
"Liberation Mono"
,
Menlo
,
Courier
,
monospace
;
line-height
:
10px
;
color
:
#555
;
vertical-align
:
middle
;
background-color
:
#fcfcfc
;
border
:
solid
1px
#d1d5da
;
border-bottom-color
:
#bbb
;
border-radius
:
3px
;
box-shadow
:
inset
0
-1px
0
#bbb
}
.vditor-reset
summary
{
cursor
:
pointer
}
.vditor-reset
summary
:focus
{
outline
:
none
}
.vditor-reset
svg
{
height
:
auto
;
width
:
auto
}
.vditor-reset
p
:last-child
,
.vditor-reset
blockquote
:last-child
,
.vditor-reset
pre
:last-child
,
.vditor-reset
ul
:last-child
,
.vditor-reset
ol
:last-child
,
.vditor-reset
hr
:last-child
{
margin-bottom
:
0
}
.vditor-reset
.language-echarts
{
overflow
:
hidden
;
height
:
420px
}
.vditor-task
{
list-style
:
none
}
.vditor-task
input
{
margin
:
0
.2em
.25em
-1.6em
;
font-size
:
12px
;
vertical-align
:
middle
}
.vditor-copy
{
position
:
relative
;
display
:
none
;
z-index
:
1
}
.vditor-copy
textarea
{
position
:
absolute
;
left
:
-100000px
;
height
:
10px
}
.vditor-copy
span
{
cursor
:
pointer
;
position
:
absolute
;
right
:
0.5em
;
top
:
0.5em
;
height
:
14px
;
width
:
14px
;
display
:
block
;
background-color
:
#f6f8fa
;
border-radius
:
3px
;
padding
:
3px
}
.vditor-copy
svg
{
color
:
#586069
;
height
:
14px
;
width
:
14px
!important
;
display
:
block
;
fill
:
currentColor
}
.vditor-linenumber
{
padding-left
:
4em
!important
;
position
:
relative
}
.vditor-linenumber__rows
{
position
:
absolute
;
pointer-events
:
none
;
top
:
0.5em
;
left
:
0
;
width
:
3em
;
-webkit-user-select
:
none
;
-moz-user-select
:
none
;
-ms-user-select
:
none
;
user-select
:
none
;
counter-reset
:
linenumber
}
.vditor-linenumber__rows
>
span
{
pointer-events
:
none
;
display
:
block
}
.vditor-linenumber__rows
>
span
::before
{
counter-increment
:
linenumber
;
content
:
counter
(
linenumber
);
color
:
rgba
(
158
,
150
,
150
,
0.38
);
display
:
block
;
padding-right
:
1em
;
text-align
:
right
}
.vditor-speech
{
position
:
absolute
;
display
:
none
;
background-color
:
#f6f8fa
;
border
:
1px
solid
#d1d5da
;
border-radius
:
3px
;
padding
:
3px
;
cursor
:
pointer
;
color
:
#586069
}
.vditor-speech
:hover
,
.vditor-speech--current
{
color
:
#4285f4
}
.vditor-speech
svg
{
height
:
14px
;
width
:
14px
;
fill
:
currentColor
;
display
:
block
;
stroke-width
:
0
;
stroke
:
currentColor
}
.vditor-anchor
{
float
:
left
;
padding-right
:
4px
;
margin-left
:
-20px
}
.vditor-anchor
svg
{
visibility
:
hidden
}
.vditor-anchor
:hover
svg
{
visibility
:
visible
}
.vditor-anchor
:focus
{
outline
:
none
}
.vditor-linkcard
{
margin
:
31px
auto
16px
;
-webkit-transition
:
all
0.15s
ease-in-out
;
transition
:
all
0.15s
ease-in-out
;
cursor
:
pointer
;
max-width
:
768px
;
padding
:
0
10px
}
.vditor-linkcard
a
{
border-radius
:
3px
;
background-color
:
#f6f8fa
;
overflow
:
hidden
;
max-height
:
250px
;
display
:
-webkit-box
;
display
:
flex
;
text-decoration
:
none
;
flex-wrap
:
wrap-reverse
;
box-shadow
:
0
1px
2px
rgba
(
0
,
0
,
0
,
0.2
)}
.vditor-linkcard
a
:hover
{
box-shadow
:
0
0
3px
rgba
(
0
,
0
,
0
,
0.13
),
0
3px
6px
rgba
(
0
,
0
,
0
,
0.26
);
text-decoration
:
none
}
.vditor-linkcard
a
:visited
.vditor-linkcard__abstract
{
color
:
rgba
(
88
,
96
,
105
,
0.6
)}
.vditor-linkcard__info
{
padding
:
10px
;
min-width
:
200px
;
box-sizing
:
border-box
;
-webkit-box-flex
:
1
;
flex
:
1
}
.vditor-linkcard__title
{
font-size
:
14px
;
font-weight
:
400
;
color
:
#24292e
;
display
:
-webkit-box
;
display
:
flex
;
-webkit-box-align
:
center
;
align-items
:
center
}
.vditor-linkcard__title
img
{
cursor
:
pointer
;
height
:
20px
;
width
:
20px
;
border-radius
:
3px
;
flex-shrink
:
0
;
margin-right
:
5px
}
.vditor-linkcard__abstract
{
word-wrap
:
break-word
;
word-break
:
break-all
;
-webkit-line-clamp
:
2
;
overflow
:
hidden
;
text-overflow
:
ellipsis
;
-webkit-box-orient
:
vertical
;
display
:
-webkit-box
;
font-size
:
13px
;
color
:
#586069
;
margin
:
5px
0
}
.vditor-linkcard__site
{
font-size
:
12px
;
color
:
#4285f4
}
.vditor-linkcard__image
{
background-size
:
cover
;
background-repeat
:
no-repeat
;
background-position
:
center
center
;
max-width
:
250px
;
min-width
:
126px
;
cursor
:
pointer
;
background-color
:
#fff
}
.vditor-wysiwyg
{
background-color
:
#fafbfc
;
box-sizing
:
border-box
;
-webkit-box-flex
:
1
;
flex
:
1
;
margin
:
0
;
white-space
:
pre-wrap
;
position
:
relative
}
.vditor-wysiwyg
[
contenteditable
=
"false"
]
{
opacity
:
0.3
;
cursor
:
not-allowed
}
.vditor-wysiwyg
:focus
{
outline
:
none
;
background-color
:
#fff
}
.vditor-wysiwyg
blockquote
:empty::before
,
.vditor-wysiwyg
pre
>
code
:empty::before
{
content
:
' '
}
.vditor-wysiwyg__block
[
data-type
=
"html-block"
]>
pre
,
.vditor-wysiwyg__block
[
data-type
=
"math-block"
]>
pre
{
margin-bottom
:
0
}
.vditor-wysiwyg__block
>
pre
{
margin-bottom
:
-1em
}
.vditor-wysiwyg__block
>
pre
>
code
{
background-color
:
#fff
!important
;
border
:
1px
solid
#d1d5da
;
overflow
:
auto
!important
}
.vditor-wysiwyg__block
[
data-type
=
html-inline
]
.vditor-wysiwyg__preview
svg
{
fill
:
rgba
(
88
,
96
,
105
,
0.36
);
height
:
12px
;
cursor
:
pointer
;
width
:
12px
}
.vditor-wysiwyg__preview
{
cursor
:
pointer
;
white-space
:
initial
;
min-height
:
27px
}
.vditor-wysiwyg__preview
pre
{
margin-bottom
:
1em
!important
}
.vditor-wysiwyg
h1
:before
,
.vditor-wysiwyg
h2
:before
,
.vditor-wysiwyg
h3
:before
,
.vditor-wysiwyg
h4
:before
,
.vditor-wysiwyg
h5
:before
,
.vditor-wysiwyg
h6
:before
,
.vditor-wysiwyg
div
.vditor-wysiwyg__block
:before
{
float
:
left
;
padding-right
:
4px
;
margin-left
:
-29px
;
content
:
'h1'
;
font-size
:
0.85rem
;
font-weight
:
normal
;
text-transform
:
uppercase
;
color
:
rgba
(
88
,
96
,
105
,
0.36
)}
.vditor-wysiwyg
h2
:before
{
content
:
'h2'
}
.vditor-wysiwyg
h3
:before
{
content
:
'h3'
}
.vditor-wysiwyg
h4
:before
{
content
:
'h4'
}
.vditor-wysiwyg
h5
:before
{
content
:
'h5'
}
.vditor-wysiwyg
h6
:before
{
content
:
'h6'
}
.vditor-wysiwyg
div
.vditor-wysiwyg__block
:before
{
content
:
"</>"
}
.vditor-wysiwyg
details
{
white-space
:
initial
}
.vditor-wysiwyg
span
[
data-type
=
"backslash"
]>
span
{
display
:
none
;
color
:
rgba
(
88
,
96
,
105
,
0.36
)}
.vditor-reset--article
{
padding-bottom
:
10px
}
.vditor-reset--article
::-webkit-scrollbar
{
display
:
none
}
.left
{
float
:
left
}
.right
{
float
:
right
}
.clear
:before
,
.clear
:after
{
display
:
table
;
content
:
""
}
.clear
:after
{
clear
:
both
}
.none
{
display
:
none
}
header
,
footer
,
article
,
nav
,
section
,
aside
,
time
,
hgroup
{
display
:
block
}
html
,
body
,
header
,
footer
,
article
,
nav
,
section
,
aside
,
time
,
h1
,
h2
,
h3
,
p
,
a
,
ul
,
li
,
dl
,
dd
,
dt
,
table
,
thead
,
tfoot
,
tbody
,
th
,
tr
,
td
{
border
:
0
;
font
:
12px
/
22px
'Verdana'
,
'sans-serif'
;
margin
:
0
;
outline
:
0
;
padding
:
0
}
BODY
{
background
:
#DDD
;
margin
:
0px
0
0
0
;
color
:
#444
}
img
{
max-width
:
100%
;
vertical-align
:
middle
;
border
:
0
;
height
:
auto
;
overflow
:
hidden
;
font-size
:
12px
}
A
,
A
:LINK
,
A
:ACTIVE
,
A
:VISITED
{
color
:
#016f93
;
text-decoration
:
none
}
A
:HOVER
{
color
:
#DB0202
}
a
.selected
{
font-weight
:
bold
;
color
:
#000000
}
.h2
,
.h4
{
background
:
url(../images/ai4.png)
no-repeat
0
7px
;
border-bottom
:
1px
solid
#CCC
;
color
:
#666
;
font-weight
:
bold
;
margin
:
0
0
10px
;
padding
:
0
0
0
25px
}
.h2
{
background
:
url(../images/ai4.png)
no-repeat
0
6px
;
font-size
:
15px
}
.h2
a
{
font-weight
:
bold
;
font-size
:
15px
}
.h4
{
font-size
:
13px
;
background-position
:
0
5px
}
sup
{
color
:
#444
;
top
:
-4px
}
a
.sup
{
color
:
#444
;
cursor
:
text
;
font-size
:
12.5px
}
a
.sup
:link
{
color
:
#444
}
a
.sup
:hover
{
color
:
#444
}
a
.sup
:visited
{
color
:
#fff
}
header
{
border-radius
:
4px
;
background
:
#0098CC
url(../images/hd.jpg)
no-repeat
top
left
;
height
:
200px
;
margin
:
0
0
10px
0
;
padding
:
10px
10px
;
position
:
relative
}
header
a
:link
,
header
a
:active
,
header
a
:visited
{
font-weight
:
bold
;
color
:
#FFF
;
font-size
:
16px
}
header
a
:hover
{
color
:
#FFF
}
header
.user__sites
{
border-radius
:
4px
;
background
:
#FFF
;
bottom
:
20px
;
color
:
#000
;
font-weight
:
bold
;
opacity
:
0.5
;
padding
:
10px
;
position
:
absolute
;
right
:
20px
;
width
:
396px
}
header
.user__sites
.user__site
{
float
:
left
;
margin-right
:
8px
;
height
:
20px
;
color
:
#016f93
}
header
.user__sites
.user__site
:hover
{
color
:
#DB0202
}
header
.user__sites
.user__site
svg
{
height
:
20px
;
width
:
20px
;
fill
:
currentColor
}
article
{
border-radius
:
4px
;
background
:
#FFF
;
border
:
1px
solid
#CCC
;
float
:
right
;
height
:
auto
;
padding
:
20px
;
width
:
550px
}
article
h1
{
color
:
#666
;
font-weight
:
bold
;
font-size
:
15px
}
.highlight-1
,
.highlight-2
,
.highlight-3
{
-moz-border-radius
:
4px
;
-webkit-border-radius
:
4px
;
padding
:
5px
10px
}
.highlight-1
{
background
:
#FFCCCC
;
border
:
1px
dotted
#FF9966
}
.highlight-2
{
background
:
#FFFF99
;
border
:
1px
dotted
#FFCC33
}
.highlight-3
{
background
:
#CCFF99
;
border
:
1px
dotted
#CCCC33
}
cite
{
border-left
:
2px
solid
#0098CC
;
color
:
#666
;
font-size
:
12px
;
font-style
:
normal
;
font-weight
:
bold
;
margin
:
0
;
padding
:
5px
10px
}
blockquote
{
border-left
:
2px
solid
#0098CC
;
color
:
#666
;
margin
:
0
0
20px
0
;
padding
:
5px
10px
}
pre
{
color
:
#333
;
font-size
:
10px
;
line-height
:
15px
;
overflow
:
hidden
;
overflow-y
:
hidden
}
pre
code
{
background
:
#EEE
;
border-left
:
2px
solid
#0098CC
;
margin
:
0
0
10px
0
;
padding
:
5px
;
display
:
block
}
dl
.vevent
{
margin
:
-20px
0
20px
0
;
padding
:
0
}
.vevent
dt
{
font-size
:
10px
;
position
:
relative
;
left
:
0
;
top
:
22px
;
font-weight
:
bold
}
.vevent
dd
{
border-left
:
2px
solid
#0098CC
;
font-size
:
11px
;
margin
:
0
0
0
80px
;
padding
:
0
0
0
10px
}
dd
.summary
{
font-weight
:
bold
}
.vevent
a
{
font-size
:
11px
}
article
form
{
border-radius
:
4px
;
background
:
#DDD
;
margin
:
0
0
20px
;
padding
:
10px
}
article
label
{
color
:
#666
;
display
:
block
;
font-size
:
10px
;
font-weight
:
bold
;
margin
:
0
0
0
2px
}
article
input
,
article
textarea
{
border-radius
:
4px
;
border
:
1px
solid
#CCC
;
font-size
:
11px
;
padding
:
4px
5px
;
width
:
100%
;
box-sizing
:
border-box
}
article
ul
,
aside
ul
{
list-style
:
none
;
margin
:
0
0
20px
0
}
article
ul
{
margin
:
0
0
20px
23px
}
article
ul
li
{
background
:
url(../images/ai2.png)
no-repeat
0
8px
;
padding
:
0
0
0
17px
;
list-style
:
none
}
aside
{
background
:
#EEE
;
float
:
left
;
margin
:
0
0
20px
0
;
width
:
200px
;
white-space
:
normal
}
aside
ul
.aside-comments
img
{
border-radius
:
4px
;
width
:
32px
;
height
:
32px
;
border
:
1px
solid
#999999
;
padding
:
1px
;
margin-top
:
5px
;
margin-right
:
5px
}
aside
ul
.aside-comments
a
{
font-weight
:
bold
}
aside
ul
.aside-comments
.side-comment
{
color
:
#555555
;
font-weight
:
normal
;
overflow
:
hidden
;
white-space
:
nowrap
;
width
:
158px
;
height
:
18px
}
aside
ul
.aside-comments
div
.left
>
div
>
div
{
display
:
none
}
aside
ul
.aside-comments
.side-comment
img
{
border
:
0px
;
height
:
16px
;
width
:
16px
;
padding
:
0px
;
margin-right
:
0px
;
margin-top
:
0
}
aside
ul
.aside-comments
li
{
padding
:
2px
0
}
aside
ul
.aside-comments
li
div
{
width
:
158px
}
aside
ul
.aside-comments
li
div
.left
div
{
height
:
18px
;
line-height
:
18px
;
overflow
:
hidden
;
text-overflow
:
ellipsis
}
aside
ul
.navi-tags
li
{
padding-left
:
0px
;
background-image
:
none
}
aside
ul
.navi-tags
li
img
{
margin-bottom
:
3px
;
padding-right
:
6px
;
height
:
16px
;
width
:
16px
}
#mostViewCountArticles
li
,
#mostCommentArticles
li
{
overflow
:
hidden
;
text-overflow
:
ellipsis
;
-o-text-overflow
:
ellipsis
}
#mostViewCountArticles
a
,
#mostCommentArticles
a
{
white-space
:
nowrap
}
.s
{
border-radius
:
4px
;
margin
:
0
0
20px
0
;
padding
:
10px
;
width
:
179px
}
.s
input
{
border-radius
:
4px
;
border
:
1px
solid
#AAA
;
color
:
#999
;
font-size
:
11px
;
padding
:
4px
5px
;
width
:
168px
}
nav
ul
{
list-style
:
none
}
nav
li
{
background
:
url(../images/ai1.png)
no-repeat
0
8px
;
padding
:
0
0
0
15px
}
nav
li
ul
,
aside
li
ul
li
ul
{
margin
:
0
}
nav
li
li
a
{
font-size
:
11px
}
nav
li
li
li
a
{
font-size
:
10px
}
nav
li
li
li
,
aside
li
.active
li
li
{
background
:
url(../images/ai8.png)
no-repeat
0
10px
}
nav
li
.active
,
aside
li
.active
li
{
background
:
url(../images/ai2.png)
no-repeat
0
8px
}
nav
.page-icon
{
float
:
left
;
height
:
14px
;
width
:
14px
;
margin
:
4px
4px
0
0
}
.gallery
{
list-style
:
none
;
margin
:
0
0
10px
}
.gallery
li
{
display
:
inline
;
margin
:
0
15px
0
0
}
.gallery
a
img
{
border
:
1px
solid
#999
;
height
:
50px
;
opacity
:
0.8
;
padding
:
1px
;
width
:
50px
}
.gallery
li
:last-child
{
margin
:
0
0
10px
0
}
.gallery
a
img
:hover
{
opacity
:
1
}
.adspace
{
border-radius
:
4px
;
box-shadow
:
0
2px
2px
rgba
(
0
,
0
,
0
,
0.3
);
background
:
#EEE
;
height
:
100%
;
margin
:
0
0
20px
0
;
padding
:
5px
10px
;
text-align
:
center
;
width
:
178px
}
.adspace
a
img
{
border
:
none
}
#tagcloud
{
overflow
:
hidden
;
width
:
200px
}
#tagcloud
li
{
display
:
inline
;
margin
:
0
10px
0
0
}
.tagcloudsize-1
a
{
font-size
:
14px
}
.tagcloudsize-2
a
{
font-size
:
16px
}
.tagcloudsize-3
a
{
font-size
:
18px
}
footer
{
border-top
:
1px
dotted
#B5B3A9
;
clear
:
both
;
margin
:
20px
0
;
line-height
:
30px
}
footer
a
,
footer
p
{
color
:
#666
;
display
:
inline
;
font-size
:
12px
}
footer
div
{
background
:
url("../images/icons.gif")
no-repeat
scroll
0
-304px
transparent
;
color
:
#2A2A2A
;
cursor
:
pointer
;
line-height
:
18px
;
margin
:
5px
17px
0
0
;
padding-left
:
16px
;
width
:
22px
;
float
:
right
;
white-space
:
nowrap
}
footer
span
{
margin
:
0px
}
footer
img
{
height
:
28px
}
.comments
{
position
:
relative
;
background
:
none
repeat
scroll
0
0
#FCFCFC
;
border-bottom
:
1px
solid
#CCCCCC
;
border-top
:
1px
solid
#CCCCCC
;
margin
:
15px
-15px
;
padding
:
0
15px
15px
}
.comment-title
{
background-color
:
#E3E9FF
;
border-top
:
1px
solid
#3366CC
;
padding
:
3px
12px
3px
12px
;
position
:
relative
}
.comment-body-ref
{
border-radius
:
6px
;
background-color
:
#FFFFFF
;
border
:
1px
solid
#CCCCCC
;
opacity
:
0.9
;
padding
:
6px
;
position
:
absolute
;
width
:
387px
;
left
:
174px
}
.comment-body-ref
.comment-author
{
width
:
67px
}
.comment-body-ref
.comment-info
{
width
:
300px
;
border-width
:
0px
}
.comment-body
{
margin-top
:
15px
}
.comment-author
{
float
:
left
;
text-align
:
center
;
width
:
81px
}
.comment-author
div
{
margin-top
:
10px
;
padding-right
:
14px
;
background
:
url("../images/commentpoint.png")
no-repeat
scroll
100%
33%
transparent
}
.comment-author
img
{
border-radius
:
4px
;
border
:
1px
solid
#999999
;
padding
:
1px
;
width
:
32px
;
height
:
32px
}
.comment-author
a
{
white-space
:
nowrap
;
margin-right
:
14px
;
font-weight
:
bold
}
.comment-info
{
border-radius
:
6px
;
width
:
440px
;
padding
:
5px
10px
;
background
:
#EDEFF0
;
border
:
1px
dotted
#EDEFF0
}
.comment-content
{
word-wrap
:
break-word
;
overflow
:
hidden
;
background
:
url("../images/comment.gif")
no-repeat
scroll
100%
100%
transparent
;
line-height
:
145%
;
margin
:
0
-15px
;
padding
:
9px
15px
10px
;
font-size
:
12px
}
.comment-form
img
{
cursor
:
pointer
}
.comment-form
input
,
.comment-form
textarea
{
height
:
16px
;
outline
:
none
;
font-family
:
Helvetica
,
Arial
,
sans-serif
;
color
:
#555555
;
background
:
url("../images/textfield.gif")
repeat-x
scroll
50%
0
#fff
;
border
:
1px
solid
#A6A6A6
;
padding
:
2px
1px
;
width
:
200px
}
.comment-form
textarea
{
width
:
541px
;
font-size
:
12px
;
height
:
auto
}
.comment-form
button
{
background
:
none
repeat
scroll
0
0
#B4D666
;
border-color
:
#B4D666
#81B840
#81B840
#B4D666
;
border-style
:
solid
;
border-width
:
1px
;
color
:
#2970A6
;
font-size
:
12px
;
padding
:
0px
6px
;
height
:
22px
;
line-height
:
22px
;
border-radius
:
0px
}
.comment-form
button
:hover
{
background
:
none
repeat
scroll
0
0
#98C64C
;
border-color
:
#76B33A
#98C64C
#98C64C
#76B33A
;
color
:
#074A7E
}
.error-msg
{
color
:
#3366CC
}
#a
,
#b
{
margin
:
0
auto
;
position
:
relative
}
#a
{
border-radius
:
4px
;
box-shadow
:
0
2px
2px
rgba
(
0
,
0
,
0
,
0.3
);
background
:
#EEE
;
margin
:
15px
auto
;
padding
:
10px
10px
0
10px
;
width
:
800px
}
#b
{
overflow
:
hidden
}
#c
,
.meta
,
.s
,
nav
ul
{
border-radius
:
4px
;
background
:
#ddd
}
#c
{
margin
:
0
0
20px
0
;
padding
:
5px
10px
;
width
:
178px
}
#c
p
,
#c
a
{
font-size
:
11px
;
line-height
:
15px
}
#c
p
{
margin
:
0
0
10px
0
}
#c
img
{
border-radius
:
4px
;
float
:
left
;
margin
:
4px
10px
2px
0
}
.meta
{
margin
:
10px
0
30px
;
padding
:
2px
5px
}
.meta
p
,
.meta
a
{
font-size
:
10px
;
margin
:
0
}
nav
ul
{
padding
:
10px
}
nav
ul
ul
{
border-radius
:
none
;
box-shadow
:
none
}
.single_page
{
border-radius
:
4px
;
box-shadow
:
0
2px
2px
rgba
(
0
,
0
,
0
,
0.2
);
background
:
#F2F7F8
;
padding
:
10px
;
margin-bottom
:
25px
;
width
:
531px
}
::-webkit-scrollbar
{
width
:
6px
}
::-webkit-scrollbar-track
{
background-color
:
#bbb
}
::-webkit-scrollbar-thumb
{
background-color
:
#eee
}
::-webkit-scrollbar-thumb:hover
{
background-color
:
#888
}
.article__toc
{
overflow
:
auto
}
.article__toc
::-webkit-scrollbar
{
display
:
none
}
.article__toc
li
{
list-style-type
:
none
}
.article__toc
li
a
{
padding-left
:
10px
;
display
:
block
;
white-space
:
nowrap
;
overflow
:
hidden
;
text-overflow
:
ellipsis
}
.article__toc
li
a
:hover
{
text-decoration
:
none
}
.article__toc
li
.toc__h3
a
{
padding-left
:
20px
}
.article__toc
li
.toc__h4
a
{
padding-left
:
30px
}
.article__toc
li
.toc__h5
a
{
padding-left
:
40px
}
@-webkit-keyframes
tooltip-appear
{
from
{
opacity
:
0
}
to
{
opacity
:
1
}}
@keyframes
tooltip-appear
{
from
{
opacity
:
0
}
to
{
opacity
:
1
}}
.vditor-tooltipped
{
position
:
relative
;
cursor
:
pointer
}
.vditor-tooltipped
::after
{
position
:
absolute
;
z-index
:
1000000
;
display
:
none
;
padding
:
5px
8px
;
font-size
:
11px
;
font-weight
:
normal
;
-webkit-font-smoothing
:
subpixel-antialiased
;
color
:
#fff
;
text-align
:
center
;
text-decoration
:
none
;
text-shadow
:
none
;
text-transform
:
none
;
letter-spacing
:
normal
;
word-wrap
:
break-word
;
white-space
:
pre
;
pointer-events
:
none
;
content
:
attr
(
aria-label
);
background
:
rgba
(
0
,
0
,
0
,
0.8
);
border-radius
:
3px
;
line-height
:
16px
;
opacity
:
0
}
.vditor-tooltipped
::before
{
position
:
absolute
;
z-index
:
1000001
;
display
:
none
;
width
:
0
;
height
:
0
;
color
:
rgba
(
0
,
0
,
0
,
0.8
);
pointer-events
:
none
;
content
:
""
;
border
:
5px
solid
transparent
;
opacity
:
0
}
.vditor-tooltipped--hover
::before
,
.vditor-tooltipped--hover
::after
,
.vditor-tooltipped
:hover::before
,
.vditor-tooltipped
:hover::after
,
.vditor-tooltipped
:active::before
,
.vditor-tooltipped
:active::after
,
.vditor-tooltipped
:focus::before
,
.vditor-tooltipped
:focus::after
{
display
:
inline-block
;
text-decoration
:
none
;
-webkit-animation-name
:
tooltip-appear
;
animation-name
:
tooltip-appear
;
-webkit-animation-duration
:
0.15s
;
animation-duration
:
0.15s
;
-webkit-animation-fill-mode
:
forwards
;
animation-fill-mode
:
forwards
;
-webkit-animation-timing-function
:
ease-in
;
animation-timing-function
:
ease-in
}
.vditor-tooltipped__s
::after
,
.vditor-tooltipped__se
::after
,
.vditor-tooltipped__sw
::after
{
top
:
100%
;
right
:
50%
;
margin-top
:
5px
}
.vditor-tooltipped__s
::before
,
.vditor-tooltipped__se
::before
,
.vditor-tooltipped__sw
::before
{
top
:
auto
;
right
:
50%
;
bottom
:
-5px
;
margin-right
:
-5px
;
border-bottom-color
:
rgba
(
0
,
0
,
0
,
0.8
)}
.vditor-tooltipped__se
::after
{
right
:
auto
;
left
:
50%
;
margin-left
:
-15px
}
.vditor-tooltipped__sw
::after
{
margin-right
:
-15px
}
.vditor-tooltipped__n
::after
,
.vditor-tooltipped__ne
::after
,
.vditor-tooltipped__nw
::after
{
right
:
50%
;
bottom
:
100%
;
margin-bottom
:
5px
}
.vditor-tooltipped__n
::before
,
.vditor-tooltipped__ne
::before
,
.vditor-tooltipped__nw
::before
{
top
:
-5px
;
right
:
50%
;
bottom
:
auto
;
margin-right
:
-5px
;
border-top-color
:
rgba
(
0
,
0
,
0
,
0.8
)}
.vditor-tooltipped__ne
::after
{
right
:
auto
;
left
:
50%
;
margin-left
:
-15px
}
.vditor-tooltipped__nw
::after
{
margin-right
:
-15px
}
.vditor-tooltipped__s
::after
,
.vditor-tooltipped__n
::after
{
-webkit-transform
:
translateX
(
50%
);
transform
:
translateX
(
50%
)}
.vditor-tooltipped__w
::after
{
right
:
100%
;
bottom
:
50%
;
margin-right
:
5px
;
-webkit-transform
:
translateY
(
50%
);
transform
:
translateY
(
50%
)}
.vditor-tooltipped__w
::before
{
top
:
50%
;
bottom
:
50%
;
left
:
-5px
;
margin-top
:
-5px
;
border-left-color
:
rgba
(
0
,
0
,
0
,
0.8
)}
.vditor-tooltipped__e
::after
{
bottom
:
50%
;
left
:
100%
;
margin-left
:
5px
;
-webkit-transform
:
translateY
(
50%
);
transform
:
translateY
(
50%
)}
.vditor-tooltipped__e
::before
{
top
:
50%
;
right
:
-5px
;
bottom
:
50%
;
margin-top
:
-5px
;
border-right-color
:
rgba
(
0
,
0
,
0
,
0.8
)}
@-webkit-keyframes
scale-in
{
0
%
{
opacity
:
0
;
-webkit-transform
:
scale
(
0.5
);
transform
:
scale
(
0.5
)}
100
%
{
opacity
:
1
;
-webkit-transform
:
scale
(
1
);
transform
:
scale
(
1
)}}
@keyframes
scale-in
{
0
%
{
opacity
:
0
;
-webkit-transform
:
scale
(
0.5
);
transform
:
scale
(
0.5
)}
100
%
{
opacity
:
1
;
-webkit-transform
:
scale
(
1
);
transform
:
scale
(
1
)}}
.vditor-panel
{
background-color
:
#fff
;
position
:
absolute
;
box-shadow
:
0
1px
2px
rgba
(
0
,
0
,
0
,
0.2
);
border-radius
:
3px
;
padding
:
5px
;
z-index
:
3
;
font-size
:
14px
;
display
:
none
;
-webkit-user-select
:
none
;
-moz-user-select
:
none
;
-ms-user-select
:
none
;
user-select
:
none
;
max-width
:
320px
;
min-width
:
80px
;
-webkit-animation-duration
:
.15s
;
animation-duration
:
.15s
;
-webkit-animation-name
:
scale-in
;
animation-name
:
scale-in
;
-webkit-animation-timing-function
:
cubic-bezier
(
0.2
,
0
,
0.13
,
1.5
);
animation-timing-function
:
cubic-bezier
(
0.2
,
0
,
0.13
,
1.5
)}
.vditor-panel--none
{
color
:
#4285f4
;
padding
:
0
;
-webkit-animation
:
none
;
animation
:
none
;
background-color
:
#f6f8fa
;
min-width
:
auto
;
max-width
:
none
}
.vditor-panel
h1
,
.vditor-panel
h2
,
.vditor-panel
h3
,
.vditor-panel
h4
,
.vditor-panel
h5
,
.vditor-panel
h6
{
margin
:
0
;
cursor
:
pointer
;
padding
:
3px
10px
;
border-radius
:
3px
;
line-height
:
normal
}
.vditor-panel
h1
:hover
,
.vditor-panel
h2
:hover
,
.vditor-panel
h3
:hover
,
.vditor-panel
h4
:hover
,
.vditor-panel
h5
:hover
,
.vditor-panel
h6
:hover
{
background-color
:
#4285f4
;
color
:
#fff
}
.vditor-input
{
border
:
0
;
padding
:
3px
5px
;
background-color
:
#f6f8fa
}
.vditor-input
:focus
{
background-color
:
#fff
;
outline
:
none
}
.vditor-icon
{
color
:
#586069
;
cursor
:
pointer
;
float
:
left
;
padding
:
2px
5px
;
height
:
19px
;
width
:
25px
;
background-color
:
transparent
;
border
:
0
;
box-sizing
:
border-box
}
.vditor-icon
:hover
,
.vditor-icon--current
{
color
:
#4285f4
;
background-color
:
transparent
}
.vditor-icon
:focus
{
outline
:
none
}
.vditor-icon
svg
{
height
:
15px
!important
;
width
:
15px
!important
;
float
:
left
;
fill
:
currentColor
}
.vditor-toolbar
{
background-color
:
#f6f8fa
;
border-bottom
:
1px
solid
#d1d5da
;
padding
:
0
5px
;
border-radius
:
3px
3px
0
0
}
.vditor-toolbar
>
div
{
float
:
left
}
.vditor-toolbar
>
div
>
.vditor-tooltipped
{
border
:
0
;
margin
:
0
;
padding
:
10px
5px
;
background-color
:
transparent
;
height
:
35px
;
width
:
25px
;
box-sizing
:
border-box
}
.vditor-toolbar
>
div
>
.vditor-tooltipped
:focus
{
outline
:
none
}
.vditor-toolbar
.vditor-tooltipped
{
color
:
#586069
}
.vditor-toolbar
.vditor-tooltipped
:hover
{
color
:
#4285f4
}
.vditor-toolbar
svg
{
fill
:
currentColor
;
display
:
inline-block
;
stroke-width
:
0
;
stroke
:
currentColor
;
width
:
15px
;
height
:
15px
}
.vditor-toolbar
input
{
position
:
absolute
;
width
:
25px
;
height
:
35px
;
top
:
0
;
left
:
0
;
cursor
:
pointer
;
opacity
:
.001
;
overflow
:
hidden
}
.vditor-menu--current
svg
{
color
:
#4285f4
}
.vditor-menu__divider
{
width
:
10px
;
height
:
35px
}
.vditor-menu__br
{
width
:
100%
;
padding
:
0
!important
;
height
:
0
!important
}
.vditor-menu--disabled
svg
{
color
:
rgba
(
88
,
96
,
105
,
0.6
);
cursor
:
not-allowed
}
.vditor-emojis
{
display
:
inline-block
;
overflow
:
auto
}
.vditor-emojis
::-webkit-scrollbar
{
display
:
none
}
.vditor-emojis__tip
{
-webkit-box-flex
:
1
;
flex
:
1
;
width
:
200px
;
margin-right
:
10px
;
color
:
#586069
;
white-space
:
nowrap
;
text-overflow
:
ellipsis
;
overflow
:
hidden
}
.vditor-emojis__tail
{
margin-top
:
5px
;
font-size
:
12px
;
color
:
#586069
;
display
:
-webkit-box
;
display
:
flex
}
.vditor-emojis__tail
a
{
text-decoration
:
none
;
color
:
#586069
}
.vditor-emojis__tail
a
:hover
{
color
:
#4285f4
}
.vditor-emojis
button
{
cursor
:
pointer
;
border-radius
:
3px
;
float
:
left
;
height
:
30px
;
width
:
30px
;
text-align
:
center
;
line-height
:
26px
;
padding
:
3px
;
box-sizing
:
border-box
;
font-size
:
16px
;
-webkit-transition
:
all
0.15s
ease-in-out
;
transition
:
all
0.15s
ease-in-out
;
border
:
0
;
margin
:
0
;
background-color
:
transparent
;
overflow
:
hidden
}
.vditor-emojis
button
:focus
{
outline
:
none
}
.vditor-emojis
button
:hover
.vditor-emojis__icon
{
display
:
inline-block
;
-webkit-transform
:
scale
(
1.2
);
transform
:
scale
(
1.2
)}
.vditor-emojis
img
{
height
:
20px
;
width
:
20px
;
float
:
left
;
margin
:
3px
0
0
3px
}
@-webkit-keyframes
slideInDown
{
from
{
-webkit-transform
:
translate3d
(
0
,
-100%
,
0
);
transform
:
translate3d
(
0
,
-100%
,
0
);
visibility
:
visible
}
to
{
-webkit-transform
:
translate3d
(
0
,
0
,
0
);
transform
:
translate3d
(
0
,
0
,
0
)}}
@keyframes
slideInDown
{
from
{
-webkit-transform
:
translate3d
(
0
,
-100%
,
0
);
transform
:
translate3d
(
0
,
-100%
,
0
);
visibility
:
visible
}
to
{
-webkit-transform
:
translate3d
(
0
,
0
,
0
);
transform
:
translate3d
(
0
,
0
,
0
)}}
.vditor
{
display
:
-webkit-box
;
display
:
flex
;
-webkit-box-orient
:
vertical
;
-webkit-box-direction
:
normal
;
flex-direction
:
column
;
border
:
1px
solid
#d1d5da
;
border-radius
:
3px
;
box-sizing
:
border-box
;
font-family
:
"Helvetica Neue"
,
"Luxi Sans"
,
"DejaVu Sans"
,
Tahoma
,
"Hiragino Sans GB"
,
"Microsoft Yahei"
,
sans-serif
,
"Apple Color Emoji"
,
"Segoe UI Emoji"
,
"Noto Color Emoji"
,
"Segoe UI Symbol"
,
"Android Emoji"
,
"EmojiSymbols"
}
.vditor--fullscreen
{
position
:
fixed
;
top
:
0
;
width
:
100%
!important
;
left
:
0
;
height
:
100vh
!important
;
z-index
:
90
;
background-color
:
#fff
}
.vditor-content
{
display
:
-webkit-box
;
display
:
flex
;
min-height
:
60px
;
-webkit-box-flex
:
1
;
flex
:
1
;
position
:
relative
}
.vditor-textarea
{
font-family
:
"Helvetica Neue"
,
"Luxi Sans"
,
"DejaVu Sans"
,
Tahoma
,
"Hiragino Sans GB"
,
"Microsoft Yahei"
,
sans-serif
,
"Apple Color Emoji"
,
"Segoe UI Emoji"
,
"Noto Color Emoji"
,
"Segoe UI Symbol"
,
"Android Emoji"
,
"EmojiSymbols"
;
margin
:
0
1px
0
0
;
height
:
100%
;
overflow
:
auto
;
width
:
100%
;
-webkit-box-flex
:
1
;
flex
:
1
;
border
:
0
;
resize
:
none
;
padding
:
10px
9px
10px
10px
;
box-sizing
:
border-box
;
background-color
:
#fafbfc
;
outline
:
0
none
;
font-size
:
16px
;
line-height
:
22px
;
color
:
#24292e
;
border-radius
:
0
0
3px
3px
;
font-variant-ligatures
:
no-common-ligatures
;
white-space
:
pre-wrap
;
word-break
:
break-word
;
word-wrap
:
break-word
}
.vditor-textarea
[
contenteditable
=
"false"
]
{
opacity
:
0.3
;
cursor
:
not-allowed
}
.vditor-textarea
:focus
{
background-color
:
#fff
}
.vditor-textarea
:empty::before
{
content
:
attr
(
placeholder
);
color
:
rgba
(
36
,
41
,
46
,
0.68
)}
.vditor-preview
{
-webkit-box-flex
:
1
;
flex
:
1
;
background-color
:
#fff
;
overflow
:
auto
;
margin-left
:
-1px
;
padding
:
10px
;
box-shadow
:
inset
1px
0
#d1d5da
;
box-sizing
:
border-box
;
border-radius
:
0
0
3px
0
}
.vditor-preview
>
div
::-webkit-scrollbar
{
display
:
none
}
.vditor-preview
>
.vditor-reset
{
margin
:
0
auto
}
.vditor-devtools
{
display
:
none
;
background-color
:
#fff
;
overflow
:
auto
;
-webkit-box-flex
:
1
;
flex
:
1
;
box-shadow
:
inset
1px
0
#d1d5da
;
box-sizing
:
border-box
;
border-radius
:
0
0
3px
0
;
padding
:
10px
}
.vditor-counter
{
padding
:
0
3px
;
position
:
absolute
;
bottom
:
10px
;
right
:
20px
;
color
:
#24292e
;
background-color
:
rgba
(
255
,
255
,
255
,
0.6
);
border-radius
:
3px
;
font-size
:
12px
;
-webkit-user-select
:
none
;
-moz-user-select
:
none
;
-ms-user-select
:
none
;
user-select
:
none
;
z-index
:
2
}
.vditor-counter--error
{
color
:
#d23f31
;
background-color
:
rgba
(
210
,
63
,
49
,
0.1
)}
.vditor-resize
{
padding
:
3px
0
;
cursor
:
row-resize
;
-webkit-user-select
:
none
;
-moz-user-select
:
none
;
-ms-user-select
:
none
;
user-select
:
none
;
position
:
absolute
;
width
:
100%
;
z-index
:
2
}
.vditor-resize--top
{
top
:
-3px
}
.vditor-resize--bottom
{
bottom
:
-3px
}
.vditor-resize
>
div
{
height
:
3px
;
background-color
:
#f6f8fa
;
-webkit-transition
:
all
0.15s
ease-in-out
;
transition
:
all
0.15s
ease-in-out
}
.vditor-resize
:hover
>
div
,
.vditor-resize--selected
>
div
{
background-color
:
#4285f4
}
.vditor-resize
:hover
svg
,
.vditor-resize--selected
svg
{
color
:
#fff
}
.vditor-resize
svg
{
fill
:
currentColor
;
stroke-width
:
0
;
stroke
:
currentColor
;
width
:
13px
;
height
:
3px
;
display
:
block
;
margin
:
0
auto
;
color
:
#586069
}
.vditor-upload
{
position
:
absolute
;
height
:
3px
;
left
:
0
;
top
:
-2px
;
-webkit-transition
:
all
0.15s
ease-in-out
;
transition
:
all
0.15s
ease-in-out
;
background-color
:
rgba
(
66
,
133
,
244
,
0.8
)}
.vditor-tip
{
position
:
absolute
;
font-size
:
12px
;
top
:
10px
;
color
:
#fff
;
-webkit-animation-duration
:
.15s
;
animation-duration
:
.15s
;
-webkit-animation-fill-mode
:
both
;
animation-fill-mode
:
both
;
left
:
50%
}
.vditor-tip--show
{
display
:
block
;
-webkit-animation-name
:
slideInDown
;
animation-name
:
slideInDown
}
.vditor-tip__content
{
text-align
:
left
;
display
:
inline-block
;
line-height
:
16px
;
padding
:
3px
10px
;
border-radius
:
3px
;
background
:
rgba
(
66
,
133
,
244
,
0.8
);
position
:
relative
;
margin-left
:
-50%
}
.vditor-tip__content
ul
{
margin
:
2px
0
;
padding
:
0
0
0
18px
}
.vditor-tip__close
{
position
:
absolute
;
color
:
#586069
;
top
:
-7px
;
right
:
-15px
;
font-weight
:
bold
;
cursor
:
pointer
}
.vditor-tip__close
:hover
{
color
:
#4285f4
}
.vditor-hint
{
background-color
:
#fff
;
position
:
absolute
;
box-shadow
:
0
1px
2px
rgba
(
0
,
0
,
0
,
0.2
);
border-radius
:
3px
;
padding
:
5px
0
;
z-index
:
4
;
line-height
:
20px
;
list-style
:
none
;
color
:
#24292e
;
font-size
:
12px
;
margin
:
0
;
max-width
:
250px
;
min-width
:
80px
;
display
:
none
}
.vditor-hint
button
{
display
:
block
;
padding
:
3px
10px
;
border
:
0
;
border-bottom
:
1px
solid
#d1d5da
;
line-height
:
20px
;
width
:
100%
;
box-sizing
:
border-box
;
text-align
:
left
;
margin
:
0
;
background-color
:
transparent
}
.vditor-hint
button
:last-child
{
border-bottom
:
0
}
.vditor-hint--current
,
.vditor-hint
button
:hover
{
background-color
:
#4285f4
!important
;
color
:
#fff
}
.vditor-hint__emoji
{
font-size
:
16px
;
float
:
left
;
margin-right
:
3px
}
.vditor-hint
img
{
height
:
20px
;
width
:
20px
;
float
:
left
;
margin-right
:
3px
}
.vditor-reset
{
font-variant-ligatures
:
no-common-ligatures
;
font-family
:
"Helvetica Neue"
,
"Luxi Sans"
,
"DejaVu Sans"
,
Tahoma
,
"Hiragino Sans GB"
,
"Microsoft Yahei"
,
sans-serif
,
"Apple Color Emoji"
,
"Segoe UI Emoji"
,
"Noto Color Emoji"
,
"Segoe UI Symbol"
,
"Android Emoji"
,
"EmojiSymbols"
;
word-wrap
:
break-word
;
overflow
:
auto
;
line-height
:
1.5
;
font-size
:
16px
;
word-break
:
break-word
}
.vditor-reset--anchor
{
padding-left
:
20px
}
.vditor-reset--error
{
color
:
#d23f31
;
font-size
:
12px
;
display
:
block
;
line-height
:
16px
}
.vditor-reset
ul
ul
ul
{
list-style-type
:
square
}
.vditor-reset
ul
ul
{
list-style-type
:
circle
}
.vditor-reset
ul
{
list-style-type
:
disc
}
.vditor-reset
ul
,
.vditor-reset
ol
{
padding-left
:
2em
;
margin-top
:
0
;
margin-bottom
:
16px
}
.vditor-reset
li
+
li
{
margin-top
:
0.25em
}
.vditor-reset
audio
{
max-width
:
100%
}
.vditor-reset
audio
:focus
{
outline
:
none
}
.vditor-reset
video
{
max-height
:
90vh
;
max-width
:
100%
}
.vditor-reset
img
{
max-width
:
100%
}
.vditor-reset
img
.emoji
{
cursor
:
auto
;
max-width
:
20px
;
vertical-align
:
sub
}
.vditor-reset
h1
,
.vditor-reset
h2
,
.vditor-reset
h3
,
.vditor-reset
h4
,
.vditor-reset
h5
,
.vditor-reset
h6
{
margin-top
:
24px
;
margin-bottom
:
16px
;
font-weight
:
600
;
line-height
:
1.25
}
.vditor-reset
h1
:hover
.vditor-anchor
svg
,
.vditor-reset
h2
:hover
.vditor-anchor
svg
,
.vditor-reset
h3
:hover
.vditor-anchor
svg
,
.vditor-reset
h4
:hover
.vditor-anchor
svg
,
.vditor-reset
h5
:hover
.vditor-anchor
svg
,
.vditor-reset
h6
:hover
.vditor-anchor
svg
{
visibility
:
visible
}
.vditor-reset
h1
{
padding-bottom
:
0.3em
;
font-size
:
1.7em
;
border-bottom
:
1px
solid
#eee
}
.vditor-reset
h2
{
padding-bottom
:
0.3em
;
font-size
:
1.5em
;
border-bottom
:
1px
solid
#eee
}
.vditor-reset
h3
{
font-size
:
1.25em
}
.vditor-reset
h4
{
font-size
:
1em
}
.vditor-reset
h5
{
font-size
:
0.875em
}
.vditor-reset
h6
{
font-size
:
0.85em
}
.vditor-reset
hr
{
height
:
2px
;
padding
:
0
;
margin
:
24px
0
;
background-color
:
#e7e7e7
;
border
:
0
}
.vditor-reset
p
{
margin-top
:
0
;
margin-bottom
:
16px
}
.vditor-reset
blockquote
{
padding
:
0
1em
;
color
:
#777
;
border-left
:
0.25em
solid
#ddd
;
margin
:
0
0
16px
0
}
.vditor-reset
blockquote
p
{
margin
:
0
}
.vditor-reset
ins
>
iframe
{
border
:
0
}
.vditor-reset
iframe
{
border
:
1px
solid
#d1d5da
;
max-width
:
100%
;
box-sizing
:
border-box
}
.vditor-reset
iframe
.iframe__video
{
min-width
:
80%
;
min-height
:
36vh
}
.vditor-reset
table
{
width
:
100%
;
border-collapse
:
collapse
;
empty-cells
:
show
;
margin-bottom
:
16px
;
display
:
block
;
overflow
:
auto
;
border-spacing
:
0
}
.vditor-reset
table
tr
{
background-color
:
#fff
;
border-top
:
1px
solid
#c6cbd1
}
.vditor-reset
table
td
,
.vditor-reset
table
th
{
padding
:
6px
13px
;
border
:
1px
solid
#dfe2e5
;
word-break
:
normal
}
.vditor-reset
table
th
{
font-weight
:
600
}
.vditor-reset
table
tbody
tr
:nth-child
(
2n
)
{
background-color
:
#f6f8fa
}
.vditor-reset
code
:not
(
.hljs
)
:not
(
.highlight-chroma
)
{
padding
:
0.2em
0.4em
;
margin
:
0
;
font-size
:
85%
;
border-radius
:
3px
;
font-family
:
mononoki
,
Consolas
,
"Liberation Mono"
,
Menlo
,
Courier
,
monospace
,
"Apple Color Emoji"
,
"Segoe UI Emoji"
,
"Noto Color Emoji"
,
"Segoe UI Symbol"
,
"Android Emoji"
,
"EmojiSymbols"
;
word-break
:
break-word
;
background-size
:
20px
20px
;
white-space
:
pre-wrap
;
background-color
:
rgba
(
27
,
31
,
35
,
0.05
)}
.vditor-reset
pre
>
code
{
margin
:
0
;
font-size
:
85%
;
padding
:
0.5em
;
border-radius
:
5px
;
display
:
block
;
overflow
:
auto
;
white-space
:
pre
;
font-family
:
mononoki
,
Consolas
,
"Liberation Mono"
,
Menlo
,
Courier
,
monospace
,
"Apple Color Emoji"
,
"Segoe UI Emoji"
,
"Noto Color Emoji"
,
"Segoe UI Symbol"
,
"Android Emoji"
,
"EmojiSymbols"
;
background-size
:
20px
20px
;
background-image
:
url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8AgMAAABHkjHhAAAACVBMVEWAgIBaWlo+Pj7rTFvWAAAAA3RSTlMHCAw+VhR4AAAA+klEQVQoz4WSMW7EQAhFPxKWNh2FCx+HkaZI6RRb5DYbyVfIJXLKDCFoMbaTKSw/8ZnPAPjaH2xgZcUNUDADD7D9LtDBCLZ45fbkvo/30K8yeI64pPwl6znd/3n/Oe93P3ho9qeh72btTFzqkz0rsJle8Zr81OLEwZ1dv/713uWqvu2pl+k0fy7MWtj9r/tN5q/02z89qa/L4Dc2LvM93kezPfXlME/O86EbY/V9GB9ePX8G1/6W+/9h1dq/HGfTfzT3j/xNo7522Bfnqe5jO/fvhVthlfk434v3iO9zG/UOphyPeinPl1J8Gtaa7xPTa/Dk+RIs4deMvwGvcGsmsCvJ0AAAAABJRU5ErkJggg==)
;
word-break
:
initial
;
word-wrap
:
normal
}
.vditor-reset
pre
:hover
div
.vditor-copy
{
display
:
block
}
.vditor-reset
kbd
{
display
:
inline-block
;
padding
:
3px
5px
;
font
:
11px
Consolas
,
"Liberation Mono"
,
Menlo
,
Courier
,
monospace
;
line-height
:
10px
;
color
:
#555
;
vertical-align
:
middle
;
background-color
:
#fcfcfc
;
border
:
solid
1px
#d1d5da
;
border-bottom-color
:
#bbb
;
border-radius
:
3px
;
box-shadow
:
inset
0
-1px
0
#bbb
}
.vditor-reset
summary
{
cursor
:
pointer
}
.vditor-reset
summary
:focus
{
outline
:
none
}
.vditor-reset
svg
{
height
:
auto
;
width
:
auto
}
.vditor-reset
p
:last-child
,
.vditor-reset
blockquote
:last-child
,
.vditor-reset
pre
:last-child
,
.vditor-reset
ul
:last-child
,
.vditor-reset
ol
:last-child
,
.vditor-reset
hr
:last-child
{
margin-bottom
:
0
}
.vditor-reset
.language-echarts
{
overflow
:
hidden
;
height
:
420px
}
.vditor-task
{
list-style
:
none
}
.vditor-task
input
{
margin
:
0
.2em
.25em
-1.6em
;
font-size
:
12px
;
vertical-align
:
middle
}
.vditor-copy
{
position
:
relative
;
display
:
none
;
z-index
:
1
}
.vditor-copy
textarea
{
position
:
absolute
;
left
:
-100000px
;
height
:
10px
}
.vditor-copy
span
{
cursor
:
pointer
;
position
:
absolute
;
right
:
0.5em
;
top
:
0.5em
;
height
:
14px
;
width
:
14px
;
display
:
block
;
background-color
:
#f6f8fa
;
border-radius
:
3px
;
padding
:
3px
}
.vditor-copy
svg
{
color
:
#586069
;
height
:
14px
;
width
:
14px
!important
;
display
:
block
;
fill
:
currentColor
}
.vditor-linenumber
{
padding-left
:
4em
!important
;
position
:
relative
}
.vditor-linenumber__rows
{
position
:
absolute
;
pointer-events
:
none
;
top
:
0.5em
;
left
:
0
;
width
:
3em
;
-webkit-user-select
:
none
;
-moz-user-select
:
none
;
-ms-user-select
:
none
;
user-select
:
none
;
counter-reset
:
linenumber
}
.vditor-linenumber__rows
>
span
{
pointer-events
:
none
;
display
:
block
}
.vditor-linenumber__rows
>
span
::before
{
counter-increment
:
linenumber
;
content
:
counter
(
linenumber
);
color
:
rgba
(
158
,
150
,
150
,
0.38
);
display
:
block
;
padding-right
:
1em
;
text-align
:
right
}
.vditor-speech
{
position
:
absolute
;
display
:
none
;
background-color
:
#f6f8fa
;
border
:
1px
solid
#d1d5da
;
border-radius
:
3px
;
padding
:
3px
;
cursor
:
pointer
;
color
:
#586069
}
.vditor-speech
:hover
,
.vditor-speech--current
{
color
:
#4285f4
}
.vditor-speech
svg
{
height
:
14px
;
width
:
14px
;
fill
:
currentColor
;
display
:
block
;
stroke-width
:
0
;
stroke
:
currentColor
}
.vditor-anchor
{
float
:
left
;
padding-right
:
4px
;
margin-left
:
-20px
}
.vditor-anchor
svg
{
visibility
:
hidden
}
.vditor-anchor
:hover
svg
{
visibility
:
visible
}
.vditor-anchor
:focus
{
outline
:
none
}
.vditor-linkcard
{
margin
:
31px
auto
16px
;
-webkit-transition
:
all
0.15s
ease-in-out
;
transition
:
all
0.15s
ease-in-out
;
cursor
:
pointer
;
max-width
:
768px
;
padding
:
0
10px
}
.vditor-linkcard
a
{
border-radius
:
3px
;
background-color
:
#f6f8fa
;
overflow
:
hidden
;
max-height
:
250px
;
display
:
-webkit-box
;
display
:
flex
;
text-decoration
:
none
;
flex-wrap
:
wrap-reverse
;
box-shadow
:
0
1px
2px
rgba
(
0
,
0
,
0
,
0.2
)}
.vditor-linkcard
a
:hover
{
box-shadow
:
0
0
3px
rgba
(
0
,
0
,
0
,
0.13
),
0
3px
6px
rgba
(
0
,
0
,
0
,
0.26
);
text-decoration
:
none
}
.vditor-linkcard
a
:visited
.vditor-linkcard__abstract
{
color
:
rgba
(
88
,
96
,
105
,
0.6
)}
.vditor-linkcard__info
{
padding
:
10px
;
min-width
:
200px
;
box-sizing
:
border-box
;
-webkit-box-flex
:
1
;
flex
:
1
}
.vditor-linkcard__title
{
font-size
:
14px
;
font-weight
:
400
;
color
:
#24292e
;
display
:
-webkit-box
;
display
:
flex
;
-webkit-box-align
:
center
;
align-items
:
center
}
.vditor-linkcard__title
img
{
cursor
:
pointer
;
height
:
20px
;
width
:
20px
;
border-radius
:
3px
;
flex-shrink
:
0
;
margin-right
:
5px
}
.vditor-linkcard__abstract
{
word-wrap
:
break-word
;
word-break
:
break-all
;
-webkit-line-clamp
:
2
;
overflow
:
hidden
;
text-overflow
:
ellipsis
;
-webkit-box-orient
:
vertical
;
display
:
-webkit-box
;
font-size
:
13px
;
color
:
#586069
;
margin
:
5px
0
}
.vditor-linkcard__site
{
font-size
:
12px
;
color
:
#4285f4
}
.vditor-linkcard__image
{
background-size
:
cover
;
background-repeat
:
no-repeat
;
background-position
:
center
center
;
max-width
:
250px
;
min-width
:
126px
;
cursor
:
pointer
;
background-color
:
#fff
}
.vditor-wysiwyg
{
background-color
:
#fafbfc
;
box-sizing
:
border-box
;
-webkit-box-flex
:
1
;
flex
:
1
;
margin
:
0
;
white-space
:
pre-wrap
;
position
:
relative
}
.vditor-wysiwyg
[
contenteditable
=
"false"
]
{
opacity
:
0.3
;
cursor
:
not-allowed
}
.vditor-wysiwyg
:focus
{
outline
:
none
;
background-color
:
#fff
}
.vditor-wysiwyg
blockquote
:empty::before
,
.vditor-wysiwyg
pre
>
code
:empty::before
{
content
:
' '
}
.vditor-wysiwyg__block
[
data-type
=
"html-block"
]>
pre
,
.vditor-wysiwyg__block
[
data-type
=
"math-block"
]>
pre
{
margin-bottom
:
0
}
.vditor-wysiwyg__block
>
pre
{
margin-bottom
:
-1em
}
.vditor-wysiwyg__block
>
pre
>
code
{
background-color
:
#fff
!important
;
border
:
1px
solid
#d1d5da
;
overflow
:
auto
!important
}
.vditor-wysiwyg__block
[
data-type
=
html-inline
]
.vditor-wysiwyg__preview
svg
{
fill
:
rgba
(
88
,
96
,
105
,
0.36
);
height
:
12px
;
cursor
:
pointer
;
width
:
12px
}
.vditor-wysiwyg__preview
{
cursor
:
pointer
;
white-space
:
initial
;
min-height
:
27px
}
.vditor-wysiwyg__preview
pre
{
margin-bottom
:
1em
!important
}
.vditor-wysiwyg
h1
:before
,
.vditor-wysiwyg
h2
:before
,
.vditor-wysiwyg
h3
:before
,
.vditor-wysiwyg
h4
:before
,
.vditor-wysiwyg
h5
:before
,
.vditor-wysiwyg
h6
:before
,
.vditor-wysiwyg
div
.vditor-wysiwyg__block
:before
{
float
:
left
;
padding-right
:
4px
;
margin-left
:
-29px
;
content
:
'h1'
;
font-size
:
0.85rem
;
font-weight
:
normal
;
text-transform
:
uppercase
;
color
:
rgba
(
88
,
96
,
105
,
0.36
)}
.vditor-wysiwyg
h2
:before
{
content
:
'h2'
}
.vditor-wysiwyg
h3
:before
{
content
:
'h3'
}
.vditor-wysiwyg
h4
:before
{
content
:
'h4'
}
.vditor-wysiwyg
h5
:before
{
content
:
'h5'
}
.vditor-wysiwyg
h6
:before
{
content
:
'h6'
}
.vditor-wysiwyg
div
.vditor-wysiwyg__block
:before
{
content
:
"</>"
}
.vditor-wysiwyg
details
{
white-space
:
initial
}
.vditor-wysiwyg
span
[
data-type
=
"backslash"
]>
span
{
display
:
none
;
color
:
rgba
(
88
,
96
,
105
,
0.36
)}
.vditor-reset--article
{
padding-bottom
:
10px
}
.vditor-reset--article
::-webkit-scrollbar
{
display
:
none
}
.left
{
float
:
left
}
.right
{
float
:
right
}
.clear
:before
,
.clear
:after
{
display
:
table
;
content
:
""
}
.clear
:after
{
clear
:
both
}
.none
{
display
:
none
}
header
,
footer
,
article
,
nav
,
section
,
aside
,
time
,
hgroup
{
display
:
block
}
html
,
body
,
header
,
footer
,
article
,
nav
,
section
,
aside
,
time
,
h1
,
h2
,
h3
,
p
,
a
,
ul
,
li
,
dl
,
dd
,
dt
,
table
,
thead
,
tfoot
,
tbody
,
th
,
tr
,
td
{
border
:
0
;
font
:
12px
/
22px
'Verdana'
,
'sans-serif'
;
margin
:
0
;
outline
:
0
;
padding
:
0
}
BODY
{
background
:
#DDD
;
margin
:
0px
0
0
0
;
color
:
#444
}
img
{
max-width
:
100%
;
vertical-align
:
middle
;
border
:
0
;
height
:
auto
;
overflow
:
hidden
;
font-size
:
12px
}
A
,
A
:LINK
,
A
:ACTIVE
,
A
:VISITED
{
color
:
#016f93
;
text-decoration
:
none
}
A
:HOVER
{
color
:
#DB0202
}
a
.selected
{
font-weight
:
bold
;
color
:
#000000
}
.h2
,
.h4
{
background
:
url(../images/ai4.png)
no-repeat
0
7px
;
border-bottom
:
1px
solid
#CCC
;
color
:
#666
;
font-weight
:
bold
;
margin
:
0
0
10px
;
padding
:
0
0
0
25px
}
.h2
{
background
:
url(../images/ai4.png)
no-repeat
0
6px
;
font-size
:
15px
}
.h2
a
{
font-weight
:
bold
;
font-size
:
15px
}
.h4
{
font-size
:
13px
;
background-position
:
0
5px
}
sup
{
color
:
#444
;
top
:
-4px
}
a
.sup
{
color
:
#444
;
cursor
:
text
;
font-size
:
12.5px
}
a
.sup
:link
{
color
:
#444
}
a
.sup
:hover
{
color
:
#444
}
a
.sup
:visited
{
color
:
#fff
}
header
{
border-radius
:
4px
;
background
:
#0098CC
url(../images/hd.jpg)
no-repeat
top
left
;
height
:
200px
;
margin
:
0
0
10px
0
;
padding
:
10px
10px
;
position
:
relative
}
header
a
:link
,
header
a
:active
,
header
a
:visited
{
font-weight
:
bold
;
color
:
#FFF
;
font-size
:
16px
}
header
a
:hover
{
color
:
#FFF
}
header
.user__sites
{
border-radius
:
4px
;
background
:
#FFF
;
bottom
:
20px
;
color
:
#000
;
font-weight
:
bold
;
opacity
:
0.5
;
padding
:
10px
;
position
:
absolute
;
right
:
20px
;
width
:
396px
}
header
.user__sites
.user__site
{
float
:
left
;
margin-right
:
8px
;
height
:
20px
;
color
:
#016f93
}
header
.user__sites
.user__site
:hover
{
color
:
#DB0202
}
header
.user__sites
.user__site
svg
{
height
:
20px
;
width
:
20px
;
fill
:
currentColor
}
article
{
border-radius
:
4px
;
background
:
#FFF
;
border
:
1px
solid
#CCC
;
float
:
right
;
height
:
auto
;
padding
:
20px
;
width
:
550px
}
article
h1
{
color
:
#666
;
font-weight
:
bold
;
font-size
:
15px
}
.highlight-1
,
.highlight-2
,
.highlight-3
{
-moz-border-radius
:
4px
;
-webkit-border-radius
:
4px
;
padding
:
5px
10px
}
.highlight-1
{
background
:
#FFCCCC
;
border
:
1px
dotted
#FF9966
}
.highlight-2
{
background
:
#FFFF99
;
border
:
1px
dotted
#FFCC33
}
.highlight-3
{
background
:
#CCFF99
;
border
:
1px
dotted
#CCCC33
}
cite
{
border-left
:
2px
solid
#0098CC
;
color
:
#666
;
font-size
:
12px
;
font-style
:
normal
;
font-weight
:
bold
;
margin
:
0
;
padding
:
5px
10px
}
blockquote
{
border-left
:
2px
solid
#0098CC
;
color
:
#666
;
margin
:
0
0
20px
0
;
padding
:
5px
10px
}
pre
{
color
:
#333
;
font-size
:
10px
;
line-height
:
15px
;
overflow
:
hidden
;
overflow-y
:
hidden
}
pre
code
{
background
:
#EEE
;
border-left
:
2px
solid
#0098CC
;
margin
:
0
0
10px
0
;
padding
:
5px
;
display
:
block
}
dl
.vevent
{
margin
:
-20px
0
20px
0
;
padding
:
0
}
.vevent
dt
{
font-size
:
10px
;
position
:
relative
;
left
:
0
;
top
:
22px
;
font-weight
:
bold
}
.vevent
dd
{
border-left
:
2px
solid
#0098CC
;
font-size
:
11px
;
margin
:
0
0
0
80px
;
padding
:
0
0
0
10px
}
dd
.summary
{
font-weight
:
bold
}
.vevent
a
{
font-size
:
11px
}
article
form
{
border-radius
:
4px
;
background
:
#DDD
;
margin
:
0
0
20px
;
padding
:
10px
}
article
label
{
color
:
#666
;
display
:
block
;
font-size
:
10px
;
font-weight
:
bold
;
margin
:
0
0
0
2px
}
article
input
,
article
textarea
{
border-radius
:
4px
;
border
:
1px
solid
#CCC
;
font-size
:
11px
;
padding
:
4px
5px
;
width
:
100%
;
box-sizing
:
border-box
}
article
ul
,
aside
ul
{
list-style
:
none
;
margin
:
0
0
20px
0
}
article
ul
{
margin
:
0
0
20px
23px
}
article
ul
li
{
background
:
url(../images/ai2.png)
no-repeat
0
8px
;
padding
:
0
0
0
17px
;
list-style
:
none
}
#vcomment
.vcomment
ul
li
{
background-image
:
none
}
aside
{
background
:
#EEE
;
float
:
left
;
margin
:
0
0
20px
0
;
width
:
200px
;
white-space
:
normal
}
aside
ul
.aside-comments
img
{
border-radius
:
4px
;
width
:
32px
;
height
:
32px
;
border
:
1px
solid
#999999
;
padding
:
1px
;
margin-top
:
5px
;
margin-right
:
5px
}
aside
ul
.aside-comments
a
{
font-weight
:
bold
}
aside
ul
.aside-comments
.side-comment
{
color
:
#555555
;
font-weight
:
normal
;
overflow
:
hidden
;
white-space
:
nowrap
;
width
:
158px
;
height
:
18px
}
aside
ul
.aside-comments
div
.left
>
div
>
div
{
display
:
none
}
aside
ul
.aside-comments
.side-comment
img
{
border
:
0px
;
height
:
16px
;
width
:
16px
;
padding
:
0px
;
margin-right
:
0px
;
margin-top
:
0
}
aside
ul
.aside-comments
li
{
padding
:
2px
0
}
aside
ul
.aside-comments
li
div
{
width
:
158px
}
aside
ul
.aside-comments
li
div
.left
div
{
height
:
18px
;
line-height
:
18px
;
overflow
:
hidden
;
text-overflow
:
ellipsis
}
aside
ul
.navi-tags
li
{
padding-left
:
0px
;
background-image
:
none
}
aside
ul
.navi-tags
li
img
{
margin-bottom
:
3px
;
padding-right
:
6px
;
height
:
16px
;
width
:
16px
}
#mostViewCountArticles
li
,
#mostCommentArticles
li
{
overflow
:
hidden
;
text-overflow
:
ellipsis
;
-o-text-overflow
:
ellipsis
}
#mostViewCountArticles
a
,
#mostCommentArticles
a
{
white-space
:
nowrap
}
.s
{
border-radius
:
4px
;
margin
:
0
0
20px
0
;
padding
:
10px
;
width
:
179px
}
.s
input
{
border-radius
:
4px
;
border
:
1px
solid
#AAA
;
color
:
#999
;
font-size
:
11px
;
padding
:
4px
5px
;
width
:
168px
}
nav
ul
{
list-style
:
none
}
nav
li
{
background
:
url(../images/ai1.png)
no-repeat
0
8px
;
padding
:
0
0
0
15px
}
nav
li
ul
,
aside
li
ul
li
ul
{
margin
:
0
}
nav
li
li
a
{
font-size
:
11px
}
nav
li
li
li
a
{
font-size
:
10px
}
nav
li
li
li
,
aside
li
.active
li
li
{
background
:
url(../images/ai8.png)
no-repeat
0
10px
}
nav
li
.active
,
aside
li
.active
li
{
background
:
url(../images/ai2.png)
no-repeat
0
8px
}
nav
.page-icon
{
float
:
left
;
height
:
14px
;
width
:
14px
;
margin
:
4px
4px
0
0
}
.gallery
{
list-style
:
none
;
margin
:
0
0
10px
}
.gallery
li
{
display
:
inline
;
margin
:
0
15px
0
0
}
.gallery
a
img
{
border
:
1px
solid
#999
;
height
:
50px
;
opacity
:
0.8
;
padding
:
1px
;
width
:
50px
}
.gallery
li
:last-child
{
margin
:
0
0
10px
0
}
.gallery
a
img
:hover
{
opacity
:
1
}
.adspace
{
border-radius
:
4px
;
box-shadow
:
0
2px
2px
rgba
(
0
,
0
,
0
,
0.3
);
background
:
#EEE
;
height
:
100%
;
margin
:
0
0
20px
0
;
padding
:
5px
10px
;
text-align
:
center
;
width
:
178px
}
.adspace
a
img
{
border
:
none
}
#tagcloud
{
overflow
:
hidden
;
width
:
200px
}
#tagcloud
li
{
display
:
inline
;
margin
:
0
10px
0
0
}
.tagcloudsize-1
a
{
font-size
:
14px
}
.tagcloudsize-2
a
{
font-size
:
16px
}
.tagcloudsize-3
a
{
font-size
:
18px
}
footer
{
border-top
:
1px
dotted
#B5B3A9
;
clear
:
both
;
margin
:
20px
0
;
line-height
:
30px
}
footer
a
,
footer
p
{
color
:
#666
;
display
:
inline
;
font-size
:
12px
}
footer
div
{
background
:
url("../images/icons.gif")
no-repeat
scroll
0
-304px
transparent
;
color
:
#2A2A2A
;
cursor
:
pointer
;
line-height
:
18px
;
margin
:
5px
17px
0
0
;
padding-left
:
16px
;
width
:
22px
;
float
:
right
;
white-space
:
nowrap
}
footer
span
{
margin
:
0px
}
footer
img
{
height
:
28px
}
.comments
{
position
:
relative
;
background
:
none
repeat
scroll
0
0
#FCFCFC
;
border-bottom
:
1px
solid
#CCCCCC
;
border-top
:
1px
solid
#CCCCCC
;
margin
:
15px
-15px
;
padding
:
0
15px
15px
}
.comment-title
{
background-color
:
#E3E9FF
;
border-top
:
1px
solid
#3366CC
;
padding
:
3px
12px
3px
12px
;
position
:
relative
}
.comment-body-ref
{
border-radius
:
6px
;
background-color
:
#FFFFFF
;
border
:
1px
solid
#CCCCCC
;
opacity
:
0.9
;
padding
:
6px
;
position
:
absolute
;
width
:
387px
;
left
:
174px
}
.comment-body-ref
.comment-author
{
width
:
67px
}
.comment-body-ref
.comment-info
{
width
:
300px
;
border-width
:
0px
}
.comment-body
{
margin-top
:
15px
}
.comment-author
{
float
:
left
;
text-align
:
center
;
width
:
81px
}
.comment-author
div
{
margin-top
:
10px
;
padding-right
:
14px
;
background
:
url("../images/commentpoint.png")
no-repeat
scroll
100%
33%
transparent
}
.comment-author
img
{
border-radius
:
4px
;
border
:
1px
solid
#999999
;
padding
:
1px
;
width
:
32px
;
height
:
32px
}
.comment-author
a
{
white-space
:
nowrap
;
margin-right
:
14px
;
font-weight
:
bold
}
.comment-info
{
border-radius
:
6px
;
width
:
440px
;
padding
:
5px
10px
;
background
:
#EDEFF0
;
border
:
1px
dotted
#EDEFF0
}
.comment-content
{
word-wrap
:
break-word
;
overflow
:
hidden
;
background
:
url("../images/comment.gif")
no-repeat
scroll
100%
100%
transparent
;
line-height
:
145%
;
margin
:
0
-15px
;
padding
:
9px
15px
10px
;
font-size
:
12px
}
.comment-form
img
{
cursor
:
pointer
}
.comment-form
input
,
.comment-form
textarea
{
height
:
16px
;
outline
:
none
;
font-family
:
Helvetica
,
Arial
,
sans-serif
;
color
:
#555555
;
background
:
url("../images/textfield.gif")
repeat-x
scroll
50%
0
#fff
;
border
:
1px
solid
#A6A6A6
;
padding
:
2px
1px
;
width
:
200px
}
.comment-form
textarea
{
width
:
541px
;
font-size
:
12px
;
height
:
auto
}
.comment-form
button
{
background
:
none
repeat
scroll
0
0
#B4D666
;
border-color
:
#B4D666
#81B840
#81B840
#B4D666
;
border-style
:
solid
;
border-width
:
1px
;
color
:
#2970A6
;
font-size
:
12px
;
padding
:
0px
6px
;
height
:
22px
;
line-height
:
22px
;
border-radius
:
0px
}
.comment-form
button
:hover
{
background
:
none
repeat
scroll
0
0
#98C64C
;
border-color
:
#76B33A
#98C64C
#98C64C
#76B33A
;
color
:
#074A7E
}
.error-msg
{
color
:
#3366CC
}
#a
,
#b
{
margin
:
0
auto
;
position
:
relative
}
#a
{
border-radius
:
4px
;
box-shadow
:
0
2px
2px
rgba
(
0
,
0
,
0
,
0.3
);
background
:
#EEE
;
margin
:
15px
auto
;
padding
:
10px
10px
0
10px
;
width
:
800px
}
#b
{
overflow
:
hidden
}
#c
,
.meta
,
.s
,
nav
ul
{
border-radius
:
4px
;
background
:
#ddd
}
#c
{
margin
:
0
0
20px
0
;
padding
:
5px
10px
;
width
:
178px
}
#c
p
,
#c
a
{
font-size
:
11px
;
line-height
:
15px
}
#c
p
{
margin
:
0
0
10px
0
}
#c
img
{
border-radius
:
4px
;
float
:
left
;
margin
:
4px
10px
2px
0
}
.meta
{
margin
:
10px
0
30px
;
padding
:
2px
5px
}
.meta
p
,
.meta
a
{
font-size
:
10px
;
margin
:
0
}
nav
ul
{
padding
:
10px
}
nav
ul
ul
{
border-radius
:
none
;
box-shadow
:
none
}
.single_page
{
border-radius
:
4px
;
box-shadow
:
0
2px
2px
rgba
(
0
,
0
,
0
,
0.2
);
background
:
#F2F7F8
;
padding
:
10px
;
margin-bottom
:
25px
;
width
:
531px
}
::-webkit-scrollbar
{
width
:
6px
}
::-webkit-scrollbar-track
{
background-color
:
#bbb
}
::-webkit-scrollbar-thumb
{
background-color
:
#eee
}
::-webkit-scrollbar-thumb:hover
{
background-color
:
#888
}
src/main/resources/skins/owmx-3.0/css/base.scss
View file @
e196c68a
...
@@ -348,6 +348,10 @@ article ul li {
...
@@ -348,6 +348,10 @@ article ul li {
list-style
:
none
;
list-style
:
none
;
}
}
#vcomment
.vcomment
ul
li
{
background-image
:
none
;
}
/* Sidebar */
/* Sidebar */
aside
{
aside
{
background
:
#EEE
;
background
:
#EEE
;
...
...
src/main/resources/skins/tree-house/article.ftl
View file @
e196c68a
...
@@ -86,9 +86,6 @@
...
@@ -86,9 +86,6 @@
</
#
if>
</
#
if>
</div>
</div>
<div
class=
"right"
>
<div
class=
"right"
>
<span
class=
"article-create-date left"
>
${article.articleUpdateDate?string("yyyy-MM-dd HH:mm:ss")}
</span>
<
#if
commentable
>
<
#if
commentable
>
<a
rel=
"nofollow"
href=
"${servePath}${article.articlePermalink}#comments"
class=
"left"
>
<a
rel=
"nofollow"
href=
"${servePath}${article.articlePermalink}#comments"
class=
"left"
>
${article.articleCommentCount} ${commentLabel}
${article.articleCommentCount} ${commentLabel}
...
@@ -106,7 +103,9 @@
...
@@ -106,7 +103,9 @@
</div>
</div>
<div
class=
"line right"
></div>
<div
class=
"line right"
></div>
<
#if
commentable
>
<
#if
commentable
>
<div
id=
"vcomment"
data-name=
"${article.authorName}"
data-postId=
"${article.oId}"
></div>
<div
id=
"vcomment"
style=
"margin: 88px 100px 0 99px"
data-name=
"${article.authorName}"
data-postId=
"${article.oId}"
></div>
<div
id=
"soloComments"
style=
"display: none;"
>
<div
id=
"soloComments"
style=
"display: none;"
>
<
@
comments
commentList=
articleComments
article=
article
></
@
comments>
<
@
comments
commentList=
articleComments
article=
article
></
@
comments>
</div>
</div>
...
...
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