diff --git a/nijigen/common-comment.ftl b/nijigen/common-comment.ftl index 7bdd32c..f1fc89a 100644 --- a/nijigen/common-comment.ftl +++ b/nijigen/common-comment.ftl @@ -17,34 +17,32 @@ along with this program. If not, see . --> -
  • -
    -
    -
    -
    - <#if "http://" == comment.commentURL> +
  • +
    +
    +
    + <#if "http://" == comment.commentURL> ${comment.commentName} - <#else> - ${comment.commentName} - - - <#if comment.isReply> - @${comment.commentOriginalCommentName} - - - - - <#if article?? && article.commentable> - ${replyLabel} - -
    -
    - ${comment.commentContent} -
    -
  • + <#else> + ${comment.commentName} + + <#if comment.isReply> + @${comment.commentOriginalCommentName} + +
    + +
    +
    + ${comment.commentContent} +
    + <#if article?? && article.commentable> + ${replyLabel} + <#else> + ${viewLabel}» + +
  • \ No newline at end of file diff --git a/nijigen/css/base.css b/nijigen/css/base.css index 50cbcb1..f1c2eac 100644 --- a/nijigen/css/base.css +++ b/nijigen/css/base.css @@ -503,6 +503,77 @@ blockquote { margin-top: -5px; border-right-color: rgba(0, 0, 0, 0.8); } +/* + * Symphony - A modern community (forum/BBS/SNS/blog) platform written in Java. + * Copyright (C) 2012-2018, b3log.org & hacpai.com + * + * 本文件属于 Sym 商业版的一部分,请仔细阅读项目根文件夹的 LICENSE 并严格遵守相关约定 + */ +/** + * comment + * + * @author Liyuan Li + * @version 0.1.0.0, Sep 1, 2018 + */ +.em00, .em01, .em02, .em03, .em04, .em05, .em06, .em07, .em08, .em09, .em10, .em11, .em12, .em13, .em14 { + cursor: pointer; + background-image: url(../../../images/emotions/emotions.png); + background-size: 120px; + 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; } + +#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; } + /** * Solo - A small and beautiful blogging system written in Java. * Copyright (c) 2010-2018, b3log.org & hacpai.com @@ -598,6 +669,12 @@ a { transition: all .3s; cursor: url(../images/pointer.cur), url(../images/pointer.cur), auto; } +.content-reset img { + vertical-align: sub; } + +.ft__red { + color: #b94a48; } + .module { border-radius: 5px; overflow: hidden; @@ -717,6 +794,11 @@ a { left: 30px; } .header__nav { text-align: center; } + .header__nav img { + float: left; + height: 20px; + width: 20px; + margin: 15px 5px 0 0; } .header__login { position: absolute; right: 30px; @@ -857,6 +939,92 @@ a { text-decoration: none; background-color: #6658b8; } +.comments { + position: relative; } + .comments__item { + border-radius: 5px; + list-style: none; + margin-bottom: 30px; + box-shadow: 1px 1px 3px 1px rgba(0, 0, 0, 0.2); + transition: all .3s; + position: relative; } + .comments__item:hover { + box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.8); } + .comments__item:hover .comments__avatar { + transform: rotate(720deg); + border-radius: 0; } + .comments__item:hover .comments__content { + background-color: #fff; } + .comments__item:hover .comments__meta { + background-color: #d9edf7; } + .comments__meta { + border-radius: 5px 5px 0 0; + min-height: 37px; + line-height: 37px; + padding-left: 45px; + background: rgba(217, 237, 247, 0.6); + color: #3d4450; + padding-right: 15px; } + .comments__meta a { + font-weight: 700; + color: #3d4450; } + .comments__meta a:hover { + color: #b94a48; } + .comments__meta--only { + border-radius: 5px; } + .comments__content { + border-radius: 0 0 5px 5px; + background-color: rgba(255, 255, 255, 0.8); + padding: 15px 15px 15px 45px; } + .comments__avatar { + position: absolute; + height: 54px; + width: 54px; + background-position: center center; + background-size: cover; + border: 2px solid #fff; + border-radius: 35px; + left: -29px; + top: 15px; + transition: all .8s ease; } + .comments__captcha { + height: 30px; } + .comments__reply { + border-radius: 5px; + margin: 15px auto 0; } + +.comment-body-ref { + right: 0; + position: absolute; + left: 64px; } + .comment-body-ref .breadcrumb { + display: none; } + +.form input, +.form textarea { + border: 1px solid #d1d5da; + background-color: #fafafa; + border-radius: 3px; + box-shadow: inset 0 1px 2px rgba(27, 31, 35, 0.075); + padding: 7px 8px; + width: 100%; + line-height: 17px; + box-sizing: border-box; } + .form input:focus, + .form textarea:focus { + background-color: #fff; + box-shadow: inset 0 1px 2px rgba(27, 31, 35, 0.075), 0 0 0 0.2em #dbedff; + border: 1px solid #4285f4; } + +.form .ft__red { + line-height: 34px; } + +.form .btn { + float: right; + height: 34px; + margin: 0 0 0 10px; + padding: 0 15px; } + @media (max-width: 768px) { .header__nav { display: none; } diff --git a/nijigen/css/base.scss b/nijigen/css/base.scss index d290a0c..e68038c 100644 --- a/nijigen/css/base.scss +++ b/nijigen/css/base.scss @@ -25,6 +25,7 @@ @import "../../../scss/reset-content"; @import "../../../scss/function"; @import "../../../scss/tooltipped"; +@import "../../../scss/comment"; @import "icon"; $purple: #7266BA !default; @@ -42,6 +43,14 @@ a { cursor: url(../images/pointer.cur), url(../images/pointer.cur), auto } +.content-reset img { + vertical-align: sub; +} + +.ft__red { + color: $red; +} + // module .module { border-radius: 5px; @@ -216,6 +225,13 @@ a { &__nav { text-align: center; + + img { + float: left; + height: 20px; + width: 20px; + margin: 15px 5px 0 0; + } } &__login { @@ -412,6 +428,126 @@ a { } } +// comment +.comments { + position: relative; + &__item { + border-radius: 5px; + list-style: none; + margin-bottom: 30px; + box-shadow: 1px 1px 3px 1px rgba(0, 0, 0, 0.2); + transition: all .3s; + position: relative; + + &:hover { + box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.8); + + .comments__avatar { + transform: rotate(720deg); + border-radius: 0; + } + + .comments__content { + background-color: #fff; + } + + .comments__meta { + background-color: rgba(217, 237, 247, 1); + } + } + } + + &__meta { + border-radius: 5px 5px 0 0; + min-height: 37px; + line-height: 37px; + padding-left: 45px; + background: rgba(217, 237, 247, 0.6); + color: $black; + padding-right: 15px; + a { + font-weight: 700; + color: $black; + &:hover { + color: $red; + } + } + + &--only { + border-radius: 5px; + } + } + + &__content { + border-radius: 0 0 5px 5px; + background-color: rgba(255, 255, 255, 0.8); + padding: 15px 15px 15px 45px; + } + + &__avatar { + position: absolute; + height: 54px; + width: 54px; + background-position: center center; + background-size: cover; + border: 2px solid #fff; + border-radius: 35px; + left: -29px; + top: 15px; + transition: all .8s ease; + } + + &__captcha { + height: 30px; + } + + &__reply { + border-radius: 5px; + margin: 15px auto 0 + } +} + +.comment-body-ref { + right: 0; + position: absolute; + left: 64px; + + .breadcrumb { + display: none; + } +} + +.form { + input, + textarea { + border: 1px solid #d1d5da; + background-color: #fafafa; + border-radius: 3px; + box-shadow: inset 0 1px 2px rgba(27, 31, 35, .075); + padding: 7px 8px; + width: 100%; + line-height: 17px; + box-sizing: border-box; + + &:focus { + background-color: #fff; + box-shadow: inset 0 1px 2px rgba(27, 31, 35, .075), 0 0 0 0.2em #dbedff; + border: 1px solid #4285f4; + } + } + + .ft__red { + line-height: 34px; + } + + .btn { + float: right; + height: 34px; + margin: 0 0 0 10px; + padding: 0 15px; + } +} + @media (max-width: 768px) { .header__nav { display: none; diff --git a/nijigen/dynamic.ftl b/nijigen/dynamic.ftl index aac9525..250861c 100644 --- a/nijigen/dynamic.ftl +++ b/nijigen/dynamic.ftl @@ -30,32 +30,18 @@ <#include "header.ftl">
    +
    +
    + + ${blogTitle} +   >   + ${dynamicLabel} +
    +
    <#if 0 != recentComments?size> -
      +
        <#list recentComments as comment> <#include "common-comment.ftl"/> -
      • -
        -
        -
        -
        - <#if "http://" == comment.commentURL> - ${comment.commentName} - <#else> - ${comment.commentName} - - - ${viewLabel}» -
        -
        - ${comment.commentContent} -
        -
        -
        -
      diff --git a/nijigen/js/isotope.pkgd.js b/nijigen/js/isotope.pkgd.js new file mode 100644 index 0000000..b5f1f40 --- /dev/null +++ b/nijigen/js/isotope.pkgd.js @@ -0,0 +1,19 @@ +/* + * Solo - A small and beautiful blogging system written in Java. + * Copyright (c) 2010-2018, b3log.org & hacpai.com + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ +!function(t,e){"function"==typeof define&&define.amd?define("jquery-bridget/jquery-bridget",["jquery"],function(i){return e(t,i)}):"object"==typeof module&&module.exports?module.exports=e(t,require("jquery")):t.jQueryBridget=e(t,t.jQuery)}(window,function(t,e){"use strict";function i(i,s,a){function u(t,e,o){var n,s="$()."+i+'("'+e+'")';return t.each(function(t,u){var h=a.data(u,i);if(!h)return void r(i+" not initialized. Cannot call methods, i.e. "+s);var d=h[e];if(!d||"_"==e.charAt(0))return void r(s+" is not a valid method");var l=d.apply(h,o);n=void 0===n?l:n}),void 0!==n?n:t}function h(t,e){t.each(function(t,o){var n=a.data(o,i);n?(n.option(e),n._init()):(n=new s(o,e),a.data(o,i,n))})}(a=a||e||t.jQuery)&&(s.prototype.option||(s.prototype.option=function(t){a.isPlainObject(t)&&(this.options=a.extend(!0,this.options,t))}),a.fn[i]=function(t){if("string"==typeof t){return u(this,t,n.call(arguments,1))}return h(this,t),this},o(a))}function o(t){!t||t&&t.bridget||(t.bridget=i)}var n=Array.prototype.slice,s=t.console,r=void 0===s?function(){}:function(t){s.error(t)};return o(e||t.jQuery),i}),function(t,e){"function"==typeof define&&define.amd?define("ev-emitter/ev-emitter",e):"object"==typeof module&&module.exports?module.exports=e():t.EvEmitter=e()}("undefined"!=typeof window?window:this,function(){function t(){}var e=t.prototype;return e.on=function(t,e){if(t&&e){var i=this._events=this._events||{},o=i[t]=i[t]||[];return-1==o.indexOf(e)&&o.push(e),this}},e.once=function(t,e){if(t&&e){this.on(t,e);var i=this._onceEvents=this._onceEvents||{};return(i[t]=i[t]||{})[e]=!0,this}},e.off=function(t,e){var i=this._events&&this._events[t];if(i&&i.length){var o=i.indexOf(e);return-1!=o&&i.splice(o,1),this}},e.emitEvent=function(t,e){var i=this._events&&this._events[t];if(i&&i.length){var o=0,n=i[o];e=e||[];for(var s=this._onceEvents&&this._onceEvents[t];n;){var r=s&&s[n];r&&(this.off(t,n),delete s[n]),n.apply(this,e),o+=r?0:1,n=i[o]}return this}},t}),function(t,e){"use strict";"function"==typeof define&&define.amd?define("get-size/get-size",[],function(){return e()}):"object"==typeof module&&module.exports?module.exports=e():t.getSize=e()}(window,function(){"use strict";function t(t){var e=parseFloat(t);return-1==t.indexOf("%")&&!isNaN(e)&&e}function e(){}function i(){for(var t={width:0,height:0,innerWidth:0,innerHeight:0,outerWidth:0,outerHeight:0},e=0;e
    + <#include "side.ftl"> +
    +<#include "footer.ftl"> +<@comment_script oId=page.oId> + diff --git a/nijigen/tag-articles.ftl b/nijigen/tag-articles.ftl index f4ae0d1..604849f 100644 --- a/nijigen/tag-articles.ftl +++ b/nijigen/tag-articles.ftl @@ -20,27 +20,32 @@ <#include "macro-head.ftl"> - - <@head title="${tag.tagTitle} - ${blogTitle}"> - - - - - - <#include "header.ftl"> -
    -
    -
    -
    -

    -  ${tag.tagTitle} - ${tagLabel} -

    - <#include "article-list.ftl"> -
    - <#include "side.ftl"> + +<@head title="${tag.tagTitle} - ${blogTitle}"> + + + + + +<#include "header.ftl"> +
    +
    +
    +
    + + ${blogTitle} +   >   + + ${allTagsLabel} +   >   + ${tag.tagTitle} ${tagLabel}
    - <#include "footer.ftl"> - + <#include "article-list.ftl"> +
    + <#include "side.ftl"> +
    +<#include "footer.ftl"> + diff --git a/nijigen/tags.ftl b/nijigen/tags.ftl index 2372cf6..121ac22 100644 --- a/nijigen/tags.ftl +++ b/nijigen/tags.ftl @@ -20,45 +20,51 @@ <#include "macro-head.ftl"> - - <@head title="${allTagsLabel} - ${blogTitle}"> - - - - - - <#include "header.ftl"> -
    -
    -
    -
    -

    -   ${sumLabel} ${tags?size} ${tagLabel} -

    - -
    - <#include "side.ftl"> + +<@head title="${allTagsLabel} - ${blogTitle}"> + + + + + +<#include "header.ftl"> +
    +
    +
    +
    + + ${blogTitle} +   >   + ${sumLabel} ${tags?size} ${tagLabel}
    - <#include "footer.ftl"> - - - + + +
    + <#include "side.ftl"> +
    +<#include "footer.ftl"> + + +