Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
S
solo-1
Project overview
Project overview
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Administrator
solo-1
Commits
3a7613a4
Commit
3a7613a4
authored
Jun 15, 2015
by
Vanessa
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
new skins
parent
a07ce5f1
Changes
18
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
18 changed files
with
407 additions
and
321 deletions
+407
-321
war/src/main/webapp/js/common.min.js
war/src/main/webapp/js/common.min.js
+1
-1
war/src/main/webapp/js/page.min.js
war/src/main/webapp/js/page.min.js
+1
-1
war/src/main/webapp/skins/finding/archive-articles.ftl
war/src/main/webapp/skins/finding/archive-articles.ftl
+18
-27
war/src/main/webapp/skins/finding/archives.ftl
war/src/main/webapp/skins/finding/archives.ftl
+38
-0
war/src/main/webapp/skins/finding/article-list.ftl
war/src/main/webapp/skins/finding/article-list.ftl
+1
-1
war/src/main/webapp/skins/finding/article.ftl
war/src/main/webapp/skins/finding/article.ftl
+21
-5
war/src/main/webapp/skins/finding/author-articles.ftl
war/src/main/webapp/skins/finding/author-articles.ftl
+13
-23
war/src/main/webapp/skins/finding/css/finding.css
war/src/main/webapp/skins/finding/css/finding.css
+161
-2
war/src/main/webapp/skins/finding/dynamic.ftl
war/src/main/webapp/skins/finding/dynamic.ftl
+47
-177
war/src/main/webapp/skins/finding/images/next.jpg
war/src/main/webapp/skins/finding/images/next.jpg
+0
-0
war/src/main/webapp/skins/finding/images/preview.jpg
war/src/main/webapp/skins/finding/images/preview.jpg
+0
-0
war/src/main/webapp/skins/finding/js/finding.js
war/src/main/webapp/skins/finding/js/finding.js
+2
-2
war/src/main/webapp/skins/finding/links.ftl
war/src/main/webapp/skins/finding/links.ftl
+33
-0
war/src/main/webapp/skins/finding/macro-comments.ftl
war/src/main/webapp/skins/finding/macro-comments.ftl
+2
-2
war/src/main/webapp/skins/finding/page.ftl
war/src/main/webapp/skins/finding/page.ftl
+25
-25
war/src/main/webapp/skins/finding/side.ftl
war/src/main/webapp/skins/finding/side.ftl
+6
-0
war/src/main/webapp/skins/finding/tag-articles.ftl
war/src/main/webapp/skins/finding/tag-articles.ftl
+17
-25
war/src/main/webapp/skins/finding/tags.ftl
war/src/main/webapp/skins/finding/tags.ftl
+21
-30
No files found.
war/src/main/webapp/js/common.min.js
View file @
3a7613a4
var
Util
=
{
isLoggedIn
:
function
(){
if
((
$
(
"
#admin
"
).
length
===
1
&&
$
(
"
#admin
"
).
data
(
"
login
"
))
||
latkeConfig
.
isLoggedIn
===
"
true
"
){
return
true
}
else
{
return
false
}},
getUserName
:
function
(){},
error
:
function
(){
$
(
"
#tipMsg
"
).
text
(
"
Error:
"
+
arguments
[
0
]
+
"
File:
"
+
arguments
[
1
]
+
"
\n
Line:
"
+
arguments
[
2
]
+
"
please report this issue on https://github.com/b3log/solo/issues/new
"
);
$
(
"
#loadMsg
"
).
text
(
""
)},
killIE
:
function
(){
var
addKillPanel
=
function
(){
if
(
Cookie
.
readCookie
(
"
showKill
"
)
===
""
){
var
left
=
(
$
(
window
).
width
()
-
701
)
/
2
,
top
=
(
$
(
window
).
height
()
-
420
)
/
2
;
$
(
"
body
"
).
append
(
"
<div style='display: block; height: 100%; width: 100%; position: fixed; background-color: rgb(0, 0, 0); opacity: 0.6; top: 0px;z-index:11'></div><iframe style='left:
"
+
left
+
"
px;z-index:20;top:
"
+
top
+
"
px; position: fixed; border: 0px none; width: 701px; height: 420px;' src='
"
+
latkeConfig
.
servePath
+
"
/kill-browser'></iframe>
"
)}};
if
(
$
.
browser
.
msie
){
if
(
$
.
browser
.
version
===
"
6.0
"
||
$
.
browser
.
version
===
"
7.0
"
){
addKillPanel
();
return
}
if
(
window
.
external
&&
window
.
external
.
twGetRunPath
){
var
path
=
external
.
twGetRunPath
();
if
(
path
&&
path
.
toLowerCase
().
indexOf
(
"
360se
"
)
>-
1
&&
window
.
location
.
href
.
indexOf
(
"
admin-index
"
)
>-
1
){
addKillPanel
();
return
}}}},
replaceEmString
:
function
(
str
){
var
commentSplited
=
str
.
split
(
"
[em
"
);
if
(
commentSplited
.
length
===
1
){
return
str
}
str
=
commentSplited
[
0
];
for
(
var
j
=
1
;
j
<
commentSplited
.
length
;
j
++
){
var
key
=
commentSplited
[
j
].
substr
(
0
,
2
);
str
+=
"
<img src='
"
+
latkeConfig
.
staticServePath
+
"
/skins/
"
+
Label
.
skinDirName
+
"
/images/emotions/em
"
+
key
+
"
.png' alt='
"
+
Label
[
"
em
"
+
key
+
"
Label
"
]
+
"
' title='
"
+
Label
[
"
em
"
+
key
+
"
Label
"
]
+
"
'/>
"
+
commentSplited
[
j
].
substr
(
3
)}
return
str
},
proessURL
:
function
(
url
){
if
(
!
/^
\w
+:
\/\/
/
.
test
(
url
)){
url
=
"
http://
"
+
url
}
return
url
},
switchMobile
:
function
(
skin
){
Cookie
.
createCookie
(
"
btouch_switch_toggle
"
,
skin
,
365
);
setTimeout
(
function
(){
location
.
reload
()},
1250
)},
setTopBar
:
function
(){
var
$top
=
$
(
"
#top
"
);
if
(
$top
.
length
===
1
){
var
$showTop
=
$
(
"
#showTop
"
);
$showTop
.
click
(
function
(){
$top
.
slideDown
();
$showTop
.
hide
()});
$
(
"
#hideTop
"
).
click
(
function
(){
$top
.
slideUp
();
$showTop
.
show
()})}},
goTop
:
function
(){
var
acceleration
=
acceleration
||
0.1
;
var
y
=
$
(
window
).
scrollTop
();
var
speed
=
1
+
acceleration
;
window
.
scrollTo
(
0
,
Math
.
floor
(
y
/
speed
));
if
(
y
>
0
){
var
invokeFunction
=
"
Util.goTop(
"
+
acceleration
+
"
)
"
;
window
.
setTimeout
(
invokeFunction
,
16
)}},
goBottom
:
function
(
bottom
){
if
(
!
bottom
){
bottom
=
0
}
var
wHeight
=
$
(
"
body
"
).
height
()
>
$
(
document
).
height
()?
$
(
"
body
"
).
height
():
$
(
document
).
height
();
window
.
scrollTo
(
0
,
wHeight
-
$
(
window
).
height
()
-
bottom
)},
init
:
function
(){
Util
.
killIE
();
Util
.
setTopBar
()},
replaceSideEm
:
function
(
comments
){
for
(
var
i
=
0
;
i
<
comments
.
length
;
i
++
){
var
$comment
=
$
(
comments
[
i
]);
$comment
.
html
(
Util
.
replaceEmString
(
$comment
.
html
()))}},
buildTags
:
function
(
id
){
id
=
id
||
"
tags
"
;
var
classes
=
[
"
tags1
"
,
"
tags2
"
,
"
tags3
"
,
"
tags4
"
,
"
tags5
"
],
bList
=
$
(
"
#
"
+
id
+
"
b
"
).
get
();
var
max
=
parseInt
(
$
(
"
#
"
+
id
+
"
b
"
).
last
().
text
());
var
distance
=
Math
.
ceil
(
max
/
classes
.
length
);
for
(
var
i
=
0
;
i
<
bList
.
length
;
i
++
){
var
num
=
parseInt
(
bList
[
i
].
innerHTML
);
for
(
var
j
=
0
;
j
<
classes
.
length
;
j
++
){
if
(
num
>
j
*
distance
&&
num
<=
(
j
+
1
)
*
distance
){
bList
[
i
].
parentNode
.
className
=
classes
[
j
];
break
}}}
$
(
"
#
"
+
id
).
html
(
$
(
"
#
"
+
id
+
"
li
"
).
get
().
sort
(
function
(
a
,
b
){
var
valA
=
$
(
a
).
find
(
"
span
"
).
text
().
toLowerCase
();
var
valB
=
$
(
b
).
find
(
"
span
"
).
text
().
toLowerCase
();
return
valA
.
localeCompare
(
valB
)}))},
toDate
:
function
(
time
,
format
){
var
dateTime
=
new
Date
(
time
);
var
o
=
{
"
M+
"
:
dateTime
.
getMonth
()
+
1
,
"
d+
"
:
dateTime
.
getDate
(),
"
H+
"
:
dateTime
.
getHours
(),
"
m+
"
:
dateTime
.
getMinutes
(),
"
s+
"
:
dateTime
.
getSeconds
(),
"
q+
"
:
Math
.
floor
((
dateTime
.
getMonth
()
+
3
)
/
3
),
S
:
dateTime
.
getMilliseconds
()};
if
(
/
(
y+
)
/
.
test
(
format
)){
format
=
format
.
replace
(
RegExp
.
$1
,(
dateTime
.
getFullYear
()
+
""
).
substr
(
4
-
RegExp
.
$1
.
length
))}
for
(
var
k
in
o
){
if
(
new
RegExp
(
"
(
"
+
k
+
"
)
"
).
test
(
format
)){
format
=
format
.
replace
(
RegExp
.
$1
,
RegExp
.
$1
.
length
==
1
?
o
[
k
]:(
"
00
"
+
o
[
k
]).
substr
((
""
+
o
[
k
]).
length
))}}
return
format
},
getWinHeight
:
function
(){
if
(
window
.
innerHeight
){
return
window
.
innerHeight
}
if
(
document
.
compatMode
===
"
CSS1Compat
"
){
return
window
.
document
.
documentElement
.
clientHeight
}
return
window
.
document
.
body
.
clientHeight
}};
if
(
!
Cookie
){
var
Cookie
=
{
readCookie
:
function
(
name
){
var
nameEQ
=
name
+
"
=
"
;
var
ca
=
document
.
cookie
.
split
(
"
;
"
);
for
(
var
i
=
0
;
i
<
ca
.
length
;
i
++
){
var
c
=
ca
[
i
];
while
(
c
.
charAt
(
0
)
==
"
"
){
c
=
c
.
substring
(
1
,
c
.
length
)}
if
(
c
.
indexOf
(
nameEQ
)
==
0
){
return
decodeURIComponent
(
c
.
substring
(
nameEQ
.
length
,
c
.
length
))}}
return
""
},
eraseCookie
:
function
(
name
){
this
.
createCookie
(
name
,
""
,
-
1
)},
createCookie
:
function
(
name
,
value
,
days
){
var
expires
=
""
;
if
(
days
){
var
date
=
new
Date
();
date
.
setTime
(
date
.
getTime
()
+
(
days
*
24
*
60
*
60
*
1000
));
expires
=
"
; expires=
"
+
date
.
toGMTString
()}
document
.
cookie
=
name
+
"
=
"
+
encodeURIComponent
(
value
)
+
expires
+
"
; path=/
"
}}};
var
Util
=
{
isLoggedIn
:
function
(){
if
((
$
(
"
#admin
"
).
length
===
1
&&
$
(
"
#admin
"
).
data
(
"
login
"
))
||
latkeConfig
.
isLoggedIn
===
"
true
"
){
return
true
}
else
{
return
false
}},
getUserName
:
function
(){
if
(
$
(
"
#adminName
"
).
length
===
1
){
return
$
(
"
#adminName
"
).
text
()}
else
{
return
latkeConfig
.
userName
}},
error
:
function
(){
$
(
"
#tipMsg
"
).
text
(
"
Error:
"
+
arguments
[
0
]
+
"
File:
"
+
arguments
[
1
]
+
"
\n
Line:
"
+
arguments
[
2
]
+
"
please report this issue on https://github.com/b3log/solo/issues/new
"
);
$
(
"
#loadMsg
"
).
text
(
""
)},
killIE
:
function
(){
var
addKillPanel
=
function
(){
if
(
Cookie
.
readCookie
(
"
showKill
"
)
===
""
){
var
left
=
(
$
(
window
).
width
()
-
701
)
/
2
,
top
=
(
$
(
window
).
height
()
-
420
)
/
2
;
$
(
"
body
"
).
append
(
"
<div style='display: block; height: 100%; width: 100%; position: fixed; background-color: rgb(0, 0, 0); opacity: 0.6; top: 0px;z-index:11'></div><iframe style='left:
"
+
left
+
"
px;z-index:20;top:
"
+
top
+
"
px; position: fixed; border: 0px none; width: 701px; height: 420px;' src='
"
+
latkeConfig
.
servePath
+
"
/kill-browser'></iframe>
"
)}};
if
(
$
.
browser
.
msie
){
if
(
$
.
browser
.
version
===
"
6.0
"
||
$
.
browser
.
version
===
"
7.0
"
){
addKillPanel
();
return
}
if
(
window
.
external
&&
window
.
external
.
twGetRunPath
){
var
path
=
external
.
twGetRunPath
();
if
(
path
&&
path
.
toLowerCase
().
indexOf
(
"
360se
"
)
>-
1
&&
window
.
location
.
href
.
indexOf
(
"
admin-index
"
)
>-
1
){
addKillPanel
();
return
}}}},
replaceEmString
:
function
(
str
){
var
commentSplited
=
str
.
split
(
"
[em
"
);
if
(
commentSplited
.
length
===
1
){
return
str
}
str
=
commentSplited
[
0
];
for
(
var
j
=
1
;
j
<
commentSplited
.
length
;
j
++
){
var
key
=
commentSplited
[
j
].
substr
(
0
,
2
);
str
+=
"
<img src='
"
+
latkeConfig
.
staticServePath
+
"
/skins/
"
+
Label
.
skinDirName
+
"
/images/emotions/em
"
+
key
+
"
.png' alt='
"
+
Label
[
"
em
"
+
key
+
"
Label
"
]
+
"
' title='
"
+
Label
[
"
em
"
+
key
+
"
Label
"
]
+
"
'/>
"
+
commentSplited
[
j
].
substr
(
3
)}
return
str
},
proessURL
:
function
(
url
){
if
(
!
/^
\w
+:
\/\/
/
.
test
(
url
)){
url
=
"
http://
"
+
url
}
return
url
},
switchMobile
:
function
(
skin
){
Cookie
.
createCookie
(
"
btouch_switch_toggle
"
,
skin
,
365
);
setTimeout
(
function
(){
location
.
reload
()},
1250
)},
setTopBar
:
function
(){
var
$top
=
$
(
"
#top
"
);
if
(
$top
.
length
===
1
){
var
$showTop
=
$
(
"
#showTop
"
);
$showTop
.
click
(
function
(){
$top
.
slideDown
();
$showTop
.
hide
()});
$
(
"
#hideTop
"
).
click
(
function
(){
$top
.
slideUp
();
$showTop
.
show
()})}},
goTop
:
function
(){
var
acceleration
=
acceleration
||
0.1
;
var
y
=
$
(
window
).
scrollTop
();
var
speed
=
1
+
acceleration
;
window
.
scrollTo
(
0
,
Math
.
floor
(
y
/
speed
));
if
(
y
>
0
){
var
invokeFunction
=
"
Util.goTop(
"
+
acceleration
+
"
)
"
;
window
.
setTimeout
(
invokeFunction
,
16
)}},
goBottom
:
function
(
bottom
){
if
(
!
bottom
){
bottom
=
0
}
var
wHeight
=
$
(
"
body
"
).
height
()
>
$
(
document
).
height
()?
$
(
"
body
"
).
height
():
$
(
document
).
height
();
window
.
scrollTo
(
0
,
wHeight
-
$
(
window
).
height
()
-
bottom
)},
init
:
function
(){
Util
.
killIE
();
Util
.
setTopBar
()},
replaceSideEm
:
function
(
comments
){
for
(
var
i
=
0
;
i
<
comments
.
length
;
i
++
){
var
$comment
=
$
(
comments
[
i
]);
$comment
.
html
(
Util
.
replaceEmString
(
$comment
.
html
()))}},
buildTags
:
function
(
id
){
id
=
id
||
"
tags
"
;
var
classes
=
[
"
tags1
"
,
"
tags2
"
,
"
tags3
"
,
"
tags4
"
,
"
tags5
"
],
bList
=
$
(
"
#
"
+
id
+
"
b
"
).
get
();
var
max
=
parseInt
(
$
(
"
#
"
+
id
+
"
b
"
).
last
().
text
());
var
distance
=
Math
.
ceil
(
max
/
classes
.
length
);
for
(
var
i
=
0
;
i
<
bList
.
length
;
i
++
){
var
num
=
parseInt
(
bList
[
i
].
innerHTML
);
for
(
var
j
=
0
;
j
<
classes
.
length
;
j
++
){
if
(
num
>
j
*
distance
&&
num
<=
(
j
+
1
)
*
distance
){
bList
[
i
].
parentNode
.
className
=
classes
[
j
];
break
}}}
$
(
"
#
"
+
id
).
html
(
$
(
"
#
"
+
id
+
"
li
"
).
get
().
sort
(
function
(
a
,
b
){
var
valA
=
$
(
a
).
find
(
"
span
"
).
text
().
toLowerCase
();
var
valB
=
$
(
b
).
find
(
"
span
"
).
text
().
toLowerCase
();
return
valA
.
localeCompare
(
valB
)}))},
toDate
:
function
(
time
,
format
){
var
dateTime
=
new
Date
(
time
);
var
o
=
{
"
M+
"
:
dateTime
.
getMonth
()
+
1
,
"
d+
"
:
dateTime
.
getDate
(),
"
H+
"
:
dateTime
.
getHours
(),
"
m+
"
:
dateTime
.
getMinutes
(),
"
s+
"
:
dateTime
.
getSeconds
(),
"
q+
"
:
Math
.
floor
((
dateTime
.
getMonth
()
+
3
)
/
3
),
S
:
dateTime
.
getMilliseconds
()};
if
(
/
(
y+
)
/
.
test
(
format
)){
format
=
format
.
replace
(
RegExp
.
$1
,(
dateTime
.
getFullYear
()
+
""
).
substr
(
4
-
RegExp
.
$1
.
length
))}
for
(
var
k
in
o
){
if
(
new
RegExp
(
"
(
"
+
k
+
"
)
"
).
test
(
format
)){
format
=
format
.
replace
(
RegExp
.
$1
,
RegExp
.
$1
.
length
==
1
?
o
[
k
]:(
"
00
"
+
o
[
k
]).
substr
((
""
+
o
[
k
]).
length
))}}
return
format
},
getWinHeight
:
function
(){
if
(
window
.
innerHeight
){
return
window
.
innerHeight
}
if
(
document
.
compatMode
===
"
CSS1Compat
"
){
return
window
.
document
.
documentElement
.
clientHeight
}
return
window
.
document
.
body
.
clientHeight
}};
if
(
!
Cookie
){
var
Cookie
=
{
readCookie
:
function
(
name
){
var
nameEQ
=
name
+
"
=
"
;
var
ca
=
document
.
cookie
.
split
(
"
;
"
);
for
(
var
i
=
0
;
i
<
ca
.
length
;
i
++
){
var
c
=
ca
[
i
];
while
(
c
.
charAt
(
0
)
==
"
"
){
c
=
c
.
substring
(
1
,
c
.
length
)}
if
(
c
.
indexOf
(
nameEQ
)
==
0
){
return
decodeURIComponent
(
c
.
substring
(
nameEQ
.
length
,
c
.
length
))}}
return
""
},
eraseCookie
:
function
(
name
){
this
.
createCookie
(
name
,
""
,
-
1
)},
createCookie
:
function
(
name
,
value
,
days
){
var
expires
=
""
;
if
(
days
){
var
date
=
new
Date
();
date
.
setTime
(
date
.
getTime
()
+
(
days
*
24
*
60
*
60
*
1000
));
expires
=
"
; expires=
"
+
date
.
toGMTString
()}
document
.
cookie
=
name
+
"
=
"
+
encodeURIComponent
(
value
)
+
expires
+
"
; path=/
"
}}};
\ No newline at end of file
\ No newline at end of file
war/src/main/webapp/js/page.min.js
View file @
3a7613a4
This diff is collapsed.
Click to expand it.
war/src/main/webapp/skins/finding/archive-articles.ftl
View file @
3a7613a4
...
@@ -7,33 +7,24 @@
...
@@ -7,33 +7,24 @@
<meta
name=
"description"
content=
"<#list articles as article>${article.articleTitle}<#if article_has_next>,</#if></#list>"
/>
<meta
name=
"description"
content=
"<#list articles as article>${article.articleTitle}<#if article_has_next>,</#if></#list>"
/>
</
@
head>
</
@
head>
</head>
</head>
<body>
<body
class=
"nav-closed"
>
${topBarReplacement}
<div
class=
"nav"
>
<div
class=
"content"
>
<
#include
"
side
.
ftl
"
>
<div
class=
"header"
>
<
#include
"
header
.
ftl
"
>
</div>
</div>
<div
class=
"body"
>
<div
class=
"site-wrapper"
>
<div
class=
"left main"
>
<
#include
"
header
.
ftl
"
>
<div>
<main
id=
"content"
class=
"fn-wrap"
>
<h2
class=
"marginLeft12 marginBottom12"
>
${archive1Label}
<h2>
${archive1Label}
<
#if
"
en
"
==
localeString
?
substring
(
0
,
2
)
>
<
#if
"
en
"
==
localeString
?
substring
(
0
,
2
)
>
${archiveDate.archiveDateMonth} ${archiveDate.archiveDateYear} (${archiveDate.archiveDatePublishedArticleCount})
${archiveDate.archiveDateMonth} ${archiveDate.archiveDateYear} (${archiveDate.archiveDatePublishedArticleCount})
<
#else
>
<
#else
>
${archiveDate.archiveDateYear} ${yearLabel} ${archiveDate.archiveDateMonth} ${monthLabel} (${archiveDate.archiveDatePublishedArticleCount})
${archiveDate.archiveDateYear} ${yearLabel} ${archiveDate.archiveDateMonth} ${monthLabel} (${archiveDate.archiveDatePublishedArticleCount})
</
#
if>
</
#
if>
</h2>
</h2>
</div>
<
#include
"
article-list
.
ftl
"
>
<
#include
"
article-list
.
ftl
"
>
</div>
</main>
<div
class=
"right side"
>
<
#include
"
side
.
ftl
"
>
</div>
<div
class=
"clear"
></div>
</div>
<div
class=
"footer"
>
<
#include
"
footer
.
ftl
"
>
<
#include
"
footer
.
ftl
"
>
</div>
</div>
</div>
</body>
</body>
</html>
</html>
war/src/main/webapp/skins/finding/archives.ftl
0 → 100644
View file @
3a7613a4
<
#include
"
macro-head
.
ftl
"
>
<!DOCTYPE html>
<html>
<head>
<
@
head
title=
"${blogTitle}"
>
<meta
name=
"keywords"
content=
"${metaKeywords},${archiveLabel}"
/>
<meta
name=
"description"
content=
"${metaDescription},${archiveLabel}"
/>
</
@
head>
</head>
<body
class=
"nav-closed"
>
<div
class=
"nav"
>
<
#include
"
side
.
ftl
"
>
</div>
<div
class=
"site-wrapper"
>
<
#include
"
header
.
ftl
"
>
<main
id=
"content"
class=
"fn-wrap"
>
<
#if
0
!=
archiveDates
?
size
>
<ul
class=
"fn-clear"
id=
'tags'
>
<
#list
archiveDates
as
archiveDate
>
<li>
<
#if
"
en
"
==
localeString
?
substring
(
0
,
2
)
>
<a
href=
"${servePath}/archives/${archiveDate.archiveDateYear}/${archiveDate.archiveDateMonth}"
title=
"${archiveDate.monthName} ${archiveDate.archiveDateYear}(${archiveDate.archiveDatePublishedArticleCount})"
>
${archiveDate.monthName} ${archiveDate.archiveDateYear}(${archiveDate.archiveDatePublishedArticleCount})
</a>
<
#else
>
<a
href=
"${servePath}/archives/${archiveDate.archiveDateYear}/${archiveDate.archiveDateMonth}"
title=
"${archiveDate.archiveDateYear} ${yearLabel} ${archiveDate.archiveDateMonth} ${monthLabel}(${archiveDate.archiveDatePublishedArticleCount})"
>
${archiveDate.archiveDateYear} ${yearLabel} ${archiveDate.archiveDateMonth} ${monthLabel}(${archiveDate.archiveDatePublishedArticleCount})
</a>
</
#
if>
</li>
</
#
list>
</ul>
</
#
if>
</main>
<
#include
"
footer
.
ftl
"
>
</div>
</body>
</html>
war/src/main/webapp/skins/finding/article-list.ftl
View file @
3a7613a4
<#if !isIndex>
<#if !isIndex
&& paginationCurrentPageNum != 1
>
<nav class="pagination fn-clear" role="navigation">
<nav class="pagination fn-clear" role="navigation">
<#if paginationCurrentPageNum != 1>
<#if paginationCurrentPageNum != 1>
<a class="fn-left" href="${servePath}${path}/${paginationPreviousPageNum}">← ${previousPageLabel}</a>
<a class="fn-left" href="${servePath}${path}/${paginationPreviousPageNum}">← ${previousPageLabel}</a>
...
...
war/src/main/webapp/skins/finding/article.ftl
View file @
3a7613a4
...
@@ -68,11 +68,27 @@
...
@@ -68,11 +68,27 @@
</article>
</article>
<
@
comments
commentList=
articleComments
article=
article
></
@
comments>
<
@
comments
commentList=
articleComments
article=
article
></
@
comments>
</main>
</main>
<
#if
nextArticlePermalink
??
||
previousArticlePermalink
??
>
<aside
class=
"read-next"
>
<
#if
nextArticlePermalink
??
>
<
#if
nextArticlePermalink
??
>
<a
href=
"${servePath}${nextArticlePermalink}"
>
${nextArticle1Label}${nextArticleTitle}
</a>
${nextArticleAbstract}
<br/>
<a
class=
"read-next-story "
style=
"background-image: url('${staticServePath}/skins/${skinDirName}/images/next.jpg')"
href=
"${servePath}${nextArticlePermalink}"
>
<section
class=
"post"
>
<h2>
${nextArticleTitle}
</h2>
<p>
${nextArticleAbstract}
</p>
</section>
</a>
</
#
if>
</
#
if>
<
#if
previousArticlePermalink
??
>
<
#if
previousArticlePermalink
??
>
<a
href=
"${servePath}${previousArticlePermalink}"
>
${previousArticle1Label}${previousArticleTitle}
</a>
${previousArticleAbstract}
<a
class=
"read-next-story prev "
style=
"background-image: url('${staticServePath}/skins/${skinDirName}/images/preview.jpg')"
href=
"${servePath}${previousArticlePermalink}"
>
<section
class=
"post"
>
<h2>
${previousArticleTitle}
</h2>
<p>
${previousArticleAbstract}
</p>
</section>
</a>
</
#
if>
</aside>
</
#
if>
</
#
if>
<
#include
"
footer
.
ftl
"
>
<
#include
"
footer
.
ftl
"
>
...
...
war/src/main/webapp/skins/finding/author-articles.ftl
View file @
3a7613a4
...
@@ -7,29 +7,19 @@
...
@@ -7,29 +7,19 @@
<meta
name=
"description"
content=
"<#list articles as article>${article.articleTitle}<#if article_has_next>,</#if></#list>"
/>
<meta
name=
"description"
content=
"<#list articles as article>${article.articleTitle}<#if article_has_next>,</#if></#list>"
/>
</
@
head>
</
@
head>
</head>
</head>
<body>
<body
class=
"nav-closed"
>
${topBarReplacement}
<div
class=
"nav"
>
<div
class=
"content"
>
<
#include
"
side
.
ftl
"
>
<div
class=
"header"
>
<
#include
"
header
.
ftl
"
>
</div>
</div>
<div
class=
"body
"
>
<div
class=
"site-wrapper
"
>
<div
class=
"left main
"
>
<
#include
"
header
.
ftl
"
>
<div
>
<main
id=
"content"
class=
"fn-wrap"
>
<h2
class=
"marginLeft12 marginBottom12"
>
<h2
>
${author1Label}${authorName}
${author1Label}${authorName}
</h2>
</h2>
</div>
<
#include
"
article-list
.
ftl
"
>
<
#include
"
article-list
.
ftl
"
>
</div>
</main>
<div
class=
"right side"
>
<
#include
"
side
.
ftl
"
>
</div>
<div
class=
"clear"
></div>
</div>
<div
class=
"footer"
>
<
#include
"
footer
.
ftl
"
>
<
#include
"
footer
.
ftl
"
>
</div>
</div>
</div>
</body>
</body>
</html>
</html>
war/src/main/webapp/skins/finding/css/finding.css
View file @
3a7613a4
...
@@ -721,7 +721,7 @@ body.nav-opened .nav {
...
@@ -721,7 +721,7 @@ body.nav-opened .nav {
/* end header */
/* end header */
/* start article */
/* start article */
.post
{
article
.post
{
position
:
relative
;
position
:
relative
;
margin
:
4rem
auto
;
margin
:
4rem
auto
;
padding-bottom
:
4rem
;
padding-bottom
:
4rem
;
...
@@ -729,7 +729,7 @@ body.nav-opened .nav {
...
@@ -729,7 +729,7 @@ body.nav-opened .nav {
word-wrap
:
break-word
;
word-wrap
:
break-word
;
}
}
.post
:after
{
article
.post
:after
{
display
:
block
;
display
:
block
;
content
:
""
;
content
:
""
;
width
:
7px
;
width
:
7px
;
...
@@ -912,8 +912,167 @@ ul.comments {
...
@@ -912,8 +912,167 @@ ul.comments {
display
:
inline-block
;
display
:
inline-block
;
vertical-align
:
inherit
;
vertical-align
:
inherit
;
}
}
.read-next
{
display
:
-webkit-box
;
display
:
-webkit-flex
;
display
:
-ms-flexbox
;
display
:
flex
;
-webkit-box-align
:
stretch
;
-webkit-align-items
:
stretch
;
-ms-flex-align
:
stretch
;
align-items
:
stretch
;
margin-top
:
10rem
;
}
.read-next-story
{
display
:
-webkit-box
;
display
:
-webkit-flex
;
display
:
-ms-flexbox
;
display
:
flex
;
-webkit-box-flex
:
1
;
-webkit-flex-grow
:
1
;
-ms-flex-positive
:
1
;
flex-grow
:
1
;
min-width
:
50%
;
text-decoration
:
none
;
position
:
relative
;
text-align
:
center
;
color
:
#fff
;
background
:
#222
no-repeat
center
center
;
background-size
:
cover
;
overflow
:
hidden
;
}
.read-next-story
:hover:before
{
background
:
rgba
(
0
,
0
,
0
,
0.8
);
transition
:
all
0.2s
ease
;
}
.read-next-story
:hover
.post
:before
{
color
:
#222
;
background
:
#fff
;
transition
:
all
0.2s
ease
;
}
.read-next-story
:before
{
content
:
""
;
display
:
block
;
position
:
absolute
;
top
:
0
;
right
:
0
;
bottom
:
0
;
left
:
0
;
background
:
rgba
(
0
,
0
,
0
,
0.7
);
transition
:
all
0.5s
ease
;
}
.read-next-story
.post
{
padding-top
:
6rem
;
padding-bottom
:
6rem
;
width
:
80%
;
position
:
relative
;
margin
:
0
auto
;
}
.read-next-story
.post
:before
{
content
:
"Read This Next"
;
padding
:
4px
10px
5px
;
text-transform
:
uppercase
;
font-size
:
1.1rem
;
font-family
:
"Open Sans"
,
sans-serif
;
color
:
rgba
(
255
,
255
,
255
,
0.8
);
border
:
rgba
(
255
,
255
,
255
,
0.5
)
1px
solid
;
border-radius
:
4px
;
transition
:
all
0.5s
ease
;
}
.read-next-story.prev
.post
:before
{
content
:
"Read This Before"
;
}
.read-next-story
h2
{
margin-top
:
1rem
;
color
:
#fff
;
}
.read-next-story
p
{
margin
:
0
;
color
:
rgba
(
255
,
255
,
255
,
0.8
);
}
.read-next-story.no-cover
{
background
:
#f5f8fa
;
}
.read-next-story.no-cover
:before
{
display
:
none
;
}
.read-next-story.no-cover
.post
:before
{
color
:
rgba
(
0
,
0
,
0
,
0.5
);
border-color
:
rgba
(
0
,
0
,
0
,
0.2
);
}
.read-next-story.no-cover
h2
{
color
:
rgba
(
0
,
0
,
0
,
0.8
);
}
.read-next-story.no-cover
p
{
color
:
rgba
(
0
,
0
,
0
,
0.5
);
}
.read-next-story.no-cover
+
.read-next-story.no-cover
{
border-left
:
rgba
(
0
,
0
,
100
,
0.04
)
1px
solid
;
}
.read-next
+
.site-footer
{
position
:
absolute
;
bottom
:
0
;
left
:
0
;
right
:
0
;
margin
:
0
;
}
/* end article */
/* end article */
/* start tags */
#tags
li
{
list-style
:
none
;
float
:
left
;
}
#tags
li
a
{
border
:
1px
solid
#4A4A4A
;
display
:
inline-block
;
padding
:
10px
;
margin
:
1rem
;
border-radius
:
5px
;
text-decoration
:
none
;
}
#tags
li
a
:hover
{
border
:
1px
solid
#FFF
;
color
:
#FFF
;
background-color
:
#4A4A4A
;
}
/* end tags */
/* start dynamic */
.dynamic
.read-next-story
>
div
{
position
:
relative
;
width
:
60%
;
margin
:
50px
auto
;
text-align
:
left
;
}
.dynamic
a
{
text-decoration
:
none
;
margin
:
0
;
color
:
rgba
(
255
,
255
,
255
,
0.8
);
}
.dynamic
a
:hover
{
color
:
rgba
(
255
,
255
,
255
,
0.5
);
}
/* end dynamic */
/* start footer */
/* start footer */
.site-footer
{
.site-footer
{
position
:
relative
;
position
:
relative
;
...
...
war/src/main/webapp/skins/finding/dynamic.ftl
View file @
3a7613a4
This diff is collapsed.
Click to expand it.
war/src/main/webapp/skins/finding/images/next.jpg
0 → 100644
View file @
3a7613a4
111 KB
war/src/main/webapp/skins/finding/images/preview.jpg
0 → 100644
View file @
3a7613a4
193 KB
war/src/main/webapp/skins/finding/js/finding.js
View file @
3a7613a4
...
@@ -55,8 +55,8 @@ var Finding = {
...
@@ -55,8 +55,8 @@ var Finding = {
share
:
function
()
{
share
:
function
()
{
$
(
"
.share span
"
).
click
(
function
()
{
$
(
"
.share span
"
).
click
(
function
()
{
var
key
=
$
(
this
).
data
(
"
type
"
);
var
key
=
$
(
this
).
data
(
"
type
"
);
var
title
=
encodeURIComponent
(
$
.
trim
(
$
(
"
.post-title a
"
).
text
())
+
"
-
"
+
$
.
trim
(
$
(
"
.post-author span
"
).
text
()
)),
var
title
=
encodeURIComponent
(
$
(
"
title
"
).
text
(
)),
url
=
$
(
"
.post-title a
"
).
attr
(
'
href
'
),
url
=
$
(
"
.post-title a
"
).
attr
(
'
href
'
)
?
$
(
"
.post-title a
"
).
attr
(
'
href
'
)
:
location
,
pic
=
$
(
"
.post-content img:eq(0)
"
).
attr
(
"
src
"
);
pic
=
$
(
"
.post-content img:eq(0)
"
).
attr
(
"
src
"
);
var
urls
=
{};
var
urls
=
{};
urls
.
tencent
=
"
http://share.v.t.qq.com/index.php?c=share&a=index&title=
"
+
title
+
urls
.
tencent
=
"
http://share.v.t.qq.com/index.php?c=share&a=index&title=
"
+
title
+
...
...
war/src/main/webapp/skins/finding/links.ftl
0 → 100644
View file @
3a7613a4
<
#include
"
macro-head
.
ftl
"
>
<!DOCTYPE html>
<html>
<head>
<
@
head
title=
"${blogTitle}"
>
<meta
name=
"keywords"
content=
"${metaKeywords},${linkLabel}"
/>
<meta
name=
"description"
content=
"${metaDescription},${linkLabel}"
/>
</
@
head>
</head>
<body
class=
"nav-closed"
>
<div
class=
"nav"
>
<
#include
"
side
.
ftl
"
>
</div>
<div
class=
"site-wrapper"
>
<
#include
"
header
.
ftl
"
>
<main
id=
"content"
class=
"fn-wrap"
>
<
#if
0
!=
links
?
size
>
<ul
class=
"fn-clear"
id=
"tags"
>
<
#list
links
as
link
>
<li>
<a
rel=
"friend"
href=
"${link.linkAddress}"
title=
"${link.linkDescription}"
target=
"_blank"
>
<img
src=
"${faviconAPI}<#list link.linkAddress?split('/') as x><#if x_index=2>${x}<#break></#if></#list>"
width=
"16"
height=
"16"
/>
${link.linkTitle}
</a>
</li>
</
#
list>
</ul>
</
#
if>
</main>
<
#include
"
footer
.
ftl
"
>
</div>
</body>
</html>
war/src/main/webapp/skins/finding/macro-comments.ftl
View file @
3a7613a4
...
@@ -115,7 +115,7 @@
...
@@ -115,7 +115,7 @@
"externalRelevantArticles1Label": "${externalRelevantArticles1Label}"
"externalRelevantArticles1Label": "${externalRelevantArticles1Label}"
});
});
var addComment = function (result, state) {
var addComment = function (result, state) {
var commentable =
"${article.commentable?string}"
;
var commentable =
$("#commentForm").length === 0 ? false : true
;
var commentHTML = '<li class="fn-clear" id="' + result.oId +
var commentHTML = '<li class="fn-clear" id="' + result.oId +
'"><div class="fn-left" style="width: 10%"><img class="avatar-48" title="'
'"><div class="fn-left" style="width: 10%"><img class="avatar-48" title="'
+ result.userName + '" src="' + result.commentThumbnailURL + '"></div><div class="fn-left" style="width: 90%">'
+ result.userName + '" src="' + result.commentThumbnailURL + '"></div><div class="fn-left" style="width: 90%">'
...
@@ -131,7 +131,7 @@
...
@@ -131,7 +131,7 @@
commentHTML += '<time>' + result.commentDate
commentHTML += '<time>' + result.commentDate
+ '</time></span>';
+ '</time></span>';
if (commentable
=== 'true'
) {
if (commentable) {
commentHTML += '<a class="fn-right" href="javascript:replyTo(\'' + result.oId + '\');">${replyLabel}</a>';
commentHTML += '<a class="fn-right" href="javascript:replyTo(\'' + result.oId + '\');">${replyLabel}</a>';
}
}
commentHTML += '</div><div class="comment-content">' +
commentHTML += '</div><div class="comment-content">' +
...
...
war/src/main/webapp/skins/finding/page.ftl
View file @
3a7613a4
...
@@ -8,32 +8,32 @@
...
@@ -8,32 +8,32 @@
<meta
name=
"description"
content=
"${metaDescription}"
/>
<meta
name=
"description"
content=
"${metaDescription}"
/>
</
@
head>
</
@
head>
</head>
</head>
<body>
<body
class=
"nav-closed"
>
${topBarReplacement}
<div
class=
"nav"
>
<div
class=
"content"
>
<
#include
"
side
.
ftl
"
>
<div
class=
"header"
>
<
#include
"
header
.
ftl
"
>
</div>
</div>
<div
class=
"body
"
>
<div
class=
"site-wrapper
"
>
<div
class=
"left main
"
>
<
#include
"
header
.
ftl
"
>
<div
>
<main
class=
"fn-wrap"
>
<div
class=
"article
"
>
<article
class=
"post
"
>
<div
class=
"article-body
"
>
<section
class=
"post-content
"
>
${page.pageContent}
${page.pageContent}
</div>
</section>
</div>
<footer>
<div
class=
"share fn-right"
>
<span
class=
"icon icon-tencent"
data-type=
"tencent"
></span>
<span
class=
"icon icon-weibo"
data-type=
"weibo"
></span>
<span
class=
"icon icon-twitter"
data-type=
"twitter"
></span>
<span
class=
"icon icon-google"
data-type=
"google"
></span>
</div>
</footer>
</article>
<
@
comments
commentList=
pageComments
article=
page
></
@
comments>
<
@
comments
commentList=
pageComments
article=
page
></
@
comments>
</div>
</main>
</div>
<div
class=
"right side"
>
<
#include
"
side
.
ftl
"
>
</div>
<div
class=
"clear"
></div>
</div>
<div
class=
"footer"
>
<
#include
"
footer
.
ftl
"
>
<
#include
"
footer
.
ftl
"
>
</div>
</div>
<
@
comment_script
oId=
page.oId
></
@
comment
_script
>
<
@
comment_script
oId=
page.oId
></
@
comment
_script
>
</div>
</body>
</body>
</html>
</html>
war/src/main/webapp/skins/finding/side.ftl
View file @
3a7613a4
...
@@ -23,6 +23,12 @@
...
@@ -23,6 +23,12 @@
<li>
<li>
<a href="${servePath}/tags.html">${allTagsLabel}</a>
<a href="${servePath}/tags.html">${allTagsLabel}</a>
</li>
</li>
<li>
<a href="${servePath}/archives.html">${archiveLabel}</a>
</li>
<li>
<a href="${servePath}/links.html">${linkLabel}</a>
</li>
<li>
<li>
<a rel="alternate" href="${servePath}/blog-articles-feed.do">${atomLabel}</a>
<a rel="alternate" href="${servePath}/blog-articles-feed.do">${atomLabel}</a>
</li>
</li>
...
...
war/src/main/webapp/skins/finding/tag-articles.ftl
View file @
3a7613a4
...
@@ -7,31 +7,23 @@
...
@@ -7,31 +7,23 @@
<meta
name=
"description"
content=
"<#list articles as article>${article.articleTitle}<#if article_has_next>,</#if></#list>"
/>
<meta
name=
"description"
content=
"<#list articles as article>${article.articleTitle}<#if article_has_next>,</#if></#list>"
/>
</
@
head>
</
@
head>
</head>
</head>
<body>
<body
class=
"nav-closed"
>
${topBarReplacement}
<div
class=
"nav"
>
<div
class=
"content"
>
<
#include
"
side
.
ftl
"
>
<div
class=
"header"
>
<
#include
"
header
.
ftl
"
>
</div>
</div>
<div
class=
"body"
>
<div
class=
"site-wrapper"
>
<div
class=
"left main"
>
<
#include
"
header
.
ftl
"
>
<div>
<main
id=
"content"
class=
"fn-wrap"
>
<h2
class=
"marginLeft12 marginBottom12"
>
${tag1Label}
<h2>
<a
rel=
"alternate"
href=
"${servePath}/tag-articles-feed.do?oId=${tag.oId}"
><span
id=
"tagArticlesTag"
>
${tag1Label}
<a
rel=
"alternate"
href=
"${servePath}/tag-articles-feed.do?oId=${tag.oId}"
>
${tag.tagTitle}
${tag.tagTitle}
</span>
(${tag.tagPublishedRefCount})
</a>
(${tag.tagPublishedRefCount})
</a>
</h2>
</h2>
</div>
<
#include
"
article-list
.
ftl
"
>
<
#include
"
article-list
.
ftl
"
>
</div>
</main>
<div
class=
"right side"
>
<
#include
"
side
.
ftl
"
>
</div>
<div
class=
"clear"
></div>
</div>
<div
class=
"footer"
>
<
#include
"
footer
.
ftl
"
>
<
#include
"
footer
.
ftl
"
>
</div>
</div>
</div>
</body>
</body>
</html>
</html>
war/src/main/webapp/skins/finding/tags.ftl
View file @
3a7613a4
...
@@ -7,16 +7,14 @@
...
@@ -7,16 +7,14 @@
<meta
name=
"description"
content=
"<#list tags as tag>${tag.tagTitle}<#if tag_has_next>,</#if></#list>"
/>
<meta
name=
"description"
content=
"<#list tags as tag>${tag.tagTitle}<#if tag_has_next>,</#if></#list>"
/>
</
@
head>
</
@
head>
</head>
</head>
<body>
<body
class=
"nav-closed"
>
${topBarReplacement}
<div
class=
"nav"
>
<div
class=
"content"
>
<
#include
"
side
.
ftl
"
>
<div
class=
"header"
>
<
#include
"
header
.
ftl
"
>
</div>
</div>
<div
class=
"body
"
>
<div
class=
"site-wrapper
"
>
<div
class=
"left main
"
>
<
#include
"
header
.
ftl
"
>
<div
>
<main
id=
"content"
class=
"fn-wrap"
>
<ul
id=
"tags
"
>
<ul
id=
"tags"
class=
"fn-clear
"
>
<
#list
tags
as
tag
>
<
#list
tags
as
tag
>
<li>
<li>
<a
rel=
"tag"
data-count=
"${tag.tagPublishedRefCount}"
<a
rel=
"tag"
data-count=
"${tag.tagPublishedRefCount}"
...
@@ -27,19 +25,12 @@
...
@@ -27,19 +25,12 @@
</li>
</li>
</
#
list>
</
#
list>
</ul>
</ul>
</div>
</main>
</div>
<div
class=
"right side"
>
<
#include
"
side
.
ftl
"
>
</div>
<div
class=
"clear"
></div>
</div>
<div
class=
"footer"
>
<
#include
"
footer
.
ftl
"
>
<
#include
"
footer
.
ftl
"
>
</div>
</div>
</div>
<script
type=
"text/javascript"
>
<script
type=
"text/javascript"
>
Util
.
buildTags
();
Util
.
buildTags
();
</script>
</script>
</body>
</body>
</body>
</html>
</html>
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