summaryrefslogtreecommitdiffstats
path: root/assets/css/main
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/main
parent49506af621b073a3acd1cd53d54771d0695108ee (diff)
bring back the 1.x files to master
Diffstat (limited to 'assets/css/main')
-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
10 files changed, 3081 insertions, 0 deletions
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)
+}