Commit fb8bcf9e authored by Liang Ding's avatar Liang Ding

发布 - 1.6.0

parent 9326c7ed
......@@ -5,6 +5,12 @@
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<h2>Release 1.6.0 - Sep 8, 2016</h2>
<ul>
<li><a href="https://github.com/b3log/solo/issues/12147">12147 用户管理翻页失败</a>&nbsp;<span style='background: #fc2929 !important;color:#FFFFFF !important;padding: 1px 4px;'>bug</span></li>
<li><a href="https://github.com/b3log/solo/issues/12153">12153 语言设置为 English 时首页报错</a>&nbsp;<span style='background: #fc2929 !important;color:#FFFFFF !important;padding: 1px 4px;'>bug</span></li>
<li><a href="https://github.com/b3log/solo/issues/12150">12150 新版后台 UI</a>&nbsp;<span style='background: #84b6eb !important;color:#FFFFFF !important;padding: 1px 4px;'>enhancement</span></li>
</ul>
<h2>Release 1.5.0 - Aug 10, 2016</h2>
<ul>
<li><a href="https://github.com/b3log/solo/issues/12130">12130 MySQL 数据导出 SQL 文件</a>&nbsp;<span style='background: #02e10c !important;color:#FFFFFF !important;padding: 1px 4px;'>feature</span></li>
......
<?xml version="1.0" encoding="UTF-8"?>
<!--
Description: Solo POM.
Version: 3.13.1.25, Aug 19, 2016
Version: 3.14.1.25, Sep 8, 2016
Author: <a href="http://88250.b3log.org">Liang Ding</a>
Author: <a href="http://www.annpeter.cn">Ann Peter</a>
-->
......@@ -13,7 +13,7 @@
<artifactId>solo</artifactId>
<packaging>war</packaging>
<name>Solo</name>
<version>1.5.0</version>
<version>1.6.0</version>
<description>
A blogging system written in Java, feel free to create your or your team own blog. 一个用 Java 实现的博客系统,为你或你的团队创建个博客吧。
</description>
......
......@@ -60,7 +60,7 @@ import org.json.JSONObject;
* Solo Servlet listener.
*
* @author <a href="http://88250.b3log.org">Liang Ding</a>
* @version 1.8.2.15, Aug 10, 2016
* @version 1.9.2.15, Sep 8, 2016
* @since 0.3.1
*/
public final class SoloServletListener extends AbstractServletListener {
......@@ -68,7 +68,7 @@ public final class SoloServletListener extends AbstractServletListener {
/**
* Solo version.
*/
public static final String VERSION = "1.5.0";
public static final String VERSION = "1.6.0";
/**
* Logger.
......
......@@ -46,7 +46,7 @@ import org.json.JSONObject;
*
* @author <a href="http://88250.b3log.org">Liang Ding</a>
* @author <a href="mailto:dongxu.wang@acm.org">Dongxu Wang</a>
* @version 1.2.0.6, Aug 10, 2016
* @version 1.2.0.7, Sep 8, 2016
* @since 1.2.0
*/
@Service
......@@ -111,7 +111,7 @@ public class UpgradeService {
/**
* Old version.
*/
private static final String FROM_VER = "1.4.0";
private static final String FROM_VER = "1.5.0";
/**
* New version.
......
......@@ -5,6 +5,12 @@
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<h2>Release 1.6.0 - Sep 8, 2016</h2>
<ul>
<li><a href="https://github.com/b3log/solo/issues/12147">12147 用户管理翻页失败</a>&nbsp;<span style='background: #fc2929 !important;color:#FFFFFF !important;padding: 1px 4px;'>bug</span></li>
<li><a href="https://github.com/b3log/solo/issues/12153">12153 语言设置为 English 时首页报错</a>&nbsp;<span style='background: #fc2929 !important;color:#FFFFFF !important;padding: 1px 4px;'>bug</span></li>
<li><a href="https://github.com/b3log/solo/issues/12150">12150 新版后台 UI</a>&nbsp;<span style='background: #84b6eb !important;color:#FFFFFF !important;padding: 1px 4px;'>enhancement</span></li>
</ul>
<h2>Release 1.5.0 - Aug 10, 2016</h2>
<ul>
<li><a href="https://github.com/b3log/solo/issues/12130">12130 MySQL 数据导出 SQL 文件</a>&nbsp;<span style='background: #02e10c !important;color:#FFFFFF !important;padding: 1px 4px;'>feature</span></li>
......
......@@ -13,4 +13,4 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
body,input,textarea{font-family:'sans-serif','\5fae\8f6f\96c5\9ed1'}html,body{height:100%;min-width:1024px;background-color:#fafafa}a:link{color:#21759b}a:visited{color:#551a8b}a:active{color:#d54121}a:hover{color:#d54121}button.selected{background:url("../images/bowknot/completed.png") no-repeat scroll right bottom transparent;color:#d54121}.ico-arrow-down,.ico-arrow-up{background:url("../images/arrows.png") repeat scroll 0 4px transparent;float:right;height:20px;margin:2px 3px 0 0;width:18px}.ico-arrow-up{background-position:0 -30px}.aboutIcon{background-position:-16px -48px}#allPanel{height:auto;min-height:100%;position:relative}#tabsPanel{margin:30px 0 0 162px;padding:0 12px}#tabsPanel>div{padding-bottom:36px}.tip{font-weight:bold;margin:0 auto;overflow:hidden;padding:2px 0;position:fixed;text-align:center;top:5px;width:100%;z-index:2}.tip-msg{top:33px}#tipMsg,#loadMsg{background-color:#e5e7eb;border-radius:3px;padding:2px 0}.footer{bottom:12px;position:absolute;text-align:center;width:100%}#top{background-color:#666;background-image:linear-gradient(#666,#7f7f7f);background-image:-ms-linear-gradient(#666,#7f7f7f);background-image:-o-linear-gradient(#666,#7f7f7f);background-image:-webkit-linear-gradient(#666,#7f7f7f);filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#666666',endColorstr='#7F7F7F')}#top a,#top span span{float:left;line-height:18px;margin:6px 0;padding:0 6px;text-decoration:none;text-shadow:0 -1px 0 #fff;font-weight:normal;border-right:1px solid #686868;color:#ccc;text-shadow:0 -1px 0 #555}#top>a{color:#fff}#top a:hover,#top a.hover{border-radius:0 13px 13px 0;margin:0;line-height:30px;background-color:#4c4c4c;border-left-color:#707070}#tabs{background-color:#ececec;border-radius:0 5px 5px 0;border-right:1px solid #CCC;border-top:1px solid #DDD;bottom:0;box-shadow:6px 0 6px #ececec;min-height:468px;padding:15px 0;position:absolute;top:58px;width:145px}#tabs ul{list-style:none}#tabs li{margin-left:0}#tabs a,#tabs>ul>li>div{color:#21759b;display:block;text-decoration:none;cursor:pointer;letter-spacing:1px}#tabs a:hover,#tabs>ul>li>div:hover{color:#d54121}#tabs>ul>li>div{border-bottom:1px solid #dfdfdf;border-top:1px solid #f9f9f9;font-weight:bold;padding-left:12px;line-height:30px;height:30px}#tabs>ul>li>div>a.tab-current{background-color:#777;border-bottom:1px solid #6d6d6d;border-top:1px solid #808080;color:#fff;margin-left:-12px;padding-left:12px;text-shadow:0 -1px 0 #333}#tabs li li a{background-color:#fff;padding-left:36px;line-height:28px;height:28px}#tabs .tab-current{background-color:#eaf2fa;color:#333;font-weight:bold}#tabs li li a:hover{background-color:#eaf2fa;color:#333}#tabs .commentIcon,#tabs .postIcon,#tabs .preferenceIcon,#tabs .usersIcon,#tabs .aboutIcon{margin:6px 9px 0 0}.sub-tabs{height:30px}.sub-tabs ul{float:right;list-style:none outside none;margin-right:24px}.sub-tabs li{float:left}.sub-tabs li a{background-color:#ececec;border:1px solid #dfdfdf;border-bottom:0;border-radius:5px 5px 0 0;color:#333;display:block;line-height:29px;padding:0 12px;text-decoration:none}.sub-tabs .tab-current,.sub-tabs .tab-current:hover{background-color:#fff;font-weight:bold;line-height:30px}.sub-tabs a:hover{background-color:#f5f5f5}.sub-tabs-main{background-color:#fff;border:1px solid #dfdfdf;padding:12px;border-radius:6px}.form>div{margin:12px 0}.form>div label{font-weight:bold;line-height:28px;margin-right:12px}.module-panel{border:1px solid #dfdfdf;border-radius:3px 3px 3px 3px;box-shadow:0 1px 0 #fff inset;background-color:#f5f5f5;margin-bottom:36px;min-height:160px}.module-header{background-color:#f9f9f9;background-image:linear-gradient(#f9f9f9,#ececec);background-image:-ms-linear-gradient(#f9f9f9,#ececec);background-image:-o-linear-gradient(#f9f9f9,#ececec);background-image:-webkit-linear-gradient(#f9f9f9,#ececec);filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#f9f9f9',endColorstr='#ececec');border-bottom-color:#dfdfdf;box-shadow:0 1px 0 #fff;text-shadow:0 1px 0 #fff;padding:5px 10px}.module-header h2{color:#464646;font-size:16px}.module-header a{text-decoration:none}.comment-title{background-color:#ececec;border-bottom:1px solid #dfdfdf;border-top:1px solid #f9f9f9;padding:3px 6px 3px 12px}#comments{height:462px;overflow:auto}.markdown-preivew{background-color:#fff;background-image:linear-gradient(#fff,#f3f3f3);background-image:-ms-linear-gradient(#fff,#f3f3f3);background-image:-o-linear-gradient(#fff,#f3f3f3);background-image:-webkit-linear-gradient(#fff,#f3f3f3);filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#FFFFFF',endColorstr='#F3F3F3');border-color:#c0c0c0 #D9D9D9 #d9d9d9;border-style:solid;border-width:1px;float:left;height:500px;margin-left:20px;overflow:auto;width:47%;word-wrap:break-word}.markdown-help.ico-help,.markdown-help.ico-close{background-image:url("../images/icon.png");background-position:-16px -47px;cursor:pointer;float:right;height:17px;width:17px}.markdown-help.ico-close{height:16px;background-position:-48px -16px}.markdown-help-main,.markdown-preview-main{color:#21759b;padding:0 12px}.markdown-help-main dt{font-size:14px;font-weight:bold;margin:12px 0 6px 0}.markdown-help-main dd{margin-left:12px}button#submitArticle{background:none repeat scroll 0 0 #d54121;box-shadow:0 0 0 1px #fff inset,0 1px 1px rgba(0,0,0,0.1);text-shadow:0 1px rgba(0,0,0,0.1);color:#FFF}#skinsPanel{min-width:328px;width:99%}.skinPreview{cursor:pointer;height:160px;margin:6px;width:280px}.skinItem{background-color:#fafafa;border-radius:3px;box-shadow:1px 1px 3px #333;line-height:16px;margin:24px 12px;padding:5px;text-align:center}#skinMain .skinItem.selected{background-color:#d54121}.skinItem:hover{background-color:#EEE}.f-blue,.error-msg{color:#36c}.signs button{margin:0 12px}.small-head{float:left;height:35px;margin:3px 9px 0 3px;width:35px}#commentTable .table-main td{vertical-align:top}.about-logo{float:left;margin:62px 36px 62px 24px}.about-margin{font-size:20px;margin:20px 0}.ico-alipay-me{background-image:url("../images/alipay-me.png");font-size:20px;height:24px;margin:20px 0;width:126px}.completed-input{margin:2px 12px 0 0}.completed-panel{background-color:#ececec;border:1px solid #ccc;color:#00c;display:none;overflow:auto;padding:2px;position:absolute;z-index:10}.completed-panel a{display:block;text-decoration:none}.completed-panel a.selected{background-color:#fff;color:#d54121}.completed-ck{margin-top:9px}.completed-ck span{background:url(../images/icon.png) repeat center bottom;border:1px solid;border-color:#CCc #bbb #A0A0A0;border-radius:4px;color:#21759b;cursor:pointer;float:left;height:28px;line-height:26px;margin:3px 6px;padding:0 6px;vertical-align:top}.completed-ck span:hover{border-color:#BBB}.completed-ck span.selected{color:#d54121;background:url(../images/bowknot/completed.png) no-repeat right bottom}.dialog-background{background-color:#000;display:none;filter:alpha(opacity=30);height:100%;left:0;opacity:.3;position:absolute;top:0;width:100%;z-index:90}.dialog-panel{display:none;position:absolute;z-index:100}.dialog-title{color:#fff;float:left;font-size:12px;line-height:27px;margin-left:3px}.dialog-header-bg{background:url("../images/icon.png") repeat scroll center bottom #f1f1f1;border-color:#c0c0c0 #D9D9D9 #d9d9d9;border-radius:6px 6px 0 0;border-style:solid;border-width:1px 1px 0;cursor:move;height:34px}.dialog-close-icon{background:url("../images/bowknot/dialog-close.png") no-repeat scroll 0 0 transparent;cursor:pointer;float:right;height:18px;margin-top:6px;padding:3px;width:22px}.dialog-close-icon:hover{background-image:url("../images/bowknot/dialog-close-hover.png")}.dialog-main{background-color:#fff;border:2px solid #666;border-color:#c0c0c0 #D9D9D9 #d9d9d9;border-top-width:0;padding:12px}.paginate-paginate div,.paginate-paginate a,.paginate-pageCount{float:left;height:20px;line-height:20px;margin:0 5px;text-decoration:none}.pagination-pages{background:url(../images/icon.png) repeat center bottom;border:1px solid;border-color:#CCc #bbb #A0A0A0;border-radius:4px;padding:0 6px;cursor:pointer;float:left;height:20px;line-height:20px;margin:0 5px}.pagination-current-page{cursor:auto;font-weight:bold;border-color:#BBB}.paginate-inputPage{height:14px;width:24px}.table-main{margin:0;padding:0;position:relative}.table-main table{word-break:break-all;word-wrap:break-word}.table-header{border:1px solid #d0d0d0;border-bottom:0;border-radius:6px 6px 0 0}.table-header th{height:34px;line-height:34px;text-align:left;text-indent:6px;font-size:14px;font-weight:normal;background:url("../images/icon.png") repeat scroll center bottom #f1f1f1}.table-main td{border-bottom:1px solid #d0d0d0;color:#333;padding:3px 0}.table-lineHover .table-hasExpend td{border-bottom:0}.table-heiglight td,.table-lineHover td{background-color:#f3f3f3;border-right-color:#f3f3f3}.table-expendRow td{padding:0 0 5px 36px}.table-expendRow td span{margin-left:60px}.table-expendRow td a{background-color:#999;border-radius:3px;color:#FFF;font-size:12px;margin-right:5px;padding:1px 6px;text-decoration:none}.table-expendRow td a:hover{background-color:#BBB}.table-center{margin:0 auto}.table-upIcon,.table-downIcon{background-image:url("../images/icon.png");cursor:pointer;float:left;height:16px;width:16px;background-position:-81px -32px}.table-upIcon{background-position:-64px -32px;margin-right:6px}.table-tag{color:#d54121;font-size:12px;font-style:italic;margin-left:10px}.tip-panel{background-color:#FFF;box-shadow:0 3px 10px #8b8b8b;display:none;max-height:500px;max-width:500px;overflow:hidden;padding:3px;position:absolute;z-index:1}
\ No newline at end of file
body,input,textarea{font-family:"Helvetica Neue","Luxi Sans","DejaVu Sans",Tahoma,"Hiragino Sans GB","Microsoft Yahei",sans-serif}html,body{min-width:1024px;color:#767676;background:#f1f2f7;font-size:13px}a{color:#4183c4;text-decoration:none}a:visited{color:#7ba9d6}a:active{color:#2c5d8d}a:hover{text-decoration:underline}button.selected{background:url("../images/bowknot/completed.png") no-repeat scroll right bottom transparent!important;color:#d54121!important;border-color:#b0b5b9!important}@font-face{font-family:'icomoon';src:url('fonts/icomoon.eot?1450');src:url('fonts/icomoon.eot?#iefix') format('embedded-opentype'),url('fonts/icomoon.ttf?1450') format('truetype'),url('fonts/icomoon.woff?1450') format('woff'),url('fonts/icomoon.svg#icomoon') format('svg');font-weight:normal;font-style:normal}[class^="icon-"],[class*=" icon-"]{font-family:'icomoon';speak:none;font-style:normal;font-weight:normal;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a[class^="icon-"],a[class*=" icon-"]{color:#333}a[class^="icon-"]:hover,a[class*=" icon-"]:hover{text-decoration:none;color:#4183c4}.icon-upload:before{content:"\f0ee"}.icon-copy:before{content:"\e908"}.icon-time:before{content:"\e906"}.icon-sortasc:before{content:"\e905"}.icon-locked:before{content:"\e61e"}.icon-close:before{content:"\e909"}.icon-points:before{content:"\e900"}.icon-goods:before{content:"\e904"}.icon-bold:before{content:"\e000"}.icon-italic:before{content:"\e001"}.icon-quote:before{content:"\e003"}.icon-unordered-list:before{content:"\e004"}.icon-ordered-list:before{content:"\e005"}.icon-link:before{content:"\e006"}.icon-image:before{content:"\e007"}.icon-play:before{content:"\e008"}.icon-music:before{content:"\e009"}.icon-contract:before{content:"\e00a"}.icon-fullscreen:before{content:"\e00b"}.icon-question:before{content:"\e00c"}.icon-info:before{content:"\e00d"}.icon-undo:before{content:"\e00e"}.icon-redo:before{content:"\e00f"}.icon-code:before{content:"\e011"}.icon-preview:before{content:"\e002"}.icon-navigation:before{content:"\e903"}.icon-thumbs-down:before{content:"\e901"}.icon-thumbs-up:before{content:"\e902"}.icon-video:before{content:"\f057"}.icon-feed:before{content:"\e61f"}.icon-article:before{content:"\e61d"}.icon-star:before{content:"\e600"}.icon-register:before{content:"\e602"}.icon-logout:before{content:"\e603"}.icon-setting:before{content:"\e604"}.icon-google:before{content:"\e605"}.icon-search:before{content:"\e606"}.icon-weibo:before{content:"\e607"}.icon-date:before{content:"\e608"}.icon-view:before{content:"\e609"}.icon-cmts:before{content:"\e60a"}.icon-refresh:before{content:"\e60b"}.icon-up:before{content:"\e60c"}.icon-twitter:before{content:"\e60d"}.icon-edit:before{content:"\e60e"}.icon-tencent:before{content:"\e60f"}.icon-tag:before{content:"\e610"}.icon-tags:before{content:"\e611"}.icon-addfile:before{content:"\e612"}.icon-login:before{content:"\e613"}.icon-articles:before{content:"\e614"}.icon-userrole:before{content:"\e615"}.icon-email:before{content:"\e616"}.icon-flag:before{content:"\e617"}.icon-chevron-down:before{content:"\e618";margin-right:10px}.icon-chevron-up:before{content:"\e619";margin-right:10px}.icon-reply:before{content:"\e61a"}.icon-clock:before{content:"\e61b"}.icon-compass:before{content:"\e61c"}.icon-heart:before{content:"\e9da"}.icon-wechat:before{content:"\e907"}.aboutIcon{background-position:-16px -48px}#allPanel{height:auto;min-height:100%;position:relative}#tabsPanel{margin:50px 0 0 240px;padding:15px}#tabsPanel>div{padding-bottom:36px}#tabsPanel_article-list,#tabsPanel_draft-list,#tabsPanel_comment-list,#tabsPanel_plugin-list,#tabsPanel_page-list>div:first-child,#tabsPanel_user-list>div:first-child,#tabsPanel_link-list>div:first-child{background-color:#FFF;border-radius:4px;margin-bottom:40px;overflow:hidden}.tip{font-weight:bold;margin:0 auto;overflow:hidden;padding:2px 0;position:fixed;text-align:center;top:3px;left:255px;z-index:1001}#tipMsg,#loadMsg{color:#31708f;background-color:#d9edf7;border-radius:4px;line-height:40px;display:inline-block}.footer{bottom:12px;position:absolute;text-align:center;width:100%;padding-left:240px;box-sizing:border-box}#top{height:50px;position:fixed;box-shadow:1px 0 3px rgba(0,0,0,.15);width:100%;top:0;background-color:#fff;z-index:1000}#top>a{background:#1fb5ad;float:left;width:240px;height:50px;position:relative;color:#f7f7f7;text-align:center;text-decoration:none;font-size:20px;line-height:50px}#top>.right a{color:#555;line-height:50px;margin:0 10px;border:1px solid #f6f6f6;background-color:#f6f6f6;border-radius:100px;padding:10px;text-decoration:none}#top>.right a:hover{color:#333}#tabs{height:100%;min-height:468px;width:240px;margin-top:50px;position:fixed;top:0;background-color:#32323a;overflow:auto}#tabs ul{list-style:none}#tabs li{margin-left:0;border-bottom:1px solid rgba(255,255,255,0.05)}#tabs li>div>a,#tabs #tabToolsTitle,#tabs #tabArticleTitle{color:#aeb2b7;display:block;text-decoration:none;letter-spacing:1px;padding:18px 0 18px 25px;line-height:18px;height:18px;transition:all .3s ease}#tabs a:hover,#tabs a.tab-current,#tabs #tabToolsTitle.tab-current,#tabs #tabArticleTitle.tab-current,#tabs #tabToolsTitle:hover,#tabs #tabArticleTitle:hover{background-color:#28282e;color:#1fb5ad}#tabs li li{border-bottom:0}#tabs li li>div>a{padding:13px 0 13px 46px;line-height:15px;height:15px;background-color:#28282e}#tabs li li>div>a:hover,#tabs li li>div>a.tab-current{background-color:#202025}#tabs .commentIcon,#tabs .postIcon,#tabs .preferenceIcon,#tabs .usersIcon,#tabs .aboutIcon{display:none}.sub-tabs{background-color:#e0e1e7;border-radius:4px 4px 0 0;overflow:hidden}.sub-tabs ul{float:left;list-style:none outside none;margin-right:24px}.sub-tabs li{float:left;margin:0}.sub-tabs li a{border-right:1px solid #e0e1e7;color:#898989;display:block;line-height:18px;padding:20px 15px;text-decoration:none}.sub-tabs .tab-current,.sub-tabs .tab-current:hover,.sub-tabs a:hover{background-color:#fff;color:#1fb5ad}.sub-tabs-main{background-color:#fff;padding:15px;border-radius:0 0 4px 4px}.form>div{margin:15px 0}.form label{margin-bottom:10px;display:inline-block}.form input[type='text'],.form input[type='password'],.form textarea{font-size:14px;outline:medium none;width:100%;padding:6px 12px;height:34px;box-sizing:border-box;border:1px solid #e2e2e4;color:#333;border-radius:4px;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form textarea{height:auto}.form input[type='text']:focus,.form input[type='password']:focus,.form textarea:focus{box-shadow:none;border-color:#1fb5ad}.form button,.completed-ck span{padding:6px 12px;margin-bottom:0;font-size:14px;font-weight:400;text-align:center;white-space:nowrap;vertical-align:middle;cursor:pointer;user-select:none;background-image:none;border:1px solid #1fb5ad;border-radius:4px;background-color:#1fb5ad;color:#fff;height:auto;outline:0}.form button:hover{background-color:#1ca59e;border-color:#1ca59e}.module-panel{border-radius:4px;background-color:#fff;margin-bottom:20px;min-height:160px}.module-header{background:#fafafa;padding:15px;border-bottom:1px solid #eff2f7;border-top-left-radius:3px;border-top-right-radius:3px}.module-header h2{font-size:13px;font-weight:400}.module-header a{color:#767676;text-decoration:none}.module-header a:hover{color:#1fb5ad}.module-panel .module-body{padding:15px}.module-panel .module-body li{padding:10px;line-height:18px;border-bottom:1px solid #ddd}.module-panel .module-body li:hover{background-color:#f5f5f5}.module-panel .module-body li a:hover{text-decoration:none}.comment-title{background-color:#ececec;border-bottom:1px solid #dfdfdf;border-top:1px solid #f9f9f9;padding:3px 6px 3px 12px}#comments{height:462px;overflow:auto}button#submitArticle,#unSubmitArticle{background-color:#fa8564;border-color:#fa8564}button#submitArticle:hover,#unSubmitArticle:hover{background-color:#ec6459;border-color:#ec6459}.CodeMirror{border-radius:0 0 3px 3px;box-shadow:0 1px 2px rgba(0,0,0,0.075) inset;border:1px solid #ccc;margin-bottom:20px;border-top-width:0;height:470px}.comment-content .CodeMirror{height:170px}#skinsPanel{min-width:328px;width:99%}.skinPreview{cursor:pointer;height:160px;margin:6px;width:280px}.skinItem{background-color:#fafafa;border-radius:3px;box-shadow:1px 1px 3px #333;line-height:16px;margin:24px 12px;padding:5px;text-align:center}#skinMain .skinItem.selected{background-color:#1fb5ad}.skinItem:hover{background-color:#EEE}.f-blue,.error-msg{color:#36c}.signs button{margin:0 12px}#keyOfSolo{width:200px}.small-head{float:left;height:35px;margin:3px 9px 0 3px;width:35px}#commentTable .table-main td{vertical-align:top}.about-logo{float:left;margin:62px 36px 62px 24px}.about-margin{font-size:20px;margin:20px 0}.ico-alipay-me{background-image:url("../images/alipay-me.png");font-size:20px;height:24px;margin:20px 0;width:126px}.completed-input{margin:2px 12px 0 0}.completed-panel{background-color:#ececec;border:1px solid #ccc;color:#00c;display:none;overflow:auto;padding:2px;position:absolute;z-index:10}.completed-panel a{display:block;text-decoration:none}.completed-panel a.selected{background-color:#fff;color:#d54121}.completed-ck{margin-top:9px}.completed-ck span{margin:5px 10px 5px 0;display:inline-block;background-color:#c7cbd6;border-color:#c7cbd6}.completed-ck span:hover{background-color:#b0b5b9;border-color:#b0b5b9}.completed-ck span.selected{color:#d54121;background:url(../images/bowknot/completed.png) no-repeat right bottom}.dialog-background{background-color:#000;display:none;filter:alpha(opacity=30);height:100%;left:0;opacity:.3;position:absolute;top:0;width:100%;z-index:90}.dialog-panel{display:none;position:absolute;z-index:100}.dialog-title{color:#fff;float:left;font-size:12px;line-height:27px;margin-left:3px}.dialog-header-bg{background:url("../images/icon.png") repeat scroll center bottom #f1f1f1;border-color:#c0c0c0 #D9D9D9 #d9d9d9;border-radius:6px 6px 0 0;border-style:solid;border-width:1px 1px 0;cursor:move;height:34px}.dialog-close-icon{background:url("../images/bowknot/dialog-close.png") no-repeat scroll 0 0 transparent;cursor:pointer;float:right;height:18px;margin-top:6px;padding:3px;width:22px}.dialog-close-icon:hover{background-image:url("../images/bowknot/dialog-close-hover.png")}.dialog-main{background-color:#fff;border:2px solid #666;border-color:#c0c0c0 #D9D9D9 #d9d9d9;border-top-width:0;padding:12px}.paginate-paginate div.button.paginate-page,.paginate-paginate a,.paginate-pageCount,.pagination-pages{border:1px solid #eff2f7;padding:6px 12px;cursor:pointer;float:left;line-height:18px;background:#eee;height:18px;margin-left:1px;border-radius:0;text-decoration:none;color:#333}.pagination-current-page,.paginate-pageCount{cursor:auto}.paginate-pageCount{margin-left:10px}.pagination-current-page,.paginate-paginate a:hover,.paginate-paginate div.button.paginate-page:hover,.pagination-pages:hover{border-color:#2eb4ad;background-color:#2eb4ad;color:#FFF}.paginate-paginate div.button{padding:0;float:left;border:0;background:0}.paginate-inputPage{height:26px;width:24px;margin:0 5px}.table-main{margin:0;padding:0;position:relative}.table-main table{word-break:break-all;word-wrap:break-word}.table-header{border-bottom:1px solid #ddd;background-color:#fafafa;padding:15px 0}.table-header th{line-height:18px;text-align:left;text-indent:6px;font-weight:normal}.table-main td{border-bottom:1px solid #ddd;color:#767676;padding:10px 0}.table-lineHover .table-hasExpend td{border-bottom:0}.table-heiglight td,.table-lineHover td{background-color:#f5f5f5;border-right-color:#f5f5f5}.table-expendRow td{padding:0 0 5px 36px}.table-expendRow td span{margin-left:60px}.table-expendRow td a{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px;text-decoration:none;color:#FFF;background-color:#c7cbd6;border-color:#c7cbd6}.table-expendRow td a:hover{background-color:#b0b5b9;border-color:#b0b5b9}.table-center{margin:0 auto}.table-upIcon,.table-downIcon{background-image:url("../images/icon.png");cursor:pointer;float:left;height:16px;width:16px;background-position:-81px -32px}.table-upIcon{background-position:-64px -32px;margin-right:6px}.table-tag{color:#d54121;font-size:12px;font-style:italic;margin-left:10px}.tip-panel{background-color:#FFF;box-shadow:0 3px 10px #8b8b8b;display:none;max-height:500px;max-width:500px;overflow:hidden;padding:3px;position:absolute;z-index:1}
\ No newline at end of file
......@@ -13,4 +13,4 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
html,body,div,ul,li,h1,h2,h3,h4,h5,h6,p,dd,dl,ol{margin:0;padding:0}body{background-color:#FFF;color:#000;font-family:elvetica,Arial,'sans-serif','\5fae\8f6f\96c5\9ed1';font-size:small}img{border:medium none;margin:0;padding:0;vertical-align:middle}h1{font-size:160%}h2{font-size:140%}h3{font-size:120%}h4{font-size:110%}textarea{overflow:auto}li{margin-left:12px}button,.button{background:url(../images/icon.png) repeat center bottom;border:1px solid;border-color:#CCc #bbb #A0A0A0;border-radius:4px;height:28px;margin:0;padding:0 6px;vertical-align:top}button:hover,.button:hover{border-color:#BBB}.padding12{padding:12px}.paddingBottom12{padding-bottom:12px!important}.paddingTop12{padding-top:12px!important}.margin12{margin:12px}.marginTop12{margin-top:12px!important}.marginBottom12{margin-bottom:12px!important}.marginLeft12{margin-left:12px!important}.marginLeft6{margin-left:6px!important}.marginRight12{margin-right:12px!important}.f-bold{font-weight:bold!important}.nowrap{white-space:nowrap}.left{float:left}.right{float:right}.clear{background-color:transparent;border:0;clear:both;display:block;font-size:0;height:0;line-height:0;overflow:hidden}.none{display:none}.pointer{cursor:pointer}.no-underline{text-decoration:none!important}.red{color:red}.contentBody{margin-bottom:12px;padding:3px 12px}.form th{text-align:right;white-space:nowrap}.form input[type='text'],.form input[type='password'],.form textarea{border-color:#c0c0c0 #D9D9D9 #d9d9d9;border-right:1px solid #d9d9d9;border-style:solid;border-width:1px;font-family:Helvetica,Arial,sans-serif;font-size:12px;outline:medium none;width:99%;padding:0 3px}.form input{height:24px}.form input[type='checkbox']{border:0;vertical-align:middle}.form input.normalInput{width:auto}.form input[type='checkbox']:focus{border:0}.form input:focus,.form textarea:focus{box-shadow:0 1px 2px rgba(0,0,0,0.3) inset}.form textarea{padding:3px;overflow:auto;resize:vertical}.logo{padding:0 5px;text-decoration:none;text-shadow:0 0 1px #eee}.putTopIcon,.notPutTopIcon,.deleteIcon,.updateIcon,.commentIcon,.homeIcon,.adminIcon,.loginIcon,.logoutIcon,.calendarIcon,.browserIcon,.postIcon,.articlesIcon,.draftsIcon,.usersIcon,.linkIcon,.preferenceIcon,.pageIcon,.trueIcon,.falseIcon,.fileIcon,.othersIcon,.goTopIcon,.goBottomIcon,.cacheIcon,.aboutIcon{background-image:url("../images/icon.png");cursor:pointer;height:16px;width:16px}.adminIcon,.loginIcon,.logoutIcon,.homeIcon{margin-top:3px}.pageIcon{background-position:-144px 0}.postIcon{background-position:-16px 0}.linkIcon{background-position:-32px 0}.preferenceIcon{background-position:-48px 0}.articlesIcon{background-position:-64px 0}.trueIcon{background-position:-80px 0;cursor:auto}.falseIcon{background-position:-96px 0;cursor:auto}.fileIcon{background-position:-112px 0}.deleteIcon{background-position:0 -16px}.updateIcon{background-position:-16px -16px}.commentIcon{background-position:-32px -16px}.homeIcon{background-position:-64px -16px}.adminIcon{background-position:-80px -16px}.logoutIcon{background-position:-96px -16px}.loginIcon{background-position:-112px -16px}.browserIcon{background-position:-128px -16px}.calendarIcon{background-position:-144px -16px}.putTopIcon{background-position:-16px -32px;float:left}.notPutTopIcon{background-position:-32px -32px;float:left}.othersIcon{background-position:-48px -32px}.cacheIcon{background-position:-96px -32px}.draftsIcon{background-position:-96px -32px}.usersIcon{background-position:-112px -32px}.goTopIcon{background-position:-64px -32px;position:fixed;right:20px;top:45%}.goBottomIcon{background-position:-80px -32px;bottom:40%;position:fixed;right:20px}.article-body{overflow:hidden;line-height:145%;word-wrap:break-word}.article-body blockquote{border:1px dotted #98a47f;font-style:italic;margin:12px;padding:12px}.article-body h1{font-size:2em;margin:.67em 0}.article-body h2{font-size:1.5em;margin:.75em 0}.article-body h3{font-size:1.17em;margin:.83em 0}.article-body h4,.article-body p,.article-body blockquote,.article-body ul,.article-body fieldset,.article-body form,.article-body ol,.article-body dl,.article-body dir,.article-body menu{margin:1.12em 0}.article-body h5{font-size:.83em;margin:1.5em 0}.article-body h6{font-size:.75em;margin:1.67em 0}.article-body blockquote{margin-left:40px;margin-right:40px}.article-body ol,.article-body ul,.article-body dir,.article-body menu,.article-body dd{margin-left:40px}.em00,.em01,.em02,.em03,.em04,.em05,.em06,.em07,.em08,.em09,.em10,.em11,.em12,.em13,.em14{background-image:url("../images/emotions/classic/emotions-classic.png");float:left;height:24px;margin-right:5px;width:24px}#emotions span{cursor:pointer}.em01{background-position:-24px 0}.em02{background-position:-48px 0}.em03{background-position:-72px 0}.em04{background-position:-96px 0}.em05{background-position:0 -24px}.em06{background-position:-24px -24px}.em07{background-position:-48px -24px}.em08{background-position:-72px -24px}.em09{background-position:-96px -24px}.em10{background-position:0 -48px}.em11{background-position:-24px -48px}.em12{background-position:-48px -48px}.em13{background-position:-72px -48px}.em14{background-position:-96px -48px}#tags{list-style:none}#tags li{float:left;list-style:none;height:38px}#tags a:hover{text-shadow:0 0 2px #555}#tags a{border-radius:3px 3px 3px 3px;box-shadow:1px 1px 3px #555;float:left;margin:3px 6px;padding:3px 12px;text-decoration:none}#tags .tags1{font-size:12px;font-weight:normal}#tags .tags2{font-size:14px;font-weight:normal}#tags .tags3{font-size:16px;font-weight:normal}#tags .tags4{font-size:18px;font-weight:bold}#tags .tags5{font-size:20px;font-weight:bold}#captcha,#captchaReply{cursor:pointer}
\ No newline at end of file
html,body,div,ul,li,h1,h2,h3,h4,h5,h6,p,dd,dl,ol{margin:0;padding:0}body{background-color:#FFF;color:#000;font-family:elvetica,Arial,'sans-serif','\5fae\8f6f\96c5\9ed1';font-size:small}img{border:medium none;margin:0;padding:0;vertical-align:middle}h1{font-size:160%}h2{font-size:140%}h3{font-size:120%}h4{font-size:110%}textarea{overflow:auto}li{margin-left:12px}button,.button{background:url(../images/icon.png) repeat center bottom;border:1px solid;border-color:#CCc #bbb #A0A0A0;border-radius:4px;height:28px;margin:0;padding:0 6px;vertical-align:top}button:hover,.button:hover{border-color:#BBB}.padding12{padding:12px}.paddingBottom12{padding-bottom:12px!important}.paddingTop12{padding-top:12px!important}.margin12{margin:12px}.marginTop12{margin-top:12px!important}.marginBottom12{margin-bottom:12px!important}.marginLeft12{margin-left:12px!important}.marginLeft6{margin-left:6px!important}.marginRight12{margin-right:12px!important}.f-bold{font-weight:bold!important}.nowrap{white-space:nowrap}.left{float:left}.right{float:right}.clear{background-color:transparent;border:0;clear:both;display:block;font-size:0;height:0;line-height:0;overflow:hidden}.fn-clear:before,.fn-clear:after{display:table;content:""}.fn-clear:after{clear:both}.none{display:none}.pointer{cursor:pointer}.no-underline{text-decoration:none!important}.red{color:red}.contentBody{margin-bottom:12px;padding:3px 12px}.form th{text-align:right;white-space:nowrap}.form input[type='text'],.form input[type='password'],.form textarea{border-color:#c0c0c0 #D9D9D9 #d9d9d9;border-right:1px solid #d9d9d9;border-style:solid;border-width:1px;font-family:Helvetica,Arial,sans-serif;font-size:12px;outline:medium none;width:99%;padding:0 3px}.form input{height:24px}.form input[type='checkbox']{border:0;vertical-align:middle}.form input.normalInput{width:auto}.form input[type='checkbox']:focus{border:0}.form input:focus,.form textarea:focus{box-shadow:0 1px 2px rgba(0,0,0,0.3) inset}.form textarea{padding:3px;overflow:auto;resize:vertical}.logo{padding:0 5px;text-decoration:none;text-shadow:0 0 1px #eee}.putTopIcon,.notPutTopIcon,.deleteIcon,.updateIcon,.commentIcon,.homeIcon,.adminIcon,.loginIcon,.logoutIcon,.calendarIcon,.browserIcon,.postIcon,.articlesIcon,.draftsIcon,.usersIcon,.linkIcon,.preferenceIcon,.pageIcon,.trueIcon,.falseIcon,.fileIcon,.othersIcon,.goTopIcon,.goBottomIcon,.cacheIcon,.aboutIcon{background-image:url("../images/icon.png");cursor:pointer;height:16px;width:16px}.adminIcon,.loginIcon,.logoutIcon,.homeIcon{margin-top:3px}.pageIcon{background-position:-144px 0}.postIcon{background-position:-16px 0}.linkIcon{background-position:-32px 0}.preferenceIcon{background-position:-48px 0}.articlesIcon{background-position:-64px 0}.trueIcon{background-position:-80px 0;cursor:auto}.falseIcon{background-position:-96px 0;cursor:auto}.fileIcon{background-position:-112px 0}.deleteIcon{background-position:0 -16px}.updateIcon{background-position:-16px -16px}.commentIcon{background-position:-32px -16px}.homeIcon{background-position:-64px -16px}.adminIcon{background-position:-80px -16px}.logoutIcon{background-position:-96px -16px}.loginIcon{background-position:-112px -16px}.browserIcon{background-position:-128px -16px}.calendarIcon{background-position:-144px -16px}.putTopIcon{background-position:-16px -32px;float:left}.notPutTopIcon{background-position:-32px -32px;float:left}.othersIcon{background-position:-48px -32px}.cacheIcon{background-position:-96px -32px}.draftsIcon{background-position:-96px -32px}.usersIcon{background-position:-112px -32px}.goTopIcon{background-position:-64px -32px;position:fixed;right:20px;top:45%}.goBottomIcon{background-position:-80px -32px;bottom:40%;position:fixed;right:20px}.article-body{overflow:hidden;line-height:145%;word-wrap:break-word}.article-body blockquote{border:1px dotted #98a47f;font-style:italic;margin:12px;padding:12px}.article-body h1{font-size:2em;margin:.67em 0}.article-body h2{font-size:1.5em;margin:.75em 0}.article-body h3{font-size:1.17em;margin:.83em 0}.article-body h4,.article-body p,.article-body blockquote,.article-body ul,.article-body fieldset,.article-body form,.article-body ol,.article-body dl,.article-body dir,.article-body menu{margin:1.12em 0}.article-body h5{font-size:.83em;margin:1.5em 0}.article-body h6{font-size:.75em;margin:1.67em 0}.article-body blockquote{margin-left:40px;margin-right:40px}.article-body ol,.article-body ul,.article-body dir,.article-body menu,.article-body dd{margin-left:40px}.em00,.em01,.em02,.em03,.em04,.em05,.em06,.em07,.em08,.em09,.em10,.em11,.em12,.em13,.em14{background-image:url("../images/emotions/classic/emotions-classic.png");float:left;height:24px;margin-right:5px;width:24px}#emotions span{cursor:pointer}.em01{background-position:-24px 0}.em02{background-position:-48px 0}.em03{background-position:-72px 0}.em04{background-position:-96px 0}.em05{background-position:0 -24px}.em06{background-position:-24px -24px}.em07{background-position:-48px -24px}.em08{background-position:-72px -24px}.em09{background-position:-96px -24px}.em10{background-position:0 -48px}.em11{background-position:-24px -48px}.em12{background-position:-48px -48px}.em13{background-position:-72px -48px}.em14{background-position:-96px -48px}#tags{list-style:none}#tags li{float:left;list-style:none;height:38px}#tags a:hover{text-shadow:0 0 2px #555}#tags a{border-radius:3px 3px 3px 3px;box-shadow:1px 1px 3px #555;float:left;margin:3px 6px;padding:3px 12px;text-decoration:none}#tags .tags1{font-size:12px;font-weight:normal}#tags .tags2{font-size:14px;font-weight:normal}#tags .tags3{font-size:16px;font-weight:normal}#tags .tags4{font-size:18px;font-weight:bold}#tags .tags5{font-size:20px;font-weight:bold}#captcha,#captchaReply{cursor:pointer}
\ No newline at end of file
......@@ -17,9 +17,9 @@
* @description index for admin
*
* @author <a href="http://vanessa.b3log.org">Liyuan Li</a>
* @version 1.0.2.2, May 28, 2013
* @version 1.0.3.2, Sep 2, 2013
*/
var Admin = function() {
var Admin = function () {
this.register = {};
// 工具栏下的工具
this.tools = ['#page-list', '#file-list', '#link-list', '#preference',
......@@ -33,13 +33,13 @@ $.extend(Admin.prototype, {
/**
* @description 登出
*/
logout: function() {
logout: function () {
window.location.href = latkeConfig.servePath + "/logout?goto=" + latkeConfig.servePath;
},
/**
* @description 清除提示
*/
clearTip: function() {
clearTip: function () {
$("#tipMsg").text("");
$("#loadMsg").text("");
},
......@@ -47,7 +47,7 @@ $.extend(Admin.prototype, {
* @description 根据当前页数设置 hash
* @param {Int} currentPage 当前页
*/
setHashByPage: function(currentPage) {
setHashByPage: function (currentPage) {
var hash = window.location.hash,
hashList = hash.split("/");
if (/^\d*$/.test(hashList[hashList.length - 1])) {
......@@ -61,13 +61,13 @@ $.extend(Admin.prototype, {
* @description 设置某个 tab 被选择
* @param {Stirng} id id tab id
*/
selectTab: function(id) {
selectTab: function (id) {
window.location.hash = "#" + id;
},
/**
* @description 根据当前 hash 解析出当前页数及 hash 数组。
*/
analyseHash: function() {
analyseHash: function () {
var hash = window.location.hash;
var tag = hash.substr(1, hash.length - 1);
var tagList = tag.split("/");
......@@ -86,7 +86,8 @@ $.extend(Admin.prototype, {
/**
* @description 根据当前 hash 设置当前 tab
*/
setCurByHash: function() {
setCurByHash: function () {
$(window).scrollTop(0);
$("#tipMsg").text("");
var tags = admin.analyseHash();
var tab = tags.hashList[1],
......@@ -103,7 +104,7 @@ $.extend(Admin.prototype, {
if (tab !== "article") {
admin.article.clearDraftTimer();
} else if (tab === "article") {
admin.article.autoSaveDraftTimer = setInterval(function() {
admin.article.autoSaveDraftTimer = setInterval(function () {
admin.article._autoSaveToDraft();
}, admin.article.AUTOSAVETIME);
}
......@@ -157,7 +158,7 @@ $.extend(Admin.prototype, {
if ($("#tabsPanel_" + tab).length === 1) {
if ($("#tabsPanel_" + tab).html().replace(/\s/g, "") === "") {
// 还未加载 HTML
$("#tabsPanel_" + tab).load("admin-" + tab + ".do", function() {
$("#tabsPanel_" + tab).load("admin-" + tab + ".do", function () {
// 页面加载完后,回调初始函数
if (tab === "article" && admin.article.status.id) {
// 当文章页面编辑器未初始化时,调用更新文章需先初始化编辑器
......@@ -202,7 +203,7 @@ $.extend(Admin.prototype, {
/**
* @description 初始化整个后台
*/
init: function() {
init: function () {
//window.onerror = Util.error;
Util.killIE();
......@@ -212,9 +213,9 @@ $.extend(Admin.prototype, {
$("#tabs").tabs();
// tipMsg
setInterval(function() {
setInterval(function () {
if ($("#tipMsg").text() !== "") {
setTimeout(function() {
setTimeout(function () {
$("#tipMsg").text("");
}, 7000);
}
......@@ -225,20 +226,25 @@ $.extend(Admin.prototype, {
* @description tools and article collapse
* @param {Bom} it 触发事件对象
*/
collapseNav: function(it) {
collapseNav: function (it) {
var subNav = $(it).next();
subNav.slideToggle("normal", function() {
subNav.slideToggle("normal", function () {
if (this.style.display !== "none") {
$(it).find(".ico-arrow-down")[0].className = "ico-arrow-up";
$(it).find(".icon-chevron-down")[0].className = "icon-chevron-up right";
$(it).addClass('tab-current');
} else {
$(it).find(".ico-arrow-up")[0].className = "ico-arrow-down";
$(it).find(".icon-chevron-up")[0].className = "icon-chevron-down right";
$(it).removeClass('tab-current');
}
$('#tabs > ul').height('auto');
$('#tabs > ul').height($('#tabs > ul').height() + 80);
});
},
/**
* @description 后台及当前页面所需插件初始化完后,对权限进行控制及当前页面属于 tools 时,tools 选项需展开。
*/
inited: function() {
inited: function () {
// Removes functions with the current user role
if (Label.userRole !== "adminRole") {
for (var i = 0; i < this.adTools.length; i++) {
......@@ -606,8 +612,17 @@ admin.editors.KindEditor = {
*
* @author <a href="http://vanessa.b3log.org">Liyuan Li</a>
* @author <a href="http://88250.b3log.org">Liang Ding</a>
* @version 1.1.1.4, Aug 13, 2015
* @version 1.2.1.4, Aug 26, 2016
*/
Util.processClipBoard = function (text, cm) {
var text = toMarkdown(text, {converters: [
], gfm: true});
// ascii 160 替换为 30
text = $('<div>' + text + '</div>').text().replace(/\n{2,}/g, '\n\n').replace(/ /g, ' ');
return $.trim(text);
};
admin.editors.CodeMirror = {
/*
* @description 初始化编辑器
......@@ -620,124 +635,38 @@ admin.editors.CodeMirror = {
* @returns {obj} editor
*/
init: function (conf) {
var it = this;
// load preview and clear
var previewHTML = "<div class='clear'></div>";
if (conf.kind !== "simple") {
previewHTML = "<div class='markdown-preivew'>" +
"<div class='markdown-help ico-close'></div>" +
"<div class='clear'></div>" +
"<div class='markdown-preview-main none'></div>" +
"<div class='markdown-help-main'>" + Label.markdownHelpLabel + "</div>"
+ "</div><div class='clear'></div>";
}
$("#" + conf.id).after(previewHTML);
// init codemirror
if (conf.kind === "simple") {
this[conf.id] = CodeMirror.fromTextArea(document.getElementById(conf.id), {
mode: 'markdown',
var commentEditor = new CodeMirrorEditor({
element: document.getElementById(conf.id),
dragDrop: false,
lineWrapping: true,
lineNumbers: true,
matchBrackets: true,
theme: "default",
height: conf.height
});
} else {
// preview 执行队列
it[conf.id + "Timers"] = [];
// 该编辑器是否第一次触发 preivew 事件
it[conf.id + "IsFirst"] = true;
var $preview = $("#" + conf.id).parent().find(".markdown-preivew"),
$help = $("#" + conf.id).parent().find(".markdown-preivew").find(".markdown-help");
this[conf.id] = CodeMirror.fromTextArea(document.getElementById(conf.id), {
mode: 'markdown',
lineWrapping: true,
lineNumbers: true,
matchBrackets: true,
theme: "default",
height: conf.height,
onUpdate: function () {
var update = function () {
if (it[conf.id].getValue() === "") {
return;
}
$.ajax({
url: latkeConfig.servePath + "/console/markdown/2html",
type: "POST",
cache: false,
data: JSON.stringify({markdownText: it[conf.id].getValue()}),
success: function (data, textStatus) {
if (data.sc) {
if (it[conf.id + "IsFirst"] && $help.hasClass("ico-close")) {
$help.click();
}
it[conf.id + "IsFirst"] = false;
$preview.find(".markdown-preview-main").html(data.html);
} else {
$preview.find(".markdown-preview-main").html(data.msg);
}
}
});
}
it[conf.id + "Timers"].push(update);
}
toolbar: [
{name: 'bold'},
{name: 'italic'},
'|',
{name: 'link'},
{name: 'quote'},
{name: 'unordered-list'},
{name: 'ordered-list'},
'|',
{name: 'redo'},
{name: 'undo'},
'|',
{name: 'preview'}
],
extraKeys: {
"Ctrl-/": "autocompleteEmoji"
},
status: false
});
this._callPreview(conf.id, it[conf.id + "Timers"]);
}
if (conf.kind === "simple") {
// 摘要不需要 preview,设置其宽度
$("#" + conf.id).next().width("99%");
} else {
// 有 preview 时,绑定 preview 事件
this._bindEvent(conf.id);
}
commentEditor.render();
this[conf.id] = commentEditor.codemirror;
// after render, call back function
if (typeof (conf.fun) === "function") {
conf.fun();
}
},
/*
* @description 当有更新时每隔3秒 preview
* @param {string} id 编辑器 id
*/
_callPreview: function (id) {
setInterval(function () {
var timers = admin.editors.CodeMirror[id + "Timers"];
$(document).queue("myAnimation", [timers[timers.length - 1]]);
$(document).dequeue("myAnimation");
admin.editors.CodeMirror[id + "Timers"] = [];
}, 2000);
},
/*
* @description 绑定编辑器 preview 事件
* @param {string} id 编辑器id
*/
_bindEvent: function (id) {
var $preview = $("#" + id).parent().find(".markdown-preivew");
$preview.find(".markdown-help").click(function () {
var $it = $(this);
if ($it.hasClass("ico-help")) {
$it.removeClass("ico-help").addClass("ico-close");
$preview.find(".markdown-preview-main").hide();
$preview.find(".markdown-help-main").show();
} else {
$it.addClass("ico-help").removeClass("ico-close");
$preview.find(".markdown-preview-main").show();
$preview.find(".markdown-help-main").hide();
}
});
},
/*
* @description 获取编辑器值
* @param {string} id 编辑器id
......@@ -762,7 +691,7 @@ admin.editors.CodeMirror = {
*/
remove: function (id) {
this[id].toTextArea();
$(".markdown-preivew").remove();
$('.editor-toolbar').remove();
}
};/*
* Copyright (c) 2010-2016, b3log.org & hacpai.com
......@@ -825,8 +754,8 @@ $.extend(TablePaginate.prototype, {
},
"currentPage": 1,
"errorMessage": Label.inputErrorLabel,
"nextPageText": Label.nextPagePabel,
"previousPageText": Label.previousPageLabel,
"nextPageText": '>',
"previousPageText": '<',
"goText": Label.gotoLabel,
"type": "custom",
"custom": [1],
......@@ -1263,42 +1192,11 @@ admin.article = {
*/
init: function (fun) {
this.currentEditorType = Label.editorType;
// Inits Signs.
$.ajax({
url: latkeConfig.servePath + "/console/signs/",
type: "GET",
cache: false,
success: function (result, textStatus) {
$("#tipMsg").text(result.msg);
if (!result.sc) {
$("#loadMsg").text("");
return;
}
$(".signs button").each(function (i) {
// Sets signs.
if (i === result.signs.length) {
$("#articleSign1").addClass("selected");
} else {
$("#articleSign" + result.signs[i].oId).tip({
content: result.signs[i].signHTML === "" ? Label.signIsNullLabel :
result.signs[i].signHTML.replace(/\n/g, "").replace(/<script.*<\/script>/ig, ""),
position: "top"
});
}
// Binds checkbox event.
$(this).click(function () {
if (this.className !== "selected") {
$(".signs button").each(function () {
this.className = "";
});
this.className = "selected";
}
});
});
$("#loadMsg").text("");
}
// Inits Signs.
$(".signs button").click(function (i) {
$(".signs button").removeClass('selected');
$(this).addClass('selected');
});
// For tag auto-completion
......@@ -1339,8 +1237,8 @@ admin.article = {
} else {
admin.article.add(true);
}
});
}
);
$("#saveArticle").click(function () {
if (admin.article.status.id) {
admin.article.update(admin.article.status.isArticle);
......@@ -1575,16 +1473,17 @@ admin.register.article = {
function getUUID() {
var d = new Date().getTime();
var ret = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) {
var r = (d + Math.random()*16)%16 | 0;
d = Math.floor(d/16);
return (c=='x' ? r : (r&0x3|0x8)).toString(16);
var ret = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
var r = (d + Math.random() * 16) % 16 | 0;
d = Math.floor(d / 16);
return (c == 'x' ? r : (r & 0x3 | 0x8)).toString(16);
});
ret = ret.replace(new RegExp("-", 'g'), "");
return ret;
};
}
;
/*
* Copyright (c) 2010-2016, b3log.org & hacpai.com
*
......@@ -1735,7 +1634,7 @@ admin.comment = {
*
* @author <a href="http://vanessa.b3log.org">Liyuan Li</a>
* @author <a href="http://88250.b3log.org">Liang Ding</a>
* @version 1.0.1.5, May 28, 2013
* @version 1.0.2.5, Aug 23, 2016
*/
/* article-list 相关操作 */
......@@ -1799,7 +1698,7 @@ admin.articleList = {
articleData = [];
for (var i = 0; i < articles.length; i++) {
articleData[i] = {};
articleData[i].title = "<a href='" + latkeConfig.servePath + articles[i].articlePermalink + "' target='_blank' title='" + articles[i].articleTitle + "' class='no-underline'>"
articleData[i].title = "<a href=\"" + latkeConfig.servePath + articles[i].articlePermalink + "\" target='_blank' title='" + articles[i].articleTitle + "' class='no-underline'>"
+ articles[i].articleTitle + "</a><span class='table-tag'>" + articles[i].articleTags + "</span>";
articleData[i].date = $.bowknot.getDate(articles[i].articleCreateTime);
articleData[i].comments = articles[i].articleCommentCount;
......@@ -3020,10 +2919,6 @@ admin.preference = {
var signs = eval('(' + preference.signs + ')');
for (var j = 1; j < signs.length; j++) {
$("#preferenceSign" + j).val(signs[j].signHTML);
$("#preferenceSignButton" + j).tip({
content: signs[j].signHTML === "" ? Label.signIsNullLabel : signs[j].signHTML.replace(/\n/g, "").replace(/<script.*<\/script>/ig, ""),
position: "bottom"
});
}
$("#articleListDisplay").val(preference.articleListStyle);
......@@ -3508,7 +3403,7 @@ admin.userList = {
} else {
userData[i].expendRow = "<a href='javascript:void(0)' onclick=\"admin.userList.get('" +
users[i].oId + "', '" + users[i].userRole + "')\">" + Label.updateLabel + "</a>\
<a href='javascript:void(0)' onclick=\"admin.userList.del('" + users[i].oId + "', '" + users[i].userName + "')\">" + Label.removeLabel + "</a>" +
<a href='javascript:void(0)' onclick=\"admin.userList.del('" + users[i].oId + "', '" + users[i].userName + "')\">" + Label.removeLabel + "</a> " +
"<a href='javascript:void(0)' onclick=\"admin.userList.changeRole('" + users[i].oId + "')\">" + Label.changeRoleLabel + "</a>";
if ("defaultRole" === users[i].userRole) {
userData[i].isAdmin = Label.commonUserLabel;
......@@ -3759,9 +3654,7 @@ admin.userList = {
admin.register["user-list"] = {
"obj": admin.userList,
"init": admin.userList.init,
"refresh": function() {
admin.clearTip();
}
"refresh": admin.userList.getList
}/*
* Copyright (c) 2010-2016, b3log.org & hacpai.com
*
......
This source diff could not be displayed because it is too large. You can view the blob instead.
/*
* Copyright (c) 2010-2016, b3log.org & hacpai.com
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
function convertEntities(t){var e,n;if(e=function(t){if(/&[^;]+;/.test(t)){var e=document.createElement("div");return e.innerHTML=t,e.firstChild?e.firstChild.nodeValue:t}return t},"string"==typeof t)return e(t);if("object"==typeof t)for(n in t)"string"==typeof t[n]&&(t[n]=e(t[n]));return t}
\ 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.1.2.1, Aug 26, 2016
* @version 0.2.2.1, Sep 6, 2016
*/
/* start reset */
html {
......@@ -250,8 +250,10 @@ img {
/* start framework */
.wrapper {
width: 700px;
max-width: 700px;
min-width: 600px;
margin: 0 auto;
padding: 0 10px;
}
.main {
......@@ -263,12 +265,11 @@ img {
.header {
background: #f5f5f5;
margin-bottom: 80px;
padding: 40px 45px;
padding: 40px 0px;
}
.logo-wrap {
float: left;
margin-left: -20px;
overflow: hidden;
top: 0;
opacity: 0;
......@@ -386,6 +387,10 @@ img {
-webkit-transform: translateZ(0);
}
.sidebar-toggle.has-toc .sidebar-toggle-line{
background: #87daff;
}
.sidebar-toggle-line {
position: relative;
display: inline-block;
......@@ -570,6 +575,34 @@ img {
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;
}
/* end side */
/* start list*/
......@@ -714,6 +747,11 @@ img {
.article-body {
overflow: auto;
text-align: justify;
}
.article-body p {
margin: 0 0 25px 0;
}
/* end article */
......@@ -940,13 +978,18 @@ ul.comments .comment-meta time {
/* end archives */
/* start responsive */
@media (max-width: 1000px) {
.sidebar-toggle,
.sidebar {
display: none;
}
@media (max-width: 700px) {
.b3-solo-list {
margin: 0;
padding: 0;
body {
padding-right: 0 !important;
}
}
@media (max-width: 700px) {
.page-archive .posts-collapse .archive-move-on {
margin-left: 5px;
}
......@@ -954,9 +997,6 @@ ul.comments .comment-meta time {
.posts-collapse {
margin-left: 10px;
}
}
@media (max-width: 500px) {
pre {
word-wrap: break-word;
word-break: break-all;
......@@ -976,7 +1016,6 @@ ul.comments .comment-meta time {
.logo-line-after,
.menu,
.site-search,
.sidebar-toggle,
.back-to-top {
display: none;
}
......@@ -995,17 +1034,8 @@ ul.comments .comment-meta time {
display: none;
}
.header .wrapper {
padding: 0 10px;
}
.logo-wrap .site-title {
margin-left: 10px;
}
.wrapper {
width: auto;
margin: 0 10px;
min-width: inherit;
}
.btn-bar {
......@@ -1032,6 +1062,12 @@ ul.comments .comment-meta time {
.footer {
text-align: center;
font-size: 12px;
padding: 10px 0;
}
.footer .fn-right {
float: none;
}
}
/* end responsive */
\ No newline at end of file
<footer class="footer">
<div class="wrapper">
<div class="wrapper fn-clear">
<a href="${servePath}">${blogTitle}</a> •
${onlineVisitor1Label}${onlineVisitorCnt} <br/>
&copy; ${year}
......@@ -39,7 +39,9 @@
"em11Label": "${em11Label}",
"em12Label": "${em12Label}",
"em13Label": "${em13Label}",
"em14Label": "${em14Label}"
"em14Label": "${em14Label}",
"tocLabel": "${tocLabel}",
"siteViewLabel": "${siteViewLabel}"
};
</script>
${plugins}
......@@ -17,7 +17,7 @@
* @fileoverview util and every page should be used.
*
* @author <a href="http://vanessa.b3log.org">Liyuan Li</a>
* @version 0.1.1.0, Jul 30, 2016
* @version 0.2.1.0, Sep 6, 2016
*/
/**
......@@ -37,6 +37,7 @@ var NexT = {
$sidebar.animate({
right: -320
});
$sidebar.find('section').css('opacity', 0);
} else {
$(this).addClass('sidebar-active');
$('body').animate({
......@@ -44,6 +45,10 @@ var NexT = {
});
$sidebar.animate({
right: 0
}, function () {
$sidebar.find('section:first').animate({
'opacity': 1
});
});
}
});
......@@ -54,6 +59,7 @@ var NexT = {
$(document).ready(function () {
setTimeout(function () {
// logo animate
$('.logo-wrap').css('opacity', 1);
$('.logo-line-before i').animate({
'left': '0'
......@@ -66,6 +72,11 @@ var NexT = {
});
$('.main').css('opacity', 1).animate({
'top': '0'
}, function () {
// 当有文章页面有目录时,回调不放这里,侧边栏就会一片空白
if ($('.b3-solo-list li').length > 0 && $(window).width() > 1000) {
$('.sidebar-toggle').click();
}
});
});
......@@ -79,9 +90,44 @@ var NexT = {
});
},
initArticle: function () {
if ($('.b3-solo-list li').length > 0 && $(window).width() > 700) {
$('.sidebar').html($('.b3-solo-list'));
$('.sidebar-toggle').click();
if ($('.b3-solo-list li').length > 0 && $(window).width() > 1000) {
// add color to sidebar menu
$('.sidebar-toggle').addClass('has-toc');
// append toc to sidebar menu
var articleTocHTML = '<ul><li class="current" data-tab="toc">' + Label.tocLabel + '</li><li data-tab="site">' + Label.siteViewLabel + '</li></ul><section></section>';
$('.sidebar').prepend(articleTocHTML);
var $sectionF = $('.sidebar section:first').html($('.b3-solo-list')),
$sectionL = $('.sidebar section:last');
// 切换 tab
$('.sidebar > ul > li').click(function () {
if ($(this).data('tab') === 'toc') {
$sectionL.animate({
"opacity": '0',
"top": '-50px'
}, 300, function () {
$sectionF.show().css('top', '-50px');
$sectionF.animate({
"opacity": '1',
"top": '0'
}, 300);
});
} else {
$sectionF.animate({
"opacity": '0',
"top": '-50px'
}, 300, function () {
$sectionF.hide().css('top', '-50px');
$sectionL.animate({
"opacity": '1',
"top": '0'
}, 300);
});
}
$('.sidebar > ul > li').removeClass('current');
$(this).addClass('current');
});
}
}
};
......
var NexT={init:function(){$(".sidebar-toggle").click(function(){var i=$(".sidebar");$(this).hasClass("sidebar-active")?($(this).removeClass("sidebar-active"),$("body").animate({"padding-right":0}),i.animate({right:-320})):($(this).addClass("sidebar-active"),$("body").animate({"padding-right":320}),i.animate({right:0}))}),$(".site-nav-toggle").click(function(){$(".site-nav").slideToggle()}),$(document).ready(function(){setTimeout(function(){$(".logo-wrap").css("opacity",1),$(".logo-line-before i").animate({left:"0"},function(){$(".site-title").css("opacity",1).animate({top:0},function(){$(".menu").css("opacity",1).animate({"margin-top":"15px"}),$(".main").css("opacity",1).animate({top:"0"})})}),$(".logo-line-after i").animate({right:"0"})},500)})},initArticle:function(){$(".b3-solo-list li").length>0&&$(window).width()>700&&($(".sidebar").html($(".b3-solo-list")),$(".sidebar-toggle").click())}};NexT.init();
\ 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.
*/
var NexT={init:function(){$(".sidebar-toggle").click(function(){var i=$(".sidebar");$(this).hasClass("sidebar-active")?($(this).removeClass("sidebar-active"),$("body").animate({"padding-right":0}),i.animate({right:-320}),i.find("section").css("opacity",0)):($(this).addClass("sidebar-active"),$("body").animate({"padding-right":320}),i.animate({right:0},function(){i.find("section:first").animate({opacity:1})}))}),$(".site-nav-toggle").click(function(){$(".site-nav").slideToggle()}),$(document).ready(function(){setTimeout(function(){$(".logo-wrap").css("opacity",1),$(".logo-line-before i").animate({left:"0"},function(){$(".site-title").css("opacity",1).animate({top:0},function(){$(".menu").css("opacity",1).animate({"margin-top":"15px"}),$(".main").css("opacity",1).animate({top:"0"},function(){$(".b3-solo-list li").length>0&&$(window).width()>1e3&&$(".sidebar-toggle").click()})})}),$(".logo-line-after i").animate({right:"0"})},500)})},initArticle:function(){if($(".b3-solo-list li").length>0&&$(window).width()>1e3){$(".sidebar-toggle").addClass("has-toc");var i='<ul><li class="current" data-tab="toc">'+Label.tocLabel+'</li><li data-tab="site">'+Label.siteViewLabel+"</li></ul><section></section>";$(".sidebar").prepend(i);var t=$(".sidebar section:first").html($(".b3-solo-list")),a=$(".sidebar section:last");$(".sidebar > ul > li").click(function(){"toc"===$(this).data("tab")?a.animate({opacity:"0",top:"-50px"},300,function(){t.show().css("top","-50px"),t.animate({opacity:"1",top:"0"},300)}):t.animate({opacity:"0",top:"-50px"},300,function(){t.hide().css("top","-50px"),a.animate({opacity:"1",top:"0"},300)}),$(".sidebar > ul > li").removeClass("current"),$(this).addClass("current")})}}};NexT.init();
\ No newline at end of file
......@@ -16,11 +16,13 @@
#
# Description: B3log Solo language configurations(en_US).
# Version: 1.0.1.2, Sep 4, 2015
# Version: 1.1.1.2, Sep 6, 2016
# Author: Liyuan Li
# Author: Liang Ding
#
tocLabel=\u6587\u7ae0\u76ee\u5f55
siteViewLabel=\u7ad9\u70b9\u6982\u89c8
viewsLabel=Heat
cmtLabel=Comments
postTimeLabel=Post At
......
......@@ -16,10 +16,12 @@
#
# Description: B3log Solo default language configurations(zh_CN).
# Version: 1.0.0.1, Jul 30, 2016
# Version: 1.1.1.2, Sep 6, 2016
# Author: Liyuan Li
#
tocLabel=\u6587\u7ae0\u76ee\u5f55
siteViewLabel=\u7ad9\u70b9\u6982\u89c8
viewsLabel=\u70ed\u5ea6
cmtLabel=\u6761\u8bc4\u8bba
postTimeLabel=\u53d1\u8868\u4e8e
......
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