Van
2019-02-21 18:16:59 +08:00
parent d7e9db917c
commit 755eb33471
134 changed files with 1846 additions and 1598 deletions

View File

@@ -46,7 +46,7 @@
</div>
<div class="clear"></div>
</div>
<div class="article-body">
<div class="content-reset">
<div id="abstract${article.oId}">
${article.articleAbstract}
</div>

View File

@@ -97,7 +97,7 @@
</div>
</div>
<hr />
<div class="clearfix" style="margin-top: 5px;">
<div class="clearfix content-reset" style="margin-top: 5px;">
${article.articleContent}
<#if "" != article.articleSign.signHTML?trim>
<p>

View File

@@ -0,0 +1,18 @@
/**
* Solo - A small and beautiful blogging system written in Java.
* Copyright (c) 2010-2019, b3log.org & hacpai.com
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
.content-reset{word-wrap:break-word;overflow:auto;line-height:1.65;font-size:16px;word-break:break-word}.content-reset ul,.content-reset ol{padding-left:2em;margin-top:0;margin-bottom:16px}.content-reset li{margin-top:0.25em}.content-reset img{cursor:zoom-in}.content-reset img.emoji{cursor:auto;max-width:18px}.content-reset h1,.content-reset h2,.content-reset h3,.content-reset h4,.content-reset h5,.content-reset h6{margin-top:24px;margin-bottom:16px;font-weight:600;line-height:1.25}.content-reset h1{padding-bottom:0.3em;font-size:1.7em;border-bottom:1px solid #eee}.content-reset h2{padding-bottom:0.3em;font-size:1.5em;border-bottom:1px solid #eee}.content-reset h3{font-size:1.25em}.content-reset h4{font-size:1em}.content-reset h5{font-size:0.875em}.content-reset h6{font-size:0.85em}.content-reset hr{height:0.15em;padding:0;margin:24px 0;background-color:#e7e7e7;border:0}.content-reset p{margin-top:0;margin-bottom:16px}.content-reset blockquote{padding:0 1em;color:#777;border-left:0.25em solid #ddd;margin-bottom:16px}.content-reset blockquote p{margin:0}.content-reset ins>iframe{border:0}.content-reset iframe{border:1px solid rgba(0,0,0,0.38)}.content-reset table{width:100%;border:1px solid #dedede;margin:15px auto;border-collapse:collapse;empty-cells:show}.content-reset thead{text-align:center}.content-reset td,.content-reset th{height:35px;border:1px solid #dedede;padding:0 10px}.content-reset th{font-weight:bold;text-align:center !important;background:rgba(158,188,226,0.2)}.content-reset tbody tr:nth-child(2n){background:rgba(158,188,226,0.12)}.content-reset tr:hover{background:#efefef}.content-reset code{padding:0.2em 0.4em;margin:0;font-size:85%;background-color:rgba(252,41,41,0.12);border-radius:3px;word-break:break-word}.content-reset pre{position:relative}.content-reset pre textarea{position:absolute;top:-100000px}.content-reset pre>code{padding:0.5em;background-color:rgba(0,0,0,0.04);background-size:20px 20px;border-radius:5px;display:block}.content-reset kbd{display:inline-block;padding:3px 5px;font:11px Consolas, "Liberation Mono", Menlo, Courier, monospace;line-height:10px;color:#555;vertical-align:middle;background-color:#fcfcfc;border:solid 1px rgba(0,0,0,0.38);border-bottom-color:#bbb;border-radius:3px;box-shadow:inset 0 -1px 0 #bbb}.content-reset__task,.content-reset .task-list-item{list-style:none;margin-left:-1em}.img-preview{width:100%;height:100%;top:0;z-index:211;overflow:auto;cursor:zoom-out;transition:background-color .2s ease-in-out}.img-preview img{max-width:inherit;transition:transform .3s ease-in-out}#comments{position:relative}.comment-header{float:left;background-color:#FFF;border:1px solid #DEDEDE;padding:2px;height:60px;width:60px}.comment-panel{float:left;line-height:16px;margin:0 0 20px 10px;min-height:64px;overflow:hidden;width:790px}.comment-body-ref{background-color:#FCFCFC;box-shadow:0 0 2px #D5D5D5;display:block;left:127px;padding:10px;opacity:0.9;filter:alpha(opacity=90);position:absolute}.comment-body-ref>.comment-header{border:0 none;float:right;height:48px;width:48px;padding:0}.comment-body-ref>.comment-panel{margin:0 20px 0 0;min-height:48px;width:650px}.comment-body-ref>.comment-panel>.right{display:none}.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}

View File

@@ -15,7 +15,7 @@
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
@import "../../../scss/reset-content";
#comments{position:relative;}
.comment-header{float:left;background-color:#FFF;border:1px solid #DEDEDE;padding:2px;height:60px;width:60px;}
.comment-panel{float:left;line-height:16px;margin:0 0 20px 10px;min-height:64px;overflow:hidden;width:790px;}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -1,64 +0,0 @@
/**
* Solo - A small and beautiful blogging system written in Java.
* Copyright (c) 2010-2019, b3log.org & hacpai.com
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
/*
* skin ease style for IE8
*
* @author <a href="mailto:LLY219@gmail.com">Liyuan Li</a>
* @version 1.0.0.1, May 22, 2012
*/
.nav {
border-top: 1px solid #e2e2e2;
border-bottom: 1px solid #e2e2e2;
}
.article-next {
border: 1px solid #e2e2e2;
border-top-color: #fefefe;
}
.article-next:hover {
background-color: #f2f2f2;
border: 1px solid #e2e2e2;
}
.comment-body-ref {
border: 1px solid #e2e2e2;
}
#tags a,
.archives > div,
.dynamic .module,
.form input[type="text"],
.form input[type="password"],
.form textarea,
.article-relative {
border: 1px solid #f2f2f2;
}
#tags a:hover,
.archives>div:hover,
.dynamic .module:hover,
.form input:focus,
.form textarea:focus,
.article-relative:hover {
border: 1px solid #e2e2e2;
}
.article-relative {
width: 363px;
}

View File

@@ -1 +0,0 @@
.nav{border-top:1px solid #e2e2e2;border-bottom:1px solid #e2e2e2}.article-next{border:1px solid #e2e2e2;border-top-color:#fefefe}.article-next:hover,.comment-body-ref{border:1px solid #e2e2e2}.article-next:hover{background-color:#f2f2f2}#tags a,.archives>div,.article-relative,.dynamic .module,.form input[type=text],.form input[type=password],.form textarea{border:1px solid #f2f2f2}#tags a:hover,.archives>div:hover,.article-relative:hover,.dynamic .module:hover,.form input:focus,.form textarea:focus{border:1px solid #e2e2e2}.article-relative{width:363px}

View File

@@ -1,666 +0,0 @@
/**
* Solo - A small and beautiful blogging system written in Java.
* Copyright (c) 2010-2019, b3log.org & hacpai.com
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
/*
* skin ease style
*
* @author <a href="mailto:LLY219@gmail.com">Liyuan Li</a>
* @version 1.0.1.8, Aug 6, 2012
*/
/* start base */
html, body, div, ul, li {
margin: 0;
padding: 0;
}
body {
font-family: Verdana,arial,'\5fae\8f6f\96c5\9ed1';
font-size: 12px;
background-color: #FCFCFC;
}
::selection {
background-color: #D5D5D5;
color: #FCFCFC;
}
::-moz-selection {
background-color: #D5D5D5;
color: #FCFCFC;
}
a {
outline: none;
color: #009EB8;
text-decoration: none;
}
a:visited {
color: #00b4d2;
}
a:hover {
text-decoration: underline;
}
a:active {
color: #00889f;
}
img {
vertical-align: middle;
border: 0;
}
textarea, input {
outline: none;
}
sup {
font-size: 10px;
font-weight: normal;
-webkit-text-size-adjust: none;
}
.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;
}
.ft-gray {
color: #808080;
}
.ft-gray:visited {
color: #9a9a9a
}
.ft-gray:hover {
color: #676767;
text-decoration: none;
}
.fn-mgtb10 {
margin: 10px 0;
}
.logo {
padding: 0 5px;
text-shadow: 0 0 1px #D5D5D5;
}
#emotions span:hover {
transform: scale(1.2) rotate(360deg);
-webkit-transform: scale(1.2) rotate(360deg);
-moz-transform: scale(1.2) rotate(360deg);
}
/* end base */
/* start ico */
#search,
.translate-ico {
background-image: url("/skins/ease/images/icons.png");
}
.translate-ico {
background-position: 1px -125px;
background-repeat: no-repeat;
border: 1px solid #D5D5D5;
border-radius: 3px;
cursor: pointer;
float: right;
height: 16px;
margin: -3px 0 0 15px;
padding: 1px;
width: 16px;
}
.translate-ico:hover {
border-color: #9a9a9a;
box-shadow: 0 0 1px #808080;
background-color: #FCFCFC;
}
/* end ico */
/* start frame */
.wrapper {
margin: 0 auto;
width: 990px;
}
.main {
background-color: #FFF;
padding-bottom: 50px;
}
/* end frame */
/* start header */
.header {
width: 100%;
z-index: 1;
}
.header .title {
border-bottom: 1px solid #808080;
font-size: 26px;
font-weight: normal;
}
.header .sub-title {
font-size: 11px;
}
#search {
background-position: 7px -99px;
background-repeat: no-repeat;
background-color: #FFF;
border: 1px solid #D5D5D5;
border-radius: 2px 2px 2px 2px;
box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1) inset;
color: #808080;
float: right;
font-size: 14px;
height: 19px;
line-height: 145%;
padding: 4px 10px 4px 28px;
width: 24px;
-moz-transition: width 0.4s ease, background 0.4s ease;
-webkit-transition: width 0.4s ease, background 0.4s ease;
transition: width 0.4s ease, background 0.4s ease;
}
#search:focus {
width: 150px;
}
.banner {
margin-bottom: 20px;
}
.banner .notice {
float: left;
margin: 20px 0 0 50px;
}
.nav {
background-color: #2C2C2C;
box-shadow: 0 2px 2px #D5D5D5, 0 3px 3px -3px #D5D5D5 inset;
height: 29px;
top: 0;
width: 100%;
z-index: 1;
}
.nav ul {
list-style: none;
float: left;
}
.nav li {
float: left;
}
.nav a {
color: #C9C9C9;
display: block;
float: left;
font-size: 14px;
font-weight: 700;
line-height: 29px;
margin-right: 20px;
padding: 0 10px;
text-decoration: none;
transition: color .4s ease, background-color .8s ease;
-webkit-transition: color .4s ease, background-color .8s ease;
-moz-transition: color .4s ease, background-color .8s ease;
}
.nav a:hover {
color: #FFF;
background-color: #535353;
}
.nav a.current {
background-color: #FFF;
box-shadow: 0 -1px 1px rgba(0, 0, 0, 0.1) inset, 0 1px 1px rgba(0, 0, 0, 0.1) inset;
color: #808080;
}
.nav img {
margin-left: 3px;
}
/* end header */
/* start footer */
.footer {
border-top: 1px solid #D5D5D5;
box-shadow: 0 -1px 1px #D5D5D5;
font-size: 11px;
padding: 12px 0;
-webkit-text-size-adjust: none;
}
#goTop {
background: url("/skins/ease/images/icons.png") no-repeat scroll 5px -51px #D5D5D5;
border-radius: 2px 2px 0 0;
box-shadow: 0 0 3px #D5D5D5;
cursor: pointer;
font-size: 11px;
height: 21px;
line-height: 21px;
padding: 0 10px 0 23px;
position: absolute;
right: 50px;
display: none;
}
#goTop:hover {
background-color: #c8c8c8;
box-shadow: 0 0 3px #c8c8c8;
}
/* end footer*/
/* start article list */
.wrapper > ul {
list-style: none;
}
.main > .wrapper > h2 {
margin: 0;
padding: 14px 0;
}
.article {
border-bottom: 1px solid #f6f6f6;
padding: 30px 50px;
}
.article:hover {
border-bottom-color: #ddd;
box-shadow: 0 0 1px #f6f6f6 inset;
background-color: #FCFCFC;
}
.article-body {
line-height: 145%;
overflow: hidden;
word-wrap: break-word;
margin-bottom: 10px;
}
.article-body ol, .article-body ul {
margin-left: 40px;
}
.article-body a {
color: #808080;
text-decoration: underline;
}
.article-body a:vidited {
color: #9a9a9a
}
.article-body a:hover {
color: #676767;
}
.article-body>div {
min-height: 32px;
}
.article-title h2 {
display: inline;
}
.article-title span {
cursor: pointer;
}
.article-last:hover {
border-bottom: 1px solid #f6f6f6;
}
.article-next {
background-color: #FCFCFC;
box-shadow: 0 0 3px #D5D5D5 inset;
cursor: pointer;
font-size: 14px;
line-height: 36px;
text-align: center;
}
.article-next:hover {
box-shadow: 0 0 3px #D5D5D5, 0 0 3px #D5D5D5 inset;
}
/* end article list */
/* start article */
.article-relative {
background-color: #FCFCFC;
box-shadow: 0 0 2px #D5D5D5;
float: left;
margin: 10px 0;
padding: 0 20px 10px;
width: 385px;
}
.article-relative:hover {
background-color: #fff;
box-shadow: 0 0 4px #D5D5D5;
}
.article-relative ul {
list-style: none;
}
#relevantArticles {
margin-right: 40px;
}
#externalRelevantArticles {
width: 357px;
margin-top: 0;
}
/* end article*/
/* start comment */
#comments {
padding: 20px 50px;
position: relative;
}
.comment-header {
float: left;
background-color: #FFF;
border: 1px solid #DEDEDE;
padding: 2px;
height: 60px;
width: 60px;
}
.comment-panel {
float: left;
line-height: 16px;
margin: 0 0 20px 10px;
min-height: 64px;
overflow: hidden;
width: 814px;
}
.comment-body-ref {
background-color: #FCFCFC;
box-shadow: 0 0 2px #D5D5D5;
display: block;
left: 127px;
padding: 10px;
opacity: 0.9;
filter: alpha(opacity=90);
position: absolute;
}
.comment-body-ref > .comment-header {
border: 0 none;
float: right;
height: 48px;
width: 48px;
padding: 0;
}
.comment-body-ref > .comment-panel {
margin: 0 20px 0 0;
min-height: 48px;
width: 725px;
}
.comment-body-ref > .comment-panel > .right {
display: none;
}
#replyForm {
margin-left: 25px;
}
.form {
padding: 0 50px 20px;
}
.wrapper > .form {
float: left;
}
.form th {
text-align: right;
white-space: nowrap;
}
.form input[type="text"],
.form input[type="password"],
.form textarea {
background-color: #FCFCFC;
border-width: 0;
box-shadow: 0 0 2px #BCBCBC;
font-family: Verdana,arial,\5fae\8f6f\96c5\9ed1;
font-size: 12px;
margin: 0 5px 10px 0;
outline: medium none;
padding: 0 3px;
height: 28px;
line-height: 28px;
width: 260px;
}
.form input:focus,
.form textarea:focus {
box-shadow: 0 0 4px #D5D5D5;
}
.form textarea {
height: 120px;
overflow: auto;
width: 426px;
line-height: 16px;
}
.form button {
background-color: #F6F6F6;
border: 0 none;
box-shadow: 0 0 2px #D5D5D5;
height: 28px;
line-height: 28px;
padding: 0 12px;
color: #808080;
}
.form button:hover {
box-shadow: 0 0 4px #D5D5D5;
text-shadow: 0 0 2px;
}
.form img {
background-color: #FCFCFC;
box-shadow: 0 0 2px #D5D5D5;
cursor: pointer;
height: 24px;
padding: 1px;
}
/* end comment */
/* start tags */
#tags.other-main {
margin: 47px 44px 0;
width: 902px;
}
#tags li {
float: left;
height: 38px;
}
#tags a {
margin: 3px 6px;
padding: 3px 12px;
background-color: #FCFCFC;
box-shadow: 0 0 2px #D5D5D5;
float: left;
}
#tags a:hover {
text-shadow: 0 0 2px;
text-decoration: none;
box-shadow: 0 0 4px #D5D5D5;
}
.tags1, .tags1:visited {
font-size: 12px;
color: #a7a7a7;
}
.tags2, .tags2:visited {
font-size: 14px;
color: #808080;
}
.tags3, .tags3:visited {
font-size: 16px;
color: #595959;
}
.tags4, .tags4:visited {
font-size: 18px;
color: #323232;
}
.tags5, .tags5:visited {
font-size: 20px;
color: #0a0a0a;
}
/* end tags */
/* start archives */
.archives {
position: relative;
}
.archives > div {
background-color: #FCFCFC;
box-shadow: 0 0 2px #D5D5D5;
padding-bottom: 20px;
line-height: 20px;
margin: 20px;
width: 270px;
position: absolute;
top: 0;
}
.archives h3 {
text-align: center;
}
.archives > div:hover {
box-shadow: 0 0 4px #D5D5D5;
}
.archives a {
display: block;
margin-left: 77px;
}
/* end archives */
/* start dynamic */
.dynamic ul {
list-style: none;
}
.dynamic h3 {
text-align: center;
}
.dynamic .module {
background-color: #FCFCFC;
box-shadow: 0 0 2px #D5D5D5;
float: left;
line-height: 20px;
margin: 20px;
padding: 10px 20px 20px;
width: 385px;
}
.dynamic .module:hover {
box-shadow: 0 0 4px #D5D5D5;
}
.dynamic .side-comments {
width: 600px;
}
.dynamic .side-comments .comment-panel {
width: 510px;
}
.dynamic .side-tags {
width: 170px;
}
.dynamic .side-tags li {
float: left;
margin: 0 5px;
}
.dynamic .side-most-comment,
.dynamic .side-most-view {
margin-bottom: 0;
}
/* end dynamic */
/* start links */
.other-main.links {
margin-top: 45px;
}
.links li {
float: left;
line-height: 22px;
margin: 0 20px;
width: 270px;
}
/* end links */
/* start not list */
.other-main {
display: inline-block;
margin: 30px 30px 0;
width: 930px;
}
/* end not list */

File diff suppressed because one or more lines are too long

View File

@@ -1 +0,0 @@
#comments{position:relative}.comment-header{float:left;background-color:#FFF;border:1px solid #DEDEDE;padding:2px;height:60px;width:60px}.comment-panel{float:left;line-height:16px;margin:0 0 20px 10px;min-height:64px;overflow:hidden;width:790px}.comment-body-ref{background-color:#FCFCFC;box-shadow:0 0 2px #D5D5D5;display:block;left:127px;padding:10px;opacity:.9;filter:alpha(opacity=90);position:absolute}.comment-body-ref>.comment-header{border:0;float:right;height:48px;width:48px;padding:0}.comment-body-ref>.comment-panel{margin:0 20px 0 0;min-height:48px;width:650px}.comment-body-ref>.comment-panel>.right{display:none}.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}

View File

@@ -108,5 +108,6 @@ var Label = {
$(".tooltipLink").tooltip({
html : true
});
Util.init();
</script>
${plugins}

View File

@@ -1 +1,18 @@
/*
* Solo - A small and beautiful blogging system written in Java.
* Copyright (c) 2010-2019, b3log.org & hacpai.com
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
!function(s){"use strict";var e='[data-dismiss="alert"]',r=function(t){s(t).on("click",e,this.close)};r.prototype.close=function(t){var e,a=s(this),r=a.attr("data-target");function n(){e.trigger("closed").remove()}r||(r=(r=a.attr("href"))&&r.replace(/.*(?=#[^\s]*$)/,"")),e=s(r),t&&t.preventDefault(),e.length||(e=a.hasClass("alert")?a:a.parent()),e.trigger(t=s.Event("close")),t.isDefaultPrevented()||(e.removeClass("in"),s.support.transition&&e.hasClass("fade")?e.on(s.support.transition.end,n):n())},s.fn.alert=function(a){return this.each(function(){var t=s(this),e=t.data("alert");e||t.data("alert",e=new r(this)),"string"==typeof a&&e[a].call(t)})},s.fn.alert.Constructor=r,s(document).on("click.alert.data-api",e,r.prototype.close)}(window.jQuery);

View File

@@ -1 +1,18 @@
/*
* Solo - A small and beautiful blogging system written in Java.
* Copyright (c) 2010-2019, b3log.org & hacpai.com
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
!function(a){"use strict";var s=function(t,e){this.$element=a(t),this.options=a.extend({},a.fn.button.defaults,e)};s.prototype.setState=function(t){var e="disabled",n=this.$element,o=n.data(),a=n.is("input")?"val":"html";t+="Text",o.resetText||n.data("resetText",n[a]()),n[a](o[t]||this.options[t]),setTimeout(function(){"loadingText"==t?n.addClass(e).attr(e,e):n.removeClass(e).removeAttr(e)},0)},s.prototype.toggle=function(){var t=this.$element.closest('[data-toggle="buttons-radio"]');t&&t.find(".active").removeClass("active"),this.$element.toggleClass("active")},a.fn.button=function(o){return this.each(function(){var t=a(this),e=t.data("button"),n="object"==typeof o&&o;e||t.data("button",e=new s(this,n)),"toggle"==o?e.toggle():o&&e.setState(o)})},a.fn.button.defaults={loadingText:"loading..."},a.fn.button.Constructor=s,a(document).on("click.button.data-api","[data-toggle^=button]",function(t){var e=a(t.target);e.hasClass("btn")||(e=e.closest(".btn")),e.button("toggle")})}(window.jQuery);

View File

@@ -1 +1,18 @@
/*
* Solo - A small and beautiful blogging system written in Java.
* Copyright (c) 2010-2019, b3log.org & hacpai.com
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
!function(h){"use strict";var r=function(t,e){this.$element=h(t),this.options=e,this.options.slide&&this.slide(this.options.slide),"hover"==this.options.pause&&this.$element.on("mouseenter",h.proxy(this.pause,this)).on("mouseleave",h.proxy(this.cycle,this))};r.prototype={cycle:function(t){return t||(this.paused=!1),this.options.interval&&!this.paused&&(this.interval=setInterval(h.proxy(this.next,this),this.options.interval)),this},to:function(t){var e=this.$element.find(".item.active"),i=e.parent().children(),s=i.index(e),n=this;if(!(t>i.length-1||t<0))return this.sliding?this.$element.one("slid",function(){n.to(t)}):s==t?this.pause().cycle():this.slide(s<t?"next":"prev",h(i[t]))},pause:function(t){return t||(this.paused=!0),this.$element.find(".next, .prev").length&&h.support.transition.end&&(this.$element.trigger(h.support.transition.end),this.cycle()),clearInterval(this.interval),this.interval=null,this},next:function(){if(!this.sliding)return this.slide("next")},prev:function(){if(!this.sliding)return this.slide("prev")},slide:function(t,e){var i,s=this.$element.find(".item.active"),n=e||s[t](),r=this.interval,a="next"==t?"left":"right",l="next"==t?"first":"last",o=this;if(this.sliding=!0,r&&this.pause(),n=n.length?n:this.$element.find(".item")[l](),i=h.Event("slide",{relatedTarget:n[0]}),!n.hasClass("active")){if(h.support.transition&&this.$element.hasClass("slide")){if(this.$element.trigger(i),i.isDefaultPrevented())return;n.addClass(t),n[0].offsetWidth,s.addClass(a),n.addClass(a),this.$element.one(h.support.transition.end,function(){n.removeClass([t,a].join(" ")).addClass("active"),s.removeClass(["active",a].join(" ")),o.sliding=!1,setTimeout(function(){o.$element.trigger("slid")},0)})}else{if(this.$element.trigger(i),i.isDefaultPrevented())return;s.removeClass("active"),n.addClass("active"),this.sliding=!1,this.$element.trigger("slid")}return r&&this.cycle(),this}}},h.fn.carousel=function(n){return this.each(function(){var t=h(this),e=t.data("carousel"),i=h.extend({},h.fn.carousel.defaults,"object"==typeof n&&n),s="string"==typeof n?n:i.slide;e||t.data("carousel",e=new r(this,i)),"number"==typeof n?e.to(n):s?e[s]():i.interval&&e.cycle()})},h.fn.carousel.defaults={interval:5e3,pause:"hover"},h.fn.carousel.Constructor=r,h(document).on("click.carousel.data-api","[data-slide]",function(t){var e,i=h(this),s=h(i.attr("data-target")||(e=i.attr("href"))&&e.replace(/.*(?=#[^\s]+$)/,"")),n=h.extend({},s.data(),i.data());s.carousel(n),t.preventDefault()})}(window.jQuery);

View File

@@ -1 +1,18 @@
/*
* Solo - A small and beautiful blogging system written in Java.
* Copyright (c) 2010-2019, b3log.org & hacpai.com
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
!function(a){"use strict";var i=function(t,e){this.$element=a(t),this.options=a.extend({},a.fn.collapse.defaults,e),this.options.parent&&(this.$parent=a(this.options.parent)),this.options.toggle&&this.toggle()};i.prototype={constructor:i,dimension:function(){return this.$element.hasClass("width")?"width":"height"},show:function(){var t,e,s,n;if(!this.transitioning){if(t=this.dimension(),e=a.camelCase(["scroll",t].join("-")),(s=this.$parent&&this.$parent.find("> .accordion-group > .in"))&&s.length){if((n=s.data("collapse"))&&n.transitioning)return;s.collapse("hide"),n||s.data("collapse",null)}this.$element[t](0),this.transition("addClass",a.Event("show"),"shown"),a.support.transition&&this.$element[t](this.$element[0][e])}},hide:function(){var t;this.transitioning||(t=this.dimension(),this.reset(this.$element[t]()),this.transition("removeClass",a.Event("hide"),"hidden"),this.$element[t](0))},reset:function(t){var e=this.dimension();return this.$element.removeClass("collapse")[e](t||"auto")[0].offsetWidth,this.$element[null!==t?"addClass":"removeClass"]("collapse"),this},transition:function(t,e,s){var n=this,i=function(){"show"==e.type&&n.reset(),n.transitioning=0,n.$element.trigger(s)};this.$element.trigger(e),e.isDefaultPrevented()||(this.transitioning=1,this.$element[t]("in"),a.support.transition&&this.$element.hasClass("collapse")?this.$element.one(a.support.transition.end,i):i())},toggle:function(){this[this.$element.hasClass("in")?"hide":"show"]()}},a.fn.collapse=function(n){return this.each(function(){var t=a(this),e=t.data("collapse"),s="object"==typeof n&&n;e||t.data("collapse",e=new i(this,s)),"string"==typeof n&&e[n]()})},a.fn.collapse.defaults={toggle:!0},a.fn.collapse.Constructor=i,a(document).on("click.collapse.data-api","[data-toggle=collapse]",function(t){var e,s=a(this),n=s.attr("data-target")||t.preventDefault()||(e=s.attr("href"))&&e.replace(/.*(?=#[^\s]+$)/,""),i=a(n).data("collapse")?"toggle":s.data();s[a(n).hasClass("in")?"addClass":"removeClass"]("collapsed"),a(n).collapse(i)})}(window.jQuery);

View File

@@ -1 +1,18 @@
/*
* Solo - A small and beautiful blogging system written in Java.
* Copyright (c) 2010-2019, b3log.org & hacpai.com
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
!function(r){"use strict";var o="[data-toggle=dropdown]",a=function(o){var t=r(o).on("click.dropdown.data-api",this.toggle);r("html").on("click.dropdown.data-api",function(){t.parent().removeClass("open")})};function d(){r(o).each(function(){i(r(this)).removeClass("open")})}function i(o){var t,n=o.attr("data-target");return n||(n=(n=o.attr("href"))&&/#/.test(n)&&n.replace(/.*(?=#[^\s]*$)/,"")),(t=r(n)).length||(t=o.parent()),t}a.prototype={constructor:a,toggle:function(o){var t,n,a=r(this);if(!a.is(".disabled, :disabled"))return n=(t=i(a)).hasClass("open"),d(),n||(t.toggleClass("open"),a.focus()),!1},keydown:function(o){var t,n,a,d,e;if(/(38|40|27)/.test(o.keyCode)&&(t=r(this),o.preventDefault(),o.stopPropagation(),!t.is(".disabled, :disabled"))){if(!(d=(a=i(t)).hasClass("open"))||d&&27==o.keyCode)return t.click();(n=r("[role=menu] li:not(.divider) a",a)).length&&(e=n.index(n.filter(":focus")),38==o.keyCode&&0<e&&e--,40==o.keyCode&&e<n.length-1&&e++,~e||(e=0),n.eq(e).focus())}}},r.fn.dropdown=function(n){return this.each(function(){var o=r(this),t=o.data("dropdown");t||o.data("dropdown",t=new a(this)),"string"==typeof n&&t[n].call(o)})},r.fn.dropdown.Constructor=a,r(document).on("click.dropdown.data-api touchstart.dropdown.data-api",d).on("click.dropdown touchstart.dropdown.data-api",".dropdown form",function(o){o.stopPropagation()}).on("click.dropdown.data-api touchstart.dropdown.data-api",o,a.prototype.toggle).on("keydown.dropdown.data-api touchstart.dropdown.data-api",o+", [role=menu]",a.prototype.keydown)}(window.jQuery);

View File

@@ -1 +1,18 @@
/*
* Solo - A small and beautiful blogging system written in Java.
* Copyright (c) 2010-2019, b3log.org & hacpai.com
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
!function(n){"use strict";var s=function(t,e){this.options=e,this.$element=n(t).delegate('[data-dismiss="modal"]',"click.dismiss.modal",n.proxy(this.hide,this)),this.options.remote&&this.$element.find(".modal-body").load(this.options.remote)};s.prototype={constructor:s,toggle:function(){return this[this.isShown?"hide":"show"]()},show:function(){var e=this,t=n.Event("show");this.$element.trigger(t),this.isShown||t.isDefaultPrevented()||(this.isShown=!0,this.escape(),this.backdrop(function(){var t=n.support.transition&&e.$element.hasClass("fade");e.$element.parent().length||e.$element.appendTo(document.body),e.$element.show(),t&&e.$element[0].offsetWidth,e.$element.addClass("in").attr("aria-hidden",!1),e.enforceFocus(),t?e.$element.one(n.support.transition.end,function(){e.$element.focus().trigger("shown")}):e.$element.focus().trigger("shown")}))},hide:function(t){t&&t.preventDefault();t=n.Event("hide"),this.$element.trigger(t),this.isShown&&!t.isDefaultPrevented()&&(this.isShown=!1,this.escape(),n(document).off("focusin.modal"),this.$element.removeClass("in").attr("aria-hidden",!0),n.support.transition&&this.$element.hasClass("fade")?this.hideWithTransition():this.hideModal())},enforceFocus:function(){var e=this;n(document).on("focusin.modal",function(t){e.$element[0]===t.target||e.$element.has(t.target).length||e.$element.focus()})},escape:function(){var e=this;this.isShown&&this.options.keyboard?this.$element.on("keyup.dismiss.modal",function(t){27==t.which&&e.hide()}):this.isShown||this.$element.off("keyup.dismiss.modal")},hideWithTransition:function(){var t=this,e=setTimeout(function(){t.$element.off(n.support.transition.end),t.hideModal()},500);this.$element.one(n.support.transition.end,function(){clearTimeout(e),t.hideModal()})},hideModal:function(t){this.$element.hide().trigger("hidden"),this.backdrop()},removeBackdrop:function(){this.$backdrop.remove(),this.$backdrop=null},backdrop:function(t){var e=this.$element.hasClass("fade")?"fade":"";if(this.isShown&&this.options.backdrop){var o=n.support.transition&&e;this.$backdrop=n('<div class="modal-backdrop '+e+'" />').appendTo(document.body),this.$backdrop.click("static"==this.options.backdrop?n.proxy(this.$element[0].focus,this.$element[0]):n.proxy(this.hide,this)),o&&this.$backdrop[0].offsetWidth,this.$backdrop.addClass("in"),o?this.$backdrop.one(n.support.transition.end,t):t()}else!this.isShown&&this.$backdrop?(this.$backdrop.removeClass("in"),n.support.transition&&this.$element.hasClass("fade")?this.$backdrop.one(n.support.transition.end,n.proxy(this.removeBackdrop,this)):this.removeBackdrop()):t&&t()}},n.fn.modal=function(i){return this.each(function(){var t=n(this),e=t.data("modal"),o=n.extend({},n.fn.modal.defaults,t.data(),"object"==typeof i&&i);e||t.data("modal",e=new s(this,o)),"string"==typeof i?e[i]():o.show&&e.show()})},n.fn.modal.defaults={backdrop:!0,keyboard:!0,show:!0},n.fn.modal.Constructor=s,n(document).on("click.modal.data-api",'[data-toggle="modal"]',function(t){var e=n(this),o=e.attr("href"),i=n(e.attr("data-target")||o&&o.replace(/.*(?=#[^\s]+$)/,"")),s=i.data("modal")?"toggle":n.extend({remote:!/#/.test(o)&&o},i.data(),e.data());t.preventDefault(),i.modal(s).one("hide",function(){e.focus()})})}(window.jQuery);

View File

@@ -1 +1,18 @@
/*
* Solo - A small and beautiful blogging system written in Java.
* Copyright (c) 2010-2019, b3log.org & hacpai.com
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
!function(i){"use strict";var p=function(t,o){this.init("popover",t,o)};p.prototype=i.extend({},i.fn.tooltip.Constructor.prototype,{constructor:p,setContent:function(){var t=this.tip(),o=this.getTitle(),e=this.getContent();t.find(".popover-title")[this.options.html?"html":"text"](o),t.find(".popover-content > *")[this.options.html?"html":"text"](e),t.removeClass("fade top bottom left right in")},hasContent:function(){return this.getTitle()||this.getContent()},getContent:function(){var t=this.$element,o=this.options;return t.attr("data-content")||("function"==typeof o.content?o.content.call(t[0]):o.content)},tip:function(){return this.$tip||(this.$tip=i(this.options.template)),this.$tip},destroy:function(){this.hide().$element.off("."+this.type).removeData(this.type)}}),i.fn.popover=function(n){return this.each(function(){var t=i(this),o=t.data("popover"),e="object"==typeof n&&n;o||t.data("popover",o=new p(this,e)),"string"==typeof n&&o[n]()})},i.fn.popover.Constructor=p,i.fn.popover.defaults=i.extend({},i.fn.tooltip.defaults,{placement:"right",trigger:"click",content:"",template:'<div class="popover"><div class="arrow"></div><div class="popover-inner"><h3 class="popover-title"></h3><div class="popover-content"><p></p></div></div></div>'})}(window.jQuery);

View File

@@ -1 +1,18 @@
/*
* Solo - A small and beautiful blogging system written in Java.
* Copyright (c) 2010-2019, b3log.org & hacpai.com
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
!function(r){"use strict";function i(t,s){var e,o=r.proxy(this.process,this),i=r(t).is("body")?r(window):r(t);this.options=r.extend({},r.fn.scrollspy.defaults,s),this.$scrollElement=i.on("scroll.scroll-spy.data-api",o),this.selector=(this.options.target||(e=r(t).attr("href"))&&e.replace(/.*(?=#[^\s]+$)/,"")||"")+" .nav li > a",this.$body=r("body"),this.refresh(),this.process()}i.prototype={constructor:i,refresh:function(){var t=this;this.offsets=r([]),this.targets=r([]),this.$body.find(this.selector).map(function(){var t=r(this),s=t.data("target")||t.attr("href"),e=/^#\w/.test(s)&&r(s);return e&&e.length&&[[e.position().top,s]]||null}).sort(function(t,s){return t[0]-s[0]}).each(function(){t.offsets.push(this[0]),t.targets.push(this[1])})},process:function(){var t,s=this.$scrollElement.scrollTop()+this.options.offset,e=(this.$scrollElement[0].scrollHeight||this.$body[0].scrollHeight)-this.$scrollElement.height(),o=this.offsets,i=this.targets,r=this.activeTarget;if(e<=s)return r!=(t=i.last()[0])&&this.activate(t);for(t=o.length;t--;)r!=i[t]&&s>=o[t]&&(!o[t+1]||s<=o[t+1])&&this.activate(i[t])},activate:function(t){var s,e;this.activeTarget=t,r(this.selector).parent(".active").removeClass("active"),e=this.selector+'[data-target="'+t+'"],'+this.selector+'[href="'+t+'"]',(s=r(e).parent("li").addClass("active")).parent(".dropdown-menu").length&&(s=s.closest("li.dropdown").addClass("active")),s.trigger("activate")}},r.fn.scrollspy=function(o){return this.each(function(){var t=r(this),s=t.data("scrollspy"),e="object"==typeof o&&o;s||t.data("scrollspy",s=new i(this,e)),"string"==typeof o&&s[o]()})},r.fn.scrollspy.Constructor=i,r.fn.scrollspy.defaults={offset:10},r(window).on("load",function(){r('[data-spy="scroll"]').each(function(){var t=r(this);t.scrollspy(t.data())})})}(window.jQuery);

View File

@@ -1 +1,18 @@
/*
* Solo - A small and beautiful blogging system written in Java.
* Copyright (c) 2010-2019, b3log.org & hacpai.com
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
!function(o){"use strict";var n=function(t){this.element=o(t)};n.prototype={constructor:n,show:function(){var t,a,e,n=this.element,i=n.closest("ul:not(.dropdown-menu)"),s=n.attr("data-target");s||(s=(s=n.attr("href"))&&s.replace(/.*(?=#[^\s]*$)/,"")),n.parent("li").hasClass("active")||(t=i.find(".active:last a")[0],e=o.Event("show",{relatedTarget:t}),n.trigger(e),e.isDefaultPrevented()||(a=o(s),this.activate(n.parent("li"),i),this.activate(a,a.parent(),function(){n.trigger({type:"shown",relatedTarget:t})})))},activate:function(t,a,e){var n=a.find("> .active"),i=e&&o.support.transition&&n.hasClass("fade");function s(){n.removeClass("active").find("> .dropdown-menu > .active").removeClass("active"),t.addClass("active"),i?(t[0].offsetWidth,t.addClass("in")):t.removeClass("fade"),t.parent(".dropdown-menu")&&t.closest("li.dropdown").addClass("active"),e&&e()}i?n.one(o.support.transition.end,s):s(),n.removeClass("in")}},o.fn.tab=function(e){return this.each(function(){var t=o(this),a=t.data("tab");a||t.data("tab",a=new n(this)),"string"==typeof e&&a[e]()})},o.fn.tab.Constructor=n,o(document).on("click.tab.data-api",'[data-toggle="tab"], [data-toggle="pill"]',function(t){t.preventDefault(),o(this).tab("show")})}(window.jQuery);

View File

@@ -1 +1,18 @@
/*
* Solo - A small and beautiful blogging system written in Java.
* Copyright (c) 2010-2019, b3log.org & hacpai.com
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
!function(n){"use strict";var s=function(t,e){this.init("tooltip",t,e)};s.prototype={constructor:s,init:function(t,e,i){var o,s;this.type=t,this.$element=n(e),this.options=this.getOptions(i),this.enabled=!0,"click"==this.options.trigger?this.$element.on("click."+this.type,this.options.selector,n.proxy(this.toggle,this)):"manual"!=this.options.trigger&&(o="hover"==this.options.trigger?"mouseenter":"focus",s="hover"==this.options.trigger?"mouseleave":"blur",this.$element.on(o+"."+this.type,this.options.selector,n.proxy(this.enter,this)),this.$element.on(s+"."+this.type,this.options.selector,n.proxy(this.leave,this))),this.options.selector?this._options=n.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},getOptions:function(t){return(t=n.extend({},n.fn[this.type].defaults,t,this.$element.data())).delay&&"number"==typeof t.delay&&(t.delay={show:t.delay,hide:t.delay}),t},enter:function(t){var e=n(t.currentTarget)[this.type](this._options).data(this.type);if(!e.options.delay||!e.options.delay.show)return e.show();clearTimeout(this.timeout),e.hoverState="in",this.timeout=setTimeout(function(){"in"==e.hoverState&&e.show()},e.options.delay.show)},leave:function(t){var e=n(t.currentTarget)[this.type](this._options).data(this.type);if(this.timeout&&clearTimeout(this.timeout),!e.options.delay||!e.options.delay.hide)return e.hide();e.hoverState="out",this.timeout=setTimeout(function(){"out"==e.hoverState&&e.hide()},e.options.delay.hide)},show:function(){var t,e,i,o,s,n,h;if(this.hasContent()&&this.enabled){switch(t=this.tip(),this.setContent(),this.options.animation&&t.addClass("fade"),n="function"==typeof this.options.placement?this.options.placement.call(this,t[0],this.$element[0]):this.options.placement,e=/in/.test(n),t.detach().css({top:0,left:0,display:"block"}).insertAfter(this.$element),i=this.getPosition(e),o=t[0].offsetWidth,s=t[0].offsetHeight,e?n.split(" ")[1]:n){case"bottom":h={top:i.top+i.height,left:i.left+i.width/2-o/2};break;case"top":h={top:i.top-s,left:i.left+i.width/2-o/2};break;case"left":h={top:i.top+i.height/2-s/2,left:i.left-o};break;case"right":h={top:i.top+i.height/2-s/2,left:i.left+i.width}}t.offset(h).addClass(n).addClass("in")}},setContent:function(){var t=this.tip(),e=this.getTitle();t.find(".tooltip-inner")[this.options.html?"html":"text"](e),t.removeClass("fade in top bottom left right")},hide:function(){var t,e=this.tip();return e.removeClass("in"),n.support.transition&&this.$tip.hasClass("fade")?(t=setTimeout(function(){e.off(n.support.transition.end).detach()},500),e.one(n.support.transition.end,function(){clearTimeout(t),e.detach()})):e.detach(),this},fixTitle:function(){var t=this.$element;(t.attr("title")||"string"!=typeof t.attr("data-original-title"))&&t.attr("data-original-title",t.attr("title")||"").removeAttr("title")},hasContent:function(){return this.getTitle()},getPosition:function(t){return n.extend({},t?{top:0,left:0}:this.$element.offset(),{width:this.$element[0].offsetWidth,height:this.$element[0].offsetHeight})},getTitle:function(){var t=this.$element,e=this.options;return t.attr("data-original-title")||("function"==typeof e.title?e.title.call(t[0]):e.title)},tip:function(){return this.$tip=this.$tip||n(this.options.template)},validate:function(){this.$element[0].parentNode||(this.hide(),this.$element=null,this.options=null)},enable:function(){this.enabled=!0},disable:function(){this.enabled=!1},toggleEnabled:function(){this.enabled=!this.enabled},toggle:function(t){var e=n(t.currentTarget)[this.type](this._options).data(this.type);e[e.tip().hasClass("in")?"hide":"show"]()},destroy:function(){this.hide().$element.off("."+this.type).removeData(this.type)}},n.fn.tooltip=function(o){return this.each(function(){var t=n(this),e=t.data("tooltip"),i="object"==typeof o&&o;e||t.data("tooltip",e=new s(this,i)),"string"==typeof o&&e[o]()})},n.fn.tooltip.Constructor=s,n.fn.tooltip.defaults={animation:!0,placement:"top",selector:!1,template:'<div class="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover",title:"",delay:0,html:!1}}(window.jQuery);

View File

@@ -1 +1,18 @@
/*
* Solo - A small and beautiful blogging system written in Java.
* Copyright (c) 2010-2019, b3log.org & hacpai.com
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
!function(i){"use strict";i(function(){var n;i.support.transition=(n=function(){var n,i=document.createElement("bootstrap"),t={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(n in t)if(void 0!==i.style[n])return t[n]}())&&{end:n}})}(window.jQuery);

View File

@@ -1 +1,18 @@
/*
* Solo - A small and beautiful blogging system written in Java.
* Copyright (c) 2010-2019, b3log.org & hacpai.com
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
!function(n){"use strict";var h=function(t,e){this.$element=n(t),this.options=n.extend({},n.fn.typeahead.defaults,e),this.matcher=this.options.matcher||this.matcher,this.sorter=this.options.sorter||this.sorter,this.highlighter=this.options.highlighter||this.highlighter,this.updater=this.options.updater||this.updater,this.$menu=n(this.options.menu).appendTo("body"),this.source=this.options.source,this.shown=!1,this.listen()};h.prototype={constructor:h,select:function(){var t=this.$menu.find(".active").attr("data-value");return this.$element.val(this.updater(t)).change(),this.hide()},updater:function(t){return t},show:function(){var t=n.extend({},this.$element.offset(),{height:this.$element[0].offsetHeight});return this.$menu.css({top:t.top+t.height,left:t.left}),this.$menu.show(),this.shown=!0,this},hide:function(){return this.$menu.hide(),this.shown=!1,this},lookup:function(t){var e;return this.query=this.$element.val(),!this.query||this.query.length<this.options.minLength?this.shown?this.hide():this:(e=n.isFunction(this.source)?this.source(this.query,n.proxy(this.process,this)):this.source)?this.process(e):this},process:function(t){var e=this;return t=n.grep(t,function(t){return e.matcher(t)}),(t=this.sorter(t)).length?this.render(t.slice(0,this.options.items)).show():this.shown?this.hide():this},matcher:function(t){return~t.toLowerCase().indexOf(this.query.toLowerCase())},sorter:function(t){for(var e,s=[],i=[],n=[];e=t.shift();)e.toLowerCase().indexOf(this.query.toLowerCase())?~e.indexOf(this.query)?i.push(e):n.push(e):s.push(e);return s.concat(i,n)},highlighter:function(t){var e=this.query.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&");return t.replace(new RegExp("("+e+")","ig"),function(t,e){return"<strong>"+e+"</strong>"})},render:function(t){var s=this;return(t=n(t).map(function(t,e){return(t=n(s.options.item).attr("data-value",e)).find("a").html(s.highlighter(e)),t[0]})).first().addClass("active"),this.$menu.html(t),this},next:function(t){var e=this.$menu.find(".active").removeClass("active").next();e.length||(e=n(this.$menu.find("li")[0])),e.addClass("active")},prev:function(t){var e=this.$menu.find(".active").removeClass("active").prev();e.length||(e=this.$menu.find("li").last()),e.addClass("active")},listen:function(){this.$element.on("blur",n.proxy(this.blur,this)).on("keypress",n.proxy(this.keypress,this)).on("keyup",n.proxy(this.keyup,this)),this.eventSupported("keydown")&&this.$element.on("keydown",n.proxy(this.keydown,this)),this.$menu.on("click",n.proxy(this.click,this)).on("mouseenter","li",n.proxy(this.mouseenter,this))},eventSupported:function(t){var e=t in this.$element;return e||(this.$element.setAttribute(t,"return;"),e="function"==typeof this.$element[t]),e},move:function(t){if(this.shown){switch(t.keyCode){case 9:case 13:case 27:t.preventDefault();break;case 38:t.preventDefault(),this.prev();break;case 40:t.preventDefault(),this.next()}t.stopPropagation()}},keydown:function(t){this.suppressKeyPressRepeat=!~n.inArray(t.keyCode,[40,38,9,13,27]),this.move(t)},keypress:function(t){this.suppressKeyPressRepeat||this.move(t)},keyup:function(t){switch(t.keyCode){case 40:case 38:case 16:case 17:case 18:break;case 9:case 13:if(!this.shown)return;this.select();break;case 27:if(!this.shown)return;this.hide();break;default:this.lookup()}t.stopPropagation(),t.preventDefault()},blur:function(t){var e=this;setTimeout(function(){e.hide()},150)},click:function(t){t.stopPropagation(),t.preventDefault(),this.select()},mouseenter:function(t){this.$menu.find(".active").removeClass("active"),n(t.currentTarget).addClass("active")}},n.fn.typeahead=function(i){return this.each(function(){var t=n(this),e=t.data("typeahead"),s="object"==typeof i&&i;e||t.data("typeahead",e=new h(this,s)),"string"==typeof i&&e[i]()})},n.fn.typeahead.defaults={source:[],items:8,menu:'<ul class="typeahead dropdown-menu"></ul>',item:'<li><a href="#"></a></li>',minLength:1},n.fn.typeahead.Constructor=h,n(document).on("focus.typeahead.data-api",'[data-provide="typeahead"]',function(t){var e=n(this);e.data("typeahead")||(t.preventDefault(),e.typeahead(e.data()))})}(window.jQuery);

File diff suppressed because one or more lines are too long

View File

@@ -87,7 +87,7 @@ var getNextPage = function () {
'</div>' +
'<div class="clear"></div>' +
'</div>' +
'<div class="article-body">' +
'<div class="content-reset">' +
'<div id="abstract' + article.oId + '">' +
article.articleAbstract +
'</div>' +
@@ -157,7 +157,6 @@ var ease = {
},
initCommon: function () {
Util.init();
Util.replaceSideEm($(".recent-comments-content"));
Util.buildTags("tagsSide");
},
@@ -291,7 +290,7 @@ var ease = {
}
// emotions
$(".article-body").each(function () {
$(".content-reset").each(function () {
this.innerHTML = Util.replaceEmString($(this).html());
});
}

View File

@@ -1 +1,18 @@
var goTranslate=function(){window.open("http://translate.google.com/translate?sl=auto&tl=auto&u="+location.href)},getNextPage=function(){var c=$(".article-next");currentPage+=1;var e="/articles/";if(-1<location.pathname.indexOf("tags"))e="/articles/tags/"+location.pathname.split("/tags/")[1].split("/")[0]+"/";else if(-1<location.pathname.indexOf("archives")){var t=location.pathname.split("/archives/")[1].split("/");e="/articles/archives/"+t[0]+"/"+t[1]+"/"}$.ajax({url:latkeConfig.staticServePath+e+currentPage,type:"GET",beforeSend:function(){c.css("background","url("+latkeConfig.staticServePath+"/skins/ease/images/ajax-loader.gif) no-repeat scroll center center #fefefe")},success:function(e,t){if(e.sc){for(var a="",i=e.rslts.pagination,r=0;r<e.rslts.articles.length;r++){var s=e.rslts.articles[r],n="";e.rslts.articles.length-1===r&&(n=" article-last"),a+='<li class="article'+n+'"><div class="article-title"><h2><a rel="bookmark" class="ft-gray" href="'+latkeConfig.servePath+s.articlePermalink+'">'+s.articleTitle+"</a>",s.hasUpdated&&(a+="<sup>"+Label.updatedLabel+"</sup>"),s.articlePutTop&&(a+="<sup>"+Label.topArticleLabel+"</sup>"),a+='</h2><div class="right"><a rel="nofollow" class="ft-gray" href="'+latkeConfig.servePath+s.articlePermalink+'#comments">'+ +s.articleCommentCount+"&nbsp;&nbsp;"+Label.commentLabel+'</a>&nbsp;&nbsp;<a rel="nofollow" class="ft-gray" href="'+latkeConfig.servePath+s.articlePermalink+'">'+s.articleViewCount+"&nbsp;&nbsp;"+Label.viewLabel+'</a></div><div class="clear"></div></div><div class="article-body"><div id="abstract'+s.oId+'">'+s.articleAbstract+'</div><div id="content'+s.oId+'" class="none"></div></div><div class="right ft-gray">',s.hasUpdated?a+=Util.toDate(s.articleUpdateDate,"yy-MM-dd HH:mm"):a+=Util.toDate(s.articleCreateDate,"yy-MM-dd HH:mm"),a+=' <a href="'+latkeConfig.servePath+"/authors/"+s.authorId+'">'+s.authorName+'</a></div><div class="left ft-gray">'+Label.tag1Label+" ";for(var l=s.articleTags.split(","),o=0;o<l.length;o++)a+='<a rel="tag" href="'+latkeConfig.servePath+"/tags/"+encodeURIComponent(l[o])+'">'+l[o]+"</a>",o<l.length-1&&(a+=", ");a+='</div><div class="clear"></div></li>'}$(".article-last").removeClass("article-last"),$(".main>.wrapper>ul").append(a),i.paginationPageCount===currentPage?c.remove():c.css("background","none")}}})},ease={$header:$(".header"),headerH:103,$body:$(".main > .wrapper"),$nav:$(".nav"),getCurrentPage:function(){var e=$(".article-next");0<e.length&&(window.currentPage=e.data("page"))},setNavCurrent:function(){$(".nav ul a").each(function(){var e=$(this);e.attr("href")===latkeConfig.servePath+location.pathname?e.addClass("current"):/\/[0-9]+$/.test(location.pathname)&&($(".nav ul li")[0].className="current")})},initCommon:function(){Util.init(),Util.replaceSideEm($(".recent-comments-content")),Util.buildTags("tagsSide")},initArchives:function(){var e=$(".archives");if(!(e.length<1)){$(".footer").css("marginTop","30px");for(var i=[],t=e.find("span").each(function(){for(var e=$(this).data("year"),t=!0,a=0;a<i.length;a++)if(e===i[a]){t=!1;break}t&&i.push(e)}),a="",r=0;r<i.length;r++){for(var s="",n=0;n<t.length;n++){var l=$(t[n]);l.data("year")===i[r]&&(s+=l.html())}a+="<div><h3 class='ft-gray'>"+i[r]+"</h3>"+s+"</div>"}e.html(a);for(var o=$(".archives>div"),c=0,h=0,g=[],d=0;d<o.length;d++){for(var f=0;f<3&&!(d>=o.length);f++)o[d].style.left=310*f+"px",g[f]=0<c?(""!==o[d-3].style.top&&(h=parseInt(o[d-3].style.top)),o[d].style.top=$(o[d-3]).height()+60+h+"px",parseInt(o[d].style.top)+$(o[d]).height()+60):$(o[d]).height()+60,f<2&&(d+=1);c+=1}e.height(g.sort()[g.length-1])}},scrollEvent:function(){var r=this;$(window).scroll(function(){var e=$(window).scrollTop(),t=0;if("block"===$("#top").css("display")&&(t=$("#top").height()),e>=r.headerH+t?(r.$nav.css("position","fixed"),r.$body.css("marginTop","55px")):(r.$nav.css("position","inherit"),r.$body.css("marginTop","0")),e>r.headerH){var a=$(window).height(),i=e+a-21;$("body").height()-58<=e+a&&(i=$(".footer").offset().top-21),$("#goTop").fadeIn("slow").css("top",i)}else $("#goTop").hide()})},setDynamic:function(){var e=$(".dynamic");if(!($(".dynamic").length<1)){var t=e.find(".side-comments"),a=e.find(".side-tags"),i=e.find(".side-most-comment"),r=e.find(".side-most-view");t.height()>a.height()?a.height(t.height()):t.height(a.height()),i.height()>r.height()?r.height(i.height()):i.height(r.height()),$(".article-body").each(function(){this.innerHTML=Util.replaceEmString($(this).html())})}}};ease.getCurrentPage(),ease.initCommon(),ease.scrollEvent(),ease.setNavCurrent(),ease.initArchives(),ease.setDynamic();
/*
* Solo - A small and beautiful blogging system written in Java.
* Copyright (c) 2010-2019, b3log.org & hacpai.com
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
var goTranslate=function(){window.open("http://translate.google.com/translate?sl=auto&tl=auto&u="+location.href)},getNextPage=function(){var c=$(".article-next");currentPage+=1;var e="/articles/";if(-1<location.pathname.indexOf("tags"))e="/articles/tags/"+location.pathname.split("/tags/")[1].split("/")[0]+"/";else if(-1<location.pathname.indexOf("archives")){var t=location.pathname.split("/archives/")[1].split("/");e="/articles/archives/"+t[0]+"/"+t[1]+"/"}$.ajax({url:latkeConfig.staticServePath+e+currentPage,type:"GET",beforeSend:function(){c.css("background","url("+latkeConfig.staticServePath+"/skins/ease/images/ajax-loader.gif) no-repeat scroll center center #fefefe")},success:function(e,t){if(e.sc){for(var a="",i=e.rslts.pagination,s=0;s<e.rslts.articles.length;s++){var n=e.rslts.articles[s],r="";e.rslts.articles.length-1===s&&(r=" article-last"),a+='<li class="article'+r+'"><div class="article-title"><h2><a rel="bookmark" class="ft-gray" href="'+latkeConfig.servePath+n.articlePermalink+'">'+n.articleTitle+"</a>",n.hasUpdated&&(a+="<sup>"+Label.updatedLabel+"</sup>"),n.articlePutTop&&(a+="<sup>"+Label.topArticleLabel+"</sup>"),a+='</h2><div class="right"><a rel="nofollow" class="ft-gray" href="'+latkeConfig.servePath+n.articlePermalink+'#comments">'+ +n.articleCommentCount+"&nbsp;&nbsp;"+Label.commentLabel+'</a>&nbsp;&nbsp;<a rel="nofollow" class="ft-gray" href="'+latkeConfig.servePath+n.articlePermalink+'">'+n.articleViewCount+"&nbsp;&nbsp;"+Label.viewLabel+'</a></div><div class="clear"></div></div><div class="content-reset"><div id="abstract'+n.oId+'">'+n.articleAbstract+'</div><div id="content'+n.oId+'" class="none"></div></div><div class="right ft-gray">',n.hasUpdated?a+=Util.toDate(n.articleUpdateDate,"yy-MM-dd HH:mm"):a+=Util.toDate(n.articleCreateDate,"yy-MM-dd HH:mm"),a+=' <a href="'+latkeConfig.servePath+"/authors/"+n.authorId+'">'+n.authorName+'</a></div><div class="left ft-gray">'+Label.tag1Label+" ";for(var l=n.articleTags.split(","),o=0;o<l.length;o++)a+='<a rel="tag" href="'+latkeConfig.servePath+"/tags/"+encodeURIComponent(l[o])+'">'+l[o]+"</a>",o<l.length-1&&(a+=", ");a+='</div><div class="clear"></div></li>'}$(".article-last").removeClass("article-last"),$(".main>.wrapper>ul").append(a),i.paginationPageCount===currentPage?c.remove():c.css("background","none")}}})},ease={$header:$(".header"),headerH:103,$body:$(".main > .wrapper"),$nav:$(".nav"),getCurrentPage:function(){var e=$(".article-next");0<e.length&&(window.currentPage=e.data("page"))},setNavCurrent:function(){$(".nav ul a").each(function(){var e=$(this);e.attr("href")===latkeConfig.servePath+location.pathname?e.addClass("current"):/\/[0-9]+$/.test(location.pathname)&&($(".nav ul li")[0].className="current")})},initCommon:function(){Util.replaceSideEm($(".recent-comments-content")),Util.buildTags("tagsSide")},initArchives:function(){var e=$(".archives");if(!(e.length<1)){$(".footer").css("marginTop","30px");for(var i=[],t=e.find("span").each(function(){for(var e=$(this).data("year"),t=!0,a=0;a<i.length;a++)if(e===i[a]){t=!1;break}t&&i.push(e)}),a="",s=0;s<i.length;s++){for(var n="",r=0;r<t.length;r++){var l=$(t[r]);l.data("year")===i[s]&&(n+=l.html())}a+="<div><h3 class='ft-gray'>"+i[s]+"</h3>"+n+"</div>"}e.html(a);for(var o=$(".archives>div"),c=0,h=0,g=[],d=0;d<o.length;d++){for(var f=0;f<3&&!(d>=o.length);f++)o[d].style.left=310*f+"px",g[f]=0<c?(""!==o[d-3].style.top&&(h=parseInt(o[d-3].style.top)),o[d].style.top=$(o[d-3]).height()+60+h+"px",parseInt(o[d].style.top)+$(o[d]).height()+60):$(o[d]).height()+60,f<2&&(d+=1);c+=1}e.height(g.sort()[g.length-1])}},scrollEvent:function(){var s=this;$(window).scroll(function(){var e=$(window).scrollTop(),t=0;if("block"===$("#top").css("display")&&(t=$("#top").height()),e>=s.headerH+t?(s.$nav.css("position","fixed"),s.$body.css("marginTop","55px")):(s.$nav.css("position","inherit"),s.$body.css("marginTop","0")),e>s.headerH){var a=$(window).height(),i=e+a-21;$("body").height()-58<=e+a&&(i=$(".footer").offset().top-21),$("#goTop").fadeIn("slow").css("top",i)}else $("#goTop").hide()})},setDynamic:function(){var e=$(".dynamic");if(!($(".dynamic").length<1)){var t=e.find(".side-comments"),a=e.find(".side-tags"),i=e.find(".side-most-comment"),s=e.find(".side-most-view");t.height()>a.height()?a.height(t.height()):t.height(a.height()),i.height()>s.height()?s.height(i.height()):i.height(s.height()),$(".content-reset").each(function(){this.innerHTML=Util.replaceEmString($(this).html())})}}};ease.getCurrentPage(),ease.initCommon(),ease.scrollEvent(),ease.setNavCurrent(),ease.initArchives(),ease.setDynamic();

File diff suppressed because one or more lines are too long

View File

@@ -43,7 +43,7 @@
</div>
</#if>
<span class="clear"></span>
<div class="article-body">${comment.commentContent}</div>
<div class="content-reset">${comment.commentContent}</div>
</div>
<span class="clear"></span>
</div>

View File

@@ -29,7 +29,7 @@
<link href="${servePath}/blog-articles-feed.do" title="ATOM" type="application/atom+xml" rel="alternate" />
<link rel="stylesheet" href="${staticServePath}/skins/${skinDirName}/css/bootstrap.css" type="text/css" media="" title="no title" charset="utf-8"/>
<link href="${staticServePath}/skins/${skinDirName}/css/bootstrap-responsive.css" rel="stylesheet">
<link href="${staticServePath}/skins/${skinDirName}/css/main.css" rel="stylesheet">
<link href="${staticServePath}/skins/${skinDirName}/css/base.css" rel="stylesheet">
<link rel="icon" type="image/png" href="${staticServePath}/favicon.png" />
<style>
#footer {