summaryrefslogtreecommitdiffstats
path: root/assets/css
diff options
context:
space:
mode:
authorEltrac Koalar <hi@guhub.cn>2020-10-07 20:40:09 +0800
committerEltrac Koalar <hi@guhub.cn>2020-10-07 20:40:09 +0800
commite6f3df7eaf6881a303358289dadb904824872d45 (patch)
tree57a98fea6448ee3b306af9f0127cd764697100a3 /assets/css
parent49506af621b073a3acd1cd53d54771d0695108ee (diff)
bring back the 1.x files to master
Diffstat (limited to 'assets/css')
-rw-r--r--assets/css/alertify.css85
-rw-r--r--assets/css/codestyle.css110
-rw-r--r--assets/css/gazeimg.css82
-rw-r--r--assets/css/hint.min.css5
-rw-r--r--assets/css/main/col.css8
-rw-r--r--assets/css/main/comment.css301
-rw-r--r--assets/css/main/component.css172
-rw-r--r--assets/css/main/element.css183
-rw-r--r--assets/css/main/miracles.min.css513
-rw-r--r--assets/css/main/nav.css386
-rw-r--r--assets/css/main/page.css235
-rw-r--r--assets/css/main/post.css471
-rw-r--r--assets/css/main/special.css372
-rw-r--r--assets/css/main/themes.css440
-rw-r--r--assets/css/nprogress.css1
-rw-r--r--assets/css/owo.min.css164
-rw-r--r--assets/css/setting.miracles.css218
17 files changed, 3746 insertions, 0 deletions
diff --git a/assets/css/alertify.css b/assets/css/alertify.css
new file mode 100644
index 0000000..32c4c42
--- /dev/null
+++ b/assets/css/alertify.css
@@ -0,0 +1,85 @@
+
+/**
+ * alertifyjs 1.13.1 http://alertifyjs.com
+ * AlertifyJS is a javascript framework for developing pretty browser dialogs and notifications.
+ * Copyright 2019 Mohammad Younes <Mohammad@alertifyjs.com> (http://alertifyjs.com)
+ * Licensed under GPL 3 <https://opensource.org/licenses/gpl-3.0>*/
+.alertify .ajs-dimmer{position:fixed;z-index:1981;top:0;right:0;bottom:0;left:0;padding:0;margin:0;background-color:#252525;opacity:.5}.alertify .ajs-modal{position:fixed;top:0;right:0;left:0;bottom:0;padding:0;overflow-y:auto;z-index:1981}.alertify .ajs-dialog{position:relative;margin:5% auto;min-height:110px;max-width:500px;padding:24px 24px 0 24px;outline:0;background-color:#fff}.alertify .ajs-dialog.ajs-capture:before{content:'';position:absolute;top:0;right:0;bottom:0;left:0;display:block;z-index:1}.alertify .ajs-reset{position:absolute!important;display:inline!important;width:0!important;height:0!important;opacity:0!important}.alertify .ajs-commands{position:absolute;right:4px;margin:-14px 24px 0 0;z-index:2}.alertify .ajs-commands button{display:none;width:10px;height:10px;margin-left:10px;padding:10px;border:0;background-color:transparent;background-repeat:no-repeat;background-position:center;cursor:pointer}.alertify .ajs-commands button.ajs-close{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAABZ0RVh0Q3JlYXRpb24gVGltZQAwNy8xMy8xNOrZqugAAAAcdEVYdFNvZnR3YXJlAEFkb2JlIEZpcmV3b3JrcyBDUzbovLKMAAAAh0lEQVQYlY2QsQ0EIQwEB9cBAR1CJUaI/gigDnwR6NBL/7/xWLNrZ2b8EwGotVpr7eOitWa1VjugiNB7R1UPrKrWe0dEAHBbXUqxMQbeewDmnHjvyTm7C3zDwAUd9c63YQdUVdu6EAJzzquz7HXvTiklt+H9DQFYaxFjvDqllFyMkbXWvfpXHjJrWFgdBq/hAAAAAElFTkSuQmCC)}.alertify .ajs-commands button.ajs-maximize{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAABZ0RVh0Q3JlYXRpb24gVGltZQAwNy8xMy8xNOrZqugAAAAcdEVYdFNvZnR3YXJlAEFkb2JlIEZpcmV3b3JrcyBDUzbovLKMAAAAOUlEQVQYlWP8//8/AzGAhYGBgaG4uBiv6t7eXkYmooxjYGAgWiELsvHYFMCcRX2rSXcjoSBiJDbAAeD+EGu+8BZcAAAAAElFTkSuQmCC)}.alertify .ajs-header{margin:-24px;margin-bottom:0;padding:16px 24px;background-color:#fff}.alertify .ajs-body{min-height:56px}.alertify .ajs-body .ajs-content{padding:16px 24px 16px 16px}.alertify .ajs-footer{padding:4px;margin-left:-24px;margin-right:-24px;min-height:43px;background-color:#fff}.alertify .ajs-footer .ajs-buttons.ajs-primary{text-align:right}.alertify .ajs-footer .ajs-buttons.ajs-primary .ajs-button{margin:4px}.alertify .ajs-footer .ajs-buttons.ajs-auxiliary{float:left;clear:none;text-align:left}.alertify .ajs-footer .ajs-buttons.ajs-auxiliary .ajs-button{margin:4px}.alertify .ajs-footer .ajs-buttons .ajs-button{min-width:88px;min-height:35px}.alertify .ajs-handle{position:absolute;display:none;width:10px;height:10px;right:0;bottom:0;z-index:1;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAABZ0RVh0Q3JlYXRpb24gVGltZQAwNy8xMS8xNEDQYmMAAAAcdEVYdFNvZnR3YXJlAEFkb2JlIEZpcmV3b3JrcyBDUzbovLKMAAAAQ0lEQVQYlaXNMQoAIAxD0dT7H657l0KX3iJuUlBUNOsPPCGJm7VDp6ryeMxMuDsAQH7owW3pyn3RS26iKxERMLN3ugOaAkaL3sWVigAAAABJRU5ErkJggg==);-webkit-transform:scaleX(1);transform:scaleX(1);cursor:se-resize}.alertify.ajs-no-overflow .ajs-body .ajs-content{overflow:hidden!important}.alertify.ajs-no-padding.ajs-maximized .ajs-body .ajs-content{left:0;right:0;padding:0}.alertify.ajs-no-padding:not(.ajs-maximized) .ajs-body{margin-left:-24px;margin-right:-24px}.alertify.ajs-no-padding:not(.ajs-maximized) .ajs-body .ajs-content{padding:0}.alertify.ajs-no-padding.ajs-resizable .ajs-body .ajs-content{left:0;right:0}.alertify.ajs-maximizable .ajs-commands button.ajs-maximize,.alertify.ajs-maximizable .ajs-commands button.ajs-restore{display:inline-block}.alertify.ajs-closable .ajs-commands button.ajs-close{display:inline-block}.alertify.ajs-maximized .ajs-dialog{width:100%!important;height:100%!important;max-width:none!important;margin:0 auto!important;top:0!important;left:0!important}.alertify.ajs-maximized.ajs-modeless .ajs-modal{position:fixed!important;min-height:100%!important;max-height:none!important;margin:0!important}.alertify.ajs-maximized .ajs-commands button.ajs-maximize{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAABZ0RVh0Q3JlYXRpb24gVGltZQAwNy8xMy8xNOrZqugAAAAcdEVYdFNvZnR3YXJlAEFkb2JlIEZpcmV3b3JrcyBDUzbovLKMAAAASklEQVQYlZWQ0QkAMQhDtXRincOZX78KVtrDCwgqJNEoIB3MPLj7lRUROlpyVXGzby6zWuY+kz6tj5sBMTMAyVV3/595RbOh3cAXsww1raeiOcoAAAAASUVORK5CYII=)}.alertify.ajs-maximized .ajs-dialog,.alertify.ajs-resizable .ajs-dialog{padding:0}.alertify.ajs-maximized .ajs-commands,.alertify.ajs-resizable .ajs-commands{margin:14px 24px 0 0}.alertify.ajs-maximized .ajs-header,.alertify.ajs-resizable .ajs-header{position:absolute;top:0;left:0;right:0;margin:0;padding:16px 24px}.alertify.ajs-maximized .ajs-body,.alertify.ajs-resizable .ajs-body{min-height:224px;display:inline-block}.alertify.ajs-maximized .ajs-body .ajs-content,.alertify.ajs-resizable .ajs-body .ajs-content{position:absolute;top:50px;right:24px;bottom:50px;left:24px;overflow:auto}.alertify.ajs-maximized .ajs-footer,.alertify.ajs-resizable .ajs-footer{position:absolute;left:0;right:0;bottom:0;margin:0}.alertify.ajs-resizable:not(.ajs-maximized) .ajs-dialog{min-width:548px}.alertify.ajs-resizable:not(.ajs-maximized) .ajs-handle{display:block}.alertify.ajs-movable:not(.ajs-maximized) .ajs-header{cursor:move}.alertify.ajs-modeless .ajs-dimmer,.alertify.ajs-modeless .ajs-reset{display:none}.alertify.ajs-modeless .ajs-modal{overflow:visible;max-width:none;max-height:0}.alertify.ajs-modeless.ajs-pinnable .ajs-commands button.ajs-pin{display:inline-block;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAABZ0RVh0Q3JlYXRpb24gVGltZQAwNy8xMy8xNOrZqugAAAAcdEVYdFNvZnR3YXJlAEFkb2JlIEZpcmV3b3JrcyBDUzbovLKMAAAAQklEQVQYlcWPMQ4AIAwCqU9u38GbcbHRWN1MvKQDhQFMEpKImGJA0gCgnYw0V0rwxseg5erT4oSkQVI5d9f+e9+xA0NbLpWfitPXAAAAAElFTkSuQmCC)}.alertify.ajs-modeless.ajs-unpinned .ajs-modal{position:absolute}.alertify.ajs-modeless.ajs-unpinned .ajs-commands button.ajs-pin{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAABZ0RVh0Q3JlYXRpb24gVGltZQAwNy8xMy8xNOrZqugAAAAcdEVYdFNvZnR3YXJlAEFkb2JlIEZpcmV3b3JrcyBDUzbovLKMAAAAO0lEQVQYlWP8//8/AzGAiShV6AqLi4txGs+CLoBLMYbC3t5eRmyaWfBZhwwYkX2NTxPRvibKjRhW4wMAhxkYGbLu3pEAAAAASUVORK5CYII=)}.alertify.ajs-modeless:not(.ajs-unpinned) .ajs-body{max-height:500px;overflow:auto}.alertify.ajs-basic .ajs-header{opacity:0}.alertify.ajs-basic .ajs-footer{visibility:hidden}.alertify.ajs-frameless .ajs-header{position:absolute;top:0;left:0;right:0;min-height:60px;margin:0;padding:0;opacity:0;z-index:1}.alertify.ajs-frameless .ajs-footer{display:none}.alertify.ajs-frameless .ajs-body .ajs-content{position:absolute;top:0;right:0;bottom:0;left:0}.alertify.ajs-frameless:not(.ajs-resizable) .ajs-dialog{padding-top:0}.alertify.ajs-frameless:not(.ajs-resizable) .ajs-dialog .ajs-commands{margin-top:0}.ajs-no-overflow{overflow:hidden!important;outline:0}.ajs-no-overflow.ajs-fixed{position:fixed;top:0;right:0;bottom:0;left:0;overflow-y:scroll!important}.ajs-no-selection,.ajs-no-selection *{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}@media screen and (max-width:568px){.alertify .ajs-dialog{min-width:150px}.alertify:not(.ajs-maximized) .ajs-modal{padding:0 5%}.alertify:not(.ajs-maximized).ajs-resizable .ajs-dialog{min-width:initial;min-width:auto}}@-moz-document url-prefix(){.alertify button:focus{outline:1px dotted #3593d2}}.alertify .ajs-dimmer,.alertify .ajs-modal{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);-webkit-transition-property:opacity,visibility;transition-property:opacity,visibility;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transition-duration:250ms;transition-duration:250ms}.alertify.ajs-hidden .ajs-dimmer,.alertify.ajs-hidden .ajs-modal{visibility:hidden;opacity:0}.alertify.ajs-in:not(.ajs-hidden) .ajs-dialog{-webkit-animation-duration:.5s;animation-duration:.5s}.alertify.ajs-out.ajs-hidden .ajs-dialog{-webkit-animation-duration:250ms;animation-duration:250ms}.alertify .ajs-dialog.ajs-shake{-webkit-animation-name:ajs-shake;animation-name:ajs-shake;-webkit-animation-duration:.1s;animation-duration:.1s;-webkit-animation-fill-mode:both;animation-fill-mode:both}@-webkit-keyframes ajs-shake{0%,100%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}20%,40%,60%,80%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}}@keyframes ajs-shake{0%,100%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}20%,40%,60%,80%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}}.alertify.ajs-slide.ajs-in:not(.ajs-hidden) .ajs-dialog{-webkit-animation-name:ajs-slideIn;animation-name:ajs-slideIn;-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1.275);animation-timing-function:cubic-bezier(.175,.885,.32,1.275)}.alertify.ajs-slide.ajs-out.ajs-hidden .ajs-dialog{-webkit-animation-name:ajs-slideOut;animation-name:ajs-slideOut;-webkit-animation-timing-function:cubic-bezier(.6,-.28,.735,.045);animation-timing-function:cubic-bezier(.6,-.28,.735,.045)}.alertify.ajs-zoom.ajs-in:not(.ajs-hidden) .ajs-dialog{-webkit-animation-name:ajs-zoomIn;animation-name:ajs-zoomIn}.alertify.ajs-zoom.ajs-out.ajs-hidden .ajs-dialog{-webkit-animation-name:ajs-zoomOut;animation-name:ajs-zoomOut}.alertify.ajs-fade.ajs-in:not(.ajs-hidden) .ajs-dialog{-webkit-animation-name:ajs-fadeIn;animation-name:ajs-fadeIn}.alertify.ajs-fade.ajs-out.ajs-hidden .ajs-dialog{-webkit-animation-name:ajs-fadeOut;animation-name:ajs-fadeOut}.alertify.ajs-pulse.ajs-in:not(.ajs-hidden) .ajs-dialog{-webkit-animation-name:ajs-pulseIn;animation-name:ajs-pulseIn}.alertify.ajs-pulse.ajs-out.ajs-hidden .ajs-dialog{-webkit-animation-name:ajs-pulseOut;animation-name:ajs-pulseOut}.alertify.ajs-flipx.ajs-in:not(.ajs-hidden) .ajs-dialog{-webkit-animation-name:ajs-flipInX;animation-name:ajs-flipInX}.alertify.ajs-flipx.ajs-out.ajs-hidden .ajs-dialog{-webkit-animation-name:ajs-flipOutX;animation-name:ajs-flipOutX}.alertify.ajs-flipy.ajs-in:not(.ajs-hidden) .ajs-dialog{-webkit-animation-name:ajs-flipInY;animation-name:ajs-flipInY}.alertify.ajs-flipy.ajs-out.ajs-hidden .ajs-dialog{-webkit-animation-name:ajs-flipOutY;animation-name:ajs-flipOutY}@-webkit-keyframes ajs-pulseIn{0%,100%,20%,40%,60%,80%{-webkit-transition-timing-function:cubic-bezier(.215,.61,.355,1);transition-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}20%{-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}40%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}60%{opacity:1;-webkit-transform:scale3d(1.03,1.03,1.03);transform:scale3d(1.03,1.03,1.03)}80%{-webkit-transform:scale3d(.97,.97,.97);transform:scale3d(.97,.97,.97)}100%{opacity:1;-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}@keyframes ajs-pulseIn{0%,100%,20%,40%,60%,80%{-webkit-transition-timing-function:cubic-bezier(.215,.61,.355,1);transition-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}20%{-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}40%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}60%{opacity:1;-webkit-transform:scale3d(1.03,1.03,1.03);transform:scale3d(1.03,1.03,1.03)}80%{-webkit-transform:scale3d(.97,.97,.97);transform:scale3d(.97,.97,.97)}100%{opacity:1;-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}@-webkit-keyframes ajs-pulseOut{20%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}50%,55%{opacity:1;-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}100%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}}@keyframes ajs-pulseOut{20%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}50%,55%{opacity:1;-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}100%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}}@-webkit-keyframes ajs-zoomIn{0%{opacity:0;-webkit-transform:scale3d(.25,.25,.25);transform:scale3d(.25,.25,.25)}100%{opacity:1;-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}@keyframes ajs-zoomIn{0%{opacity:0;-webkit-transform:scale3d(.25,.25,.25);transform:scale3d(.25,.25,.25)}100%{opacity:1;-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}@-webkit-keyframes ajs-zoomOut{0%{opacity:1;-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}100%{opacity:0;-webkit-transform:scale3d(.25,.25,.25);transform:scale3d(.25,.25,.25)}}@keyframes ajs-zoomOut{0%{opacity:1;-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}100%{opacity:0;-webkit-transform:scale3d(.25,.25,.25);transform:scale3d(.25,.25,.25)}}@-webkit-keyframes ajs-fadeIn{0%{opacity:0}100%{opacity:1}}@keyframes ajs-fadeIn{0%{opacity:0}100%{opacity:1}}@-webkit-keyframes ajs-fadeOut{0%{opacity:1}100%{opacity:0}}@keyframes ajs-fadeOut{0%{opacity:1}100%{opacity:0}}@-webkit-keyframes ajs-flipInX{0%{-webkit-transform:perspective(400px) rotate3d(1,0,0,90deg);transform:perspective(400px) rotate3d(1,0,0,90deg);-webkit-transition-timing-function:ease-in;transition-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-20deg);transform:perspective(400px) rotate3d(1,0,0,-20deg);-webkit-transition-timing-function:ease-in;transition-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotate3d(1,0,0,10deg);transform:perspective(400px) rotate3d(1,0,0,10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-5deg);transform:perspective(400px) rotate3d(1,0,0,-5deg)}100%{-webkit-transform:perspective(400px);transform:perspective(400px)}}@keyframes ajs-flipInX{0%{-webkit-transform:perspective(400px) rotate3d(1,0,0,90deg);transform:perspective(400px) rotate3d(1,0,0,90deg);-webkit-transition-timing-function:ease-in;transition-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-20deg);transform:perspective(400px) rotate3d(1,0,0,-20deg);-webkit-transition-timing-function:ease-in;transition-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotate3d(1,0,0,10deg);transform:perspective(400px) rotate3d(1,0,0,10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-5deg);transform:perspective(400px) rotate3d(1,0,0,-5deg)}100%{-webkit-transform:perspective(400px);transform:perspective(400px)}}@-webkit-keyframes ajs-flipOutX{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-20deg);transform:perspective(400px) rotate3d(1,0,0,-20deg);opacity:1}100%{-webkit-transform:perspective(400px) rotate3d(1,0,0,90deg);transform:perspective(400px) rotate3d(1,0,0,90deg);opacity:0}}@keyframes ajs-flipOutX{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-20deg);transform:perspective(400px) rotate3d(1,0,0,-20deg);opacity:1}100%{-webkit-transform:perspective(400px) rotate3d(1,0,0,90deg);transform:perspective(400px) rotate3d(1,0,0,90deg);opacity:0}}@-webkit-keyframes ajs-flipInY{0%{-webkit-transform:perspective(400px) rotate3d(0,1,0,90deg);transform:perspective(400px) rotate3d(0,1,0,90deg);-webkit-transition-timing-function:ease-in;transition-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-20deg);transform:perspective(400px) rotate3d(0,1,0,-20deg);-webkit-transition-timing-function:ease-in;transition-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotate3d(0,1,0,10deg);transform:perspective(400px) rotate3d(0,1,0,10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-5deg);transform:perspective(400px) rotate3d(0,1,0,-5deg)}100%{-webkit-transform:perspective(400px);transform:perspective(400px)}}@keyframes ajs-flipInY{0%{-webkit-transform:perspective(400px) rotate3d(0,1,0,90deg);transform:perspective(400px) rotate3d(0,1,0,90deg);-webkit-transition-timing-function:ease-in;transition-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-20deg);transform:perspective(400px) rotate3d(0,1,0,-20deg);-webkit-transition-timing-function:ease-in;transition-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotate3d(0,1,0,10deg);transform:perspective(400px) rotate3d(0,1,0,10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-5deg);transform:perspective(400px) rotate3d(0,1,0,-5deg)}100%{-webkit-transform:perspective(400px);transform:perspective(400px)}}@-webkit-keyframes ajs-flipOutY{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-15deg);transform:perspective(400px) rotate3d(0,1,0,-15deg);opacity:1}100%{-webkit-transform:perspective(400px) rotate3d(0,1,0,90deg);transform:perspective(400px) rotate3d(0,1,0,90deg);opacity:0}}@keyframes ajs-flipOutY{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-15deg);transform:perspective(400px) rotate3d(0,1,0,-15deg);opacity:1}100%{-webkit-transform:perspective(400px) rotate3d(0,1,0,90deg);transform:perspective(400px) rotate3d(0,1,0,90deg);opacity:0}}@-webkit-keyframes ajs-slideIn{0%{margin-top:-100%}100%{margin-top:5%}}@keyframes ajs-slideIn{0%{margin-top:-100%}100%{margin-top:5%}}@-webkit-keyframes ajs-slideOut{0%{margin-top:5%}100%{margin-top:-100%}}@keyframes ajs-slideOut{0%{margin-top:5%}100%{margin-top:-100%}}.alertify-notifier{position:fixed;width:0;overflow:visible;z-index:1982;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.alertify-notifier .ajs-message{position:relative;min-width:320px;max-width:90vw!important;max-height:0;padding:0;opacity:0;margin:0;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);-webkit-transition-duration:250ms;transition-duration:250ms;-webkit-transition-timing-function:linear;transition-timing-function:linear}.alertify-notifier .ajs-message.ajs-visible{-webkit-transition-duration:.5s;transition-duration:.5s;-webkit-transition-timing-function:cubic-bezier(.175,.885,.32,1.275);transition-timing-function:cubic-bezier(.175,.885,.32,1.275);opacity:1;max-height:100%;padding:15px;margin-top:10px}.alertify-notifier .ajs-message.ajs-success{background:rgba(91,189,114,.95)}.alertify-notifier .ajs-message.ajs-error{background:rgba(217,92,92,.95)}.alertify-notifier .ajs-message.ajs-warning{background:rgba(252,248,215,.95)}.alertify-notifier .ajs-message .ajs-close{position:absolute;top:0;right:0;width:16px;height:16px;cursor:pointer;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAABGdBTUEAALGPC/xhBQAAAFBJREFUGBl1j0EKADEIA+ve/P9f9bh1hEihNBfjVCO1v7RKVqJK4h8gM5cAPR42AkQEpSXPwMTyoi13n5N9YqJehm3Fnr7nL1D0ZEbD5OubGyC7a9gx+9eNAAAAAElFTkSuQmCC);background-repeat:no-repeat;background-position:center center;background-color:rgba(0,0,0,.5);border-top-right-radius:2px}.alertify-notifier.ajs-top{top:10px}.alertify-notifier.ajs-bottom{bottom:10px}.alertify-notifier.ajs-right{right:10px}.alertify-notifier.ajs-right .ajs-message{right:-320px}.alertify-notifier.ajs-right .ajs-message.ajs-visible{right:290px}.alertify-notifier.ajs-left{left:10px}.alertify-notifier.ajs-left .ajs-message{left:-300px}.alertify-notifier.ajs-left .ajs-message.ajs-visible{left:0}.alertify-notifier.ajs-center{left:50%}.alertify-notifier.ajs-center .ajs-message{-webkit-transform:translateX(-50%);transform:translateX(-50%)}.alertify-notifier.ajs-center .ajs-message.ajs-visible{left:50%;-webkit-transition-timing-function:cubic-bezier(.57,.43,.1,.65);transition-timing-function:cubic-bezier(.57,.43,.1,.65)}.alertify-notifier.ajs-center.ajs-top .ajs-message{top:-300px}.alertify-notifier.ajs-center.ajs-top .ajs-message.ajs-visible{top:0}.alertify-notifier.ajs-center.ajs-bottom .ajs-message{bottom:-300px}.alertify-notifier.ajs-center.ajs-bottom .ajs-message.ajs-visible{bottom:0}.ajs-no-transition.alertify .ajs-dialog,.ajs-no-transition.alertify .ajs-dimmer,.ajs-no-transition.alertify .ajs-modal{-webkit-transition:none!important;transition:none!important;-webkit-animation:none!important;animation:none!important}.ajs-no-transition.alertify-notifier .ajs-message{-webkit-transition:none!important;transition:none!important;-webkit-animation:none!important;animation:none!important}@media (prefers-reduced-motion:reduce){.alertify .ajs-dialog,.alertify .ajs-dimmer,.alertify .ajs-modal{-webkit-transition:none!important;transition:none!important;-webkit-animation:none!important;animation:none!important}.alertify-notifier .ajs-message{-webkit-transition:none!important;transition:none!important;-webkit-animation:none!important;animation:none!important}}
+
+/* alertify theme */
+/**
+ * alertifyjs 1.13.1 http://alertifyjs.com
+ * AlertifyJS is a javascript framework for developing pretty browser dialogs and notifications.
+ * Copyright 2019 Mohammad Younes <Mohammad@alertifyjs.com> (http://alertifyjs.com)
+ * Licensed under GPL 3 <https://opensource.org/licenses/gpl-3.0>*/
+/**
+ * alertifyjs 1.13.1 http://alertifyjs.com
+ * AlertifyJS is a javascript framework for developing pretty browser dialogs and notifications.
+ * Copyright 2019 Mohammad Younes <Mohammad@alertifyjs.com> (http://alertifyjs.com)
+ * Licensed under GPL 3 <https://opensource.org/licenses/gpl-3.0>*/
+
+.alertify .ajs-dimmer {
+ background-color: #000;
+ opacity: .5
+}
+
+.alertify .ajs-dialog {
+ max-width: 600px;
+ min-height: 122px;
+ background-color: #fff;
+ border: 1px solid rgba(0,0,0,.2);
+ -webkit-box-shadow: 0 5px 15px rgba(0,0,0,.3);
+ box-shadow: 0 5px 15px rgba(0,0,0,.3)
+}
+
+.alertify .ajs-header {
+ color: #333;
+ font-family: "Helvetica Neue",Helvetica,Arial,sans-serif;
+ font-size: 18px;
+ padding: 1.5em;
+ padding-bottom: .5em
+}
+
+.alertify .ajs-body {
+ font-family: Roboto,sans-serif;
+ color: #000
+}
+
+.alertify.ajs-maximized:not(.ajs-resizable) .ajs-content,.alertify.ajs-resizable .ajs-content {
+ top: 58px;
+ bottom: 68px
+}
+
+.alertify .ajs-footer {
+ background-color: #fff;
+ padding: 15px;
+ border-top: 1px solid #e5e5e5
+}
+
+.alertify-notifier .ajs-message {
+ background: rgba(50,50,50,.95);
+ color: #fff;
+ border-radius: 2px;
+ box-shadow: 0 2px 4px gray;
+ font-size: 0.94em
+}
+
+.alertify-notifier .ajs-message.ajs-success {
+ color: #fff;
+ background: rgba(91,189,114,.95);
+}
+
+.alertify-notifier .ajs-message.ajs-error {
+ color: #fff;
+ background: rgba(217,92,92,.95);
+}
+
+.alertify-notifier .ajs-message.ajs-warning {
+ background: rgba(252,248,215,.95);
+ border-color: #999
+}
+
+.ajs-button {
+ border: none;
+ border-radius: 3px
+}
diff --git a/assets/css/codestyle.css b/assets/css/codestyle.css
new file mode 100644
index 0000000..4c980d8
--- /dev/null
+++ b/assets/css/codestyle.css
@@ -0,0 +1,110 @@
+/* from https://github.com/atom/one-dark-syntax
+edited by Eltrac */
+.hljs {
+ display: block;
+ overflow-x: auto;
+ color: #abb2bf;
+ background: #2d2d2d!important;
+ font-family: 'Noto Sans SC',sans-serif!important;
+ font-size: .8em!important;
+ padding: 0!important;
+ margin: 0!important;
+ max-height: 90vh;
+ position: relative;
+ background: rgb(63,63,63)!important
+}
+
+.hljs::before {
+ content: '';
+ display: block;
+ height: 27px;
+ border-top-left-radius: 5px;
+ border-top-right-radius: 5px;
+ background: url('data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/2wBDAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/wAARCAAaAEMDAREAAhEBAxEB/8QAGwABAAICAwAAAAAAAAAAAAAAAAgKBgkCBAf/xAAkEAACAwEAAgIBBQEAAAAAAAACBAEDBQYABwgRIQkSFCIxFf/EAB0BAQACAgIDAAAAAAAAAAAAAAAHCAYJBAUBAgr/xAAmEQACAwACAQQCAgMAAAAAAAABAgMEBQAGEQcSEyEIFCIxQVFh/9oADAMBAAIRAxEAPwCvv4448cceOOPHHHjjjxxx4448cceOOZVwmIl0vccbzmmzKebv9Xz2JoOQQhKqWrrpotswZf1CaKL7LYIv6j+z7n8RPnA1bUtLL0rkCfJNUoXLUMZBIklr15JY0IH2fc6BfA+z5+uZR0fGpdj7r1Dr2lZNPO3u0dfxr9sMENWlqa1Sjash28qpggnkl9zAhfb5P0OWLMzhuNxucr5DN5fCV5etYVJwozFLc2+gQiuYcWuqsB6y0Y+2L3IvvasI7WLLbTMyp5PqaNm4dGa9ae8XMn7RnkWdXJ8gxurKYgp+kWP2KgAVFVQAPoXzej9Ox+ux9Szur4VbrKV1qnDGZUkzp4VQRkW600UiXZJVHmxPcE89mRnlsSSyu7toT+RXH4PBe6u/5TmIAMLN1Vrc9esysrRDUys/XuzKzMjOa8tl+7OriwztEFRG0ysgim1vTtG3rdayb94k2poJFmcj2tKYLE1dZ2AAHunSJZm8AKS5KgAgc0S/kJ1HC6J6zd96t1oImHnateWhXjdpI6KaeXQ1pc2N3Z3MeXYvTZyCR3kVKoWR2cMx3Zforek/We1xfsj3TuYuL0HsLL7weKwrNZNbQY5HGQ57E3C1MepkLBz3ugd271LNSusXYXwSUUZpov0amdev53997XQ3er9Ez79/N61b66d7QWnPLWj2r1jTv54qXniZWs182ChHOtRmMBl0RNNFJJHWeKTfxz63i2c7Y7FarVretBpjNqmxGkz0K8dStZM9dXBEUtuSy0ZnA+UJVMcbqjyrJIL9Xv0n6z3fjPve4W8XFzPZPB7vJf8AG6VVNZTb30ug6PM5vR5nRcqCu7WTBPUs3VqW5YsQuxrLETWqZ0RZjb8Ku+9rz/VXO6RDfv2+rdiz9n97KmnlmoZ0+bl2tSrq1YHZkpztPUTOleERpZS8q2FleKq0OV+vvW8Wz0212B61aDYy7VD9e4kaR2bUdu3DUmpzSKA08YjmNpFk9zRNXYxFFeYSVjODxEem7jjOc02ZSzeg6vncTQcgoCVEdXXTQbZgy/qM0UMWW/uL8D+z7n8RPm2Pcuz5uJsaNaP5rNDK0LteHwT8s9WpNPFH4H2ffJGq+B9nz45QDuGtbwepdo3KEAtXsbru3rUqpUsLNvOzLVytAVX+TCaaFI/aPs+7wPs8sc5fB8Xjc3Xx+ZyuAry9awqTgxlqW5t9A1xXMOLX1Wg9baMfbDDsXsNWEdrNttpmZa8bO5s3NFtezqX5dNpDL+8bUy2Uct7vMMiMrQKp+o44fZHGoCxqqqANHmh2/tOpuv2a/wBh2LHYHnayNg6FmO/DKzlwas8Ukb1I4yfEENUww10CxwRxxoqjQP8AI3jsDgPdnsHk+XgAwczWWtz16zKytCvUys/Xty6zMjsmvKZfuza4sM7RBWBtMrIIpvf6ea9/e6XgaumWa9ZqSLYkZQrTtVtWKiWWAAX3Wo4EsMVAUmUlQFIA3H+h/Z9juXpT0zse+WfYv508d2d0CPcfP0buZHoOqqiB9GCnFecxosbNYLRqqFQPE/M05K3OQkQEJgRAYFBAYzIkJDMSJCUTEiQzETExMTExExP354IBBBAIIIII8gg/RBB+iCP7HPZWZGV0ZkdGDI6kqysp8qysCCrKQCCCCCPIPnkxMz50e+MznK8CXOZ0WqVhVp6fTxLWujAawiuu2ywdCrHcZAYiSYfxm7WDibWyYtOwyjqf0t6rPcNv470MbOXajBZVKZJPllCmFrMaEk+Eisxqg/jGEUAC3mb+b/rpm9djwTd63oWYa61oezaWLJZ7EixoI45ZJBfiyLdhVClrF/HtS2HBltNPK8jvEjV1NHc039nYdY0dXVcY0NF9uwrmnHW7SvZZvtKZI7brTIzKf9mfxER9R5IMEENWCKtXiSGCCNIYYo1CpHHGoVERR9BVUAAf85VDU1NHb0r+xr3LGjqaluxf0L9uRprNy5blaaxZnlYlnlmldndj/ZJ8ADwOSH+NXy09z/FHotTe9T7aNSvQUq0dLy/QIFr8t0IIHdYgejngwk1S2iTDEKaWW/naVNLLSoufxW2aLYw9U/RrovrDmVM7uNCw8ua80mVr5tgUtfMayqLZWrZaKeF4bAiiM1W3WtVZHihlMHzQxSJkXTu99i6NbntYVmNUtqiXKVqL56VsRFjEZog8brJEXf45oZYZlV5EEnxyOrZh8nvnV78+WSuVj+ydPByeSxXY1UeK4nLaxubnYii1UNZ0dHT2tjTeoWvvoTnS1210AZb/AIC6xuNFd0npN+Pnpz6NzXL3Vqmjc2b9f9Oxvb1uG9qCkZEmalAa1ShSqV5JY45JxVpQyWWih/ZklWCER9h3T1N7T3tIK+xPVgoVpfnizc2B69P9j2sgnkEs1mxNKqMyRmaxIsQeT4lQySFodiRAQmBEBgUEBjMiQkMxIkJRMSJDMRMTExMTETE/fk3EBgVYAqQQQQCCCPBBB+iCPog/RHI9ZVdWR1DKwKsrAMrKw8FWB8gggkEEEEHweTIy/nb78zObr5+XuZ0WqVhVo6jUw7WukrGuuK67bLY0KsdxkBEZNnQxm7mLIm1s2LTsM4gs+h3RLOi1/wCHSrxPIZXzK11Ys5ize5lVTXa3DGST4jguRJGp9sQjUKBWDQ/EP0dv7r7P6m9RryztYl6/n60dfCdncvJGkZpSadWBmJCwUtStFAhEdZYY1RFiJq6uluaehs7DrOlq6rjGho6DlpXNOut2leyyxacyR23WmRmU/wCzM/X1H1HksVatajWr06cMdarVhjr14IlCRQwxKEjjRR9KqIoUD/Q5ZTOz6OTQp5eZVgo52dVgpUadaNYq9WrWjWKCCGNQFSOKNFRVH9Af5P3zoecjnM48cceOOPHHHjjjxxx4448cceOOPHHP/9k=') no-repeat;
+ background-color: rgb(63,63,63);
+ position: absolute;
+ top: 0;
+ left: 0;
+ right: 0;
+ width: 100%
+}
+
+.hljs::-webkit-scrollbar-corner {
+ background: 0 0
+}
+
+.hljs table,.hljs td,.hljs th {
+ border: none!important;
+ background: #2d2d2d;
+ line-height: 1.5;
+}
+
+.hljs tr:first-child hljs-line {
+ padding-top: 10px
+}
+
+.hljs tr:last-child hljs-line {
+ padding-bottom: 10px
+}
+
+.hljs-ln {
+ margin-top: 27px
+}
+
+.hljs-ln-numbers {
+ background: #414141!important;
+ padding: 0!important;
+ width: 30px!important;
+ text-align: center!important;
+ margin-left: 0!important;
+ color: #c8c8c8
+}
+
+.hljs-ln-code {
+ padding: 0 10px!important
+}
+
+.hljs-comment,.hljs-quote {
+ color: #5c6370;
+ font-style: italic
+}
+
+.hljs-doctag,.hljs-formula,.hljs-keyword {
+ color: #c678dd
+}
+
+.hljs-deletion,.hljs-name,.hljs-section,.hljs-selector-tag,.hljs-subst {
+ color: #e06c75
+}
+
+.hljs-literal {
+ color: #56b6c2
+}
+
+.hljs-addition,.hljs-attribute,.hljs-meta-string,.hljs-regexp,.hljs-string {
+ color: #98c379
+}
+
+.hljs-built_in,.hljs-class .hljs-title {
+ color: #e6c07b
+}
+
+.hljs-attr,.hljs-number,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-pseudo,.hljs-template-variable,.hljs-type,.hljs-variable {
+ color: #d19a66
+}
+
+.hljs-bullet,.hljs-link,.hljs-meta,.hljs-selector-id,.hljs-symbol,.hljs-title {
+ color: #61aeee
+}
+
+.hljs-emphasis {
+ font-style: italic
+}
+
+.hljs-strong {
+ font-weight: 700
+}
+
+.hljs-link {
+ text-decoration: underline
+}
diff --git a/assets/css/gazeimg.css b/assets/css/gazeimg.css
new file mode 100644
index 0000000..8198e7c
--- /dev/null
+++ b/assets/css/gazeimg.css
@@ -0,0 +1,82 @@
+/* ==================================================
+* GazeImg v1.4.1
+*
+* 采用 GPLv3 许可证供开源使用
+* 或用于商业用途的 GazeImg 商业许可证
+* 所有商业应用程序(包括您计划出售的网站,主题和应用程序)
+* 都需要具有商业许可证。
+*
+* Licensed GPLv3 for open source use
+* or GazeImg Commercial License for commercial use
+*
+* http://www.ganxiaozhe.com/p/gazeimg/
+* Copyright 2020 Ganxiaozhe
+*
+================================================== */
+img[data-giwait-text],img[data-gionload] {filter: brightness(.2);transition: filter 1s ease-in;}
+img[data-gazeimg],.gazeimg-content[data-rlong="n"] img {cursor: pointer;}
+.gazeimg-content[data-rlong="y"] img {cursor: zoom-in !important;}
+.gazeimg-content[data-gzoom="out"] img {cursor: zoom-out;}
+
+.gi-darken {
+ filter: brightness(1);animation:gia-darken 2s infinite linear alternate-reverse;
+ display: flex;align-items: center;justify-content: center;
+ vertical-align: top;overflow: hidden;position: relative;
+}
+.gi-darken.gi-failload {animation: none;}
+.gi-darken a {display: block;text-decoration: none;color: #fff !important;text-align: center;word-break: break-all;}
+@-webkit-keyframes gia-darken {to{filter: brightness(.75);}}
+@keyframes gia-darken {to{filter: brightness(.75);}}
+
+.gi-zoomIn {animation: gia-zoomIn 1s cubic-bezier(0, 0, 0, 1) 1;}
+@-webkit-keyframes gia-zoomIn{0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}50%{opacity:1}}
+@keyframes gia-zoomIn{0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}50%{opacity:1}}
+
+.gi-fadeIn {animation: gia-fadeIn 0.3s cubic-bezier(0, 0, 0, 1) 1;}
+@-webkit-keyframes gia-fadeIn{0%{opacity:0;}100%{opacity:1}}
+@keyframes gia-fadeIn{0%{opacity:0;}100%{opacity:1}}
+
+.gazeimg-nobar {overflow: hidden;height: auto;}
+.gazeimg-container {
+ position: fixed;left: 0;top: 0;height: 100%;width: 100%;
+ outline: none;z-index: 20020214;transition-duration: 0.35s;
+}
+.gazeimg-bg {
+ background: rgb(20,20,20);opacity: 0.9;
+ transition-property: opacity;transition-duration: inherit;transition-timing-function: cubic-bezier(.5, 0, .7, .7);
+}
+.gazeimg-bg,.gazeimg-inner {
+ position: absolute;top: 0;left: 0;bottom: 0;right: 0;
+}
+.gazeimg-stage {
+ direction: ltr;transform: translateZ(0);
+ width:100%;height:100%;padding:50px 0;
+}
+.gazeimg-content {
+ position: absolute;top:0;left:0;width:38px;height:38px;overflow: visible;
+ transform-origin: center;
+ transition: height 0.3s ease,width 0.3s ease;
+}
+.gazeimg-content img {
+ width:100%;height:100%;max-width:100%;max-height:100%;overflow: hidden;
+ position: absolute;top: 0;left: 0;
+ border:none;padding:0;margin:0;
+ user-select: none;-webkit-user-select: none;-moz-user-select: none;-ms-user-select: none;
+}
+.gazeimg-content .loader,.gilazy-loader {
+ display: block;width: 46px;height: 46px;
+ position: absolute;top:calc(50% - 23px);left:calc(50% - 23px);
+ border: 4px solid #f3f3f3;border-radius: 100%;
+ border-top: 4px solid transparent;
+ transition: border 0.3s ease;
+}
+
+.gi-spin {-webkit-animation:gi-spin 0.8s infinite linear;animation:gi-spin 0.8s infinite linear;}
+@-webkit-keyframes gi-spin{
+ 0%{-webkit-transform:rotate(0);transform:rotate(0);}
+ 100%{-webkit-transform:rotate(360deg);transform:rotate(360deg);}
+}
+@keyframes gi-spin{
+ 0%{-webkit-transform:rotate(0);transform:rotate(0);}
+ 100%{-webkit-transform:rotate(360deg);transform:rotate(360deg);}
+}
diff --git a/assets/css/hint.min.css b/assets/css/hint.min.css
new file mode 100644
index 0000000..904b688
--- /dev/null
+++ b/assets/css/hint.min.css
@@ -0,0 +1,5 @@
+/*! Hint.css - v2.6.0 - 2019-04-27
+* http://kushagragour.in/lab/hint/
+* Copyright (c) 2019 Kushagra Gour */
+
+[class*=hint--]{position:relative;display:inline-block;cursor:pointer!important;}[class*=hint--]:after,[class*=hint--]:before{position:absolute;-webkit-transform:translate3d(0,0,0);-moz-transform:translate3d(0,0,0);transform:translate3d(0,0,0);visibility:hidden;opacity:0;z-index:1000000;pointer-events:none;-webkit-transition:.3s ease;-moz-transition:.3s ease;transition:.3s ease;-webkit-transition-delay:0s;-moz-transition-delay:0s;transition-delay:0s}[class*=hint--]:hover:after,[class*=hint--]:hover:before{visibility:visible;opacity:1;-webkit-transition-delay:.1s;-moz-transition-delay:.1s;transition-delay:.1s}[class*=hint--]:before{content:'';position:absolute;background:0 0;border:6px solid transparent;z-index:1000001}[class*=hint--]:after{background:#383838;color:#fff;padding:8px 10px;font-size:12px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;line-height:12px;white-space:nowrap;text-shadow:0 -1px 0 #000;box-shadow:4px 4px 8px rgba(0,0,0,.3)}[class*=hint--][data-tooltip]:after{content:attr(data-tooltip)}[class*=hint--][data-hint]:after{content:attr(data-hint)}[data-tooltip='']:after,[data-tooltip='']:before,[data-hint='']:after,[data-hint='']:before{display:none!important}.hint--top-left:before,.hint--top-right:before,.hint--top:before{border-top-color:#383838}.hint--bottom-left:before,.hint--bottom-right:before,.hint--bottom:before{border-bottom-color:#383838}.hint--top:after,.hint--top:before{bottom:100%;left:50%}.hint--top:before{margin-bottom:-11px;left:calc(50% - 6px)}.hint--top:after{-webkit-transform:translateX(-50%);-moz-transform:translateX(-50%);transform:translateX(-50%)}.hint--top:hover:before{-webkit-transform:translateY(-8px);-moz-transform:translateY(-8px);transform:translateY(-8px)}.hint--top:hover:after{-webkit-transform:translateX(-50%) translateY(-8px);-moz-transform:translateX(-50%) translateY(-8px);transform:translateX(-50%) translateY(-8px)}.hint--bottom:after,.hint--bottom:before{top:100%;left:50%}.hint--bottom:before{margin-top:-11px;left:calc(50% - 6px)}.hint--bottom:after{-webkit-transform:translateX(-50%);-moz-transform:translateX(-50%);transform:translateX(-50%)}.hint--bottom:hover:before{-webkit-transform:translateY(8px);-moz-transform:translateY(8px);transform:translateY(8px)}.hint--bottom:hover:after{-webkit-transform:translateX(-50%) translateY(8px);-moz-transform:translateX(-50%) translateY(8px);transform:translateX(-50%) translateY(8px)}.hint--right:before{border-right-color:#383838;margin-left:-11px;margin-bottom:-6px}.hint--right:after{margin-bottom:-14px}.hint--right:after,.hint--right:before{left:100%;bottom:50%}.hint--right:hover:after,.hint--right:hover:before{-webkit-transform:translateX(8px);-moz-transform:translateX(8px);transform:translateX(8px)}.hint--left:before{border-left-color:#383838;margin-right:-11px;margin-bottom:-6px}.hint--left:after{margin-bottom:-14px}.hint--left:after,.hint--left:before{right:100%;bottom:50%}.hint--left:hover:after,.hint--left:hover:before{-webkit-transform:translateX(-8px);-moz-transform:translateX(-8px);transform:translateX(-8px)}.hint--top-left:after,.hint--top-left:before{bottom:100%;left:50%}.hint--top-left:before{margin-bottom:-11px;left:calc(50% - 6px)}.hint--top-left:after{-webkit-transform:translateX(-100%);-moz-transform:translateX(-100%);transform:translateX(-100%);margin-left:12px}.hint--top-left:hover:before{-webkit-transform:translateY(-8px);-moz-transform:translateY(-8px);transform:translateY(-8px)}.hint--top-left:hover:after{-webkit-transform:translateX(-100%) translateY(-8px);-moz-transform:translateX(-100%) translateY(-8px);transform:translateX(-100%) translateY(-8px)}.hint--top-right:after,.hint--top-right:before{bottom:100%;left:50%}.hint--top-right:before{margin-bottom:-11px;left:calc(50% - 6px)}.hint--top-right:after{-webkit-transform:translateX(0);-moz-transform:translateX(0);transform:translateX(0);margin-left:-12px}.hint--top-right:hover:after,.hint--top-right:hover:before{-webkit-transform:translateY(-8px);-moz-transform:translateY(-8px);transform:translateY(-8px)}.hint--bottom-left:after,.hint--bottom-left:before{top:100%;left:50%}.hint--bottom-left:before{margin-top:-11px;left:calc(50% - 6px)}.hint--bottom-left:after{-webkit-transform:translateX(-100%);-moz-transform:translateX(-100%);transform:translateX(-100%);margin-left:12px}.hint--bottom-left:hover:before{-webkit-transform:translateY(8px);-moz-transform:translateY(8px);transform:translateY(8px)}.hint--bottom-left:hover:after{-webkit-transform:translateX(-100%) translateY(8px);-moz-transform:translateX(-100%) translateY(8px);transform:translateX(-100%) translateY(8px)}.hint--bottom-right:after,.hint--bottom-right:before{top:100%;left:50%}.hint--bottom-right:before{margin-top:-11px;left:calc(50% - 6px)}.hint--bottom-right:after{-webkit-transform:translateX(0);-moz-transform:translateX(0);transform:translateX(0);margin-left:-12px}.hint--bottom-right:hover:after,.hint--bottom-right:hover:before{-webkit-transform:translateY(8px);-moz-transform:translateY(8px);transform:translateY(8px)}.hint--large:after,.hint--medium:after,.hint--small:after{white-space:normal;line-height:1.4em;word-wrap:break-word}.hint--small:after{width:80px}.hint--medium:after{width:150px}.hint--large:after{width:300px}.hint--error:after{background-color:#b34e4d;text-shadow:0 -1px 0 #592726}.hint--error.hint--top-left:before,.hint--error.hint--top-right:before,.hint--error.hint--top:before{border-top-color:#b34e4d}.hint--error.hint--bottom-left:before,.hint--error.hint--bottom-right:before,.hint--error.hint--bottom:before{border-bottom-color:#b34e4d}.hint--error.hint--left:before{border-left-color:#b34e4d}.hint--error.hint--right:before{border-right-color:#b34e4d}.hint--warning:after{background-color:#c09854;text-shadow:0 -1px 0 #6c5328}.hint--warning.hint--top-left:before,.hint--warning.hint--top-right:before,.hint--warning.hint--top:before{border-top-color:#c09854}.hint--warning.hint--bottom-left:before,.hint--warning.hint--bottom-right:before,.hint--warning.hint--bottom:before{border-bottom-color:#c09854}.hint--warning.hint--left:before{border-left-color:#c09854}.hint--warning.hint--right:before{border-right-color:#c09854}.hint--info:after{background-color:#3986ac;text-shadow:0 -1px 0 #1a3c4d}.hint--info.hint--top-left:before,.hint--info.hint--top-right:before,.hint--info.hint--top:before{border-top-color:#3986ac}.hint--info.hint--bottom-left:before,.hint--info.hint--bottom-right:before,.hint--info.hint--bottom:before{border-bottom-color:#3986ac}.hint--info.hint--left:before{border-left-color:#3986ac}.hint--info.hint--right:before{border-right-color:#3986ac}.hint--success:after{background-color:#458746;text-shadow:0 -1px 0 #1a321a}.hint--success.hint--top-left:before,.hint--success.hint--top-right:before,.hint--success.hint--top:before{border-top-color:#458746}.hint--success.hint--bottom-left:before,.hint--success.hint--bottom-right:before,.hint--success.hint--bottom:before{border-bottom-color:#458746}.hint--success.hint--left:before{border-left-color:#458746}.hint--success.hint--right:before{border-right-color:#458746}.hint--always:after,.hint--always:before{opacity:1;visibility:visible}.hint--always.hint--top:before{-webkit-transform:translateY(-8px);-moz-transform:translateY(-8px);transform:translateY(-8px)}.hint--always.hint--top:after{-webkit-transform:translateX(-50%) translateY(-8px);-moz-transform:translateX(-50%) translateY(-8px);transform:translateX(-50%) translateY(-8px)}.hint--always.hint--top-left:before{-webkit-transform:translateY(-8px);-moz-transform:translateY(-8px);transform:translateY(-8px)}.hint--always.hint--top-left:after{-webkit-transform:translateX(-100%) translateY(-8px);-moz-transform:translateX(-100%) translateY(-8px);transform:translateX(-100%) translateY(-8px)}.hint--always.hint--top-right:after,.hint--always.hint--top-right:before{-webkit-transform:translateY(-8px);-moz-transform:translateY(-8px);transform:translateY(-8px)}.hint--always.hint--bottom:before{-webkit-transform:translateY(8px);-moz-transform:translateY(8px);transform:translateY(8px)}.hint--always.hint--bottom:after{-webkit-transform:translateX(-50%) translateY(8px);-moz-transform:translateX(-50%) translateY(8px);transform:translateX(-50%) translateY(8px)}.hint--always.hint--bottom-left:before{-webkit-transform:translateY(8px);-moz-transform:translateY(8px);transform:translateY(8px)}.hint--always.hint--bottom-left:after{-webkit-transform:translateX(-100%) translateY(8px);-moz-transform:translateX(-100%) translateY(8px);transform:translateX(-100%) translateY(8px)}.hint--always.hint--bottom-right:after,.hint--always.hint--bottom-right:before{-webkit-transform:translateY(8px);-moz-transform:translateY(8px);transform:translateY(8px)}.hint--always.hint--left:after,.hint--always.hint--left:before{-webkit-transform:translateX(-8px);-moz-transform:translateX(-8px);transform:translateX(-8px)}.hint--always.hint--right:after,.hint--always.hint--right:before{-webkit-transform:translateX(8px);-moz-transform:translateX(8px);transform:translateX(8px)}.hint--rounded:after{border-radius:4px}.hint--no-animate:after,.hint--no-animate:before{-webkit-transition-duration:0s;-moz-transition-duration:0s;transition-duration:0s}.hint--bounce:after,.hint--bounce:before{-webkit-transition:opacity .3s ease,visibility .3s ease,-webkit-transform .3s cubic-bezier(.71,1.7,.77,1.24);-moz-transition:opacity .3s ease,visibility .3s ease,-moz-transform .3s cubic-bezier(.71,1.7,.77,1.24);transition:opacity .3s ease,visibility .3s ease,transform .3s cubic-bezier(.71,1.7,.77,1.24)}.hint--no-shadow:after,.hint--no-shadow:before{text-shadow:initial;box-shadow:initial} \ No newline at end of file
diff --git a/assets/css/main/col.css b/assets/css/main/col.css
new file mode 100644
index 0000000..d6c06d1
--- /dev/null
+++ b/assets/css/main/col.css
@@ -0,0 +1,8 @@
+@charset 'utf-8';
+/*
+ * The column
+ * Author: Bootstrap
+ * Modifier: Eltrac
+ * License: MIT
+ */
+.container{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:576px){.container{max-width:540px}}@media (min-width:768px){.container{max-width:720px}}@media (min-width:992px){.container{max-width:960px}}@media (min-width:1200px){.container{max-width:1140px}}.container-fluid{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{display:flex;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*=col-]{padding-right:0;padding-left:0}.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-auto,.col-lg,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-auto,.col-md,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-auto,.col-sm,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-auto,.col-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-auto{position:relative;width:100%;padding-right:15px;padding-left:15px}.col{flex-basis:0;flex-grow:1;max-width:100%}.col-auto{flex:0 0 auto;width:auto;max-width:100%}.col-1{flex:0 0 8.333333%;max-width:8.333333%}.col-2{flex:0 0 16.666667%;max-width:16.666667%}.col-3{flex:0 0 25%;max-width:25%}.col-4{flex:0 0 33.333333%;max-width:33.333333%}.col-5{flex:0 0 41.666667%;max-width:41.666667%}.col-6{flex:0 0 50%;max-width:50%}.col-7{flex:0 0 58.333333%;max-width:58.333333%}.col-8{flex:0 0 66.666667%;max-width:66.666667%}.col-9{flex:0 0 75%;max-width:75%}.col-10{flex:0 0 83.333333%;max-width:83.333333%}.col-11{flex:0 0 91.666667%;max-width:91.666667%}.col-12{flex:0 0 100%;max-width:100%}.order-first{order:-1}.order-last{order:13}.order-0{order:0}.order-1{order:1}.order-2{order:2}.order-3{order:3}.order-4{order:4}.order-5{order:5}.order-6{order:6}.order-7{order:7}.order-8{order:8}.order-9{order:9}.order-10{order:10}.order-11{order:11}.order-12{order:12}.offset-1{margin-left:8.333333%}.offset-2{margin-left:16.666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.333333%}.offset-5{margin-left:41.666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.333333%}.offset-8{margin-left:66.666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.333333%}.offset-11{margin-left:91.666667%}@media (min-width:576px){.col-sm{flex-basis:0;flex-grow:1;max-width:100%}.col-sm-auto{flex:0 0 auto;width:auto;max-width:100%}.col-sm-1{flex:0 0 8.333333%;max-width:8.333333%}.col-sm-2{flex:0 0 16.666667%;max-width:16.666667%}.col-sm-3{flex:0 0 25%;max-width:25%}.col-sm-4{flex:0 0 33.333333%;max-width:33.333333%}.col-sm-5{flex:0 0 41.666667%;max-width:41.666667%}.col-sm-6{flex:0 0 50%;max-width:50%}.col-sm-7{flex:0 0 58.333333%;max-width:58.333333%}.col-sm-8{flex:0 0 66.666667%;max-width:66.666667%}.col-sm-9{flex:0 0 75%;max-width:75%}.col-sm-10{flex:0 0 83.333333%;max-width:83.333333%}.col-sm-11{flex:0 0 91.666667%;max-width:91.666667%}.col-sm-12{flex:0 0 100%;max-width:100%}.order-sm-first{order:-1}.order-sm-last{order:13}.order-sm-0{order:0}.order-sm-1{order:1}.order-sm-2{order:2}.order-sm-3{order:3}.order-sm-4{order:4}.order-sm-5{order:5}.order-sm-6{order:6}.order-sm-7{order:7}.order-sm-8{order:8}.order-sm-9{order:9}.order-sm-10{order:10}.order-sm-11{order:11}.order-sm-12{order:12}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.333333%}.offset-sm-2{margin-left:16.666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.333333%}.offset-sm-5{margin-left:41.666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.333333%}.offset-sm-8{margin-left:66.666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.333333%}.offset-sm-11{margin-left:91.666667%}}@media (min-width:768px){.col-md{flex-basis:0;flex-grow:1;max-width:100%}.col-md-auto{flex:0 0 auto;width:auto;max-width:100%}.col-md-1{flex:0 0 8.333333%;max-width:8.333333%}.col-md-2{flex:0 0 16.666667%;max-width:16.666667%}.col-md-3{flex:0 0 25%;max-width:25%}.col-md-4{flex:0 0 33.333333%;max-width:33.333333%}.col-md-5{flex:0 0 41.666667%;max-width:41.666667%}.col-md-6{flex:0 0 50%;max-width:50%}.col-md-7{flex:0 0 58.333333%;max-width:58.333333%}.col-md-8{flex:0 0 66.666667%;max-width:66.666667%}.col-md-9{flex:0 0 75%;max-width:75%}.col-md-10{flex:0 0 83.333333%;max-width:83.333333%}.col-md-11{flex:0 0 91.666667%;max-width:91.666667%}.col-md-12{flex:0 0 100%;max-width:100%}.order-md-first{order:-1}.order-md-last{order:13}.order-md-0{order:0}.order-md-1{order:1}.order-md-2{order:2}.order-md-3{order:3}.order-md-4{order:4}.order-md-5{order:5}.order-md-6{order:6}.order-md-7{order:7}.order-md-8{order:8}.order-md-9{order:9}.order-md-10{order:10}.order-md-11{order:11}.order-md-12{order:12}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.333333%}.offset-md-2{margin-left:16.666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.333333%}.offset-md-5{margin-left:41.666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.333333%}.offset-md-8{margin-left:66.666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.333333%}.offset-md-11{margin-left:91.666667%}}@media (min-width:992px){.col-lg{flex-basis:0;flex-grow:1;max-width:100%}.col-lg-auto{flex:0 0 auto;width:auto;max-width:100%}.col-lg-1{flex:0 0 8.333333%;max-width:8.333333%}.col-lg-2{flex:0 0 16.666667%;max-width:16.666667%}.col-lg-3{flex:0 0 25%;max-width:25%}.col-lg-4{flex:0 0 33.333333%;max-width:33.333333%}.col-lg-5{flex:0 0 41.666667%;max-width:41.666667%}.col-lg-6{flex:0 0 50%;max-width:50%}.col-lg-7{flex:0 0 58.333333%;max-width:58.333333%}.col-lg-8{flex:0 0 66.666667%;max-width:66.666667%}.col-lg-9{flex:0 0 75%;max-width:75%}.col-lg-10{flex:0 0 83.333333%;max-width:83.333333%}.col-lg-11{flex:0 0 91.666667%;max-width:91.666667%}.col-lg-12{flex:0 0 100%;max-width:100%}.order-lg-first{order:-1}.order-lg-last{order:13}.order-lg-0{order:0}.order-lg-1{order:1}.order-lg-2{order:2}.order-lg-3{order:3}.order-lg-4{order:4}.order-lg-5{order:5}.order-lg-6{order:6}.order-lg-7{order:7}.order-lg-8{order:8}.order-lg-9{order:9}.order-lg-10{order:10}.order-lg-11{order:11}.order-lg-12{order:12}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.333333%}.offset-lg-2{margin-left:16.666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.333333%}.offset-lg-5{margin-left:41.666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.333333%}.offset-lg-8{margin-left:66.666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.333333%}.offset-lg-11{margin-left:91.666667%}}@media (min-width:1200px){.col-xl{flex-basis:0;flex-grow:1;max-width:100%}.col-xl-auto{flex:0 0 auto;width:auto;max-width:100%}.col-xl-1{flex:0 0 8.333333%;max-width:8.333333%}.col-xl-2{flex:0 0 16.666667%;max-width:16.666667%}.col-xl-3{flex:0 0 25%;max-width:25%}.col-xl-4{flex:0 0 33.333333%;max-width:33.333333%}.col-xl-5{flex:0 0 41.666667%;max-width:41.666667%}.col-xl-6{flex:0 0 50%;max-width:50%}.col-xl-7{flex:0 0 58.333333%;max-width:58.333333%}.col-xl-8{flex:0 0 66.666667%;max-width:66.666667%}.col-xl-9{flex:0 0 75%;max-width:75%}.col-xl-10{flex:0 0 83.333333%;max-width:83.333333%}.col-xl-11{flex:0 0 91.666667%;max-width:91.666667%}.col-xl-12{flex:0 0 100%;max-width:100%}.order-xl-first{order:-1}.order-xl-last{order:13}.order-xl-0{order:0}.order-xl-1{order:1}.order-xl-2{order:2}.order-xl-3{order:3}.order-xl-4{order:4}.order-xl-5{order:5}.order-xl-6{order:6}.order-xl-7{order:7}.order-xl-8{order:8}.order-xl-9{order:9}.order-xl-10{order:10}.order-xl-11{order:11}.order-xl-12{order:12}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.333333%}.offset-xl-2{margin-left:16.666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.333333%}.offset-xl-5{margin-left:41.666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.333333%}.offset-xl-8{margin-left:66.666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.333333%}.offset-xl-11{margin-left:91.666667%}}.main-container{margin:0 auto}@media (min-width:576px){.main-container{max-width:540px}}@media (min-width:768px){.main-container{max-width:720px}}@media (min-width:992px){.main-container{max-width:940px}}@media (min-width:1200px){.main-container{max-width:960px}} \ No newline at end of file
diff --git a/assets/css/main/comment.css b/assets/css/main/comment.css
new file mode 100644
index 0000000..7b23fb3
--- /dev/null
+++ b/assets/css/main/comment.css
@@ -0,0 +1,301 @@
+@charset 'utf-8';
+/*
+ * Style of comments
+ * Author: Eltrac
+ * License: MIT
+ */
+/* 评论 */
+.comment {
+ margin-top: 40px;
+ display: flex;
+ flex-direction: column-reverse;
+}
+.comment .row {
+ margin: -32px!important;
+}
+.comment-title {
+ margin: 60px 0;
+ margin-top: 100!important;
+ font-size: 26px;
+ text-align: center;
+}
+.comment-list,.comment-list li {
+ list-style-type: none
+}
+.comment-list {
+ margin-left: 0;
+}
+.comment-children {
+ margin-left: 20px;
+}
+.comment-children .comment-list {
+ margin: 0;
+}
+.comment-children .comment-body {
+ margin: 15px 0;
+ padding: 0;
+}
+.comment-body {
+ margin: 28px 0;
+ padding: 0;
+ position: relative;
+}
+.comment-body-inner {
+ display: flex;
+ flex-wrap: nowrap;
+}
+.comment-main,
+.comment-author-avatar {
+ margin: 0;
+ padding: 0;
+}
+.comment-author-avatar img {
+ border-radius: 10000px;
+ height: 50px;
+ width: 50px
+}
+.comment-author-info p {
+ margin: 0;
+ margin-top: 5px;
+ color: gray;
+ font-size: 15px
+}
+.comment-content p {
+ color: #000;
+ font-size: 16px;
+ word-break: break-all;
+ vertical-align: center;
+ padding: 10px 16px;
+ line-height: 1.5
+}
+.comment-content img {
+ max-width: 100%
+}
+.comment-meta {
+ font-size: 17px;
+ margin-left: 25px!important;
+}
+.comment-author {
+ font-size: 0.8em;
+ background: rgb(240,240,240);
+ border-radius: 3px;
+ padding: 2px 3px;
+ letter-spacing: 2px;
+ transition: all 0.2s;
+}
+.comment-author:hover {
+ background: rgb(235,235,235);
+}
+.bubble.comment-content {
+ background: rgb(238,238,238);
+ padding: 3px 8px;
+ padding-right: 12px;
+ padding-top: -3px;
+ border-radius: 4px;
+ min-width: 10px!important;
+ margin-left: 25px;
+ scroll-margin-top: 5em
+}
+.bubble.comment-content:before {
+ border-right-color: rgb(238,238,238);
+}
+.bubble.comment-content:hover {
+ transform: none;
+ box-shadow: 0 0 0 #fff;
+ -moz-box-shadow: 0 0 0 #fff;
+ -webkit-box-shadow: 0 0 0 #fff;
+}
+.comment-by-author > .comment-body-inner > .comment-main > .comment-meta > .comment-date:before {
+ color: gray;
+ font-size: 0.8em;
+ background: rgb(240,240,240);
+ border-radius: 3px;
+ padding: 2px 3px;
+ letter-spacing: 2px;
+ margin-right: 5px;
+}
+.comment-logined-sign {
+ margin: 0;
+ margin-left: -15px;
+}
+.at {
+ margin-left: 0;
+ color: gray;
+ margin-right: -10px;
+}
+.comment-children .comment-content {
+ padding: 15px 25px!important;
+}
+.comment-children .comment-content p {
+ display: inline;
+}
+.comment-reply a {
+ position: absolute;
+ top: 5px;
+ right: 4px;
+ display: inline-block;
+ font-size: 90%;
+ border-radius: 2px;
+ padding: 3px 4px;
+ transition: color 0.2s;
+ color: rgb(120,120,120);
+}
+.comment-reply a:hover {
+ color: rgb(150,150,150)
+}
+/* 评论按钮 */
+.comment-submit,
+.cancel-comment-reply a {
+ display: inline-block;
+ margin: 0;
+ border-radius: 4px;
+ border: none;
+ background: rgb(237,237,237);
+ padding: 10px 16px;
+ cursor: pointer;
+ transition: opacity .2s;
+ margin-top: -14px;
+ vertical-align: middle;
+ float: right;
+ transition: .2s;
+}
+.comment-submit:hover {
+ background: rgb(227,227,227)
+}
+.cancel-comment-reply a {
+ margin-left: 5px;
+ background: #DD4B39;
+ color: #fff!important
+}
+/* OwO */
+.owo-img {
+ height: 30px;
+ vertical-align: middle;
+ margin: 0 3px;
+ display: inline!important
+}
+.OwO {
+ margin: 0;
+ display: inline-block;
+ vertical-align: middle;
+}
+/* 评论表单 */
+#comment-form {
+ position: relative;
+ padding: 26px;
+ background: #fff;
+ box-sizing: border-box;
+ margin-bottom: 30px;
+}
+.comment-textarea {
+ width: 100%;
+ border: none;
+ max-width: 100%
+}
+.comment-input input {
+ display: block;
+ width: 100%;
+ border: none;
+ resize: none;
+ outline: none;
+ padding: 10px 5px;
+ transition: .2s;
+ margin-top: 10px;
+}
+.comment-input input,
+.comment-textarea {
+ background: none;
+ outline: none;
+ background-color: rgb(248,248,248);
+ border-radius: 3px;
+ padding: 8px 10px
+}
+
+#comment-form label {
+ display: none
+}
+.comment-pagenav {
+ margin-left: -40px;
+}
+.comment-pagenav li {
+ list-style-type: none;
+ display: inline-block;
+}
+.comment-pagenav li a {
+ background: #fff;
+ padding: 5px 13px;
+ margin-right: 5px;
+ box-shadow: 0 1px 4px #ccc;
+ -moz-box-shadow: 0 1px 4px #ccc;
+ -webkit-box-shadow: 0 1px 4px #ccc;
+ transition: all .2s;
+}
+.comment-pagenav li a:hover {
+ background: rgb(249,249,249);
+ box-shadow: 0 1px 8px #ccc;
+ -moz-box-shadow: 0 1px 8px #ccc;
+ -webkit-box-shadow: 0 1px 8px #ccc;
+}
+.comment-pagenav-icon {
+ margin: 0 -3px;
+}
+.comment-children {
+ margin-left: 30px
+}
+.comment-children .comment-children {
+ margin-left: 0!important
+}
+.comment-hidden {
+ margin: 0;
+ margin-top: 20px;
+ background: #f1f1f1;
+ padding: 20px;
+ text-align: center;
+ border-radius: 2px;
+}
+#response {
+ text-align: center;
+ margin-top: 60px;
+}
+.respond {
+ margin: 10px 0;
+}
+
+/* ===== 从左到右淡入 ===== */
+@keyframes fadein {
+ 0% {
+ opacity: 0;
+ transform: translateX(5vh);
+ }
+
+ 100% {
+ opacity: 1;
+ transform: translateX(0);
+ }
+}
+
+@-webkit-keyframes fadein {
+ 0% {
+ opacity: 0;
+ transform: translateX(5vh);
+ }
+
+ 100% {
+ opacity: 1;
+ transform: translateX(0);
+ }
+}
+
+.comment-animation-fadein {
+ animation: fadein;
+ animation-duration: 0.3s;
+ -webkit-animation: fadein 0.3s;
+}
+
+/* 发送评论时评论框样式 */
+.comment-form {
+ transition: opacity .2s;
+}
+.comment-sending {
+ opacity: 0.6;
+} \ No newline at end of file
diff --git a/assets/css/main/component.css b/assets/css/main/component.css
new file mode 100644
index 0000000..b8689ae
--- /dev/null
+++ b/assets/css/main/component.css
@@ -0,0 +1,172 @@
+@charset 'utf-8';
+/*
+ * Style of some component
+ * Author: Eltrac
+ * License: MIT
+ */
+/* Button */
+button {
+ outline: none;
+ cursor: pointer
+}
+.button {
+ border: 3px solid #ccc;
+ border-radius: 30px;
+ padding: 8px 12px;
+ transition: all .2s;
+}
+.button:hover {
+ border-color: #000;
+ background: #000;
+ color: #fff
+}
+.button-sm {
+ padding: 3px 5px;
+}
+.button-md {
+ border: none;
+ border-radius: 3px;
+}
+.button-md:hover {
+ background: rgb(235,235,235);
+ color: #fff;
+}
+/* Alert */
+.alert {
+ bottom: 0;
+ left: 50%;
+ transform: translate(-50%, 0px);
+ z-index: 10;
+ padding: 1em;
+ position: fixed;
+ color: #fff;
+ background: rgba(50,50,50,.95);
+ border-radius: 2px;
+ margin: 0 auto 1em auto;
+ box-shadow: 0 2px 6px gray;
+ transition: .2s;
+}
+.alert.success {
+ background: #2ECC71;
+ color: #fff
+}
+.alert.failed {
+ background: #DD4B39;
+ color: #fff
+}
+.alert.adding {
+ -webkit-animation: slideDown 0.2s ease forwards;
+ animation: slideDown 0.3s ease forwards;
+}
+.alert.remove {
+ -webkit-animation: slideUp 0.2s ease forwards;
+ animation: slideUp 0.3s ease forwards;
+}
+@-webkit-keyframes slideDown {
+ 0%{
+ bottom: -100px;
+ }
+ 25%{
+ bottom: -50px;
+ }
+ 50%{
+ bottom: 0;
+ }
+ 100%{
+ bottom: 5px;
+ }
+}
+@-webkit-keyframes slideUp {
+ 0%{
+ bottom: 5px;
+ }
+ 25%{
+ bottom: 0;
+ }
+ 50%{
+ bottom: -50px;
+ }
+ 100%{
+ bottom: -100px;
+ }
+}
+
+
+/* Mask */
+.mask {
+ position: fixed;
+ top: 0;
+ bottom: 0;
+ left: 0;
+ right: 0;
+ background: rgb(70,70,70,0);
+ z-index: -100;
+ transition: background 0.4s;
+}
+.mask-open {
+ background: rgb(70,70,70,0.7);
+ z-index: 25;
+}
+/* Fixed Buttons */
+.fixed-button {
+ background: #fdfdfd;
+ font-size: 16px;
+ height: 3.5rem;
+ width: 3.5rem;
+ display: flex;
+ justify-content:center;
+ align-items:center;
+ border: none;
+ border-radius: 10000px;
+ box-shadow: 0 1px 5px #bababa;
+ -webkit-box-shadow: 0 1px 5px #bababa;
+ -moz-box-shadow: 0 1px 5px #bababa;
+ position: fixed;
+ cursor: pointer;
+ outline: 0;
+ right: 6px;
+ transition: all 0.3s;
+}
+.fixed-button:hover {
+ box-shadow: 0 3px 25px #bababa;
+ -webkit-box-shadow: 0 3px 25px #bababa;
+ -moz-box-shadow: 0 3px 25px #bababa;
+ background: rgb(248,248,248)!important;
+}
+.gotop-button {
+ bottom: 8px;
+ background: #fff!important;
+ color: rgb(80,80,80)!important;
+ right: 1rem;
+}
+/* Bubble */
+.bubble {
+ position: relative;
+ background: #f1f1f1;
+ border-radius: 2px;
+ padding: 0;
+ color: #000;
+ display: inline-block;
+ min-width: 180px;
+ transition: all 0.3s;
+}
+.bubble::before{
+ content: '';
+ position: absolute;
+ right: 100%;
+ top: 18px;
+ width: 0;
+ height: 0;
+ border-radius: 2px;
+ border-width: 9px;
+ border-style: solid;
+ border-color: transparent;
+ margin-bottom: -14px;
+ border-right-width: 18px;
+ border-right-color: currentColor;
+ color: #f1f1f1;
+}
+.bubble:hover {
+ transform: translateY(-6px);
+ box-shadow: 2px 8px 17px #bababa;
+} \ No newline at end of file
diff --git a/assets/css/main/element.css b/assets/css/main/element.css
new file mode 100644
index 0000000..b0d5979
--- /dev/null
+++ b/assets/css/main/element.css
@@ -0,0 +1,183 @@
+@charset 'utf-8';
+/*
+ * Style of all elements
+ * Author: Eltrac
+ * Used-by: Normalize
+ * License: MIT
+ */
+/* Normalize */
+html {
+ line-height: 1.15; /* 1 */
+ -webkit-text-size-adjust: 100%; /* 2 */
+}
+body {
+ margin: 0;
+}
+
+main {
+ display: block;
+}
+h1 {
+ font-size: 2em;
+ margin: 0.67em 0;
+}
+hr {
+ box-sizing: content-box; /* 1 */
+ height: 0; /* 1 */
+ overflow: visible; /* 2 */
+}
+pre {
+ font-family: monospace, monospace; /* 1 */
+ font-size: 1em; /* 2 */
+}
+a {
+ background-color: transparent;
+}
+abbr[title] {
+ border-bottom: none; /* 1 */
+ text-decoration: underline; /* 2 */
+ text-decoration: underline dotted; /* 2 */
+}
+b,
+strong {
+ font-weight: bolder;
+}
+code,
+kbd,
+samp {
+ font-family: monospace, monospace; /* 1 */
+ font-size: 1em; /* 2 */
+}
+small {
+ font-size: 80%;
+}
+sub,
+sup {
+ font-size: 75%;
+ line-height: 0;
+ position: relative;
+ vertical-align: baseline;
+}
+sub {
+ bottom: -0.25em;
+}
+sup {
+ top: -0.5em;
+}
+img {
+ border-style: none;
+}
+button,
+input,
+optgroup,
+select,
+textarea {
+ font-family: inherit; /* 1 */
+ font-size: 100%; /* 1 */
+ line-height: 1.15; /* 1 */
+ margin: 0; /* 2 */
+}
+button,
+input { /* 1 */
+ overflow: visible;
+}
+button,
+select { /* 1 */
+ text-transform: none;
+}
+button,
+[type="button"],
+[type="reset"],
+[type="submit"] {
+ -webkit-appearance: button;
+}
+button::-moz-focus-inner,
+[type="button"]::-moz-focus-inner,
+[type="reset"]::-moz-focus-inner,
+[type="submit"]::-moz-focus-inner {
+ border-style: none;
+ padding: 0;
+}
+button:-moz-focusring,
+[type="button"]:-moz-focusring,
+[type="reset"]:-moz-focusring,
+[type="submit"]:-moz-focusring {
+ outline: 1px dotted ButtonText;
+}
+fieldset {
+ padding: 0.35em 0.75em 0.625em;
+}
+legend {
+ box-sizing: border-box; /* 1 */
+ color: inherit; /* 2 */
+ display: table; /* 1 */
+ max-width: 100%; /* 1 */
+ padding: 0; /* 3 */
+ white-space: normal; /* 1 */
+}
+progress {
+ vertical-align: baseline;
+}
+textarea {
+ overflow: auto;
+}
+[type="checkbox"],
+[type="radio"] {
+ box-sizing: border-box; /* 1 */
+ padding: 0; /* 2 */
+}
+[type="number"]::-webkit-inner-spin-button,
+[type="number"]::-webkit-outer-spin-button {
+ height: auto;
+}
+[type="search"] {
+ -webkit-appearance: textfield; /* 1 */
+ outline-offset: -2px; /* 2 */
+}
+[type="search"]::-webkit-search-decoration {
+ -webkit-appearance: none;
+}
+::-webkit-file-upload-button {
+ -webkit-appearance: button; /* 1 */
+ font: inherit; /* 2 */
+}
+details {
+ display: block;
+}
+summary {
+ display: list-item;
+}
+template {
+ display: none;
+}
+[hidden] {
+ display: none;
+}
+/* Elements */
+* {
+ box-sizing: border-box
+}
+a {
+ text-decoration: none;
+ color: #000
+}
+html {
+ font-size: 16px;
+}
+body,html {
+ padding: 0;
+ margin: 0;
+ background: #fafafa;
+ overflow: auto;
+ transition: background 0.2s;
+ width: 100%
+}
+body {
+ font-family: 'Noto Sans SC',sans-serif;
+ transition: all 0.3s;
+}
+hr {
+ border: none;
+ border-bottom: 1px solid #ccc;
+ margin: 10px 0
+}
diff --git a/assets/css/main/miracles.min.css b/assets/css/main/miracles.min.css
new file mode 100644
index 0000000..884e3f0
--- /dev/null
+++ b/assets/css/main/miracles.min.css
@@ -0,0 +1,513 @@
+@charset 'utf-8';
+
+/*
+ * The main CSS file for Miracles
+ * Author: Eltrac
+ * License: MIT
+ */
+
+@import url("col.css");
+@import url("element.css");
+@import url("component.css");
+@import url("nav.css");
+@import url("post.css");
+@import url("page.css");
+@import url("comment.css");
+@import url("special.css");
+@import url("themes.css");
+
+/* iconfont */
+@font-face {
+ font-family: 'iconfont'; /* project id 1165190 */
+ src: url('//at.alicdn.com/t/font_1165190_1djdjjwge4m.eot');
+ src: url('//at.alicdn.com/t/font_1165190_1djdjjwge4m.eot?#iefix') format('embedded-opentype'),
+ url('//at.alicdn.com/t/font_1165190_1djdjjwge4m.woff2') format('woff2'),
+ url('//at.alicdn.com/t/font_1165190_1djdjjwge4m.woff') format('woff'),
+ url('//at.alicdn.com/t/font_1165190_1djdjjwge4m.ttf') format('truetype'),
+ url('//at.alicdn.com/t/font_1165190_1djdjjwge4m.svg#iconfont') format('svg');
+ }
+
+/* Varriable */
+:root {
+ --shadow-color: rgb(190,190,190);
+ scroll-behavior: smooth; /* 平滑滚动 */
+}
+
+::selection{
+ background: rgb(230,230,230);
+ color:black;
+}
+/* ScrollBar */
+::-webkit-scrollbar {
+ width: 6px;
+ height: 5px
+}
+::-webkit-scrollbar-button {
+ display: none
+}
+::-webkit-scrollbar-thumb {
+ background: rgb(120,120,120);
+ border-radius: 2px;
+ transition: .2s
+}
+::-webkit-scrollbar-thumb:hover {
+ background: rgb(100,100,100)
+}
+/* Selection */
+::-moz-selection,
+::-webkit-selection,
+::selection {
+ background-color: #f1f1f1
+}
+/* Responsive Web design */
+.large-screen {
+ display: none
+}
+.small-screen {
+ display: block
+}
+/* Mobile phone */
+@media (max-width:767px) {
+ .drawer {
+ width: 100vw;
+ }
+ .mobile-menu-close {
+ right: 20px;
+ left: auto;
+ }
+ .post-title{
+ font-size: 1.5rem;
+ }
+}
+/* > Pad and up */
+@media (min-width:768px) {
+ .header-meta-line-one,
+ .header-meta-line-two {
+ display: inline-block!important
+ }
+
+ .post-share .iconfont {
+ font-size: 30px;
+ }
+
+ .post-share .social-share.copyright i {
+ display: block;
+ }
+
+ .alert {
+ min-width: 300px;
+ max-width: 700px
+ }
+ .drawer-avatar img {
+ height: 160px;
+ width: 160px;
+ }
+ .drawer {
+ width: 360px;
+ left: -400px;
+ }
+ .drawer-content a {
+ font-size: 19px;
+ padding: 11px 0;
+ }
+ .drawer-main {
+ height: 87vh;
+ }
+ .drawer-footer {
+ height: 68px;
+ }
+ .drawer-header {
+ height: 220px;
+ }
+ .fixed-button {
+ height: 60px;
+ width: 60px;
+ }
+
+ .options {
+ width: 300px!important;
+ left: auto!important;
+ top: 90px;
+ right: 10px;
+ }
+
+ .options:before {
+ border-right: 8px solid transparent;
+ border-top: 16px solid rgb(254,254,254,0.96);
+ border-left: 8px solid transparent;
+ position: absolute;
+ top: 80px;
+ right: 40px;
+ }
+
+ .comment-content p {
+ font-size: 18px;
+ }
+
+ .comment-input input {
+ display: inline-block;
+ width: 33.23%;
+ padding: 10px 5px;
+ max-width: 100%;
+ }
+
+ .comment-input #url {
+ width: 32.39%;
+ }
+
+ .nav-content a {
+ font-size: 19px;
+ padding: 27.5px 8px
+ }
+
+ .index-banner {
+ text-align: left
+ }
+
+ .banner-content h1 {
+ font-size: 40px
+ }
+
+ .index-content {
+ margin: 10px 80px
+ }
+
+ .post-title {
+ margin: 25px 0;
+ margin-bottom: 10px;
+ font-size: 2rem;
+ }
+
+ .post-excerpt {
+ height: 38px
+ }
+
+ .post-banner-box,
+ .post-banner img {
+ height: 230px
+ }
+
+ .large-screen {
+ display: block
+ }
+
+ .small-screen {
+ display: none
+ }
+
+ .post-content {
+ padding: 36px;
+ padding-top: 25px;
+ font-size: 18px;
+ line-height: 26px;
+ letter-spacing: 2px
+ }
+
+ .page-content {
+ padding-bottom: 25px!important;
+ }
+
+ #comment-form {
+ padding: 36px;
+ }
+
+ .post-footer {
+ padding: 36px;
+ }
+
+ .fixed-button {
+ padding: 15px 20px;
+ right: 28px
+ }
+
+ .gotop-button {
+ bottom: 20px
+ }
+
+ .options-button {
+ bottom: 90px
+ }
+
+ .pio-container {
+ display: block
+ }
+
+ iframe[src*="//player.bilibili.com/player.html"] {
+ height: 390px
+ }
+ .search-form input,
+ .login-form input,
+ .login-form button {
+ width: 350px;
+ }
+ .post-list,
+ .post-body,
+ .saying-body {
+ margin-top: -130px
+ }
+ .links-container {
+ padding: 10px;
+ }
+ .comment-children {
+ margin-left: 80px;
+ }
+ .search-close,
+ .login-close,
+ .mobile-menu-close{
+ right: 20px;
+ left: auto;
+ }
+}
+/* Desktop and up */
+@media (min-width:992px) {
+ .drawer-content a {
+ font-size: 21px;
+ padding: 14px 0;
+ }
+ .drawer-avatar img {
+ height: 180px;
+ width: 180px;
+ }
+ .drawer-header {
+ height: 240px;
+ }
+
+ .comment-content p {
+ font-size: 19px;
+ }
+
+ .comment-input #url {
+ width: 32.47%;
+ }
+
+ .nav-content a {
+ font-size: 20px;
+ padding: 28px 8px
+ }
+
+ .index-banner {
+ text-align: left
+ }
+
+ .banner-content h1 {
+ font-size: 50px
+ }
+
+ .index-content {
+ margin: 10px 80px
+ }
+
+
+ .post-title {
+ margin: 30px 0;
+ margin-bottom: 25px
+ }
+
+ .post-excerpt {
+ height: 75px
+ }
+
+ .post-banner-box,
+ .post-banner img {
+ height: 280px
+ }
+
+ .large-screen {
+ display: block
+ }
+
+ .small-screen {
+ display: none
+ }
+
+ .post-content {
+ padding: 48px;
+ padding-top: 30px;
+ font-size: 18px;
+ line-height: 28px;
+ letter-spacing: 2px
+ }
+
+ .page-content {
+ padding-bottom: 30px!important;
+ }
+
+ #comment-form {
+ padding: 48px;
+ }
+
+ .post-footer {
+ padding: 48px;
+ }
+
+ .fixed-button {
+ padding: 18px 23px;
+ right: 38px
+ }
+
+ .gotop-button {
+ bottom: 40px
+ }
+
+ .options-button {
+ bottom: 120px
+ }
+
+ .pio-container {
+ display: block
+ }
+
+ iframe[src*="//player.bilibili.com/player.html"] {
+ height: 480px
+ }
+
+ .search-form input,
+ .login-form input,
+ .login-form button {
+ width: 400px;
+ }
+ .post-list,
+ .post-body,
+ .saying-body {
+ margin-top: -110px
+ }
+ .links-container {
+ padding: 12px;
+ }
+ #live2dcanvas {
+ display: block!important;
+ transform: scale(0.8)!important;
+ z-index: 0!important
+ }
+}
+/* Computer screen and up */
+@media (min-width:1200px) {
+ .login-entrance {
+ width: 250px!important;
+ display: block!important;
+ margin: 20px auto!important;
+ }
+
+ .drawer-header {
+ height: 250px;
+ }
+ .drawer-footer {
+ height: 65px;
+ position: absolute;
+ bottom: 0;
+ left: 0;
+ right: 0;
+ }
+ .drawer-avatar img {
+ height: 190px;
+ width: 190px;
+ }
+ .comment-content p {
+ font-size: 21px;
+ }
+ .comment-input #url {
+ width: 32.56%;
+ }
+ .nav-content a {
+ font-size: 20px;
+ padding: 28px 8px
+ }
+
+ .index-banner {
+ text-align: left
+ }
+
+ .banner-content h1 {
+ font-size: 50px
+ }
+
+ .index-content {
+ margin: 10px 100px
+ }
+
+ .post-title {
+ margin: 30px 0;
+ margin-bottom: 25px
+ }
+
+ .post-excerpt {
+ height: 72px
+ }
+
+ .large-screen {
+ display: block
+ }
+
+ .small-screen {
+ display: none
+ }
+
+ .post-content {
+ padding: 50px;
+ font-size: 20px;
+ line-height: 30px;
+ letter-spacing: 2px;
+ padding-top: 35px;
+ }
+ .page-content {
+ padding-bottom: 38px!important;
+ }
+
+ #comment-form {
+ padding: 50px;
+ }
+
+ .post-footer {
+ padding: 50px;
+ }
+
+ .fixed-button {
+ padding: 18px 23px;
+ right: 38px
+ }
+
+ .gotop-button {
+ bottom: 40px
+ }
+
+ .options-button {
+ bottom: 120px
+ }
+
+ .pio-container {
+ display: block
+ }
+
+ iframe[src*="//player.bilibili.com/player.html"] {
+ height: 550px
+ }
+ .search-form input,
+ .login-form input,
+ .login-form button {
+ width: 550px;
+ }
+ .post-list,
+ .post-body,
+ .saying-body {
+ margin-top: -125px
+ }
+ .links-container {
+ padding: 15px;
+ }
+ #live2dcanvas {
+ transform: scale(1);
+ }
+}
+/* 有 Drawer 时的设置面板 */
+.options-with-drawer {
+ background: rgb(246,246,246);
+ box-shadow: 0 0 0 #fff;
+ -moz-box-shadow: 0 0 0 #fff;
+ -webkit-box-shadow: 0 0 0 #fff;
+ width: 360px!important;
+ height: 210px!important;
+ top: auto!important;
+ right: auto!important;
+ bottom: 10vh!important;
+ z-index: 40!important;
+}
diff --git a/assets/css/main/nav.css b/assets/css/main/nav.css
new file mode 100644
index 0000000..41757e5
--- /dev/null
+++ b/assets/css/main/nav.css
@@ -0,0 +1,386 @@
+@charset 'utf-8';
+/*
+ * Style of the Nav.
+ * Author: Eltrac
+ * License: MIT
+ */
+/* Top Nav */
+.nav {
+ background: rgba(255,255,255,0.8);
+ backdrop-filter: blur(40px);
+ -webkit-backdrop-filter: blur(40px);
+ box-shadow: 0 0 10px rgb(180,180,180);
+ -webkit-box-shadow: 0 0 10px rgb(180,180,180);
+ -moz-box-shadow: 0 0 10px rgb(180,180,180);
+ width: 100%;
+ position: absolute;
+ display: table;
+ top: 0;
+ z-index: 10;
+ transition: all .2s;
+}
+.nav-aero {
+ background : transparent !important;
+ box-shadow : none !important;
+ backdrop-filter: none;
+ -webkit-backdrop-filter: none;
+ color: #fff
+}
+.nav-aero .nav-icon-button {
+ background: rgba(255,255,255,0.1);
+}
+.nav-aero .nav-icon-button:hover {
+ background: rgba(255,255,255,0.3);
+}
+
+.nav-content {
+ margin: 0;
+ display: table-cell;
+ vertical-align: middle;
+ height: 80px;
+ padding: 0;
+ white-space: nowrap;
+ overflow-x: auto;
+ overflow-y: hidden;
+ position: relative;
+}
+
+.nav-aero .nav-content a,
+.nav-aero .nav-mobile-content a{
+ color: #FFFFFF;
+}
+
+.nav-font-white,
+.nav-font-white .nav-content a,
+.nav-font-white .nav-mobile-content a {
+ color: #fff;
+}
+
+.nav-font-black,
+.nav-font-black .nav-content a,
+.nav-font-black .nav-mobile-content a {
+ color: #000!important
+}
+
+.nav-content a {
+ text-decoration: none;
+ color: #141414;
+ padding: 30px 8px;
+ transition: background .2s;
+ font-size: 16px
+}
+.nav-aero .nav-content a:hover,
+.nav-aero .nav-mobile-content a:hover,
+.nav-aero .nav-mobile-content button:hover,
+.nav-aero .nav-sorts-content {
+ background: rgba(250, 250, 250, 0.2);
+}
+.nav-content a:hover,
+.nav-mobile-content a:hover,
+.nav-mobile-content button:hover,
+.nav-sorts-content {
+ background: rgba(200,200,200,0.35);
+ backdrop-filter: blur(18px);
+ -webkit-backdrop-filter: blur(18px);
+}
+.nav-title {
+ color: #000;
+ font-weight: 700
+}
+.nav-fixed {
+ position: fixed!important
+}
+.nav-icon-button {
+ border-radius: 10000px;
+ border: none;
+ padding: 10px 12px;
+ background: rgba(250,250,250,.4);
+ transition: background .2s;
+ outline: 0;
+ position: absolute;
+ top: 20px;
+}
+.nav-mobile {
+ background: rgba(255,255,255,0.99);
+ word-break: keep-all;
+}
+.nav-mobile-content {
+ padding: 0 5px;
+}
+.nav-mobile-content a,
+.nav-mobile-content button {
+ margin: 0;
+ padding: 16px 10px;
+}
+.search-button { /* On the nav */
+ right: 20px;
+}
+.login-button { /* On the nav */
+ right: 65px;
+}
+.setting-button { /* On the nav */
+ right: 110px;
+}
+.nav-icon-button:hover,.search-close {
+ display: block;
+ background: rgb(230,230,230);
+ cursor: pointer
+}
+.nav-slideUp {
+ -webkit-transform: translateY(-100px);
+ transform: translateY(-100px);
+ transition: transform .2s ease-out;
+}
+.nav-slideDown {
+ -webkit-transform: translateY(0);
+ transform: translateY(0);
+ transition: transform .2s ease-out;
+}
+
+/* Drawer Nav */
+.drawer {
+ background: rgb(246,246,246);
+ border-right: 1px solid #ddd;
+ position: fixed;
+ top: 0;
+ bottom: 0;
+ z-index: 30;
+ transition: all 0.4s!important;
+ box-shadow: 0 0 30px #646464;
+ -moz-box-shadow: 0 0 30px #646464;
+ -webkit-box-shadow: 0 0 30px #646464;
+ /* Mobile */
+ width: 100%;
+ left: -120%;
+}
+.drawer-relative {
+ position: relative;
+ height: 100vh;
+}
+.drawer-avatar {
+ padding: 30px 0;
+}
+.drawer-avatar img {
+ display: block;
+ margin: 0 auto;
+ border-radius: 100%;
+ /* Mobile */
+ width: 120px;
+ height: 120px;
+}
+.drawer-button {
+ position: fixed;
+ top: 10px;
+ left: 15px;
+ background: rgba(0,0,0,0);
+ border-radius: 100%;
+ border: none;
+ height: 40px;
+ width: 40px;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ color: #fff;
+ text-shadow: 0 1px 6px #bababa;
+ transform: scale(1.2);
+ transition: background 0.3s;
+ padding: 3px;
+ outline: none;
+ transition: all 0.5s;
+}
+.drawer-button:hover {
+ cursor: pointer;
+ background: rgba(200,200,200,0.2);
+}
+.drawer-open .drawer {
+ left: 0;
+}
+.drawer-open .drawer-button {
+ left: 4px;
+ top: 4px;
+ color: rgb(80,80,80);
+ text-shadow: 0 0 0 #fff;
+}
+.drawer-header {
+ height: 180px;
+ background: rgb(253,253,253)
+}
+.drawer-footer {
+ background: rgb(253,253,253);
+ padding: 8px 0;
+ text-align: center;
+ height: 64px;
+ position: absolute;
+ bottom: 0;
+ left: 0;
+ right: 0;
+}
+.drawer-content {
+ margin-top: 10px;
+ overflow-y: auto;
+ height: 50vh;
+}
+.drawer-content a {
+ display: block;
+ text-align: center;
+ font-size: 16px;
+ padding: 14px 0;
+}
+.drawer-content a:hover {
+ background: rgb(240,240,240);
+}
+.drawer-icon {
+ display: inline-block;
+ height: 45px;
+ width: 45px;
+ border-radius: 100%;
+ background: rgb(246,246,246);
+ transition: background 0.2s;
+ margin: 0 3px;
+ border: none;
+ outline: none;
+ padding: 1px 6px;
+}
+.drawer-icon:hover {
+ background: rgb(240,240,240);
+}
+a.drawer-icon {
+ line-height: 2.55
+}
+
+/* Search/Login/Menu */
+.search,.login,.mobile-menu {
+ position: fixed;
+ top: 0;
+ bottom: 0;
+ right: 0;
+ left: 0;
+ max-height: 100vh;
+ background-color: rgba(255,255,255,0.96);
+ transition: all .2s;
+ z-index: 1000;
+}
+.search,.login {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ flex-flow: column;
+}
+.search.ready,
+.login.ready,
+.mobile-menu.ready {
+ bottom: 120vh;
+ top: -120vh;
+ visibility: hidden;
+}
+.search-close.ready,
+.login-close.ready,
+.mobile-menu-close.ready {
+ display: none
+}
+.search-close,
+.login-close,
+.mobile-menu-close {
+ position: fixed;
+ top: 20px;
+ left: 20px;
+ border: none;
+ background: 0 0
+}
+.search-form input,
+.login-form input,
+.login-form button {
+ width: 260px;
+}
+.login-enter-admin {
+ text-align: center;
+}
+.login-enter-admin a {
+ padding: 12px 16px;
+ border-radius: 3px;
+ background: rgb(240,240,240);
+ margin-top: 10px;
+
+}
+/* Menu */
+.mobile-menu-pagelist a {
+ display: block;
+ border-radius: 4px;
+ padding: 10px 5px;
+ text-align: center;
+ transition: all 0.2s;
+}
+.mobile-menu-pagelist a:hover {
+ background: rgb(240,240,240)
+}
+.mobile-menu-title {
+ text-align: center;
+ border-bottom: 1px solid rgb(220,220,220);
+ padding-bottom: 20px;
+}
+.mobile-menu-footer {
+ position: absolute;
+ text-align: center;
+ bottom: 10px;
+ right: 0;
+ left: 0;
+ border-top: 1px solid rgb(220,220,220);
+ padding-top: 10px;
+}
+/* Search */
+.search-form input {
+ border: 1px solid #bababa;
+ padding: 10px 25px;
+ border-radius: 80px
+}
+.search-form button {
+ padding: 10px 15px;
+ padding-top: 5px;
+ background: rgba(0,0,0,0);
+ border: none;
+ margin-left: -70px;
+}
+.search-close,
+.search-form button,
+.search-form input {
+ color: gray;
+ font-size: 30px;
+ outline: 0
+}
+/* Login */
+.login-form button,
+.login-form input {
+ display: block;
+ margin: 10px 0;
+ padding: 15px 20px;
+ outline: none;
+}
+.login-form input {
+ border-radius: 5px;
+ border: 1px solid #ccc;
+}
+.login-form button {
+ border-radius: 5px;
+ border: none;
+ background: rgb(240,240,240);
+}
+/* Alert if need-fresh */
+.login-form.need-refresh:before {
+ content: "因为 Pjax 的原因,登陆之前请先刷新页面,否则会导致登陆失败!";
+ background: #DD4B39;
+ padding: 18px 5px;
+ display: block;
+ position: fixed;
+ bottom: 0;
+ left: 0;
+ right: 0;
+ color: white;
+ text-align: center;
+ transition: all .2s;
+}
+/* 404 error page */
+.error-title {
+ text-align: center;
+ font-size: 100px;
+ text-shadow: 0 4px 12px #ccc;
+}
diff --git a/assets/css/main/page.css b/assets/css/main/page.css
new file mode 100644
index 0000000..730d135
--- /dev/null
+++ b/assets/css/main/page.css
@@ -0,0 +1,235 @@
+@charset 'utf-8';
+/*
+ * Style of Some parts of custom pages
+ * Author: Eltrac
+ * License: MIT
+ */
+/* About Page */
+.about-avatar img {
+ margin: 0 auto;
+ display: block;
+ padding: 2px;
+ border: 3px solid #ddd;
+ border-radius: 100%;
+ height: 200px;
+ width: 200px;
+}
+.about-name {
+ text-align: center;
+ font-size: 35px;
+ margin: 20px 0;
+ margin-bottom: 0;
+}
+.about-social {
+ text-align: center;
+ margin-top: 15px;
+}
+.about-social a {
+ transform: scale(1.2);
+ border-radius: 100%;
+ padding: 5px 10px;
+}
+.about-social a:hover {
+ background: rgb(246,246,246);
+}
+
+/* Tag List */
+.tags-list {
+ margin-left: -30px
+}
+
+.tags-item a {
+ background: rgb(240,240,240);
+ border-radius: 80px;
+ color: rgb(60,60,60);
+ padding: 6px 14px;
+ font-size: 15px;
+ transition: all .2s;
+ margin: 5px 3px;
+}
+.tags-item a:hover {
+ background: rgb(230,230,230);
+}
+.tags-item {
+ position: relative;
+ display: inline-block;
+ margin-top: 10px;
+}
+/* Archives 归档 */
+.archives-list {
+ list-style-type: none;
+ margin-left: -40px
+}
+.archives-list a {
+ display: block;
+ border-radius: 3px;
+ transition: background .2s;
+ padding: 6px 10px;
+ white-space:nowrap;
+ width: 100%;
+ overflow: hidden;
+ text-overflow:ellipsis;
+ white-space: nowrap;
+}
+.archives-list a:hover {
+ background: #e6e6e6
+}
+.archives-date,
+.archives-count {
+ color: gray!important;
+ letter-spacing: 0;
+}
+.archives-count {
+ margin-left: 5px
+}
+/* Links */
+.links-box {
+ margin: 10px;
+ margin-left: 0;
+ margin-top: 10px
+}
+.links-box h2 {
+ text-align: Center;
+ border-bottom: 1px solid #e6e6fa;
+ padding-bottom: 20px;
+ font-weight: 700;
+ color: black;
+}
+.links-link {
+ color: black!important;
+}
+.links-link:hover {
+ opacity: 1!important
+}
+.links-item {
+ background: #fff;
+ box-shadow: 0 1px 3px #ccc;
+ -webkit-box-shadow: 0 1px 3px #ccc;
+ -moz-box-shadow: 0 1px 3px #ccc;
+ overflow: hidden;
+ transition: all .2s!important;
+ margin-bottom: 5px;
+ border-radius: 3px
+}
+.links-item:hover {
+ transform: scale(1.05);
+ box-shadow: 0 6px 28px #ccc;
+ -webkit-box-shadow: 0 6px 28px #ccc;
+ -moz-box-shadow: 0 6px 28px #ccc;
+ transform: translateY(-6px)
+}
+.link-box a {
+ color: #000
+}
+.links-title {
+ text-align: center
+}
+.links-title h4 {
+ font-weight: 700;
+ letter-spacing: 2px;
+ white-space: nowrap;
+ font-size: 15px;
+ margin: 14px 0
+}
+.links-container {
+ padding: 6px;
+}
+.links-img {
+ padding: 0;
+ width: 100%;
+ height: 100%
+}
+.links-img img {
+ margin: 0;
+ width: 100%;
+ height: 100%;
+ object-fit: cover
+}
+
+/* Saying 说说 */
+.saying-meta {
+ color: gray!important;
+ margin-top: -5px!important;
+ line-height: 22px;
+}
+.saying-meta img {
+ float: left;
+ height: 45px;
+ width: 45px;
+ border-radius: 100%;
+ margin-right: 15px;
+ box-shadow: 1px 1px 2px #bababa;
+ webkit-box-shadow: 1px 1px 2px #bababa;
+ -moz-box-shadow: 1px 1px 2px #bababa;
+}
+.saying-author {
+ font-size: 18px;
+}
+.saying-hr {
+ border-bottom: 1px solid #ddd;
+}
+.saying-header.saying-inner {
+ padding-bottom: 0;
+}
+.saying-middle.saying-inner {
+ padding-top: 0;
+ padding-bottom: 10px;
+}
+.saying-form {
+ margin-bottom: -10px!important;
+}
+
+/* bangumi 追番 */
+.bangumi-item {
+ padding-top: 0;
+ padding-bottom: 0;
+ border: none;
+}
+.bangumi-link {
+ padding: 12px;
+ border: none
+}
+.bangumi-banner {
+ position: relative;
+ overflow: hidden
+}
+.bangumi-banner img {
+ width: 100%
+}
+.bangumi-des {
+ position: absolute;
+ top: 0;
+ bottom: 0;
+ left: 0;
+ right: 0;
+ background: rgba(255,255,255,0.8);
+ padding: 6px;
+ opacity: 0;
+ transition: .3s;
+ backdrop-filter: blur(4px);
+ -webkit-backdrop-filter: blur(4px);
+ overflow: auto
+}
+.bangumi-des p {
+ margin: 0
+}
+.bangumi-banner:hover .bangumi-des {
+ opacity: 1
+}
+.bangumi-title {
+ border: none!important;
+ text-align: center;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
+.bangumi-progress, .bangumi-progress-bar {
+ border-radius: 4px;
+ height: 8px
+}
+.bangumi-progress {
+ background: #ddd
+}
+.bangumi-progress-bar {
+ background: gray
+} \ No newline at end of file
diff --git a/assets/css/main/post.css b/assets/css/main/post.css
new file mode 100644
index 0000000..eb68783
--- /dev/null
+++ b/assets/css/main/post.css
@@ -0,0 +1,471 @@
+@charset 'utf-8';
+/*
+ * Style of Posts
+ * Author: Eltrac
+ * License: MIT
+ */
+/* 文章 */
+.post-list,
+.post-body,
+.saying-body {
+ margin-top: -70px!important;
+ transition: .8s;
+}
+.post-item {
+ margin-bottom: 5px;
+}
+.post-body,.post-item,.saying-item,#comment-form {
+ background: #fff;
+ box-shadow: 0 2px 10px var(--shadow-color);
+ -moz-box-shadow: 0 2px 10px var(--shadow-color);
+ -webkit-box-shadow: 0 2px 10px var(--shadow-color);
+ transition: background .1s
+}
+.post-banner-box {
+ height: 100%;
+ overflow: hidden;
+ padding: 0;
+}
+.post-banner img {
+ width: 100%;
+ height: 100%;
+ margin-right: -40px
+}
+.post-title {
+ margin-top: 30px;
+ transition: color .2s;
+ overflow: hidden;
+ height: 40px;
+ white-space: nowrap;
+ text-overflow: ellipsis
+}
+.post-excerpt {
+ overflow: hidden;
+ text-overflow: ellipsis
+}
+.post-meta,.post-meta a {
+ color: gray
+}
+.post-button-box {
+ margin-top: 15px
+}
+.post-button {
+ float: right
+}
+.post-footer {
+ color: #c8c8c8;
+ font-size: 14px;
+ padding: 26px;
+ padding-top: 0!important;
+}
+.post-tags a {
+ color: #bebebe;
+ padding: 2px 4px;
+ border-radius: 2px;
+ background: #f0f0f0;
+ transition: background .2s
+}
+.post-tags a:hover {
+ background: #f5f5f5
+}
+.post-share {
+ border-top: 1px solid rgb(230,230,230);
+ border-bottom: 1px solid rgb(230,230,230);
+ padding: 18px 0;
+ margin: 20px 0;
+ vertical-align:middle;
+}
+.post-share .social-share {
+ margin-right: 10px;
+ vertical-align:middle;
+ background: transparent;
+ border: none
+}
+.post-share .social-share i {
+ transition: color .2s
+}
+.post-share .social-share.qq:hover i {
+ color: rgb(2,83,218);
+}
+.post-share .social-share.weibo:hover i {
+ color: red;
+}
+.post-share .social-share.twitter:hover i {
+ color: rgb(29,161,242);
+}
+.post-share .social-share.qrcode:hover i {
+ color: #000
+}
+.post-share .social-share.copyright i {
+ float: right;
+ font-size: 20px;
+ margin-top: 7px;
+ margin-right: 17px;
+ cursor: pointer;
+ display: none/*移动端不显示*/
+}
+.post-share .social-share.qrcode {
+ margin-right: 3px
+}
+
+.post-share .iconfont {
+ color: rgb(200,200,200);
+ font-size: 25px;
+}
+.post-toc-link {
+ color: gray;
+ opacity: 0;
+ transition: .3s;
+ margin-left: 10px;
+}
+.post-content h2:hover .post-toc-link,
+.post-content h3:hover .post-toc-link {
+ opacity: 1
+}
+.post-qr {
+ background: #f1f1f1;
+ max-height: 0;
+ overflow: hidden;
+ transition: .6s
+}
+.post-qr-open {
+ max-height: 250px;
+ transition: .6s
+}
+.post-qr img {
+ display: block;
+ margin: 10px auto;
+ max-width: 200px
+}
+
+/* >文章内容 */
+.post-content,
+.saying-inner {
+ padding: 26px;
+ padding-bottom: 5px!important;
+ line-height: 28px;
+ letter-spacing: 2px;
+ word-break: break-all
+}
+.page-content {
+ padding-bottom: 30px;
+}
+.page-content {
+ padding-bottom: 26px!important;
+}
+.post-content h2 {
+ margin: 45px 0;
+ margin-bottom: 10px;
+}
+.post-content h3 {
+ border-left: 6px solid #4D90FE;
+ padding-left: 10px;
+}
+.post-content h1,
+.post-content h2,
+.post-content h3,
+.post-content h4,
+.post-content h5 {
+ scroll-margin-top: 5em
+}
+.post-content hr {
+ display: block;
+ margin: 20px auto;
+ width: 100%;
+ border: 2px dashed #f1f1f1
+}
+.post-content kbd {
+ display: inline-block;
+ padding: 3px 5px;
+ font: 0.84em sans-serif;
+ line-height: 15px;
+ color: #444d56;
+ vertical-align: middle;
+ background-color: #fafbfc;
+ border: solid 1px #d1d5da;
+ border-bottom-color: #c6cbd1;
+ border-radius: 3px;
+ -webkit-box-shadow: inset 0 -1px 0 #c6cbd1;
+ box-shadow: inset 0 -1px 0 #c6cbd1
+}
+.post-content code {
+ font-size: 0.95em;
+ background: #f0f0f0;
+ border-radius: 2px;
+ font-family: 'Noto Sans SC',sans-serif!important;
+ color: gray;
+ padding: 0 4px;
+ margin: 0 1px;
+}
+.post-content pre>code {
+ background: rgb(63,63,63)!important;
+ color: #fff!important;
+ text-indent: 0!important;
+ border-radius: 4px
+}
+.post-content img {
+ display: block;
+ border-radius: 3px;
+ max-width: 100%
+}
+.post-content img:not(.owo-img, .links-img img) {
+ margin: 25px auto;
+}
+.post-content blockquote p {
+ margin: 0
+}
+.post-content blockquote {
+ border-left: 5px solid #ddd;
+ padding-left: 10px;
+ margin-left: 0;
+ color: rgb(70,70,70);
+}
+.post-content table {
+ width: 100%;
+ border-left: 1px solid #ccc;
+ border-top: 2px solid #ccc;
+ border-spacing: 0
+}
+.post-content td,.post-content th {
+ border-right: 1px solid #ccc;
+ border-bottom: 1px solid #ccc;
+ padding: 6px 8px
+}
+.post-content th {
+ background: #fff!important
+}
+.post-content tr:nth-child(odd) {
+ background: #f5f5f5
+}
+.post-content a:not(.no-line) {
+ position: relative;
+ color: rgb(40,40,40);
+ border-bottom: 2px solid #f0f0f0;
+ transition: .2s
+}
+.post-content a:not(.no-line):hover {
+ opacity: 0.85
+}
+.post-content a:not(.no-line)::before {
+ content: '';
+ position: absolute;
+ bottom: -2px;
+ left: 0;
+ right: 0;
+ height: 2px;
+ background-color: #000;
+ transform-origin: bottom right;
+ transform: scaleX(0);
+ transition: transform .5s ease
+}
+.post-content a:not(.no-line):hover::before {
+ transform-origin: bottom left;
+ transform: scaleX(1);
+}
+.post-content p {
+ vertical-align: middle;
+}
+.post-content ul ul,
+.post-content ol ol,
+.post-content ol ul,
+.post-content ul ol {
+ margin-top: -15px;
+}
+.post-content .owo-img {
+ box-shadow: 0 0 0 #fff;
+ -moz-box-shadow: 0 0 0 #fff;
+ -webkit-box-shadow: 0 0 0 #fff;
+ display: inline;
+ vertical-align: middle;
+}
+.post-content ul li p,
+.post-content ol li p {
+ margin: 0!important
+}
+.post-content ul ul,
+.post-content ul ol,
+.post-content ol ol,
+.post-content ol ul {
+ margin-top: 0;
+}
+.post-content summary {
+ outline: none;
+ cursor: pointer;
+}
+.post-content summary:hover {
+ font-weight: bolder
+}
+/* 加密文章 */
+.post-content .protected {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+.post-content .protected .word:after {
+ content:":";
+}
+
+.post-content .protected .text {
+ border-top-left-radius: 3px;
+ border-bottom-left-radius: 3px;
+ margin-right: -7px;
+}
+
+.post-content .protected .submit {
+ border-top-right-radius: 3px;
+ border-bottom-right-radius: 3px;
+ margin-left: -7xp;
+ color: rgb(80,80,80);
+ background: rgb(237,237,237);
+ cursor: pointer;
+}
+
+.post-content .protected .submit:hover {
+ opacity: 0.8;
+}
+
+.post-content .protected .submit,
+.post-content .protected .text {
+ border: 1px solid #ccc;
+ padding: 8px 14px;
+ box-shadow: 0 1px 4px #ddd;
+ transition: .3s;
+}
+
+.post-content .protected {
+ margin: 20px 0;
+}
+
+/* >短代码 */
+.tip {
+ border: 1px solid rgb(235,235,235);
+ border-radius: 3px;
+ padding: 15px;
+ border-left: 5px solid gray;
+}
+.tip-icon {
+ color: gray;
+ display: none/*移动端不显示*/
+}
+.tip.red {
+ border-left-color: #DD4B39;
+}
+.tip.red .tip-icon {
+ color: #DD4B39;
+}
+.tip.blue {
+ border-left-color: #4D90FE;
+}
+.tip.blue .tip-icon {
+ color: #4D90FE;
+}
+.tip.green {
+ border-left-color: #2FBB4F;
+}
+.tip.green .tip-icon {
+ color: #2FBB4F;
+}
+.tip.yellow {
+ border-left-color: #FFDD11;
+}
+.tip.yellow .tip-icon {
+ color: #FFDD11;
+}
+.tip-group {
+ margin: 15px 0;
+}
+.tip-group .tip {
+ margin: 0;
+ margin-top: -1px;
+ border-radius: 0;
+}
+.tip-group br {
+ display: none;
+}
+.tip-group .tip br {
+ display: block;
+}
+@media (min-width:768px) {
+ .tip-icon {
+ display: block
+ }
+}
+.notice {
+ background: rgb(245,245,245);
+ padding: 15px 20px;
+ border-radius: 4px
+}
+.post-img-shadow {
+ padding: 5px 3px
+}
+.post-img-shadow img {
+ box-shadow: 0 8px 15px rgba(0,0,0,0.45);
+}
+.post-img-alt {
+ font-size: 0.9em;
+ color: gray
+}
+
+/* >文章分页 */
+.post-pagenav,
+.comment-pagenav {
+ margin-top: 40px;
+ margin-bottom: 60px
+}
+.post-pagenav a {
+ font-size: 20px;
+ background: #fff;
+ color: #000;
+ padding: 13px 20px;
+ transition: .2s;
+}
+.post-pagenav a:hover {
+ background: rgb(249,249,249);
+}
+.post-pagenav a,
+.comment-pagenav a {
+ border-radius: 10000px;
+ box-shadow: 0 0 10px #ccc;
+ -moz-box-shadow: 0 0 10px #ccc;
+ -webkit-box-shadow: 0 0 10px #ccc
+}
+.post-pagenav a:hover {
+ box-shadow: 0 0 25px #ccc;
+ -moz-box-shadow: 0 0 25px #ccc;
+ -webkit-box-shadow: 0 0 25px #ccc
+}
+.post-pagenav-left {
+ float: left
+}
+.post-pagenav-right {
+ float: right
+}
+.post-item-content{
+ padding: 0 35px 10px 35px;
+}
+
+/* 文章目录 **/
+
+.toc-box {
+ border: 1px solid #ddd;
+ background: rgb(245,245,245);
+ padding: 1em 2em;
+ border-radius: .2em
+}
+
+.toc-level-3 {
+ margin-left: 1em;
+}
+
+.toc-level-4 {
+ margin-left: 2em;
+}
+
+.toc-level-5 {
+ margin-left: 3em;
+}
+
+.toc-level-6 {
+ margin-left: 4em;
+} \ No newline at end of file
diff --git a/assets/css/main/special.css b/assets/css/main/special.css
new file mode 100644
index 0000000..0fea8cb
--- /dev/null
+++ b/assets/css/main/special.css
@@ -0,0 +1,372 @@
+@charset 'utf-8';
+/*
+ * Style of something special
+ * Author: Eltrac
+ * License: MIT
+ */
+/* Index Banner */
+.index-banner {
+ width: 100%;
+ min-height: 50vh;
+ text-align: center;
+ background-size: cover;
+ background-repeat: no-repeat;
+ background-position: 50% 50%;
+ background-color: #f1f1f1!important
+}
+.banner-mask {
+ width: 100%;
+ height: 100%;
+ background: rgba(30,30,30,.15);
+ z-index: 1;
+ color: #fff;
+ display: flex;
+ justify-content: center;
+ align-items: center
+}
+.banner-content {
+ vertical-align: middle
+}
+.banner-content h1 {
+ margin-bottom: 0
+}
+.banner-content .header-meta {
+ margin-top: 11px
+}
+.banner-content:not(.banner-font-black) a,
+.banner-mask:not(.banner-font-black) a {
+ color: white
+}
+.banner-font-black,
+.banner-font-black a {
+ color: black!important;
+}
+
+/* Font Size */
+.post-content,
+.comment-content p,
+.banner-content,
+.nav-content {
+ font-size: 100%!important;
+}
+
+/* Footer */
+.footer-info {
+ background: #f0f0f0;
+ color: #000;
+ text-align: center;
+ margin: 0;
+ margin-top: 50px!important;
+ padding: 25px 10px;
+ line-height: 26px;
+ width: 100%;
+ font-size: 12px;
+ font-size: 15px;
+ line-height: 18px;
+}
+.footer-dark a {
+ color: #000
+}
+.footer-info a {
+ color: #1e1e1e;
+ text-decoration: none;
+ transition: opacity .2s;
+ display: inline!important
+}
+.footer-info a:hover {
+ opacity: .9
+}
+/* Shadow */
+.no-shadow {
+ box-shadow: 0 0 0 #000!important;
+ -webkit-box-shadow: 0 0 0 #000!important;
+ -moz-box-shadow: 0 0 0 #000!important;
+}
+/* Header Meta */
+.header-meta a {
+ color: #fff;
+ text-decoration: none
+}
+/* Pio Plugin */
+.pio-container .pio-dialog {
+ margin-bottom: -60px;
+ border-color: rgba(255,255,255,.9);
+ border-radius: 4px;
+ text-shadow: 0 0 1px #bababa;
+ border: none;
+ background: rgba(255,255,255,.9);
+ box-shadow: 1px 1px 5px #bababa;
+ -moz-box-shadow: 1px 1px 5px #bababa;
+ -webkit-box-shadow: 1px 1px 5px #bababa
+}
+.pio-container {
+ display: none
+}
+/* Bilibili iframe */
+iframe[src*="//player.bilibili.com/player.html"] {
+ width: 100%;
+ height: 150px;
+ position: relative
+}
+/* Live2D */
+#live2dcanvas {
+ display: none;
+ transition: all 0.3s;
+ z-index: 0!important
+}
+/* Animation Helper */
+.fadeout {
+ opacity: 0;
+}
+.fadein {
+ opacity: 1;
+}
+/*底部动画字符*/
+.anime-face {
+ animation: anime-face 5s infinite ease-in-out;
+ display: inline-block;
+ margin: 0 5px;
+}
+@-webkit-keyframes anime-face {
+ 2%,24%,80% {
+ -webkit-transform: translate(0,1.5px) rotate(1.5deg);
+ transform: translate(0,1.5px) rotate(1.5deg)
+ }
+
+ 4%,68%,98% {
+ -webkit-transform: translate(0,-1.5px) rotate(-.5deg);
+ transform: translate(0,-1.5px) rotate(-.5deg)
+ }
+
+ 38%,6% {
+ -webkit-transform: translate(0,1.5px) rotate(-1.5deg);
+ transform: translate(0,1.5px) rotate(-1.5deg)
+ }
+
+ 8%,86% {
+ -webkit-transform: translate(0,-1.5px) rotate(-1.5deg);
+ transform: translate(0,-1.5px) rotate(-1.5deg)
+ }
+
+ 10%,72% {
+ -webkit-transform: translate(0,2.5px) rotate(1.5deg);
+ transform: translate(0,2.5px) rotate(1.5deg)
+ }
+
+ 12%,64%,78%,96% {
+ -webkit-transform: translate(0,-.5px) rotate(1.5deg);
+ transform: translate(0,-.5px) rotate(1.5deg)
+ }
+
+ 14%,54% {
+ -webkit-transform: translate(0,-1.5px) rotate(1.5deg);
+ transform: translate(0,-1.5px) rotate(1.5deg)
+ }
+
+ 16% {
+ -webkit-transform: translate(0,-.5px) rotate(-1.5deg);
+ transform: translate(0,-.5px) rotate(-1.5deg)
+ }
+
+ 18%,22% {
+ -webkit-transform: translate(0,.5px) rotate(-1.5deg);
+ transform: translate(0,.5px) rotate(-1.5deg)
+ }
+
+ 20%,36%,46% {
+ -webkit-transform: translate(0,-1.5px) rotate(2.5deg);
+ transform: translate(0,-1.5px) rotate(2.5deg)
+ }
+
+ 26%,50% {
+ -webkit-transform: translate(0,.5px) rotate(.5deg);
+ transform: translate(0,.5px) rotate(.5deg)
+ }
+
+ 28% {
+ -webkit-transform: translate(0,.5px) rotate(1.5deg);
+ transform: translate(0,.5px) rotate(1.5deg)
+ }
+
+ 30%,40%,62%,76%,88% {
+ -webkit-transform: translate(0,-.5px) rotate(2.5deg);
+ transform: translate(0,-.5px) rotate(2.5deg)
+ }
+
+ 32%,34%,66% {
+ -webkit-transform: translate(0,1.5px) rotate(-.5deg);
+ transform: translate(0,1.5px) rotate(-.5deg)
+ }
+
+ 42% {
+ -webkit-transform: translate(0,2.5px) rotate(-1.5deg);
+ transform: translate(0,2.5px) rotate(-1.5deg)
+ }
+
+ 44%,70% {
+ -webkit-transform: translate(0,1.5px) rotate(.5deg);
+ transform: translate(0,1.5px) rotate(.5deg)
+ }
+
+ 48%,74%,82% {
+ -webkit-transform: translate(0,-.5px) rotate(.5deg);
+ transform: translate(0,-.5px) rotate(.5deg)
+ }
+
+ 52%,56%,60% {
+ -webkit-transform: translate(0,2.5px) rotate(2.5deg);
+ transform: translate(0,2.5px) rotate(2.5deg)
+ }
+
+ 58% {
+ -webkit-transform: translate(0,.5px) rotate(2.5deg);
+ transform: translate(0,.5px) rotate(2.5deg)
+ }
+
+ 84% {
+ -webkit-transform: translate(0,1.5px) rotate(2.5deg);
+ transform: translate(0,1.5px) rotate(2.5deg)
+ }
+
+ 90% {
+ -webkit-transform: translate(0,2.5px) rotate(-.5deg);
+ transform: translate(0,2.5px) rotate(-.5deg)
+ }
+
+ 92% {
+ -webkit-transform: translate(0,.5px) rotate(-.5deg);
+ transform: translate(0,.5px) rotate(-.5deg)
+ }
+
+ 94% {
+ -webkit-transform: translate(0,2.5px) rotate(.5deg);
+ transform: translate(0,2.5px) rotate(.5deg)
+ }
+
+ 0%,100% {
+ -webkit-transform: translate(0,0) rotate(0);
+ transform: translate(0,0) rotate(0)
+ }
+}
+
+@keyframes anime-face {
+ 2%,24%,80% {
+ -webkit-transform: translate(0,1.5px) rotate(1.5deg);
+ transform: translate(0,1.5px) rotate(1.5deg)
+ }
+
+ 4%,68%,98% {
+ -webkit-transform: translate(0,-1.5px) rotate(-.5deg);
+ transform: translate(0,-1.5px) rotate(-.5deg)
+ }
+
+ 38%,6% {
+ -webkit-transform: translate(0,1.5px) rotate(-1.5deg);
+ transform: translate(0,1.5px) rotate(-1.5deg)
+ }
+
+ 8%,86% {
+ -webkit-transform: translate(0,-1.5px) rotate(-1.5deg);
+ transform: translate(0,-1.5px) rotate(-1.5deg)
+ }
+
+ 10%,72% {
+ -webkit-transform: translate(0,2.5px) rotate(1.5deg);
+ transform: translate(0,2.5px) rotate(1.5deg)
+ }
+
+ 12%,64%,78%,96% {
+ -webkit-transform: translate(0,-.5px) rotate(1.5deg);
+ transform: translate(0,-.5px) rotate(1.5deg)
+ }
+
+ 14%,54% {
+ -webkit-transform: translate(0,-1.5px) rotate(1.5deg);
+ transform: translate(0,-1.5px) rotate(1.5deg)
+ }
+
+ 16% {
+ -webkit-transform: translate(0,-.5px) rotate(-1.5deg);
+ transform: translate(0,-.5px) rotate(-1.5deg)
+ }
+
+ 18%,22% {
+ -webkit-transform: translate(0,.5px) rotate(-1.5deg);
+ transform: translate(0,.5px) rotate(-1.5deg)
+ }
+
+ 20%,36%,46% {
+ -webkit-transform: translate(0,-1.5px) rotate(2.5deg);
+ transform: translate(0,-1.5px) rotate(2.5deg)
+ }
+
+ 26%,50% {
+ -webkit-transform: translate(0,.5px) rotate(.5deg);
+ transform: translate(0,.5px) rotate(.5deg)
+ }
+
+ 28% {
+ -webkit-transform: translate(0,.5px) rotate(1.5deg);
+ transform: translate(0,.5px) rotate(1.5deg)
+ }
+
+ 30%,40%,62%,76%,88% {
+ -webkit-transform: translate(0,-.5px) rotate(2.5deg);
+ transform: translate(0,-.5px) rotate(2.5deg)
+ }
+
+ 32%,34%,66% {
+ -webkit-transform: translate(0,1.5px) rotate(-.5deg);
+ transform: translate(0,1.5px) rotate(-.5deg)
+ }
+
+ 42% {
+ -webkit-transform: translate(0,2.5px) rotate(-1.5deg);
+ transform: translate(0,2.5px) rotate(-1.5deg)
+ }
+
+ 44%,70% {
+ -webkit-transform: translate(0,1.5px) rotate(.5deg);
+ transform: translate(0,1.5px) rotate(.5deg)
+ }
+
+ 48%,74%,82% {
+ -webkit-transform: translate(0,-.5px) rotate(.5deg);
+ transform: translate(0,-.5px) rotate(.5deg)
+ }
+
+ 52%,56%,60% {
+ -webkit-transform: translate(0,2.5px) rotate(2.5deg);
+ transform: translate(0,2.5px) rotate(2.5deg)
+ }
+
+ 58% {
+ -webkit-transform: translate(0,.5px) rotate(2.5deg);
+ transform: translate(0,.5px) rotate(2.5deg)
+ }
+
+ 84% {
+ -webkit-transform: translate(0,1.5px) rotate(2.5deg);
+ transform: translate(0,1.5px) rotate(2.5deg)
+ }
+
+ 90% {
+ -webkit-transform: translate(0,2.5px) rotate(-.5deg);
+ transform: translate(0,2.5px) rotate(-.5deg)
+ }
+
+ 92% {
+ -webkit-transform: translate(0,.5px) rotate(-.5deg);
+ transform: translate(0,.5px) rotate(-.5deg)
+ }
+
+ 94% {
+ -webkit-transform: translate(0,2.5px) rotate(.5deg);
+ transform: translate(0,2.5px) rotate(.5deg)
+ }
+
+ 0%,100% {
+ -webkit-transform: translate(0,0) rotate(0);
+ transform: translate(0,0) rotate(0)
+ }
+} \ No newline at end of file
diff --git a/assets/css/main/themes.css b/assets/css/main/themes.css
new file mode 100644
index 0000000..3a32d7a
--- /dev/null
+++ b/assets/css/main/themes.css
@@ -0,0 +1,440 @@
+@charset 'utf-8';
+/*
+ * Fonts, Themes and filter
+ * Author: Eltrac
+ * License: MIT
+ */
+
+/**
+ * Font
+ */
+.body-serif {
+ font-family: 'Noto Serif SC',serif
+}
+
+/**
+ * Dark
+ */
+.body-dark,
+.body-dark .post-qr,
+.body-dark .login-form .btn,
+.body-dark .notice {
+ background: #4b4b4b;
+ color: #fafafa
+}
+.body-dark .login-form .btn {
+ background: rgb(70,70,70)!important;
+ transition: .3s
+}
+.body-dark .login-form .btn:hover {
+ opacity: 0.8
+}
+/* Post Content */
+.body-dark .post-content code {
+ background:#505050
+}
+.body-dark .post-content tr:nth-child(odd) {
+ background:#6e6e6e
+}
+.body-dark .post-content hr {
+ border: 3px dashed #787878!important
+}
+/* Pio Plugin */
+.body-dark .pio-container .pio-dialog {
+ color:#fff;
+ box-shadow:1px 1px 15px #505050;
+ -webkit-box-shadow:1px 1px 15px #505050;
+ -moz-box-shadow:1px 1px 15px #505050;
+ background:rgba(90,90,90,.9)
+}
+.body-dark .pio-action span {
+ background-color:rgba(90,90,90,.9)
+}
+/* Aplayer */
+.body-dark .aplayer,
+.body-dark .aplayer .aplayer-author,
+.body-dark .aplayer .aplayer-controller,
+.body-dark .aplayer .aplayer-icon,
+.body-dark .aplayer .aplayer-info,
+.body-dark .aplayer .aplayer-lrc-contents p,
+.body-dark .aplayer-list-author,
+.body-dark .aplayer-list-index {
+ color:#f0f0f0!important
+}
+.body-dark .aplayer {
+ background:#646464
+}
+.body-dark .aplayer .aplayer-list ol li:hover,
+.body-dark .aplayer-list-light {
+ background:#8c8c8c!important
+}
+.body-dark .aplayer .aplayer-lrc:after,
+.body-dark .aplayer .aplayer-lrc:before {
+ background:0 0;
+ background:0 0;
+ filter:none
+}
+.body-dark .aplayer .aplayer-list ol li {
+ border-color:#787878
+}
+.body-dark .aplayer-list::-webkit-scrollbar {
+ background:#6e6e6e!important
+}
+.body-dark .aplayer-list::-webkit-scrollbar-thumb {
+ background:#505050
+}
+.body-dark .aplayer-info {
+ border:none
+}
+.body-dark .aplayer .aplayer-icon {
+ filter:brightness(50%);
+ -webkit-filter:brightness(50%);
+}
+/* Nav/Search/login */
+.body-dark .nav {
+ background:rgba(50,50,50,.5) !important;
+ box-shadow: 0 0 15px rgb(60,60,60);
+ -webkit-box-shadow: 0 0 15px rgb(60,60,60);
+ -moz-box-shadow: 0 0 15px rgb(60,60,60);
+}
+.body-dark .mobile-menu-pagelist a:hover,
+.body-dark .nav a:hover,
+.body-dark .nav-mobile-title:hover {
+ backdrop-filter: blur(18px);
+ -webkit-backdrop-filter: blur(18px);
+ background: rgba(100,100,100,0.7)
+}
+.body-dark .nav-icon-button {
+ background:#5a5a5a
+}
+.body-dark .nav-icon-button {
+ color:#fff
+}
+.body-dark .nav-icon-button:hover,
+.body-dark .search-close {
+ background:#5a5a5a
+}
+.body-dark .login,
+.body-dark .mobile-menu,
+.body-dark .search,
+.body-dark .bangumi-des {
+ background:rgba(90,90,90,.95)
+}
+/* Bangumi */
+.body-dark .bangumi-progress {
+ background: gray
+}
+.body-dark .bangumi-progress-bar {
+ background: rgb(180,180,180)
+}
+
+/* Others */
+.body-dark .post-meta a {
+ color: gray!important
+}
+.body-dark .comment-reply a {
+ background: 0 0
+}
+.body-dark .footer-info {
+ background:#3c3c3c!important
+}
+/* Need shadow */
+.body-dark .options {
+ box-shadow:0 0 0 #fff;
+ -moz-box-shadow:0 0 0 #fff;
+ -webkit-box-shadow:0 0 0 #fff
+}
+.body-dark .bubble.saying-body:hover,
+.body-dark .comment-pagenav a,
+.body-dark .dark-button,
+.body-dark .options,
+.body-dark .post-body,
+.body-dark .saying-item,
+.body-dark .post-item,
+.body-dark .post-pagenav a,
+.body-dark #comment-form {
+ box-shadow:0 1px 10px #323232;
+ -moz-box-shadow:0 1px 10px #323232;
+ -webkit-box-shadow:0 1px 10px #323232
+}
+.body-dark .gotop-button,
+.body-dark .links-item,
+.body-dark .alert {
+ box-shadow:0 1px 3px #323232;
+ -moz-box-shadow:0 1px 3px #323232;
+ -webkit-box-shadow:0 1px 3px #323232
+}
+.body-dark .gotop-button:hover,
+.body-dark .links-item:hover {
+ box-shadow:0 4px 22px #323232;
+ -moz-box-shadow:0 4px 22px #323232;
+ -webkit-box-shadow:0 4px 22px #323232;
+}
+/* No Shadow */
+.body-dark .options-with-drawer {
+ box-shadow: 0 0 0 #fff;
+ -moz-box-shadow: 0 0 0 #fff;
+ -webkit-box-shadow: 0 0 0 #fff;
+}
+/* Need #646464 bg */
+.body-dark .archives-list a:hover,
+.body-dark .bubble.comment-content,
+.body-dark .bubble.saying-body,
+.body-dark .comment-author,
+.body-dark .comment-by-author .bubble.comment-content,
+.body-dark .comment-pagenav a,
+.body-dark .comment-submit button,
+.body-dark .drawer-content a:hover,
+.body-dark .drawer-footer,
+.body-dark .drawer-header,
+.body-dark .options-button-active,
+.body-dark .tags-item a,
+.body-dark .post-tags a,
+.body-dark .about-social a:hover,
+.body-dark .comment-hidden,
+.body-dark .comment-input input,
+.body-dark .comment-textarea {
+ background: #646464!important
+}
+/* Need #5a5a5a bg */
+.body-dark .OwO-body,
+.body-dark .OwO-logo,
+.body-dark .OwO-package-active,
+.body-dark .OwO-packages li:hover,
+.body-dark .comment-form input,
+.body-dark .comment-form textarea,
+.body-dark .saying-item textarea,
+.body-dark .comment-reply a:hover,
+.body-dark .dark-button,.body-dark .dialog,
+.body-dark .drawer,
+.body-dark .drawer-icon,
+.body-dark .gotop-button,.body-dark .links-item,
+.body-dark .options,
+.body-dark .options-family-button,
+.body-dark .options-theme-label,
+.body-dark .post-body,
+.body-dark .saying-item,
+.body-dark .post-content th,
+.body-dark .post-item,
+.body-dark .post-pagenav a,
+.body-dark .search-form input,
+.body-dark .login-form button,
+.body-dark #comment-form,
+.body-dark .comment-by-author > .comment-body-inner > .comment-main > .comment-meta > .comment-date:before {
+ background:#5a5a5a!important
+}
+/* Need #6e6e6e bg */
+.body-dark .OwO-bar,
+.body-dark .OwO-item,
+.body-dark .index-banner,
+.body-dark .login-enter-admin a,
+.body-dark .comment-submit,
+.body-dark .post-content kbd {
+ background-color:#6e6e6e!important
+}
+.body-dark .index-banner {
+ background-color: rgb(80,80,80)!important
+}
+/* Need white fonts */
+.body-dark .login-enter-admin,
+.body-darl .login-form button,
+.body-dark .OwO-bar,
+.body-dark .OwO-logo,
+.body-dark .comment,
+.body-dark .comment a,
+.body-dark .comment-content p,
+.body-dark .comment-form input,
+.body-dark .comment-form textarea,
+.body-dark .saying-item textarea,
+.body-dark .dark-button,
+.body-dark .drawer,
+.body-dark .drawer a,
+.body-dark .drawer-icon,
+.body-dark .drawer-open .drawer-button,
+.body-dark .footer-info,
+.body-dark .footer-info a,
+.body-dark .gotop-button,
+.body-dark .login,
+.body-dark .login-close,
+.body-dark .mobile-menu,
+.body-dark .mobile-menu a,
+.body-dark .mobile-menu-close,
+.body-dark .mobile-menu-footer,
+.body-dark .nav,
+.body-dark .nav a,
+.body-dark .options-contentsize-button,
+.body-dark .options-family-button,
+.body-dark .options-theme-item:hover .options-theme-label,
+.body-dark .post-body,
+.body-dark .saying-item,
+.body-dark .saying-item a,
+.body-dark .post-body a,
+.body-dark .post-content blockquote,
+.body-dark .post-item,
+.body-dark .post-item a,
+.body-dark .search-close,
+.body-dark .search-form button,
+.body-darl .login a,
+.body-dark .banner-content.banner-font-black,
+.body-dark .post-pagenav a,
+.body-dark .comment-submit,
+.body-dark .header-meta a,
+.body-dark .alert,
+.body-dark .respond input,
+.body-dark .respond textarea,
+.body-dark .login-enter-admin a,
+.body-dark .post-content kbd {
+ color:#fafafa!important
+}
+.body-dark .options-theme-label {
+ color:#5a5a5a!important
+}
+/* Need border color */
+.body-dark .OwO-body,
+.body-dark .OwO-logo,
+.body-dark .comment-form input,
+.body-dark .comment-form textarea,
+.body-dark .saying-item textarea,
+.body-dark .drawer,
+.body-dark .mobile-menu-footer,
+.body-dark .mobile-menu-title,
+.body-dark .options hr,
+.body-dark .post-content blockquote,
+.body-dark .post-content table,
+.body-dark .post-content td,
+.body-dark .post-content th,
+.body-dark .post-content tr,
+.body-dark .saying-hr,
+.body-dark .post-share,
+.body-dark .post-content kbd {
+ border-color:#6e6e6e!important
+}
+.body-dark .post-content kbd {
+ border-bottom-color: #6e6e6e!important
+}
+.body-dark .tip {
+ border-top-color:#6e6e6e!important;
+ border-bottom-color:#6e6e6e!important;
+ border-right-color:#6e6e6e!important
+}
+.body-dark .bubble.comment-content:before,
+.body-dark .bubble.saying-body:before,
+.body-dark .comment-by-author .bubble.comment-content:before {
+ border-right-color:#646464!important
+}
+/* Need darker mask */
+.body-dark .banner-mask {
+ background:rgba(10,10,10,.4)
+}
+/* Need filter */
+.body-dark img,
+.body-dark .links-img {
+ filter:brightness(80%)
+}
+.body-dark .aplayer-pic,
+.body-dark .post-banner,
+.body-dark iframe {
+ filter:brightness(72%)
+}
+/* Dark shade */
+.body-dark .dark-shade {
+ position:fixed;
+ width:100%;
+ height:100%;
+ background-color:#00000085;
+ z-index:100;
+ pointer-events:none
+}
+
+/**
+ * Gray
+ */
+.html-filter-gray {
+ filter: grayscale(100%);
+ -webkit-filter: grayscale(100%);
+ -moz-filter: grayscale(100%);
+ -ms-filter: grayscale(100%);
+ -o-filter: grayscale(100%);
+ filter:progid:DXImageTransform.Microsoft.BasicImage(grayscale=1);
+}
+
+/**
+ * Sepia
+ */
+.body-sepia,
+.body-sepia .drawer-content,
+.body-sepia .drawer-relative,
+.body-sepia .drawer-icon,
+.body-sepia .post-qr,
+.body-sepia .comment-input input,
+.body-sepia .comment-textarea {
+ background: rgb(248,241,228)!important
+}
+.body-sepia .nav {
+ background: rgba(250,241,228,0.5);
+}
+.body-sepia .post-body,
+.body-sepia .post-item,
+.body-sepia #comment-form,
+.body-sepia .drawer-header,
+.body-sepia .drawer-footer,
+.body-sepia .drawer-content a:hover,
+.body-sepia .login-enter-admin a {
+ background: rgb(245,238,218)
+}
+.body-sepia .banner-mask {
+ background: rgba(164,120,114,0.3)
+}
+.body-sepia img {
+ filter: sepia(20%);
+}
+.body-sepia .nav-icon-button {
+ background: rgba(248,241,228,0.9);
+}
+.body-sepia .nav-icon-button:hover {
+ background: rgba(248,241,228,0.7);
+}
+.body-sepia .search,
+.body-sepia .login,
+.body-sepia .mobile-menu,
+.body-sepia .bangumi-des {
+ background-color: rgba(248,241,228,0.98);
+}
+.body-sepia .search-form input {
+ background-color: rgba(245,241,228)
+}
+.body-sepia .footer-info,
+.body-sepia .index-banner,
+.body-sepia .links-item,
+.body-sepia .comment-meta span,
+.body-sepia .comment-by-author > .comment-body-inner > .comment-main > .comment-meta > .comment-date:before {
+ background-color: rgb(246,240,220)!important
+}
+.body-sepia .post-content h3 {
+ border-color: #DD4B39
+}
+.body-sepia .archives-list li a:hover,
+.body-sepia .tags-item a,
+.body-sepia .notice {
+ background: rgb(250,246,224)
+}
+.body-sepia .OwO-logo {
+ background: transparent
+}
+.body-sepia .OwO-logo:hover {
+ opacity: 0.9;
+ background: transparent
+}
+.body-sepia .fixed-button,
+.body-sepia .post-pagenav a,
+.body-sepia .post-content kbd {
+ background: rgb(250,246,224)!important
+}
+.body-sepia .comment-content,
+.body-sepia .login-form .btn,
+.body-sepia .post-tags a {
+ background-color: rgb(250,230,220)
+}
+.body-sepia .comment-content.bubble::before {
+ border-right-color: rgb(250,230,220)
+}
diff --git a/assets/css/nprogress.css b/assets/css/nprogress.css
new file mode 100644
index 0000000..da0cc85
--- /dev/null
+++ b/assets/css/nprogress.css
@@ -0,0 +1 @@
+#nprogress{pointer-events:none}#nprogress .bar{background:#29d;position:fixed;z-index:1031;top:0;left:0;width:100%;height:2px}#nprogress .peg{display:block;position:absolute;right:0;width:100px;height:100%;box-shadow:0 0 10px #29d,0 0 5px #29d;opacity:1;-webkit-transform:rotate(3deg) translate(0,-4px);-ms-transform:rotate(3deg) translate(0,-4px);transform:rotate(3deg) translate(0,-4px)}#nprogress .spinner{display:block;position:fixed;z-index:1031;top:15px;right:15px}#nprogress .spinner-icon{width:18px;height:18px;box-sizing:border-box;border:solid 2px transparent;border-top-color:#29d;border-left-color:#29d;border-radius:50%;-webkit-animation:nprogress-spinner .4s linear infinite;animation:nprogress-spinner .4s linear infinite}.nprogress-custom-parent{overflow:hidden;position:relative}.nprogress-custom-parent #nprogress .bar,.nprogress-custom-parent #nprogress .spinner{position:absolute}@-webkit-keyframes nprogress-spinner{0%{-webkit-transform:rotate(0)}100%{-webkit-transform:rotate(360deg)}}@keyframes nprogress-spinner{0%{transform:rotate(0)}100%{transform:rotate(360deg)}} \ No newline at end of file
diff --git a/assets/css/owo.min.css b/assets/css/owo.min.css
new file mode 100644
index 0000000..35363da
--- /dev/null
+++ b/assets/css/owo.min.css
@@ -0,0 +1,164 @@
+.OwO {
+ position: relative;
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+}
+
+.OwO:hover .OwO-logo {
+ color: #444;
+}
+
+.OwO.OwO-open .OwO-logo {
+ border-radius: 4px 4px 0 0;
+ color: #444;
+}
+
+.OwO.OwO-open .OwO-body {
+ display: block;
+ border-top: 1px solid #ddd;
+ border: 1px solid #ddd;
+}
+
+.OwO.OwO-up .OwO-body {
+ top: inherit;
+ bottom: 21px;
+ border-radius: 4px 4px 4px 0;
+}
+
+.OwO.OwO-up .OwO-body .OwO-bar .OwO-packages li:nth-child(1) {
+ border-radius: 0;
+}
+
+.OwO.OwO-up.OwO-open .OwO-logo {
+ border: none;
+ border-top: none;
+ border-radius: 0 0 4px 4px;
+}
+
+.OwO .OwO-logo {
+ position: relative;
+ z-index: 2;
+ display: inline-block;
+ box-sizing: border-box;
+ padding: 2px 3px;
+ height: 22px;
+ border: 1px solid #ddd;
+ border-radius: 4px;
+ background: #fff;
+ color: #888;
+ font-size: 13px;
+ cursor: pointer;
+ transform: all .2s;
+}
+
+.OwO .OwO-logo:hover {
+ background: #f4f4f4;
+}
+
+.OwO .OwO-logo:hover span {
+ display: inline-block;
+}
+
+.OwO .OwO-body {
+ position: absolute;
+ top: 21px;
+ z-index: 3;
+ display: none;
+ width: 300px;
+ border-radius: 0 6px 6px 6px;
+ background: #fff;
+}
+
+.OwO .OwO-body .OwO-items {
+ display: none;
+ overflow: scroll;
+ margin: 0;
+ padding: 10px;
+ font-size: 0;
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+}
+
+.OwO .OwO-body .OwO-items::-webkit-scrollbar-thumb {
+ background: #ddd;
+}
+
+.OwO .OwO-body .OwO-items .OwO-item {
+ display: inline-block;
+ margin: 0 10px 12px 0;
+ padding: 5px 10px;
+ border-radius: 3px;
+ background: rgba(0,0,0,0);
+ list-style-type: none;
+ font-size: 12px;
+ line-height: 14px;
+ cursor: pointer;
+ -webkit-transition: .3s;
+ transition: .3s;
+}
+
+.OwO .OwO-body .OwO-items .OwO-item:hover {
+ background: #f2f2f2;
+ box-shadow: 0 2px 3px #bababa;
+ transform: scale(1.1);
+}
+
+.OwO .OwO-body .OwO-items-emoji .OwO-item {
+ font-size: 20px;
+ line-height: 19px;
+}
+
+.OwO .OwO-body .OwO-items-image .OwO-item {
+ box-sizing: border-box;
+ max-width: calc(25% - 10px);
+}
+
+.OwO .OwO-body .OwO-items-image .OwO-item img {
+ max-width: 100%;
+}
+
+.OwO .OwO-body .OwO-items-show {
+ display: block;
+}
+
+.OwO .OwO-body .OwO-bar {
+ width: 100%;
+ height: 30px;
+ border-radius: 0 0 4px 4px;
+ background: #f0f0f0;
+ color: #444;
+}
+
+.OwO .OwO-body .OwO-bar .OwO-packages {
+ margin: 0;
+ padding: 0;
+ font-size: 0;
+}
+
+.OwO .OwO-body .OwO-bar .OwO-packages li {
+ display: inline-block;
+ margin-right: 3px;
+ padding: 0 10px;
+ list-style-type: none;
+ font-size: 14px;
+ line-height: 30px;
+ cursor: pointer;
+}
+
+.OwO .OwO-body .OwO-bar .OwO-packages li:nth-child(1) {
+ border-radius: 0 0 0 3px;
+}
+
+.OwO .OwO-body .OwO-bar .OwO-packages li:hover {
+ background: #fff;
+}
+
+.OwO .OwO-body .OwO-bar .OwO-packages .OwO-package-active {
+ background: #fff;
+ -webkit-transition: .3s;
+ transition: .3s;
+}} \ No newline at end of file
diff --git a/assets/css/setting.miracles.css b/assets/css/setting.miracles.css
new file mode 100644
index 0000000..e34cecc
--- /dev/null
+++ b/assets/css/setting.miracles.css
@@ -0,0 +1,218 @@
+@charset 'utf-8';
+
+:root {
+ --theme-color: #4D90FE;
+}
+
+body {
+ width: 100%;
+ background: #fcfcfc;
+ font-family: 'Noto Sans SC',sans-serif;
+}
+
+hr {
+ margin: 30px 0;
+ border: none;
+ border-bottom: 1px solid #dcdcdc;
+}
+
+.miracles-pannel {
+ margin: 40px 0;
+ margin-top: 10px;
+ padding: 28px 30px;
+ border-radius: 5px;
+ background: rgba(90,90,90,.8);
+ -webkit-box-shadow: 0 2px 8px #ddd;
+ -moz-box-shadow: 0 2px 8px #ddd;
+ box-shadow: 0 2px 8px #ddd;
+ color: #fff;
+}
+
+.miracles-pannel a {
+ position: relative;
+ color: #fafafa;
+}
+
+.miracles-pannel a:hover {
+ text-decoration: none;
+}
+
+.miracles-pannel a::before {
+ position: absolute;
+ right: 0;
+ bottom: 0;
+ left: 0;
+ height: 2px;
+ background-color: #fafafa;
+ content: '';
+ transition: transform .5s ease;
+ transform: scaleX(0);
+ transform-origin: bottom right;
+}
+
+.miracles-pannel a:hover::before {
+ transform: scaleX(1);
+ transform-origin: bottom left;
+}
+
+.tongzhi {
+ bottom: 0;
+ left: 50%;
+ transform: translate(-50%, 0px);
+ z-index: 10;
+ padding: 1em;
+ position: fixed;
+ color: #fff;
+ background: rgba(50,50,50,.95);
+ border-radius: 2px;
+ margin: 0 auto 1em auto;
+ box-shadow: 0 2px 6px gray;
+ transition: .2s;
+ -webkit-animation: slideDown 0.2s ease forwards;
+ animation: slideDown 0.3s ease forwards;
+ max-width: 520px;
+ text-align: center;
+ font-size: 1.06em
+}
+
+.waiting {
+ color: rgb(230,230,230)
+}
+
+@-webkit-keyframes slideDown {
+ 0%{
+ bottom: -100px;
+ }
+ 25%{
+ bottom: -50px;
+ }
+ 50%{
+ bottom: 0;
+ }
+ 100%{
+ bottom: 50px;
+ }
+}
+
+.miracles-backup-div {
+ margin: 15px 0;
+ margin-bottom: 0
+}
+
+.miracles-backup-button {
+ padding: 6px 10px;
+ border: none;
+ border-radius: 2px;
+ background: #646464;
+ -webkit-box-shadow: 0 1px 1px #000;
+ -moz-box-shadow: 0 1px 1px #000;
+ box-shadow: 0 1px 1px #000;
+ color: #fff;
+ cursor: pointer;
+}
+
+.miracles-para-attention {
+ padding: 10px 12px;
+ border-radius: 3px;
+ background: red;
+ color: #fff;
+}
+
+::-webkit-scrollbar {
+ width: 6px;
+ height: 5px;
+}
+
+::-webkit-scrollbar-button {
+ display: none;
+}
+
+::-webkit-scrollbar-thumb {
+ background: gray;
+}
+
+.typecho-head-nav {
+ position: fixed;
+ top: 0;
+ right: 0;
+ left: 0;
+ padding: 15px 0;
+ -webkit-box-shadow: 0 0 30px #ddd;
+ -moz-box-shadow: 0 0 30px #ddd;
+ box-shadow: 0 0 30px #ddd;
+ font-size: 15px;
+ z-index: 10
+}
+
+.typecho-page-title {
+ visibility: hidden;
+ margin-top: 90px;
+}
+
+.typecho-option .btn,.typecho-option li input,.typecho-option li select,.typecho-option li textarea {
+ padding: 10px 12px;
+ border-color: #ddd;
+ border-radius: 4px;
+ background: #fff;
+ -webkit-box-shadow: 0 1px 5px #ddd;
+ -moz-box-shadow: 0 1px 5px #ddd;
+ box-shadow: 0 1px 5px #ddd;
+ outline: none;
+}
+
+.typecho-option li select {
+ padding: 0 4px;
+ min-width: 100px;
+}
+
+.typecho-option li textarea {
+ height: 160px!important;
+ resize: none;
+}
+
+.typecho-option li .typecho-label {
+ margin: 15px 0;
+ margin-top: 20px;
+ letter-spacing: 1px;
+ font-size: 15px;
+}
+
+.typecho-option .btn {
+ position: fixed;
+ bottom: 15px;
+ right: 15px;
+ border-radius: 4px;
+ background: #000;
+ box-shadow: 0 0 6px #bababa;
+ padding: 8px 14px;
+ font-size: 1.1em
+}
+
+.wmd-button-row {
+ height: auto!important
+}
+
+input#slug {
+ z-index: 1
+}
+
+@media (min-width:768px) {
+ .typecho-option-tabs {
+ margin-left: 122px;
+ }
+}
+
+@media (min-width:992px) {
+ .typecho-option-tabs {
+ margin-left: 160px;
+ }
+}
+
+@media (min-width:1200px) {
+ .typecho-option-tabs {
+ margin-left: 194px;
+ }
+}
+#edit-secondary .typecho-option-tabs {
+ margin-left: 0!important
+} \ No newline at end of file