Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
S
solo
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
Commits
79beb405
Commit
79beb405
authored
Sep 08, 2016
by
Liang Ding
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
发布 - 1.6.0
parent
5701b53d
Changes
7
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
136 additions
and
198 deletions
+136
-198
src/main/webapp/css/default-admin.min.css
src/main/webapp/css/default-admin.min.css
+1
-1
src/main/webapp/css/default-base.min.css
src/main/webapp/css/default-base.min.css
+1
-1
src/main/webapp/js/admin/latkeAdmin.js
src/main/webapp/js/admin/latkeAdmin.js
+88
-195
src/main/webapp/js/admin/latkeAdmin.min.js
src/main/webapp/js/admin/latkeAdmin.min.js
+1
-1
src/main/webapp/skins/mobile/js/l10n.min.js
src/main/webapp/skins/mobile/js/l10n.min.js
+15
-0
src/main/webapp/skins/next/css/next.min.css
src/main/webapp/skins/next/css/next.min.css
+15
-0
src/main/webapp/skins/next/js/next.min.js
src/main/webapp/skins/next/js/next.min.js
+15
-0
No files found.
src/main/webapp/css/default-admin.min.css
View file @
79beb405
...
@@ -13,4 +13,4 @@
...
@@ -13,4 +13,4 @@
* See the License for the specific language governing permissions and
* See the License for the specific language governing permissions and
* limitations under the License.
* limitations under the License.
*/
*/
body
,
input
,
textarea
{
font-family
:
'sans-serif'
,
'\5fae\8f6f\96c5\9ed1'
}
html
,
body
{
height
:
100%
;
min-width
:
1024px
;
background-color
:
#fafafa
}
a
:link
{
color
:
#21759b
}
a
:visited
{
color
:
#551a8b
}
a
:active
{
color
:
#d54121
}
a
:hover
{
color
:
#d54121
}
button
.selected
{
background
:
url("../images/bowknot/completed.png")
no-repeat
scroll
right
bottom
transparent
;
color
:
#d54121
}
.ico-arrow-down
,
.ico-arrow-up
{
background
:
url("../images/arrows.png")
repeat
scroll
0
4px
transparent
;
float
:
right
;
height
:
20px
;
margin
:
2px
3px
0
0
;
width
:
18px
}
.ico-arrow-up
{
background-position
:
0
-30px
}
.aboutIcon
{
background-position
:
-16px
-48px
}
#allPanel
{
height
:
auto
;
min-height
:
100%
;
position
:
relative
}
#tabsPanel
{
margin
:
30px
0
0
162px
;
padding
:
0
12px
}
#tabsPanel
>
div
{
padding-bottom
:
36px
}
.tip
{
font-weight
:
bold
;
margin
:
0
auto
;
overflow
:
hidden
;
padding
:
2px
0
;
position
:
fixed
;
text-align
:
center
;
top
:
5px
;
width
:
100%
;
z-index
:
2
}
.tip-msg
{
top
:
33px
}
#tipMsg
,
#loadMsg
{
background-color
:
#e5e7eb
;
border-radius
:
3px
;
padding
:
2px
0
}
.footer
{
bottom
:
12px
;
position
:
absolute
;
text-align
:
center
;
width
:
100%
}
#top
{
background-color
:
#666
;
background-image
:
linear-gradient
(
#666
,
#7f7f7f
);
background-image
:
-ms-linear-gradient
(
#666
,
#7f7f7f
);
background-image
:
-o-linear-gradient
(
#666
,
#7f7f7f
);
background-image
:
-webkit-linear-gradient
(
#666
,
#7f7f7f
);
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
GradientType
=
0
,
startColorstr
=
'#666666'
,
endColorstr
=
'#7F7F7F'
)}
#top
a
,
#top
span
span
{
float
:
left
;
line-height
:
18px
;
margin
:
6px
0
;
padding
:
0
6px
;
text-decoration
:
none
;
text-shadow
:
0
-1px
0
#fff
;
font-weight
:
normal
;
border-right
:
1px
solid
#686868
;
color
:
#ccc
;
text-shadow
:
0
-1px
0
#555
}
#top
>
a
{
color
:
#fff
}
#top
a
:hover
,
#top
a
.hover
{
border-radius
:
0
13px
13px
0
;
margin
:
0
;
line-height
:
30px
;
background-color
:
#4c4c4c
;
border-left-color
:
#707070
}
#tabs
{
background-color
:
#ececec
;
border-radius
:
0
5px
5px
0
;
border-right
:
1px
solid
#CCC
;
border-top
:
1px
solid
#DDD
;
bottom
:
0
;
box-shadow
:
6px
0
6px
#ececec
;
min-height
:
468px
;
padding
:
15px
0
;
position
:
absolute
;
top
:
58px
;
width
:
145px
}
#tabs
ul
{
list-style
:
none
}
#tabs
li
{
margin-left
:
0
}
#tabs
a
,
#tabs
>
ul
>
li
>
div
{
color
:
#21759b
;
display
:
block
;
text-decoration
:
none
;
cursor
:
pointer
;
letter-spacing
:
1px
}
#tabs
a
:hover
,
#tabs
>
ul
>
li
>
div
:hover
{
color
:
#d54121
}
#tabs
>
ul
>
li
>
div
{
border-bottom
:
1px
solid
#dfdfdf
;
border-top
:
1px
solid
#f9f9f9
;
font-weight
:
bold
;
padding-left
:
12px
;
line-height
:
30px
;
height
:
30px
}
#tabs
>
ul
>
li
>
div
>
a
.tab-current
{
background-color
:
#777
;
border-bottom
:
1px
solid
#6d6d6d
;
border-top
:
1px
solid
#808080
;
color
:
#fff
;
margin-left
:
-12px
;
padding-left
:
12px
;
text-shadow
:
0
-1px
0
#333
}
#tabs
li
li
a
{
background-color
:
#fff
;
padding-left
:
36px
;
line-height
:
28px
;
height
:
28px
}
#tabs
.tab-current
{
background-color
:
#eaf2fa
;
color
:
#333
;
font-weight
:
bold
}
#tabs
li
li
a
:hover
{
background-color
:
#eaf2fa
;
color
:
#333
}
#tabs
.commentIcon
,
#tabs
.postIcon
,
#tabs
.preferenceIcon
,
#tabs
.usersIcon
,
#tabs
.aboutIcon
{
margin
:
6px
9px
0
0
}
.sub-tabs
{
height
:
30px
}
.sub-tabs
ul
{
float
:
right
;
list-style
:
none
outside
none
;
margin-right
:
24px
}
.sub-tabs
li
{
float
:
left
}
.sub-tabs
li
a
{
background-color
:
#ececec
;
border
:
1px
solid
#dfdfdf
;
border-bottom
:
0
;
border-radius
:
5px
5px
0
0
;
color
:
#333
;
display
:
block
;
line-height
:
29px
;
padding
:
0
12px
;
text-decoration
:
none
}
.sub-tabs
.tab-current
,
.sub-tabs
.tab-current
:hover
{
background-color
:
#fff
;
font-weight
:
bold
;
line-height
:
30px
}
.sub-tabs
a
:hover
{
background-color
:
#f5f5f5
}
.sub-tabs-main
{
background-color
:
#fff
;
border
:
1px
solid
#dfdfdf
;
padding
:
12px
;
border-radius
:
6px
}
.form
>
div
{
margin
:
12px
0
}
.form
>
div
label
{
font-weight
:
bold
;
line-height
:
28px
;
margin-right
:
12px
}
.module-panel
{
border
:
1px
solid
#dfdfdf
;
border-radius
:
3px
3px
3px
3px
;
box-shadow
:
0
1px
0
#fff
inset
;
background-color
:
#f5f5f5
;
margin-bottom
:
36px
;
min-height
:
160px
}
.module-header
{
background-color
:
#f9f9f9
;
background-image
:
linear-gradient
(
#f9f9f9
,
#ececec
);
background-image
:
-ms-linear-gradient
(
#f9f9f9
,
#ececec
);
background-image
:
-o-linear-gradient
(
#f9f9f9
,
#ececec
);
background-image
:
-webkit-linear-gradient
(
#f9f9f9
,
#ececec
);
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
GradientType
=
0
,
startColorstr
=
'#f9f9f9'
,
endColorstr
=
'#ececec'
);
border-bottom-color
:
#dfdfdf
;
box-shadow
:
0
1px
0
#fff
;
text-shadow
:
0
1px
0
#fff
;
padding
:
5px
10px
}
.module-header
h2
{
color
:
#464646
;
font-size
:
16px
}
.module-header
a
{
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
}
.markdown-preivew
{
background-color
:
#fff
;
background-image
:
linear-gradient
(
#fff
,
#f3f3f3
);
background-image
:
-ms-linear-gradient
(
#fff
,
#f3f3f3
);
background-image
:
-o-linear-gradient
(
#fff
,
#f3f3f3
);
background-image
:
-webkit-linear-gradient
(
#fff
,
#f3f3f3
);
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
GradientType
=
0
,
startColorstr
=
'#FFFFFF'
,
endColorstr
=
'#F3F3F3'
);
border-color
:
#c0c0c0
#D9D9D9
#d9d9d9
;
border-style
:
solid
;
border-width
:
1px
;
float
:
left
;
height
:
500px
;
margin-left
:
20px
;
overflow
:
auto
;
width
:
47%
;
word-wrap
:
break-word
}
.markdown-help.ico-help
,
.markdown-help.ico-close
{
background-image
:
url("../images/icon.png")
;
background-position
:
-16px
-47px
;
cursor
:
pointer
;
float
:
right
;
height
:
17px
;
width
:
17px
}
.markdown-help.ico-close
{
height
:
16px
;
background-position
:
-48px
-16px
}
.markdown-help-main
,
.markdown-preview-main
{
color
:
#21759b
;
padding
:
0
12px
}
.markdown-help-main
dt
{
font-size
:
14px
;
font-weight
:
bold
;
margin
:
12px
0
6px
0
}
.markdown-help-main
dd
{
margin-left
:
12px
}
button
#submitArticle
{
background
:
none
repeat
scroll
0
0
#d54121
;
box-shadow
:
0
0
0
1px
#fff
inset
,
0
1px
1px
rgba
(
0
,
0
,
0
,
0.1
);
text-shadow
:
0
1px
rgba
(
0
,
0
,
0
,
0.1
);
color
:
#FFF
}
#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
#333
;
line-height
:
16px
;
margin
:
24px
12px
;
padding
:
5px
;
text-align
:
center
}
#skinMain
.skinItem.selected
{
background-color
:
#d54121
}
.skinItem
:hover
{
background-color
:
#EEE
}
.f-blue
,
.error-msg
{
color
:
#36c
}
.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
:
62px
36px
62px
24px
}
.about-margin
{
font-size
:
20px
;
margin
:
20px
0
}
.ico-alipay-me
{
background-image
:
url("../images/alipay-me.png")
;
font-size
:
20px
;
height
:
24px
;
margin
:
20px
0
;
width
:
126px
}
.completed-input
{
margin
:
2px
12px
0
0
}
.completed-panel
{
background-color
:
#ececec
;
border
:
1px
solid
#ccc
;
color
:
#00c
;
display
:
none
;
overflow
:
auto
;
padding
:
2px
;
position
:
absolute
;
z-index
:
10
}
.completed-panel
a
{
display
:
block
;
text-decoration
:
none
}
.completed-panel
a
.selected
{
background-color
:
#fff
;
color
:
#d54121
}
.completed-ck
{
margin-top
:
9px
}
.completed-ck
span
{
background
:
url(../images/icon.png)
repeat
center
bottom
;
border
:
1px
solid
;
border-color
:
#CCc
#bbb
#A0A0A0
;
border-radius
:
4px
;
color
:
#21759b
;
cursor
:
pointer
;
float
:
left
;
height
:
28px
;
line-height
:
26px
;
margin
:
3px
6px
;
padding
:
0
6px
;
vertical-align
:
top
}
.completed-ck
span
:hover
{
border-color
:
#BBB
}
.completed-ck
span
.selected
{
color
:
#d54121
;
background
:
url(../images/bowknot/completed.png)
no-repeat
right
bottom
}
.dialog-background
{
background-color
:
#000
;
display
:
none
;
filter
:
alpha
(
opacity
=
30
);
height
:
100%
;
left
:
0
;
opacity
:
.3
;
position
:
absolute
;
top
:
0
;
width
:
100%
;
z-index
:
90
}
.dialog-panel
{
display
:
none
;
position
:
absolute
;
z-index
:
100
}
.dialog-title
{
color
:
#fff
;
float
:
left
;
font-size
:
12px
;
line-height
:
27px
;
margin-left
:
3px
}
.dialog-header-bg
{
background
:
url("../images/icon.png")
repeat
scroll
center
bottom
#f1f1f1
;
border-color
:
#c0c0c0
#D9D9D9
#d9d9d9
;
border-radius
:
6px
6px
0
0
;
border-style
:
solid
;
border-width
:
1px
1px
0
;
cursor
:
move
;
height
:
34px
}
.dialog-close-icon
{
background
:
url("../images/bowknot/dialog-close.png")
no-repeat
scroll
0
0
transparent
;
cursor
:
pointer
;
float
:
right
;
height
:
18px
;
margin-top
:
6px
;
padding
:
3px
;
width
:
22px
}
.dialog-close-icon
:hover
{
background-image
:
url("../images/bowknot/dialog-close-hover.png")
}
.dialog-main
{
background-color
:
#fff
;
border
:
2px
solid
#666
;
border-color
:
#c0c0c0
#D9D9D9
#d9d9d9
;
border-top-width
:
0
;
padding
:
12px
}
.paginate-paginate
div
,
.paginate-paginate
a
,
.paginate-pageCount
{
float
:
left
;
height
:
20px
;
line-height
:
20px
;
margin
:
0
5px
;
text-decoration
:
none
}
.pagination-pages
{
background
:
url(../images/icon.png)
repeat
center
bottom
;
border
:
1px
solid
;
border-color
:
#CCc
#bbb
#A0A0A0
;
border-radius
:
4px
;
padding
:
0
6px
;
cursor
:
pointer
;
float
:
left
;
height
:
20px
;
line-height
:
20px
;
margin
:
0
5px
}
.pagination-current-page
{
cursor
:
auto
;
font-weight
:
bold
;
border-color
:
#BBB
}
.paginate-inputPage
{
height
:
14px
;
width
:
24px
}
.table-main
{
margin
:
0
;
padding
:
0
;
position
:
relative
}
.table-main
table
{
word-break
:
break-all
;
word-wrap
:
break-word
}
.table-header
{
border
:
1px
solid
#d0d0d0
;
border-bottom
:
0
;
border-radius
:
6px
6px
0
0
}
.table-header
th
{
height
:
34px
;
line-height
:
34px
;
text-align
:
left
;
text-indent
:
6px
;
font-size
:
14px
;
font-weight
:
normal
;
background
:
url("../images/icon.png")
repeat
scroll
center
bottom
#f1f1f1
}
.table-main
td
{
border-bottom
:
1px
solid
#d0d0d0
;
color
:
#333
;
padding
:
3px
0
}
.table-lineHover
.table-hasExpend
td
{
border-bottom
:
0
}
.table-heiglight
td
,
.table-lineHover
td
{
background-color
:
#f3f3f3
;
border-right-color
:
#f3f3f3
}
.table-expendRow
td
{
padding
:
0
0
5px
36px
}
.table-expendRow
td
span
{
margin-left
:
60px
}
.table-expendRow
td
a
{
background-color
:
#999
;
border-radius
:
3px
;
color
:
#FFF
;
font-size
:
12px
;
margin-right
:
5px
;
padding
:
1px
6px
;
text-decoration
:
none
}
.table-expendRow
td
a
:hover
{
background-color
:
#BBB
}
.table-center
{
margin
:
0
auto
}
.table-upIcon
,
.table-downIcon
{
background-image
:
url("../images/icon.png")
;
cursor
:
pointer
;
float
:
left
;
height
:
16px
;
width
:
16px
;
background-position
:
-81px
-32px
}
.table-upIcon
{
background-position
:
-64px
-32px
;
margin-right
:
6px
}
.table-tag
{
color
:
#d54121
;
font-size
:
12px
;
font-style
:
italic
;
margin-left
:
10px
}
.tip-panel
{
background-color
:
#FFF
;
box-shadow
:
0
3px
10px
#8b8b8b
;
display
:
none
;
max-height
:
500px
;
max-width
:
500px
;
overflow
:
hidden
;
padding
:
3px
;
position
:
absolute
;
z-index
:
1
}
body
,
input
,
textarea
{
font-family
:
"Helvetica Neue"
,
"Luxi Sans"
,
"DejaVu Sans"
,
Tahoma
,
"Hiragino Sans GB"
,
"Microsoft Yahei"
,
sans-serif
}
html
,
body
{
min-width
:
1024px
;
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
.selected
{
background
:
url("../images/bowknot/completed.png")
no-repeat
scroll
right
bottom
transparent
!important
;
color
:
#d54121
!important
;
border-color
:
#b0b5b9
!important
}
@font-face
{
font-family
:
'icomoon'
;
src
:
url('fonts/icomoon.eot?1450')
;
src
:
url('fonts/icomoon.eot?#iefix')
format
(
'embedded-opentype'
),
url('fonts/icomoon.ttf?1450')
format
(
'truetype'
),
url('fonts/icomoon.woff?1450')
format
(
'woff'
),
url('fonts/icomoon.svg#icomoon')
format
(
'svg'
);
font-weight
:
normal
;
font-style
:
normal
}
[
class
^=
"icon-"
],[
class
*=
" icon-"
]
{
font-family
:
'icomoon'
;
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
}
a
[
class
^=
"icon-"
],
a
[
class
*=
" icon-"
]
{
color
:
#333
}
a
[
class
^=
"icon-"
]
:hover
,
a
[
class
*=
" icon-"
]
:hover
{
text-decoration
:
none
;
color
:
#4183c4
}
.icon-upload
:before
{
content
:
"\f0ee"
}
.icon-copy
:before
{
content
:
"\e908"
}
.icon-time
:before
{
content
:
"\e906"
}
.icon-sortasc
:before
{
content
:
"\e905"
}
.icon-locked
:before
{
content
:
"\e61e"
}
.icon-close
:before
{
content
:
"\e909"
}
.icon-points
:before
{
content
:
"\e900"
}
.icon-goods
:before
{
content
:
"\e904"
}
.icon-bold
:before
{
content
:
"\e000"
}
.icon-italic
:before
{
content
:
"\e001"
}
.icon-quote
:before
{
content
:
"\e003"
}
.icon-unordered-list
:before
{
content
:
"\e004"
}
.icon-ordered-list
:before
{
content
:
"\e005"
}
.icon-link
:before
{
content
:
"\e006"
}
.icon-image
:before
{
content
:
"\e007"
}
.icon-play
:before
{
content
:
"\e008"
}
.icon-music
:before
{
content
:
"\e009"
}
.icon-contract
:before
{
content
:
"\e00a"
}
.icon-fullscreen
:before
{
content
:
"\e00b"
}
.icon-question
:before
{
content
:
"\e00c"
}
.icon-info
:before
{
content
:
"\e00d"
}
.icon-undo
:before
{
content
:
"\e00e"
}
.icon-redo
:before
{
content
:
"\e00f"
}
.icon-code
:before
{
content
:
"\e011"
}
.icon-preview
:before
{
content
:
"\e002"
}
.icon-navigation
:before
{
content
:
"\e903"
}
.icon-thumbs-down
:before
{
content
:
"\e901"
}
.icon-thumbs-up
:before
{
content
:
"\e902"
}
.icon-video
:before
{
content
:
"\f057"
}
.icon-feed
:before
{
content
:
"\e61f"
}
.icon-article
:before
{
content
:
"\e61d"
}
.icon-star
:before
{
content
:
"\e600"
}
.icon-register
:before
{
content
:
"\e602"
}
.icon-logout
:before
{
content
:
"\e603"
}
.icon-setting
:before
{
content
:
"\e604"
}
.icon-google
:before
{
content
:
"\e605"
}
.icon-search
:before
{
content
:
"\e606"
}
.icon-weibo
:before
{
content
:
"\e607"
}
.icon-date
:before
{
content
:
"\e608"
}
.icon-view
:before
{
content
:
"\e609"
}
.icon-cmts
:before
{
content
:
"\e60a"
}
.icon-refresh
:before
{
content
:
"\e60b"
}
.icon-up
:before
{
content
:
"\e60c"
}
.icon-twitter
:before
{
content
:
"\e60d"
}
.icon-edit
:before
{
content
:
"\e60e"
}
.icon-tencent
:before
{
content
:
"\e60f"
}
.icon-tag
:before
{
content
:
"\e610"
}
.icon-tags
:before
{
content
:
"\e611"
}
.icon-addfile
:before
{
content
:
"\e612"
}
.icon-login
:before
{
content
:
"\e613"
}
.icon-articles
:before
{
content
:
"\e614"
}
.icon-userrole
:before
{
content
:
"\e615"
}
.icon-email
:before
{
content
:
"\e616"
}
.icon-flag
:before
{
content
:
"\e617"
}
.icon-chevron-down
:before
{
content
:
"\e618"
;
margin-right
:
10px
}
.icon-chevron-up
:before
{
content
:
"\e619"
;
margin-right
:
10px
}
.icon-reply
:before
{
content
:
"\e61a"
}
.icon-clock
:before
{
content
:
"\e61b"
}
.icon-compass
:before
{
content
:
"\e61c"
}
.icon-heart
:before
{
content
:
"\e9da"
}
.icon-wechat
:before
{
content
:
"\e907"
}
.aboutIcon
{
background-position
:
-16px
-48px
}
#allPanel
{
height
:
auto
;
min-height
:
100%
;
position
:
relative
}
#tabsPanel
{
margin
:
50px
0
0
240px
;
padding
:
15px
}
#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_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
,
.15
);
width
:
100%
;
top
:
0
;
background-color
:
#fff
;
z-index
:
1000
}
#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
>
.right
a
{
color
:
#555
;
line-height
:
50px
;
margin
:
0
10px
;
border
:
1px
solid
#f6f6f6
;
background-color
:
#f6f6f6
;
border-radius
:
100px
;
padding
:
10px
;
text-decoration
:
none
}
#top
>
.right
a
:hover
{
color
:
#333
}
#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
:
0
;
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
.3s
ease
}
#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
}
.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
:
#fff
;
color
:
#1fb5ad
}
.sub-tabs-main
{
background-color
:
#fff
;
padding
:
15px
;
border-radius
:
0
0
4px
4px
}
.form
>
div
{
margin
:
15px
0
}
.form
label
{
margin-bottom
:
10px
;
display
:
inline-block
}
.form
input
[
type
=
'text'
],
.form
input
[
type
=
'password'
],
.form
textarea
{
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
}
.form
textarea
{
height
:
auto
}
.form
input
[
type
=
'text'
]
:focus
,
.form
input
[
type
=
'password'
]
:focus
,
.form
textarea
:focus
{
box-shadow
:
none
;
border-color
:
#1fb5ad
}
.form
button
,
.completed-ck
span
{
padding
:
6px
12px
;
margin-bottom
:
0
;
font-size
:
14px
;
font-weight
:
400
;
text-align
:
center
;
white-space
:
nowrap
;
vertical-align
:
middle
;
cursor
:
pointer
;
user-select
:
none
;
background-image
:
none
;
border
:
1px
solid
#1fb5ad
;
border-radius
:
4px
;
background-color
:
#1fb5ad
;
color
:
#fff
;
height
:
auto
;
outline
:
0
}
.form
button
:hover
{
background-color
:
#1ca59e
;
border-color
:
#1ca59e
}
.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
:
#f5f5f5
}
.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
}
button
#submitArticle
,
#unSubmitArticle
{
background-color
:
#fa8564
;
border-color
:
#fa8564
}
button
#submitArticle
:hover
,
#unSubmitArticle
:hover
{
background-color
:
#ec6459
;
border-color
:
#ec6459
}
.CodeMirror
{
border-radius
:
0
0
3px
3px
;
box-shadow
:
0
1px
2px
rgba
(
0
,
0
,
0
,
0.075
)
inset
;
border
:
1px
solid
#ccc
;
margin-bottom
:
20px
;
border-top-width
:
0
;
height
:
470px
}
.comment-content
.CodeMirror
{
height
:
170px
}
#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
#333
;
line-height
:
16px
;
margin
:
24px
12px
;
padding
:
5px
;
text-align
:
center
}
#skinMain
.skinItem.selected
{
background-color
:
#1fb5ad
}
.skinItem
:hover
{
background-color
:
#EEE
}
.f-blue
,
.error-msg
{
color
:
#36c
}
.signs
button
{
margin
:
0
12px
}
#keyOfSolo
{
width
:
200px
}
.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
:
62px
36px
62px
24px
}
.about-margin
{
font-size
:
20px
;
margin
:
20px
0
}
.ico-alipay-me
{
background-image
:
url("../images/alipay-me.png")
;
font-size
:
20px
;
height
:
24px
;
margin
:
20px
0
;
width
:
126px
}
.completed-input
{
margin
:
2px
12px
0
0
}
.completed-panel
{
background-color
:
#ececec
;
border
:
1px
solid
#ccc
;
color
:
#00c
;
display
:
none
;
overflow
:
auto
;
padding
:
2px
;
position
:
absolute
;
z-index
:
10
}
.completed-panel
a
{
display
:
block
;
text-decoration
:
none
}
.completed-panel
a
.selected
{
background-color
:
#fff
;
color
:
#d54121
}
.completed-ck
{
margin-top
:
9px
}
.completed-ck
span
{
margin
:
5px
10px
5px
0
;
display
:
inline-block
;
background-color
:
#c7cbd6
;
border-color
:
#c7cbd6
}
.completed-ck
span
:hover
{
background-color
:
#b0b5b9
;
border-color
:
#b0b5b9
}
.completed-ck
span
.selected
{
color
:
#d54121
;
background
:
url(../images/bowknot/completed.png)
no-repeat
right
bottom
}
.dialog-background
{
background-color
:
#000
;
display
:
none
;
filter
:
alpha
(
opacity
=
30
);
height
:
100%
;
left
:
0
;
opacity
:
.3
;
position
:
absolute
;
top
:
0
;
width
:
100%
;
z-index
:
90
}
.dialog-panel
{
display
:
none
;
position
:
absolute
;
z-index
:
100
}
.dialog-title
{
color
:
#fff
;
float
:
left
;
font-size
:
12px
;
line-height
:
27px
;
margin-left
:
3px
}
.dialog-header-bg
{
background
:
url("../images/icon.png")
repeat
scroll
center
bottom
#f1f1f1
;
border-color
:
#c0c0c0
#D9D9D9
#d9d9d9
;
border-radius
:
6px
6px
0
0
;
border-style
:
solid
;
border-width
:
1px
1px
0
;
cursor
:
move
;
height
:
34px
}
.dialog-close-icon
{
background
:
url("../images/bowknot/dialog-close.png")
no-repeat
scroll
0
0
transparent
;
cursor
:
pointer
;
float
:
right
;
height
:
18px
;
margin-top
:
6px
;
padding
:
3px
;
width
:
22px
}
.dialog-close-icon
:hover
{
background-image
:
url("../images/bowknot/dialog-close-hover.png")
}
.dialog-main
{
background-color
:
#fff
;
border
:
2px
solid
#666
;
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
:
0
}
.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
:
0
}
.table-heiglight
td
,
.table-lineHover
td
{
background-color
:
#f5f5f5
;
border-right-color
:
#f5f5f5
}
.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-upIcon
,
.table-downIcon
{
background-image
:
url("../images/icon.png")
;
cursor
:
pointer
;
float
:
left
;
height
:
16px
;
width
:
16px
;
background-position
:
-81px
-32px
}
.table-upIcon
{
background-position
:
-64px
-32px
;
margin-right
:
6px
}
.table-tag
{
color
:
#d54121
;
font-size
:
12px
;
font-style
:
italic
;
margin-left
:
10px
}
.tip-panel
{
background-color
:
#FFF
;
box-shadow
:
0
3px
10px
#8b8b8b
;
display
:
none
;
max-height
:
500px
;
max-width
:
500px
;
overflow
:
hidden
;
padding
:
3px
;
position
:
absolute
;
z-index
:
1
}
\ No newline at end of file
\ No newline at end of file
src/main/webapp/css/default-base.min.css
View file @
79beb405
...
@@ -13,4 +13,4 @@
...
@@ -13,4 +13,4 @@
* See the License for the specific language governing permissions and
* See the License for the specific language governing permissions and
* limitations under the License.
* limitations under the License.
*/
*/
html
,
body
,
div
,
ul
,
li
,
h1
,
h2
,
h3
,
h4
,
h5
,
h6
,
p
,
dd
,
dl
,
ol
{
margin
:
0
;
padding
:
0
}
body
{
background-color
:
#FFF
;
color
:
#000
;
font-family
:
elvetica
,
Arial
,
'sans-serif'
,
'\5fae\8f6f\96c5\9ed1'
;
font-size
:
small
}
img
{
border
:
medium
none
;
margin
:
0
;
padding
:
0
;
vertical-align
:
middle
}
h1
{
font-size
:
160%
}
h2
{
font-size
:
140%
}
h3
{
font-size
:
120%
}
h4
{
font-size
:
110%
}
textarea
{
overflow
:
auto
}
li
{
margin-left
:
12px
}
button
,
.button
{
background
:
url(../images/icon.png)
repeat
center
bottom
;
border
:
1px
solid
;
border-color
:
#CCc
#bbb
#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
}
.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
:
middle
}
.form
input
.normalInput
{
width
:
auto
}
.form
input
[
type
=
'checkbox'
]
:focus
{
border
:
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
#eee
}
.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
0
}
.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
}
.article-body
{
overflow
:
hidden
;
line-height
:
145%
;
word-wrap
:
break-word
}
.article-body
blockquote
{
border
:
1px
dotted
#98a47f
;
font-style
:
italic
;
margin
:
12px
;
padding
:
12px
}
.article-body
h1
{
font-size
:
2em
;
margin
:
.67em
0
}
.article-body
h2
{
font-size
:
1.5em
;
margin
:
.75em
0
}
.article-body
h3
{
font-size
:
1.17em
;
margin
:
.83em
0
}
.article-body
h4
,
.article-body
p
,
.article-body
blockquote
,
.article-body
ul
,
.article-body
fieldset
,
.article-body
form
,
.article-body
ol
,
.article-body
dl
,
.article-body
dir
,
.article-body
menu
{
margin
:
1.12em
0
}
.article-body
h5
{
font-size
:
.83em
;
margin
:
1.5em
0
}
.article-body
h6
{
font-size
:
.75em
;
margin
:
1.67em
0
}
.article-body
blockquote
{
margin-left
:
40px
;
margin-right
:
40px
}
.article-body
ol
,
.article-body
ul
,
.article-body
dir
,
.article-body
menu
,
.article-body
dd
{
margin-left
:
40px
}
.em00
,
.em01
,
.em02
,
.em03
,
.em04
,
.em05
,
.em06
,
.em07
,
.em08
,
.em09
,
.em10
,
.em11
,
.em12
,
.em13
,
.em14
{
background-image
:
url("../images/emotions/classic/emotions-classic.png")
;
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
:
0
-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
#555
}
#tags
a
{
border-radius
:
3px
3px
3px
3px
;
box-shadow
:
1px
1px
3px
#555
;
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
,
body
,
div
,
ul
,
li
,
h1
,
h2
,
h3
,
h4
,
h5
,
h6
,
p
,
dd
,
dl
,
ol
{
margin
:
0
;
padding
:
0
}
body
{
background-color
:
#FFF
;
color
:
#000
;
font-family
:
elvetica
,
Arial
,
'sans-serif'
,
'\5fae\8f6f\96c5\9ed1'
;
font-size
:
small
}
img
{
border
:
medium
none
;
margin
:
0
;
padding
:
0
;
vertical-align
:
middle
}
h1
{
font-size
:
160%
}
h2
{
font-size
:
140%
}
h3
{
font-size
:
120%
}
h4
{
font-size
:
110%
}
textarea
{
overflow
:
auto
}
li
{
margin-left
:
12px
}
button
,
.button
{
background
:
url(../images/icon.png)
repeat
center
bottom
;
border
:
1px
solid
;
border-color
:
#CCc
#bbb
#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
}
.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
:
middle
}
.form
input
.normalInput
{
width
:
auto
}
.form
input
[
type
=
'checkbox'
]
:focus
{
border
:
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
#eee
}
.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
0
}
.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
}
.article-body
{
overflow
:
hidden
;
line-height
:
145%
;
word-wrap
:
break-word
}
.article-body
blockquote
{
border
:
1px
dotted
#98a47f
;
font-style
:
italic
;
margin
:
12px
;
padding
:
12px
}
.article-body
h1
{
font-size
:
2em
;
margin
:
.67em
0
}
.article-body
h2
{
font-size
:
1.5em
;
margin
:
.75em
0
}
.article-body
h3
{
font-size
:
1.17em
;
margin
:
.83em
0
}
.article-body
h4
,
.article-body
p
,
.article-body
blockquote
,
.article-body
ul
,
.article-body
fieldset
,
.article-body
form
,
.article-body
ol
,
.article-body
dl
,
.article-body
dir
,
.article-body
menu
{
margin
:
1.12em
0
}
.article-body
h5
{
font-size
:
.83em
;
margin
:
1.5em
0
}
.article-body
h6
{
font-size
:
.75em
;
margin
:
1.67em
0
}
.article-body
blockquote
{
margin-left
:
40px
;
margin-right
:
40px
}
.article-body
ol
,
.article-body
ul
,
.article-body
dir
,
.article-body
menu
,
.article-body
dd
{
margin-left
:
40px
}
.em00
,
.em01
,
.em02
,
.em03
,
.em04
,
.em05
,
.em06
,
.em07
,
.em08
,
.em09
,
.em10
,
.em11
,
.em12
,
.em13
,
.em14
{
background-image
:
url("../images/emotions/classic/emotions-classic.png")
;
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
:
0
-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
#555
}
#tags
a
{
border-radius
:
3px
3px
3px
3px
;
box-shadow
:
1px
1px
3px
#555
;
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
}
\ No newline at end of file
\ No newline at end of file
src/main/webapp/js/admin/latkeAdmin.js
View file @
79beb405
...
@@ -17,9 +17,9 @@
...
@@ -17,9 +17,9 @@
* @description index for admin
* @description index for admin
*
*
* @author <a href="http://vanessa.b3log.org">Liyuan Li</a>
* @author <a href="http://vanessa.b3log.org">Liyuan Li</a>
* @version 1.0.
2.2, May 28
, 2013
* @version 1.0.
3.2, Sep 2
, 2013
*/
*/
var
Admin
=
function
()
{
var
Admin
=
function
()
{
this
.
register
=
{};
this
.
register
=
{};
// 工具栏下的工具
// 工具栏下的工具
this
.
tools
=
[
'
#page-list
'
,
'
#file-list
'
,
'
#link-list
'
,
'
#preference
'
,
this
.
tools
=
[
'
#page-list
'
,
'
#file-list
'
,
'
#link-list
'
,
'
#preference
'
,
...
@@ -33,13 +33,13 @@ $.extend(Admin.prototype, {
...
@@ -33,13 +33,13 @@ $.extend(Admin.prototype, {
/**
/**
* @description 登出
* @description 登出
*/
*/
logout
:
function
()
{
logout
:
function
()
{
window
.
location
.
href
=
latkeConfig
.
servePath
+
"
/logout?goto=
"
+
latkeConfig
.
servePath
;
window
.
location
.
href
=
latkeConfig
.
servePath
+
"
/logout?goto=
"
+
latkeConfig
.
servePath
;
},
},
/**
/**
* @description 清除提示
* @description 清除提示
*/
*/
clearTip
:
function
()
{
clearTip
:
function
()
{
$
(
"
#tipMsg
"
).
text
(
""
);
$
(
"
#tipMsg
"
).
text
(
""
);
$
(
"
#loadMsg
"
).
text
(
""
);
$
(
"
#loadMsg
"
).
text
(
""
);
},
},
...
@@ -47,7 +47,7 @@ $.extend(Admin.prototype, {
...
@@ -47,7 +47,7 @@ $.extend(Admin.prototype, {
* @description 根据当前页数设置 hash
* @description 根据当前页数设置 hash
* @param {Int} currentPage 当前页
* @param {Int} currentPage 当前页
*/
*/
setHashByPage
:
function
(
currentPage
)
{
setHashByPage
:
function
(
currentPage
)
{
var
hash
=
window
.
location
.
hash
,
var
hash
=
window
.
location
.
hash
,
hashList
=
hash
.
split
(
"
/
"
);
hashList
=
hash
.
split
(
"
/
"
);
if
(
/^
\d
*$/
.
test
(
hashList
[
hashList
.
length
-
1
]))
{
if
(
/^
\d
*$/
.
test
(
hashList
[
hashList
.
length
-
1
]))
{
...
@@ -61,13 +61,13 @@ $.extend(Admin.prototype, {
...
@@ -61,13 +61,13 @@ $.extend(Admin.prototype, {
* @description 设置某个 tab 被选择
* @description 设置某个 tab 被选择
* @param {Stirng} id id tab id
* @param {Stirng} id id tab id
*/
*/
selectTab
:
function
(
id
)
{
selectTab
:
function
(
id
)
{
window
.
location
.
hash
=
"
#
"
+
id
;
window
.
location
.
hash
=
"
#
"
+
id
;
},
},
/**
/**
* @description 根据当前 hash 解析出当前页数及 hash 数组。
* @description 根据当前 hash 解析出当前页数及 hash 数组。
*/
*/
analyseHash
:
function
()
{
analyseHash
:
function
()
{
var
hash
=
window
.
location
.
hash
;
var
hash
=
window
.
location
.
hash
;
var
tag
=
hash
.
substr
(
1
,
hash
.
length
-
1
);
var
tag
=
hash
.
substr
(
1
,
hash
.
length
-
1
);
var
tagList
=
tag
.
split
(
"
/
"
);
var
tagList
=
tag
.
split
(
"
/
"
);
...
@@ -86,7 +86,8 @@ $.extend(Admin.prototype, {
...
@@ -86,7 +86,8 @@ $.extend(Admin.prototype, {
/**
/**
* @description 根据当前 hash 设置当前 tab
* @description 根据当前 hash 设置当前 tab
*/
*/
setCurByHash
:
function
()
{
setCurByHash
:
function
()
{
$
(
window
).
scrollTop
(
0
);
$
(
"
#tipMsg
"
).
text
(
""
);
$
(
"
#tipMsg
"
).
text
(
""
);
var
tags
=
admin
.
analyseHash
();
var
tags
=
admin
.
analyseHash
();
var
tab
=
tags
.
hashList
[
1
],
var
tab
=
tags
.
hashList
[
1
],
...
@@ -103,7 +104,7 @@ $.extend(Admin.prototype, {
...
@@ -103,7 +104,7 @@ $.extend(Admin.prototype, {
if
(
tab
!==
"
article
"
)
{
if
(
tab
!==
"
article
"
)
{
admin
.
article
.
clearDraftTimer
();
admin
.
article
.
clearDraftTimer
();
}
else
if
(
tab
===
"
article
"
)
{
}
else
if
(
tab
===
"
article
"
)
{
admin
.
article
.
autoSaveDraftTimer
=
setInterval
(
function
()
{
admin
.
article
.
autoSaveDraftTimer
=
setInterval
(
function
()
{
admin
.
article
.
_autoSaveToDraft
();
admin
.
article
.
_autoSaveToDraft
();
},
admin
.
article
.
AUTOSAVETIME
);
},
admin
.
article
.
AUTOSAVETIME
);
}
}
...
@@ -157,7 +158,7 @@ $.extend(Admin.prototype, {
...
@@ -157,7 +158,7 @@ $.extend(Admin.prototype, {
if
(
$
(
"
#tabsPanel_
"
+
tab
).
length
===
1
)
{
if
(
$
(
"
#tabsPanel_
"
+
tab
).
length
===
1
)
{
if
(
$
(
"
#tabsPanel_
"
+
tab
).
html
().
replace
(
/
\s
/g
,
""
)
===
""
)
{
if
(
$
(
"
#tabsPanel_
"
+
tab
).
html
().
replace
(
/
\s
/g
,
""
)
===
""
)
{
// 还未加载 HTML
// 还未加载 HTML
$
(
"
#tabsPanel_
"
+
tab
).
load
(
"
admin-
"
+
tab
+
"
.do
"
,
function
()
{
$
(
"
#tabsPanel_
"
+
tab
).
load
(
"
admin-
"
+
tab
+
"
.do
"
,
function
()
{
// 页面加载完后,回调初始函数
// 页面加载完后,回调初始函数
if
(
tab
===
"
article
"
&&
admin
.
article
.
status
.
id
)
{
if
(
tab
===
"
article
"
&&
admin
.
article
.
status
.
id
)
{
// 当文章页面编辑器未初始化时,调用更新文章需先初始化编辑器
// 当文章页面编辑器未初始化时,调用更新文章需先初始化编辑器
...
@@ -202,7 +203,7 @@ $.extend(Admin.prototype, {
...
@@ -202,7 +203,7 @@ $.extend(Admin.prototype, {
/**
/**
* @description 初始化整个后台
* @description 初始化整个后台
*/
*/
init
:
function
()
{
init
:
function
()
{
//window.onerror = Util.error;
//window.onerror = Util.error;
Util
.
killIE
();
Util
.
killIE
();
...
@@ -212,9 +213,9 @@ $.extend(Admin.prototype, {
...
@@ -212,9 +213,9 @@ $.extend(Admin.prototype, {
$
(
"
#tabs
"
).
tabs
();
$
(
"
#tabs
"
).
tabs
();
// tipMsg
// tipMsg
setInterval
(
function
()
{
setInterval
(
function
()
{
if
(
$
(
"
#tipMsg
"
).
text
()
!==
""
)
{
if
(
$
(
"
#tipMsg
"
).
text
()
!==
""
)
{
setTimeout
(
function
()
{
setTimeout
(
function
()
{
$
(
"
#tipMsg
"
).
text
(
""
);
$
(
"
#tipMsg
"
).
text
(
""
);
},
7000
);
},
7000
);
}
}
...
@@ -225,20 +226,25 @@ $.extend(Admin.prototype, {
...
@@ -225,20 +226,25 @@ $.extend(Admin.prototype, {
* @description tools and article collapse
* @description tools and article collapse
* @param {Bom} it 触发事件对象
* @param {Bom} it 触发事件对象
*/
*/
collapseNav
:
function
(
it
)
{
collapseNav
:
function
(
it
)
{
var
subNav
=
$
(
it
).
next
();
var
subNav
=
$
(
it
).
next
();
subNav
.
slideToggle
(
"
normal
"
,
function
()
{
subNav
.
slideToggle
(
"
normal
"
,
function
()
{
if
(
this
.
style
.
display
!==
"
none
"
)
{
if
(
this
.
style
.
display
!==
"
none
"
)
{
$
(
it
).
find
(
"
.ico-arrow-down
"
)[
0
].
className
=
"
ico-arrow-up
"
;
$
(
it
).
find
(
"
.icon-chevron-down
"
)[
0
].
className
=
"
icon-chevron-up right
"
;
$
(
it
).
addClass
(
'
tab-current
'
);
}
else
{
}
else
{
$
(
it
).
find
(
"
.ico-arrow-up
"
)[
0
].
className
=
"
ico-arrow-down
"
;
$
(
it
).
find
(
"
.icon-chevron-up
"
)[
0
].
className
=
"
icon-chevron-down right
"
;
$
(
it
).
removeClass
(
'
tab-current
'
);
}
}
$
(
'
#tabs > ul
'
).
height
(
'
auto
'
);
$
(
'
#tabs > ul
'
).
height
(
$
(
'
#tabs > ul
'
).
height
()
+
80
);
});
});
},
},
/**
/**
* @description 后台及当前页面所需插件初始化完后,对权限进行控制及当前页面属于 tools 时,tools 选项需展开。
* @description 后台及当前页面所需插件初始化完后,对权限进行控制及当前页面属于 tools 时,tools 选项需展开。
*/
*/
inited
:
function
()
{
inited
:
function
()
{
// Removes functions with the current user role
// Removes functions with the current user role
if
(
Label
.
userRole
!==
"
adminRole
"
)
{
if
(
Label
.
userRole
!==
"
adminRole
"
)
{
for
(
var
i
=
0
;
i
<
this
.
adTools
.
length
;
i
++
)
{
for
(
var
i
=
0
;
i
<
this
.
adTools
.
length
;
i
++
)
{
...
@@ -606,8 +612,17 @@ admin.editors.KindEditor = {
...
@@ -606,8 +612,17 @@ admin.editors.KindEditor = {
*
*
* @author <a href="http://vanessa.b3log.org">Liyuan Li</a>
* @author <a href="http://vanessa.b3log.org">Liyuan Li</a>
* @author <a href="http://88250.b3log.org">Liang Ding</a>
* @author <a href="http://88250.b3log.org">Liang Ding</a>
* @version 1.
1.1.4, Aug 13, 2015
* @version 1.
2.1.4, Aug 26, 2016
*/
*/
Util
.
processClipBoard
=
function
(
text
,
cm
)
{
var
text
=
toMarkdown
(
text
,
{
converters
:
[
],
gfm
:
true
});
// ascii 160 替换为 30
text
=
$
(
'
<div>
'
+
text
+
'
</div>
'
).
text
().
replace
(
/
\n{2,}
/g
,
'
\n\n
'
).
replace
(
/ /g
,
'
'
);
return
$
.
trim
(
text
);
};
admin
.
editors
.
CodeMirror
=
{
admin
.
editors
.
CodeMirror
=
{
/*
/*
* @description 初始化编辑器
* @description 初始化编辑器
...
@@ -620,124 +635,38 @@ admin.editors.CodeMirror = {
...
@@ -620,124 +635,38 @@ admin.editors.CodeMirror = {
* @returns {obj} editor
* @returns {obj} editor
*/
*/
init
:
function
(
conf
)
{
init
:
function
(
conf
)
{
var
it
=
this
;
// load preview and clear
var
previewHTML
=
"
<div class='clear'></div>
"
;
if
(
conf
.
kind
!==
"
simple
"
)
{
previewHTML
=
"
<div class='markdown-preivew'>
"
+
"
<div class='markdown-help ico-close'></div>
"
+
"
<div class='clear'></div>
"
+
"
<div class='markdown-preview-main none'></div>
"
+
"
<div class='markdown-help-main'>
"
+
Label
.
markdownHelpLabel
+
"
</div>
"
+
"
</div><div class='clear'></div>
"
;
}
$
(
"
#
"
+
conf
.
id
).
after
(
previewHTML
);
// init codemirror
// init codemirror
if
(
conf
.
kind
===
"
simple
"
)
{
var
commentEditor
=
new
CodeMirrorEditor
(
{
this
[
conf
.
id
]
=
CodeMirror
.
fromTextArea
(
document
.
getElementById
(
conf
.
id
),
{
element
:
document
.
getElementById
(
conf
.
id
),
mode
:
'
markdown
'
,
dragDrop
:
false
,
lineWrapping
:
true
,
lineWrapping
:
true
,
lineNumbers
:
true
,
toolbar
:
[
matchBrackets
:
true
,
{
name
:
'
bold
'
},
theme
:
"
default
"
,
{
name
:
'
italic
'
},
height
:
conf
.
height
'
|
'
,
});
{
name
:
'
link
'
},
}
else
{
{
name
:
'
quote
'
},
// preview 执行队列
{
name
:
'
unordered-list
'
},
it
[
conf
.
id
+
"
Timers
"
]
=
[];
{
name
:
'
ordered-list
'
},
'
|
'
,
// 该编辑器是否第一次触发 preivew 事件
{
name
:
'
redo
'
},
it
[
conf
.
id
+
"
IsFirst
"
]
=
true
;
{
name
:
'
undo
'
},
'
|
'
,
var
$preview
=
$
(
"
#
"
+
conf
.
id
).
parent
().
find
(
"
.markdown-preivew
"
),
{
name
:
'
preview
'
}
$help
=
$
(
"
#
"
+
conf
.
id
).
parent
().
find
(
"
.markdown-preivew
"
).
find
(
"
.markdown-help
"
);
],
this
[
conf
.
id
]
=
CodeMirror
.
fromTextArea
(
document
.
getElementById
(
conf
.
id
),
{
extraKeys
:
{
mode
:
'
markdown
'
,
"
Ctrl-/
"
:
"
autocompleteEmoji
"
lineWrapping
:
true
,
},
lineNumbers
:
true
,
status
:
false
matchBrackets
:
true
,
theme
:
"
default
"
,
height
:
conf
.
height
,
onUpdate
:
function
()
{
var
update
=
function
()
{
if
(
it
[
conf
.
id
].
getValue
()
===
""
)
{
return
;
}
$
.
ajax
({
url
:
latkeConfig
.
servePath
+
"
/console/markdown/2html
"
,
type
:
"
POST
"
,
cache
:
false
,
data
:
JSON
.
stringify
({
markdownText
:
it
[
conf
.
id
].
getValue
()}),
success
:
function
(
data
,
textStatus
)
{
if
(
data
.
sc
)
{
if
(
it
[
conf
.
id
+
"
IsFirst
"
]
&&
$help
.
hasClass
(
"
ico-close
"
))
{
$help
.
click
();
}
it
[
conf
.
id
+
"
IsFirst
"
]
=
false
;
$preview
.
find
(
"
.markdown-preview-main
"
).
html
(
data
.
html
);
}
else
{
$preview
.
find
(
"
.markdown-preview-main
"
).
html
(
data
.
msg
);
}
}
});
}
it
[
conf
.
id
+
"
Timers
"
].
push
(
update
);
}
});
});
commentEditor
.
render
();
this
.
_callPreview
(
conf
.
id
,
it
[
conf
.
id
+
"
Timers
"
]);
this
[
conf
.
id
]
=
commentEditor
.
codemirror
;
}
if
(
conf
.
kind
===
"
simple
"
)
{
// 摘要不需要 preview,设置其宽度
$
(
"
#
"
+
conf
.
id
).
next
().
width
(
"
99%
"
);
}
else
{
// 有 preview 时,绑定 preview 事件
this
.
_bindEvent
(
conf
.
id
);
}
// after render, call back function
// after render, call back function
if
(
typeof
(
conf
.
fun
)
===
"
function
"
)
{
if
(
typeof
(
conf
.
fun
)
===
"
function
"
)
{
conf
.
fun
();
conf
.
fun
();
}
}
},
},
/*
* @description 当有更新时每隔3秒 preview
* @param {string} id 编辑器 id
*/
_callPreview
:
function
(
id
)
{
setInterval
(
function
()
{
var
timers
=
admin
.
editors
.
CodeMirror
[
id
+
"
Timers
"
];
$
(
document
).
queue
(
"
myAnimation
"
,
[
timers
[
timers
.
length
-
1
]]);
$
(
document
).
dequeue
(
"
myAnimation
"
);
admin
.
editors
.
CodeMirror
[
id
+
"
Timers
"
]
=
[];
},
2000
);
},
/*
* @description 绑定编辑器 preview 事件
* @param {string} id 编辑器id
*/
_bindEvent
:
function
(
id
)
{
var
$preview
=
$
(
"
#
"
+
id
).
parent
().
find
(
"
.markdown-preivew
"
);
$preview
.
find
(
"
.markdown-help
"
).
click
(
function
()
{
var
$it
=
$
(
this
);
if
(
$it
.
hasClass
(
"
ico-help
"
))
{
$it
.
removeClass
(
"
ico-help
"
).
addClass
(
"
ico-close
"
);
$preview
.
find
(
"
.markdown-preview-main
"
).
hide
();
$preview
.
find
(
"
.markdown-help-main
"
).
show
();
}
else
{
$it
.
addClass
(
"
ico-help
"
).
removeClass
(
"
ico-close
"
);
$preview
.
find
(
"
.markdown-preview-main
"
).
show
();
$preview
.
find
(
"
.markdown-help-main
"
).
hide
();
}
});
},
/*
/*
* @description 获取编辑器值
* @description 获取编辑器值
* @param {string} id 编辑器id
* @param {string} id 编辑器id
...
@@ -762,7 +691,7 @@ admin.editors.CodeMirror = {
...
@@ -762,7 +691,7 @@ admin.editors.CodeMirror = {
*/
*/
remove
:
function
(
id
)
{
remove
:
function
(
id
)
{
this
[
id
].
toTextArea
();
this
[
id
].
toTextArea
();
$
(
"
.markdown-preivew
"
).
remove
();
$
(
'
.editor-toolbar
'
).
remove
();
}
}
};
/*
};
/*
* Copyright (c) 2010-2016, b3log.org & hacpai.com
* Copyright (c) 2010-2016, b3log.org & hacpai.com
...
@@ -825,8 +754,8 @@ $.extend(TablePaginate.prototype, {
...
@@ -825,8 +754,8 @@ $.extend(TablePaginate.prototype, {
},
},
"
currentPage
"
:
1
,
"
currentPage
"
:
1
,
"
errorMessage
"
:
Label
.
inputErrorLabel
,
"
errorMessage
"
:
Label
.
inputErrorLabel
,
"
nextPageText
"
:
Label
.
nextPagePabel
,
"
nextPageText
"
:
'
>
'
,
"
previousPageText
"
:
Label
.
previousPageLabel
,
"
previousPageText
"
:
'
<
'
,
"
goText
"
:
Label
.
gotoLabel
,
"
goText
"
:
Label
.
gotoLabel
,
"
type
"
:
"
custom
"
,
"
type
"
:
"
custom
"
,
"
custom
"
:
[
1
],
"
custom
"
:
[
1
],
...
@@ -1263,42 +1192,11 @@ admin.article = {
...
@@ -1263,42 +1192,11 @@ admin.article = {
*/
*/
init
:
function
(
fun
)
{
init
:
function
(
fun
)
{
this
.
currentEditorType
=
Label
.
editorType
;
this
.
currentEditorType
=
Label
.
editorType
;
// Inits Signs.
$
.
ajax
({
url
:
latkeConfig
.
servePath
+
"
/console/signs/
"
,
type
:
"
GET
"
,
cache
:
false
,
success
:
function
(
result
,
textStatus
)
{
$
(
"
#tipMsg
"
).
text
(
result
.
msg
);
if
(
!
result
.
sc
)
{
$
(
"
#loadMsg
"
).
text
(
""
);
return
;
}
$
(
"
.signs button
"
).
each
(
function
(
i
)
{
// Inits Signs.
// Sets signs.
$
(
"
.signs button
"
).
click
(
function
(
i
)
{
if
(
i
===
result
.
signs
.
length
)
{
$
(
"
.signs button
"
).
removeClass
(
'
selected
'
);
$
(
"
#articleSign1
"
).
addClass
(
"
selected
"
);
$
(
this
).
addClass
(
'
selected
'
);
}
else
{
$
(
"
#articleSign
"
+
result
.
signs
[
i
].
oId
).
tip
({
content
:
result
.
signs
[
i
].
signHTML
===
""
?
Label
.
signIsNullLabel
:
result
.
signs
[
i
].
signHTML
.
replace
(
/
\n
/g
,
""
).
replace
(
/<script.*<
\/
script>/ig
,
""
),
position
:
"
top
"
});
}
// Binds checkbox event.
$
(
this
).
click
(
function
()
{
if
(
this
.
className
!==
"
selected
"
)
{
$
(
"
.signs button
"
).
each
(
function
()
{
this
.
className
=
""
;
});
this
.
className
=
"
selected
"
;
}
});
});
$
(
"
#loadMsg
"
).
text
(
""
);
}
});
});
// For tag auto-completion
// For tag auto-completion
...
@@ -1339,8 +1237,8 @@ admin.article = {
...
@@ -1339,8 +1237,8 @@ admin.article = {
}
else
{
}
else
{
admin
.
article
.
add
(
true
);
admin
.
article
.
add
(
true
);
}
}
}
);
}
);
$
(
"
#saveArticle
"
).
click
(
function
()
{
$
(
"
#saveArticle
"
).
click
(
function
()
{
if
(
admin
.
article
.
status
.
id
)
{
if
(
admin
.
article
.
status
.
id
)
{
admin
.
article
.
update
(
admin
.
article
.
status
.
isArticle
);
admin
.
article
.
update
(
admin
.
article
.
status
.
isArticle
);
...
@@ -1575,16 +1473,17 @@ admin.register.article = {
...
@@ -1575,16 +1473,17 @@ admin.register.article = {
function
getUUID
()
{
function
getUUID
()
{
var
d
=
new
Date
().
getTime
();
var
d
=
new
Date
().
getTime
();
var
ret
=
'
xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx
'
.
replace
(
/
[
xy
]
/g
,
function
(
c
)
{
var
ret
=
'
xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx
'
.
replace
(
/
[
xy
]
/g
,
function
(
c
)
{
var
r
=
(
d
+
Math
.
random
()
*
16
)
%
16
|
0
;
var
r
=
(
d
+
Math
.
random
()
*
16
)
%
16
|
0
;
d
=
Math
.
floor
(
d
/
16
);
d
=
Math
.
floor
(
d
/
16
);
return
(
c
==
'
x
'
?
r
:
(
r
&
0x3
|
0x8
)).
toString
(
16
);
return
(
c
==
'
x
'
?
r
:
(
r
&
0x3
|
0x8
)).
toString
(
16
);
});
});
ret
=
ret
.
replace
(
new
RegExp
(
"
-
"
,
'
g
'
),
""
);
ret
=
ret
.
replace
(
new
RegExp
(
"
-
"
,
'
g
'
),
""
);
return
ret
;
return
ret
;
};
}
;
/*
/*
* Copyright (c) 2010-2016, b3log.org & hacpai.com
* Copyright (c) 2010-2016, b3log.org & hacpai.com
*
*
...
@@ -1735,7 +1634,7 @@ admin.comment = {
...
@@ -1735,7 +1634,7 @@ admin.comment = {
*
*
* @author <a href="http://vanessa.b3log.org">Liyuan Li</a>
* @author <a href="http://vanessa.b3log.org">Liyuan Li</a>
* @author <a href="http://88250.b3log.org">Liang Ding</a>
* @author <a href="http://88250.b3log.org">Liang Ding</a>
* @version 1.0.
1.5, May 28, 2013
* @version 1.0.
2.5, Aug 23, 2016
*/
*/
/* article-list 相关操作 */
/* article-list 相关操作 */
...
@@ -1799,7 +1698,7 @@ admin.articleList = {
...
@@ -1799,7 +1698,7 @@ admin.articleList = {
articleData
=
[];
articleData
=
[];
for
(
var
i
=
0
;
i
<
articles
.
length
;
i
++
)
{
for
(
var
i
=
0
;
i
<
articles
.
length
;
i
++
)
{
articleData
[
i
]
=
{};
articleData
[
i
]
=
{};
articleData
[
i
].
title
=
"
<a href=
'
"
+
latkeConfig
.
servePath
+
articles
[
i
].
articlePermalink
+
"
'
target='_blank' title='
"
+
articles
[
i
].
articleTitle
+
"
' class='no-underline'>
"
articleData
[
i
].
title
=
"
<a href=
\"
"
+
latkeConfig
.
servePath
+
articles
[
i
].
articlePermalink
+
"
\"
target='_blank' title='
"
+
articles
[
i
].
articleTitle
+
"
' class='no-underline'>
"
+
articles
[
i
].
articleTitle
+
"
</a><span class='table-tag'>
"
+
articles
[
i
].
articleTags
+
"
</span>
"
;
+
articles
[
i
].
articleTitle
+
"
</a><span class='table-tag'>
"
+
articles
[
i
].
articleTags
+
"
</span>
"
;
articleData
[
i
].
date
=
$
.
bowknot
.
getDate
(
articles
[
i
].
articleCreateTime
);
articleData
[
i
].
date
=
$
.
bowknot
.
getDate
(
articles
[
i
].
articleCreateTime
);
articleData
[
i
].
comments
=
articles
[
i
].
articleCommentCount
;
articleData
[
i
].
comments
=
articles
[
i
].
articleCommentCount
;
...
@@ -3020,10 +2919,6 @@ admin.preference = {
...
@@ -3020,10 +2919,6 @@ admin.preference = {
var
signs
=
eval
(
'
(
'
+
preference
.
signs
+
'
)
'
);
var
signs
=
eval
(
'
(
'
+
preference
.
signs
+
'
)
'
);
for
(
var
j
=
1
;
j
<
signs
.
length
;
j
++
)
{
for
(
var
j
=
1
;
j
<
signs
.
length
;
j
++
)
{
$
(
"
#preferenceSign
"
+
j
).
val
(
signs
[
j
].
signHTML
);
$
(
"
#preferenceSign
"
+
j
).
val
(
signs
[
j
].
signHTML
);
$
(
"
#preferenceSignButton
"
+
j
).
tip
({
content
:
signs
[
j
].
signHTML
===
""
?
Label
.
signIsNullLabel
:
signs
[
j
].
signHTML
.
replace
(
/
\n
/g
,
""
).
replace
(
/<script.*<
\/
script>/ig
,
""
),
position
:
"
bottom
"
});
}
}
$
(
"
#articleListDisplay
"
).
val
(
preference
.
articleListStyle
);
$
(
"
#articleListDisplay
"
).
val
(
preference
.
articleListStyle
);
...
@@ -3508,7 +3403,7 @@ admin.userList = {
...
@@ -3508,7 +3403,7 @@ admin.userList = {
}
else
{
}
else
{
userData
[
i
].
expendRow
=
"
<a href='javascript:void(0)' onclick=
\"
admin.userList.get('
"
+
userData
[
i
].
expendRow
=
"
<a href='javascript:void(0)' onclick=
\"
admin.userList.get('
"
+
users
[
i
].
oId
+
"
', '
"
+
users
[
i
].
userRole
+
"
')
\"
>
"
+
Label
.
updateLabel
+
"
</a>
\
users
[
i
].
oId
+
"
', '
"
+
users
[
i
].
userRole
+
"
')
\"
>
"
+
Label
.
updateLabel
+
"
</a>
\
<a href='javascript:void(0)' onclick=
\"
admin.userList.del('
"
+
users
[
i
].
oId
+
"
', '
"
+
users
[
i
].
userName
+
"
')
\"
>
"
+
Label
.
removeLabel
+
"
</a>
"
+
<a href='javascript:void(0)' onclick=
\"
admin.userList.del('
"
+
users
[
i
].
oId
+
"
', '
"
+
users
[
i
].
userName
+
"
')
\"
>
"
+
Label
.
removeLabel
+
"
</a>
"
+
"
<a href='javascript:void(0)' onclick=
\"
admin.userList.changeRole('
"
+
users
[
i
].
oId
+
"
')
\"
>
"
+
Label
.
changeRoleLabel
+
"
</a>
"
;
"
<a href='javascript:void(0)' onclick=
\"
admin.userList.changeRole('
"
+
users
[
i
].
oId
+
"
')
\"
>
"
+
Label
.
changeRoleLabel
+
"
</a>
"
;
if
(
"
defaultRole
"
===
users
[
i
].
userRole
)
{
if
(
"
defaultRole
"
===
users
[
i
].
userRole
)
{
userData
[
i
].
isAdmin
=
Label
.
commonUserLabel
;
userData
[
i
].
isAdmin
=
Label
.
commonUserLabel
;
...
@@ -3759,9 +3654,7 @@ admin.userList = {
...
@@ -3759,9 +3654,7 @@ admin.userList = {
admin
.
register
[
"
user-list
"
]
=
{
admin
.
register
[
"
user-list
"
]
=
{
"
obj
"
:
admin
.
userList
,
"
obj
"
:
admin
.
userList
,
"
init
"
:
admin
.
userList
.
init
,
"
init
"
:
admin
.
userList
.
init
,
"
refresh
"
:
function
()
{
"
refresh
"
:
admin
.
userList
.
getList
admin
.
clearTip
();
}
}
/*
}
/*
* Copyright (c) 2010-2016, b3log.org & hacpai.com
* Copyright (c) 2010-2016, b3log.org & hacpai.com
*
*
...
...
src/main/webapp/js/admin/latkeAdmin.min.js
View file @
79beb405
This source diff could not be displayed because it is too large. You can
view the blob
instead.
src/main/webapp/skins/mobile/js/l10n.min.js
View file @
79beb405
/*
* Copyright (c) 2010-2016, b3log.org & hacpai.com
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
function
convertEntities
(
t
){
var
e
,
n
;
if
(
e
=
function
(
t
){
if
(
/&
[^
;
]
+;/
.
test
(
t
)){
var
e
=
document
.
createElement
(
"
div
"
);
return
e
.
innerHTML
=
t
,
e
.
firstChild
?
e
.
firstChild
.
nodeValue
:
t
}
return
t
},
"
string
"
==
typeof
t
)
return
e
(
t
);
if
(
"
object
"
==
typeof
t
)
for
(
n
in
t
)
"
string
"
==
typeof
t
[
n
]
&&
(
t
[
n
]
=
e
(
t
[
n
]));
return
t
}
function
convertEntities
(
t
){
var
e
,
n
;
if
(
e
=
function
(
t
){
if
(
/&
[^
;
]
+;/
.
test
(
t
)){
var
e
=
document
.
createElement
(
"
div
"
);
return
e
.
innerHTML
=
t
,
e
.
firstChild
?
e
.
firstChild
.
nodeValue
:
t
}
return
t
},
"
string
"
==
typeof
t
)
return
e
(
t
);
if
(
"
object
"
==
typeof
t
)
for
(
n
in
t
)
"
string
"
==
typeof
t
[
n
]
&&
(
t
[
n
]
=
e
(
t
[
n
]));
return
t
}
\ No newline at end of file
src/main/webapp/skins/next/css/next.min.css
View file @
79beb405
/**
* Copyright (c) 2010-2016, b3log.org & hacpai.com
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
@charset
"utf-8"
;
a
,
body
{
color
:
#555
}
.post-body
,
ul
.comments
li
{
word-wrap
:
break-word
}
html
{
background-color
:
#f5f5f5
}
body
{
margin
:
0
;
font-family
:
Lato
,
"PingFang SC"
,
"Microsoft YaHei"
,
sans-serif
;
font-size
:
14px
;
background
:
#fff
}
a
{
text-decoration
:
none
;
border-bottom
:
1px
solid
#999
}
a
:active
,
a
:hover
{
outline
:
0
}
a
:hover
{
color
:
#222
;
border-bottom-color
:
#222
}
hr
{
margin
:
40px
0
;
height
:
3px
;
border
:
none
;
background-color
:
#ddd
;
background-image
:
repeating-linear-gradient
(
-45deg
,
#fff
,
#fff
4px
,
transparent
4px
,
transparent
8px
)}
blockquote
{
padding
:
0
15px
;
color
:
#666
;
border-left
:
4px
solid
#ddd
}
img
{
max-width
:
100%
;
height
:
auto
}
.fn-clear
:after
,
.fn-clear
:before
{
display
:
table
;
content
:
""
;
line-height
:
0
}
.fn-clear
:after
{
clear
:
both
;
line-height
:
0
}
.fn-left
{
float
:
left
}
.fn-right
{
float
:
right
}
.fn-none
{
display
:
none
}
@font-face
{
font-family
:
icomoon
;
src
:
url(fonts/icomoon.eot?a0psdo)
;
src
:
url(fonts/icomoon.eot?a0psdo#iefix)
format
(
'embedded-opentype'
),
url(fonts/icomoon.ttf?a0psdo)
format
(
'truetype'
),
url(fonts/icomoon.woff?a0psdo)
format
(
'woff'
),
url(fonts/icomoon.svg?a0psdo#icomoon)
format
(
'svg'
);
font-weight
:
400
;
font-style
:
normal
}
[
class
*=
" icon-"
],[
class
^=
icon-
]
{
font-family
:
icomoon
!important
;
speak
:
none
;
font-style
:
normal
;
font-weight
:
400
;
font-variant
:
normal
;
text-transform
:
none
;
line-height
:
1
;
-webkit-font-smoothing
:
antialiased
;
-moz-osx-font-smoothing
:
grayscale
}
.icon-register
:before
{
content
:
"\e973"
}
.icon-setting
:before
{
content
:
"\e994"
}
.icon-login
:before
{
content
:
"\ea13"
}
.icon-logout
:before
{
content
:
"\ea14"
}
.icon-rss
:before
{
content
:
"\e901"
}
.form
{
width
:
100%
;
margin-top
:
50px
}
.form
button
,
.form
input
,
.form
textarea
{
border
:
1px
solid
#CCC
;
background-color
:
#FAFAFA
;
border-radius
:
3px
;
box-shadow
:
0
1px
2px
rgba
(
0
,
0
,
0
,
.075
)
inset
;
padding
:
7px
8px
;
width
:
100%
;
box-sizing
:
border-box
;
outline
:
0
}
.form
button
{
width
:
auto
}
.form
input
:focus
,
.form
textarea
:focus
{
background-color
:
#FFF
;
box-shadow
:
0
1px
2px
rgba
(
0
,
0
,
0
,
.075
)
inset
,
0
0
5px
rgba
(
81
,
167
,
232
,
.5
);
border
:
1px
solid
#51A7E8
}
.error-msg
{
color
:
#9EABB3
;
margin-right
:
10px
}
.em00
,
.em01
,
.em02
,
.em03
,
.em04
,
.em05
,
.em06
,
.em07
,
.em08
,
.em09
,
.em10
,
.em11
,
.em12
,
.em13
,
.em14
{
cursor
:
pointer
;
background-image
:
url(../images/emotions/emotions-ease.png)
;
float
:
left
;
height
:
24px
;
margin-right
:
5px
;
width
:
24px
;
transition
:
all
.2s
ease-out
;
-webkit-transition
:
all
.2s
ease-out
;
-moz-transition
:
all
.2s
ease-out
}
.menu
.menu-item
a
,
.pagination
.next
,
.pagination
.page-number
,
.post-title-link
::before
,
.posts-collapse
.post-header
,
.posts-collapse
.post-header
::before
,
.sidebar-toggle-line
{
transition-duration
:
.2s
;
transition-timing-function
:
ease-in-out
;
transition-delay
:
0s
}
#emotions
span
:hover
{
transform
:
scale
(
1.2
)
rotate
(
360deg
);
-webkit-transform
:
scale
(
1.2
)
rotate
(
360deg
);
-moz-transform
:
scale
(
1.2
)
rotate
(
360deg
)}
.em01
{
background-position
:
-24px
0
}
.em02
{
background-position
:
-48px
0
}
.em03
{
background-position
:
-72px
0
}
.em04
{
background-position
:
-96px
0
}
.em05
{
background-position
:
0
-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
}
.wrapper
{
max-width
:
700px
;
min-width
:
600px
;
margin
:
0
auto
;
padding
:
0
10px
}
.main
{
position
:
relative
;
top
:
-50px
;
opacity
:
0
}
.header
{
background
:
#f5f5f5
;
margin-bottom
:
80px
;
padding
:
40px
0
}
.logo-wrap
{
float
:
left
;
overflow
:
hidden
;
top
:
0
;
opacity
:
0
}
.logo-line-after
,
.logo-line-before
{
display
:
block
;
overflow
:
hidden
;
margin
:
0
auto
;
width
:
75%
}
.logo-line-after
i
,
.logo-line-before
i
{
position
:
relative
;
display
:
block
;
height
:
2px
;
background
:
#222
;
left
:
-100%
}
.logo-line-after
i
{
left
:
auto
;
right
:
-100%
}
.logo-wrap
.site-title
{
font-size
:
22px
;
font-weight
:
bolder
;
opacity
:
0
;
top
:
-10px
;
position
:
relative
}
.logo-wrap
>
a
{
position
:
relative
;
display
:
inline-block
;
padding
:
2px
1px
;
color
:
#222
;
line-height
:
2
;
border-bottom
:
none
;
font-family
:
Lato
,
"PingFang SC"
,
"Microsoft YaHei"
,
sans-serif
}
.site-nav-toggle
{
display
:
none
}
.menu
.menu-item
,
.sidebar-toggle-line
{
display
:
inline-block
}
.menu
{
float
:
left
;
margin
:
5px
0
0
20px
;
padding
:
0
20px
;
opacity
:
0
}
.menu
.menu-item
a
{
padding
:
5px
10px
;
border
:
none
;
transition-property
:
background
}
.menu
.menu-item
a
:hover
{
background
:
#e1e1e1
}
.site-search
{
float
:
right
;
margin-top
:
15px
}
.site-search
input
{
padding
:
3px
3px
3px
18px
;
border
:
none
;
border-radius
:
0
;
width
:
140px
;
background
:
url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/PjwhRE9DVFlQRSBzdmcgIFBVQkxJQyAnLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4nICAnaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHLzEuMS9EVEQvc3ZnMTEuZHRkJz48c3ZnIGhlaWdodD0iMTZweCIgaWQ9IkxheWVyXzEiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDE2IDE2OyIgdmVyc2lvbj0iMS4xIiB2aWV3Qm94PSIwIDAgMTYgMTYiIHdpZHRoPSIxNnB4IiB4bWw6c3BhY2U9InByZXNlcnZlIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj48cGF0aCBkPSJNMTUuNywxNC4zbC0zLjEwNS0zLjEwNUMxMy40NzMsMTAuMDI0LDE0LDguNTc2LDE0LDdjMC0zLjg2Ni0zLjEzNC03LTctN1MwLDMuMTM0LDAsN3MzLjEzNCw3LDcsNyAgYzEuNTc2LDAsMy4wMjQtMC41MjcsNC4xOTQtMS40MDVMMTQuMywxNS43YzAuMTg0LDAuMTg0LDAuMzgsMC4zLDAuNywwLjNjMC41NTMsMCwxLTAuNDQ3LDEtMUMxNiwxNC43ODEsMTUuOTQ2LDE0LjU0NiwxNS43LDE0LjN6ICAgTTIsN2MwLTIuNzYyLDIuMjM4LTUsNS01czUsMi4yMzgsNSw1cy0yLjIzOCw1LTUsNVMyLDkuNzYyLDIsN3oiLz48L3N2Zz4=)
0
50%
no-repeat
;
background-size
:
12px
12px
;
outline
:
0
;
border-bottom
:
1px
solid
#999
;
opacity
:
.5
}
.site-search
input
:focus
{
opacity
:
1
}
.footer
{
margin-top
:
80px
;
padding
:
10px
20px
;
background
:
#f5f5f5
;
color
:
#666
;
line-height
:
2
}
.back-to-top
,
.sidebar-toggle
{
right
:
50px
;
z-index
:
1050
;
padding
:
5px
;
cursor
:
pointer
}
.sidebar-toggle
{
position
:
fixed
;
bottom
:
45px
;
width
:
15px
;
height
:
15px
;
background
:
#222
;
line-height
:
0
;
-webkit-transform
:
translateZ
(
0
)}
.sidebar-toggle.has-toc
.sidebar-toggle-line
{
background
:
#87daff
}
.sidebar-toggle-line
{
position
:
relative
;
vertical-align
:
top
;
height
:
2px
;
width
:
100%
;
background
:
#fff
;
margin-top
:
4px
}
.sidebar-toggle-line
:first-child
{
margin-top
:
0
}
.sidebar-toggle
:hover
.sidebar-toggle-line-first
{
width
:
50%
;
transform
:
rotateZ
(
-45deg
);
top
:
3px
}
.sidebar-toggle
:hover
.sidebar-toggle-line-middle
{
width
:
90%
}
.sidebar-toggle
:hover
.sidebar-toggle-line-last
{
width
:
50%
;
transform
:
rotateZ
(
45deg
);
top
:
-3px
}
.sidebar-toggle.sidebar-active
.sidebar-toggle-line-first
{
width
:
100%
;
transform
:
rotateZ
(
-45deg
);
top
:
6px
}
.sidebar-toggle.sidebar-active
.sidebar-toggle-line-middle
{
opacity
:
0
}
.sidebar-toggle.sidebar-active
.sidebar-toggle-line-last
{
width
:
100%
;
transform
:
rotateZ
(
45deg
);
top
:
-6px
}
.back-to-top
,
.sidebar
{
position
:
fixed
;
background
:
#222
;
-webkit-transform
:
translateZ
(
0
)}
.back-to-top
{
bottom
:
19px
;
width
:
15px
;
height
:
13px
;
color
:
#fff
}
.back-to-top
:before
{
display
:
block
;
content
:
" "
;
margin-top
:
2px
;
width
:
0
;
height
:
0
;
border-width
:
0
7px
8px
;
border-color
:
transparent
transparent
#fff
;
border-style
:
solid
}
.sidebar
{
width
:
320px
;
right
:
-320px
;
top
:
0
;
bottom
:
0
;
z-index
:
1040
;
box-shadow
:
inset
0
2px
6px
#000
;
padding
:
20px
10px
;
color
:
#999
;
text-align
:
center
;
box-sizing
:
border-box
}
.sidebar
a
{
color
:
#999
;
border-bottom-color
:
#555
}
.sidebar
a
:hover
{
color
:
#eee
}
.sidebar
.site-author-image
{
display
:
block
;
margin
:
20px
auto
0
;
max-width
:
96px
;
height
:
auto
;
border
:
2px
solid
#333
;
padding
:
2px
}
.sidebar
.site-author-name
{
margin
:
5px
0
0
;
color
:
#f5f5f5
}
.sidebar
.site-description
{
margin-top
:
5px
;
font-size
:
14px
;
color
:
#555
}
.sidebar
.feed-link
,
.sidebar
.links-of-author
{
margin-top
:
20px
}
.sidebar
.site-state-item
{
display
:
inline-block
;
padding
:
0
15px
;
border-left
:
1px
solid
#333
}
.sidebar
.site-state-item
:first-child
{
border-left
:
none
}
.sidebar
.site-state-item
a
{
border-bottom
:
none
}
.sidebar
.site-state-item-count
{
display
:
block
;
text-align
:
center
;
font-size
:
18px
}
.sidebar
.site-state-item-name
{
font-size
:
13px
}
.sidebar
.feed-link
a
{
display
:
inline-block
;
padding
:
3px
15px
;
color
:
#fc6423
;
border
:
1px
solid
#fc6423
;
border-radius
:
4px
}
.sidebar
.feed-link
a
:hover
{
color
:
#fff
;
background
:
#fc6423
}
.sidebar
.links-of-author
a
{
display
:
inline-block
;
vertical-align
:
middle
;
margin-right
:
10px
;
margin-bottom
:
10px
;
border-bottom-color
:
#555
;
font-size
:
13px
}
.sidebar
.links-of-author
a
:before
{
display
:
inline-block
;
vertical-align
:
middle
;
margin-right
:
3px
;
content
:
" "
;
width
:
4px
;
height
:
4px
;
border-radius
:
50%
;
background
:
#0dd5ff
}
.sidebar
.b3-solo-list
{
margin
:
20px
;
list-style
:
none
;
text-align
:
left
;
padding
:
0
;
font-size
:
14px
;
line-height
:
2
}
.sidebar
section
{
opacity
:
0
;
position
:
relative
}
.sidebar
>
ul
>
li
{
display
:
inline-block
;
cursor
:
pointer
;
border-bottom
:
1px
solid
transparent
;
font-size
:
14px
;
color
:
#555
}
.sidebar
>
ul
>
li
:hover
{
color
:
#f5f5f5
}
.sidebar
>
ul
>
li
.current
{
color
:
#87daff
;
border-bottom-color
:
#87daff
}
.sidebar
>
ul
>
li
:last-child
{
margin-left
:
10px
}
.posts-expand
.post-item
{
margin-top
:
120px
}
.posts-expand
.post-item
:first-child
{
margin-top
:
0
}
.post-title-link
{
display
:
inline-block
;
position
:
relative
;
color
:
#555
;
border-bottom
:
none
;
line-height
:
1.2
;
vertical-align
:
top
;
font-size
:
26px
;
font-weight
:
400
}
.post-title-link
::before
{
content
:
""
;
position
:
absolute
;
width
:
100%
;
height
:
2px
;
bottom
:
0
;
left
:
0
;
background-color
:
#000
;
visibility
:
hidden
;
transform
:
scaleX
(
0
)}
.post-title-link
:hover::before
{
visibility
:
visible
;
transform
:
scaleX
(
1
)}
.posts-expand
.post-meta
{
margin
:
3px
0
60px
;
color
:
#999
;
font-size
:
12px
}
.post-more-link
a
{
color
:
#666
;
border
:
none
;
border-bottom
:
2px
solid
#666
;
transition-property
:
border
}
.post-more-link
a
:hover
{
border-bottom-color
:
#222
}
.pagination
{
border-top
:
1px
solid
#eee
;
margin
:
120px
0
0
;
text-align
:
left
}
.pagination
.next
,
.pagination
.page-number
{
display
:
inline-block
;
position
:
relative
;
top
:
-1px
;
margin
:
0
5px
;
padding
:
0
10px
;
line-height
:
30px
;
border-bottom
:
0
;
border-top
:
1px
solid
#eee
;
transition-property
:
border-color
}
.pagination
.next
:hover
,
.pagination
.page-number
:hover
{
border-top-color
:
#222
}
.pagination
.page-number.current
{
color
:
#fff
;
background
:
#ccc
;
border-top-color
:
#ccc
}
.post-header
{
text-align
:
center
}
.post-body
img
{
box-sizing
:
border-box
;
margin
:
auto
}
.posts-expand
.post-tags
{
margin-top
:
40px
}
.posts-expand
.post-tags
a
{
padding
:
1px
5px
;
background
:
#f5f5f5
;
border-bottom
:
none
}
.posts-expand
.post-tags
a
:hover
{
background
:
#ccc
}
.posts-expand
.post-nav
{
margin-top
:
40px
;
overflow
:
hidden
;
padding
:
10px
;
white-space
:
nowrap
;
border-top
:
1px
solid
#eee
}
.post-nav-item
a
:hover
{
color
:
#222
;
border-bottom
:
none
}
.post-nav-item
a
{
position
:
relative
;
display
:
inline-block
;
line-height
:
25px
;
font-size
:
14px
;
color
:
#555
;
border-bottom
:
none
;
width
:
50%
}
#externalRelevantArticles
h4
{
margin-bottom
:
0
}
#externalRelevantArticles
ul
{
margin-top
:
5px
}
.article-body
{
text-align
:
justify
}
.article-body
p
{
margin
:
0
0
25px
}
ul
.comments
{
padding
:
0
;
list-style
:
none
;
margin-top
:
50px
;
position
:
relative
}
ul
.comments
li
{
padding
:
10px
;
white-space
:
normal
;
position
:
relative
;
border-bottom
:
#EBF2F6
1px
solid
}
ul
.comments
li
:hover
{
background-color
:
#F7F7F7
}
ul
.comments
.avatar-48
{
position
:
absolute
;
box-shadow
:
0
0
2px
#ddd
;
height
:
48px
;
width
:
48px
;
margin
:
8px
10px
0
0
;
border-radius
:
24px
}
ul
.comments
.comment-body
{
margin
:
8px
0
0
60px
;
min-height
:
50px
}
ul
.comments
li
.comment-body-ref
{
position
:
absolute
;
z-index
:
10
;
background-color
:
#EBF2F6
;
border
:
1px
solid
#d5dbde
;
width
:
80%
;
left
:
69px
}
.posts-collapse
.collection-title
::before
,
.posts-collapse
.post-header
::before
{
left
:
0
;
background
:
#bbb
;
border-radius
:
50%
;
content
:
" "
}
ul
.comments
.comment-meta
{
font-family
:
"Open Sans"
,
"Microsoft Yahei"
,
Helvetica
;
color
:
#9eabb3
;
font-size
:
13px
}
ul
.comments
.comment-meta
a
{
color
:
#9EABB3
;
text-decoration
:
none
;
border-bottom-width
:
0
}
ul
.comments
.post-meta
a
:hover
{
text-decoration
:
underline
}
ul
.comments
.comment-meta
time
{
border-left
:
1px
solid
#d5dbde
;
margin-left
:
8px
;
padding-left
:
12px
}
#captcha
,
#captchaReply
{
height
:
27px
;
vertical-align
:
inherit
}
.tag-cloud
{
text-align
:
center
}
.tag-cloud
ul
.tag-cloud-tags
{
padding-left
:
0
}
#tags
li
{
list-style
:
none
;
display
:
inline-block
;
margin
:
10px
}
#tags
.tags1
{
font-size
:
12px
;
color
:
#CCC
}
#tags
.tags2
{
font-size
:
16px
;
color
:
#999
}
#tags
.tags3
{
font-size
:
21px
;
color
:
#6f6f6f
}
#tags
.tags4
{
font-size
:
24px
;
color
:
#333
}
#tags
.tags5
{
font-size
:
30px
;
color
:
#111
}
.posts-collapse
.collection-title
::before
{
position
:
absolute
;
top
:
50%
;
margin-left
:
-4px
;
margin-top
:
-4px
;
width
:
8px
;
height
:
8px
}
.posts-collapse
.collection-title
{
position
:
relative
;
margin
:
60px
0
}
.posts-collapse
.collection-title
h2
{
margin-left
:
20px
}
.posts-collapse
.collection-title
small
{
color
:
#bbb
}
.posts-collapse
.post-header
::before
{
position
:
absolute
;
top
:
12px
;
width
:
6px
;
height
:
6px
;
margin-left
:
-4px
;
border
:
1px
solid
#fff
;
transition-property
:
background
}
.posts-collapse
.post-header
{
position
:
relative
;
transition-property
:
border
;
border-bottom
:
1px
dashed
#ccc
;
text-align
:
left
}
.posts-collapse
.post-header
:hover
{
border-bottom-color
:
#666
}
.posts-collapse
.post-header
:hover::before
{
background
:
#222
}
.posts-collapse
.post-time
{
position
:
absolute
;
font-size
:
12px
;
left
:
20px
;
top
:
8px
}
.posts-collapse
.post-title
{
margin-left
:
70px
;
font-size
:
16px
;
font-weight
:
400
;
font-family
:
Lato
,
"PingFang SC"
,
"Microsoft YaHei"
,
sans-serif
;
line-height
:
inherit
;
text-decoration
:
none
;
border-bottom
:
0
;
color
:
#666
}
.page-archive
.archive-page-counter
{
position
:
relative
;
top
:
7px
;
left
:
20px
;
margin-bottom
:
50px
;
display
:
block
}
.page-archive
.posts-collapse
.archive-move-on
{
position
:
absolute
;
top
:
11px
;
left
:
0
;
margin-left
:
-6px
;
width
:
10px
;
height
:
10px
;
opacity
:
.5
;
background
:
#555
;
border
:
1px
solid
#fff
;
border-radius
:
50%
}
.page-archive
.post-title
{
margin-left
:
20px
}
.page-archive
.posts-collapse
.post-header
::before
{
top
:
8px
}
.page-archive
.posts-collapse
::after
{
top
:
20px
;
left
:
0
;
margin-left
:
-2px
;
width
:
4px
;
height
:
100%
;
background
:
#f5f5f5
;
z-index
:
-1
;
content
:
" "
;
position
:
absolute
}
@media
(
max-width
:
1000px
){
.sidebar
,
.sidebar-toggle
{
display
:
none
}
body
{
padding-right
:
0
!important
}}
@media
(
max-width
:
700px
){
.page-archive
.posts-collapse
.archive-move-on
{
margin-left
:
5px
}
.posts-collapse
{
margin-left
:
10px
}
pre
{
word-wrap
:
break-word
;
word-break
:
break-all
;
white-space
:
normal
}
.page-archive
.archive-page-counter
{
margin-right
:
10px
}
.site-nav-toggle
{
display
:
block
;
margin-top
:
16px
}
.back-to-top
,
.header-line
,
.logo-line-after
,
.logo-line-before
,
.menu
,
.site-search
{
display
:
none
}
.header
{
margin-bottom
:
50px
;
padding
:
5px
0
}
.header-line
{
position
:
relative
;
top
:
52px
;
height
:
1px
;
width
:
100%
;
background-color
:
#ddd
}
.btn-bar
,
.menu
.menu-item
{
display
:
block
}
.wrapper
{
min-width
:
inherit
}
.btn-bar
{
width
:
22px
;
height
:
2px
;
background
:
#555
;
border-radius
:
1px
}
.btn-bar
+
.btn-bar
{
margin-top
:
4px
}
.menu
{
width
:
100%
;
margin
:
0
0
0
-20px
;
padding
:
0
5px
;
line-height
:
26px
}
.footer
{
text-align
:
center
;
font-size
:
12px
;
padding
:
10px
0
}
.footer
.fn-right
{
float
:
none
}}
@charset
"utf-8"
;
a
,
body
{
color
:
#555
}
.post-body
,
ul
.comments
li
{
word-wrap
:
break-word
}
html
{
background-color
:
#f5f5f5
}
body
{
margin
:
0
;
font-family
:
Lato
,
"PingFang SC"
,
"Microsoft YaHei"
,
sans-serif
;
font-size
:
14px
;
background
:
#fff
}
a
{
text-decoration
:
none
;
border-bottom
:
1px
solid
#999
}
a
:active
,
a
:hover
{
outline
:
0
}
a
:hover
{
color
:
#222
;
border-bottom-color
:
#222
}
hr
{
margin
:
40px
0
;
height
:
3px
;
border
:
none
;
background-color
:
#ddd
;
background-image
:
repeating-linear-gradient
(
-45deg
,
#fff
,
#fff
4px
,
transparent
4px
,
transparent
8px
)}
blockquote
{
padding
:
0
15px
;
color
:
#666
;
border-left
:
4px
solid
#ddd
}
img
{
max-width
:
100%
;
height
:
auto
}
.fn-clear
:after
,
.fn-clear
:before
{
display
:
table
;
content
:
""
;
line-height
:
0
}
.fn-clear
:after
{
clear
:
both
;
line-height
:
0
}
.fn-left
{
float
:
left
}
.fn-right
{
float
:
right
}
.fn-none
{
display
:
none
}
@font-face
{
font-family
:
icomoon
;
src
:
url(fonts/icomoon.eot?a0psdo)
;
src
:
url(fonts/icomoon.eot?a0psdo#iefix)
format
(
'embedded-opentype'
),
url(fonts/icomoon.ttf?a0psdo)
format
(
'truetype'
),
url(fonts/icomoon.woff?a0psdo)
format
(
'woff'
),
url(fonts/icomoon.svg?a0psdo#icomoon)
format
(
'svg'
);
font-weight
:
400
;
font-style
:
normal
}
[
class
*=
" icon-"
],[
class
^=
icon-
]
{
font-family
:
icomoon
!important
;
speak
:
none
;
font-style
:
normal
;
font-weight
:
400
;
font-variant
:
normal
;
text-transform
:
none
;
line-height
:
1
;
-webkit-font-smoothing
:
antialiased
;
-moz-osx-font-smoothing
:
grayscale
}
.icon-register
:before
{
content
:
"\e973"
}
.icon-setting
:before
{
content
:
"\e994"
}
.icon-login
:before
{
content
:
"\ea13"
}
.icon-logout
:before
{
content
:
"\ea14"
}
.icon-rss
:before
{
content
:
"\e901"
}
.form
{
width
:
100%
;
margin-top
:
50px
}
.form
button
,
.form
input
,
.form
textarea
{
border
:
1px
solid
#CCC
;
background-color
:
#FAFAFA
;
border-radius
:
3px
;
box-shadow
:
0
1px
2px
rgba
(
0
,
0
,
0
,
.075
)
inset
;
padding
:
7px
8px
;
width
:
100%
;
box-sizing
:
border-box
;
outline
:
0
}
.form
button
{
width
:
auto
}
.form
input
:focus
,
.form
textarea
:focus
{
background-color
:
#FFF
;
box-shadow
:
0
1px
2px
rgba
(
0
,
0
,
0
,
.075
)
inset
,
0
0
5px
rgba
(
81
,
167
,
232
,
.5
);
border
:
1px
solid
#51A7E8
}
.error-msg
{
color
:
#9EABB3
;
margin-right
:
10px
}
.em00
,
.em01
,
.em02
,
.em03
,
.em04
,
.em05
,
.em06
,
.em07
,
.em08
,
.em09
,
.em10
,
.em11
,
.em12
,
.em13
,
.em14
{
cursor
:
pointer
;
background-image
:
url(../images/emotions/emotions-ease.png)
;
float
:
left
;
height
:
24px
;
margin-right
:
5px
;
width
:
24px
;
transition
:
all
.2s
ease-out
;
-webkit-transition
:
all
.2s
ease-out
;
-moz-transition
:
all
.2s
ease-out
}
.menu
.menu-item
a
,
.pagination
.next
,
.pagination
.page-number
,
.post-title-link
::before
,
.posts-collapse
.post-header
,
.posts-collapse
.post-header
::before
,
.sidebar-toggle-line
{
transition-duration
:
.2s
;
transition-timing-function
:
ease-in-out
;
transition-delay
:
0s
}
#emotions
span
:hover
{
transform
:
scale
(
1.2
)
rotate
(
360deg
);
-webkit-transform
:
scale
(
1.2
)
rotate
(
360deg
);
-moz-transform
:
scale
(
1.2
)
rotate
(
360deg
)}
.em01
{
background-position
:
-24px
0
}
.em02
{
background-position
:
-48px
0
}
.em03
{
background-position
:
-72px
0
}
.em04
{
background-position
:
-96px
0
}
.em05
{
background-position
:
0
-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
}
.wrapper
{
max-width
:
700px
;
min-width
:
600px
;
margin
:
0
auto
;
padding
:
0
10px
}
.main
{
position
:
relative
;
top
:
-50px
;
opacity
:
0
}
.header
{
background
:
#f5f5f5
;
margin-bottom
:
80px
;
padding
:
40px
0
}
.logo-wrap
{
float
:
left
;
overflow
:
hidden
;
top
:
0
;
opacity
:
0
}
.logo-line-after
,
.logo-line-before
{
display
:
block
;
overflow
:
hidden
;
margin
:
0
auto
;
width
:
75%
}
.logo-line-after
i
,
.logo-line-before
i
{
position
:
relative
;
display
:
block
;
height
:
2px
;
background
:
#222
;
left
:
-100%
}
.logo-line-after
i
{
left
:
auto
;
right
:
-100%
}
.logo-wrap
.site-title
{
font-size
:
22px
;
font-weight
:
bolder
;
opacity
:
0
;
top
:
-10px
;
position
:
relative
}
.logo-wrap
>
a
{
position
:
relative
;
display
:
inline-block
;
padding
:
2px
1px
;
color
:
#222
;
line-height
:
2
;
border-bottom
:
none
;
font-family
:
Lato
,
"PingFang SC"
,
"Microsoft YaHei"
,
sans-serif
}
.site-nav-toggle
{
display
:
none
}
.menu
.menu-item
,
.sidebar-toggle-line
{
display
:
inline-block
}
.menu
{
float
:
left
;
margin
:
5px
0
0
20px
;
padding
:
0
20px
;
opacity
:
0
}
.menu
.menu-item
a
{
padding
:
5px
10px
;
border
:
none
;
transition-property
:
background
}
.menu
.menu-item
a
:hover
{
background
:
#e1e1e1
}
.site-search
{
float
:
right
;
margin-top
:
15px
}
.site-search
input
{
padding
:
3px
3px
3px
18px
;
border
:
none
;
border-radius
:
0
;
width
:
140px
;
background
:
url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/PjwhRE9DVFlQRSBzdmcgIFBVQkxJQyAnLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4nICAnaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHLzEuMS9EVEQvc3ZnMTEuZHRkJz48c3ZnIGhlaWdodD0iMTZweCIgaWQ9IkxheWVyXzEiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDE2IDE2OyIgdmVyc2lvbj0iMS4xIiB2aWV3Qm94PSIwIDAgMTYgMTYiIHdpZHRoPSIxNnB4IiB4bWw6c3BhY2U9InByZXNlcnZlIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj48cGF0aCBkPSJNMTUuNywxNC4zbC0zLjEwNS0zLjEwNUMxMy40NzMsMTAuMDI0LDE0LDguNTc2LDE0LDdjMC0zLjg2Ni0zLjEzNC03LTctN1MwLDMuMTM0LDAsN3MzLjEzNCw3LDcsNyAgYzEuNTc2LDAsMy4wMjQtMC41MjcsNC4xOTQtMS40MDVMMTQuMywxNS43YzAuMTg0LDAuMTg0LDAuMzgsMC4zLDAuNywwLjNjMC41NTMsMCwxLTAuNDQ3LDEtMUMxNiwxNC43ODEsMTUuOTQ2LDE0LjU0NiwxNS43LDE0LjN6ICAgTTIsN2MwLTIuNzYyLDIuMjM4LTUsNS01czUsMi4yMzgsNSw1cy0yLjIzOCw1LTUsNVMyLDkuNzYyLDIsN3oiLz48L3N2Zz4=)
0
50%
no-repeat
;
background-size
:
12px
12px
;
outline
:
0
;
border-bottom
:
1px
solid
#999
;
opacity
:
.5
}
.site-search
input
:focus
{
opacity
:
1
}
.footer
{
margin-top
:
80px
;
padding
:
10px
20px
;
background
:
#f5f5f5
;
color
:
#666
;
line-height
:
2
}
.back-to-top
,
.sidebar-toggle
{
right
:
50px
;
z-index
:
1050
;
padding
:
5px
;
cursor
:
pointer
}
.sidebar-toggle
{
position
:
fixed
;
bottom
:
45px
;
width
:
15px
;
height
:
15px
;
background
:
#222
;
line-height
:
0
;
-webkit-transform
:
translateZ
(
0
)}
.sidebar-toggle.has-toc
.sidebar-toggle-line
{
background
:
#87daff
}
.sidebar-toggle-line
{
position
:
relative
;
vertical-align
:
top
;
height
:
2px
;
width
:
100%
;
background
:
#fff
;
margin-top
:
4px
}
.sidebar-toggle-line
:first-child
{
margin-top
:
0
}
.sidebar-toggle
:hover
.sidebar-toggle-line-first
{
width
:
50%
;
transform
:
rotateZ
(
-45deg
);
top
:
3px
}
.sidebar-toggle
:hover
.sidebar-toggle-line-middle
{
width
:
90%
}
.sidebar-toggle
:hover
.sidebar-toggle-line-last
{
width
:
50%
;
transform
:
rotateZ
(
45deg
);
top
:
-3px
}
.sidebar-toggle.sidebar-active
.sidebar-toggle-line-first
{
width
:
100%
;
transform
:
rotateZ
(
-45deg
);
top
:
6px
}
.sidebar-toggle.sidebar-active
.sidebar-toggle-line-middle
{
opacity
:
0
}
.sidebar-toggle.sidebar-active
.sidebar-toggle-line-last
{
width
:
100%
;
transform
:
rotateZ
(
45deg
);
top
:
-6px
}
.back-to-top
,
.sidebar
{
position
:
fixed
;
background
:
#222
;
-webkit-transform
:
translateZ
(
0
)}
.back-to-top
{
bottom
:
19px
;
width
:
15px
;
height
:
13px
;
color
:
#fff
}
.back-to-top
:before
{
display
:
block
;
content
:
" "
;
margin-top
:
2px
;
width
:
0
;
height
:
0
;
border-width
:
0
7px
8px
;
border-color
:
transparent
transparent
#fff
;
border-style
:
solid
}
.sidebar
{
width
:
320px
;
right
:
-320px
;
top
:
0
;
bottom
:
0
;
z-index
:
1040
;
box-shadow
:
inset
0
2px
6px
#000
;
padding
:
20px
10px
;
color
:
#999
;
text-align
:
center
;
box-sizing
:
border-box
}
.sidebar
a
{
color
:
#999
;
border-bottom-color
:
#555
}
.sidebar
a
:hover
{
color
:
#eee
}
.sidebar
.site-author-image
{
display
:
block
;
margin
:
20px
auto
0
;
max-width
:
96px
;
height
:
auto
;
border
:
2px
solid
#333
;
padding
:
2px
}
.sidebar
.site-author-name
{
margin
:
5px
0
0
;
color
:
#f5f5f5
}
.sidebar
.site-description
{
margin-top
:
5px
;
font-size
:
14px
;
color
:
#555
}
.sidebar
.feed-link
,
.sidebar
.links-of-author
{
margin-top
:
20px
}
.sidebar
.site-state-item
{
display
:
inline-block
;
padding
:
0
15px
;
border-left
:
1px
solid
#333
}
.sidebar
.site-state-item
:first-child
{
border-left
:
none
}
.sidebar
.site-state-item
a
{
border-bottom
:
none
}
.sidebar
.site-state-item-count
{
display
:
block
;
text-align
:
center
;
font-size
:
18px
}
.sidebar
.site-state-item-name
{
font-size
:
13px
}
.sidebar
.feed-link
a
{
display
:
inline-block
;
padding
:
3px
15px
;
color
:
#fc6423
;
border
:
1px
solid
#fc6423
;
border-radius
:
4px
}
.sidebar
.feed-link
a
:hover
{
color
:
#fff
;
background
:
#fc6423
}
.sidebar
.links-of-author
a
{
display
:
inline-block
;
vertical-align
:
middle
;
margin-right
:
10px
;
margin-bottom
:
10px
;
border-bottom-color
:
#555
;
font-size
:
13px
}
.sidebar
.links-of-author
a
:before
{
display
:
inline-block
;
vertical-align
:
middle
;
margin-right
:
3px
;
content
:
" "
;
width
:
4px
;
height
:
4px
;
border-radius
:
50%
;
background
:
#0dd5ff
}
.sidebar
.b3-solo-list
{
margin
:
20px
;
list-style
:
none
;
text-align
:
left
;
padding
:
0
;
font-size
:
14px
;
line-height
:
2
}
.sidebar
section
{
opacity
:
0
;
position
:
relative
}
.sidebar
>
ul
>
li
{
display
:
inline-block
;
cursor
:
pointer
;
border-bottom
:
1px
solid
transparent
;
font-size
:
14px
;
color
:
#555
}
.sidebar
>
ul
>
li
:hover
{
color
:
#f5f5f5
}
.sidebar
>
ul
>
li
.current
{
color
:
#87daff
;
border-bottom-color
:
#87daff
}
.sidebar
>
ul
>
li
:last-child
{
margin-left
:
10px
}
.posts-expand
.post-item
{
margin-top
:
120px
}
.posts-expand
.post-item
:first-child
{
margin-top
:
0
}
.post-title-link
{
display
:
inline-block
;
position
:
relative
;
color
:
#555
;
border-bottom
:
none
;
line-height
:
1.2
;
vertical-align
:
top
;
font-size
:
26px
;
font-weight
:
400
}
.post-title-link
::before
{
content
:
""
;
position
:
absolute
;
width
:
100%
;
height
:
2px
;
bottom
:
0
;
left
:
0
;
background-color
:
#000
;
visibility
:
hidden
;
transform
:
scaleX
(
0
)}
.post-title-link
:hover::before
{
visibility
:
visible
;
transform
:
scaleX
(
1
)}
.posts-expand
.post-meta
{
margin
:
3px
0
60px
;
color
:
#999
;
font-size
:
12px
}
.post-more-link
a
{
color
:
#666
;
border
:
none
;
border-bottom
:
2px
solid
#666
;
transition-property
:
border
}
.post-more-link
a
:hover
{
border-bottom-color
:
#222
}
.pagination
{
border-top
:
1px
solid
#eee
;
margin
:
120px
0
0
;
text-align
:
left
}
.pagination
.next
,
.pagination
.page-number
{
display
:
inline-block
;
position
:
relative
;
top
:
-1px
;
margin
:
0
5px
;
padding
:
0
10px
;
line-height
:
30px
;
border-bottom
:
0
;
border-top
:
1px
solid
#eee
;
transition-property
:
border-color
}
.pagination
.next
:hover
,
.pagination
.page-number
:hover
{
border-top-color
:
#222
}
.pagination
.page-number.current
{
color
:
#fff
;
background
:
#ccc
;
border-top-color
:
#ccc
}
.post-header
{
text-align
:
center
}
.post-body
img
{
box-sizing
:
border-box
;
margin
:
auto
}
.posts-expand
.post-tags
{
margin-top
:
40px
}
.posts-expand
.post-tags
a
{
padding
:
1px
5px
;
background
:
#f5f5f5
;
border-bottom
:
none
}
.posts-expand
.post-tags
a
:hover
{
background
:
#ccc
}
.posts-expand
.post-nav
{
margin-top
:
40px
;
overflow
:
hidden
;
padding
:
10px
;
white-space
:
nowrap
;
border-top
:
1px
solid
#eee
}
.post-nav-item
a
:hover
{
color
:
#222
;
border-bottom
:
none
}
.post-nav-item
a
{
position
:
relative
;
display
:
inline-block
;
line-height
:
25px
;
font-size
:
14px
;
color
:
#555
;
border-bottom
:
none
;
width
:
50%
}
#externalRelevantArticles
h4
{
margin-bottom
:
0
}
#externalRelevantArticles
ul
{
margin-top
:
5px
}
.article-body
{
text-align
:
justify
}
.article-body
p
{
margin
:
0
0
25px
}
ul
.comments
{
padding
:
0
;
list-style
:
none
;
margin-top
:
50px
;
position
:
relative
}
ul
.comments
li
{
padding
:
10px
;
white-space
:
normal
;
position
:
relative
;
border-bottom
:
#EBF2F6
1px
solid
}
ul
.comments
li
:hover
{
background-color
:
#F7F7F7
}
ul
.comments
.avatar-48
{
position
:
absolute
;
box-shadow
:
0
0
2px
#ddd
;
height
:
48px
;
width
:
48px
;
margin
:
8px
10px
0
0
;
border-radius
:
24px
}
ul
.comments
.comment-body
{
margin
:
8px
0
0
60px
;
min-height
:
50px
}
ul
.comments
li
.comment-body-ref
{
position
:
absolute
;
z-index
:
10
;
background-color
:
#EBF2F6
;
border
:
1px
solid
#d5dbde
;
width
:
80%
;
left
:
69px
}
.posts-collapse
.collection-title
::before
,
.posts-collapse
.post-header
::before
{
left
:
0
;
background
:
#bbb
;
border-radius
:
50%
;
content
:
" "
}
ul
.comments
.comment-meta
{
font-family
:
"Open Sans"
,
"Microsoft Yahei"
,
Helvetica
;
color
:
#9eabb3
;
font-size
:
13px
}
ul
.comments
.comment-meta
a
{
color
:
#9EABB3
;
text-decoration
:
none
;
border-bottom-width
:
0
}
ul
.comments
.post-meta
a
:hover
{
text-decoration
:
underline
}
ul
.comments
.comment-meta
time
{
border-left
:
1px
solid
#d5dbde
;
margin-left
:
8px
;
padding-left
:
12px
}
#captcha
,
#captchaReply
{
height
:
27px
;
vertical-align
:
inherit
}
.tag-cloud
{
text-align
:
center
}
.tag-cloud
ul
.tag-cloud-tags
{
padding-left
:
0
}
#tags
li
{
list-style
:
none
;
display
:
inline-block
;
margin
:
10px
}
#tags
.tags1
{
font-size
:
12px
;
color
:
#CCC
}
#tags
.tags2
{
font-size
:
16px
;
color
:
#999
}
#tags
.tags3
{
font-size
:
21px
;
color
:
#6f6f6f
}
#tags
.tags4
{
font-size
:
24px
;
color
:
#333
}
#tags
.tags5
{
font-size
:
30px
;
color
:
#111
}
.posts-collapse
.collection-title
::before
{
position
:
absolute
;
top
:
50%
;
margin-left
:
-4px
;
margin-top
:
-4px
;
width
:
8px
;
height
:
8px
}
.posts-collapse
.collection-title
{
position
:
relative
;
margin
:
60px
0
}
.posts-collapse
.collection-title
h2
{
margin-left
:
20px
}
.posts-collapse
.collection-title
small
{
color
:
#bbb
}
.posts-collapse
.post-header
::before
{
position
:
absolute
;
top
:
12px
;
width
:
6px
;
height
:
6px
;
margin-left
:
-4px
;
border
:
1px
solid
#fff
;
transition-property
:
background
}
.posts-collapse
.post-header
{
position
:
relative
;
transition-property
:
border
;
border-bottom
:
1px
dashed
#ccc
;
text-align
:
left
}
.posts-collapse
.post-header
:hover
{
border-bottom-color
:
#666
}
.posts-collapse
.post-header
:hover::before
{
background
:
#222
}
.posts-collapse
.post-time
{
position
:
absolute
;
font-size
:
12px
;
left
:
20px
;
top
:
8px
}
.posts-collapse
.post-title
{
margin-left
:
70px
;
font-size
:
16px
;
font-weight
:
400
;
font-family
:
Lato
,
"PingFang SC"
,
"Microsoft YaHei"
,
sans-serif
;
line-height
:
inherit
;
text-decoration
:
none
;
border-bottom
:
0
;
color
:
#666
}
.page-archive
.archive-page-counter
{
position
:
relative
;
top
:
7px
;
left
:
20px
;
margin-bottom
:
50px
;
display
:
block
}
.page-archive
.posts-collapse
.archive-move-on
{
position
:
absolute
;
top
:
11px
;
left
:
0
;
margin-left
:
-6px
;
width
:
10px
;
height
:
10px
;
opacity
:
.5
;
background
:
#555
;
border
:
1px
solid
#fff
;
border-radius
:
50%
}
.page-archive
.post-title
{
margin-left
:
20px
}
.page-archive
.posts-collapse
.post-header
::before
{
top
:
8px
}
.page-archive
.posts-collapse
::after
{
top
:
20px
;
left
:
0
;
margin-left
:
-2px
;
width
:
4px
;
height
:
100%
;
background
:
#f5f5f5
;
z-index
:
-1
;
content
:
" "
;
position
:
absolute
}
@media
(
max-width
:
1000px
){
.sidebar
,
.sidebar-toggle
{
display
:
none
}
body
{
padding-right
:
0
!important
}}
@media
(
max-width
:
700px
){
.page-archive
.posts-collapse
.archive-move-on
{
margin-left
:
5px
}
.posts-collapse
{
margin-left
:
10px
}
pre
{
word-wrap
:
break-word
;
word-break
:
break-all
;
white-space
:
normal
}
.page-archive
.archive-page-counter
{
margin-right
:
10px
}
.site-nav-toggle
{
display
:
block
;
margin-top
:
16px
}
.back-to-top
,
.header-line
,
.logo-line-after
,
.logo-line-before
,
.menu
,
.site-search
{
display
:
none
}
.header
{
margin-bottom
:
50px
;
padding
:
5px
0
}
.header-line
{
position
:
relative
;
top
:
52px
;
height
:
1px
;
width
:
100%
;
background-color
:
#ddd
}
.btn-bar
,
.menu
.menu-item
{
display
:
block
}
.wrapper
{
min-width
:
inherit
}
.btn-bar
{
width
:
22px
;
height
:
2px
;
background
:
#555
;
border-radius
:
1px
}
.btn-bar
+
.btn-bar
{
margin-top
:
4px
}
.menu
{
width
:
100%
;
margin
:
0
0
0
-20px
;
padding
:
0
5px
;
line-height
:
26px
}
.footer
{
text-align
:
center
;
font-size
:
12px
;
padding
:
10px
0
}
.footer
.fn-right
{
float
:
none
}}
\ No newline at end of file
src/main/webapp/skins/next/js/next.min.js
View file @
79beb405
/*
* Copyright (c) 2010-2016, b3log.org & hacpai.com
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
var
NexT
=
{
init
:
function
(){
$
(
"
.sidebar-toggle
"
).
click
(
function
(){
var
i
=
$
(
"
.sidebar
"
);
$
(
this
).
hasClass
(
"
sidebar-active
"
)?(
$
(
this
).
removeClass
(
"
sidebar-active
"
),
$
(
"
body
"
).
animate
({
"
padding-right
"
:
0
}),
i
.
animate
({
right
:
-
320
}),
i
.
find
(
"
section
"
).
css
(
"
opacity
"
,
0
)):(
$
(
this
).
addClass
(
"
sidebar-active
"
),
$
(
"
body
"
).
animate
({
"
padding-right
"
:
320
}),
i
.
animate
({
right
:
0
},
function
(){
i
.
find
(
"
section:first
"
).
animate
({
opacity
:
1
})}))}),
$
(
"
.site-nav-toggle
"
).
click
(
function
(){
$
(
"
.site-nav
"
).
slideToggle
()}),
$
(
document
).
ready
(
function
(){
setTimeout
(
function
(){
$
(
"
.logo-wrap
"
).
css
(
"
opacity
"
,
1
),
$
(
"
.logo-line-before i
"
).
animate
({
left
:
"
0
"
},
function
(){
$
(
"
.site-title
"
).
css
(
"
opacity
"
,
1
).
animate
({
top
:
0
},
function
(){
$
(
"
.menu
"
).
css
(
"
opacity
"
,
1
).
animate
({
"
margin-top
"
:
"
15px
"
}),
$
(
"
.main
"
).
css
(
"
opacity
"
,
1
).
animate
({
top
:
"
0
"
},
function
(){
$
(
"
.b3-solo-list li
"
).
length
>
0
&&
$
(
window
).
width
()
>
1
e3
&&
$
(
"
.sidebar-toggle
"
).
click
()})})}),
$
(
"
.logo-line-after i
"
).
animate
({
right
:
"
0
"
})},
500
)})},
initArticle
:
function
(){
if
(
$
(
"
.b3-solo-list li
"
).
length
>
0
&&
$
(
window
).
width
()
>
1
e3
){
$
(
"
.sidebar-toggle
"
).
addClass
(
"
has-toc
"
);
var
i
=
'
<ul><li class="current" data-tab="toc">
'
+
Label
.
tocLabel
+
'
</li><li data-tab="site">
'
+
Label
.
siteViewLabel
+
"
</li></ul><section></section>
"
;
$
(
"
.sidebar
"
).
prepend
(
i
);
var
t
=
$
(
"
.sidebar section:first
"
).
html
(
$
(
"
.b3-solo-list
"
)),
a
=
$
(
"
.sidebar section:last
"
);
$
(
"
.sidebar > ul > li
"
).
click
(
function
(){
"
toc
"
===
$
(
this
).
data
(
"
tab
"
)?
a
.
animate
({
opacity
:
"
0
"
,
top
:
"
-50px
"
},
300
,
function
(){
t
.
show
().
css
(
"
top
"
,
"
-50px
"
),
t
.
animate
({
opacity
:
"
1
"
,
top
:
"
0
"
},
300
)}):
t
.
animate
({
opacity
:
"
0
"
,
top
:
"
-50px
"
},
300
,
function
(){
t
.
hide
().
css
(
"
top
"
,
"
-50px
"
),
a
.
animate
({
opacity
:
"
1
"
,
top
:
"
0
"
},
300
)}),
$
(
"
.sidebar > ul > li
"
).
removeClass
(
"
current
"
),
$
(
this
).
addClass
(
"
current
"
)})}}};
NexT
.
init
();
var
NexT
=
{
init
:
function
(){
$
(
"
.sidebar-toggle
"
).
click
(
function
(){
var
i
=
$
(
"
.sidebar
"
);
$
(
this
).
hasClass
(
"
sidebar-active
"
)?(
$
(
this
).
removeClass
(
"
sidebar-active
"
),
$
(
"
body
"
).
animate
({
"
padding-right
"
:
0
}),
i
.
animate
({
right
:
-
320
}),
i
.
find
(
"
section
"
).
css
(
"
opacity
"
,
0
)):(
$
(
this
).
addClass
(
"
sidebar-active
"
),
$
(
"
body
"
).
animate
({
"
padding-right
"
:
320
}),
i
.
animate
({
right
:
0
},
function
(){
i
.
find
(
"
section:first
"
).
animate
({
opacity
:
1
})}))}),
$
(
"
.site-nav-toggle
"
).
click
(
function
(){
$
(
"
.site-nav
"
).
slideToggle
()}),
$
(
document
).
ready
(
function
(){
setTimeout
(
function
(){
$
(
"
.logo-wrap
"
).
css
(
"
opacity
"
,
1
),
$
(
"
.logo-line-before i
"
).
animate
({
left
:
"
0
"
},
function
(){
$
(
"
.site-title
"
).
css
(
"
opacity
"
,
1
).
animate
({
top
:
0
},
function
(){
$
(
"
.menu
"
).
css
(
"
opacity
"
,
1
).
animate
({
"
margin-top
"
:
"
15px
"
}),
$
(
"
.main
"
).
css
(
"
opacity
"
,
1
).
animate
({
top
:
"
0
"
},
function
(){
$
(
"
.b3-solo-list li
"
).
length
>
0
&&
$
(
window
).
width
()
>
1
e3
&&
$
(
"
.sidebar-toggle
"
).
click
()})})}),
$
(
"
.logo-line-after i
"
).
animate
({
right
:
"
0
"
})},
500
)})},
initArticle
:
function
(){
if
(
$
(
"
.b3-solo-list li
"
).
length
>
0
&&
$
(
window
).
width
()
>
1
e3
){
$
(
"
.sidebar-toggle
"
).
addClass
(
"
has-toc
"
);
var
i
=
'
<ul><li class="current" data-tab="toc">
'
+
Label
.
tocLabel
+
'
</li><li data-tab="site">
'
+
Label
.
siteViewLabel
+
"
</li></ul><section></section>
"
;
$
(
"
.sidebar
"
).
prepend
(
i
);
var
t
=
$
(
"
.sidebar section:first
"
).
html
(
$
(
"
.b3-solo-list
"
)),
a
=
$
(
"
.sidebar section:last
"
);
$
(
"
.sidebar > ul > li
"
).
click
(
function
(){
"
toc
"
===
$
(
this
).
data
(
"
tab
"
)?
a
.
animate
({
opacity
:
"
0
"
,
top
:
"
-50px
"
},
300
,
function
(){
t
.
show
().
css
(
"
top
"
,
"
-50px
"
),
t
.
animate
({
opacity
:
"
1
"
,
top
:
"
0
"
},
300
)}):
t
.
animate
({
opacity
:
"
0
"
,
top
:
"
-50px
"
},
300
,
function
(){
t
.
hide
().
css
(
"
top
"
,
"
-50px
"
),
a
.
animate
({
opacity
:
"
1
"
,
top
:
"
0
"
},
300
)}),
$
(
"
.sidebar > ul > li
"
).
removeClass
(
"
current
"
),
$
(
this
).
addClass
(
"
current
"
)})}}};
NexT
.
init
();
\ No newline at end of file
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