Commit 5eb82728 authored by D's avatar D Committed by GitHub

Merge branch 'master' into master

parents 8ef3aa92 523b7a62
<?xml version="1.0" encoding="UTF-8"?>
<project-shared-configuration>
<!--
This file contains additional configuration written by modules in the NetBeans IDE.
The configuration is intended to be shared among all the users of project and
therefore it is assumed to be part of version control checkout.
Without this configuration present, some functionality in the IDE may be limited or fail altogether.
-->
<spellchecker-wordlist xmlns="http://www.netbeans.org/ns/spellchecker-wordlist/1">
<word>admin</word>
<word>Favicon</word>
<word>servlet</word>
</spellchecker-wordlist>
</project-shared-configuration>
......@@ -19,83 +19,88 @@
<!--
Description: Static resources definition.
Version: 2.7.5.6, Aug 26, 2016
Version: 2.7.6.6, Dec 10, 2016
Author: Liang Ding
-->
<static-files>
<!-- Uses the STANDARD Ant Path Pattern to configure these paths! -->
<include path="/favicon.ico" />
<include path="/favicon.png" />
<include path="/robots.txt" />
<include path="/js/**.js" />
<include path="/js/**/*.js" />
<include path="/js/**.css" />
<include path="/js/**/*.css" />
<include path="/js/**.htm" />
<include path="/js/**/*.htm" />
<include path="/js/**.html" />
<include path="/js/**/*.html" />
<include path="/js/**.gif" />
<include path="/js/**/*.gif" />
<include path="/js/**.png" />
<include path="/js/**/*.png" />
<include path="/js/**.jpg" />
<include path="/js/**/*.jpg" />
<include path="/skins/**.css" />
<include path="/skins/**.css.map" />
<include path="/skins/**/*.css" />
<include path="/skins/**/*.css.map" />
<include path="/skins/**.js" />
<include path="/skins/**/*.js" />
<include path="/skins/**.png" />
<include path="/skins/**/*.png" />
<include path="/skins/**.jpg" />
<include path="/skins/**/*.jpg" />
<include path="/skins/**.swf" />
<include path="/skins/**/*.swf" />
<include path="/skins/**.gif" />
<include path="/skins/**/*.gif" />
<include path="/skins/**/*.eot" />
<include path="/skins/**/*.svg" />
<include path="/skins/**/*.ttf" />
<include path="/skins/**/*.woff" />
<include path="/css/**.css" />
<include path="/css/**/*.css" />
<include path="/css/fonts/*.eot" />
<include path="/css/fonts/*.svg" />
<include path="/css/fonts/*.ttf" />
<include path="/css/fonts/*.woff" />
<include path="/images/**.png" />
<include path="/images/**/*.png" />
<include path="/images/**.jpg" />
<include path="/images/**/*.jpg" />
<include path="/images/**.gif" />
<include path="/images/**/*.gif" />
<include path="/plugins/**.css" />
<include path="/plugins/**/*.css" />
<include path="/plugins/**.js" />
<include path="/plugins/**/*.js" />
<include path="/plugins/**.png" />
<include path="/plugins/**/*.png" />
<include path="/plugins/**.jpg" />
<include path="/plugins/**/*.jpg" />
<include path="/plugins/**.swf" />
<include path="/plugins/**/*.swf" />
<include path="/plugins/**.gif" />
<include path="/plugins/**/*.gif" />
<include path="/plugins/**.html" />
<include path="/plugins/**/*.html" />
<include path="/plugins/**.htm" />
<include path="/plugins/**/*.htm" />
<include path="/CHANGE_LOGS.html" />
<include path="/README.txt" />
<include path="/LICENSE.txt" />
<include path="/favicon.ico"/>
<include path="/favicon.png"/>
<include path="/robots.txt"/>
<include path="/js/**.js"/>
<include path="/js/**/*.js"/>
<include path="/js/**.css"/>
<include path="/js/**/*.css"/>
<include path="/js/**.htm"/>
<include path="/js/**/*.htm"/>
<include path="/js/**.html"/>
<include path="/js/**/*.html"/>
<include path="/js/**.gif"/>
<include path="/js/**/*.gif"/>
<include path="/js/**.png"/>
<include path="/js/**/*.png"/>
<include path="/js/**.jpg"/>
<include path="/js/**/*.jpg"/>
<include path="/js/**/*.swf"/>
<include path="/js/**/*.eot"/>
<include path="/js/**/*.svg"/>
<include path="/js/**/*.ttf"/>
<include path="/js/**/*.woff"/>
<include path="/skins/**.css"/>
<include path="/skins/**.css.map"/>
<include path="/skins/**/*.css"/>
<include path="/skins/**/*.css.map"/>
<include path="/skins/**.js"/>
<include path="/skins/**/*.js"/>
<include path="/skins/**.png"/>
<include path="/skins/**/*.png"/>
<include path="/skins/**.jpg"/>
<include path="/skins/**/*.jpg"/>
<include path="/skins/**.swf"/>
<include path="/skins/**/*.swf"/>
<include path="/skins/**.gif"/>
<include path="/skins/**/*.gif"/>
<include path="/skins/**/*.eot"/>
<include path="/skins/**/*.svg"/>
<include path="/skins/**/*.ttf"/>
<include path="/skins/**/*.woff"/>
<include path="/css/**.css"/>
<include path="/css/**/*.css"/>
<include path="/css/fonts/*.eot"/>
<include path="/css/fonts/*.svg"/>
<include path="/css/fonts/*.ttf"/>
<include path="/css/fonts/*.woff"/>
<include path="/images/**.png"/>
<include path="/images/**/*.png"/>
<include path="/images/**.jpg"/>
<include path="/images/**/*.jpg"/>
<include path="/images/**.gif"/>
<include path="/images/**/*.gif"/>
<include path="/plugins/**.css"/>
<include path="/plugins/**/*.css"/>
<include path="/plugins/**.js"/>
<include path="/plugins/**/*.js"/>
<include path="/plugins/**.png"/>
<include path="/plugins/**/*.png"/>
<include path="/plugins/**.jpg"/>
<include path="/plugins/**/*.jpg"/>
<include path="/plugins/**.swf"/>
<include path="/plugins/**/*.swf"/>
<include path="/plugins/**.gif"/>
<include path="/plugins/**/*.gif"/>
<include path="/plugins/**.html"/>
<include path="/plugins/**/*.html"/>
<include path="/plugins/**.htm"/>
<include path="/plugins/**/*.htm"/>
<include path="/CHANGE_LOGS.html"/>
<include path="/README.txt"/>
<include path="/LICENSE.txt"/>
</static-files>
......@@ -18,7 +18,7 @@
*
* @author <a href="http://vanessa.b3log.org">Liyuan Li</a>
* @author <a href="http://88250.b3log.org">Liang Ding</a>
* @version 1.0.1.7, Apr 15, 2016
* @version 1.0.2.7, Dec 14, 2016
*/
html {
height: 100%;
......@@ -146,7 +146,8 @@ button:active {
.logo {
float: left;
padding: 162px 12px 0;
width: 153px;
width: 217px;
text-align: center;
}
.wrapper {
......@@ -168,7 +169,7 @@ button:active {
margin: 0 auto;
padding: 0 0 28px 0;
position: relative;
width: 700px;
width: 760px;
top: 60px;
}
......@@ -225,7 +226,7 @@ button:active {
padding: 5px;
}
.a-403, .a-500 {
.a-403, .a-500, .a-404 {
margin: 20px 50px 0 0 ;
text-align: right;
}
......@@ -241,6 +242,10 @@ button:active {
.a-500 {
margin: 25px 35px 0 0 ;
}
.a-404 {
margin: 42px 35px 0 0;
}
/* end 403/404/500 */
/* start kill */
......
......@@ -10,8 +10,24 @@
<body>
<div class="wrapper">
<div class="wrap">
<div class="content" style="height: 380px;width: 760px">
<script type="text/javascript" src="http://www.qq.com/404/search_children.js?edition=small" charset="utf-8"></script>
<div class="content">
<div class="logo">
<a href="http://b3log.org" target="_blank">
<img border="0" width="153" height="56" alt="B3log" title="B3log" src="${staticServePath}/images/logo.jpg"/>
</a>
</div>
<div class="main">
<h2>404 Not Found!</h2>
<img class="img-t0t" width="488" src="${staticServePath}/images/404.gif" title="404" alt="500: not found!" />
<div class="a-404">
欢迎访问
<a href="https://hacpai.com">黑客与画家</a>
</div>
<a href="http://b3log.org" target="_blank">
<img border="0" class="icon" alt="B3log" title="B3log" src="${staticServePath}/favicon.png"/>
</a>
</div>
<span class="clear"></span>
</div>
</div>
</div>
......
......@@ -444,7 +444,7 @@ admin.article = {
var filename = "";
$('#articleUpload').fileupload({
multipart: true,
url: "http://upload.qiniu.com/",
url: "https://up.qbox.me",
add: function (e, data) {
filename = data.files[0].name;
......@@ -469,6 +469,7 @@ admin.article = {
return;
}
$('#articleUpload').after('<div>![' + data.files[0].name + '](http://'
+ qiniu.qiniuDomain + qiniuKey + ')</div>');
},
......
......@@ -1356,7 +1356,7 @@ admin.article = {
var filename = "";
$('#articleUpload').fileupload({
multipart: true,
url: "http://upload.qiniu.com/",
url: "https://up.qbox.me",
add: function (e, data) {
filename = data.files[0].name;
......
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -499,7 +499,7 @@ $.extend(Page.prototype, {
var tips = this.tips;
try {
$.ajax({
url: "http://rhythm.b3log.org:80/get-articles-by-tags.do?tags=" + tags
url: "https://rhythm.b3log.org/get-articles-by-tags.do?tags=" + tags
+ "&blogHost=" + tips.blogHost + "&paginationPageSize=" + tips.externalRelevantArticlesDisplayCount,
type: "GET",
cache: true,
......
......@@ -13,4 +13,4 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
var Page=function(tips){this.currentCommentId="";this.tips=tips};$.extend(Page.prototype,{insertEmotions:function(name){var _it=this;if(name===undefined){name=""}$("#emotions"+name+" span").click(function(){var $comment=$("#comment"+name);var endPosition=_it._getCursorEndPosition($comment[0]);var key="["+this.className+"]",textValue=$comment[0].value;textValue=textValue.substring(0,endPosition)+key+textValue.substring(endPosition,textValue.length);$("#comment"+name).val(textValue);if($.browser.msie){endPosition-=textValue.split("\n").length-1;var oR=$comment[0].createTextRange();oR.collapse(true);oR.moveStart("character",endPosition+6);oR.select()}else{$comment[0].setSelectionRange(endPosition+6,endPosition+6)}})},_getCursorEndPosition:function(textarea){textarea.focus();if(textarea.setSelectionRange){return textarea.selectionEnd}else{if(document.selection){var i=0,oS=document.selection.createRange(),oR=document.body.createTextRange();oR.moveToElementText(textarea);oS.getBookmark();for(i=0;oR.compareEndPoints("StartToStart",oS)<0&&oS.moveStart("character",-1)!==0;i++){if(textarea.value.charAt(i)==="\n"){i++}}return i}}},validateComment:function(state){if(Util.isLoggedIn()){var commenterContent=$("#comment"+state).val().replace(/(^\s*)|(\s*$)/g,"");if(2>commenterContent.length||commenterContent.length>500){$("#commentErrorTip"+state).html(this.tips.commentContentCannotEmptyLabel);$("#comment"+state).focus()}else{return true}$("#commentErrorTip"+state).show();return false}var commentName=$("#commentName"+state).val().replace(/(^\s*)|(\s*$)/g,""),commenterContent=$("#comment"+state).val().replace(/(^\s*)|(\s*$)/g,"");if(2>commentName.length||commentName.length>20){$("#commentErrorTip"+state).html(this.tips.nameTooLongLabel);$("#commentName"+state).focus()}else{if($("#commentEmail"+state).val().replace(/\s/g,"")===""){$("#commentErrorTip"+state).html(this.tips.mailCannotEmptyLabel);$("#commentEmail"+state).focus()}else{if(!/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i.test($("#commentEmail"+state).val())){$("#commentErrorTip"+state).html(this.tips.mailInvalidLabel);$("#commentEmail"+state).focus()}else{if(2>commenterContent.length||commenterContent.length>500){$("#commentErrorTip"+state).html(this.tips.commentContentCannotEmptyLabel);$("#comment"+state).focus()}else{if($("#commentValidate"+state).val().replace(/\s/g,"")===""){$("#commentErrorTip"+state).html(this.tips.captchaCannotEmptyLabel);$("#commentValidate"+state).focus()}else{return true}}}}}$("#commentErrorTip"+state).show();return false},replaceCommentsEm:function(selector){var $commentContents=$(selector);for(var i=0;i<$commentContents.length;i++){var str=$commentContents[i].innerHTML;$commentContents[i].innerHTML=Util.replaceEmString(str)}},_initSyntaxHighlighter:function(languages){for(var i=0;i<languages.length;i++){switch(languages[i]){case"groovy":languages[i]="groovy "+latkeConfig.staticServePath+"/js/lib/SyntaxHighlighter/scripts/shBrushGroovy.js";break;case"java":languages[i]="java "+latkeConfig.staticServePath+"/js/lib/SyntaxHighlighter/scripts/shBrushJava.js";break;case"php":languages[i]="php "+latkeConfig.staticServePath+"/js/lib/SyntaxHighlighter/scripts/shBrushPhp.js";break;case"scala":languages[i]="scala "+latkeConfig.staticServePath+"/js/lib/SyntaxHighlighter/scripts/shBrushScala.js";break;case"sql":languages[i]="sql "+latkeConfig.staticServePath+"/js/lib/SyntaxHighlighter/scripts/shBrushSql.js";break;case"applescript":languages[i]="applescript "+latkeConfig.staticServePath+"/js/lib/SyntaxHighlighter/scripts/shBrushAppleScript.js";break;case"as3":case"actionscript3":languages[i]="actionscript3 as3 "+latkeConfig.staticServePath+"/js/lib/SyntaxHighlighter/scripts/shBrushAS3.js";break;case"bash":case"shell":languages[i]="bash shell "+latkeConfig.staticServePath+"/js/lib/SyntaxHighlighter/scripts/shBrushBash.js";break;case"coldfusion":case"cf":languages[i]="coldfusion cf "+latkeConfig.staticServePath+"/js/lib/SyntaxHighlighter/scripts/shBrushColdFusion.js";break;case"c#":case"c-sharp":case"csharp":languages[i]="c# c-sharp csharp "+latkeConfig.staticServePath+"/js/lib/SyntaxHighlighter/scripts/shBrushCSharp.js";break;case"cpp":case"c":languages[i]="cpp c "+latkeConfig.staticServePath+"/js/lib/SyntaxHighlighter/scripts/shBrushCpp.js";break;case"css":languages[i]="css "+latkeConfig.staticServePath+"/js/lib/SyntaxHighlighter/scripts/shBrushCss.js";break;case"delphi":case"pascal":languages[i]="delphi pascal "+latkeConfig.staticServePath+"/js/lib/SyntaxHighlighter/scripts/shBrushDelphi.js";break;case"diff":case"patch":case"pas":languages[i]="diff patch pas "+latkeConfig.staticServePath+"/js/lib/SyntaxHighlighter/scripts/shBrushDiff.js";break;case"erl":case"erlang":languages[i]="erl erlang "+latkeConfig.staticServePath+"/js/lib/SyntaxHighlighter/scripts/shBrushErlang.js";break;case"js":case"jscript":case"javascript":languages[i]="js jscript javascript "+latkeConfig.staticServePath+"/js/lib/SyntaxHighlighter/scripts/shBrushJScript.js";break;case"jfx":case"javafx":languages[i]="jfx javafx "+latkeConfig.staticServePath+"/js/lib/SyntaxHighlighter/scripts/shBrushJavaFX.js";break;case"perl":case"pl":languages[i]="perl pl "+latkeConfig.staticServePath+"/js/lib/SyntaxHighlighter/scripts/shBrushPerl.js";break;case"plain":case"text":languages[i]="text plain "+latkeConfig.staticServePath+"/js/lib/SyntaxHighlighter/scripts/shBrushPlain.js";break;case"ps":case"powershell":languages[i]="ps powershell "+latkeConfig.staticServePath+"/js/lib/SyntaxHighlighter/scripts/shBrushPowerShell.js";break;case"py":case"python":languages[i]="py python "+latkeConfig.staticServePath+"/js/lib/SyntaxHighlighter/scripts/shBrushPython.js";break;case"rails":case"ror":case"ruby":case"rb":languages[i]="ruby rails ror rb "+latkeConfig.staticServePath+"/js/lib/SyntaxHighlighter/scripts/shBrushRuby.js";break;case"sass":case"scss":languages[i]="sass scss "+latkeConfig.staticServePath+"/js/lib/SyntaxHighlighter/scripts/shBrushSass.js";break;case"vb":case"vbnet":languages[i]="vb vbnet "+latkeConfig.staticServePath+"/js/lib/SyntaxHighlighter/scripts/shBrushVb.js";break;case"xml":case"xhtml":case"xslt":case"html":languages[i]="xml xhtml xslt html "+latkeConfig.staticServePath+"/js/lib/SyntaxHighlighter/scripts/shBrushXml.js";break;default:break}}SyntaxHighlighter.autoloader.apply(null,languages);SyntaxHighlighter.config.stripBrs=true;SyntaxHighlighter.all()},_loadSyntaxHighlighter:function(SHTheme){var cssName=SHTheme?SHTheme:"shCoreEclipse",that=this;if(document.createStyleSheet){document.createStyleSheet(latkeConfig.staticServePath+"/js/lib/SyntaxHighlighter/styles/"+cssName+".css")}else{$("head").append($("<link rel='stylesheet' href='"+latkeConfig.staticServePath+"/js/lib/SyntaxHighlighter/styles/"+cssName+".css' type='text/css' charset='utf-8' />"))}$.ajax({url:latkeConfig.staticServePath+"/js/lib/SyntaxHighlighter/scripts/shCore.js",dataType:"script",cache:true,success:function(){var languages=[],isScrip=false;$(".article-body pre, .code-highlight pre").each(function(){var name=this.className.split(";")[0];var language=name.substr(7,name.length-1);if(this.className.indexOf("html-script: true")>-1&&(language!=="xml"&&language!=="xhtml"&&language!=="xslt"&&language!="html")){isScrip=true}languages.push(language)});if(isScrip){$.ajax({url:latkeConfig.staticServePath+"/js/lib/SyntaxHighlighter/scripts/shBrushXml.js",dataType:"script",cache:true,success:function(){that._initSyntaxHighlighter(languages)}})}else{that._initSyntaxHighlighter(languages)}}})},parseLanguage:function(obj){var isPrettify=false,isSH=false;$(".article-body pre, .code-highlight pre").each(function(){if(this.className.indexOf("brush")>-1){isSH=true}if(this.className.indexOf("prettyprint")>-1){isPrettify=true}});if(isSH){this._loadSyntaxHighlighter(obj?(obj.SHTheme?obj.SHTheme:undefined):undefined);return false}if(isPrettify){if(document.createStyleSheet){document.createStyleSheet(latkeConfig.staticServePath+"/js/lib/google-code-prettify/prettify.css")}else{$("head").append($("<link rel='stylesheet' href='"+latkeConfig.staticServePath+"/js/lib/google-code-prettify/prettify.css'>"))}$.ajax({url:latkeConfig.staticServePath+"/js/lib/google-code-prettify/prettify.js",dataType:"script",cache:true,success:function(){prettyPrint()}});return false}if(document.createStyleSheet){document.createStyleSheet(latkeConfig.staticServePath+"/js/lib/highlight.js-9.6.0/styles/default.css")}else{$("head").append($("<link rel='stylesheet' href='"+latkeConfig.staticServePath+"/js/lib/highlight.js-9.6.0/styles/github.css'>"))}$.ajax({url:latkeConfig.staticServePath+"/js/lib/highlight.js-9.6.0/highlight.pack.js",dataType:"script",cache:true,success:function(){hljs.initHighlightingOnLoad()}})},load:function(obj){var that=this;that.insertEmotions();that.parseLanguage(obj?(obj.language?obj.language:undefined):undefined);$("#commentValidate").keypress(function(event){if(event.keyCode===13){that.submitComment()}});$("#comment").keypress(function(event){if(event.keyCode===13&&event.ctrlKey){that.submitComment()}});$("#captcha").click(function(){$(this).attr("src",latkeConfig.servePath+"/captcha.do?code="+Math.random())});if(!Util.isLoggedIn()){$("#commentEmail").val(Cookie.readCookie("commentEmail"));$("#commentURL").val(Cookie.readCookie("commentURL"));$("#commentName").val(Cookie.readCookie("commentName"))}try{JSON}catch(e){document.write('<script src="'+latkeConfig.staticServePath+'/js/lib/json2.js"><\/script>')}},loadRandomArticles:function(headTitle){var randomArticles1Label=this.tips.randomArticles1Label;$.ajax({url:latkeConfig.servePath+"/get-random-articles.do",type:"POST",success:function(result,textStatus){var randomArticles=result.randomArticles;if(!randomArticles||0===randomArticles.length){$("#randomArticles").remove();return}var listHtml="";for(var i=0;i<randomArticles.length;i++){var article=randomArticles[i];var title=article.articleTitle;var randomArticleLiHtml="<li><a rel='nofollow' title='"+title+"' href='"+latkeConfig.servePath+article.articlePermalink+"'>"+title+"</a></li>";listHtml+=randomArticleLiHtml}var titleHTML=headTitle?headTitle:"<h4>"+randomArticles1Label+"</h4>";var randomArticleListHtml=titleHTML+"<ul class='marginLeft12'>"+listHtml+"</ul>";$("#randomArticles").append(randomArticleListHtml)}})},loadRelevantArticles:function(id,headTitle){$.ajax({url:latkeConfig.servePath+"/article/id/"+id+"/relevant/articles",type:"GET",success:function(data,textStatus){var articles=data.relevantArticles;if(!articles||0===articles.length){$("#relevantArticles").remove();return}var listHtml="";for(var i=0;i<articles.length;i++){var article=articles[i];var title=article.articleTitle;var articleLiHtml="<li><a rel='nofollow' title='"+title+"' href='"+latkeConfig.servePath+article.articlePermalink+"'>"+title+"</a></li>";listHtml+=articleLiHtml}var relevantArticleListHtml=headTitle+"<ul class='marginLeft12'>"+listHtml+"</ul>";$("#relevantArticles").append(relevantArticleListHtml)},error:function(){$("#relevantArticles").remove()}})},loadExternalRelevantArticles:function(tags,headTitle){var tips=this.tips;try{$.ajax({url: window.location.protocol+'://'+"rhythm.b3log.org/get-articles-by-tags.do?tags="+tags+"&blogHost="+tips.blogHost+"&paginationPageSize="+tips.externalRelevantArticlesDisplayCount,type:"GET",cache:true,dataType:"jsonp",error:function(){$("#externalRelevantArticles").remove()},success:function(data,textStatus){var articles=data.articles;if(!articles||0===articles.length){$("#externalRelevantArticles").remove();return}var listHtml="";for(var i=0;i<articles.length;i++){var article=articles[i];var title=article.articleTitle;var articleLiHtml="<li><a rel='nofollow' title='"+title+"' target='_blank' href='"+article.articlePermalink+"'>"+title+"</a></li>";listHtml+=articleLiHtml}var titleHTML=headTitle?headTitle:"<h4>"+tips.externalRelevantArticles1Label+"</h4>";var randomArticleListHtml=titleHTML+"<ul class='marginLeft12'>"+listHtml+"</ul>";$("#externalRelevantArticles").append(randomArticleListHtml)}})}catch(e){}},submitComment:function(commentId,state){if(!state){state=""}var that=this,tips=this.tips,type="article";if(tips.externalRelevantArticlesDisplayCount===undefined){type="page"}if(this.validateComment(state)){$("#submitCommentButton"+state).attr("disabled","disabled");$("#commentErrorTip"+state).show().html(this.tips.loadingLabel);var requestJSONObject={oId:tips.oId,commentContent:$("#comment"+state).val().replace(/(^\s*)|(\s*$)/g,"")};if(!Util.isLoggedIn()){requestJSONObject={oId:tips.oId,commentContent:$("#comment"+state).val().replace(/(^\s*)|(\s*$)/g,""),commentEmail:$("#commentEmail"+state).val(),commentURL:Util.proessURL($("#commentURL"+state).val().replace(/(^\s*)|(\s*$)/g,"")),commentName:$("#commentName"+state).val().replace(/(^\s*)|(\s*$)/g,""),captcha:$("#commentValidate"+state).val()};Cookie.createCookie("commentName",requestJSONObject.commentName,365);Cookie.createCookie("commentEmail",requestJSONObject.commentEmail,365);Cookie.createCookie("commentURL",$("#commentURL"+state).val().replace(/(^\s*)|(\s*$)/g,""),365)}if(state==="Reply"){requestJSONObject.commentOriginalCommentId=commentId}$.ajax({type:"POST",url:latkeConfig.servePath+"/add-"+type+"-comment.do",cache:false,contentType:"application/json",data:JSON.stringify(requestJSONObject),success:function(result){if(!result.sc){$("#commentErrorTip"+state).html(result.msg);$("#comment"+state).val("").focus();$("#submitCommentButton"+state).removeAttr("disabled");if(!Util.isLoggedIn()){$("#captcha"+state).attr("src",latkeConfig.servePath+"/captcha.do?code="+Math.random())}return}$("#comment"+state).val(result.commentContent);$("#commentName"+state).val(result.commentName);result.replyNameHTML="";if(!Util.isLoggedIn()){$("#captcha"+state).attr("src",latkeConfig.servePath+"/captcha.do?code="+Math.random());if($("#commentURL"+state).val().replace(/\s/g,"")===""){result.replyNameHTML="<a>"+$("#commentName"+state).val()+"</a>"}else{result.replyNameHTML='<a href="'+Util.proessURL($("#commentURL"+state).val())+'" target="_blank">'+$("#commentName"+state).val()+"</a>"}result.userName=result.commentName}else{result.replyNameHTML='<a href="'+window.location.host+'" target="_blank">'+Util.getUserName()+"</a>";result.userName=Util.getUserName()}that.addCommentAjax(addComment(result,state),state);$("#submitCommentButton"+state).removeAttr("disabled")}})}},addReplyForm:function(id,commentFormHTML,endHTML){var that=this;if(id===this.currentCommentId){if($("#commentNameReply").val()===""){$("#commentNameReply").focus()}else{if($("#commentEmailReply").val()===""){$("#commentEmailReply").focus()}else{$("#commentReply").focus()}}return}$("#replyForm").remove();endHTML=endHTML?endHTML:"";if(endHTML==="</div>"){$("#"+id).append(commentFormHTML+$("#commentForm").html()+endHTML)}else{$("#"+id).append(commentFormHTML+$("#commentForm").html()+"</table>"+endHTML)}$("#replyForm input, #replyForm textarea").each(function(){this.id=this.id+"Reply"});$("#commentNameReply").val(Cookie.readCookie("commentName"));$("#commentEmailReply").val(Cookie.readCookie("commentEmail"));var $label=$("#replyForm #commentURLLabel");if($label.length===1){$label.attr("id","commentURLLabelReply")}$("#commentURLReply").val(Cookie.readCookie("commentURL"));$("#replyForm #emotions").attr("id","emotionsReply");this.insertEmotions("Reply");$("#commentReply").unbind().keypress(function(event){if(event.keyCode===13&&event.ctrlKey){that.submitComment(id,"Reply");event.preventDefault()}});$("#commentValidateReply").unbind().keypress(function(event){if(event.keyCode===13){that.submitComment(id,"Reply");event.preventDefault()}});$("#replyForm #captcha").attr("id","captchaReply").attr("src",latkeConfig.servePath+"/captcha.do?"+new Date().getTime()).click(function(){$(this).attr("src",latkeConfig.servePath+"/captcha.do?code="+Math.random())});$("#replyForm #commentErrorTip").attr("id","commentErrorTipReply").html("").hide();$("#replyForm #submitCommentButton").attr("id","submitCommentButtonReply");$("#replyForm #submitCommentButtonReply").unbind("click").removeAttr("onclick").click(function(){that.submitComment(id,"Reply")});if($("#commentNameReply").val()===""){$("#commentNameReply").focus()}else{if($("#commentEmailReply").val()===""){$("#commentEmailReply").focus()}else{$("#commentReply").focus()}}this.currentCommentId=id},hideComment:function(id){$("#commentRef"+id).hide()},showComment:function(it,id,top,parentTag){var positionTop=parseInt($(it).position().top);if(parentTag){positionTop=parseInt($(it).parents(parentTag).position().top)}if($("#commentRef"+id).length>0){$("#commentRef"+id).show().css("top",(positionTop+top)+"px")}else{var $refComment=$("#"+id).clone();$refComment.addClass("comment-body-ref").attr("id","commentRef"+id);$refComment.find("#replyForm").remove();$("#comments").append($refComment);$("#commentRef"+id).css("top",(positionTop+top)+"px")}},addCommentAjax:function(commentHTML,state){if($("#comments").children().length>0){$($("#comments").children()[0]).before(commentHTML)}else{$("#comments").html(commentHTML)}if(state===""){$("#commentErrorTip").html("").hide();$("#comment").val("");$("#commentValidate").val("");$("#captcha").attr("src",latkeConfig.servePath+"/captcha.do?code="+Math.random())}else{$("#replyForm").remove()}window.location.hash="#comments"}});
\ No newline at end of file
var Page=function(tips){this.currentCommentId="";this.tips=tips};$.extend(Page.prototype,{insertEmotions:function(name){var _it=this;if(name===undefined){name=""}$("#emotions"+name+" span").click(function(){var $comment=$("#comment"+name);var endPosition=_it._getCursorEndPosition($comment[0]);var key="["+this.className+"]",textValue=$comment[0].value;textValue=textValue.substring(0,endPosition)+key+textValue.substring(endPosition,textValue.length);$("#comment"+name).val(textValue);if($.browser.msie){endPosition-=textValue.split("\n").length-1;var oR=$comment[0].createTextRange();oR.collapse(true);oR.moveStart("character",endPosition+6);oR.select()}else{$comment[0].setSelectionRange(endPosition+6,endPosition+6)}})},_getCursorEndPosition:function(textarea){textarea.focus();if(textarea.setSelectionRange){return textarea.selectionEnd}else{if(document.selection){var i=0,oS=document.selection.createRange(),oR=document.body.createTextRange();oR.moveToElementText(textarea);oS.getBookmark();for(i=0;oR.compareEndPoints("StartToStart",oS)<0&&oS.moveStart("character",-1)!==0;i++){if(textarea.value.charAt(i)==="\n"){i++}}return i}}},validateComment:function(state){if(Util.isLoggedIn()){var commenterContent=$("#comment"+state).val().replace(/(^\s*)|(\s*$)/g,"");if(2>commenterContent.length||commenterContent.length>500){$("#commentErrorTip"+state).html(this.tips.commentContentCannotEmptyLabel);$("#comment"+state).focus()}else{return true}$("#commentErrorTip"+state).show();return false}var commentName=$("#commentName"+state).val().replace(/(^\s*)|(\s*$)/g,""),commenterContent=$("#comment"+state).val().replace(/(^\s*)|(\s*$)/g,"");if(2>commentName.length||commentName.length>20){$("#commentErrorTip"+state).html(this.tips.nameTooLongLabel);$("#commentName"+state).focus()}else{if($("#commentEmail"+state).val().replace(/\s/g,"")===""){$("#commentErrorTip"+state).html(this.tips.mailCannotEmptyLabel);$("#commentEmail"+state).focus()}else{if(!/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i.test($("#commentEmail"+state).val())){$("#commentErrorTip"+state).html(this.tips.mailInvalidLabel);$("#commentEmail"+state).focus()}else{if(2>commenterContent.length||commenterContent.length>500){$("#commentErrorTip"+state).html(this.tips.commentContentCannotEmptyLabel);$("#comment"+state).focus()}else{if($("#commentValidate"+state).val().replace(/\s/g,"")===""){$("#commentErrorTip"+state).html(this.tips.captchaCannotEmptyLabel);$("#commentValidate"+state).focus()}else{return true}}}}}$("#commentErrorTip"+state).show();return false},replaceCommentsEm:function(selector){var $commentContents=$(selector);for(var i=0;i<$commentContents.length;i++){var str=$commentContents[i].innerHTML;$commentContents[i].innerHTML=Util.replaceEmString(str)}},_initSyntaxHighlighter:function(languages){for(var i=0;i<languages.length;i++){switch(languages[i]){case"groovy":languages[i]="groovy "+latkeConfig.staticServePath+"/js/lib/SyntaxHighlighter/scripts/shBrushGroovy.js";break;case"java":languages[i]="java "+latkeConfig.staticServePath+"/js/lib/SyntaxHighlighter/scripts/shBrushJava.js";break;case"php":languages[i]="php "+latkeConfig.staticServePath+"/js/lib/SyntaxHighlighter/scripts/shBrushPhp.js";break;case"scala":languages[i]="scala "+latkeConfig.staticServePath+"/js/lib/SyntaxHighlighter/scripts/shBrushScala.js";break;case"sql":languages[i]="sql "+latkeConfig.staticServePath+"/js/lib/SyntaxHighlighter/scripts/shBrushSql.js";break;case"applescript":languages[i]="applescript "+latkeConfig.staticServePath+"/js/lib/SyntaxHighlighter/scripts/shBrushAppleScript.js";break;case"as3":case"actionscript3":languages[i]="actionscript3 as3 "+latkeConfig.staticServePath+"/js/lib/SyntaxHighlighter/scripts/shBrushAS3.js";break;case"bash":case"shell":languages[i]="bash shell "+latkeConfig.staticServePath+"/js/lib/SyntaxHighlighter/scripts/shBrushBash.js";break;case"coldfusion":case"cf":languages[i]="coldfusion cf "+latkeConfig.staticServePath+"/js/lib/SyntaxHighlighter/scripts/shBrushColdFusion.js";break;case"c#":case"c-sharp":case"csharp":languages[i]="c# c-sharp csharp "+latkeConfig.staticServePath+"/js/lib/SyntaxHighlighter/scripts/shBrushCSharp.js";break;case"cpp":case"c":languages[i]="cpp c "+latkeConfig.staticServePath+"/js/lib/SyntaxHighlighter/scripts/shBrushCpp.js";break;case"css":languages[i]="css "+latkeConfig.staticServePath+"/js/lib/SyntaxHighlighter/scripts/shBrushCss.js";break;case"delphi":case"pascal":languages[i]="delphi pascal "+latkeConfig.staticServePath+"/js/lib/SyntaxHighlighter/scripts/shBrushDelphi.js";break;case"diff":case"patch":case"pas":languages[i]="diff patch pas "+latkeConfig.staticServePath+"/js/lib/SyntaxHighlighter/scripts/shBrushDiff.js";break;case"erl":case"erlang":languages[i]="erl erlang "+latkeConfig.staticServePath+"/js/lib/SyntaxHighlighter/scripts/shBrushErlang.js";break;case"js":case"jscript":case"javascript":languages[i]="js jscript javascript "+latkeConfig.staticServePath+"/js/lib/SyntaxHighlighter/scripts/shBrushJScript.js";break;case"jfx":case"javafx":languages[i]="jfx javafx "+latkeConfig.staticServePath+"/js/lib/SyntaxHighlighter/scripts/shBrushJavaFX.js";break;case"perl":case"pl":languages[i]="perl pl "+latkeConfig.staticServePath+"/js/lib/SyntaxHighlighter/scripts/shBrushPerl.js";break;case"plain":case"text":languages[i]="text plain "+latkeConfig.staticServePath+"/js/lib/SyntaxHighlighter/scripts/shBrushPlain.js";break;case"ps":case"powershell":languages[i]="ps powershell "+latkeConfig.staticServePath+"/js/lib/SyntaxHighlighter/scripts/shBrushPowerShell.js";break;case"py":case"python":languages[i]="py python "+latkeConfig.staticServePath+"/js/lib/SyntaxHighlighter/scripts/shBrushPython.js";break;case"rails":case"ror":case"ruby":case"rb":languages[i]="ruby rails ror rb "+latkeConfig.staticServePath+"/js/lib/SyntaxHighlighter/scripts/shBrushRuby.js";break;case"sass":case"scss":languages[i]="sass scss "+latkeConfig.staticServePath+"/js/lib/SyntaxHighlighter/scripts/shBrushSass.js";break;case"vb":case"vbnet":languages[i]="vb vbnet "+latkeConfig.staticServePath+"/js/lib/SyntaxHighlighter/scripts/shBrushVb.js";break;case"xml":case"xhtml":case"xslt":case"html":languages[i]="xml xhtml xslt html "+latkeConfig.staticServePath+"/js/lib/SyntaxHighlighter/scripts/shBrushXml.js";break;default:break}}SyntaxHighlighter.autoloader.apply(null,languages);SyntaxHighlighter.config.stripBrs=true;SyntaxHighlighter.all()},_loadSyntaxHighlighter:function(SHTheme){var cssName=SHTheme?SHTheme:"shCoreEclipse",that=this;if(document.createStyleSheet){document.createStyleSheet(latkeConfig.staticServePath+"/js/lib/SyntaxHighlighter/styles/"+cssName+".css")}else{$("head").append($("<link rel='stylesheet' href='"+latkeConfig.staticServePath+"/js/lib/SyntaxHighlighter/styles/"+cssName+".css' type='text/css' charset='utf-8' />"))}$.ajax({url:latkeConfig.staticServePath+"/js/lib/SyntaxHighlighter/scripts/shCore.js",dataType:"script",cache:true,success:function(){var languages=[],isScrip=false;$(".article-body pre, .code-highlight pre").each(function(){var name=this.className.split(";")[0];var language=name.substr(7,name.length-1);if(this.className.indexOf("html-script: true")>-1&&(language!=="xml"&&language!=="xhtml"&&language!=="xslt"&&language!="html")){isScrip=true}languages.push(language)});if(isScrip){$.ajax({url:latkeConfig.staticServePath+"/js/lib/SyntaxHighlighter/scripts/shBrushXml.js",dataType:"script",cache:true,success:function(){that._initSyntaxHighlighter(languages)}})}else{that._initSyntaxHighlighter(languages)}}})},parseLanguage:function(obj){var isPrettify=false,isSH=false;$(".article-body pre, .code-highlight pre").each(function(){if(this.className.indexOf("brush")>-1){isSH=true}if(this.className.indexOf("prettyprint")>-1){isPrettify=true}});if(isSH){this._loadSyntaxHighlighter(obj?(obj.SHTheme?obj.SHTheme:undefined):undefined);return false}if(isPrettify){if(document.createStyleSheet){document.createStyleSheet(latkeConfig.staticServePath+"/js/lib/google-code-prettify/prettify.css")}else{$("head").append($("<link rel='stylesheet' href='"+latkeConfig.staticServePath+"/js/lib/google-code-prettify/prettify.css'>"))}$.ajax({url:latkeConfig.staticServePath+"/js/lib/google-code-prettify/prettify.js",dataType:"script",cache:true,success:function(){prettyPrint()}});return false}if(document.createStyleSheet){document.createStyleSheet(latkeConfig.staticServePath+"/js/lib/highlight.js-9.6.0/styles/default.css")}else{$("head").append($("<link rel='stylesheet' href='"+latkeConfig.staticServePath+"/js/lib/highlight.js-9.6.0/styles/github.css'>"))}$.ajax({url:latkeConfig.staticServePath+"/js/lib/highlight.js-9.6.0/highlight.pack.js",dataType:"script",cache:true,success:function(){hljs.initHighlightingOnLoad()}})},load:function(obj){var that=this;that.insertEmotions();that.parseLanguage(obj?(obj.language?obj.language:undefined):undefined);$("#commentValidate").keypress(function(event){if(event.keyCode===13){that.submitComment()}});$("#comment").keypress(function(event){if(event.keyCode===13&&event.ctrlKey){that.submitComment()}});$("#captcha").click(function(){$(this).attr("src",latkeConfig.servePath+"/captcha.do?code="+Math.random())});if(!Util.isLoggedIn()){$("#commentEmail").val(Cookie.readCookie("commentEmail"));$("#commentURL").val(Cookie.readCookie("commentURL"));$("#commentName").val(Cookie.readCookie("commentName"))}try{JSON}catch(e){document.write('<script src="'+latkeConfig.staticServePath+'/js/lib/json2.js"><\/script>')}},loadRandomArticles:function(headTitle){var randomArticles1Label=this.tips.randomArticles1Label;$.ajax({url:latkeConfig.servePath+"/get-random-articles.do",type:"POST",success:function(result,textStatus){var randomArticles=result.randomArticles;if(!randomArticles||0===randomArticles.length){$("#randomArticles").remove();return}var listHtml="";for(var i=0;i<randomArticles.length;i++){var article=randomArticles[i];var title=article.articleTitle;var randomArticleLiHtml="<li><a rel='nofollow' title='"+title+"' href='"+latkeConfig.servePath+article.articlePermalink+"'>"+title+"</a></li>";listHtml+=randomArticleLiHtml}var titleHTML=headTitle?headTitle:"<h4>"+randomArticles1Label+"</h4>";var randomArticleListHtml=titleHTML+"<ul class='marginLeft12'>"+listHtml+"</ul>";$("#randomArticles").append(randomArticleListHtml)}})},loadRelevantArticles:function(id,headTitle){$.ajax({url:latkeConfig.servePath+"/article/id/"+id+"/relevant/articles",type:"GET",success:function(data,textStatus){var articles=data.relevantArticles;if(!articles||0===articles.length){$("#relevantArticles").remove();return}var listHtml="";for(var i=0;i<articles.length;i++){var article=articles[i];var title=article.articleTitle;var articleLiHtml="<li><a rel='nofollow' title='"+title+"' href='"+latkeConfig.servePath+article.articlePermalink+"'>"+title+"</a></li>";listHtml+=articleLiHtml}var relevantArticleListHtml=headTitle+"<ul class='marginLeft12'>"+listHtml+"</ul>";$("#relevantArticles").append(relevantArticleListHtml)},error:function(){$("#relevantArticles").remove()}})},loadExternalRelevantArticles:function(tags,headTitle){var tips=this.tips;try{$.ajax({url:"https://rhythm.b3log.org/get-articles-by-tags.do?tags="+tags+"&blogHost="+tips.blogHost+"&paginationPageSize="+tips.externalRelevantArticlesDisplayCount,type:"GET",cache:true,dataType:"jsonp",error:function(){$("#externalRelevantArticles").remove()},success:function(data,textStatus){var articles=data.articles;if(!articles||0===articles.length){$("#externalRelevantArticles").remove();return}var listHtml="";for(var i=0;i<articles.length;i++){var article=articles[i];var title=article.articleTitle;var articleLiHtml="<li><a rel='nofollow' title='"+title+"' target='_blank' href='"+article.articlePermalink+"'>"+title+"</a></li>";listHtml+=articleLiHtml}var titleHTML=headTitle?headTitle:"<h4>"+tips.externalRelevantArticles1Label+"</h4>";var randomArticleListHtml=titleHTML+"<ul class='marginLeft12'>"+listHtml+"</ul>";$("#externalRelevantArticles").append(randomArticleListHtml)}})}catch(e){}},submitComment:function(commentId,state){if(!state){state=""}var that=this,tips=this.tips,type="article";if(tips.externalRelevantArticlesDisplayCount===undefined){type="page"}if(this.validateComment(state)){$("#submitCommentButton"+state).attr("disabled","disabled");$("#commentErrorTip"+state).show().html(this.tips.loadingLabel);var requestJSONObject={oId:tips.oId,commentContent:$("#comment"+state).val().replace(/(^\s*)|(\s*$)/g,"")};if(!Util.isLoggedIn()){requestJSONObject={oId:tips.oId,commentContent:$("#comment"+state).val().replace(/(^\s*)|(\s*$)/g,""),commentEmail:$("#commentEmail"+state).val(),commentURL:Util.proessURL($("#commentURL"+state).val().replace(/(^\s*)|(\s*$)/g,"")),commentName:$("#commentName"+state).val().replace(/(^\s*)|(\s*$)/g,""),captcha:$("#commentValidate"+state).val()};Cookie.createCookie("commentName",requestJSONObject.commentName,365);Cookie.createCookie("commentEmail",requestJSONObject.commentEmail,365);Cookie.createCookie("commentURL",$("#commentURL"+state).val().replace(/(^\s*)|(\s*$)/g,""),365)}if(state==="Reply"){requestJSONObject.commentOriginalCommentId=commentId}$.ajax({type:"POST",url:latkeConfig.servePath+"/add-"+type+"-comment.do",cache:false,contentType:"application/json",data:JSON.stringify(requestJSONObject),success:function(result){if(!result.sc){$("#commentErrorTip"+state).html(result.msg);$("#comment"+state).val("").focus();$("#submitCommentButton"+state).removeAttr("disabled");if(!Util.isLoggedIn()){$("#captcha"+state).attr("src",latkeConfig.servePath+"/captcha.do?code="+Math.random())}return}$("#comment"+state).val(result.commentContent);$("#commentName"+state).val(result.commentName);result.replyNameHTML="";if(!Util.isLoggedIn()){$("#captcha"+state).attr("src",latkeConfig.servePath+"/captcha.do?code="+Math.random());if($("#commentURL"+state).val().replace(/\s/g,"")===""){result.replyNameHTML="<a>"+$("#commentName"+state).val()+"</a>"}else{result.replyNameHTML='<a href="'+Util.proessURL($("#commentURL"+state).val())+'" target="_blank">'+$("#commentName"+state).val()+"</a>"}result.userName=result.commentName}else{result.replyNameHTML='<a href="'+window.location.host+'" target="_blank">'+Util.getUserName()+"</a>";result.userName=Util.getUserName()}that.addCommentAjax(addComment(result,state),state);$("#submitCommentButton"+state).removeAttr("disabled")}})}},addReplyForm:function(id,commentFormHTML,endHTML){var that=this;if(id===this.currentCommentId){if($("#commentNameReply").val()===""){$("#commentNameReply").focus()}else{if($("#commentEmailReply").val()===""){$("#commentEmailReply").focus()}else{$("#commentReply").focus()}}return}$("#replyForm").remove();endHTML=endHTML?endHTML:"";if(endHTML==="</div>"){$("#"+id).append(commentFormHTML+$("#commentForm").html()+endHTML)}else{$("#"+id).append(commentFormHTML+$("#commentForm").html()+"</table>"+endHTML)}$("#replyForm input, #replyForm textarea").each(function(){this.id=this.id+"Reply"});$("#commentNameReply").val(Cookie.readCookie("commentName"));$("#commentEmailReply").val(Cookie.readCookie("commentEmail"));var $label=$("#replyForm #commentURLLabel");if($label.length===1){$label.attr("id","commentURLLabelReply")}$("#commentURLReply").val(Cookie.readCookie("commentURL"));$("#replyForm #emotions").attr("id","emotionsReply");this.insertEmotions("Reply");$("#commentReply").unbind().keypress(function(event){if(event.keyCode===13&&event.ctrlKey){that.submitComment(id,"Reply");event.preventDefault()}});$("#commentValidateReply").unbind().keypress(function(event){if(event.keyCode===13){that.submitComment(id,"Reply");event.preventDefault()}});$("#replyForm #captcha").attr("id","captchaReply").attr("src",latkeConfig.servePath+"/captcha.do?"+new Date().getTime()).click(function(){$(this).attr("src",latkeConfig.servePath+"/captcha.do?code="+Math.random())});$("#replyForm #commentErrorTip").attr("id","commentErrorTipReply").html("").hide();$("#replyForm #submitCommentButton").attr("id","submitCommentButtonReply");$("#replyForm #submitCommentButtonReply").unbind("click").removeAttr("onclick").click(function(){that.submitComment(id,"Reply")});if($("#commentNameReply").val()===""){$("#commentNameReply").focus()}else{if($("#commentEmailReply").val()===""){$("#commentEmailReply").focus()}else{$("#commentReply").focus()}}this.currentCommentId=id},hideComment:function(id){$("#commentRef"+id).hide()},showComment:function(it,id,top,parentTag){var positionTop=parseInt($(it).position().top);if(parentTag){positionTop=parseInt($(it).parents(parentTag).position().top)}if($("#commentRef"+id).length>0){$("#commentRef"+id).show().css("top",(positionTop+top)+"px")}else{var $refComment=$("#"+id).clone();$refComment.addClass("comment-body-ref").attr("id","commentRef"+id);$refComment.find("#replyForm").remove();$("#comments").append($refComment);$("#commentRef"+id).css("top",(positionTop+top)+"px")}},addCommentAjax:function(commentHTML,state){if($("#comments").children().length>0){$($("#comments").children()[0]).before(commentHTML)}else{$("#comments").html(commentHTML)}if(state===""){$("#commentErrorTip").html("").hide();$("#comment").val("");$("#commentValidate").val("");$("#captcha").attr("src",latkeConfig.servePath+"/captcha.do?code="+Math.random())}else{$("#replyForm").remove()}window.location.hash="#comments"}});
\ No newline at end of file
......@@ -18,7 +18,7 @@
* skin next style
*
* @author <a href="http://vanessa.b3log.org">Liyuan Li</a>
* @version 0.2.2.1, Sep 6, 2016
* @version 0.3.2.1, Dec 17, 2016
*/
/* start reset */
html {
......@@ -693,6 +693,144 @@ img {
/* end list*/
/* start article */
.article-body {
font-family: "Helvetica Neue","Luxi Sans","DejaVu Sans",Tahoma,"Hiragino Sans GB","Microsoft Yahei",sans-serif;
word-wrap: break-word;
overflow: hidden;
line-height: 1.5
}
.article-body ul,.article-body ol {
padding-left: 2em;
margin-top: 0;
margin-bottom: 16px
}
.article-body li {
margin-top: 0.25em;
}
.article-body h1,.article-body h2,.article-body h3,.article-body h4,.article-body h5,.article-body h6 {
margin-top: 24px;
margin-bottom: 16px;
font-weight: 600;
line-height: 1.25
}
.article-body h1 {
padding-bottom: 0.3em;
font-size: 2em
}
.article-body h2 {
padding-bottom: 0.3em;
font-size: 1.5em
}
.article-body h3 {
font-size: 1.25em
}
.article-body h4 {
font-size: 1em
}
.article-body h5 {
font-size: 0.875em
}
.article-body h6 {
font-size: 0.85em
}
.article-body p {
margin-top: 0;
margin-bottom: 16px
}
.article-body blockquote {
padding: 0 1em;
color: #777;
border-left: 0.25em solid #ddd;
margin-bottom: 16px
}
.article-body blockquote p {
margin: 0
}
.article-body iframe {
border: 1px solid #ccc
}
.article-body table {
width: 100%;
border: 1px solid #dedede;
margin: 15px auto;
border-collapse: collapse;
empty-cells: show
}
.article-body thead {
text-align: center
}
.article-body td,.article-body th {
height: 35px;
border: 1px solid #dedede;
padding: 0 10px
}
.article-body th {
font-weight: bold;
text-align: center !important;
background: rgba(158,188,226,0.2)
}
.article-body tbody tr:nth-child(2n) {
background: rgba(158,188,226,0.12)
}
.article-body tr:hover {
background: #efefef
}
.article-body code {
padding: 0.2em 0.4em;
margin: 0;
font-size: 85%;
background-color: rgba(252,41,41,0.12);
border-radius: 3px;
color: #d23f31;
font-family: mononoki,Consolas,"Liberation Mono",Menlo,Courier,monospace
}
.article-body pre>code {
padding: 0.5em;
border-radius: 0;
color: #333;
background-color: rgba(0,0,0,0.04);
background-image: url(../images/code-bg.png);
background-size: 20px 20px;
border-radius: 5px
}
.article-body 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 #ccc;
border-bottom-color: #bbb;
border-radius: 3px;
box-shadow: inset 0 -1px 0 #bbb
}
.post-header {
text-align: center;
}
......
/** * Copyright (c) 2010-2016, b3log.org & hacpai.com * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */@charset "utf-8";a,body{color:#555}.post-body,ul.comments li{word-wrap:break-word}html{background-color:#f5f5f5}body{margin:0;font-family:Lato,"PingFang SC","Microsoft YaHei",sans-serif;font-size:14px;background:#fff}a{text-decoration:none;border-bottom:1px solid #999}a:active,a:hover{outline:0}a:hover{color:#222;border-bottom-color:#222}hr{margin:40px 0;height:3px;border:none;background-color:#ddd;background-image:repeating-linear-gradient(-45deg,#fff,#fff 4px,transparent 4px,transparent 8px)}blockquote{padding:0 15px;color:#666;border-left:4px solid #ddd}img{max-width:100%;height:auto}.fn-clear:after,.fn-clear:before{display:table;content:"";line-height:0}.fn-clear:after{clear:both;line-height:0}.fn-left{float:left}.fn-right{float:right}.fn-none{display:none}@font-face{font-family:icomoon;src:url(fonts/icomoon.eot?a0psdo);src:url(fonts/icomoon.eot?a0psdo#iefix) format('embedded-opentype'),url(fonts/icomoon.ttf?a0psdo) format('truetype'),url(fonts/icomoon.woff?a0psdo) format('woff'),url(fonts/icomoon.svg?a0psdo#icomoon) format('svg');font-weight:400;font-style:normal}[class*=" icon-"],[class^=icon-]{font-family:icomoon!important;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-register:before{content:"\e973"}.icon-setting:before{content:"\e994"}.icon-login:before{content:"\ea13"}.icon-logout:before{content:"\ea14"}.icon-rss:before{content:"\e901"}.form{width:100%;margin-top:50px}.form button,.form input,.form textarea{border:1px solid #CCC;background-color:#FAFAFA;border-radius:3px;box-shadow:0 1px 2px rgba(0,0,0,.075) inset;padding:7px 8px;width:100%;box-sizing:border-box;outline:0}.form button{width:auto}.form input:focus,.form textarea:focus{background-color:#FFF;box-shadow:0 1px 2px rgba(0,0,0,.075) inset,0 0 5px rgba(81,167,232,.5);border:1px solid #51A7E8}.error-msg{color:#9EABB3;margin-right:10px}.em00,.em01,.em02,.em03,.em04,.em05,.em06,.em07,.em08,.em09,.em10,.em11,.em12,.em13,.em14{cursor:pointer;background-image:url(../images/emotions/emotions-ease.png);float:left;height:24px;margin-right:5px;width:24px;transition:all .2s ease-out;-webkit-transition:all .2s ease-out;-moz-transition:all .2s ease-out}.menu .menu-item a,.pagination .next,.pagination .page-number,.post-title-link::before,.posts-collapse .post-header,.posts-collapse .post-header::before,.sidebar-toggle-line{transition-duration:.2s;transition-timing-function:ease-in-out;transition-delay:0s}#emotions span:hover{transform:scale(1.2) rotate(360deg);-webkit-transform:scale(1.2) rotate(360deg);-moz-transform:scale(1.2) rotate(360deg)}.em01{background-position:-24px 0}.em02{background-position:-48px 0}.em03{background-position:-72px 0}.em04{background-position:-96px 0}.em05{background-position:0 -24px}.em06{background-position:-24px -24px}.em07{background-position:-48px -24px}.em08{background-position:-72px -24px}.em09{background-position:-96px -24px}.em10{background-position:0 -48px}.em11{background-position:-24px -48px}.em12{background-position:-48px -48px}.em13{background-position:-72px -48px}.em14{background-position:-96px -48px}.wrapper{max-width:700px;min-width:600px;margin:0 auto;padding:0 10px}.main{position:relative;top:-50px;opacity:0}.header{background:#f5f5f5;margin-bottom:80px;padding:40px 0}.logo-wrap{float:left;overflow:hidden;top:0;opacity:0}.logo-line-after,.logo-line-before{display:block;overflow:hidden;margin:0 auto;width:75%}.logo-line-after i,.logo-line-before i{position:relative;display:block;height:2px;background:#222;left:-100%}.logo-line-after i{left:auto;right:-100%}.logo-wrap .site-title{font-size:22px;font-weight:bolder;opacity:0;top:-10px;position:relative}.logo-wrap>a{position:relative;display:inline-block;padding:2px 1px;color:#222;line-height:2;border-bottom:none;font-family:Lato,"PingFang SC","Microsoft YaHei",sans-serif}.site-nav-toggle{display:none}.menu .menu-item,.sidebar-toggle-line{display:inline-block}.menu{float:left;margin:5px 0 0 20px;padding:0 20px;opacity:0}.menu .menu-item a{padding:5px 10px;border:none;transition-property:background}.menu .menu-item a:hover{background:#e1e1e1}.site-search{float:right;margin-top:15px}.site-search input{padding:3px 3px 3px 18px;border:none;border-radius:0;width:140px;background:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/PjwhRE9DVFlQRSBzdmcgIFBVQkxJQyAnLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4nICAnaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHLzEuMS9EVEQvc3ZnMTEuZHRkJz48c3ZnIGhlaWdodD0iMTZweCIgaWQ9IkxheWVyXzEiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDE2IDE2OyIgdmVyc2lvbj0iMS4xIiB2aWV3Qm94PSIwIDAgMTYgMTYiIHdpZHRoPSIxNnB4IiB4bWw6c3BhY2U9InByZXNlcnZlIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj48cGF0aCBkPSJNMTUuNywxNC4zbC0zLjEwNS0zLjEwNUMxMy40NzMsMTAuMDI0LDE0LDguNTc2LDE0LDdjMC0zLjg2Ni0zLjEzNC03LTctN1MwLDMuMTM0LDAsN3MzLjEzNCw3LDcsNyAgYzEuNTc2LDAsMy4wMjQtMC41MjcsNC4xOTQtMS40MDVMMTQuMywxNS43YzAuMTg0LDAuMTg0LDAuMzgsMC4zLDAuNywwLjNjMC41NTMsMCwxLTAuNDQ3LDEtMUMxNiwxNC43ODEsMTUuOTQ2LDE0LjU0NiwxNS43LDE0LjN6ICAgTTIsN2MwLTIuNzYyLDIuMjM4LTUsNS01czUsMi4yMzgsNSw1cy0yLjIzOCw1LTUsNVMyLDkuNzYyLDIsN3oiLz48L3N2Zz4=) 0 50% no-repeat;background-size:12px 12px;outline:0;border-bottom:1px solid #999;opacity:.5}.site-search input:focus{opacity:1}.footer{margin-top:80px;padding:10px 20px;background:#f5f5f5;color:#666;line-height:2}.back-to-top,.sidebar-toggle{right:50px;z-index:1050;padding:5px;cursor:pointer}.sidebar-toggle{position:fixed;bottom:45px;width:15px;height:15px;background:#222;line-height:0;-webkit-transform:translateZ(0)}.sidebar-toggle.has-toc .sidebar-toggle-line{background:#87daff}.sidebar-toggle-line{position:relative;vertical-align:top;height:2px;width:100%;background:#fff;margin-top:4px}.sidebar-toggle-line:first-child{margin-top:0}.sidebar-toggle:hover .sidebar-toggle-line-first{width:50%;transform:rotateZ(-45deg);top:3px}.sidebar-toggle:hover .sidebar-toggle-line-middle{width:90%}.sidebar-toggle:hover .sidebar-toggle-line-last{width:50%;transform:rotateZ(45deg);top:-3px}.sidebar-toggle.sidebar-active .sidebar-toggle-line-first{width:100%;transform:rotateZ(-45deg);top:6px}.sidebar-toggle.sidebar-active .sidebar-toggle-line-middle{opacity:0}.sidebar-toggle.sidebar-active .sidebar-toggle-line-last{width:100%;transform:rotateZ(45deg);top:-6px}.back-to-top,.sidebar{position:fixed;background:#222;-webkit-transform:translateZ(0)}.back-to-top{bottom:19px;width:15px;height:13px;color:#fff}.back-to-top:before{display:block;content:" ";margin-top:2px;width:0;height:0;border-width:0 7px 8px;border-color:transparent transparent #fff;border-style:solid}.sidebar{width:320px;right:-320px;top:0;bottom:0;z-index:1040;box-shadow:inset 0 2px 6px #000;padding:20px 10px;color:#999;text-align:center;box-sizing:border-box}.sidebar a{color:#999;border-bottom-color:#555}.sidebar a:hover{color:#eee}.sidebar .site-author-image{display:block;margin:20px auto 0;max-width:96px;height:auto;border:2px solid #333;padding:2px}.sidebar .site-author-name{margin:5px 0 0;color:#f5f5f5}.sidebar .site-description{margin-top:5px;font-size:14px;color:#555}.sidebar .feed-link,.sidebar .links-of-author{margin-top:20px}.sidebar .site-state-item{display:inline-block;padding:0 15px;border-left:1px solid #333}.sidebar .site-state-item:first-child{border-left:none}.sidebar .site-state-item a{border-bottom:none}.sidebar .site-state-item-count{display:block;text-align:center;font-size:18px}.sidebar .site-state-item-name{font-size:13px}.sidebar .feed-link a{display:inline-block;padding:3px 15px;color:#fc6423;border:1px solid #fc6423;border-radius:4px}.sidebar .feed-link a:hover{color:#fff;background:#fc6423}.sidebar .links-of-author a{display:inline-block;vertical-align:middle;margin-right:10px;margin-bottom:10px;border-bottom-color:#555;font-size:13px}.sidebar .links-of-author a:before{display:inline-block;vertical-align:middle;margin-right:3px;content:" ";width:4px;height:4px;border-radius:50%;background:#0dd5ff}.sidebar .b3-solo-list{margin:20px;list-style:none;text-align:left;padding:0;font-size:14px;line-height:2}.sidebar section{opacity:0;position:relative}.sidebar>ul>li{display:inline-block;cursor:pointer;border-bottom:1px solid transparent;font-size:14px;color:#555}.sidebar>ul>li:hover{color:#f5f5f5}.sidebar>ul>li.current{color:#87daff;border-bottom-color:#87daff}.sidebar>ul>li:last-child{margin-left:10px}.posts-expand .post-item{margin-top:120px}.posts-expand .post-item:first-child{margin-top:0}.post-title-link{display:inline-block;position:relative;color:#555;border-bottom:none;line-height:1.2;vertical-align:top;font-size:26px;font-weight:400}.post-title-link::before{content:"";position:absolute;width:100%;height:2px;bottom:0;left:0;background-color:#000;visibility:hidden;transform:scaleX(0)}.post-title-link:hover::before{visibility:visible;transform:scaleX(1)}.posts-expand .post-meta{margin:3px 0 60px;color:#999;font-size:12px}.post-more-link a{color:#666;border:none;border-bottom:2px solid #666;transition-property:border}.post-more-link a:hover{border-bottom-color:#222}.pagination{border-top:1px solid #eee;margin:120px 0 0;text-align:left}.pagination .next,.pagination .page-number{display:inline-block;position:relative;top:-1px;margin:0 5px;padding:0 10px;line-height:30px;border-bottom:0;border-top:1px solid #eee;transition-property:border-color}.pagination .next:hover,.pagination .page-number:hover{border-top-color:#222}.pagination .page-number.current{color:#fff;background:#ccc;border-top-color:#ccc}.post-header{text-align:center}.post-body img{box-sizing:border-box;margin:auto}.posts-expand .post-tags{margin-top:40px}.posts-expand .post-tags a{padding:1px 5px;background:#f5f5f5;border-bottom:none}.posts-expand .post-tags a:hover{background:#ccc}.posts-expand .post-nav{margin-top:40px;overflow:hidden;padding:10px;white-space:nowrap;border-top:1px solid #eee}.post-nav-item a:hover{color:#222;border-bottom:none}.post-nav-item a{position:relative;display:inline-block;line-height:25px;font-size:14px;color:#555;border-bottom:none;width:50%}#externalRelevantArticles h4{margin-bottom:0}#externalRelevantArticles ul{margin-top:5px}.article-body{text-align:justify}.article-body p{margin:0 0 25px}ul.comments{padding:0;list-style:none;margin-top:50px;position:relative}ul.comments li{padding:10px;white-space:normal;position:relative;border-bottom:#EBF2F6 1px solid}ul.comments li:hover{background-color:#F7F7F7}ul.comments .avatar-48{position:absolute;box-shadow:0 0 2px #ddd;height:48px;width:48px;margin:8px 10px 0 0;border-radius:24px}ul.comments .comment-body{margin:8px 0 0 60px;min-height:50px}ul.comments li.comment-body-ref{position:absolute;z-index:10;background-color:#EBF2F6;border:1px solid #d5dbde;width:80%;left:69px}.posts-collapse .collection-title::before,.posts-collapse .post-header::before{left:0;background:#bbb;border-radius:50%;content:" "}ul.comments .comment-meta{font-family:"Open Sans","Microsoft Yahei",Helvetica;color:#9eabb3;font-size:13px}ul.comments .comment-meta a{color:#9EABB3;text-decoration:none;border-bottom-width:0}ul.comments .post-meta a:hover{text-decoration:underline}ul.comments .comment-meta time{border-left:1px solid #d5dbde;margin-left:8px;padding-left:12px}#captcha,#captchaReply{height:27px;vertical-align:inherit}.tag-cloud{text-align:center}.tag-cloud ul.tag-cloud-tags{padding-left:0}#tags li{list-style:none;display:inline-block;margin:10px}#tags .tags1{font-size:12px;color:#CCC}#tags .tags2{font-size:16px;color:#999}#tags .tags3{font-size:21px;color:#6f6f6f}#tags .tags4{font-size:24px;color:#333}#tags .tags5{font-size:30px;color:#111}.posts-collapse .collection-title::before{position:absolute;top:50%;margin-left:-4px;margin-top:-4px;width:8px;height:8px}.posts-collapse .collection-title{position:relative;margin:60px 0}.posts-collapse .collection-title h2{margin-left:20px}.posts-collapse .collection-title small{color:#bbb}.posts-collapse .post-header::before{position:absolute;top:12px;width:6px;height:6px;margin-left:-4px;border:1px solid #fff;transition-property:background}.posts-collapse .post-header{position:relative;transition-property:border;border-bottom:1px dashed #ccc;text-align:left}.posts-collapse .post-header:hover{border-bottom-color:#666}.posts-collapse .post-header:hover::before{background:#222}.posts-collapse .post-time{position:absolute;font-size:12px;left:20px;top:8px}.posts-collapse .post-title{margin-left:70px;font-size:16px;font-weight:400;font-family:Lato,"PingFang SC","Microsoft YaHei",sans-serif;line-height:inherit;text-decoration:none;border-bottom:0;color:#666}.page-archive .archive-page-counter{position:relative;top:7px;left:20px;margin-bottom:50px;display:block}.page-archive .posts-collapse .archive-move-on{position:absolute;top:11px;left:0;margin-left:-6px;width:10px;height:10px;opacity:.5;background:#555;border:1px solid #fff;border-radius:50%}.page-archive .post-title{margin-left:20px}.page-archive .posts-collapse .post-header::before{top:8px}.page-archive .posts-collapse::after{top:20px;left:0;margin-left:-2px;width:4px;height:100%;background:#f5f5f5;z-index:-1;content:" ";position:absolute}@media (max-width:1000px){.sidebar,.sidebar-toggle{display:none}body{padding-right:0!important}}@media (max-width:700px){.page-archive .posts-collapse .archive-move-on{margin-left:5px}.posts-collapse{margin-left:10px}pre{word-wrap:break-word;word-break:break-all;white-space:normal}.page-archive .archive-page-counter{margin-right:10px}.site-nav-toggle{display:block;margin-top:16px}.back-to-top,.header-line,.logo-line-after,.logo-line-before,.menu,.site-search{display:none}.header{margin-bottom:50px;padding:5px 0}.header-line{position:relative;top:52px;height:1px;width:100%;background-color:#ddd}.btn-bar,.menu .menu-item{display:block}.wrapper{min-width:inherit}.btn-bar{width:22px;height:2px;background:#555;border-radius:1px}.btn-bar+.btn-bar{margin-top:4px}.menu{width:100%;margin:0 0 0 -20px;padding:0 5px;line-height:26px}.footer{text-align:center;font-size:12px;padding:10px 0}.footer .fn-right{float:none}}
\ No newline at end of file
/**
* Copyright (c) 2010-2016, b3log.org & hacpai.com
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
@charset "utf-8";a,body{color:#555}.article-body,.post-body,ul.comments li{word-wrap:break-word}html{background-color:#f5f5f5}body{margin:0;font-family:Lato,"PingFang SC","Microsoft YaHei",sans-serif;font-size:14px;background:#fff}a{text-decoration:none;border-bottom:1px solid #999}a:active,a:hover{outline:0}a:hover{color:#222;border-bottom-color:#222}hr{margin:40px 0;height:3px;border:none;background-color:#ddd;background-image:repeating-linear-gradient(-45deg,#fff,#fff 4px,transparent 4px,transparent 8px)}blockquote{padding:0 15px;color:#666;border-left:4px solid #ddd}img{max-width:100%;height:auto}.fn-clear:after,.fn-clear:before{display:table;content:"";line-height:0}.fn-clear:after{clear:both;line-height:0}.fn-left{float:left}.fn-right{float:right}.fn-none{display:none}@font-face{font-family:icomoon;src:url(fonts/icomoon.eot?a0psdo);src:url(fonts/icomoon.eot?a0psdo#iefix) format('embedded-opentype'),url(fonts/icomoon.ttf?a0psdo) format('truetype'),url(fonts/icomoon.woff?a0psdo) format('woff'),url(fonts/icomoon.svg?a0psdo#icomoon) format('svg');font-weight:400;font-style:normal}[class*=" icon-"],[class^=icon-]{font-family:icomoon!important;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-register:before{content:"\e973"}.icon-setting:before{content:"\e994"}.icon-login:before{content:"\ea13"}.icon-logout:before{content:"\ea14"}.icon-rss:before{content:"\e901"}.form{width:100%;margin-top:50px}.form button,.form input,.form textarea{border:1px solid #CCC;background-color:#FAFAFA;border-radius:3px;box-shadow:0 1px 2px rgba(0,0,0,.075) inset;padding:7px 8px;width:100%;box-sizing:border-box;outline:0}.form button{width:auto}.form input:focus,.form textarea:focus{background-color:#FFF;box-shadow:0 1px 2px rgba(0,0,0,.075) inset,0 0 5px rgba(81,167,232,.5);border:1px solid #51A7E8}.error-msg{color:#9EABB3;margin-right:10px}.em00,.em01,.em02,.em03,.em04,.em05,.em06,.em07,.em08,.em09,.em10,.em11,.em12,.em13,.em14{cursor:pointer;background-image:url(../images/emotions/emotions-ease.png);float:left;height:24px;margin-right:5px;width:24px;transition:all .2s ease-out;-webkit-transition:all .2s ease-out;-moz-transition:all .2s ease-out}.menu .menu-item a,.pagination .next,.pagination .page-number,.post-title-link::before,.posts-collapse .post-header,.posts-collapse .post-header::before,.sidebar-toggle-line{transition-duration:.2s;transition-timing-function:ease-in-out;transition-delay:0s}#emotions span:hover{transform:scale(1.2) rotate(360deg);-webkit-transform:scale(1.2) rotate(360deg);-moz-transform:scale(1.2) rotate(360deg)}.em01{background-position:-24px 0}.em02{background-position:-48px 0}.em03{background-position:-72px 0}.em04{background-position:-96px 0}.em05{background-position:0 -24px}.em06{background-position:-24px -24px}.em07{background-position:-48px -24px}.em08{background-position:-72px -24px}.em09{background-position:-96px -24px}.em10{background-position:0 -48px}.em11{background-position:-24px -48px}.em12{background-position:-48px -48px}.em13{background-position:-72px -48px}.em14{background-position:-96px -48px}.wrapper{max-width:700px;min-width:600px;margin:0 auto;padding:0 10px}.main{position:relative;top:-50px;opacity:0}.header{background:#f5f5f5;margin-bottom:80px;padding:40px 0}.logo-wrap{float:left;overflow:hidden;top:0;opacity:0}.logo-line-after,.logo-line-before{display:block;overflow:hidden;margin:0 auto;width:75%}.logo-line-after i,.logo-line-before i{position:relative;display:block;height:2px;background:#222;left:-100%}.logo-line-after i{left:auto;right:-100%}.logo-wrap .site-title{font-size:22px;font-weight:bolder;opacity:0;top:-10px;position:relative}.logo-wrap>a{position:relative;display:inline-block;padding:2px 1px;color:#222;line-height:2;border-bottom:none;font-family:Lato,"PingFang SC","Microsoft YaHei",sans-serif}.site-nav-toggle{display:none}.menu .menu-item,.sidebar-toggle-line{display:inline-block}.menu{float:left;margin:5px 0 0 20px;padding:0 20px;opacity:0}.menu .menu-item a{padding:5px 10px;border:none;transition-property:background}.menu .menu-item a:hover{background:#e1e1e1}.site-search{float:right;margin-top:15px}.site-search input{padding:3px 3px 3px 18px;border:none;border-radius:0;width:140px;background:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/PjwhRE9DVFlQRSBzdmcgIFBVQkxJQyAnLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4nICAnaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHLzEuMS9EVEQvc3ZnMTEuZHRkJz48c3ZnIGhlaWdodD0iMTZweCIgaWQ9IkxheWVyXzEiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDE2IDE2OyIgdmVyc2lvbj0iMS4xIiB2aWV3Qm94PSIwIDAgMTYgMTYiIHdpZHRoPSIxNnB4IiB4bWw6c3BhY2U9InByZXNlcnZlIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj48cGF0aCBkPSJNMTUuNywxNC4zbC0zLjEwNS0zLjEwNUMxMy40NzMsMTAuMDI0LDE0LDguNTc2LDE0LDdjMC0zLjg2Ni0zLjEzNC03LTctN1MwLDMuMTM0LDAsN3MzLjEzNCw3LDcsNyAgYzEuNTc2LDAsMy4wMjQtMC41MjcsNC4xOTQtMS40MDVMMTQuMywxNS43YzAuMTg0LDAuMTg0LDAuMzgsMC4zLDAuNywwLjNjMC41NTMsMCwxLTAuNDQ3LDEtMUMxNiwxNC43ODEsMTUuOTQ2LDE0LjU0NiwxNS43LDE0LjN6ICAgTTIsN2MwLTIuNzYyLDIuMjM4LTUsNS01czUsMi4yMzgsNSw1cy0yLjIzOCw1LTUsNVMyLDkuNzYyLDIsN3oiLz48L3N2Zz4=) 0 50% no-repeat;background-size:12px 12px;outline:0;border-bottom:1px solid #999;opacity:.5}.site-search input:focus{opacity:1}.footer{margin-top:80px;padding:10px 20px;background:#f5f5f5;color:#666;line-height:2}.back-to-top,.sidebar-toggle{right:50px;z-index:1050;padding:5px;cursor:pointer}.sidebar-toggle{position:fixed;bottom:45px;width:15px;height:15px;background:#222;line-height:0;-webkit-transform:translateZ(0)}.sidebar-toggle.has-toc .sidebar-toggle-line{background:#87daff}.sidebar-toggle-line{position:relative;vertical-align:top;height:2px;width:100%;background:#fff;margin-top:4px}.sidebar-toggle-line:first-child{margin-top:0}.sidebar-toggle:hover .sidebar-toggle-line-first{width:50%;transform:rotateZ(-45deg);top:3px}.sidebar-toggle:hover .sidebar-toggle-line-middle{width:90%}.sidebar-toggle:hover .sidebar-toggle-line-last{width:50%;transform:rotateZ(45deg);top:-3px}.sidebar-toggle.sidebar-active .sidebar-toggle-line-first{width:100%;transform:rotateZ(-45deg);top:6px}.sidebar-toggle.sidebar-active .sidebar-toggle-line-middle{opacity:0}.sidebar-toggle.sidebar-active .sidebar-toggle-line-last{width:100%;transform:rotateZ(45deg);top:-6px}.back-to-top,.sidebar{position:fixed;background:#222;-webkit-transform:translateZ(0)}.back-to-top{bottom:19px;width:15px;height:13px;color:#fff}.back-to-top:before{display:block;content:" ";margin-top:2px;width:0;height:0;border-width:0 7px 8px;border-color:transparent transparent #fff;border-style:solid}.sidebar{width:320px;right:-320px;top:0;bottom:0;z-index:1040;box-shadow:inset 0 2px 6px #000;padding:20px 10px;color:#999;text-align:center;box-sizing:border-box}.sidebar a{color:#999;border-bottom-color:#555}.sidebar a:hover{color:#eee}.sidebar .site-author-image{display:block;margin:20px auto 0;max-width:96px;height:auto;border:2px solid #333;padding:2px}.sidebar .site-author-name{margin:5px 0 0;color:#f5f5f5}.sidebar .site-description{margin-top:5px;font-size:14px;color:#555}.sidebar .feed-link,.sidebar .links-of-author{margin-top:20px}.sidebar .site-state-item{display:inline-block;padding:0 15px;border-left:1px solid #333}.sidebar .site-state-item:first-child{border-left:none}.sidebar .site-state-item a{border-bottom:none}.sidebar .site-state-item-count{display:block;text-align:center;font-size:18px}.sidebar .site-state-item-name{font-size:13px}.sidebar .feed-link a{display:inline-block;padding:3px 15px;color:#fc6423;border:1px solid #fc6423;border-radius:4px}.sidebar .feed-link a:hover{color:#fff;background:#fc6423}.sidebar .links-of-author a{display:inline-block;vertical-align:middle;margin-right:10px;margin-bottom:10px;border-bottom-color:#555;font-size:13px}.sidebar .links-of-author a:before{display:inline-block;vertical-align:middle;margin-right:3px;content:" ";width:4px;height:4px;border-radius:50%;background:#0dd5ff}.sidebar .b3-solo-list{margin:20px;list-style:none;text-align:left;padding:0;font-size:14px;line-height:2}.sidebar section{opacity:0;position:relative}.sidebar>ul>li{display:inline-block;cursor:pointer;border-bottom:1px solid transparent;font-size:14px;color:#555}.sidebar>ul>li:hover{color:#f5f5f5}.sidebar>ul>li.current{color:#87daff;border-bottom-color:#87daff}.sidebar>ul>li:last-child{margin-left:10px}.posts-expand .post-item{margin-top:120px}.posts-expand .post-item:first-child{margin-top:0}.post-title-link{display:inline-block;position:relative;color:#555;border-bottom:none;line-height:1.2;vertical-align:top;font-size:26px;font-weight:400}.post-title-link::before{content:"";position:absolute;width:100%;height:2px;bottom:0;left:0;background-color:#000;visibility:hidden;transform:scaleX(0)}.post-title-link:hover::before{visibility:visible;transform:scaleX(1)}.posts-expand .post-meta{margin:3px 0 60px;color:#999;font-size:12px}.post-more-link a{color:#666;border:none;border-bottom:2px solid #666;transition-property:border}.post-more-link a:hover{border-bottom-color:#222}.pagination{border-top:1px solid #eee;margin:120px 0 0;text-align:left}.pagination .next,.pagination .page-number{display:inline-block;position:relative;top:-1px;margin:0 5px;padding:0 10px;line-height:30px;border-bottom:0;border-top:1px solid #eee;transition-property:border-color}.pagination .next:hover,.pagination .page-number:hover{border-top-color:#222}.pagination .page-number.current{color:#fff;background:#ccc;border-top-color:#ccc}.article-body{font-family:"Helvetica Neue","Luxi Sans","DejaVu Sans",Tahoma,"Hiragino Sans GB","Microsoft Yahei",sans-serif;overflow:hidden;line-height:1.5}.article-body ol,.article-body ul{padding-left:2em;margin-top:0;margin-bottom:16px}.article-body li{margin-top:.25em}.article-body h1,.article-body h2,.article-body h3,.article-body h4,.article-body h5,.article-body h6{margin-top:24px;margin-bottom:16px;font-weight:600;line-height:1.25}.article-body h1{padding-bottom:.3em;font-size:2em}.article-body h2{padding-bottom:.3em;font-size:1.5em}.article-body h3{font-size:1.25em}.article-body h4{font-size:1em}.article-body h5{font-size:.875em}.article-body h6{font-size:.85em}.article-body p{margin-top:0;margin-bottom:16px}.article-body blockquote{padding:0 1em;color:#777;border-left:.25em solid #ddd;margin-bottom:16px}.article-body blockquote p{margin:0}.article-body iframe{border:1px solid #ccc}.article-body table{width:100%;border:1px solid #dedede;margin:15px auto;border-collapse:collapse;empty-cells:show}.article-body thead{text-align:center}.article-body td,.article-body th{height:35px;border:1px solid #dedede;padding:0 10px}.article-body th{font-weight:700;text-align:center!important;background:rgba(158,188,226,.2)}.article-body tbody tr:nth-child(2n){background:rgba(158,188,226,.12)}.article-body tr:hover{background:#efefef}.article-body code{padding:.2em .4em;margin:0;font-size:85%;background-color:rgba(252,41,41,.12);border-radius:3px;color:#d23f31;font-family:mononoki,Consolas,"Liberation Mono",Menlo,Courier,monospace}.article-body pre>code{padding:.5em;color:#333;background-color:rgba(0,0,0,.04);background-image:url(../images/code-bg.png);background-size:20px 20px;border-radius:5px}.article-body 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:1px solid #ccc;border-bottom-color:#bbb;border-radius:3px;box-shadow:inset 0 -1px 0 #bbb}.post-header{text-align:center}.post-body img{box-sizing:border-box;margin:auto}.posts-expand .post-tags{margin-top:40px}.posts-expand .post-tags a{padding:1px 5px;background:#f5f5f5;border-bottom:none}.posts-expand .post-tags a:hover{background:#ccc}.posts-expand .post-nav{margin-top:40px;overflow:hidden;padding:10px;white-space:nowrap;border-top:1px solid #eee}.post-nav-item a:hover{color:#222;border-bottom:none}.post-nav-item a{position:relative;display:inline-block;line-height:25px;font-size:14px;color:#555;border-bottom:none;width:50%}#externalRelevantArticles h4{margin-bottom:0}#externalRelevantArticles ul{margin-top:5px}.article-body{text-align:justify}.article-body p{margin:0 0 25px}ul.comments{padding:0;list-style:none;margin-top:50px;position:relative}ul.comments li{padding:10px;white-space:normal;position:relative;border-bottom:#EBF2F6 1px solid}ul.comments li:hover{background-color:#F7F7F7}ul.comments .avatar-48{position:absolute;box-shadow:0 0 2px #ddd;height:48px;width:48px;margin:8px 10px 0 0;border-radius:24px}ul.comments .comment-body{margin:8px 0 0 60px;min-height:50px}ul.comments li.comment-body-ref{position:absolute;z-index:10;background-color:#EBF2F6;border:1px solid #d5dbde;width:80%;left:69px}.posts-collapse .collection-title::before,.posts-collapse .post-header::before{left:0;background:#bbb;border-radius:50%;content:" "}ul.comments .comment-meta{font-family:"Open Sans","Microsoft Yahei",Helvetica;color:#9eabb3;font-size:13px}ul.comments .comment-meta a{color:#9EABB3;text-decoration:none;border-bottom-width:0}ul.comments .post-meta a:hover{text-decoration:underline}ul.comments .comment-meta time{border-left:1px solid #d5dbde;margin-left:8px;padding-left:12px}#captcha,#captchaReply{height:27px;vertical-align:inherit}.tag-cloud{text-align:center}.tag-cloud ul.tag-cloud-tags{padding-left:0}#tags li{list-style:none;display:inline-block;margin:10px}#tags .tags1{font-size:12px;color:#CCC}#tags .tags2{font-size:16px;color:#999}#tags .tags3{font-size:21px;color:#6f6f6f}#tags .tags4{font-size:24px;color:#333}#tags .tags5{font-size:30px;color:#111}.posts-collapse .collection-title::before{position:absolute;top:50%;margin-left:-4px;margin-top:-4px;width:8px;height:8px}.posts-collapse .collection-title{position:relative;margin:60px 0}.posts-collapse .collection-title h2{margin-left:20px}.posts-collapse .collection-title small{color:#bbb}.posts-collapse .post-header::before{position:absolute;top:12px;width:6px;height:6px;margin-left:-4px;border:1px solid #fff;transition-property:background}.posts-collapse .post-header{position:relative;transition-property:border;border-bottom:1px dashed #ccc;text-align:left}.posts-collapse .post-header:hover{border-bottom-color:#666}.posts-collapse .post-header:hover::before{background:#222}.posts-collapse .post-time{position:absolute;font-size:12px;left:20px;top:8px}.posts-collapse .post-title{margin-left:70px;font-size:16px;font-weight:400;font-family:Lato,"PingFang SC","Microsoft YaHei",sans-serif;line-height:inherit;text-decoration:none;border-bottom:0;color:#666}.page-archive .archive-page-counter{position:relative;top:7px;left:20px;margin-bottom:50px;display:block}.page-archive .posts-collapse .archive-move-on{position:absolute;top:11px;left:0;margin-left:-6px;width:10px;height:10px;opacity:.5;background:#555;border:1px solid #fff;border-radius:50%}.page-archive .post-title{margin-left:20px}.page-archive .posts-collapse .post-header::before{top:8px}.page-archive .posts-collapse::after{top:20px;left:0;margin-left:-2px;width:4px;height:100%;background:#f5f5f5;z-index:-1;content:" ";position:absolute}@media (max-width:1000px){.sidebar,.sidebar-toggle{display:none}body{padding-right:0!important}}@media (max-width:700px){.page-archive .posts-collapse .archive-move-on{margin-left:5px}.posts-collapse{margin-left:10px}pre{word-wrap:break-word;word-break:break-all;white-space:normal}.page-archive .archive-page-counter{margin-right:10px}.site-nav-toggle{display:block;margin-top:16px}.back-to-top,.header-line,.logo-line-after,.logo-line-before,.menu,.site-search{display:none}.header{margin-bottom:50px;padding:5px 0}.header-line{position:relative;top:52px;height:1px;width:100%;background-color:#ddd}.btn-bar,.menu .menu-item{display:block}.wrapper{min-width:inherit}.btn-bar{width:22px;height:2px;background:#555;border-radius:1px}.btn-bar+.btn-bar{margin-top:4px}.menu{width:100%;margin:0 0 0 -20px;padding:0 5px;line-height:26px}.footer{text-align:center;font-size:12px;padding:10px 0}.footer .fn-right{float:none}}
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment