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
7f04e27b
Unverified
Commit
7f04e27b
authored
Feb 28, 2019
by
Van
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
💄
parent
cce83b6d
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
163 additions
and
132 deletions
+163
-132
src/main/webapp/js/common.js
src/main/webapp/js/common.js
+140
-127
src/main/webapp/js/common.min.js
src/main/webapp/js/common.min.js
+1
-1
src/main/webapp/js/lib/jquery.qrcode.min.js
src/main/webapp/js/lib/jquery.qrcode.min.js
+18
-0
src/main/webapp/scss/_reset-content.scss
src/main/webapp/scss/_reset-content.scss
+1
-1
src/main/webapp/scss/admin.css
src/main/webapp/scss/admin.css
+1
-1
src/main/webapp/scss/base.css
src/main/webapp/scss/base.css
+1
-1
src/main/webapp/scss/start.css
src/main/webapp/scss/start.css
+1
-1
No files found.
src/main/webapp/js/common.js
View file @
7f04e27b
...
...
@@ -29,32 +29,32 @@
*/
var
Util
=
{
isArticlePage
:
function
(
href
)
{
var
isArticle
=
true
;
var
isArticle
=
true
if
(
href
.
indexOf
(
latkeConfig
.
servePath
+
'
/tags/
'
)
>
-
1
)
{
isArticle
=
false
;
isArticle
=
false
}
if
(
href
.
indexOf
(
latkeConfig
.
servePath
+
'
/tags.html
'
)
>
-
1
)
{
isArticle
=
false
;
isArticle
=
false
}
if
(
href
.
indexOf
(
latkeConfig
.
servePath
+
'
/category/
'
)
>
-
1
)
{
isArticle
=
false
;
isArticle
=
false
}
if
(
href
.
indexOf
(
latkeConfig
.
servePath
+
'
/archives.html
'
)
>
-
1
)
{
isArticle
=
false
;
isArticle
=
false
}
if
(
href
.
indexOf
(
latkeConfig
.
servePath
+
'
/archives/
'
)
>
-
1
)
{
isArticle
=
false
;
isArticle
=
false
}
if
(
href
.
indexOf
(
latkeConfig
.
servePath
+
'
/links.html
'
)
>
-
1
)
{
isArticle
=
false
;
isArticle
=
false
}
if
(
href
===
latkeConfig
.
servePath
)
{
isArticle
=
false
;
isArticle
=
false
}
if
(
/^
[
0-9
]
*$/
.
test
(
href
.
replace
(
latkeConfig
.
servePath
+
'
/
'
,
''
)))
{
isArticle
=
false
;
isArticle
=
false
}
return
isArticle
;
return
isArticle
},
/**
* 初始化 Pjax
...
...
@@ -69,7 +69,7 @@ var Util = {
cache
:
false
,
storage
:
true
,
titleSuffix
:
''
,
filter
:
function
(
href
)
{
filter
:
function
(
href
)
{
if
(
href
===
latkeConfig
.
servePath
+
'
/rss.xml
'
||
href
.
indexOf
(
latkeConfig
.
servePath
+
'
/admin-index.do
'
)
>
-
1
)
{
return
true
...
...
@@ -81,16 +81,16 @@ var Util = {
},
callback
:
function
()
{
cb
&&
cb
()
}
})
;
NProgress
.
configure
({
showSpinner
:
false
});
$
(
'
#pjax
'
).
bind
(
'
pjax.start
'
,
function
()
{
NProgress
.
start
()
;
})
;
$
(
'
#pjax
'
).
bind
(
'
pjax.end
'
,
function
()
{
window
.
scroll
(
window
.
scrollX
,
0
)
NProgress
.
done
()
;
})
;
}
,
})
NProgress
.
configure
({
showSpinner
:
false
})
$
(
'
#pjax
'
).
bind
(
'
pjax.start
'
,
function
()
{
NProgress
.
start
()
})
$
(
'
#pjax
'
).
bind
(
'
pjax.end
'
,
function
()
{
window
.
scroll
(
window
.
scrollX
,
0
)
NProgress
.
done
()
})
}
},
/**
...
...
@@ -98,9 +98,9 @@ var Util = {
* @returns {undefined}
*/
parseMarkdown
:
function
()
{
var
hasMathJax
=
false
;
var
hasFlow
=
false
;
var
className
=
'
content-reset
'
;
var
hasMathJax
=
false
var
hasFlow
=
false
var
className
=
'
content-reset
'
$
(
'
.
'
+
className
).
each
(
function
()
{
$
(
this
).
find
(
'
p
'
).
each
(
function
()
{
if
(
$
(
this
).
text
().
split
(
'
$
'
).
length
>
2
||
...
...
@@ -112,7 +112,7 @@ var Util = {
if
(
$
(
this
).
find
(
'
code.lang-flow, code.language-flow
'
).
length
>
0
)
{
hasFlow
=
true
}
})
;
})
if
(
hasMathJax
)
{
var
initMathJax
=
function
()
{
...
...
@@ -125,8 +125,8 @@ var Util = {
skipTags
:
[
'
pre
'
,
'
code
'
,
'
script
'
],
},
asciimath2jax
:
{
delimiters
:
[[
'
$
'
,
'
$
'
]]
}
delimiters
:
[[
'
$
'
,
'
$
'
]],
}
,
})
MathJax
.
Hub
.
Typeset
()
}
...
...
@@ -147,29 +147,32 @@ var Util = {
if
(
hasFlow
)
{
var
initFlow
=
function
()
{
$
(
'
.
'
+
className
+
'
code.lang-flow, .
'
+
className
+
'
code.language-flow
'
).
each
(
function
(
index
)
{
var
$it
=
$
(
this
);
var
id
=
'
symFlow
'
+
(
new
Date
()).
getTime
()
+
index
;
$it
.
hide
();
var
diagram
=
flowchart
.
parse
(
$
.
trim
(
$it
.
text
()));
$it
.
parent
().
after
(
'
<div style="text-align: center" id="
'
+
id
+
'
"></div>
'
)
diagram
.
drawSVG
(
id
);
$it
.
parent
().
remove
();
$
(
'
#
'
+
id
).
find
(
'
svg
'
).
height
(
'
auto
'
).
width
(
'
auto
'
);
});
};
$
(
'
.
'
+
className
+
'
code.lang-flow, .
'
+
className
+
'
code.language-flow
'
).
each
(
function
(
index
)
{
var
$it
=
$
(
this
)
var
id
=
'
symFlow
'
+
(
new
Date
()).
getTime
()
+
index
$it
.
hide
()
var
diagram
=
flowchart
.
parse
(
$
.
trim
(
$it
.
text
()))
$it
.
parent
().
after
(
'
<div style="text-align: center" id="
'
+
id
+
'
"></div>
'
)
diagram
.
drawSVG
(
id
)
$it
.
parent
().
remove
()
$
(
'
#
'
+
id
).
find
(
'
svg
'
).
height
(
'
auto
'
).
width
(
'
auto
'
)
})
}
if
(
typeof
(
flowchart
)
!==
'
undefined
'
)
{
initFlow
()
;
initFlow
()
}
else
{
$
.
ajax
({
method
:
"
GET
"
,
url
:
latkeConfig
.
staticServePath
+
'
/js/lib/flowchart/flowchart.min.js
'
,
dataType
:
"
script
"
,
cache
:
true
method
:
'
GET
'
,
url
:
latkeConfig
.
staticServePath
+
'
/js/lib/flowchart/flowchart.min.js
'
,
dataType
:
'
script
'
,
cache
:
true
,
}).
done
(
function
()
{
initFlow
()
})
;
})
}
}
},
...
...
@@ -178,30 +181,34 @@ var Util = {
*/
killIE
:
function
(
ieVersion
)
{
var
addKillPanel
=
function
()
{
if
(
Cookie
.
readCookie
(
"
showKill
"
)
===
""
)
{
if
(
Cookie
.
readCookie
(
'
showKill
'
)
===
''
)
{
try
{
var
left
=
(
$
(
window
).
width
()
-
781
)
/
2
,
top1
=
(
$
(
window
).
height
()
-
680
)
/
2
;
var
killIEHTML
=
"
<div 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 style='left:
"
+
left
+
"
px;z-index:120;top:
"
+
top1
+
"
px; position: fixed; border: 0px none; width: 781px; height: 680px;' src='
"
+
latkeConfig
.
servePath
+
"
/kill-browser'></iframe>
"
;
$
(
"
body
"
).
append
(
killIEHTML
)
top1
=
(
$
(
window
).
height
()
-
680
)
/
2
var
killIEHTML
=
'
<div 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 style=
\'
left:
'
+
left
+
'
px;z-index:120;top:
'
+
top1
+
'
px; position: fixed; border: 0px none; width: 781px; height: 680px;
\'
src=
\'
'
+
latkeConfig
.
servePath
+
'
/kill-browser
\'
></iframe>
'
$
(
'
body
'
).
append
(
killIEHTML
)
}
catch
(
e
)
{
var
left
=
10
,
top1
=
0
;
var
killIEHTML
=
"
<div 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 style='left:
"
+
left
+
"
px;z-index:120;top:
"
+
top1
+
"
px; position: fixed; border: 0px none; width: 781px; height: 680px;' src='
"
+
latkeConfig
.
servePath
+
"
/kill-browser'></iframe>
"
;
top1
=
0
var
killIEHTML
=
'
<div 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 style=
\'
left:
'
+
left
+
'
px;z-index:120;top:
'
+
top1
+
'
px; position: fixed; border: 0px none; width: 781px; height: 680px;
\'
src=
\'
'
+
latkeConfig
.
servePath
+
'
/kill-browser
\'
></iframe>
'
document
.
body
.
innerHTML
=
document
.
body
.
innerHTML
+
killIEHTML
}
}
}
;
}
var
ua
=
navigator
.
userAgent
.
split
(
'
MSIE
'
)[
1
]
if
(
ua
)
{
if
(
!
ieVersion
)
{
ieVersion
=
7
}
if
(
parseFloat
(
ua
.
split
(
'
;
'
))
<=
ieVersion
){
addKillPanel
()
;
if
(
parseFloat
(
ua
.
split
(
'
;
'
))
<=
ieVersion
)
{
addKillPanel
()
}
}
},
...
...
@@ -211,79 +218,81 @@ var Util = {
* @returns {String} 替换后的字符
*/
replaceEmString
:
function
(
str
)
{
var
commentSplited
=
str
.
split
(
"
[em
"
);
var
commentSplited
=
str
.
split
(
'
[em
'
)
if
(
commentSplited
.
length
===
1
)
{
return
str
;
return
str
}
str
=
commentSplited
[
0
]
;
str
=
commentSplited
[
0
]
for
(
var
j
=
1
;
j
<
commentSplited
.
length
;
j
++
)
{
var
key
=
commentSplited
[
j
].
substr
(
0
,
2
);
str
+=
"
<img width='20' src='
"
+
latkeConfig
.
staticServePath
+
"
/images/emotions/em
"
+
key
+
"
.png' alt='
"
+
Label
[
"
em
"
+
key
+
"
Label
"
]
+
"
' title='
"
+
Label
[
"
em
"
+
key
+
"
Label
"
]
+
"
'/>
"
+
commentSplited
[
j
].
substr
(
3
);
var
key
=
commentSplited
[
j
].
substr
(
0
,
2
)
str
+=
'
<img width=
\'
20
\'
src=
\'
'
+
latkeConfig
.
staticServePath
+
'
/images/emotions/em
'
+
key
+
'
.png
\'
alt=
\'
'
+
Label
[
'
em
'
+
key
+
'
Label
'
]
+
'
\'
title=
\'
'
+
Label
[
'
em
'
+
key
+
'
Label
'
]
+
'
\'
/>
'
+
commentSplited
[
j
].
substr
(
3
)
}
return
str
;
return
str
},
/**
* @description 切换到手机版
* @param {String} skin 切换前的皮肤名称
*/
switchMobile
:
function
(
skin
)
{
Cookie
.
createCookie
(
"
btouch_switch_toggle
"
,
skin
,
365
);
Cookie
.
createCookie
(
'
btouch_switch_toggle
'
,
skin
,
365
)
setTimeout
(
function
()
{
location
.
reload
()
;
},
1250
)
;
location
.
reload
()
},
1250
)
},
/**
* @description topbar 相关事件
*/
setTopBar
:
function
()
{
var
$top
=
$
(
"
#top
"
);
var
$top
=
$
(
'
#top
'
)
if
(
$top
.
length
===
1
)
{
var
$showTop
=
$
(
"
#showTop
"
);
var
$showTop
=
$
(
'
#showTop
'
)
$showTop
.
click
(
function
()
{
$top
.
slideDown
()
;
$showTop
.
hide
()
;
})
;
$
(
"
#hideTop
"
).
click
(
function
()
{
$top
.
slideUp
()
;
$showTop
.
show
()
;
})
;
$top
.
slideDown
()
$showTop
.
hide
()
})
$
(
'
#hideTop
'
).
click
(
function
()
{
$top
.
slideUp
()
$showTop
.
show
()
})
}
},
/**
* @description 回到顶部
*/
goTop
:
function
()
{
$
(
'
html, body
'
).
animate
({
scrollTop
:
0
},
800
)
;
$
(
'
html, body
'
).
animate
({
scrollTop
:
0
},
800
)
},
/**
* @description 回到底部
*/
goBottom
:
function
(
bottom
)
{
if
(
!
bottom
)
{
bottom
=
0
;
bottom
=
0
}
var
wHeight
=
$
(
"
body
"
).
height
()
>
$
(
document
).
height
()
?
$
(
"
body
"
).
height
()
:
$
(
document
).
height
();
window
.
scrollTo
(
0
,
wHeight
-
$
(
window
).
height
()
-
bottom
);
$
(
'
html, body
'
).
animate
({
scrollTop
:
$
(
document
).
height
()
-
$
(
window
).
height
()
-
bottom
},
800
)
},
/**
* @description 页面初始化执行的函数
*/
init
:
function
()
{
//window.onerror = Util.error;
Util
.
killIE
()
;
Util
.
setTopBar
()
;
Util
.
parseMarkdown
()
;
Util
.
initSW
()
;
Util
.
killIE
()
Util
.
setTopBar
()
Util
.
parseMarkdown
()
Util
.
initSW
()
},
/**
* @description 注册 Service Work
*/
initSW
:
function
()
{
if
(
navigator
.
serviceWorker
)
{
navigator
.
serviceWorker
.
register
(
'
/sw.js
'
,
{
scope
:
'
/
'
});
navigator
.
serviceWorker
.
register
(
'
/sw.js
'
,
{
scope
:
'
/
'
})
}
},
/**
...
...
@@ -292,8 +301,8 @@ var Util = {
*/
replaceSideEm
:
function
(
comments
)
{
for
(
var
i
=
0
;
i
<
comments
.
length
;
i
++
)
{
var
$comment
=
$
(
comments
[
i
])
;
$comment
.
html
(
Util
.
replaceEmString
(
$comment
.
html
()))
;
var
$comment
=
$
(
comments
[
i
])
$comment
.
html
(
Util
.
replaceEmString
(
$comment
.
html
()))
}
},
/**
...
...
@@ -301,30 +310,30 @@ var Util = {
* @param {String} [id] tags 根元素 id,默认为 tags
*/
buildTags
:
function
(
id
)
{
id
=
id
||
"
tags
"
;
id
=
id
||
'
tags
'
// 根据引用次数添加样式,产生云效果
var
classes
=
[
"
tags1
"
,
"
tags2
"
,
"
tags3
"
,
"
tags4
"
,
"
tags5
"
],
bList
=
$
(
"
#
"
+
id
+
"
b
"
).
get
();
var
max
=
parseInt
(
$
(
"
#
"
+
id
+
"
b
"
).
last
().
text
());
var
distance
=
Math
.
ceil
(
max
/
classes
.
length
)
;
var
classes
=
[
'
tags1
'
,
'
tags2
'
,
'
tags3
'
,
'
tags4
'
,
'
tags5
'
],
bList
=
$
(
'
#
'
+
id
+
'
b
'
).
get
()
var
max
=
parseInt
(
$
(
'
#
'
+
id
+
'
b
'
).
last
().
text
())
var
distance
=
Math
.
ceil
(
max
/
classes
.
length
)
for
(
var
i
=
0
;
i
<
bList
.
length
;
i
++
)
{
var
num
=
parseInt
(
bList
[
i
].
innerHTML
)
;
var
num
=
parseInt
(
bList
[
i
].
innerHTML
)
// 算出当前 tag 数目所在的区间,加上 class
for
(
var
j
=
0
;
j
<
classes
.
length
;
j
++
)
{
if
(
num
>
j
*
distance
&&
num
<=
(
j
+
1
)
*
distance
)
{
bList
[
i
].
parentNode
.
className
=
classes
[
j
]
;
break
;
bList
[
i
].
parentNode
.
className
=
classes
[
j
]
break
}
}
}
// 按字母或者中文拼音进行排序
$
(
"
#
"
+
id
).
html
(
$
(
"
#
"
+
id
+
"
li
"
).
get
().
sort
(
function
(
a
,
b
)
{
var
valA
=
$
(
a
).
find
(
"
span
"
).
text
().
toLowerCase
();
var
valB
=
$
(
b
).
find
(
"
span
"
).
text
().
toLowerCase
();
$
(
'
#
'
+
id
).
html
(
$
(
'
#
'
+
id
+
'
li
'
).
get
().
sort
(
function
(
a
,
b
)
{
var
valA
=
$
(
a
).
find
(
'
span
'
).
text
().
toLowerCase
()
var
valB
=
$
(
b
).
find
(
'
span
'
).
text
().
toLowerCase
()
// 对中英文排序的处理
return
valA
.
localeCompare
(
valB
)
;
}))
;
return
valA
.
localeCompare
(
valB
)
}))
},
/**
* @description 时间戳转化为时间格式
...
...
@@ -333,29 +342,32 @@ var Util = {
* @returns {String} 格式化后的时间
*/
toDate
:
function
(
time
,
format
)
{
var
dateTime
=
new
Date
(
time
)
;
var
dateTime
=
new
Date
(
time
)
var
o
=
{
"
M+
"
:
dateTime
.
getMonth
()
+
1
,
//month
"
d+
"
:
dateTime
.
getDate
(),
//day
"
H+
"
:
dateTime
.
getHours
(),
//hour
"
m+
"
:
dateTime
.
getMinutes
(),
//minute
"
s+
"
:
dateTime
.
getSeconds
(),
//second
"
q+
"
:
Math
.
floor
((
dateTime
.
getMonth
()
+
3
)
/
3
),
//quarter
"
S
"
:
dateTime
.
getMilliseconds
()
//millisecond
'
M+
'
:
dateTime
.
getMonth
()
+
1
,
//month
'
d+
'
:
dateTime
.
getDate
(),
//day
'
H+
'
:
dateTime
.
getHours
(),
//hour
'
m+
'
:
dateTime
.
getMinutes
(),
//minute
'
s+
'
:
dateTime
.
getSeconds
(),
//second
'
q+
'
:
Math
.
floor
((
dateTime
.
getMonth
()
+
3
)
/
3
),
//quarter
'
S
'
:
dateTime
.
getMilliseconds
(),
//millisecond
}
if
(
/
(
y+
)
/
.
test
(
format
))
{
format
=
format
.
replace
(
RegExp
.
$1
,
(
dateTime
.
getFullYear
()
+
""
).
substr
(
4
-
RegExp
.
$1
.
length
));
format
=
format
.
replace
(
RegExp
.
$1
,
(
dateTime
.
getFullYear
()
+
''
).
substr
(
4
-
RegExp
.
$1
.
length
))
}
for
(
var
k
in
o
)
{
if
(
new
RegExp
(
"
(
"
+
k
+
"
)
"
).
test
(
format
))
{
format
=
format
.
replace
(
RegExp
.
$1
,
RegExp
.
$1
.
length
==
1
?
o
[
k
]
:
(
"
00
"
+
o
[
k
]).
substr
((
""
+
o
[
k
]).
length
));
if
(
new
RegExp
(
'
(
'
+
k
+
'
)
'
).
test
(
format
))
{
format
=
format
.
replace
(
RegExp
.
$1
,
RegExp
.
$1
.
length
==
1
?
o
[
k
]
:
(
'
00
'
+
o
[
k
]).
substr
(
(
''
+
o
[
k
]).
length
))
}
}
return
format
;
}
}
;
return
format
}
,
}
if
(
!
Cookie
)
{
/**
* @description Cookie 相关操作
...
...
@@ -368,23 +380,23 @@ if (!Cookie) {
* @returns {String} 对应 key 的值,如 key 不存在则返回 ""
*/
readCookie
:
function
(
name
)
{
var
nameEQ
=
name
+
"
=
"
;
var
ca
=
document
.
cookie
.
split
(
'
;
'
)
;
var
nameEQ
=
name
+
'
=
'
var
ca
=
document
.
cookie
.
split
(
'
;
'
)
for
(
var
i
=
0
;
i
<
ca
.
length
;
i
++
)
{
var
c
=
ca
[
i
]
;
var
c
=
ca
[
i
]
while
(
c
.
charAt
(
0
)
==
'
'
)
c
=
c
.
substring
(
1
,
c
.
length
)
;
c
=
c
.
substring
(
1
,
c
.
length
)
if
(
c
.
indexOf
(
nameEQ
)
==
0
)
return
decodeURIComponent
(
c
.
substring
(
nameEQ
.
length
,
c
.
length
))
;
return
decodeURIComponent
(
c
.
substring
(
nameEQ
.
length
,
c
.
length
))
}
return
""
;
return
''
},
/**
* @description 清除 Cookie
* @param {String} name 清除 key 为 name 的该条 Cookie
*/
eraseCookie
:
function
(
name
)
{
this
.
createCookie
(
name
,
""
,
-
1
);
this
.
createCookie
(
name
,
''
,
-
1
)
},
/**
* @description 创建 Cookie
...
...
@@ -393,13 +405,14 @@ if (!Cookie) {
* @param {Int} days Cookie 保存时间
*/
createCookie
:
function
(
name
,
value
,
days
)
{
var
expires
=
""
;
var
expires
=
''
if
(
days
)
{
var
date
=
new
Date
()
;
date
.
setTime
(
date
.
getTime
()
+
(
days
*
24
*
60
*
60
*
1000
))
;
expires
=
"
; expires=
"
+
date
.
toGMTString
();
var
date
=
new
Date
()
date
.
setTime
(
date
.
getTime
()
+
(
days
*
24
*
60
*
60
*
1000
))
expires
=
'
; expires=
'
+
date
.
toGMTString
()
}
document
.
cookie
=
name
+
"
=
"
+
encodeURIComponent
(
value
)
+
expires
+
"
; path=/
"
;
}
};
document
.
cookie
=
name
+
'
=
'
+
encodeURIComponent
(
value
)
+
expires
+
'
; path=/
'
},
}
}
\ No newline at end of file
src/main/webapp/js/common.min.js
View file @
7f04e27b
...
...
@@ -15,4 +15,4 @@
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
var
Util
=
{
isArticlePage
:
function
(
e
){
var
t
=!
0
;
return
-
1
<
e
.
indexOf
(
latkeConfig
.
servePath
+
"
/tags/
"
)
&&
(
t
=!
1
),
-
1
<
e
.
indexOf
(
latkeConfig
.
servePath
+
"
/tags.html
"
)
&&
(
t
=!
1
),
-
1
<
e
.
indexOf
(
latkeConfig
.
servePath
+
"
/category/
"
)
&&
(
t
=!
1
),
-
1
<
e
.
indexOf
(
latkeConfig
.
servePath
+
"
/archives.html
"
)
&&
(
t
=!
1
),
-
1
<
e
.
indexOf
(
latkeConfig
.
servePath
+
"
/archives/
"
)
&&
(
t
=!
1
),
-
1
<
e
.
indexOf
(
latkeConfig
.
servePath
+
"
/links.html
"
)
&&
(
t
=!
1
),
e
===
latkeConfig
.
servePath
&&
(
t
=!
1
),
/^
[
0-9
]
*$/
.
test
(
e
.
replace
(
latkeConfig
.
servePath
+
"
/
"
,
""
))
&&
(
t
=!
1
),
t
},
initPjax
:
function
(
e
){
1
===
$
(
"
#pjax
"
).
length
&&
(
$
.
pjax
({
selector
:
"
a
"
,
container
:
"
#pjax
"
,
show
:
""
,
cache
:
!
1
,
storage
:
!
0
,
titleSuffix
:
""
,
filter
:
function
(
e
){
return
e
===
latkeConfig
.
servePath
+
"
/rss.xml
"
||-
1
<
e
.
indexOf
(
latkeConfig
.
servePath
+
"
/admin-index.do
"
)
||!
(
-
1
<
e
.
indexOf
(
latkeConfig
.
servePath
))},
callback
:
function
(){
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
()}))},
parseMarkdown
:
function
(){
var
e
=!
1
,
t
=!
1
,
i
=
"
content-reset
"
;
if
(
$
(
"
.
"
+
i
).
each
(
function
(){
$
(
this
).
find
(
"
p
"
).
each
(
function
(){(
2
<
$
(
this
).
text
().
split
(
"
$
"
).
length
||
1
<
$
(
this
).
text
().
split
(
"
\\
(
"
).
length
&&
1
<
$
(
this
).
text
().
split
(
"
\\
)
"
).
length
)
&&
(
e
=!
0
)}),
0
<
$
(
this
).
find
(
"
code.lang-flow, code.language-flow
"
).
length
&&
(
t
=!
0
)}),
e
){
var
n
=
function
(){
MathJax
.
Hub
.
Config
({
tex2jax
:{
inlineMath
:[[
"
$
"
,
"
$
"
],[
"
\\
(
"
,
"
\\
)
"
]],
displayMath
:[[
"
$$
"
,
"
$$
"
]],
processEscapes
:
!
0
,
processEnvironments
:
!
0
,
skipTags
:[
"
pre
"
,
"
code
"
,
"
script
"
]},
asciimath2jax
:{
delimiters
:[[
"
$
"
,
"
$
"
]]}}),
MathJax
.
Hub
.
Typeset
()};
"
undefined
"
!=
typeof
MathJax
?
n
():
$
.
ajax
({
method
:
"
GET
"
,
url
:
"
https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML
"
,
dataType
:
"
script
"
,
cache
:
!
0
}).
done
(
function
(){
n
()})}
if
(
t
){
var
o
=
function
(){
$
(
"
.
"
+
i
+
"
code.lang-flow, .
"
+
i
+
"
code.language-flow
"
).
each
(
function
(
e
){
var
t
=
$
(
this
),
i
=
"
symFlow
"
+
(
new
Date
).
getTime
()
+
e
;
t
.
hide
();
var
n
=
flowchart
.
parse
(
$
.
trim
(
t
.
text
()));
t
.
parent
().
after
(
'
<div style="text-align: center" id="
'
+
i
+
'
"></div>
'
),
n
.
drawSVG
(
i
),
t
.
parent
().
remove
(),
$
(
"
#
"
+
i
).
find
(
"
svg
"
).
height
(
"
auto
"
).
width
(
"
auto
"
)})};
"
undefined
"
!=
typeof
flowchart
?
o
():
$
.
ajax
({
method
:
"
GET
"
,
url
:
latkeConfig
.
staticServePath
+
"
/js/lib/flowchart/flowchart.min.js
"
,
dataType
:
"
script
"
,
cache
:
!
0
}).
done
(
function
(){
o
()})}},
killIE
:
function
(
e
){
var
t
=
navigator
.
userAgent
.
split
(
"
MSIE
"
)[
1
];
t
&&
(
e
||
(
e
=
7
),
parseFloat
(
t
.
split
(
"
;
"
))
<=
e
&&
function
(){
if
(
""
===
Cookie
.
readCookie
(
"
showKill
"
))
try
{
var
t
=
"
<div 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 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='
"
+
latkeConfig
.
servePath
+
"
/kill-browser'></iframe>
"
;
$
(
"
body
"
).
append
(
t
)}
catch
(
e
){
t
=
"
<div 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 style='left:10px;z-index:120;top: 0px; position: fixed; border: 0px none; width: 781px; height: 680px;' src='
"
+
latkeConfig
.
servePath
+
"
/kill-browser'></iframe>
"
,
document
.
body
.
innerHTML
=
document
.
body
.
innerHTML
+
t
}}())},
replaceEmString
:
function
(
e
){
var
t
=
e
.
split
(
"
[em
"
);
if
(
1
===
t
.
length
)
return
e
;
e
=
t
[
0
];
for
(
var
i
=
1
;
i
<
t
.
length
;
i
++
){
var
n
=
t
[
i
].
substr
(
0
,
2
);
e
+=
"
<img width='20' src='
"
+
latkeConfig
.
staticServePath
+
"
/images/emotions/em
"
+
n
+
"
.png' alt='
"
+
Label
[
"
em
"
+
n
+
"
Label
"
]
+
"
' title='
"
+
Label
[
"
em
"
+
n
+
"
Label
"
]
+
"
'/>
"
+
t
[
i
].
substr
(
3
)}
return
e
},
switchMobile
:
function
(
e
){
Cookie
.
createCookie
(
"
btouch_switch_toggle
"
,
e
,
365
),
setTimeout
(
function
(){
location
.
reload
()},
1250
)},
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
);
var
t
=
$
(
"
body
"
).
height
()
>
$
(
document
).
height
()?
$
(
"
body
"
).
height
():
$
(
document
).
height
();
window
.
scrollTo
(
0
,
t
-
$
(
window
).
height
()
-
e
)},
init
:
function
(){
Util
.
killIE
(),
Util
.
setTopBar
(),
Util
.
parseMarkdown
(),
Util
.
initSW
()},
initSW
:
function
(){
navigator
.
serviceWorker
&&
navigator
.
serviceWorker
.
register
(
"
/sw.js
"
,{
scope
:
"
/
"
})},
replaceSideEm
:
function
(
e
){
for
(
var
t
=
0
;
t
<
e
.
length
;
t
++
){
var
i
=
$
(
e
[
t
]);
i
.
html
(
Util
.
replaceEmString
(
i
.
html
()))}},
buildTags
:
function
(
e
){
e
=
e
||
"
tags
"
;
for
(
var
t
=
[
"
tags1
"
,
"
tags2
"
,
"
tags3
"
,
"
tags4
"
,
"
tags5
"
],
i
=
$
(
"
#
"
+
e
+
"
b
"
).
get
(),
n
=
parseInt
(
$
(
"
#
"
+
e
+
"
b
"
).
last
().
text
()),
o
=
Math
.
ceil
(
n
/
t
.
length
),
a
=
0
;
a
<
i
.
length
;
a
++
)
for
(
var
r
=
parseInt
(
i
[
a
].
innerHTML
),
s
=
0
;
s
<
t
.
length
;
s
++
)
if
(
s
*
o
<
r
&&
r
<=
(
s
+
1
)
*
o
){
i
[
a
].
parentNode
.
className
=
t
[
s
];
break
}
$
(
"
#
"
+
e
).
html
(
$
(
"
#
"
+
e
+
"
li
"
).
get
().
sort
(
function
(
e
,
t
){
var
i
=
$
(
e
).
find
(
"
span
"
).
text
().
toLowerCase
(),
n
=
$
(
t
).
find
(
"
span
"
).
text
().
toLowerCase
();
return
i
.
localeCompare
(
n
)}))},
toDate
:
function
(
e
,
t
){
var
i
=
new
Date
(
e
),
n
=
{
"
M+
"
:
i
.
getMonth
()
+
1
,
"
d+
"
:
i
.
getDate
(),
"
H+
"
:
i
.
getHours
(),
"
m+
"
:
i
.
getMinutes
(),
"
s+
"
:
i
.
getSeconds
(),
"
q+
"
:
Math
.
floor
((
i
.
getMonth
()
+
3
)
/
3
),
S
:
i
.
getMilliseconds
()};
for
(
var
o
in
/
(
y+
)
/
.
test
(
t
)
&&
(
t
=
t
.
replace
(
RegExp
.
$1
,(
i
.
getFullYear
()
+
""
).
substr
(
4
-
RegExp
.
$1
.
length
))),
n
)
new
RegExp
(
"
(
"
+
o
+
"
)
"
).
test
(
t
)
&&
(
t
=
t
.
replace
(
RegExp
.
$1
,
1
==
RegExp
.
$1
.
length
?
n
[
o
]:(
"
00
"
+
n
[
o
]).
substr
((
""
+
n
[
o
]).
length
)));
return
t
}};
if
(
!
Cookie
)
var
Cookie
=
{
readCookie
:
function
(
e
){
for
(
var
t
=
e
+
"
=
"
,
i
=
document
.
cookie
.
split
(
"
;
"
),
n
=
0
;
n
<
i
.
length
;
n
++
){
for
(
var
o
=
i
[
n
];
"
"
==
o
.
charAt
(
0
);)
o
=
o
.
substring
(
1
,
o
.
length
);
if
(
0
==
o
.
indexOf
(
t
))
return
decodeURIComponent
(
o
.
substring
(
t
.
length
,
o
.
length
))}
return
""
},
eraseCookie
:
function
(
e
){
this
.
createCookie
(
e
,
""
,
-
1
)},
createCookie
:
function
(
e
,
t
,
i
){
var
n
=
""
;
if
(
i
){
var
o
=
new
Date
;
o
.
setTime
(
o
.
getTime
()
+
24
*
i
*
60
*
60
*
1
e3
),
n
=
"
; expires=
"
+
o
.
toGMTString
()}
document
.
cookie
=
e
+
"
=
"
+
encodeURIComponent
(
t
)
+
n
+
"
; path=/
"
}};
\ No newline at end of file
var
Util
=
{
isArticlePage
:
function
(
e
){
var
t
=!
0
;
return
-
1
<
e
.
indexOf
(
latkeConfig
.
servePath
+
"
/tags/
"
)
&&
(
t
=!
1
),
-
1
<
e
.
indexOf
(
latkeConfig
.
servePath
+
"
/tags.html
"
)
&&
(
t
=!
1
),
-
1
<
e
.
indexOf
(
latkeConfig
.
servePath
+
"
/category/
"
)
&&
(
t
=!
1
),
-
1
<
e
.
indexOf
(
latkeConfig
.
servePath
+
"
/archives.html
"
)
&&
(
t
=!
1
),
-
1
<
e
.
indexOf
(
latkeConfig
.
servePath
+
"
/archives/
"
)
&&
(
t
=!
1
),
-
1
<
e
.
indexOf
(
latkeConfig
.
servePath
+
"
/links.html
"
)
&&
(
t
=!
1
),
e
===
latkeConfig
.
servePath
&&
(
t
=!
1
),
/^
[
0-9
]
*$/
.
test
(
e
.
replace
(
latkeConfig
.
servePath
+
"
/
"
,
""
))
&&
(
t
=!
1
),
t
},
initPjax
:
function
(
e
){
1
===
$
(
"
#pjax
"
).
length
&&
(
$
.
pjax
({
selector
:
"
a
"
,
container
:
"
#pjax
"
,
show
:
""
,
cache
:
!
1
,
storage
:
!
0
,
titleSuffix
:
""
,
filter
:
function
(
e
){
return
e
===
latkeConfig
.
servePath
+
"
/rss.xml
"
||-
1
<
e
.
indexOf
(
latkeConfig
.
servePath
+
"
/admin-index.do
"
)
||!
(
-
1
<
e
.
indexOf
(
latkeConfig
.
servePath
))},
callback
:
function
(){
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
()}))},
parseMarkdown
:
function
(){
var
e
=!
1
,
t
=!
1
,
i
=
"
content-reset
"
;
if
(
$
(
"
.
"
+
i
).
each
(
function
(){
$
(
this
).
find
(
"
p
"
).
each
(
function
(){(
2
<
$
(
this
).
text
().
split
(
"
$
"
).
length
||
1
<
$
(
this
).
text
().
split
(
"
\\
(
"
).
length
&&
1
<
$
(
this
).
text
().
split
(
"
\\
)
"
).
length
)
&&
(
e
=!
0
)}),
0
<
$
(
this
).
find
(
"
code.lang-flow, code.language-flow
"
).
length
&&
(
t
=!
0
)}),
e
){
var
n
=
function
(){
MathJax
.
Hub
.
Config
({
tex2jax
:{
inlineMath
:[[
"
$
"
,
"
$
"
],[
"
\\
(
"
,
"
\\
)
"
]],
displayMath
:[[
"
$$
"
,
"
$$
"
]],
processEscapes
:
!
0
,
processEnvironments
:
!
0
,
skipTags
:[
"
pre
"
,
"
code
"
,
"
script
"
]},
asciimath2jax
:{
delimiters
:[[
"
$
"
,
"
$
"
]]}}),
MathJax
.
Hub
.
Typeset
()};
"
undefined
"
!=
typeof
MathJax
?
n
():
$
.
ajax
({
method
:
"
GET
"
,
url
:
"
https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML
"
,
dataType
:
"
script
"
,
cache
:
!
0
}).
done
(
function
(){
n
()})}
if
(
t
){
var
o
=
function
(){
$
(
"
.
"
+
i
+
"
code.lang-flow, .
"
+
i
+
"
code.language-flow
"
).
each
(
function
(
e
){
var
t
=
$
(
this
),
i
=
"
symFlow
"
+
(
new
Date
).
getTime
()
+
e
;
t
.
hide
();
var
n
=
flowchart
.
parse
(
$
.
trim
(
t
.
text
()));
t
.
parent
().
after
(
'
<div style="text-align: center" id="
'
+
i
+
'
"></div>
'
),
n
.
drawSVG
(
i
),
t
.
parent
().
remove
(),
$
(
"
#
"
+
i
).
find
(
"
svg
"
).
height
(
"
auto
"
).
width
(
"
auto
"
)})};
"
undefined
"
!=
typeof
flowchart
?
o
():
$
.
ajax
({
method
:
"
GET
"
,
url
:
latkeConfig
.
staticServePath
+
"
/js/lib/flowchart/flowchart.min.js
"
,
dataType
:
"
script
"
,
cache
:
!
0
}).
done
(
function
(){
o
()})}},
killIE
:
function
(
e
){
var
t
=
navigator
.
userAgent
.
split
(
"
MSIE
"
)[
1
];
t
&&
(
e
||
(
e
=
7
),
parseFloat
(
t
.
split
(
"
;
"
))
<=
e
&&
function
(){
if
(
""
===
Cookie
.
readCookie
(
"
showKill
"
))
try
{
var
t
=
"
<div 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 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='
"
+
latkeConfig
.
servePath
+
"
/kill-browser'></iframe>
"
;
$
(
"
body
"
).
append
(
t
)}
catch
(
e
){
t
=
"
<div 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 style='left:10px;z-index:120;top: 0px; position: fixed; border: 0px none; width: 781px; height: 680px;' src='
"
+
latkeConfig
.
servePath
+
"
/kill-browser'></iframe>
"
,
document
.
body
.
innerHTML
=
document
.
body
.
innerHTML
+
t
}}())},
replaceEmString
:
function
(
e
){
var
t
=
e
.
split
(
"
[em
"
);
if
(
1
===
t
.
length
)
return
e
;
e
=
t
[
0
];
for
(
var
i
=
1
;
i
<
t
.
length
;
i
++
){
var
n
=
t
[
i
].
substr
(
0
,
2
);
e
+=
"
<img width='20' src='
"
+
latkeConfig
.
staticServePath
+
"
/images/emotions/em
"
+
n
+
"
.png' alt='
"
+
Label
[
"
em
"
+
n
+
"
Label
"
]
+
"
' title='
"
+
Label
[
"
em
"
+
n
+
"
Label
"
]
+
"
'/>
"
+
t
[
i
].
substr
(
3
)}
return
e
},
switchMobile
:
function
(
e
){
Cookie
.
createCookie
(
"
btouch_switch_toggle
"
,
e
,
365
),
setTimeout
(
function
(){
location
.
reload
()},
1250
)},
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
.
setTopBar
(),
Util
.
parseMarkdown
(),
Util
.
initSW
()},
initSW
:
function
(){
navigator
.
serviceWorker
&&
navigator
.
serviceWorker
.
register
(
"
/sw.js
"
,{
scope
:
"
/
"
})},
replaceSideEm
:
function
(
e
){
for
(
var
t
=
0
;
t
<
e
.
length
;
t
++
){
var
i
=
$
(
e
[
t
]);
i
.
html
(
Util
.
replaceEmString
(
i
.
html
()))}},
buildTags
:
function
(
e
){
e
=
e
||
"
tags
"
;
for
(
var
t
=
[
"
tags1
"
,
"
tags2
"
,
"
tags3
"
,
"
tags4
"
,
"
tags5
"
],
i
=
$
(
"
#
"
+
e
+
"
b
"
).
get
(),
n
=
parseInt
(
$
(
"
#
"
+
e
+
"
b
"
).
last
().
text
()),
o
=
Math
.
ceil
(
n
/
t
.
length
),
a
=
0
;
a
<
i
.
length
;
a
++
)
for
(
var
r
=
parseInt
(
i
[
a
].
innerHTML
),
s
=
0
;
s
<
t
.
length
;
s
++
)
if
(
s
*
o
<
r
&&
r
<=
(
s
+
1
)
*
o
){
i
[
a
].
parentNode
.
className
=
t
[
s
];
break
}
$
(
"
#
"
+
e
).
html
(
$
(
"
#
"
+
e
+
"
li
"
).
get
().
sort
(
function
(
e
,
t
){
var
i
=
$
(
e
).
find
(
"
span
"
).
text
().
toLowerCase
(),
n
=
$
(
t
).
find
(
"
span
"
).
text
().
toLowerCase
();
return
i
.
localeCompare
(
n
)}))},
toDate
:
function
(
e
,
t
){
var
i
=
new
Date
(
e
),
n
=
{
"
M+
"
:
i
.
getMonth
()
+
1
,
"
d+
"
:
i
.
getDate
(),
"
H+
"
:
i
.
getHours
(),
"
m+
"
:
i
.
getMinutes
(),
"
s+
"
:
i
.
getSeconds
(),
"
q+
"
:
Math
.
floor
((
i
.
getMonth
()
+
3
)
/
3
),
S
:
i
.
getMilliseconds
()};
for
(
var
o
in
/
(
y+
)
/
.
test
(
t
)
&&
(
t
=
t
.
replace
(
RegExp
.
$1
,(
i
.
getFullYear
()
+
""
).
substr
(
4
-
RegExp
.
$1
.
length
))),
n
)
new
RegExp
(
"
(
"
+
o
+
"
)
"
).
test
(
t
)
&&
(
t
=
t
.
replace
(
RegExp
.
$1
,
1
==
RegExp
.
$1
.
length
?
n
[
o
]:(
"
00
"
+
n
[
o
]).
substr
((
""
+
n
[
o
]).
length
)));
return
t
}};
if
(
!
Cookie
)
var
Cookie
=
{
readCookie
:
function
(
e
){
for
(
var
t
=
e
+
"
=
"
,
i
=
document
.
cookie
.
split
(
"
;
"
),
n
=
0
;
n
<
i
.
length
;
n
++
){
for
(
var
o
=
i
[
n
];
"
"
==
o
.
charAt
(
0
);)
o
=
o
.
substring
(
1
,
o
.
length
);
if
(
0
==
o
.
indexOf
(
t
))
return
decodeURIComponent
(
o
.
substring
(
t
.
length
,
o
.
length
))}
return
""
},
eraseCookie
:
function
(
e
){
this
.
createCookie
(
e
,
""
,
-
1
)},
createCookie
:
function
(
e
,
t
,
i
){
var
n
=
""
;
if
(
i
){
var
o
=
new
Date
;
o
.
setTime
(
o
.
getTime
()
+
24
*
i
*
60
*
60
*
1
e3
),
n
=
"
; expires=
"
+
o
.
toGMTString
()}
document
.
cookie
=
e
+
"
=
"
+
encodeURIComponent
(
t
)
+
n
+
"
; path=/
"
}};
\ No newline at end of file
src/main/webapp/js/lib/jquery.qrcode.min.js
0 → 100644
View file @
7f04e27b
/*
* Solo - A small and beautiful blogging system written in Java.
* Copyright (c) 2010-2019, b3log.org & hacpai.com
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
!
function
(
c
){
c
.
fn
.
qrcode
=
function
(
h
){
var
r
;
function
e
(
t
){
this
.
mode
=
r
,
this
.
data
=
t
}
function
l
(
t
,
e
){
this
.
typeNumber
=
t
,
this
.
errorCorrectLevel
=
e
,
this
.
modules
=
null
,
this
.
moduleCount
=
0
,
this
.
dataCache
=
null
,
this
.
dataList
=
[]}
function
g
(
t
,
e
){
if
(
null
==
t
.
length
)
throw
Error
(
t
.
length
+
"
/
"
+
e
);
for
(
var
r
=
0
;
r
<
t
.
length
&&
0
==
t
[
r
];)
r
++
;
this
.
num
=
Array
(
t
.
length
-
r
+
e
);
for
(
var
o
=
0
;
o
<
t
.
length
-
r
;
o
++
)
this
.
num
[
o
]
=
t
[
o
+
r
]}
function
f
(
t
,
e
){
this
.
totalCount
=
t
,
this
.
dataCount
=
e
}
function
s
(){
this
.
buffer
=
[],
this
.
length
=
0
}
e
.
prototype
=
{
getLength
:
function
(){
return
this
.
data
.
length
},
write
:
function
(
t
){
for
(
var
e
=
0
;
e
<
this
.
data
.
length
;
e
++
)
t
.
put
(
this
.
data
.
charCodeAt
(
e
),
8
)}},
l
.
prototype
=
{
addData
:
function
(
t
){
this
.
dataList
.
push
(
new
e
(
t
)),
this
.
dataCache
=
null
},
isDark
:
function
(
t
,
e
){
if
(
t
<
0
||
this
.
moduleCount
<=
t
||
e
<
0
||
this
.
moduleCount
<=
e
)
throw
Error
(
t
+
"
,
"
+
e
);
return
this
.
modules
[
t
][
e
]},
getModuleCount
:
function
(){
return
this
.
moduleCount
},
make
:
function
(){
if
(
this
.
typeNumber
<
1
){
var
t
=
1
;
for
(
t
=
1
;
t
<
40
;
t
++
){
for
(
var
e
=
f
.
getRSBlocks
(
t
,
this
.
errorCorrectLevel
),
r
=
new
s
,
o
=
0
,
n
=
0
;
n
<
e
.
length
;
n
++
)
o
+=
e
[
n
].
dataCount
;
for
(
n
=
0
;
n
<
this
.
dataList
.
length
;
n
++
)
e
=
this
.
dataList
[
n
],
r
.
put
(
e
.
mode
,
4
),
r
.
put
(
e
.
getLength
(),
d
.
getLengthInBits
(
e
.
mode
,
t
)),
e
.
write
(
r
);
if
(
r
.
getLengthInBits
()
<=
8
*
o
)
break
}
this
.
typeNumber
=
t
}
this
.
makeImpl
(
!
1
,
this
.
getBestMaskPattern
())},
makeImpl
:
function
(
t
,
e
){
this
.
moduleCount
=
4
*
this
.
typeNumber
+
17
,
this
.
modules
=
Array
(
this
.
moduleCount
);
for
(
var
r
=
0
;
r
<
this
.
moduleCount
;
r
++
){
this
.
modules
[
r
]
=
Array
(
this
.
moduleCount
);
for
(
var
o
=
0
;
o
<
this
.
moduleCount
;
o
++
)
this
.
modules
[
r
][
o
]
=
null
}
this
.
setupPositionProbePattern
(
0
,
0
),
this
.
setupPositionProbePattern
(
this
.
moduleCount
-
7
,
0
),
this
.
setupPositionProbePattern
(
0
,
this
.
moduleCount
-
7
),
this
.
setupPositionAdjustPattern
(),
this
.
setupTimingPattern
(),
this
.
setupTypeInfo
(
t
,
e
),
7
<=
this
.
typeNumber
&&
this
.
setupTypeNumber
(
t
),
null
==
this
.
dataCache
&&
(
this
.
dataCache
=
l
.
createData
(
this
.
typeNumber
,
this
.
errorCorrectLevel
,
this
.
dataList
)),
this
.
mapData
(
this
.
dataCache
,
e
)},
setupPositionProbePattern
:
function
(
t
,
e
){
for
(
var
r
=-
1
;
r
<=
7
;
r
++
)
if
(
!
(
t
+
r
<=-
1
||
this
.
moduleCount
<=
t
+
r
))
for
(
var
o
=-
1
;
o
<=
7
;
o
++
)
e
+
o
<=-
1
||
this
.
moduleCount
<=
e
+
o
||
(
this
.
modules
[
t
+
r
][
e
+
o
]
=
0
<=
r
&&
r
<=
6
&&
(
0
==
o
||
6
==
o
)
||
0
<=
o
&&
o
<=
6
&&
(
0
==
r
||
6
==
r
)
||
2
<=
r
&&
r
<=
4
&&
2
<=
o
&&
o
<=
4
)},
getBestMaskPattern
:
function
(){
for
(
var
t
=
0
,
e
=
0
,
r
=
0
;
r
<
8
;
r
++
){
this
.
makeImpl
(
!
0
,
r
);
var
o
=
d
.
getLostPoint
(
this
);(
0
==
r
||
o
<
t
)
&&
(
t
=
o
,
e
=
r
)}
return
e
},
createMovieClip
:
function
(
t
,
e
,
r
){
for
(
t
=
t
.
createEmptyMovieClip
(
e
,
r
),
this
.
make
(),
e
=
0
;
e
<
this
.
modules
.
length
;
e
++
){
r
=
1
*
e
;
for
(
var
o
=
0
;
o
<
this
.
modules
[
e
].
length
;
o
++
){
var
n
=
1
*
o
;
this
.
modules
[
e
][
o
]
&&
(
t
.
beginFill
(
0
,
100
),
t
.
moveTo
(
n
,
r
),
t
.
lineTo
(
n
+
1
,
r
),
t
.
lineTo
(
n
+
1
,
r
+
1
),
t
.
lineTo
(
n
,
r
+
1
),
t
.
endFill
())}}
return
t
},
setupTimingPattern
:
function
(){
for
(
var
t
=
8
;
t
<
this
.
moduleCount
-
8
;
t
++
)
null
==
this
.
modules
[
t
][
6
]
&&
(
this
.
modules
[
t
][
6
]
=
0
==
t
%
2
);
for
(
t
=
8
;
t
<
this
.
moduleCount
-
8
;
t
++
)
null
==
this
.
modules
[
6
][
t
]
&&
(
this
.
modules
[
6
][
t
]
=
0
==
t
%
2
)},
setupPositionAdjustPattern
:
function
(){
for
(
var
t
=
d
.
getPatternPosition
(
this
.
typeNumber
),
e
=
0
;
e
<
t
.
length
;
e
++
)
for
(
var
r
=
0
;
r
<
t
.
length
;
r
++
){
var
o
=
t
[
e
],
n
=
t
[
r
];
if
(
null
==
this
.
modules
[
o
][
n
])
for
(
var
i
=-
2
;
i
<=
2
;
i
++
)
for
(
var
s
=-
2
;
s
<=
2
;
s
++
)
this
.
modules
[
o
+
i
][
n
+
s
]
=-
2
==
i
||
2
==
i
||-
2
==
s
||
2
==
s
||
0
==
i
&&
0
==
s
}},
setupTypeNumber
:
function
(
t
){
for
(
var
e
=
d
.
getBCHTypeNumber
(
this
.
typeNumber
),
r
=
0
;
r
<
18
;
r
++
){
var
o
=!
t
&&
1
==
(
e
>>
r
&
1
);
this
.
modules
[
Math
.
floor
(
r
/
3
)][
r
%
3
+
this
.
moduleCount
-
8
-
3
]
=
o
}
for
(
r
=
0
;
r
<
18
;
r
++
)
o
=!
t
&&
1
==
(
e
>>
r
&
1
),
this
.
modules
[
r
%
3
+
this
.
moduleCount
-
8
-
3
][
Math
.
floor
(
r
/
3
)]
=
o
},
setupTypeInfo
:
function
(
t
,
e
){
for
(
var
r
=
d
.
getBCHTypeInfo
(
this
.
errorCorrectLevel
<<
3
|
e
),
o
=
0
;
o
<
15
;
o
++
){
var
n
=!
t
&&
1
==
(
r
>>
o
&
1
);
o
<
6
?
this
.
modules
[
o
][
8
]
=
n
:
o
<
8
?
this
.
modules
[
o
+
1
][
8
]
=
n
:
this
.
modules
[
this
.
moduleCount
-
15
+
o
][
8
]
=
n
}
for
(
o
=
0
;
o
<
15
;
o
++
)
n
=!
t
&&
1
==
(
r
>>
o
&
1
),
o
<
8
?
this
.
modules
[
8
][
this
.
moduleCount
-
o
-
1
]
=
n
:
o
<
9
?
this
.
modules
[
8
][
15
-
o
-
1
+
1
]
=
n
:
this
.
modules
[
8
][
15
-
o
-
1
]
=
n
;
this
.
modules
[
this
.
moduleCount
-
8
][
8
]
=!
t
},
mapData
:
function
(
t
,
e
){
for
(
var
r
=-
1
,
o
=
this
.
moduleCount
-
1
,
n
=
7
,
i
=
0
,
s
=
this
.
moduleCount
-
1
;
0
<
s
;
s
-=
2
)
for
(
6
==
s
&&
s
--
;;){
for
(
var
u
=
0
;
u
<
2
;
u
++
)
if
(
null
==
this
.
modules
[
o
][
s
-
u
]){
var
a
=!
1
;
i
<
t
.
length
&&
(
a
=
1
==
(
t
[
i
]
>>>
n
&
1
)),
d
.
getMask
(
e
,
o
,
s
-
u
)
&&
(
a
=!
a
),
this
.
modules
[
o
][
s
-
u
]
=
a
,
-
1
==--
n
&&
(
i
++
,
n
=
7
)}
if
((
o
+=
r
)
<
0
||
this
.
moduleCount
<=
o
){
o
-=
r
,
r
=-
r
;
break
}}}},
l
.
PAD0
=
236
,
l
.
PAD1
=
17
,
l
.
createData
=
function
(
t
,
e
,
r
){
e
=
f
.
getRSBlocks
(
t
,
e
);
for
(
var
o
=
new
s
,
n
=
0
;
n
<
r
.
length
;
n
++
){
var
i
=
r
[
n
];
o
.
put
(
i
.
mode
,
4
),
o
.
put
(
i
.
getLength
(),
d
.
getLengthInBits
(
i
.
mode
,
t
)),
i
.
write
(
o
)}
for
(
n
=
t
=
0
;
n
<
e
.
length
;
n
++
)
t
+=
e
[
n
].
dataCount
;
if
(
o
.
getLengthInBits
()
>
8
*
t
)
throw
Error
(
"
code length overflow. (
"
+
o
.
getLengthInBits
()
+
"
>
"
+
8
*
t
+
"
)
"
);
for
(
o
.
getLengthInBits
()
+
4
<=
8
*
t
&&
o
.
put
(
0
,
4
);
0
!=
o
.
getLengthInBits
()
%
8
;)
o
.
putBit
(
!
1
);
for
(;
!
(
o
.
getLengthInBits
()
>=
8
*
t
)
&&
(
o
.
put
(
l
.
PAD0
,
8
),
!
(
o
.
getLengthInBits
()
>=
8
*
t
));)
o
.
put
(
l
.
PAD1
,
8
);
return
l
.
createBytes
(
o
,
e
)},
l
.
createBytes
=
function
(
t
,
e
){
for
(
var
r
=
0
,
o
=
0
,
n
=
0
,
i
=
Array
(
e
.
length
),
s
=
Array
(
e
.
length
),
u
=
0
;
u
<
e
.
length
;
u
++
){
var
a
=
e
[
u
].
dataCount
,
h
=
e
[
u
].
totalCount
-
a
;
o
=
Math
.
max
(
o
,
a
),
n
=
Math
.
max
(
n
,
h
);
i
[
u
]
=
Array
(
a
);
for
(
var
l
=
0
;
l
<
i
[
u
].
length
;
l
++
)
i
[
u
][
l
]
=
255
&
t
.
buffer
[
l
+
r
];
for
(
r
+=
a
,
l
=
d
.
getErrorCorrectPolynomial
(
h
),
a
=
new
g
(
i
[
u
],
l
.
getLength
()
-
1
).
mod
(
l
),
s
[
u
]
=
Array
(
l
.
getLength
()
-
1
),
l
=
0
;
l
<
s
[
u
].
length
;
l
++
)
h
=
l
+
a
.
getLength
()
-
s
[
u
].
length
,
s
[
u
][
l
]
=
0
<=
h
?
a
.
get
(
h
):
0
}
for
(
l
=
u
=
0
;
l
<
e
.
length
;
l
++
)
u
+=
e
[
l
].
totalCount
;
for
(
r
=
Array
(
u
),
l
=
a
=
0
;
l
<
o
;
l
++
)
for
(
u
=
0
;
u
<
e
.
length
;
u
++
)
l
<
i
[
u
].
length
&&
(
r
[
a
++
]
=
i
[
u
][
l
]);
for
(
l
=
0
;
l
<
n
;
l
++
)
for
(
u
=
0
;
u
<
e
.
length
;
u
++
)
l
<
s
[
u
].
length
&&
(
r
[
a
++
]
=
s
[
u
][
l
]);
return
r
},
r
=
4
;
for
(
var
d
=
{
PATTERN_POSITION_TABLE
:[[],[
6
,
18
],[
6
,
22
],[
6
,
26
],[
6
,
30
],[
6
,
34
],[
6
,
22
,
38
],[
6
,
24
,
42
],[
6
,
26
,
46
],[
6
,
28
,
50
],[
6
,
30
,
54
],[
6
,
32
,
58
],[
6
,
34
,
62
],[
6
,
26
,
46
,
66
],[
6
,
26
,
48
,
70
],[
6
,
26
,
50
,
74
],[
6
,
30
,
54
,
78
],[
6
,
30
,
56
,
82
],[
6
,
30
,
58
,
86
],[
6
,
34
,
62
,
90
],[
6
,
28
,
50
,
72
,
94
],[
6
,
26
,
50
,
74
,
98
],[
6
,
30
,
54
,
78
,
102
],[
6
,
28
,
54
,
80
,
106
],[
6
,
32
,
58
,
84
,
110
],[
6
,
30
,
58
,
86
,
114
],[
6
,
34
,
62
,
90
,
118
],[
6
,
26
,
50
,
74
,
98
,
122
],[
6
,
30
,
54
,
78
,
102
,
126
],[
6
,
26
,
52
,
78
,
104
,
130
],[
6
,
30
,
56
,
82
,
108
,
134
],[
6
,
34
,
60
,
86
,
112
,
138
],[
6
,
30
,
58
,
86
,
114
,
142
],[
6
,
34
,
62
,
90
,
118
,
146
],[
6
,
30
,
54
,
78
,
102
,
126
,
150
],[
6
,
24
,
50
,
76
,
102
,
128
,
154
],[
6
,
28
,
54
,
80
,
106
,
132
,
158
],[
6
,
32
,
58
,
84
,
110
,
136
,
162
],[
6
,
26
,
54
,
82
,
110
,
138
,
166
],[
6
,
30
,
58
,
86
,
114
,
142
,
170
]],
G15
:
1335
,
G18
:
7973
,
G15_MASK
:
21522
,
getBCHTypeInfo
:
function
(
t
){
for
(
var
e
=
t
<<
10
;
0
<=
d
.
getBCHDigit
(
e
)
-
d
.
getBCHDigit
(
d
.
G15
);)
e
^=
d
.
G15
<<
d
.
getBCHDigit
(
e
)
-
d
.
getBCHDigit
(
d
.
G15
);
return
(
t
<<
10
|
e
)
^
d
.
G15_MASK
},
getBCHTypeNumber
:
function
(
t
){
for
(
var
e
=
t
<<
12
;
0
<=
d
.
getBCHDigit
(
e
)
-
d
.
getBCHDigit
(
d
.
G18
);)
e
^=
d
.
G18
<<
d
.
getBCHDigit
(
e
)
-
d
.
getBCHDigit
(
d
.
G18
);
return
t
<<
12
|
e
},
getBCHDigit
:
function
(
t
){
for
(
var
e
=
0
;
0
!=
t
;)
e
++
,
t
>>>=
1
;
return
e
},
getPatternPosition
:
function
(
t
){
return
d
.
PATTERN_POSITION_TABLE
[
t
-
1
]},
getMask
:
function
(
t
,
e
,
r
){
switch
(
t
){
case
0
:
return
0
==
(
e
+
r
)
%
2
;
case
1
:
return
0
==
e
%
2
;
case
2
:
return
0
==
r
%
3
;
case
3
:
return
0
==
(
e
+
r
)
%
3
;
case
4
:
return
0
==
(
Math
.
floor
(
e
/
2
)
+
Math
.
floor
(
r
/
3
))
%
2
;
case
5
:
return
0
==
e
*
r
%
2
+
e
*
r
%
3
;
case
6
:
return
0
==
(
e
*
r
%
2
+
e
*
r
%
3
)
%
2
;
case
7
:
return
0
==
(
e
*
r
%
3
+
(
e
+
r
)
%
2
)
%
2
;
default
:
throw
Error
(
"
bad maskPattern:
"
+
t
)}},
getErrorCorrectPolynomial
:
function
(
t
){
for
(
var
e
=
new
g
([
1
],
0
),
r
=
0
;
r
<
t
;
r
++
)
e
=
e
.
multiply
(
new
g
([
1
,
n
.
gexp
(
r
)],
0
));
return
e
},
getLengthInBits
:
function
(
t
,
e
){
if
(
1
<=
e
&&
e
<
10
)
switch
(
t
){
case
1
:
return
10
;
case
2
:
return
9
;
case
r
:
case
8
:
return
8
;
default
:
throw
Error
(
"
mode:
"
+
t
)}
else
if
(
e
<
27
)
switch
(
t
){
case
1
:
return
12
;
case
2
:
return
11
;
case
r
:
return
16
;
case
8
:
return
10
;
default
:
throw
Error
(
"
mode:
"
+
t
)}
else
{
if
(
!
(
e
<
41
))
throw
Error
(
"
type:
"
+
e
);
switch
(
t
){
case
1
:
return
14
;
case
2
:
return
13
;
case
r
:
return
16
;
case
8
:
return
12
;
default
:
throw
Error
(
"
mode:
"
+
t
)}}},
getLostPoint
:
function
(
t
){
for
(
var
e
=
t
.
getModuleCount
(),
r
=
0
,
o
=
0
;
o
<
e
;
o
++
)
for
(
var
n
=
0
;
n
<
e
;
n
++
){
for
(
var
i
=
0
,
s
=
t
.
isDark
(
o
,
n
),
u
=-
1
;
u
<=
1
;
u
++
)
if
(
!
(
o
+
u
<
0
||
e
<=
o
+
u
))
for
(
var
a
=-
1
;
a
<=
1
;
a
++
)
n
+
a
<
0
||
e
<=
n
+
a
||
0
==
u
&&
0
==
a
||
s
==
t
.
isDark
(
o
+
u
,
n
+
a
)
&&
i
++
;
5
<
i
&&
(
r
+=
3
+
i
-
5
)}
for
(
o
=
0
;
o
<
e
-
1
;
o
++
)
for
(
n
=
0
;
n
<
e
-
1
;
n
++
)
i
=
0
,
t
.
isDark
(
o
,
n
)
&&
i
++
,
t
.
isDark
(
o
+
1
,
n
)
&&
i
++
,
t
.
isDark
(
o
,
n
+
1
)
&&
i
++
,
t
.
isDark
(
o
+
1
,
n
+
1
)
&&
i
++
,(
0
==
i
||
4
==
i
)
&&
(
r
+=
3
);
for
(
o
=
0
;
o
<
e
;
o
++
)
for
(
n
=
0
;
n
<
e
-
6
;
n
++
)
t
.
isDark
(
o
,
n
)
&&!
t
.
isDark
(
o
,
n
+
1
)
&&
t
.
isDark
(
o
,
n
+
2
)
&&
t
.
isDark
(
o
,
n
+
3
)
&&
t
.
isDark
(
o
,
n
+
4
)
&&!
t
.
isDark
(
o
,
n
+
5
)
&&
t
.
isDark
(
o
,
n
+
6
)
&&
(
r
+=
40
);
for
(
n
=
0
;
n
<
e
;
n
++
)
for
(
o
=
0
;
o
<
e
-
6
;
o
++
)
t
.
isDark
(
o
,
n
)
&&!
t
.
isDark
(
o
+
1
,
n
)
&&
t
.
isDark
(
o
+
2
,
n
)
&&
t
.
isDark
(
o
+
3
,
n
)
&&
t
.
isDark
(
o
+
4
,
n
)
&&!
t
.
isDark
(
o
+
5
,
n
)
&&
t
.
isDark
(
o
+
6
,
n
)
&&
(
r
+=
40
);
for
(
n
=
i
=
0
;
n
<
e
;
n
++
)
for
(
o
=
0
;
o
<
e
;
o
++
)
t
.
isDark
(
o
,
n
)
&&
i
++
;
return
r
+
10
*
(
t
=
Math
.
abs
(
100
*
i
/
e
/
e
-
50
)
/
5
)}},
n
=
{
glog
:
function
(
t
){
if
(
t
<
1
)
throw
Error
(
"
glog(
"
+
t
+
"
)
"
);
return
n
.
LOG_TABLE
[
t
]},
gexp
:
function
(
t
){
for
(;
t
<
0
;)
t
+=
255
;
for
(;
256
<=
t
;)
t
-=
255
;
return
n
.
EXP_TABLE
[
t
]},
EXP_TABLE
:
Array
(
256
),
LOG_TABLE
:
Array
(
256
)},
t
=
0
;
t
<
8
;
t
++
)
n
.
EXP_TABLE
[
t
]
=
1
<<
t
;
for
(
t
=
8
;
t
<
256
;
t
++
)
n
.
EXP_TABLE
[
t
]
=
n
.
EXP_TABLE
[
t
-
4
]
^
n
.
EXP_TABLE
[
t
-
5
]
^
n
.
EXP_TABLE
[
t
-
6
]
^
n
.
EXP_TABLE
[
t
-
8
];
for
(
t
=
0
;
t
<
255
;
t
++
)
n
.
LOG_TABLE
[
n
.
EXP_TABLE
[
t
]]
=
t
;
return
g
.
prototype
=
{
get
:
function
(
t
){
return
this
.
num
[
t
]},
getLength
:
function
(){
return
this
.
num
.
length
},
multiply
:
function
(
t
){
for
(
var
e
=
Array
(
this
.
getLength
()
+
t
.
getLength
()
-
1
),
r
=
0
;
r
<
this
.
getLength
();
r
++
)
for
(
var
o
=
0
;
o
<
t
.
getLength
();
o
++
)
e
[
r
+
o
]
^=
n
.
gexp
(
n
.
glog
(
this
.
get
(
r
))
+
n
.
glog
(
t
.
get
(
o
)));
return
new
g
(
e
,
0
)},
mod
:
function
(
t
){
if
(
this
.
getLength
()
-
t
.
getLength
()
<
0
)
return
this
;
for
(
var
e
=
n
.
glog
(
this
.
get
(
0
))
-
n
.
glog
(
t
.
get
(
0
)),
r
=
Array
(
this
.
getLength
()),
o
=
0
;
o
<
this
.
getLength
();
o
++
)
r
[
o
]
=
this
.
get
(
o
);
for
(
o
=
0
;
o
<
t
.
getLength
();
o
++
)
r
[
o
]
^=
n
.
gexp
(
n
.
glog
(
t
.
get
(
o
))
+
e
);
return
new
g
(
r
,
0
).
mod
(
t
)}},
f
.
RS_BLOCK_TABLE
=
[[
1
,
26
,
19
],[
1
,
26
,
16
],[
1
,
26
,
13
],[
1
,
26
,
9
],[
1
,
44
,
34
],[
1
,
44
,
28
],[
1
,
44
,
22
],[
1
,
44
,
16
],[
1
,
70
,
55
],[
1
,
70
,
44
],[
2
,
35
,
17
],[
2
,
35
,
13
],[
1
,
100
,
80
],[
2
,
50
,
32
],[
2
,
50
,
24
],[
4
,
25
,
9
],[
1
,
134
,
108
],[
2
,
67
,
43
],[
2
,
33
,
15
,
2
,
34
,
16
],[
2
,
33
,
11
,
2
,
34
,
12
],[
2
,
86
,
68
],[
4
,
43
,
27
],[
4
,
43
,
19
],[
4
,
43
,
15
],[
2
,
98
,
78
],[
4
,
49
,
31
],[
2
,
32
,
14
,
4
,
33
,
15
],[
4
,
39
,
13
,
1
,
40
,
14
],[
2
,
121
,
97
],[
2
,
60
,
38
,
2
,
61
,
39
],[
4
,
40
,
18
,
2
,
41
,
19
],[
4
,
40
,
14
,
2
,
41
,
15
],[
2
,
146
,
116
],[
3
,
58
,
36
,
2
,
59
,
37
],[
4
,
36
,
16
,
4
,
37
,
17
],[
4
,
36
,
12
,
4
,
37
,
13
],[
2
,
86
,
68
,
2
,
87
,
69
],[
4
,
69
,
43
,
1
,
70
,
44
],[
6
,
43
,
19
,
2
,
44
,
20
],[
6
,
43
,
15
,
2
,
44
,
16
],[
4
,
101
,
81
],[
1
,
80
,
50
,
4
,
81
,
51
],[
4
,
50
,
22
,
4
,
51
,
23
],[
3
,
36
,
12
,
8
,
37
,
13
],[
2
,
116
,
92
,
2
,
117
,
93
],[
6
,
58
,
36
,
2
,
59
,
37
],[
4
,
46
,
20
,
6
,
47
,
21
],[
7
,
42
,
14
,
4
,
43
,
15
],[
4
,
133
,
107
],[
8
,
59
,
37
,
1
,
60
,
38
],[
8
,
44
,
20
,
4
,
45
,
21
],[
12
,
33
,
11
,
4
,
34
,
12
],[
3
,
145
,
115
,
1
,
146
,
116
],[
4
,
64
,
40
,
5
,
65
,
41
],[
11
,
36
,
16
,
5
,
37
,
17
],[
11
,
36
,
12
,
5
,
37
,
13
],[
5
,
109
,
87
,
1
,
110
,
88
],[
5
,
65
,
41
,
5
,
66
,
42
],[
5
,
54
,
24
,
7
,
55
,
25
],[
11
,
36
,
12
],[
5
,
122
,
98
,
1
,
123
,
99
],[
7
,
73
,
45
,
3
,
74
,
46
],[
15
,
43
,
19
,
2
,
44
,
20
],[
3
,
45
,
15
,
13
,
46
,
16
],[
1
,
135
,
107
,
5
,
136
,
108
],[
10
,
74
,
46
,
1
,
75
,
47
],[
1
,
50
,
22
,
15
,
51
,
23
],[
2
,
42
,
14
,
17
,
43
,
15
],[
5
,
150
,
120
,
1
,
151
,
121
],[
9
,
69
,
43
,
4
,
70
,
44
],[
17
,
50
,
22
,
1
,
51
,
23
],[
2
,
42
,
14
,
19
,
43
,
15
],[
3
,
141
,
113
,
4
,
142
,
114
],[
3
,
70
,
44
,
11
,
71
,
45
],[
17
,
47
,
21
,
4
,
48
,
22
],[
9
,
39
,
13
,
16
,
40
,
14
],[
3
,
135
,
107
,
5
,
136
,
108
],[
3
,
67
,
41
,
13
,
68
,
42
],[
15
,
54
,
24
,
5
,
55
,
25
],[
15
,
43
,
15
,
10
,
44
,
16
],[
4
,
144
,
116
,
4
,
145
,
117
],[
17
,
68
,
42
],[
17
,
50
,
22
,
6
,
51
,
23
],[
19
,
46
,
16
,
6
,
47
,
17
],[
2
,
139
,
111
,
7
,
140
,
112
],[
17
,
74
,
46
],[
7
,
54
,
24
,
16
,
55
,
25
],[
34
,
37
,
13
],[
4
,
151
,
121
,
5
,
152
,
122
],[
4
,
75
,
47
,
14
,
76
,
48
],[
11
,
54
,
24
,
14
,
55
,
25
],[
16
,
45
,
15
,
14
,
46
,
16
],[
6
,
147
,
117
,
4
,
148
,
118
],[
6
,
73
,
45
,
14
,
74
,
46
],[
11
,
54
,
24
,
16
,
55
,
25
],[
30
,
46
,
16
,
2
,
47
,
17
],[
8
,
132
,
106
,
4
,
133
,
107
],[
8
,
75
,
47
,
13
,
76
,
48
],[
7
,
54
,
24
,
22
,
55
,
25
],[
22
,
45
,
15
,
13
,
46
,
16
],[
10
,
142
,
114
,
2
,
143
,
115
],[
19
,
74
,
46
,
4
,
75
,
47
],[
28
,
50
,
22
,
6
,
51
,
23
],[
33
,
46
,
16
,
4
,
47
,
17
],[
8
,
152
,
122
,
4
,
153
,
123
],[
22
,
73
,
45
,
3
,
74
,
46
],[
8
,
53
,
23
,
26
,
54
,
24
],[
12
,
45
,
15
,
28
,
46
,
16
],[
3
,
147
,
117
,
10
,
148
,
118
],[
3
,
73
,
45
,
23
,
74
,
46
],[
4
,
54
,
24
,
31
,
55
,
25
],[
11
,
45
,
15
,
31
,
46
,
16
],[
7
,
146
,
116
,
7
,
147
,
117
],[
21
,
73
,
45
,
7
,
74
,
46
],[
1
,
53
,
23
,
37
,
54
,
24
],[
19
,
45
,
15
,
26
,
46
,
16
],[
5
,
145
,
115
,
10
,
146
,
116
],[
19
,
75
,
47
,
10
,
76
,
48
],[
15
,
54
,
24
,
25
,
55
,
25
],[
23
,
45
,
15
,
25
,
46
,
16
],[
13
,
145
,
115
,
3
,
146
,
116
],[
2
,
74
,
46
,
29
,
75
,
47
],[
42
,
54
,
24
,
1
,
55
,
25
],[
23
,
45
,
15
,
28
,
46
,
16
],[
17
,
145
,
115
],[
10
,
74
,
46
,
23
,
75
,
47
],[
10
,
54
,
24
,
35
,
55
,
25
],[
19
,
45
,
15
,
35
,
46
,
16
],[
17
,
145
,
115
,
1
,
146
,
116
],[
14
,
74
,
46
,
21
,
75
,
47
],[
29
,
54
,
24
,
19
,
55
,
25
],[
11
,
45
,
15
,
46
,
46
,
16
],[
13
,
145
,
115
,
6
,
146
,
116
],[
14
,
74
,
46
,
23
,
75
,
47
],[
44
,
54
,
24
,
7
,
55
,
25
],[
59
,
46
,
16
,
1
,
47
,
17
],[
12
,
151
,
121
,
7
,
152
,
122
],[
12
,
75
,
47
,
26
,
76
,
48
],[
39
,
54
,
24
,
14
,
55
,
25
],[
22
,
45
,
15
,
41
,
46
,
16
],[
6
,
151
,
121
,
14
,
152
,
122
],[
6
,
75
,
47
,
34
,
76
,
48
],[
46
,
54
,
24
,
10
,
55
,
25
],[
2
,
45
,
15
,
64
,
46
,
16
],[
17
,
152
,
122
,
4
,
153
,
123
],[
29
,
74
,
46
,
14
,
75
,
47
],[
49
,
54
,
24
,
10
,
55
,
25
],[
24
,
45
,
15
,
46
,
46
,
16
],[
4
,
152
,
122
,
18
,
153
,
123
],[
13
,
74
,
46
,
32
,
75
,
47
],[
48
,
54
,
24
,
14
,
55
,
25
],[
42
,
45
,
15
,
32
,
46
,
16
],[
20
,
147
,
117
,
4
,
148
,
118
],[
40
,
75
,
47
,
7
,
76
,
48
],[
43
,
54
,
24
,
22
,
55
,
25
],[
10
,
45
,
15
,
67
,
46
,
16
],[
19
,
148
,
118
,
6
,
149
,
119
],[
18
,
75
,
47
,
31
,
76
,
48
],[
34
,
54
,
24
,
34
,
55
,
25
],[
20
,
45
,
15
,
61
,
46
,
16
]],
f
.
getRSBlocks
=
function
(
t
,
e
){
var
r
=
f
.
getRsBlockTable
(
t
,
e
);
if
(
null
==
r
)
throw
Error
(
"
bad rs block @ typeNumber:
"
+
t
+
"
/errorCorrectLevel:
"
+
e
);
for
(
var
o
=
r
.
length
/
3
,
n
=
[],
i
=
0
;
i
<
o
;
i
++
)
for
(
var
s
=
r
[
3
*
i
+
0
],
u
=
r
[
3
*
i
+
1
],
a
=
r
[
3
*
i
+
2
],
h
=
0
;
h
<
s
;
h
++
)
n
.
push
(
new
f
(
u
,
a
));
return
n
},
f
.
getRsBlockTable
=
function
(
t
,
e
){
switch
(
e
){
case
1
:
return
f
.
RS_BLOCK_TABLE
[
4
*
(
t
-
1
)
+
0
];
case
0
:
return
f
.
RS_BLOCK_TABLE
[
4
*
(
t
-
1
)
+
1
];
case
3
:
return
f
.
RS_BLOCK_TABLE
[
4
*
(
t
-
1
)
+
2
];
case
2
:
return
f
.
RS_BLOCK_TABLE
[
4
*
(
t
-
1
)
+
3
]}},
s
.
prototype
=
{
get
:
function
(
t
){
return
1
==
(
this
.
buffer
[
Math
.
floor
(
t
/
8
)]
>>>
7
-
t
%
8
&
1
)},
put
:
function
(
t
,
e
){
for
(
var
r
=
0
;
r
<
e
;
r
++
)
this
.
putBit
(
1
==
(
t
>>>
e
-
r
-
1
&
1
))},
getLengthInBits
:
function
(){
return
this
.
length
},
putBit
:
function
(
t
){
var
e
=
Math
.
floor
(
this
.
length
/
8
);
this
.
buffer
.
length
<=
e
&&
this
.
buffer
.
push
(
0
),
t
&&
(
this
.
buffer
[
e
]
|=
128
>>>
this
.
length
%
8
),
this
.
length
++
}},
"
string
"
==
typeof
h
&&
(
h
=
{
text
:
h
}),
h
=
c
.
extend
({},{
render
:
"
canvas
"
,
width
:
256
,
height
:
256
,
typeNumber
:
-
1
,
correctLevel
:
2
,
background
:
"
#ffffff
"
,
foreground
:
"
#000000
"
},
h
),
this
.
each
(
function
(){
var
t
;
if
(
"
canvas
"
==
h
.
render
){(
t
=
new
l
(
h
.
typeNumber
,
h
.
correctLevel
)).
addData
(
h
.
text
),
t
.
make
();
var
e
=
document
.
createElement
(
"
canvas
"
);
e
.
width
=
h
.
width
,
e
.
height
=
h
.
height
;
for
(
var
r
=
e
.
getContext
(
"
2d
"
),
o
=
h
.
width
/
t
.
getModuleCount
(),
n
=
h
.
height
/
t
.
getModuleCount
(),
i
=
0
;
i
<
t
.
getModuleCount
();
i
++
)
for
(
var
s
=
0
;
s
<
t
.
getModuleCount
();
s
++
){
r
.
fillStyle
=
t
.
isDark
(
i
,
s
)?
h
.
foreground
:
h
.
background
;
var
u
=
Math
.
ceil
((
s
+
1
)
*
o
)
-
Math
.
floor
(
s
*
o
),
a
=
Math
.
ceil
((
i
+
1
)
*
o
)
-
Math
.
floor
(
i
*
o
);
r
.
fillRect
(
Math
.
round
(
s
*
o
),
Math
.
round
(
i
*
n
),
u
,
a
)}}
else
for
((
t
=
new
l
(
h
.
typeNumber
,
h
.
correctLevel
)).
addData
(
h
.
text
),
t
.
make
(),
e
=
c
(
"
<table></table>
"
).
css
(
"
width
"
,
h
.
width
+
"
px
"
).
css
(
"
height
"
,
h
.
height
+
"
px
"
).
css
(
"
border
"
,
"
0px
"
).
css
(
"
border-collapse
"
,
"
collapse
"
).
css
(
"
background-color
"
,
h
.
background
),
r
=
h
.
width
/
t
.
getModuleCount
(),
o
=
h
.
height
/
t
.
getModuleCount
(),
n
=
0
;
n
<
t
.
getModuleCount
();
n
++
)
for
(
i
=
c
(
"
<tr></tr>
"
).
css
(
"
height
"
,
o
+
"
px
"
).
appendTo
(
e
),
s
=
0
;
s
<
t
.
getModuleCount
();
s
++
)
c
(
"
<td></td>
"
).
css
(
"
width
"
,
r
+
"
px
"
).
css
(
"
background-color
"
,
t
.
isDark
(
n
,
s
)?
h
.
foreground
:
h
.
background
).
appendTo
(
i
);
t
=
e
,
jQuery
(
t
).
appendTo
(
this
)})}}(
jQuery
);
\ No newline at end of file
src/main/webapp/scss/_reset-content.scss
View file @
7f04e27b
...
...
@@ -87,7 +87,7 @@
}
hr
{
height
:
0
.15em
;
height
:
1px
;
padding
:
0
;
margin
:
24px
0
;
background-color
:
#e7e7e7
;
...
...
src/main/webapp/scss/admin.css
View file @
7f04e27b
html
{
-webkit-text-size-adjust
:
100%
;
-ms-text-size-adjust
:
100%
;
height
:
100%
}
body
{
margin
:
0
;
font-family
:
"Helvetica Neue"
,
"Luxi Sans"
,
"DejaVu Sans"
,
Tahoma
,
"Hiragino Sans GB"
,
"Microsoft Yahei"
,
sans-serif
;
font-size
:
14px
;
background-color
:
#fff
;
-webkit-font-smoothing
:
antialiased
;
-webkit-overflow-scrolling
:
touch
}
::-moz-selection
{
text-shadow
:
none
;
background
:
rgba
(
65
,
131
,
196
,
0.4
)}
::selection
{
text-shadow
:
none
;
background
:
rgba
(
66
,
133
,
244
,
0.4
)}
ul
,
ol
{
margin
:
0
;
padding
:
0
}
h1
,
h2
,
h3
,
h4
,
h5
,
h6
,
dl
,
dd
,
p
{
margin
:
0
}
article
,
aside
,
details
,
figcaption
,
figure
,
footer
,
header
,
hgroup
,
nav
,
section
{
display
:
block
}
audio
,
canvas
,
video
{
display
:
inline-block
}
audio
:not
([
controls
])
{
display
:
none
}
a
{
outline
:
0
;
text-decoration
:
none
}
a
:hover
{
text-decoration
:
underline
}
sub
,
sup
{
position
:
relative
;
font-size
:
75%
;
line-height
:
0
;
vertical-align
:
baseline
}
sup
{
top
:
-0.5em
}
sub
{
bottom
:
-0.25em
}
img
{
max-width
:
100%
;
vertical-align
:
middle
;
border
:
0
;
height
:
auto
;
-ms-interpolation-mode
:
bicubic
;
overflow
:
hidden
;
font-size
:
12px
}
button
,
input
,
select
,
textarea
{
margin
:
0
;
font-size
:
100%
;
vertical-align
:
middle
;
font-family
:
"Helvetica Neue"
,
"Luxi Sans"
,
"DejaVu Sans"
,
Tahoma
,
"Hiragino Sans GB"
,
"Microsoft Yahei"
,
sans-serif
;
outline
:
none
}
button
,
input
{
line-height
:
normal
}
button
::-moz-focus-inner
,
input
::-moz-focus-inner
{
padding
:
0
;
border
:
0
}
button
,
input
[
type
=
"button"
],
input
[
type
=
"reset"
],
input
[
type
=
"submit"
]
{
cursor
:
pointer
;
-webkit-appearance
:
button
}
input
[
type
=
"search"
]
{
box-sizing
:
content-box
;
-webkit-appearance
:
textfield
}
input
[
type
=
"search"
]
::-webkit-search-decoration
,
input
[
type
=
"search"
]
::-webkit-search-cancel-button
{
-webkit-appearance
:
none
}
textarea
{
overflow
:
auto
;
resize
:
vertical
}
svg
{
fill
:
currentColor
;
display
:
inline-block
;
stroke-width
:
0
;
stroke
:
currentColor
;
width
:
14px
;
height
:
14px
}
blockquote
{
margin
:
0
}
.content-reset
{
word-wrap
:
break-word
;
overflow
:
auto
;
line-height
:
1.65
;
font-size
:
16px
;
word-break
:
break-word
}
.content-reset
ul
,
.content-reset
ol
{
padding-left
:
2em
;
margin-top
:
0
;
margin-bottom
:
16px
}
.content-reset
li
{
margin-top
:
0.25em
}
.content-reset
img
{
cursor
:
zoom-in
}
.content-reset
img
.emoji
{
cursor
:
auto
;
max-width
:
18px
}
.content-reset
h1
,
.content-reset
h2
,
.content-reset
h3
,
.content-reset
h4
,
.content-reset
h5
,
.content-reset
h6
{
margin-top
:
24px
;
margin-bottom
:
16px
;
font-weight
:
600
;
line-height
:
1.25
}
.content-reset
h1
{
padding-bottom
:
0.3em
;
font-size
:
1.7em
;
border-bottom
:
1px
solid
#eee
}
.content-reset
h2
{
padding-bottom
:
0.3em
;
font-size
:
1.5em
;
border-bottom
:
1px
solid
#eee
}
.content-reset
h3
{
font-size
:
1.25em
}
.content-reset
h4
{
font-size
:
1em
}
.content-reset
h5
{
font-size
:
0.875em
}
.content-reset
h6
{
font-size
:
0.85em
}
.content-reset
hr
{
height
:
0.15em
;
padding
:
0
;
margin
:
24px
0
;
background-color
:
#e7e7e7
;
border
:
0
}
.content-reset
p
{
margin-top
:
0
;
margin-bottom
:
16px
}
.content-reset
blockquote
{
padding
:
0
1em
;
color
:
#777
;
border-left
:
0.25em
solid
#ddd
;
margin-bottom
:
16px
}
.content-reset
blockquote
p
{
margin
:
0
}
.content-reset
ins
>
iframe
{
border
:
0
}
.content-reset
iframe
{
border
:
1px
solid
rgba
(
0
,
0
,
0
,
0.38
)}
.content-reset
table
{
width
:
100%
;
border
:
1px
solid
#dedede
;
margin
:
15px
auto
;
border-collapse
:
collapse
;
empty-cells
:
show
}
.content-reset
thead
{
text-align
:
center
}
.content-reset
td
,
.content-reset
th
{
height
:
35px
;
border
:
1px
solid
#dedede
;
padding
:
0
10px
}
.content-reset
th
{
font-weight
:
bold
;
text-align
:
center
!important
;
background
:
rgba
(
158
,
188
,
226
,
0.2
)}
.content-reset
tbody
tr
:nth-child
(
2n
)
{
background
:
rgba
(
158
,
188
,
226
,
0.12
)}
.content-reset
tr
:hover
{
background
:
#efefef
}
.content-reset
code
{
padding
:
0.2em
0.4em
;
margin
:
0
;
font-size
:
85%
;
background-color
:
rgba
(
252
,
41
,
41
,
0.12
);
border-radius
:
3px
;
word-break
:
break-word
}
.content-reset
pre
{
position
:
relative
}
.content-reset
pre
textarea
{
position
:
absolute
;
top
:
-100000px
}
.content-reset
pre
>
code
{
padding
:
0.5em
;
background-color
:
rgba
(
0
,
0
,
0
,
0.04
);
background-size
:
20px
20px
;
border-radius
:
5px
;
display
:
block
}
.content-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
rgba
(
0
,
0
,
0
,
0.38
);
border-bottom-color
:
#bbb
;
border-radius
:
3px
;
box-shadow
:
inset
0
-1px
0
#bbb
}
.content-reset__task
,
.content-reset
.task-list-item
{
list-style
:
none
;
margin-left
:
-1em
}
.img-preview
{
width
:
100%
;
height
:
100%
;
top
:
0
;
z-index
:
211
;
overflow
:
auto
;
cursor
:
zoom-out
;
transition
:
background-color
.2s
ease-in-out
}
.img-preview
img
{
max-width
:
inherit
;
transition
:
transform
.3s
ease-in-out
}
@-webkit-keyframes
tooltip-appear
{
from
{
opacity
:
0
}
to
{
opacity
:
1
}}
@keyframes
tooltip-appear
{
from
{
opacity
:
0
}
to
{
opacity
:
1
}}
.tooltipped
{
position
:
relative
;
cursor
:
pointer
}
.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
}
.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
}
.tooltipped--hover
::before
,
.tooltipped--hover
::after
,
.tooltipped
:hover::before
,
.tooltipped
:hover::after
,
.tooltipped
:active::before
,
.tooltipped
:active::after
,
.tooltipped
:focus::before
,
.tooltipped
:focus::after
{
display
:
inline-block
;
text-decoration
:
none
;
animation-name
:
tooltip-appear
;
animation-duration
:
0.1s
;
animation-fill-mode
:
forwards
;
animation-timing-function
:
ease-in
;
animation-delay
:
0.4s
}
.tooltipped__s
::after
,
.tooltipped__se
::after
,
.tooltipped__sw
::after
{
top
:
100%
;
right
:
50%
;
margin-top
:
5px
}
.tooltipped__s
::before
,
.tooltipped__se
::before
,
.tooltipped__sw
::before
{
top
:
auto
;
right
:
50%
;
bottom
:
-5px
;
margin-right
:
-5px
;
border-bottom-color
:
rgba
(
0
,
0
,
0
,
0.8
)}
.tooltipped__se
::after
{
right
:
auto
;
left
:
50%
;
margin-left
:
-15px
}
.tooltipped__sw
::after
{
margin-right
:
-15px
}
.tooltipped__n
::after
,
.tooltipped__ne
::after
,
.tooltipped__nw
::after
{
right
:
50%
;
bottom
:
100%
;
margin-bottom
:
5px
}
.tooltipped__n
::before
,
.tooltipped__ne
::before
,
.tooltipped__nw
::before
{
top
:
-5px
;
right
:
50%
;
bottom
:
auto
;
margin-right
:
-5px
;
border-top-color
:
rgba
(
0
,
0
,
0
,
0.8
)}
.tooltipped__ne
::after
{
right
:
auto
;
left
:
50%
;
margin-left
:
-15px
}
.tooltipped__nw
::after
{
margin-right
:
-15px
}
.tooltipped__s
::after
,
.tooltipped__n
::after
{
transform
:
translateX
(
50%
)}
.tooltipped__w
::after
{
right
:
100%
;
bottom
:
50%
;
margin-right
:
5px
;
transform
:
translateY
(
50%
)}
.tooltipped__w
::before
{
top
:
50%
;
bottom
:
50%
;
left
:
-5px
;
margin-top
:
-5px
;
border-left-color
:
rgba
(
0
,
0
,
0
,
0.8
)}
.tooltipped__e
::after
{
bottom
:
50%
;
left
:
100%
;
margin-left
:
5px
;
transform
:
translateY
(
50%
)}
.tooltipped__e
::before
{
top
:
50%
;
right
:
-5px
;
bottom
:
50%
;
margin-top
:
-5px
;
border-right-color
:
rgba
(
0
,
0
,
0
,
0.8
)}
.fn__flex
{
display
:
flex
}
.fn__flex-center
{
align-self
:
center
}
.fn__flex-inline
{
display
:
inline-flex
;
align-items
:
center
}
.fn__flex-1
{
flex
:
1
;
min-width
:
1px
}
.fn__flex-column
{
min-height
:
100%
;
display
:
flex
;
flex-direction
:
column
}
.fn__pointer
{
cursor
:
pointer
}
.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__hidden
{
visibility
:
hidden
}
.fn__ellipsis
{
overflow
:
hidden
;
text-overflow
:
ellipsis
;
white-space
:
nowrap
;
word-wrap
:
normal
}
.ft__13
{
font-size
:
13px
}
.ft__smaller
{
font-size
:
12px
}
.ft__center
{
text-align
:
center
}
.ft__nowrap
{
white-space
:
nowrap
}
@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
;
animation-name
:
tooltip-appear
;
animation-duration
:
0.1s
;
animation-fill-mode
:
forwards
;
animation-timing-function
:
ease-in
;
animation-delay
:
0.4s
}
.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
{
transform
:
translateX
(
50%
)}
.vditor-tooltipped__w
::after
{
right
:
100%
;
bottom
:
50%
;
margin-right
:
5px
;
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
;
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
)}
.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
:
1
;
font-size
:
14px
;
display
:
none
;
user-select
:
none
;
max-width
:
200px
;
min-width
:
80px
}
.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-toolbar
{
background-color
:
#f6f8fa
;
border-bottom
:
1px
solid
#d1d5da
;
padding
:
0
5px
;
border-radius
:
3px
3px
0
0
}
.vditor-toolbar
>
div
{
padding
:
10px
5px
;
float
:
left
;
line-height
:
14px
;
height
:
36px
;
box-sizing
:
border-box
}
.vditor-toolbar
svg
{
fill
:
currentColor
;
display
:
inline-block
;
stroke-width
:
0
;
stroke
:
currentColor
;
width
:
14px
;
height
:
14px
}
.vditor-toolbar
.vditor-tooltipped
{
color
:
#586069
}
.vditor-toolbar
.vditor-tooltipped
:hover
{
color
:
#4285f4
}
.vditor-toolbar
label
{
overflow
:
hidden
;
position
:
relative
;
height
:
14px
;
width
:
15px
;
display
:
block
;
cursor
:
pointer
}
.vditor-toolbar
input
{
position
:
absolute
;
width
:
1px
;
opacity
:
.001
;
height
:
14px
;
overflow
:
hidden
}
.vditor-menu--current
svg
{
color
:
#4285f4
}
.vditor-menu__divider
{
width
:
10px
}
.vditor-menu__br
{
width
:
100%
;
padding
:
0
!important
;
height
:
0
!important
}
.vditor-emojis
{
display
:
inline-block
}
.vditor-emojis__tail
{
font-size
:
12px
;
text-align
:
right
;
color
:
#586069
}
.vditor-emojis__tail
a
{
text-decoration
:
none
;
color
:
#586069
}
.vditor-emojis__tail
a
:hover
{
color
:
#4285f4
}
.vditor-emojis
span
{
cursor
:
pointer
;
border-radius
:
3px
;
float
:
left
;
height
:
26px
;
width
:
26px
;
text-align
:
center
;
line-height
:
20px
;
padding
:
3px
;
box-sizing
:
border-box
;
font-size
:
16px
}
.vditor-emojis
span
:hover
{
background-color
:
#4285f4
}
.vditor-emojis
img
{
height
:
20px
;
width
:
20px
;
float
:
left
}
.vditor
{
display
:
flex
;
flex-direction
:
column
;
border
:
1px
solid
#d1d5da
;
border-radius
:
3px
;
box-sizing
:
border-box
}
.vditor--fullscreen
{
position
:
fixed
;
top
:
0
;
width
:
100%
!important
;
left
:
0
;
height
:
100vh
!important
;
z-index
:
90
;
background-color
:
#fff
}
.vditor-content
{
display
:
flex
;
min-height
:
60px
;
flex
:
1
;
position
:
relative
}
.vditor-textarea
{
flex
:
1
;
border
:
0
;
resize
:
none
;
padding
:
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
}
.vditor-textarea
[
disabled
]
{
opacity
:
0.3
;
cursor
:
not-allowed
}
.vditor-textarea
:focus
{
background-color
:
#fff
}
.vditor-preview
{
flex
:
1
;
background-color
:
#fff
;
overflow
:
auto
;
padding
:
10px
;
box-shadow
:
inset
1px
0
#d1d5da
;
box-sizing
:
border-box
;
border-radius
:
0
0
3px
0
}
.vditor-preview
::-webkit-scrollbar
{
display
:
none
}
.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
;
user-select
:
none
}
.vditor-counter--error
{
color
:
#d23f31
;
background-color
:
rgba
(
210
,
63
,
49
,
0.1
)}
.vditor-resize
{
padding
:
1px
0
;
border-radius
:
5px
;
cursor
:
row-resize
;
transition
:
all
.15s
ease-in-out
;
user-select
:
none
;
background-color
:
#f6f8fa
}
.vditor-resize
:hover
{
background-color
:
#4285f4
}
.vditor-resize
:hover
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
{
opacity
:
0
;
position
:
absolute
;
width
:
100%
;
height
:
5px
;
left
:
0
;
top
:
-3px
;
border-radius
:
3px
;
overflow
:
hidden
;
transition
:
all
.15s
ease-in-out
}
.vditor-upload--tip
{
height
:
20px
;
font-size
:
12px
;
line-height
:
20px
;
color
:
#fff
;
opacity
:
1
!important
}
.vditor-upload--tip
.vditor-upload__close
{
position
:
absolute
;
right
:
5px
;
top
:
0
;
cursor
:
pointer
;
display
:
block
}
.vditor-upload--tip
.vditor-upload__progress
{
padding
:
0
5px
}
.vditor-upload__close
{
display
:
none
}
.vditor-upload__progress
{
height
:
100%
;
background-color
:
rgba
(
66
,
133
,
244
,
0.8
);
transition
:
all
.15s
ease-in-out
}
.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
:
1
;
line-height
:
20px
;
list-style
:
none
;
color
:
#24292e
;
font-size
:
12px
;
margin
:
0
;
max-width
:
200px
;
min-width
:
80px
;
display
:
none
}
.vditor-hint
li
{
cursor
:
pointer
;
padding
:
3px
10px
;
border-bottom
:
1px
solid
#d1d5da
;
line-height
:
20px
}
.vditor-hint
li
:last-child
{
border-bottom
:
0
}
.vditor-hint--current
,
.vditor-hint
li
:hover
{
background-color
:
#4285f4
;
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
}
body
{
color
:
#767676
;
background
:
#f1f2f7
;
font-size
:
13px
}
a
{
color
:
#4183c4
;
text-decoration
:
none
}
a
:visited
{
color
:
#7ba9d6
}
a
:active
{
color
:
#2c5d8d
}
a
:hover
{
text-decoration
:
underline
}
button
,
.completed-ck
span
{
padding
:
6px
12px
;
margin-bottom
:
0
;
font-size
:
14px
;
font-weight
:
400
;
text-align
:
center
;
white-space
:
nowrap
;
vertical-align
:
baseline
;
cursor
:
pointer
;
user-select
:
none
;
background-image
:
none
;
border
:
1px
solid
#1fb5ad
;
border-radius
:
4px
;
background-color
:
#1fb5ad
;
color
:
#fff
;
height
:
auto
;
outline
:
none
;
line-height
:
18px
}
button
:hover
{
background-color
:
#1ca59e
;
border-color
:
#1ca59e
}
.fn__margin12
{
margin
:
12px
}
@font-face
{
font-family
:
'icomoon'
;
src
:
url("fonts/icomoon.eot?pmeuih")
;
src
:
url("fonts/icomoon.eot?pmeuih#iefix")
format
(
"embedded-opentype"
),
url("fonts/icomoon.ttf?pmeuih")
format
(
"truetype"
),
url("fonts/icomoon.woff?pmeuih")
format
(
"woff"
),
url("fonts/icomoon.svg?pmeuih#icomoon")
format
(
"svg"
);
font-weight
:
normal
;
font-style
:
normal
}
[
class
^=
"icon-"
],[
class
*=
" icon-"
]
{
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-close
:before
{
content
:
"\e909"
}
.icon-move-down
:before
{
content
:
"\e90a"
}
.icon-move-up
:before
{
content
:
"\e90b"
}
.icon-unordered-list
:before
{
content
:
"\e004"
}
.icon-info
:before
{
content
:
"\e00d"
}
.icon-article
:before
{
content
:
"\e61d"
}
.icon-setting
:before
{
content
:
"\e604"
}
.icon-cmts
:before
{
content
:
"\e60a"
}
.icon-refresh
:before
{
content
:
"\e60b"
}
.icon-chevron-down
:before
{
content
:
"\e618"
}
.icon-chevron-up
:before
{
content
:
"\e619"
}
a
[
class
^=
"icon-"
],
a
[
class
*=
" icon-"
]
{
color
:
#333
}
a
[
class
^=
"icon-"
]
:hover
,
a
[
class
*=
" icon-"
]
:hover
{
text-decoration
:
none
;
color
:
#4183c4
}
.aboutIcon
{
background-position
:
-16px
-48px
}
.icon-move-down
,
.icon-move-up
{
cursor
:
pointer
}
#allPanel
{
height
:
auto
;
min-height
:
100%
;
position
:
relative
}
#tabsPanel
{
margin
:
50px
0
0
240px
;
padding
:
15px
;
min-height
:
100px
}
#tabsPanel
>
div
{
padding-bottom
:
36px
}
#tabsPanel_article-list
,
#tabsPanel_draft-list
,
#tabsPanel_comment-list
,
#tabsPanel_plugin-list
,
#tabsPanel_page-list
>
div
:first-child
,
#tabsPanel_user-list
>
div
:first-child
,
#tabsPanel_category-list
>
div
:first-child
,
#tabsPanel_link-list
>
div
:first-child
{
background-color
:
#FFF
;
border-radius
:
4px
;
margin-bottom
:
40px
;
overflow
:
hidden
}
.tip
{
font-weight
:
bold
;
margin
:
0
auto
;
overflow
:
hidden
;
padding
:
2px
0
;
position
:
fixed
;
text-align
:
center
;
top
:
3px
;
left
:
255px
;
z-index
:
1001
}
#tipMsg
,
#loadMsg
{
color
:
#31708f
;
background-color
:
#d9edf7
;
border-radius
:
4px
;
line-height
:
40px
;
display
:
inline-block
}
.footer
{
bottom
:
12px
;
position
:
absolute
;
text-align
:
center
;
width
:
100%
;
padding-left
:
240px
;
box-sizing
:
border-box
}
#top
{
height
:
50px
;
position
:
fixed
;
box-shadow
:
1px
0
3px
rgba
(
0
,
0
,
0
,
0.15
);
width
:
100%
;
top
:
0
;
background-color
:
#fff
;
z-index
:
80
}
#top
>
a
{
background
:
#1fb5ad
;
float
:
left
;
width
:
240px
;
height
:
50px
;
position
:
relative
;
color
:
#F7F7F7
;
text-align
:
center
;
text-decoration
:
none
;
font-size
:
20px
;
line-height
:
50px
}
#top
>
.fn__right
a
{
color
:
#555
;
line-height
:
32px
;
margin
:
8px
10px
;
border
:
1px
solid
#f6f6f6
;
background-color
:
#f6f6f6
;
border-radius
:
100px
;
padding
:
0
10px
;
text-decoration
:
none
;
display
:
inline-block
}
#top
>
.fn__right
a
:hover
{
color
:
#333
}
#top
.avatar
{
height
:
25px
;
width
:
25px
;
border-radius
:
20px
;
background-size
:
cover
;
background-repeat
:
no-repeat
;
background-position
:
center
center
;
float
:
left
;
margin
:
3px
6px
0
0
}
#tabs
{
height
:
100%
;
min-height
:
468px
;
width
:
240px
;
margin-top
:
50px
;
position
:
fixed
;
top
:
0
;
background-color
:
#32323a
;
overflow
:
auto
}
#tabs
ul
{
list-style
:
none
}
#tabs
li
{
margin-left
:
0px
;
border-bottom
:
1px
solid
rgba
(
255
,
255
,
255
,
0.05
)}
#tabs
li
>
div
>
a
,
#tabs
#tabToolsTitle
,
#tabs
#tabArticleTitle
{
color
:
#aeb2b7
;
display
:
block
;
text-decoration
:
none
;
letter-spacing
:
1px
;
padding
:
18px
0
18px
25px
;
line-height
:
18px
;
height
:
18px
;
transition
:
all
0.3s
ease
;
cursor
:
pointer
}
#tabs
a
:hover
,
#tabs
a
.tab-current
,
#tabs
#tabToolsTitle
.tab-current
,
#tabs
#tabArticleTitle
.tab-current
,
#tabs
#tabToolsTitle
:hover
,
#tabs
#tabArticleTitle
:hover
{
background-color
:
#28282e
;
color
:
#1fb5ad
}
#tabs
li
li
{
border-bottom
:
0
}
#tabs
li
li
>
div
>
a
{
padding
:
13px
0
13px
46px
;
line-height
:
15px
;
height
:
15px
;
background-color
:
#28282e
}
#tabs
li
li
>
div
>
a
:hover
,
#tabs
li
li
>
div
>
a
.tab-current
{
background-color
:
#202025
}
#tabs
.commentIcon
,
#tabs
.postIcon
,
#tabs
.preferenceIcon
,
#tabs
.usersIcon
,
#tabs
.aboutIcon
{
display
:
none
}
#tabs
.icon-chevron-up
,
#tabs
.icon-chevron-down
{
margin-right
:
10px
}
.sub-tabs
{
background-color
:
#e0e1e7
;
border-radius
:
4px
4px
0
0
;
overflow
:
hidden
}
.sub-tabs
ul
{
float
:
left
;
list-style
:
none
outside
none
;
margin-right
:
24px
}
.sub-tabs
li
{
float
:
left
;
margin
:
0
}
.sub-tabs
li
a
{
border-right
:
1px
solid
#e0e1e7
;
color
:
#898989
;
display
:
block
;
line-height
:
18px
;
padding
:
20px
15px
;
text-decoration
:
none
}
.sub-tabs
.tab-current
,
.sub-tabs
.tab-current
:hover
,
.sub-tabs
a
:hover
{
background-color
:
#FFFFFF
;
color
:
#1fb5ad
}
.sub-tabs-main
{
background-color
:
#FFFFFF
;
padding
:
15px
;
border-radius
:
0
0
4px
4px
}
.form
>
div
{
margin
:
15px
0
}
.form
label
{
margin-bottom
:
10px
;
display
:
inline-block
}
.form
label
.checkbox
{
display
:
inline-flex
;
align-items
:
center
;
margin
:
11px
0
}
.form
label
.checkbox
input
{
height
:
auto
}
.form
input
[
type
=
'text'
],
.form
input
[
type
=
'password'
],
.form
textarea
,
.form
select
{
font-size
:
14px
;
outline
:
medium
none
;
width
:
100%
;
padding
:
6px
12px
;
height
:
34px
;
box-sizing
:
border-box
;
border
:
1px
solid
#e2e2e4
;
color
:
#333
;
border-radius
:
4px
;
transition
:
border-color
ease-in-out
.15s
,
box-shadow
ease-in-out
.15s
;
background-color
:
#fff
}
.form
textarea
{
height
:
auto
}
.form
input
[
type
=
'text'
]
:focus
,
.form
input
[
type
=
'radio'
]
:focus
,
.form
input
[
type
=
'password'
]
:focus
,
.form
textarea
:focus
{
box-shadow
:
none
;
border-color
:
#1fb5ad
}
table
.form
label
{
margin
:
10px
0
0
0
}
table
.form
th
{
vertical-align
:
initial
}
.module-panel
{
border-radius
:
4px
;
background-color
:
#fff
;
margin-bottom
:
20px
;
min-height
:
160px
}
.module-header
{
background
:
#fafafa
;
padding
:
15px
;
border-bottom
:
1px
solid
#eff2f7
;
border-top-left-radius
:
3px
;
border-top-right-radius
:
3px
}
.module-header
h2
{
font-size
:
13px
;
font-weight
:
400
}
.module-header
a
{
color
:
#767676
;
text-decoration
:
none
}
.module-header
a
:hover
{
color
:
#1fb5ad
}
.module-panel
.module-body
{
padding
:
15px
}
.module-panel
.module-body
li
{
padding
:
10px
;
line-height
:
18px
;
border-bottom
:
1px
solid
#ddd
}
.module-panel
.module-body
li
:hover
{
background-color
:
#fafafa
}
.module-panel
.module-body
li
a
:hover
{
text-decoration
:
none
}
.comment-title
{
background-color
:
#ECECEC
;
border-bottom
:
1px
solid
#DFDFDF
;
border-top
:
1px
solid
#F9F9F9
;
padding
:
3px
6px
3px
12px
}
#comments
{
height
:
462px
;
overflow
:
auto
}
.article__thumbnail
{
margin
:
10px
auto
20px
;
display
:
none
;
text-align
:
center
}
.article__thumbnail
.thumbnail__img
{
background-color
:
rgba
(
0
,
0
,
0
,
0.02
);
background-size
:
cover
;
background-repeat
:
no-repeat
;
background-position
:
50%
;
height
:
432px
;
width
:
768px
;
margin
:
0
auto
}
.article__thumbnail
button
{
margin-top
:
10px
}
button
#submitArticle
{
background-color
:
#fa8564
;
border-color
:
#fa8564
}
button
#submitArticle
:hover
{
background-color
:
#ec6459
;
border-color
:
#ec6459
}
#pagePagePanel
{
margin-top
:
0
}
#skinsPanel
{
min-width
:
328px
;
width
:
99%
}
.skinPreview
{
cursor
:
pointer
;
height
:
160px
;
margin
:
6px
;
width
:
280px
}
.skinItem
{
background-color
:
#FAFAFA
;
border-radius
:
3px
;
box-shadow
:
1px
1px
3px
#333333
;
line-height
:
16px
;
margin
:
10px
;
text-align
:
center
}
#skinMain
.skinItem.selected
{
background-color
:
#1fb5ad
}
.skinItem
:hover
{
background-color
:
#EEE
}
.f-blue
,
.error-msg
{
color
:
#3366CC
}
.signs
button
{
margin
:
0
12px
}
.small-head
{
float
:
left
;
height
:
35px
;
margin
:
3px
9px
0
3px
;
width
:
35px
}
#commentTable
.table-main
td
{
vertical-align
:
top
}
.about-logo
{
float
:
left
;
margin
:
20px
0
0
20px
}
.about-margin
{
font-size
:
20px
;
margin
:
20px
0
}
.content-reset
.about-list
li
{
border
:
0
}
.content-reset
.about-list
li
:hover
{
background-color
:
#fff
;
text-decoration
:
underline
}
.tag__select
{
position
:
relative
;
display
:
block
}
.tag__select
button
{
position
:
absolute
;
right
:
0
;
top
:
1px
;
border-radius
:
0
4px
4px
0
}
.completed-panel
{
background-color
:
#fff
;
border
:
1px
solid
#ddd
;
color
:
#0000CC
;
display
:
none
;
overflow
:
auto
;
padding
:
2px
;
position
:
absolute
;
z-index
:
10
;
width
:
50%
;
border-top
:
0
}
.completed-panel
a
{
display
:
block
;
text-decoration
:
none
;
line-height
:
26px
;
padding
:
0
5px
}
.completed-panel
a
.selected
{
background-color
:
#fafafa
;
color
:
#fa8564
}
.completed-ck
{
margin-top
:
9px
}
.completed-ck
span
,
.signs
button
{
margin
:
5px
10px
5px
0
;
display
:
inline-block
;
background-color
:
#c7cbd6
;
border-color
:
#c7cbd6
}
.completed-ck
span
:hover
,
.signs
button
:hover
{
background-color
:
#b0b5b9
;
border-color
:
#b0b5b9
}
.completed-ck
span
.selected
,
.signs
button
.selected
{
background-color
:
#1ca59e
;
border-color
:
#1ca59e
;
color
:
#fff
}
.dialog-background
{
background-color
:
#000000
;
display
:
none
;
filter
:
alpha
(
opacity
=
30
);
height
:
100%
;
left
:
0
;
opacity
:
.3
;
position
:
fixed
;
top
:
0
;
width
:
100%
;
z-index
:
90
}
.dialog-panel
{
display
:
none
;
position
:
absolute
;
z-index
:
100
}
.dialog-title
{
color
:
#FFFFFF
;
float
:
left
;
font-size
:
12px
;
margin-left
:
12px
}
.dialog-header-bg
{
background
:
#32323a
;
border-radius
:
6px
6px
0
0
;
cursor
:
move
;
height
:
34px
;
line-height
:
34px
}
.dialog-header-bg
.icon-close
{
cursor
:
pointer
;
float
:
right
;
height
:
18px
;
margin-top
:
6px
;
padding
:
3px
;
width
:
22px
;
color
:
#1fb5ad
}
.dialog-header-bg
.icon-close
:hover
{
color
:
#1ca59e
}
.dialog-main
{
background-color
:
#FFFFFF
;
border
:
1px
solid
#666666
;
border-color
:
#C0C0C0
#D9D9D9
#D9D9D9
;
border-top-width
:
0
;
padding
:
12px
}
.paginate-paginate
div
.button.paginate-page
,
.paginate-paginate
a
,
.paginate-pageCount
,
.pagination-pages
{
border
:
1px
solid
#EFF2F7
;
padding
:
6px
12px
;
cursor
:
pointer
;
float
:
left
;
line-height
:
18px
;
background
:
#eee
;
height
:
18px
;
margin-left
:
1px
;
border-radius
:
0
;
text-decoration
:
none
;
color
:
#333
}
.pagination-current-page
,
.paginate-pageCount
{
cursor
:
auto
}
.paginate-pageCount
{
margin-left
:
10px
}
.pagination-current-page
,
.paginate-paginate
a
:hover
,
.paginate-paginate
div
.button.paginate-page
:hover
,
.pagination-pages
:hover
{
border-color
:
#2eb4ad
;
background-color
:
#2eb4ad
;
color
:
#FFF
}
.paginate-paginate
div
.button
{
padding
:
0
;
float
:
left
;
border
:
0
;
background
:
none
}
.paginate-inputPage
{
height
:
26px
;
width
:
24px
;
margin
:
0
5px
}
.table-main
{
margin
:
0
;
padding
:
0
;
position
:
relative
}
.table-main
table
{
word-break
:
break-all
;
word-wrap
:
break-word
}
.table-header
{
border-bottom
:
1px
solid
#ddd
;
background-color
:
#fafafa
;
padding
:
15px
0
}
.table-header
th
{
line-height
:
18px
;
text-align
:
left
;
text-indent
:
6px
;
font-weight
:
normal
}
.table-main
td
{
border-bottom
:
1px
solid
#ddd
;
color
:
#767676
;
padding
:
10px
0
}
.table-lineHover
.table-hasExpend
td
{
border-bottom
:
0px
}
.table-heiglight
td
,
.table-lineHover
td
{
background-color
:
#fafafa
;
border-right-color
:
#fafafa
}
.table-expendRow
td
{
padding
:
0
0
5px
36px
}
.table-expendRow
td
span
{
margin-left
:
60px
}
.table-expendRow
td
a
{
padding
:
1px
5px
;
font-size
:
12px
;
line-height
:
1.5
;
border-radius
:
3px
;
text-decoration
:
none
;
color
:
#FFF
;
background-color
:
#c7cbd6
;
border-color
:
#c7cbd6
}
.table-expendRow
td
a
:hover
{
background-color
:
#b0b5b9
;
border-color
:
#b0b5b9
}
.table-center
{
margin
:
0
auto
}
.table-tag
{
color
:
#D54121
;
font-size
:
12px
;
font-style
:
italic
;
margin-left
:
10px
}
.navigation-icon
{
height
:
18px
;
width
:
18px
;
float
:
left
;
margin
:
-1px
10px
0
0
}
#preferenceSignButton1
,
#preferenceSignButton2
,
#preferenceSignButton3
{
margin
:
10px
0
}
#tabPreferencePanel
label
,
#tabPreferencePanel_setting
label
,
.form__no-table
label
{
width
:
100%
;
margin-top
:
10px
;
font-weight
:
bold
}
.page-list__label
{
width
:
100%
}
.search-btn
{
position
:
absolute
;
top
:
28px
;
right
:
27px
;
border-radius
:
0
4px
4px
0
}
.vditor-toolbar
label
{
margin-bottom
:
0
}
.vditor
.vditor-textarea
{
border
:
0
;
resize
:
none
;
padding
:
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
}
@media
(
max-width
:
768px
){
#top
>
a
{
display
:
none
}
#tabsPanel
{
margin-left
:
0
}
.footer
{
padding-left
:
0
}
.skinPreview
{
width
:
100%
;
height
:
auto
;
margin
:
0
}
.tip
{
left
:
12px
}
#tabs
{
transition
:
all
0.15s
ease-in-out
;
left
:
-240px
;
z-index
:
100
}
.top__menu
{
font-size
:
22px
;
margin
:
12px
;
float
:
left
;
display
:
block
}
.fn__flex
{
display
:
block
}
#permalink
{
margin
:
0
!important
}
.permalink__label
{
margin-bottom
:
10px
!important
}
.viewpwd__panel
,
.article-commentable__panel
{
float
:
none
}
#viewPwd
{
width
:
100%
!important
}
.viewpwd__panel
label
{
margin-top
:
20px
}
.signs
label
{
width
:
100%
}
.table-expendRow
td
{
padding-left
:
10px
}
.about-margin
{
margin-bottom
:
10px
}
.about__iframe
{
margin
:
0
0
20px
0
!important
}
.about-logo
{
margin
:
0
auto
;
display
:
block
;
float
:
none
;
width
:
128px
}
.about__panel
{
margin-left
:
0
!important
}
.dialog-panel
{
left
:
0
!important
;
top
:
0
!important
;
padding
:
10px
!important
;
box-sizing
:
border-box
!important
;
width
:
100%
!important
}
.tabs__bg
{
display
:
none
;
width
:
100vw
;
height
:
100vh
;
background-color
:
rgba
(
0
,
0
,
0
,
0.4
);
position
:
fixed
;
top
:
0
;
z-index
:
78
}}
html
{
-webkit-text-size-adjust
:
100%
;
-ms-text-size-adjust
:
100%
;
height
:
100%
}
body
{
margin
:
0
;
font-family
:
"Helvetica Neue"
,
"Luxi Sans"
,
"DejaVu Sans"
,
Tahoma
,
"Hiragino Sans GB"
,
"Microsoft Yahei"
,
sans-serif
;
font-size
:
14px
;
background-color
:
#fff
;
-webkit-font-smoothing
:
antialiased
;
-webkit-overflow-scrolling
:
touch
}
::-moz-selection
{
text-shadow
:
none
;
background
:
rgba
(
65
,
131
,
196
,
0.4
)}
::selection
{
text-shadow
:
none
;
background
:
rgba
(
66
,
133
,
244
,
0.4
)}
ul
,
ol
{
margin
:
0
;
padding
:
0
}
h1
,
h2
,
h3
,
h4
,
h5
,
h6
,
dl
,
dd
,
p
{
margin
:
0
}
article
,
aside
,
details
,
figcaption
,
figure
,
footer
,
header
,
hgroup
,
nav
,
section
{
display
:
block
}
audio
,
canvas
,
video
{
display
:
inline-block
}
audio
:not
([
controls
])
{
display
:
none
}
a
{
outline
:
0
;
text-decoration
:
none
}
a
:hover
{
text-decoration
:
underline
}
sub
,
sup
{
position
:
relative
;
font-size
:
75%
;
line-height
:
0
;
vertical-align
:
baseline
}
sup
{
top
:
-0.5em
}
sub
{
bottom
:
-0.25em
}
img
{
max-width
:
100%
;
vertical-align
:
middle
;
border
:
0
;
height
:
auto
;
-ms-interpolation-mode
:
bicubic
;
overflow
:
hidden
;
font-size
:
12px
}
button
,
input
,
select
,
textarea
{
margin
:
0
;
font-size
:
100%
;
vertical-align
:
middle
;
font-family
:
"Helvetica Neue"
,
"Luxi Sans"
,
"DejaVu Sans"
,
Tahoma
,
"Hiragino Sans GB"
,
"Microsoft Yahei"
,
sans-serif
;
outline
:
none
}
button
,
input
{
line-height
:
normal
}
button
::-moz-focus-inner
,
input
::-moz-focus-inner
{
padding
:
0
;
border
:
0
}
button
,
input
[
type
=
"button"
],
input
[
type
=
"reset"
],
input
[
type
=
"submit"
]
{
cursor
:
pointer
;
-webkit-appearance
:
button
}
input
[
type
=
"search"
]
{
box-sizing
:
content-box
;
-webkit-appearance
:
textfield
}
input
[
type
=
"search"
]
::-webkit-search-decoration
,
input
[
type
=
"search"
]
::-webkit-search-cancel-button
{
-webkit-appearance
:
none
}
textarea
{
overflow
:
auto
;
resize
:
vertical
}
svg
{
fill
:
currentColor
;
display
:
inline-block
;
stroke-width
:
0
;
stroke
:
currentColor
;
width
:
14px
;
height
:
14px
}
blockquote
{
margin
:
0
}
.content-reset
{
word-wrap
:
break-word
;
overflow
:
auto
;
line-height
:
1.65
;
font-size
:
16px
;
word-break
:
break-word
}
.content-reset
ul
,
.content-reset
ol
{
padding-left
:
2em
;
margin-top
:
0
;
margin-bottom
:
16px
}
.content-reset
li
{
margin-top
:
0.25em
}
.content-reset
audio
{
max-width
:
100%
}
.content-reset
video
{
max-height
:
90vh
}
.content-reset
img
{
cursor
:
zoom-in
}
.content-reset
img
.emoji
{
cursor
:
auto
;
max-width
:
18px
}
.content-reset
h1
,
.content-reset
h2
,
.content-reset
h3
,
.content-reset
h4
,
.content-reset
h5
,
.content-reset
h6
{
margin-top
:
24px
;
margin-bottom
:
16px
;
font-weight
:
600
;
line-height
:
1.25
}
.content-reset
h1
{
padding-bottom
:
0.3em
;
font-size
:
1.7em
;
border-bottom
:
1px
solid
#eee
}
.content-reset
h2
{
padding-bottom
:
0.3em
;
font-size
:
1.5em
;
border-bottom
:
1px
solid
#eee
}
.content-reset
h3
{
font-size
:
1.25em
}
.content-reset
h4
{
font-size
:
1em
}
.content-reset
h5
{
font-size
:
0.875em
}
.content-reset
h6
{
font-size
:
0.85em
}
.content-reset
hr
{
height
:
1px
;
padding
:
0
;
margin
:
24px
0
;
background-color
:
#e7e7e7
;
border
:
0
}
.content-reset
p
{
margin-top
:
0
;
margin-bottom
:
16px
}
.content-reset
blockquote
{
padding
:
0
1em
;
color
:
#777
;
border-left
:
0.25em
solid
#ddd
;
margin-bottom
:
16px
}
.content-reset
blockquote
p
{
margin
:
0
}
.content-reset
ins
>
iframe
{
border
:
0
}
.content-reset
iframe
{
border
:
1px
solid
rgba
(
0
,
0
,
0
,
0.38
)}
.content-reset
table
{
width
:
100%
;
border
:
1px
solid
#dedede
;
margin
:
15px
auto
;
border-collapse
:
collapse
;
empty-cells
:
show
}
.content-reset
thead
{
text-align
:
center
}
.content-reset
td
,
.content-reset
th
{
height
:
35px
;
border
:
1px
solid
#dedede
;
padding
:
0
10px
}
.content-reset
th
{
font-weight
:
bold
;
text-align
:
center
!important
;
background
:
rgba
(
158
,
188
,
226
,
0.2
)}
.content-reset
tbody
tr
:nth-child
(
2n
)
{
background
:
rgba
(
158
,
188
,
226
,
0.12
)}
.content-reset
tr
:hover
{
background
:
#efefef
}
.content-reset
code
{
padding
:
0.2em
0.4em
;
margin
:
0
;
font-size
:
85%
;
background-color
:
rgba
(
27
,
31
,
35
,
0.05
);
border-radius
:
3px
;
word-break
:
break-word
}
.content-reset
pre
{
position
:
relative
}
.content-reset
pre
textarea
{
position
:
absolute
;
top
:
-100000px
}
.content-reset
pre
>
code
{
padding
:
0.5em
;
background-color
:
rgba
(
0
,
0
,
0
,
0.04
);
background-size
:
20px
20px
;
border-radius
:
5px
;
display
:
block
}
.content-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
rgba
(
0
,
0
,
0
,
0.38
);
border-bottom-color
:
#bbb
;
border-radius
:
3px
;
box-shadow
:
inset
0
-1px
0
#bbb
}
.content-reset__task
,
.content-reset
.task-list-item
{
list-style
:
none
;
margin-left
:
-1em
}
.img-preview
{
width
:
100%
;
height
:
100%
;
top
:
0
;
z-index
:
211
;
overflow
:
auto
;
cursor
:
zoom-out
;
transition
:
background-color
.2s
ease-in-out
}
.img-preview
img
{
max-width
:
inherit
;
transition
:
transform
.3s
ease-in-out
}
@-webkit-keyframes
tooltip-appear
{
from
{
opacity
:
0
}
to
{
opacity
:
1
}}
@keyframes
tooltip-appear
{
from
{
opacity
:
0
}
to
{
opacity
:
1
}}
.tooltipped
{
position
:
relative
;
cursor
:
pointer
}
.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
}
.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
}
.tooltipped--hover
::before
,
.tooltipped--hover
::after
,
.tooltipped
:hover::before
,
.tooltipped
:hover::after
,
.tooltipped
:active::before
,
.tooltipped
:active::after
,
.tooltipped
:focus::before
,
.tooltipped
:focus::after
{
display
:
inline-block
;
text-decoration
:
none
;
animation-name
:
tooltip-appear
;
animation-duration
:
0.1s
;
animation-fill-mode
:
forwards
;
animation-timing-function
:
ease-in
;
animation-delay
:
0.4s
}
.tooltipped__s
::after
,
.tooltipped__se
::after
,
.tooltipped__sw
::after
{
top
:
100%
;
right
:
50%
;
margin-top
:
5px
}
.tooltipped__s
::before
,
.tooltipped__se
::before
,
.tooltipped__sw
::before
{
top
:
auto
;
right
:
50%
;
bottom
:
-5px
;
margin-right
:
-5px
;
border-bottom-color
:
rgba
(
0
,
0
,
0
,
0.8
)}
.tooltipped__se
::after
{
right
:
auto
;
left
:
50%
;
margin-left
:
-15px
}
.tooltipped__sw
::after
{
margin-right
:
-15px
}
.tooltipped__n
::after
,
.tooltipped__ne
::after
,
.tooltipped__nw
::after
{
right
:
50%
;
bottom
:
100%
;
margin-bottom
:
5px
}
.tooltipped__n
::before
,
.tooltipped__ne
::before
,
.tooltipped__nw
::before
{
top
:
-5px
;
right
:
50%
;
bottom
:
auto
;
margin-right
:
-5px
;
border-top-color
:
rgba
(
0
,
0
,
0
,
0.8
)}
.tooltipped__ne
::after
{
right
:
auto
;
left
:
50%
;
margin-left
:
-15px
}
.tooltipped__nw
::after
{
margin-right
:
-15px
}
.tooltipped__s
::after
,
.tooltipped__n
::after
{
transform
:
translateX
(
50%
)}
.tooltipped__w
::after
{
right
:
100%
;
bottom
:
50%
;
margin-right
:
5px
;
transform
:
translateY
(
50%
)}
.tooltipped__w
::before
{
top
:
50%
;
bottom
:
50%
;
left
:
-5px
;
margin-top
:
-5px
;
border-left-color
:
rgba
(
0
,
0
,
0
,
0.8
)}
.tooltipped__e
::after
{
bottom
:
50%
;
left
:
100%
;
margin-left
:
5px
;
transform
:
translateY
(
50%
)}
.tooltipped__e
::before
{
top
:
50%
;
right
:
-5px
;
bottom
:
50%
;
margin-top
:
-5px
;
border-right-color
:
rgba
(
0
,
0
,
0
,
0.8
)}
.fn__flex
{
display
:
flex
}
.fn__flex-center
{
align-self
:
center
}
.fn__flex-inline
{
display
:
inline-flex
;
align-items
:
center
}
.fn__flex-1
{
flex
:
1
;
min-width
:
1px
}
.fn__flex-column
{
min-height
:
100%
;
display
:
flex
;
flex-direction
:
column
}
.fn__pointer
{
cursor
:
pointer
}
.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__hidden
{
visibility
:
hidden
}
.fn__ellipsis
{
overflow
:
hidden
;
text-overflow
:
ellipsis
;
white-space
:
nowrap
;
word-wrap
:
normal
}
.ft__13
{
font-size
:
13px
}
.ft__smaller
{
font-size
:
12px
}
.ft__center
{
text-align
:
center
}
.ft__nowrap
{
white-space
:
nowrap
}
@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
;
animation-name
:
tooltip-appear
;
animation-duration
:
0.1s
;
animation-fill-mode
:
forwards
;
animation-timing-function
:
ease-in
;
animation-delay
:
0.4s
}
.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
{
transform
:
translateX
(
50%
)}
.vditor-tooltipped__w
::after
{
right
:
100%
;
bottom
:
50%
;
margin-right
:
5px
;
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
;
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
)}
.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
:
1
;
font-size
:
14px
;
display
:
none
;
user-select
:
none
;
max-width
:
200px
;
min-width
:
80px
}
.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-toolbar
{
background-color
:
#f6f8fa
;
border-bottom
:
1px
solid
#d1d5da
;
padding
:
0
5px
;
border-radius
:
3px
3px
0
0
}
.vditor-toolbar
>
div
{
padding
:
10px
5px
;
float
:
left
;
line-height
:
14px
;
height
:
36px
;
box-sizing
:
border-box
}
.vditor-toolbar
svg
{
fill
:
currentColor
;
display
:
inline-block
;
stroke-width
:
0
;
stroke
:
currentColor
;
width
:
14px
;
height
:
14px
}
.vditor-toolbar
.vditor-tooltipped
{
color
:
#586069
}
.vditor-toolbar
.vditor-tooltipped
:hover
{
color
:
#4285f4
}
.vditor-toolbar
label
{
overflow
:
hidden
;
position
:
relative
;
height
:
14px
;
width
:
15px
;
display
:
block
;
cursor
:
pointer
}
.vditor-toolbar
input
{
position
:
absolute
;
width
:
1px
;
opacity
:
.001
;
height
:
14px
;
overflow
:
hidden
}
.vditor-menu--current
svg
{
color
:
#4285f4
}
.vditor-menu__divider
{
width
:
10px
}
.vditor-menu__br
{
width
:
100%
;
padding
:
0
!important
;
height
:
0
!important
}
.vditor-emojis
{
display
:
inline-block
}
.vditor-emojis__tail
{
font-size
:
12px
;
text-align
:
right
;
color
:
#586069
}
.vditor-emojis__tail
a
{
text-decoration
:
none
;
color
:
#586069
}
.vditor-emojis__tail
a
:hover
{
color
:
#4285f4
}
.vditor-emojis
span
{
cursor
:
pointer
;
border-radius
:
3px
;
float
:
left
;
height
:
26px
;
width
:
26px
;
text-align
:
center
;
line-height
:
20px
;
padding
:
3px
;
box-sizing
:
border-box
;
font-size
:
16px
}
.vditor-emojis
span
:hover
{
background-color
:
#4285f4
}
.vditor-emojis
img
{
height
:
20px
;
width
:
20px
;
float
:
left
}
.vditor
{
display
:
flex
;
flex-direction
:
column
;
border
:
1px
solid
#d1d5da
;
border-radius
:
3px
;
box-sizing
:
border-box
}
.vditor--fullscreen
{
position
:
fixed
;
top
:
0
;
width
:
100%
!important
;
left
:
0
;
height
:
100vh
!important
;
z-index
:
90
;
background-color
:
#fff
}
.vditor-content
{
display
:
flex
;
min-height
:
60px
;
flex
:
1
;
position
:
relative
}
.vditor-textarea
{
flex
:
1
;
border
:
0
;
resize
:
none
;
padding
:
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
}
.vditor-textarea
[
disabled
]
{
opacity
:
0.3
;
cursor
:
not-allowed
}
.vditor-textarea
:focus
{
background-color
:
#fff
}
.vditor-preview
{
flex
:
1
;
background-color
:
#fff
;
overflow
:
auto
;
padding
:
10px
;
box-shadow
:
inset
1px
0
#d1d5da
;
box-sizing
:
border-box
;
border-radius
:
0
0
3px
0
}
.vditor-preview
::-webkit-scrollbar
{
display
:
none
}
.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
;
user-select
:
none
}
.vditor-counter--error
{
color
:
#d23f31
;
background-color
:
rgba
(
210
,
63
,
49
,
0.1
)}
.vditor-resize
{
padding
:
1px
0
;
border-radius
:
5px
;
cursor
:
row-resize
;
transition
:
all
.15s
ease-in-out
;
user-select
:
none
;
background-color
:
#f6f8fa
}
.vditor-resize
:hover
{
background-color
:
#4285f4
}
.vditor-resize
:hover
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
{
opacity
:
0
;
position
:
absolute
;
width
:
100%
;
height
:
5px
;
left
:
0
;
top
:
-3px
;
border-radius
:
3px
;
overflow
:
hidden
;
transition
:
all
.15s
ease-in-out
}
.vditor-upload--tip
{
height
:
20px
;
font-size
:
12px
;
line-height
:
20px
;
color
:
#fff
;
opacity
:
1
!important
}
.vditor-upload--tip
.vditor-upload__close
{
position
:
absolute
;
right
:
5px
;
top
:
0
;
cursor
:
pointer
;
display
:
block
}
.vditor-upload--tip
.vditor-upload__progress
{
padding
:
0
5px
}
.vditor-upload__close
{
display
:
none
}
.vditor-upload__progress
{
height
:
100%
;
background-color
:
rgba
(
66
,
133
,
244
,
0.8
);
transition
:
all
.15s
ease-in-out
}
.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
:
1
;
line-height
:
20px
;
list-style
:
none
;
color
:
#24292e
;
font-size
:
12px
;
margin
:
0
;
max-width
:
200px
;
min-width
:
80px
;
display
:
none
}
.vditor-hint
li
{
cursor
:
pointer
;
padding
:
3px
10px
;
border-bottom
:
1px
solid
#d1d5da
;
line-height
:
20px
}
.vditor-hint
li
:last-child
{
border-bottom
:
0
}
.vditor-hint--current
,
.vditor-hint
li
:hover
{
background-color
:
#4285f4
;
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
}
body
{
color
:
#767676
;
background
:
#f1f2f7
;
font-size
:
13px
}
a
{
color
:
#4183c4
;
text-decoration
:
none
}
a
:visited
{
color
:
#7ba9d6
}
a
:active
{
color
:
#2c5d8d
}
a
:hover
{
text-decoration
:
underline
}
button
,
.completed-ck
span
{
padding
:
6px
12px
;
margin-bottom
:
0
;
font-size
:
14px
;
font-weight
:
400
;
text-align
:
center
;
white-space
:
nowrap
;
vertical-align
:
baseline
;
cursor
:
pointer
;
user-select
:
none
;
background-image
:
none
;
border
:
1px
solid
#1fb5ad
;
border-radius
:
4px
;
background-color
:
#1fb5ad
;
color
:
#fff
;
height
:
auto
;
outline
:
none
;
line-height
:
18px
}
button
:hover
{
background-color
:
#1ca59e
;
border-color
:
#1ca59e
}
.fn__margin12
{
margin
:
12px
}
@font-face
{
font-family
:
'icomoon'
;
src
:
url("fonts/icomoon.eot?pmeuih")
;
src
:
url("fonts/icomoon.eot?pmeuih#iefix")
format
(
"embedded-opentype"
),
url("fonts/icomoon.ttf?pmeuih")
format
(
"truetype"
),
url("fonts/icomoon.woff?pmeuih")
format
(
"woff"
),
url("fonts/icomoon.svg?pmeuih#icomoon")
format
(
"svg"
);
font-weight
:
normal
;
font-style
:
normal
}
[
class
^=
"icon-"
],[
class
*=
" icon-"
]
{
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-close
:before
{
content
:
"\e909"
}
.icon-move-down
:before
{
content
:
"\e90a"
}
.icon-move-up
:before
{
content
:
"\e90b"
}
.icon-unordered-list
:before
{
content
:
"\e004"
}
.icon-info
:before
{
content
:
"\e00d"
}
.icon-article
:before
{
content
:
"\e61d"
}
.icon-setting
:before
{
content
:
"\e604"
}
.icon-cmts
:before
{
content
:
"\e60a"
}
.icon-refresh
:before
{
content
:
"\e60b"
}
.icon-chevron-down
:before
{
content
:
"\e618"
}
.icon-chevron-up
:before
{
content
:
"\e619"
}
a
[
class
^=
"icon-"
],
a
[
class
*=
" icon-"
]
{
color
:
#333
}
a
[
class
^=
"icon-"
]
:hover
,
a
[
class
*=
" icon-"
]
:hover
{
text-decoration
:
none
;
color
:
#4183c4
}
.aboutIcon
{
background-position
:
-16px
-48px
}
.icon-move-down
,
.icon-move-up
{
cursor
:
pointer
}
#allPanel
{
height
:
auto
;
min-height
:
100%
;
position
:
relative
}
#tabsPanel
{
margin
:
50px
0
0
240px
;
padding
:
15px
;
min-height
:
100px
}
#tabsPanel
>
div
{
padding-bottom
:
36px
}
#tabsPanel_article-list
,
#tabsPanel_draft-list
,
#tabsPanel_comment-list
,
#tabsPanel_plugin-list
,
#tabsPanel_page-list
>
div
:first-child
,
#tabsPanel_user-list
>
div
:first-child
,
#tabsPanel_category-list
>
div
:first-child
,
#tabsPanel_link-list
>
div
:first-child
{
background-color
:
#FFF
;
border-radius
:
4px
;
margin-bottom
:
40px
;
overflow
:
hidden
}
.tip
{
font-weight
:
bold
;
margin
:
0
auto
;
overflow
:
hidden
;
padding
:
2px
0
;
position
:
fixed
;
text-align
:
center
;
top
:
3px
;
left
:
255px
;
z-index
:
1001
}
#tipMsg
,
#loadMsg
{
color
:
#31708f
;
background-color
:
#d9edf7
;
border-radius
:
4px
;
line-height
:
40px
;
display
:
inline-block
}
.footer
{
bottom
:
12px
;
position
:
absolute
;
text-align
:
center
;
width
:
100%
;
padding-left
:
240px
;
box-sizing
:
border-box
}
#top
{
height
:
50px
;
position
:
fixed
;
box-shadow
:
1px
0
3px
rgba
(
0
,
0
,
0
,
0.15
);
width
:
100%
;
top
:
0
;
background-color
:
#fff
;
z-index
:
80
}
#top
>
a
{
background
:
#1fb5ad
;
float
:
left
;
width
:
240px
;
height
:
50px
;
position
:
relative
;
color
:
#F7F7F7
;
text-align
:
center
;
text-decoration
:
none
;
font-size
:
20px
;
line-height
:
50px
}
#top
>
.fn__right
a
{
color
:
#555
;
line-height
:
32px
;
margin
:
8px
10px
;
border
:
1px
solid
#f6f6f6
;
background-color
:
#f6f6f6
;
border-radius
:
100px
;
padding
:
0
10px
;
text-decoration
:
none
;
display
:
inline-block
}
#top
>
.fn__right
a
:hover
{
color
:
#333
}
#top
.avatar
{
height
:
25px
;
width
:
25px
;
border-radius
:
20px
;
background-size
:
cover
;
background-repeat
:
no-repeat
;
background-position
:
center
center
;
float
:
left
;
margin
:
3px
6px
0
0
}
#tabs
{
height
:
100%
;
min-height
:
468px
;
width
:
240px
;
margin-top
:
50px
;
position
:
fixed
;
top
:
0
;
background-color
:
#32323a
;
overflow
:
auto
}
#tabs
ul
{
list-style
:
none
}
#tabs
li
{
margin-left
:
0px
;
border-bottom
:
1px
solid
rgba
(
255
,
255
,
255
,
0.05
)}
#tabs
li
>
div
>
a
,
#tabs
#tabToolsTitle
,
#tabs
#tabArticleTitle
{
color
:
#aeb2b7
;
display
:
block
;
text-decoration
:
none
;
letter-spacing
:
1px
;
padding
:
18px
0
18px
25px
;
line-height
:
18px
;
height
:
18px
;
transition
:
all
0.3s
ease
;
cursor
:
pointer
}
#tabs
a
:hover
,
#tabs
a
.tab-current
,
#tabs
#tabToolsTitle
.tab-current
,
#tabs
#tabArticleTitle
.tab-current
,
#tabs
#tabToolsTitle
:hover
,
#tabs
#tabArticleTitle
:hover
{
background-color
:
#28282e
;
color
:
#1fb5ad
}
#tabs
li
li
{
border-bottom
:
0
}
#tabs
li
li
>
div
>
a
{
padding
:
13px
0
13px
46px
;
line-height
:
15px
;
height
:
15px
;
background-color
:
#28282e
}
#tabs
li
li
>
div
>
a
:hover
,
#tabs
li
li
>
div
>
a
.tab-current
{
background-color
:
#202025
}
#tabs
.commentIcon
,
#tabs
.postIcon
,
#tabs
.preferenceIcon
,
#tabs
.usersIcon
,
#tabs
.aboutIcon
{
display
:
none
}
#tabs
.icon-chevron-up
,
#tabs
.icon-chevron-down
{
margin-right
:
10px
}
.sub-tabs
{
background-color
:
#e0e1e7
;
border-radius
:
4px
4px
0
0
;
overflow
:
hidden
}
.sub-tabs
ul
{
float
:
left
;
list-style
:
none
outside
none
;
margin-right
:
24px
}
.sub-tabs
li
{
float
:
left
;
margin
:
0
}
.sub-tabs
li
a
{
border-right
:
1px
solid
#e0e1e7
;
color
:
#898989
;
display
:
block
;
line-height
:
18px
;
padding
:
20px
15px
;
text-decoration
:
none
}
.sub-tabs
.tab-current
,
.sub-tabs
.tab-current
:hover
,
.sub-tabs
a
:hover
{
background-color
:
#FFFFFF
;
color
:
#1fb5ad
}
.sub-tabs-main
{
background-color
:
#FFFFFF
;
padding
:
15px
;
border-radius
:
0
0
4px
4px
}
.form
>
div
{
margin
:
15px
0
}
.form
label
{
margin-bottom
:
10px
;
display
:
inline-block
}
.form
label
.checkbox
{
display
:
inline-flex
;
align-items
:
center
;
margin
:
11px
0
}
.form
label
.checkbox
input
{
height
:
auto
}
.form
input
[
type
=
'text'
],
.form
input
[
type
=
'password'
],
.form
textarea
,
.form
select
{
font-size
:
14px
;
outline
:
medium
none
;
width
:
100%
;
padding
:
6px
12px
;
height
:
34px
;
box-sizing
:
border-box
;
border
:
1px
solid
#e2e2e4
;
color
:
#333
;
border-radius
:
4px
;
transition
:
border-color
ease-in-out
.15s
,
box-shadow
ease-in-out
.15s
;
background-color
:
#fff
}
.form
textarea
{
height
:
auto
}
.form
input
[
type
=
'text'
]
:focus
,
.form
input
[
type
=
'radio'
]
:focus
,
.form
input
[
type
=
'password'
]
:focus
,
.form
textarea
:focus
{
box-shadow
:
none
;
border-color
:
#1fb5ad
}
table
.form
label
{
margin
:
10px
0
0
0
}
table
.form
th
{
vertical-align
:
initial
}
.module-panel
{
border-radius
:
4px
;
background-color
:
#fff
;
margin-bottom
:
20px
;
min-height
:
160px
}
.module-header
{
background
:
#fafafa
;
padding
:
15px
;
border-bottom
:
1px
solid
#eff2f7
;
border-top-left-radius
:
3px
;
border-top-right-radius
:
3px
}
.module-header
h2
{
font-size
:
13px
;
font-weight
:
400
}
.module-header
a
{
color
:
#767676
;
text-decoration
:
none
}
.module-header
a
:hover
{
color
:
#1fb5ad
}
.module-panel
.module-body
{
padding
:
15px
}
.module-panel
.module-body
li
{
padding
:
10px
;
line-height
:
18px
;
border-bottom
:
1px
solid
#ddd
}
.module-panel
.module-body
li
:hover
{
background-color
:
#fafafa
}
.module-panel
.module-body
li
a
:hover
{
text-decoration
:
none
}
.comment-title
{
background-color
:
#ECECEC
;
border-bottom
:
1px
solid
#DFDFDF
;
border-top
:
1px
solid
#F9F9F9
;
padding
:
3px
6px
3px
12px
}
#comments
{
height
:
462px
;
overflow
:
auto
}
.article__thumbnail
{
margin
:
10px
auto
20px
;
display
:
none
;
text-align
:
center
}
.article__thumbnail
.thumbnail__img
{
background-color
:
rgba
(
0
,
0
,
0
,
0.02
);
background-size
:
cover
;
background-repeat
:
no-repeat
;
background-position
:
50%
;
height
:
432px
;
width
:
768px
;
margin
:
0
auto
}
.article__thumbnail
button
{
margin-top
:
10px
}
button
#submitArticle
{
background-color
:
#fa8564
;
border-color
:
#fa8564
}
button
#submitArticle
:hover
{
background-color
:
#ec6459
;
border-color
:
#ec6459
}
#pagePagePanel
{
margin-top
:
0
}
#skinsPanel
{
min-width
:
328px
;
width
:
99%
}
.skinPreview
{
cursor
:
pointer
;
height
:
160px
;
margin
:
6px
;
width
:
280px
}
.skinItem
{
background-color
:
#FAFAFA
;
border-radius
:
3px
;
box-shadow
:
1px
1px
3px
#333333
;
line-height
:
16px
;
margin
:
10px
;
text-align
:
center
}
#skinMain
.skinItem.selected
{
background-color
:
#1fb5ad
}
.skinItem
:hover
{
background-color
:
#EEE
}
.f-blue
,
.error-msg
{
color
:
#3366CC
}
.signs
button
{
margin
:
0
12px
}
.small-head
{
float
:
left
;
height
:
35px
;
margin
:
3px
9px
0
3px
;
width
:
35px
}
#commentTable
.table-main
td
{
vertical-align
:
top
}
.about-logo
{
float
:
left
;
margin
:
20px
0
0
20px
}
.about-margin
{
font-size
:
20px
;
margin
:
20px
0
}
.content-reset
.about-list
li
{
border
:
0
}
.content-reset
.about-list
li
:hover
{
background-color
:
#fff
;
text-decoration
:
underline
}
.tag__select
{
position
:
relative
;
display
:
block
}
.tag__select
button
{
position
:
absolute
;
right
:
0
;
top
:
1px
;
border-radius
:
0
4px
4px
0
}
.completed-panel
{
background-color
:
#fff
;
border
:
1px
solid
#ddd
;
color
:
#0000CC
;
display
:
none
;
overflow
:
auto
;
padding
:
2px
;
position
:
absolute
;
z-index
:
10
;
width
:
50%
;
border-top
:
0
}
.completed-panel
a
{
display
:
block
;
text-decoration
:
none
;
line-height
:
26px
;
padding
:
0
5px
}
.completed-panel
a
.selected
{
background-color
:
#fafafa
;
color
:
#fa8564
}
.completed-ck
{
margin-top
:
9px
}
.completed-ck
span
,
.signs
button
{
margin
:
5px
10px
5px
0
;
display
:
inline-block
;
background-color
:
#c7cbd6
;
border-color
:
#c7cbd6
}
.completed-ck
span
:hover
,
.signs
button
:hover
{
background-color
:
#b0b5b9
;
border-color
:
#b0b5b9
}
.completed-ck
span
.selected
,
.signs
button
.selected
{
background-color
:
#1ca59e
;
border-color
:
#1ca59e
;
color
:
#fff
}
.dialog-background
{
background-color
:
#000000
;
display
:
none
;
filter
:
alpha
(
opacity
=
30
);
height
:
100%
;
left
:
0
;
opacity
:
.3
;
position
:
fixed
;
top
:
0
;
width
:
100%
;
z-index
:
90
}
.dialog-panel
{
display
:
none
;
position
:
absolute
;
z-index
:
100
}
.dialog-title
{
color
:
#FFFFFF
;
float
:
left
;
font-size
:
12px
;
margin-left
:
12px
}
.dialog-header-bg
{
background
:
#32323a
;
border-radius
:
6px
6px
0
0
;
cursor
:
move
;
height
:
34px
;
line-height
:
34px
}
.dialog-header-bg
.icon-close
{
cursor
:
pointer
;
float
:
right
;
height
:
18px
;
margin-top
:
6px
;
padding
:
3px
;
width
:
22px
;
color
:
#1fb5ad
}
.dialog-header-bg
.icon-close
:hover
{
color
:
#1ca59e
}
.dialog-main
{
background-color
:
#FFFFFF
;
border
:
1px
solid
#666666
;
border-color
:
#C0C0C0
#D9D9D9
#D9D9D9
;
border-top-width
:
0
;
padding
:
12px
}
.paginate-paginate
div
.button.paginate-page
,
.paginate-paginate
a
,
.paginate-pageCount
,
.pagination-pages
{
border
:
1px
solid
#EFF2F7
;
padding
:
6px
12px
;
cursor
:
pointer
;
float
:
left
;
line-height
:
18px
;
background
:
#eee
;
height
:
18px
;
margin-left
:
1px
;
border-radius
:
0
;
text-decoration
:
none
;
color
:
#333
}
.pagination-current-page
,
.paginate-pageCount
{
cursor
:
auto
}
.paginate-pageCount
{
margin-left
:
10px
}
.pagination-current-page
,
.paginate-paginate
a
:hover
,
.paginate-paginate
div
.button.paginate-page
:hover
,
.pagination-pages
:hover
{
border-color
:
#2eb4ad
;
background-color
:
#2eb4ad
;
color
:
#FFF
}
.paginate-paginate
div
.button
{
padding
:
0
;
float
:
left
;
border
:
0
;
background
:
none
}
.paginate-inputPage
{
height
:
26px
;
width
:
24px
;
margin
:
0
5px
}
.table-main
{
margin
:
0
;
padding
:
0
;
position
:
relative
}
.table-main
table
{
word-break
:
break-all
;
word-wrap
:
break-word
}
.table-header
{
border-bottom
:
1px
solid
#ddd
;
background-color
:
#fafafa
;
padding
:
15px
0
}
.table-header
th
{
line-height
:
18px
;
text-align
:
left
;
text-indent
:
6px
;
font-weight
:
normal
}
.table-main
td
{
border-bottom
:
1px
solid
#ddd
;
color
:
#767676
;
padding
:
10px
0
}
.table-lineHover
.table-hasExpend
td
{
border-bottom
:
0px
}
.table-heiglight
td
,
.table-lineHover
td
{
background-color
:
#fafafa
;
border-right-color
:
#fafafa
}
.table-expendRow
td
{
padding
:
0
0
5px
36px
}
.table-expendRow
td
span
{
margin-left
:
60px
}
.table-expendRow
td
a
{
padding
:
1px
5px
;
font-size
:
12px
;
line-height
:
1.5
;
border-radius
:
3px
;
text-decoration
:
none
;
color
:
#FFF
;
background-color
:
#c7cbd6
;
border-color
:
#c7cbd6
}
.table-expendRow
td
a
:hover
{
background-color
:
#b0b5b9
;
border-color
:
#b0b5b9
}
.table-center
{
margin
:
0
auto
}
.table-tag
{
color
:
#D54121
;
font-size
:
12px
;
font-style
:
italic
;
margin-left
:
10px
}
.navigation-icon
{
height
:
18px
;
width
:
18px
;
float
:
left
;
margin
:
-1px
10px
0
0
}
#preferenceSignButton1
,
#preferenceSignButton2
,
#preferenceSignButton3
{
margin
:
10px
0
}
#tabPreferencePanel
label
,
#tabPreferencePanel_setting
label
,
.form__no-table
label
{
width
:
100%
;
margin-top
:
10px
;
font-weight
:
bold
}
.page-list__label
{
width
:
100%
}
.search-btn
{
position
:
absolute
;
top
:
28px
;
right
:
27px
;
border-radius
:
0
4px
4px
0
}
.vditor-toolbar
label
{
margin-bottom
:
0
}
.vditor
.vditor-textarea
{
border
:
0
;
resize
:
none
;
padding
:
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
}
@media
(
max-width
:
768px
){
#top
>
a
{
display
:
none
}
#tabsPanel
{
margin-left
:
0
}
.footer
{
padding-left
:
0
}
.skinPreview
{
width
:
100%
;
height
:
auto
;
margin
:
0
}
.tip
{
left
:
12px
}
#tabs
{
transition
:
all
0.15s
ease-in-out
;
left
:
-240px
;
z-index
:
100
}
.top__menu
{
font-size
:
22px
;
margin
:
12px
;
float
:
left
;
display
:
block
}
.fn__flex
{
display
:
block
}
#permalink
{
margin
:
0
!important
}
.permalink__label
{
margin-bottom
:
10px
!important
}
.viewpwd__panel
,
.article-commentable__panel
{
float
:
none
}
#viewPwd
{
width
:
100%
!important
}
.viewpwd__panel
label
{
margin-top
:
20px
}
.signs
label
{
width
:
100%
}
.table-expendRow
td
{
padding-left
:
10px
}
.about-margin
{
margin-bottom
:
10px
}
.about__iframe
{
margin
:
0
0
20px
0
!important
}
.about-logo
{
margin
:
0
auto
;
display
:
block
;
float
:
none
;
width
:
128px
}
.about__panel
{
margin-left
:
0
!important
}
.dialog-panel
{
left
:
0
!important
;
top
:
0
!important
;
padding
:
10px
!important
;
box-sizing
:
border-box
!important
;
width
:
100%
!important
}
.tabs__bg
{
display
:
none
;
width
:
100vw
;
height
:
100vh
;
background-color
:
rgba
(
0
,
0
,
0
,
0.4
);
position
:
fixed
;
top
:
0
;
z-index
:
78
}}
src/main/webapp/scss/base.css
View file @
7f04e27b
html
{
-webkit-text-size-adjust
:
100%
;
-ms-text-size-adjust
:
100%
;
height
:
100%
}
body
{
margin
:
0
;
font-family
:
"Helvetica Neue"
,
"Luxi Sans"
,
"DejaVu Sans"
,
Tahoma
,
"Hiragino Sans GB"
,
"Microsoft Yahei"
,
sans-serif
;
font-size
:
14px
;
background-color
:
#fff
;
-webkit-font-smoothing
:
antialiased
;
-webkit-overflow-scrolling
:
touch
}
::-moz-selection
{
text-shadow
:
none
;
background
:
rgba
(
65
,
131
,
196
,
0.4
)}
::selection
{
text-shadow
:
none
;
background
:
rgba
(
66
,
133
,
244
,
0.4
)}
ul
,
ol
{
margin
:
0
;
padding
:
0
}
h1
,
h2
,
h3
,
h4
,
h5
,
h6
,
dl
,
dd
,
p
{
margin
:
0
}
article
,
aside
,
details
,
figcaption
,
figure
,
footer
,
header
,
hgroup
,
nav
,
section
{
display
:
block
}
audio
,
canvas
,
video
{
display
:
inline-block
}
audio
:not
([
controls
])
{
display
:
none
}
a
{
outline
:
0
;
text-decoration
:
none
}
a
:hover
{
text-decoration
:
underline
}
sub
,
sup
{
position
:
relative
;
font-size
:
75%
;
line-height
:
0
;
vertical-align
:
baseline
}
sup
{
top
:
-0.5em
}
sub
{
bottom
:
-0.25em
}
img
{
max-width
:
100%
;
vertical-align
:
middle
;
border
:
0
;
height
:
auto
;
-ms-interpolation-mode
:
bicubic
;
overflow
:
hidden
;
font-size
:
12px
}
button
,
input
,
select
,
textarea
{
margin
:
0
;
font-size
:
100%
;
vertical-align
:
middle
;
font-family
:
"Helvetica Neue"
,
"Luxi Sans"
,
"DejaVu Sans"
,
Tahoma
,
"Hiragino Sans GB"
,
"Microsoft Yahei"
,
sans-serif
;
outline
:
none
}
button
,
input
{
line-height
:
normal
}
button
::-moz-focus-inner
,
input
::-moz-focus-inner
{
padding
:
0
;
border
:
0
}
button
,
input
[
type
=
"button"
],
input
[
type
=
"reset"
],
input
[
type
=
"submit"
]
{
cursor
:
pointer
;
-webkit-appearance
:
button
}
input
[
type
=
"search"
]
{
box-sizing
:
content-box
;
-webkit-appearance
:
textfield
}
input
[
type
=
"search"
]
::-webkit-search-decoration
,
input
[
type
=
"search"
]
::-webkit-search-cancel-button
{
-webkit-appearance
:
none
}
textarea
{
overflow
:
auto
;
resize
:
vertical
}
svg
{
fill
:
currentColor
;
display
:
inline-block
;
stroke-width
:
0
;
stroke
:
currentColor
;
width
:
14px
;
height
:
14px
}
blockquote
{
margin
:
0
}
.content-reset
{
word-wrap
:
break-word
;
overflow
:
auto
;
line-height
:
1.65
;
font-size
:
16px
;
word-break
:
break-word
}
.content-reset
ul
,
.content-reset
ol
{
padding-left
:
2em
;
margin-top
:
0
;
margin-bottom
:
16px
}
.content-reset
li
{
margin-top
:
0.25em
}
.content-reset
img
{
cursor
:
zoom-in
}
.content-reset
img
.emoji
{
cursor
:
auto
;
max-width
:
18px
}
.content-reset
h1
,
.content-reset
h2
,
.content-reset
h3
,
.content-reset
h4
,
.content-reset
h5
,
.content-reset
h6
{
margin-top
:
24px
;
margin-bottom
:
16px
;
font-weight
:
600
;
line-height
:
1.25
}
.content-reset
h1
{
padding-bottom
:
0.3em
;
font-size
:
1.7em
;
border-bottom
:
1px
solid
#eee
}
.content-reset
h2
{
padding-bottom
:
0.3em
;
font-size
:
1.5em
;
border-bottom
:
1px
solid
#eee
}
.content-reset
h3
{
font-size
:
1.25em
}
.content-reset
h4
{
font-size
:
1em
}
.content-reset
h5
{
font-size
:
0.875em
}
.content-reset
h6
{
font-size
:
0.85em
}
.content-reset
hr
{
height
:
0.15em
;
padding
:
0
;
margin
:
24px
0
;
background-color
:
#e7e7e7
;
border
:
0
}
.content-reset
p
{
margin-top
:
0
;
margin-bottom
:
16px
}
.content-reset
blockquote
{
padding
:
0
1em
;
color
:
#777
;
border-left
:
0.25em
solid
#ddd
;
margin-bottom
:
16px
}
.content-reset
blockquote
p
{
margin
:
0
}
.content-reset
ins
>
iframe
{
border
:
0
}
.content-reset
iframe
{
border
:
1px
solid
rgba
(
0
,
0
,
0
,
0.38
)}
.content-reset
table
{
width
:
100%
;
border
:
1px
solid
#dedede
;
margin
:
15px
auto
;
border-collapse
:
collapse
;
empty-cells
:
show
}
.content-reset
thead
{
text-align
:
center
}
.content-reset
td
,
.content-reset
th
{
height
:
35px
;
border
:
1px
solid
#dedede
;
padding
:
0
10px
}
.content-reset
th
{
font-weight
:
bold
;
text-align
:
center
!important
;
background
:
rgba
(
158
,
188
,
226
,
0.2
)}
.content-reset
tbody
tr
:nth-child
(
2n
)
{
background
:
rgba
(
158
,
188
,
226
,
0.12
)}
.content-reset
tr
:hover
{
background
:
#efefef
}
.content-reset
code
{
padding
:
0.2em
0.4em
;
margin
:
0
;
font-size
:
85%
;
background-color
:
rgba
(
252
,
41
,
41
,
0.12
);
border-radius
:
3px
;
word-break
:
break-word
}
.content-reset
pre
{
position
:
relative
}
.content-reset
pre
textarea
{
position
:
absolute
;
top
:
-100000px
}
.content-reset
pre
>
code
{
padding
:
0.5em
;
background-color
:
rgba
(
0
,
0
,
0
,
0.04
);
background-size
:
20px
20px
;
border-radius
:
5px
;
display
:
block
}
.content-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
rgba
(
0
,
0
,
0
,
0.38
);
border-bottom-color
:
#bbb
;
border-radius
:
3px
;
box-shadow
:
inset
0
-1px
0
#bbb
}
.content-reset__task
,
.content-reset
.task-list-item
{
list-style
:
none
;
margin-left
:
-1em
}
.img-preview
{
width
:
100%
;
height
:
100%
;
top
:
0
;
z-index
:
211
;
overflow
:
auto
;
cursor
:
zoom-out
;
transition
:
background-color
.2s
ease-in-out
}
.img-preview
img
{
max-width
:
inherit
;
transition
:
transform
.3s
ease-in-out
}
textarea
{
overflow
:
hidden
}
button
,
.button
{
background
:
url(../images/icon.png)
repeat
center
bottom
;
border
:
1px
solid
;
border-color
:
#CCC
#BBBBBB
#A0A0A0
;
border-radius
:
4px
;
height
:
28px
;
margin
:
0
;
padding
:
0
6px
;
vertical-align
:
top
}
button
:hover
,
.button
:hover
{
border-color
:
#BBB
}
.padding12
{
padding
:
12px
}
.paddingBottom12
{
padding-bottom
:
12px
!important
}
.paddingTop12
{
padding-top
:
12px
!important
}
.margin12
{
margin
:
12px
}
.marginTop12
{
margin-top
:
12px
!important
}
.marginBottom12
{
margin-bottom
:
12px
!important
}
.marginLeft12
{
margin-left
:
12px
!important
}
.marginLeft6
{
margin-left
:
6px
!important
}
.marginRight12
{
margin-right
:
12px
!important
}
.f-bold
{
font-weight
:
bold
!important
}
.nowrap
{
white-space
:
nowrap
}
.left
{
float
:
left
}
.right
{
float
:
right
}
.clear
{
background-color
:
transparent
;
border
:
0
;
clear
:
both
;
display
:
block
;
font-size
:
0
;
height
:
0
;
line-height
:
0
;
overflow
:
hidden
}
.fn-clear
:before
,
.fn-clear
:after
{
display
:
table
;
content
:
""
}
.fn-clear
:after
{
clear
:
both
}
.fn__flex
{
display
:
flex
}
.fn__flex1
{
flex
:
1
;
min-width
:
1px
}
.fn__flex-inline
{
display
:
inline-flex
!important
;
align-items
:
center
}
.none
{
display
:
none
}
.pointer
{
cursor
:
pointer
}
.no-underline
{
text-decoration
:
none
!important
}
.red
{
color
:
red
}
.contentBody
{
margin-bottom
:
12px
;
padding
:
3px
12px
}
.form
th
{
text-align
:
right
;
white-space
:
nowrap
}
.form
input
[
type
=
'text'
],
.form
input
[
type
=
'password'
],
.form
textarea
{
border-color
:
#C0C0C0
#D9D9D9
#D9D9D9
;
border-right
:
1px
solid
#D9D9D9
;
border-style
:
solid
;
border-width
:
1px
;
font-family
:
Helvetica
,
Arial
,
sans-serif
;
font-size
:
12px
;
outline
:
medium
none
;
width
:
99%
;
padding
:
0
3px
}
.form
input
{
height
:
24px
}
.form
input
[
type
=
'checkbox'
]
{
border
:
0
;
vertical-align
:
sub
;
height
:
20px
}
.form
input
.normalInput
{
width
:
auto
}
.form
input
[
type
=
'checkbox'
]
:focus
{
border
:
0
;
box-shadow
:
0
0
0
}
.form
input
:focus
,
.form
textarea
:focus
{
box-shadow
:
0
1px
2px
rgba
(
0
,
0
,
0
,
0.3
)
inset
}
.form
textarea
{
padding
:
3px
;
overflow
:
auto
;
resize
:
vertical
}
.logo
{
padding
:
0
5px
;
text-decoration
:
none
;
text-shadow
:
0
0
1px
#EEEEEE
}
.putTopIcon
,
.notPutTopIcon
,
.deleteIcon
,
.updateIcon
,
.commentIcon
,
.homeIcon
,
.adminIcon
,
.loginIcon
,
.logoutIcon
,
.calendarIcon
,
.browserIcon
,
.postIcon
,
.articlesIcon
,
.draftsIcon
,
.usersIcon
,
.linkIcon
,
.preferenceIcon
,
.pageIcon
,
.trueIcon
,
.falseIcon
,
.fileIcon
,
.othersIcon
,
.goTopIcon
,
.goBottomIcon
,
.cacheIcon
,
.aboutIcon
{
background-image
:
url("../images/icon.png")
;
cursor
:
pointer
;
height
:
16px
;
width
:
16px
}
.adminIcon
,
.loginIcon
,
.logoutIcon
,
.homeIcon
{
margin-top
:
3px
}
.pageIcon
{
background-position
:
-144px
0px
}
.postIcon
{
background-position
:
-16px
0
}
.linkIcon
{
background-position
:
-32px
0
}
.preferenceIcon
{
background-position
:
-48px
0
}
.articlesIcon
{
background-position
:
-64px
0
}
.trueIcon
{
background-position
:
-80px
0
;
cursor
:
auto
}
.falseIcon
{
background-position
:
-96px
0
;
cursor
:
auto
}
.fileIcon
{
background-position
:
-112px
0
}
.deleteIcon
{
background-position
:
0
-16px
}
.updateIcon
{
background-position
:
-16px
-16px
}
.commentIcon
{
background-position
:
-32px
-16px
}
.homeIcon
{
background-position
:
-64px
-16px
}
.adminIcon
{
background-position
:
-80px
-16px
}
.logoutIcon
{
background-position
:
-96px
-16px
}
.loginIcon
{
background-position
:
-112px
-16px
}
.browserIcon
{
background-position
:
-128px
-16px
}
.calendarIcon
{
background-position
:
-144px
-16px
}
.putTopIcon
{
background-position
:
-16px
-32px
;
float
:
left
}
.notPutTopIcon
{
background-position
:
-32px
-32px
;
float
:
left
}
.othersIcon
{
background-position
:
-48px
-32px
}
.cacheIcon
{
background-position
:
-96px
-32px
}
.draftsIcon
{
background-position
:
-96px
-32px
}
.usersIcon
{
background-position
:
-112px
-32px
}
.goTopIcon
{
background-position
:
-64px
-32px
;
position
:
fixed
;
right
:
20px
;
top
:
45%
}
.goBottomIcon
{
background-position
:
-80px
-32px
;
bottom
:
40%
;
position
:
fixed
;
right
:
20px
}
.em00
,
.em01
,
.em02
,
.em03
,
.em04
,
.em05
,
.em06
,
.em07
,
.em08
,
.em09
,
.em10
,
.em11
,
.em12
,
.em13
,
.em14
{
background-image
:
url("../images/emotions/emotions.png")
;
background-size
:
120px
;
float
:
left
;
height
:
24px
;
margin-right
:
5px
;
width
:
24px
}
#emotions
span
{
cursor
:
pointer
}
.em01
{
background-position
:
-24px
0
}
.em02
{
background-position
:
-48px
0
}
.em03
{
background-position
:
-72px
0
}
.em04
{
background-position
:
-96px
0
}
.em05
{
background-position
:
0px
-24px
}
.em06
{
background-position
:
-24px
-24px
}
.em07
{
background-position
:
-48px
-24px
}
.em08
{
background-position
:
-72px
-24px
}
.em09
{
background-position
:
-96px
-24px
}
.em10
{
background-position
:
0
-48px
}
.em11
{
background-position
:
-24px
-48px
}
.em12
{
background-position
:
-48px
-48px
}
.em13
{
background-position
:
-72px
-48px
}
.em14
{
background-position
:
-96px
-48px
}
#tags
{
list-style
:
none
}
#tags
li
{
float
:
left
;
list-style
:
none
;
height
:
38px
}
#tags
a
:hover
{
text-shadow
:
0
0
2px
#555555
}
#tags
a
{
border-radius
:
3px
3px
3px
3px
;
box-shadow
:
1px
1px
3px
#555555
;
float
:
left
;
margin
:
3px
6px
;
padding
:
3px
12px
;
text-decoration
:
none
}
#tags
.tags1
{
font-size
:
12px
;
font-weight
:
normal
}
#tags
.tags2
{
font-size
:
14px
;
font-weight
:
normal
}
#tags
.tags3
{
font-size
:
16px
;
font-weight
:
normal
}
#tags
.tags4
{
font-size
:
18px
;
font-weight
:
bold
}
#tags
.tags5
{
font-size
:
20px
;
font-weight
:
bold
}
#captcha
,
#captchaReply
{
cursor
:
pointer
}
html
{
-webkit-text-size-adjust
:
100%
;
-ms-text-size-adjust
:
100%
;
height
:
100%
}
body
{
margin
:
0
;
font-family
:
"Helvetica Neue"
,
"Luxi Sans"
,
"DejaVu Sans"
,
Tahoma
,
"Hiragino Sans GB"
,
"Microsoft Yahei"
,
sans-serif
;
font-size
:
14px
;
background-color
:
#fff
;
-webkit-font-smoothing
:
antialiased
;
-webkit-overflow-scrolling
:
touch
}
::-moz-selection
{
text-shadow
:
none
;
background
:
rgba
(
65
,
131
,
196
,
0.4
)}
::selection
{
text-shadow
:
none
;
background
:
rgba
(
66
,
133
,
244
,
0.4
)}
ul
,
ol
{
margin
:
0
;
padding
:
0
}
h1
,
h2
,
h3
,
h4
,
h5
,
h6
,
dl
,
dd
,
p
{
margin
:
0
}
article
,
aside
,
details
,
figcaption
,
figure
,
footer
,
header
,
hgroup
,
nav
,
section
{
display
:
block
}
audio
,
canvas
,
video
{
display
:
inline-block
}
audio
:not
([
controls
])
{
display
:
none
}
a
{
outline
:
0
;
text-decoration
:
none
}
a
:hover
{
text-decoration
:
underline
}
sub
,
sup
{
position
:
relative
;
font-size
:
75%
;
line-height
:
0
;
vertical-align
:
baseline
}
sup
{
top
:
-0.5em
}
sub
{
bottom
:
-0.25em
}
img
{
max-width
:
100%
;
vertical-align
:
middle
;
border
:
0
;
height
:
auto
;
-ms-interpolation-mode
:
bicubic
;
overflow
:
hidden
;
font-size
:
12px
}
button
,
input
,
select
,
textarea
{
margin
:
0
;
font-size
:
100%
;
vertical-align
:
middle
;
font-family
:
"Helvetica Neue"
,
"Luxi Sans"
,
"DejaVu Sans"
,
Tahoma
,
"Hiragino Sans GB"
,
"Microsoft Yahei"
,
sans-serif
;
outline
:
none
}
button
,
input
{
line-height
:
normal
}
button
::-moz-focus-inner
,
input
::-moz-focus-inner
{
padding
:
0
;
border
:
0
}
button
,
input
[
type
=
"button"
],
input
[
type
=
"reset"
],
input
[
type
=
"submit"
]
{
cursor
:
pointer
;
-webkit-appearance
:
button
}
input
[
type
=
"search"
]
{
box-sizing
:
content-box
;
-webkit-appearance
:
textfield
}
input
[
type
=
"search"
]
::-webkit-search-decoration
,
input
[
type
=
"search"
]
::-webkit-search-cancel-button
{
-webkit-appearance
:
none
}
textarea
{
overflow
:
auto
;
resize
:
vertical
}
svg
{
fill
:
currentColor
;
display
:
inline-block
;
stroke-width
:
0
;
stroke
:
currentColor
;
width
:
14px
;
height
:
14px
}
blockquote
{
margin
:
0
}
.content-reset
{
word-wrap
:
break-word
;
overflow
:
auto
;
line-height
:
1.65
;
font-size
:
16px
;
word-break
:
break-word
}
.content-reset
ul
,
.content-reset
ol
{
padding-left
:
2em
;
margin-top
:
0
;
margin-bottom
:
16px
}
.content-reset
li
{
margin-top
:
0.25em
}
.content-reset
audio
{
max-width
:
100%
}
.content-reset
video
{
max-height
:
90vh
}
.content-reset
img
{
cursor
:
zoom-in
}
.content-reset
img
.emoji
{
cursor
:
auto
;
max-width
:
18px
}
.content-reset
h1
,
.content-reset
h2
,
.content-reset
h3
,
.content-reset
h4
,
.content-reset
h5
,
.content-reset
h6
{
margin-top
:
24px
;
margin-bottom
:
16px
;
font-weight
:
600
;
line-height
:
1.25
}
.content-reset
h1
{
padding-bottom
:
0.3em
;
font-size
:
1.7em
;
border-bottom
:
1px
solid
#eee
}
.content-reset
h2
{
padding-bottom
:
0.3em
;
font-size
:
1.5em
;
border-bottom
:
1px
solid
#eee
}
.content-reset
h3
{
font-size
:
1.25em
}
.content-reset
h4
{
font-size
:
1em
}
.content-reset
h5
{
font-size
:
0.875em
}
.content-reset
h6
{
font-size
:
0.85em
}
.content-reset
hr
{
height
:
1px
;
padding
:
0
;
margin
:
24px
0
;
background-color
:
#e7e7e7
;
border
:
0
}
.content-reset
p
{
margin-top
:
0
;
margin-bottom
:
16px
}
.content-reset
blockquote
{
padding
:
0
1em
;
color
:
#777
;
border-left
:
0.25em
solid
#ddd
;
margin-bottom
:
16px
}
.content-reset
blockquote
p
{
margin
:
0
}
.content-reset
ins
>
iframe
{
border
:
0
}
.content-reset
iframe
{
border
:
1px
solid
rgba
(
0
,
0
,
0
,
0.38
)}
.content-reset
table
{
width
:
100%
;
border
:
1px
solid
#dedede
;
margin
:
15px
auto
;
border-collapse
:
collapse
;
empty-cells
:
show
}
.content-reset
thead
{
text-align
:
center
}
.content-reset
td
,
.content-reset
th
{
height
:
35px
;
border
:
1px
solid
#dedede
;
padding
:
0
10px
}
.content-reset
th
{
font-weight
:
bold
;
text-align
:
center
!important
;
background
:
rgba
(
158
,
188
,
226
,
0.2
)}
.content-reset
tbody
tr
:nth-child
(
2n
)
{
background
:
rgba
(
158
,
188
,
226
,
0.12
)}
.content-reset
tr
:hover
{
background
:
#efefef
}
.content-reset
code
{
padding
:
0.2em
0.4em
;
margin
:
0
;
font-size
:
85%
;
background-color
:
rgba
(
27
,
31
,
35
,
0.05
);
border-radius
:
3px
;
word-break
:
break-word
}
.content-reset
pre
{
position
:
relative
}
.content-reset
pre
textarea
{
position
:
absolute
;
top
:
-100000px
}
.content-reset
pre
>
code
{
padding
:
0.5em
;
background-color
:
rgba
(
0
,
0
,
0
,
0.04
);
background-size
:
20px
20px
;
border-radius
:
5px
;
display
:
block
}
.content-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
rgba
(
0
,
0
,
0
,
0.38
);
border-bottom-color
:
#bbb
;
border-radius
:
3px
;
box-shadow
:
inset
0
-1px
0
#bbb
}
.content-reset__task
,
.content-reset
.task-list-item
{
list-style
:
none
;
margin-left
:
-1em
}
.img-preview
{
width
:
100%
;
height
:
100%
;
top
:
0
;
z-index
:
211
;
overflow
:
auto
;
cursor
:
zoom-out
;
transition
:
background-color
.2s
ease-in-out
}
.img-preview
img
{
max-width
:
inherit
;
transition
:
transform
.3s
ease-in-out
}
textarea
{
overflow
:
hidden
}
button
,
.button
{
background
:
url(../images/icon.png)
repeat
center
bottom
;
border
:
1px
solid
;
border-color
:
#CCC
#BBBBBB
#A0A0A0
;
border-radius
:
4px
;
height
:
28px
;
margin
:
0
;
padding
:
0
6px
;
vertical-align
:
top
}
button
:hover
,
.button
:hover
{
border-color
:
#BBB
}
.padding12
{
padding
:
12px
}
.paddingBottom12
{
padding-bottom
:
12px
!important
}
.paddingTop12
{
padding-top
:
12px
!important
}
.margin12
{
margin
:
12px
}
.marginTop12
{
margin-top
:
12px
!important
}
.marginBottom12
{
margin-bottom
:
12px
!important
}
.marginLeft12
{
margin-left
:
12px
!important
}
.marginLeft6
{
margin-left
:
6px
!important
}
.marginRight12
{
margin-right
:
12px
!important
}
.f-bold
{
font-weight
:
bold
!important
}
.nowrap
{
white-space
:
nowrap
}
.left
{
float
:
left
}
.right
{
float
:
right
}
.clear
{
background-color
:
transparent
;
border
:
0
;
clear
:
both
;
display
:
block
;
font-size
:
0
;
height
:
0
;
line-height
:
0
;
overflow
:
hidden
}
.fn-clear
:before
,
.fn-clear
:after
{
display
:
table
;
content
:
""
}
.fn-clear
:after
{
clear
:
both
}
.fn__flex
{
display
:
flex
}
.fn__flex1
{
flex
:
1
;
min-width
:
1px
}
.fn__flex-inline
{
display
:
inline-flex
!important
;
align-items
:
center
}
.none
{
display
:
none
}
.pointer
{
cursor
:
pointer
}
.no-underline
{
text-decoration
:
none
!important
}
.red
{
color
:
red
}
.contentBody
{
margin-bottom
:
12px
;
padding
:
3px
12px
}
.form
th
{
text-align
:
right
;
white-space
:
nowrap
}
.form
input
[
type
=
'text'
],
.form
input
[
type
=
'password'
],
.form
textarea
{
border-color
:
#C0C0C0
#D9D9D9
#D9D9D9
;
border-right
:
1px
solid
#D9D9D9
;
border-style
:
solid
;
border-width
:
1px
;
font-family
:
Helvetica
,
Arial
,
sans-serif
;
font-size
:
12px
;
outline
:
medium
none
;
width
:
99%
;
padding
:
0
3px
}
.form
input
{
height
:
24px
}
.form
input
[
type
=
'checkbox'
]
{
border
:
0
;
vertical-align
:
sub
;
height
:
20px
}
.form
input
.normalInput
{
width
:
auto
}
.form
input
[
type
=
'checkbox'
]
:focus
{
border
:
0
;
box-shadow
:
0
0
0
}
.form
input
:focus
,
.form
textarea
:focus
{
box-shadow
:
0
1px
2px
rgba
(
0
,
0
,
0
,
0.3
)
inset
}
.form
textarea
{
padding
:
3px
;
overflow
:
auto
;
resize
:
vertical
}
.logo
{
padding
:
0
5px
;
text-decoration
:
none
;
text-shadow
:
0
0
1px
#EEEEEE
}
.putTopIcon
,
.notPutTopIcon
,
.deleteIcon
,
.updateIcon
,
.commentIcon
,
.homeIcon
,
.adminIcon
,
.loginIcon
,
.logoutIcon
,
.calendarIcon
,
.browserIcon
,
.postIcon
,
.articlesIcon
,
.draftsIcon
,
.usersIcon
,
.linkIcon
,
.preferenceIcon
,
.pageIcon
,
.trueIcon
,
.falseIcon
,
.fileIcon
,
.othersIcon
,
.goTopIcon
,
.goBottomIcon
,
.cacheIcon
,
.aboutIcon
{
background-image
:
url("../images/icon.png")
;
cursor
:
pointer
;
height
:
16px
;
width
:
16px
}
.adminIcon
,
.loginIcon
,
.logoutIcon
,
.homeIcon
{
margin-top
:
3px
}
.pageIcon
{
background-position
:
-144px
0px
}
.postIcon
{
background-position
:
-16px
0
}
.linkIcon
{
background-position
:
-32px
0
}
.preferenceIcon
{
background-position
:
-48px
0
}
.articlesIcon
{
background-position
:
-64px
0
}
.trueIcon
{
background-position
:
-80px
0
;
cursor
:
auto
}
.falseIcon
{
background-position
:
-96px
0
;
cursor
:
auto
}
.fileIcon
{
background-position
:
-112px
0
}
.deleteIcon
{
background-position
:
0
-16px
}
.updateIcon
{
background-position
:
-16px
-16px
}
.commentIcon
{
background-position
:
-32px
-16px
}
.homeIcon
{
background-position
:
-64px
-16px
}
.adminIcon
{
background-position
:
-80px
-16px
}
.logoutIcon
{
background-position
:
-96px
-16px
}
.loginIcon
{
background-position
:
-112px
-16px
}
.browserIcon
{
background-position
:
-128px
-16px
}
.calendarIcon
{
background-position
:
-144px
-16px
}
.putTopIcon
{
background-position
:
-16px
-32px
;
float
:
left
}
.notPutTopIcon
{
background-position
:
-32px
-32px
;
float
:
left
}
.othersIcon
{
background-position
:
-48px
-32px
}
.cacheIcon
{
background-position
:
-96px
-32px
}
.draftsIcon
{
background-position
:
-96px
-32px
}
.usersIcon
{
background-position
:
-112px
-32px
}
.goTopIcon
{
background-position
:
-64px
-32px
;
position
:
fixed
;
right
:
20px
;
top
:
45%
}
.goBottomIcon
{
background-position
:
-80px
-32px
;
bottom
:
40%
;
position
:
fixed
;
right
:
20px
}
.em00
,
.em01
,
.em02
,
.em03
,
.em04
,
.em05
,
.em06
,
.em07
,
.em08
,
.em09
,
.em10
,
.em11
,
.em12
,
.em13
,
.em14
{
background-image
:
url("../images/emotions/emotions.png")
;
background-size
:
120px
;
float
:
left
;
height
:
24px
;
margin-right
:
5px
;
width
:
24px
}
#emotions
span
{
cursor
:
pointer
}
.em01
{
background-position
:
-24px
0
}
.em02
{
background-position
:
-48px
0
}
.em03
{
background-position
:
-72px
0
}
.em04
{
background-position
:
-96px
0
}
.em05
{
background-position
:
0px
-24px
}
.em06
{
background-position
:
-24px
-24px
}
.em07
{
background-position
:
-48px
-24px
}
.em08
{
background-position
:
-72px
-24px
}
.em09
{
background-position
:
-96px
-24px
}
.em10
{
background-position
:
0
-48px
}
.em11
{
background-position
:
-24px
-48px
}
.em12
{
background-position
:
-48px
-48px
}
.em13
{
background-position
:
-72px
-48px
}
.em14
{
background-position
:
-96px
-48px
}
#tags
{
list-style
:
none
}
#tags
li
{
float
:
left
;
list-style
:
none
;
height
:
38px
}
#tags
a
:hover
{
text-shadow
:
0
0
2px
#555555
}
#tags
a
{
border-radius
:
3px
3px
3px
3px
;
box-shadow
:
1px
1px
3px
#555555
;
float
:
left
;
margin
:
3px
6px
;
padding
:
3px
12px
;
text-decoration
:
none
}
#tags
.tags1
{
font-size
:
12px
;
font-weight
:
normal
}
#tags
.tags2
{
font-size
:
14px
;
font-weight
:
normal
}
#tags
.tags3
{
font-size
:
16px
;
font-weight
:
normal
}
#tags
.tags4
{
font-size
:
18px
;
font-weight
:
bold
}
#tags
.tags5
{
font-size
:
20px
;
font-weight
:
bold
}
#captcha
,
#captchaReply
{
cursor
:
pointer
}
src/main/webapp/scss/start.css
View file @
7f04e27b
html
{
-webkit-text-size-adjust
:
100%
;
-ms-text-size-adjust
:
100%
;
height
:
100%
}
body
{
margin
:
0
;
font-family
:
"Helvetica Neue"
,
"Luxi Sans"
,
"DejaVu Sans"
,
Tahoma
,
"Hiragino Sans GB"
,
"Microsoft Yahei"
,
sans-serif
;
font-size
:
14px
;
background-color
:
#fff
;
-webkit-font-smoothing
:
antialiased
;
-webkit-overflow-scrolling
:
touch
}
::-moz-selection
{
text-shadow
:
none
;
background
:
rgba
(
65
,
131
,
196
,
0.4
)}
::selection
{
text-shadow
:
none
;
background
:
rgba
(
66
,
133
,
244
,
0.4
)}
ul
,
ol
{
margin
:
0
;
padding
:
0
}
h1
,
h2
,
h3
,
h4
,
h5
,
h6
,
dl
,
dd
,
p
{
margin
:
0
}
article
,
aside
,
details
,
figcaption
,
figure
,
footer
,
header
,
hgroup
,
nav
,
section
{
display
:
block
}
audio
,
canvas
,
video
{
display
:
inline-block
}
audio
:not
([
controls
])
{
display
:
none
}
a
{
outline
:
0
;
text-decoration
:
none
}
a
:hover
{
text-decoration
:
underline
}
sub
,
sup
{
position
:
relative
;
font-size
:
75%
;
line-height
:
0
;
vertical-align
:
baseline
}
sup
{
top
:
-0.5em
}
sub
{
bottom
:
-0.25em
}
img
{
max-width
:
100%
;
vertical-align
:
middle
;
border
:
0
;
height
:
auto
;
-ms-interpolation-mode
:
bicubic
;
overflow
:
hidden
;
font-size
:
12px
}
button
,
input
,
select
,
textarea
{
margin
:
0
;
font-size
:
100%
;
vertical-align
:
middle
;
font-family
:
"Helvetica Neue"
,
"Luxi Sans"
,
"DejaVu Sans"
,
Tahoma
,
"Hiragino Sans GB"
,
"Microsoft Yahei"
,
sans-serif
;
outline
:
none
}
button
,
input
{
line-height
:
normal
}
button
::-moz-focus-inner
,
input
::-moz-focus-inner
{
padding
:
0
;
border
:
0
}
button
,
input
[
type
=
"button"
],
input
[
type
=
"reset"
],
input
[
type
=
"submit"
]
{
cursor
:
pointer
;
-webkit-appearance
:
button
}
input
[
type
=
"search"
]
{
box-sizing
:
content-box
;
-webkit-appearance
:
textfield
}
input
[
type
=
"search"
]
::-webkit-search-decoration
,
input
[
type
=
"search"
]
::-webkit-search-cancel-button
{
-webkit-appearance
:
none
}
textarea
{
overflow
:
auto
;
resize
:
vertical
}
svg
{
fill
:
currentColor
;
display
:
inline-block
;
stroke-width
:
0
;
stroke
:
currentColor
;
width
:
14px
;
height
:
14px
}
blockquote
{
margin
:
0
}
.content-reset
{
word-wrap
:
break-word
;
overflow
:
auto
;
line-height
:
1.65
;
font-size
:
16px
;
word-break
:
break-word
}
.content-reset
ul
,
.content-reset
ol
{
padding-left
:
2em
;
margin-top
:
0
;
margin-bottom
:
16px
}
.content-reset
li
{
margin-top
:
0.25em
}
.content-reset
img
{
cursor
:
zoom-in
}
.content-reset
img
.emoji
{
cursor
:
auto
;
max-width
:
18px
}
.content-reset
h1
,
.content-reset
h2
,
.content-reset
h3
,
.content-reset
h4
,
.content-reset
h5
,
.content-reset
h6
{
margin-top
:
24px
;
margin-bottom
:
16px
;
font-weight
:
600
;
line-height
:
1.25
}
.content-reset
h1
{
padding-bottom
:
0.3em
;
font-size
:
1.7em
;
border-bottom
:
1px
solid
#eee
}
.content-reset
h2
{
padding-bottom
:
0.3em
;
font-size
:
1.5em
;
border-bottom
:
1px
solid
#eee
}
.content-reset
h3
{
font-size
:
1.25em
}
.content-reset
h4
{
font-size
:
1em
}
.content-reset
h5
{
font-size
:
0.875em
}
.content-reset
h6
{
font-size
:
0.85em
}
.content-reset
hr
{
height
:
0.15em
;
padding
:
0
;
margin
:
24px
0
;
background-color
:
#e7e7e7
;
border
:
0
}
.content-reset
p
{
margin-top
:
0
;
margin-bottom
:
16px
}
.content-reset
blockquote
{
padding
:
0
1em
;
color
:
#777
;
border-left
:
0.25em
solid
#ddd
;
margin-bottom
:
16px
}
.content-reset
blockquote
p
{
margin
:
0
}
.content-reset
ins
>
iframe
{
border
:
0
}
.content-reset
iframe
{
border
:
1px
solid
rgba
(
0
,
0
,
0
,
0.38
)}
.content-reset
table
{
width
:
100%
;
border
:
1px
solid
#dedede
;
margin
:
15px
auto
;
border-collapse
:
collapse
;
empty-cells
:
show
}
.content-reset
thead
{
text-align
:
center
}
.content-reset
td
,
.content-reset
th
{
height
:
35px
;
border
:
1px
solid
#dedede
;
padding
:
0
10px
}
.content-reset
th
{
font-weight
:
bold
;
text-align
:
center
!important
;
background
:
rgba
(
158
,
188
,
226
,
0.2
)}
.content-reset
tbody
tr
:nth-child
(
2n
)
{
background
:
rgba
(
158
,
188
,
226
,
0.12
)}
.content-reset
tr
:hover
{
background
:
#efefef
}
.content-reset
code
{
padding
:
0.2em
0.4em
;
margin
:
0
;
font-size
:
85%
;
background-color
:
rgba
(
252
,
41
,
41
,
0.12
);
border-radius
:
3px
;
word-break
:
break-word
}
.content-reset
pre
{
position
:
relative
}
.content-reset
pre
textarea
{
position
:
absolute
;
top
:
-100000px
}
.content-reset
pre
>
code
{
padding
:
0.5em
;
background-color
:
rgba
(
0
,
0
,
0
,
0.04
);
background-size
:
20px
20px
;
border-radius
:
5px
;
display
:
block
}
.content-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
rgba
(
0
,
0
,
0
,
0.38
);
border-bottom-color
:
#bbb
;
border-radius
:
3px
;
box-shadow
:
inset
0
-1px
0
#bbb
}
.content-reset__task
,
.content-reset
.task-list-item
{
list-style
:
none
;
margin-left
:
-1em
}
.img-preview
{
width
:
100%
;
height
:
100%
;
top
:
0
;
z-index
:
211
;
overflow
:
auto
;
cursor
:
zoom-out
;
transition
:
background-color
.2s
ease-in-out
}
.img-preview
img
{
max-width
:
inherit
;
transition
:
transform
.3s
ease-in-out
}
button
{
background-size
:
110%
110%
;
border
:
1px
solid
rgba
(
27
,
31
,
35
,
0.2
);
font-size
:
13px
;
font-weight
:
700
;
text-shadow
:
0
1px
0
rgba
(
255
,
255
,
255
,
0.9
);
white-space
:
nowrap
;
background-color
:
#eff3f6
;
background-image
:
linear-gradient
(
-180deg
,
#fafbfc
,
#eff3f6
90%
);
color
:
#24292e
;
border-radius
:
3px
;
box-shadow
:
0
1px
3px
rgba
(
0
,
0
,
0
,
0.075
);
outline
:
none
;
padding
:
7px
15px
;
margin-top
:
10px
;
cursor
:
pointer
}
button
:hover
{
background-color
:
#e6ebf1
;
background-image
:
linear-gradient
(
-180deg
,
#f0f3f6
,
#e6ebf1
90%
);
background-position
:
-.5em
;
border-color
:
rgba
(
27
,
31
,
35
,
0.35
)}
a
{
color
:
#4285f4
;
text-decoration
:
none
}
h2
{
background-color
:
#F3F1E5
;
border-radius
:
4px
4px
0
0
;
font-size
:
16px
;
margin
:
0
;
padding
:
10px
20px
}
input
[
type
=
password
],
input
[
type
=
text
]
{
border
:
1px
solid
#d1d5da
;
background-color
:
#FAFAFA
;
border-radius
:
3px
;
box-shadow
:
inset
0
1px
2px
rgba
(
27
,
31
,
35
,
0.075
);
padding
:
7px
8px
;
width
:
100%
;
line-height
:
17px
;
box-sizing
:
border-box
;
-moz-box-sizing
:
border-box
;
-webkit-box-sizing
:
border-box
;
outline
:
none
;
margin-top
:
10px
}
input
[
type
=
password
]
:focus
,
input
[
type
=
text
]
:focus
{
background-color
:
#FFF
;
box-shadow
:
inset
0
1px
2px
rgba
(
27
,
31
,
35
,
0.075
),
0
0
0
0.2em
#dbedff
;
border
:
1px
solid
#4285f4
}
.error
{
color
:
#d23f31
;
font-weight
:
bold
}
.wrap
{
border-top
:
5px
solid
#E6E5D9
;
background-color
:
#F3F1E5
;
display
:
flex
;
flex-direction
:
column
;
min-height
:
100vh
;
box-sizing
:
border-box
}
.content-wrap
{
flex
:
1
;
display
:
flex
}
.content
{
background-color
:
#fff
;
margin
:
0
auto
;
width
:
760px
;
align-self
:
center
;
display
:
flex
}
.main
{
border-left
:
1px
solid
#E6E5D9
;
font-size
:
15px
;
padding
:
20px
;
flex
:
1
}
.logo
{
width
:
217px
;
text-align
:
center
;
align-self
:
center
}
.logo
img
{
height
:
128px
;
width
:
128px
}
.footerWrapper
{
background-color
:
#FFFFFF
;
border-top
:
1px
solid
#E6E5D9
;
padding
:
12px
0
;
text-align
:
center
}
.a-error
{
text-align
:
right
}
.img-error
{
max-width
:
100%
;
margin
:
20px
auto
;
padding
:
0
;
display
:
block
}
.kill__btns
{
text-align
:
right
}
.kill__img
{
float
:
right
;
margin
:
-280px
0
0
0
}
.kill
.content-reset
{
margin
:
10px
}
#github
{
position
:
relative
;
text-align
:
center
}
#github
.github--loading
:after
{
content
:
"Loading..."
;
position
:
absolute
;
height
:
100%
;
width
:
100%
;
top
:
0
;
left
:
0
;
z-index
:
7
;
background-color
:
rgba
(
255
,
255
,
255
,
0.6
);
font-size
:
22px
;
text-align
:
center
;
padding-top
:
135px
;
color
:
#000
;
text-shadow
:
0
1px
2px
rgba
(
0
,
0
,
0
,
0.2
);
box-sizing
:
border-box
}
#github
.github__icon
{
height
:
200px
;
width
:
266px
;
background-image
:
url("../images/github.png")
;
margin
:
0
auto
;
background-size
:
contain
;
cursor
:
pointer
}
#github
.github__icon
:hover
{
background-image
:
url("../images/github.gif")
}
#github
img
{
display
:
none
}
.github__text
{
cursor
:
pointer
;
font-size
:
12px
;
color
:
#666
}
.github__text
ul
{
display
:
none
;
text-align
:
left
;
margin
:
5px
auto
0
;
width
:
280px
;
padding-left
:
24px
;
box-sizing
:
border-box
}
.github__link
{
font-size
:
12px
;
text-decoration
:
underline
;
margin-top
:
10px
;
display
:
block
}
.github__check
{
font-size
:
12px
;
display
:
flex
;
width
:
80%
;
margin
:
10px
auto
0
;
align-items
:
center
;
line-height
:
20px
;
color
:
#999
}
.github__check
a
{
color
:
#999
;
text-decoration
:
underline
}
.github__check
input
{
width
:
auto
}
.search
{
border-top
:
5px
solid
#e6e5d9
;
background-color
:
#f3f1e5
;
padding
:
20px
0
20px
84px
;
min-height
:
480px
;
flex
:
1
}
.search__body
{
display
:
flex
;
flex-direction
:
column
}
.search__header
{
margin
:
20px
;
display
:
flex
}
.search__header
a
{
line-height
:
44px
}
.search__input
{
flex
:
1
;
display
:
flex
}
.search__input
input
{
margin
:
0
10px
0
20px
;
width
:
523px
;
height
:
44px
;
line-height
:
44px
}
.search__input
button
{
height
:
44px
;
margin
:
0
}
.search__articles
{
width
:
600px
}
.search__articles
.tag
{
color
:
#616161
;
padding
:
2px
5px
;
border
:
1px
solid
transparent
;
position
:
relative
;
height
:
20px
;
white-space
:
nowrap
;
word-wrap
:
normal
;
background-color
:
#f7f7f7
;
border-radius
:
3px
3px
3px
3px
;
line-height
:
21px
;
font-size
:
12px
;
display
:
inline-block
;
margin-right
:
5px
}
.search__articles
.tag
:hover
{
color
:
#000
;
box-shadow
:
0
1px
2px
rgba
(
0
,
0
,
0
,
0.2
);
text-decoration
:
none
}
.search__articles
header
h1
{
margin
:
0
}
.search__articles
header
h1
>
a
{
font-size
:
18px
;
text-decoration
:
none
;
font-weight
:
normal
}
.search__articles
.meta
{
font-size
:
14px
;
color
:
#999
;
margin
:
5px
0
}
.search__articles
footer
{
margin-bottom
:
30px
}
.search__articles
footer
a
{
text-decoration
:
none
;
font-size
:
13px
}
.search__articles
footer
a
:hover
,
.search__articles
header
h1
>
a
:hover
,
.search__pagination
a
:hover
{
text-decoration
:
underline
}
.search__pagination
a
{
color
:
#4285f4
;
text-decoration
:
none
}
.search__pagination
a
,
.search__pagination
span
{
margin-right
:
5px
}
@media
(
max-width
:
780px
){
.wrap
{
padding
:
40px
0
0
0
}
.content
{
width
:
auto
}
.logo
,
.search__header
img
,
.search__header
>
.fn-right
{
display
:
none
}
.main
{
border
:
0
;
float
:
none
;
width
:
auto
;
padding
:
10px
}
.a-500
,
.a-403
,
.a-404
{
margin
:
0
20px
0
0
}
#init
{
width
:
100%
;
padding
:
0
20px
;
box-sizing
:
border-box
;
left
:
0
}
.search
{
padding
:
20px
;
width
:
100%
;
min-height
:
auto
;
box-sizing
:
border-box
}
.search__input
input
{
width
:
auto
;
flex
:
1
;
margin-left
:
0
}
.search__articles
{
width
:
auto
}}
html
{
-webkit-text-size-adjust
:
100%
;
-ms-text-size-adjust
:
100%
;
height
:
100%
}
body
{
margin
:
0
;
font-family
:
"Helvetica Neue"
,
"Luxi Sans"
,
"DejaVu Sans"
,
Tahoma
,
"Hiragino Sans GB"
,
"Microsoft Yahei"
,
sans-serif
;
font-size
:
14px
;
background-color
:
#fff
;
-webkit-font-smoothing
:
antialiased
;
-webkit-overflow-scrolling
:
touch
}
::-moz-selection
{
text-shadow
:
none
;
background
:
rgba
(
65
,
131
,
196
,
0.4
)}
::selection
{
text-shadow
:
none
;
background
:
rgba
(
66
,
133
,
244
,
0.4
)}
ul
,
ol
{
margin
:
0
;
padding
:
0
}
h1
,
h2
,
h3
,
h4
,
h5
,
h6
,
dl
,
dd
,
p
{
margin
:
0
}
article
,
aside
,
details
,
figcaption
,
figure
,
footer
,
header
,
hgroup
,
nav
,
section
{
display
:
block
}
audio
,
canvas
,
video
{
display
:
inline-block
}
audio
:not
([
controls
])
{
display
:
none
}
a
{
outline
:
0
;
text-decoration
:
none
}
a
:hover
{
text-decoration
:
underline
}
sub
,
sup
{
position
:
relative
;
font-size
:
75%
;
line-height
:
0
;
vertical-align
:
baseline
}
sup
{
top
:
-0.5em
}
sub
{
bottom
:
-0.25em
}
img
{
max-width
:
100%
;
vertical-align
:
middle
;
border
:
0
;
height
:
auto
;
-ms-interpolation-mode
:
bicubic
;
overflow
:
hidden
;
font-size
:
12px
}
button
,
input
,
select
,
textarea
{
margin
:
0
;
font-size
:
100%
;
vertical-align
:
middle
;
font-family
:
"Helvetica Neue"
,
"Luxi Sans"
,
"DejaVu Sans"
,
Tahoma
,
"Hiragino Sans GB"
,
"Microsoft Yahei"
,
sans-serif
;
outline
:
none
}
button
,
input
{
line-height
:
normal
}
button
::-moz-focus-inner
,
input
::-moz-focus-inner
{
padding
:
0
;
border
:
0
}
button
,
input
[
type
=
"button"
],
input
[
type
=
"reset"
],
input
[
type
=
"submit"
]
{
cursor
:
pointer
;
-webkit-appearance
:
button
}
input
[
type
=
"search"
]
{
box-sizing
:
content-box
;
-webkit-appearance
:
textfield
}
input
[
type
=
"search"
]
::-webkit-search-decoration
,
input
[
type
=
"search"
]
::-webkit-search-cancel-button
{
-webkit-appearance
:
none
}
textarea
{
overflow
:
auto
;
resize
:
vertical
}
svg
{
fill
:
currentColor
;
display
:
inline-block
;
stroke-width
:
0
;
stroke
:
currentColor
;
width
:
14px
;
height
:
14px
}
blockquote
{
margin
:
0
}
.content-reset
{
word-wrap
:
break-word
;
overflow
:
auto
;
line-height
:
1.65
;
font-size
:
16px
;
word-break
:
break-word
}
.content-reset
ul
,
.content-reset
ol
{
padding-left
:
2em
;
margin-top
:
0
;
margin-bottom
:
16px
}
.content-reset
li
{
margin-top
:
0.25em
}
.content-reset
audio
{
max-width
:
100%
}
.content-reset
video
{
max-height
:
90vh
}
.content-reset
img
{
cursor
:
zoom-in
}
.content-reset
img
.emoji
{
cursor
:
auto
;
max-width
:
18px
}
.content-reset
h1
,
.content-reset
h2
,
.content-reset
h3
,
.content-reset
h4
,
.content-reset
h5
,
.content-reset
h6
{
margin-top
:
24px
;
margin-bottom
:
16px
;
font-weight
:
600
;
line-height
:
1.25
}
.content-reset
h1
{
padding-bottom
:
0.3em
;
font-size
:
1.7em
;
border-bottom
:
1px
solid
#eee
}
.content-reset
h2
{
padding-bottom
:
0.3em
;
font-size
:
1.5em
;
border-bottom
:
1px
solid
#eee
}
.content-reset
h3
{
font-size
:
1.25em
}
.content-reset
h4
{
font-size
:
1em
}
.content-reset
h5
{
font-size
:
0.875em
}
.content-reset
h6
{
font-size
:
0.85em
}
.content-reset
hr
{
height
:
1px
;
padding
:
0
;
margin
:
24px
0
;
background-color
:
#e7e7e7
;
border
:
0
}
.content-reset
p
{
margin-top
:
0
;
margin-bottom
:
16px
}
.content-reset
blockquote
{
padding
:
0
1em
;
color
:
#777
;
border-left
:
0.25em
solid
#ddd
;
margin-bottom
:
16px
}
.content-reset
blockquote
p
{
margin
:
0
}
.content-reset
ins
>
iframe
{
border
:
0
}
.content-reset
iframe
{
border
:
1px
solid
rgba
(
0
,
0
,
0
,
0.38
)}
.content-reset
table
{
width
:
100%
;
border
:
1px
solid
#dedede
;
margin
:
15px
auto
;
border-collapse
:
collapse
;
empty-cells
:
show
}
.content-reset
thead
{
text-align
:
center
}
.content-reset
td
,
.content-reset
th
{
height
:
35px
;
border
:
1px
solid
#dedede
;
padding
:
0
10px
}
.content-reset
th
{
font-weight
:
bold
;
text-align
:
center
!important
;
background
:
rgba
(
158
,
188
,
226
,
0.2
)}
.content-reset
tbody
tr
:nth-child
(
2n
)
{
background
:
rgba
(
158
,
188
,
226
,
0.12
)}
.content-reset
tr
:hover
{
background
:
#efefef
}
.content-reset
code
{
padding
:
0.2em
0.4em
;
margin
:
0
;
font-size
:
85%
;
background-color
:
rgba
(
27
,
31
,
35
,
0.05
);
border-radius
:
3px
;
word-break
:
break-word
}
.content-reset
pre
{
position
:
relative
}
.content-reset
pre
textarea
{
position
:
absolute
;
top
:
-100000px
}
.content-reset
pre
>
code
{
padding
:
0.5em
;
background-color
:
rgba
(
0
,
0
,
0
,
0.04
);
background-size
:
20px
20px
;
border-radius
:
5px
;
display
:
block
}
.content-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
rgba
(
0
,
0
,
0
,
0.38
);
border-bottom-color
:
#bbb
;
border-radius
:
3px
;
box-shadow
:
inset
0
-1px
0
#bbb
}
.content-reset__task
,
.content-reset
.task-list-item
{
list-style
:
none
;
margin-left
:
-1em
}
.img-preview
{
width
:
100%
;
height
:
100%
;
top
:
0
;
z-index
:
211
;
overflow
:
auto
;
cursor
:
zoom-out
;
transition
:
background-color
.2s
ease-in-out
}
.img-preview
img
{
max-width
:
inherit
;
transition
:
transform
.3s
ease-in-out
}
button
{
background-size
:
110%
110%
;
border
:
1px
solid
rgba
(
27
,
31
,
35
,
0.2
);
font-size
:
13px
;
font-weight
:
700
;
text-shadow
:
0
1px
0
rgba
(
255
,
255
,
255
,
0.9
);
white-space
:
nowrap
;
background-color
:
#eff3f6
;
background-image
:
linear-gradient
(
-180deg
,
#fafbfc
,
#eff3f6
90%
);
color
:
#24292e
;
border-radius
:
3px
;
box-shadow
:
0
1px
3px
rgba
(
0
,
0
,
0
,
0.075
);
outline
:
none
;
padding
:
7px
15px
;
margin-top
:
10px
;
cursor
:
pointer
}
button
:hover
{
background-color
:
#e6ebf1
;
background-image
:
linear-gradient
(
-180deg
,
#f0f3f6
,
#e6ebf1
90%
);
background-position
:
-.5em
;
border-color
:
rgba
(
27
,
31
,
35
,
0.35
)}
a
{
color
:
#4285f4
;
text-decoration
:
none
}
h2
{
background-color
:
#F3F1E5
;
border-radius
:
4px
4px
0
0
;
font-size
:
16px
;
margin
:
0
;
padding
:
10px
20px
}
h2
a
:hover
{
color
:
#d23f31
}
input
[
type
=
password
],
input
[
type
=
text
]
{
border
:
1px
solid
#d1d5da
;
background-color
:
#FAFAFA
;
border-radius
:
3px
;
box-shadow
:
inset
0
1px
2px
rgba
(
27
,
31
,
35
,
0.075
);
padding
:
7px
8px
;
width
:
100%
;
line-height
:
17px
;
box-sizing
:
border-box
;
-moz-box-sizing
:
border-box
;
-webkit-box-sizing
:
border-box
;
outline
:
none
;
margin-top
:
10px
}
input
[
type
=
password
]
:focus
,
input
[
type
=
text
]
:focus
{
background-color
:
#FFF
;
box-shadow
:
inset
0
1px
2px
rgba
(
27
,
31
,
35
,
0.075
),
0
0
0
0.2em
#dbedff
;
border
:
1px
solid
#4285f4
}
.error
{
color
:
#d23f31
;
font-weight
:
bold
}
.wrap
{
border-top
:
5px
solid
#E6E5D9
;
background-color
:
#F3F1E5
;
display
:
flex
;
flex-direction
:
column
;
min-height
:
100vh
;
box-sizing
:
border-box
}
.content-wrap
{
flex
:
1
;
display
:
flex
}
.content
{
background-color
:
#fff
;
margin
:
0
auto
;
width
:
760px
;
align-self
:
center
;
display
:
flex
}
.main
{
border-left
:
1px
solid
#E6E5D9
;
font-size
:
15px
;
padding
:
20px
;
flex
:
1
}
.logo
{
width
:
217px
;
text-align
:
center
;
align-self
:
center
}
.logo
img
{
height
:
128px
;
width
:
128px
}
.footerWrapper
{
background-color
:
#FFFFFF
;
border-top
:
1px
solid
#E6E5D9
;
padding
:
12px
0
;
text-align
:
center
}
.a-error
{
text-align
:
right
}
.img-error
{
max-width
:
100%
;
margin
:
20px
auto
;
padding
:
0
;
display
:
block
}
.kill__btns
{
text-align
:
right
}
.kill__img
{
float
:
right
;
margin
:
-280px
0
0
0
}
.kill
.content-reset
{
margin
:
10px
}
#github
{
position
:
relative
;
text-align
:
center
}
#github
.github--loading
:after
{
content
:
"Loading..."
;
position
:
absolute
;
height
:
100%
;
width
:
100%
;
top
:
0
;
left
:
0
;
z-index
:
7
;
background-color
:
rgba
(
255
,
255
,
255
,
0.6
);
font-size
:
22px
;
text-align
:
center
;
padding-top
:
135px
;
color
:
#000
;
text-shadow
:
0
1px
2px
rgba
(
0
,
0
,
0
,
0.2
);
box-sizing
:
border-box
}
#github
.github__icon
{
height
:
200px
;
width
:
266px
;
background-image
:
url("../images/github.png")
;
margin
:
0
auto
;
background-size
:
contain
;
cursor
:
pointer
}
#github
.github__icon
:hover
{
background-image
:
url("../images/github.gif")
}
#github
img
{
display
:
none
}
.github__text
{
cursor
:
pointer
;
font-size
:
12px
;
color
:
#666
}
.github__text
ul
{
display
:
none
;
text-align
:
left
;
margin
:
5px
auto
0
;
width
:
280px
;
padding-left
:
24px
;
box-sizing
:
border-box
}
.github__link
{
font-size
:
12px
;
text-decoration
:
underline
;
margin-top
:
10px
;
display
:
block
}
.github__check
{
font-size
:
12px
;
display
:
flex
;
width
:
80%
;
margin
:
10px
auto
0
;
align-items
:
center
;
line-height
:
20px
;
color
:
#999
}
.github__check
a
{
color
:
#999
;
text-decoration
:
underline
}
.github__check
input
{
width
:
auto
}
.search
{
border-top
:
5px
solid
#e6e5d9
;
background-color
:
#f3f1e5
;
padding
:
20px
0
20px
84px
;
min-height
:
480px
;
flex
:
1
}
.search__body
{
display
:
flex
;
flex-direction
:
column
}
.search__header
{
margin
:
20px
;
display
:
flex
}
.search__header
a
{
line-height
:
44px
}
.search__input
{
flex
:
1
;
display
:
flex
}
.search__input
input
{
margin
:
0
10px
0
20px
;
width
:
523px
;
height
:
44px
;
line-height
:
44px
}
.search__input
button
{
height
:
44px
;
margin
:
0
}
.search__articles
{
width
:
600px
}
.search__articles
.tag
{
color
:
#616161
;
padding
:
2px
5px
;
border
:
1px
solid
transparent
;
position
:
relative
;
height
:
20px
;
white-space
:
nowrap
;
word-wrap
:
normal
;
background-color
:
#f7f7f7
;
border-radius
:
3px
3px
3px
3px
;
line-height
:
21px
;
font-size
:
12px
;
display
:
inline-block
;
margin-right
:
5px
}
.search__articles
.tag
:hover
{
color
:
#000
;
box-shadow
:
0
1px
2px
rgba
(
0
,
0
,
0
,
0.2
);
text-decoration
:
none
}
.search__articles
header
h1
{
margin
:
0
}
.search__articles
header
h1
>
a
{
font-size
:
18px
;
text-decoration
:
none
;
font-weight
:
normal
}
.search__articles
.meta
{
font-size
:
14px
;
color
:
#999
;
margin
:
5px
0
}
.search__articles
footer
{
margin-bottom
:
30px
}
.search__articles
footer
a
{
text-decoration
:
none
;
font-size
:
13px
}
.search__articles
footer
a
:hover
,
.search__articles
header
h1
>
a
:hover
,
.search__pagination
a
:hover
{
text-decoration
:
underline
}
.search__pagination
a
{
color
:
#4285f4
;
text-decoration
:
none
}
.search__pagination
a
,
.search__pagination
span
{
margin-right
:
5px
}
@media
(
max-width
:
780px
){
.wrap
{
padding
:
40px
0
0
0
}
.content
{
width
:
auto
}
.logo
,
.search__header
img
,
.search__header
>
.fn-right
{
display
:
none
}
.main
{
border
:
0
;
float
:
none
;
width
:
auto
;
padding
:
10px
}
.a-500
,
.a-403
,
.a-404
{
margin
:
0
20px
0
0
}
#init
{
width
:
100%
;
padding
:
0
20px
;
box-sizing
:
border-box
;
left
:
0
}
.search
{
padding
:
20px
;
width
:
100%
;
min-height
:
auto
;
box-sizing
:
border-box
}
.search__input
input
{
width
:
auto
;
flex
:
1
;
margin-left
:
0
}
.search__articles
{
width
:
auto
}}
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