master
dmxiaoshen 3 years ago
commit 103a72c20d

1
.gitignore vendored

@ -0,0 +1 @@
.DS_Store

@ -0,0 +1,2 @@
## 关于
该主题为gridea主题参考自

File diff suppressed because one or more lines are too long

@ -0,0 +1,114 @@
.tooltip {
position: absolute;
z-index: 1070;
display: block;
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
font-style: normal;
font-weight: normal;
letter-spacing: normal;
line-break: auto;
line-height: 1.42857143;
text-align: left;
text-align: start;
text-decoration: none;
text-shadow: none;
text-transform: none;
white-space: normal;
word-break: normal;
word-spacing: normal;
word-wrap: normal;
font-size: 12px;
opacity: 0;
filter: alpha(opacity=0);
}
.tooltip.in {
opacity: 0.9;
filter: alpha(opacity=90);
}
.tooltip.top {
margin-top: -3px;
padding: 5px 0;
}
.tooltip.right {
margin-left: 3px;
padding: 0 5px;
}
.tooltip.bottom {
margin-top: 3px;
padding: 5px 0;
}
.tooltip.left {
margin-left: -3px;
padding: 0 5px;
}
.tooltip-inner {
max-width: 200px;
padding: 3px 8px;
color: #ffffff;
text-align: center;
background-color: #000000;
border-radius: 4px;
}
.tooltip-arrow {
position: absolute;
width: 0;
height: 0;
border-color: transparent;
border-style: solid;
}
.tooltip.top .tooltip-arrow {
bottom: 0;
left: 50%;
margin-left: -5px;
border-width: 5px 5px 0;
border-top-color: #000000;
}
.tooltip.top-left .tooltip-arrow {
bottom: 0;
right: 5px;
margin-bottom: -5px;
border-width: 5px 5px 0;
border-top-color: #000000;
}
.tooltip.top-right .tooltip-arrow {
bottom: 0;
left: 5px;
margin-bottom: -5px;
border-width: 5px 5px 0;
border-top-color: #000000;
}
.tooltip.right .tooltip-arrow {
top: 50%;
left: 0;
margin-top: -5px;
border-width: 5px 5px 5px 0;
border-right-color: #000000;
}
.tooltip.left .tooltip-arrow {
top: 50%;
right: 0;
margin-top: -5px;
border-width: 5px 0 5px 5px;
border-left-color: #000000;
}
.tooltip.bottom .tooltip-arrow {
top: 0;
left: 50%;
margin-left: -5px;
border-width: 0 5px 5px;
border-bottom-color: #000000;
}
.tooltip.bottom-left .tooltip-arrow {
top: 0;
right: 5px;
margin-top: -5px;
border-width: 0 5px 5px;
border-bottom-color: #000000;
}
.tooltip.bottom-right .tooltip-arrow {
top: 0;
left: 5px;
margin-top: -5px;
border-width: 0 5px 5px;
border-bottom-color: #000000;
}

File diff suppressed because one or more lines are too long

@ -0,0 +1 @@
.hljs{display:block;overflow-x:auto;padding:.5em;color:#383a42;background:#fafafa}.hljs-comment,.hljs-quote{color:#a0a1a7;font-style:italic}.hljs-doctag,.hljs-formula,.hljs-keyword{color:#a626a4}.hljs-deletion,.hljs-name,.hljs-section,.hljs-selector-tag,.hljs-subst{color:#e45649}.hljs-literal{color:#0184bb}.hljs-addition,.hljs-attribute,.hljs-meta-string,.hljs-regexp,.hljs-string{color:#50a14f}.hljs-built_in,.hljs-class .hljs-title{color:#c18401}.hljs-attr,.hljs-number,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-pseudo,.hljs-template-variable,.hljs-type,.hljs-variable{color:#986801}.hljs-bullet,.hljs-link,.hljs-meta,.hljs-selector-id,.hljs-symbol,.hljs-title{color:#4078f2}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}.hljs-link{text-decoration:underline}

@ -0,0 +1 @@
.hljs{display:block;overflow-x:auto;padding:.5em;background:#f0f0f0}.hljs,.hljs-subst{color:#444}.hljs-comment{color:#888}.hljs-attribute,.hljs-doctag,.hljs-keyword,.hljs-meta-keyword,.hljs-name,.hljs-selector-tag{font-weight:700}.hljs-deletion,.hljs-number,.hljs-quote,.hljs-selector-class,.hljs-selector-id,.hljs-string,.hljs-template-tag,.hljs-type{color:#800}.hljs-section,.hljs-title{color:#800;font-weight:700}.hljs-link,.hljs-regexp,.hljs-selector-attr,.hljs-selector-pseudo,.hljs-symbol,.hljs-template-variable,.hljs-variable{color:#bc6060}.hljs-literal{color:#78a960}.hljs-addition,.hljs-built_in,.hljs-bullet,.hljs-code{color:#397300}.hljs-meta{color:#1f7199}.hljs-meta-string{color:#4d99bf}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}

@ -0,0 +1 @@
.hljs{display:block;background:#fff;padding:.5em;color:#333;overflow-x:auto}.hljs-comment,.hljs-meta{color:#969896}.hljs-emphasis,.hljs-quote,.hljs-strong,.hljs-template-variable,.hljs-variable{color:#df5000}.hljs-keyword,.hljs-selector-tag,.hljs-type{color:#d73a49}.hljs-attribute,.hljs-bullet,.hljs-literal,.hljs-symbol{color:#0086b3}.hljs-name,.hljs-section{color:#63a35c}.hljs-tag{color:#333}.hljs-attr,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id,.hljs-selector-pseudo,.hljs-title{color:#6f42c1}.hljs-addition{color:#55a532;background-color:#eaffea}.hljs-deletion{color:#bd2c00;background-color:#ffecec}.hljs-link{text-decoration:underline}.hljs-number{color:#005cc5}.hljs-string{color:#032f62}

@ -0,0 +1 @@
.hljs{display:block;overflow-x:auto;padding:.5em;color:#333;background:#f8f8f8}.hljs-comment,.hljs-quote{color:#998;font-style:italic}.hljs-keyword,.hljs-selector-tag,.hljs-subst{color:#333;font-weight:700}.hljs-literal,.hljs-number,.hljs-tag .hljs-attr,.hljs-template-variable,.hljs-variable{color:teal}.hljs-doctag,.hljs-string{color:#d14}.hljs-section,.hljs-selector-id,.hljs-title{color:#900;font-weight:700}.hljs-subst{font-weight:400}.hljs-class .hljs-title,.hljs-type{color:#458;font-weight:700}.hljs-attribute,.hljs-name,.hljs-tag{color:navy;font-weight:400}.hljs-link,.hljs-regexp{color:#009926}.hljs-bullet,.hljs-symbol{color:#990073}.hljs-built_in,.hljs-builtin-name{color:#0086b3}.hljs-meta{color:#999;font-weight:700}.hljs-deletion{background:#fdd}.hljs-addition{background:#dfd}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}

@ -0,0 +1 @@
.hljs{display:block;overflow-x:auto;padding:.5em;background:#fff;color:#000}.hljs-comment,.hljs-quote{color:#800}.hljs-keyword,.hljs-name,.hljs-section,.hljs-selector-tag,.hljs-title{color:#008}.hljs-template-variable,.hljs-variable{color:#660}.hljs-regexp,.hljs-selector-attr,.hljs-selector-pseudo,.hljs-string{color:#080}.hljs-bullet,.hljs-link,.hljs-literal,.hljs-meta,.hljs-number,.hljs-symbol{color:#066}.hljs-attr,.hljs-built_in,.hljs-builtin-name,.hljs-doctag,.hljs-params,.hljs-title,.hljs-type{color:#606}.hljs-attribute,.hljs-subst{color:#000}.hljs-formula{background-color:#eee;font-style:italic}.hljs-selector-class,.hljs-selector-id{color:#9b703f}.hljs-addition{background-color:#baeeba}.hljs-deletion{background-color:#ffc8bd}.hljs-doctag,.hljs-strong{font-weight:700}.hljs-emphasis{font-style:italic}

@ -0,0 +1 @@
.hljs-comment,.hljs-quote{color:#8e908c}.hljs-deletion,.hljs-name,.hljs-regexp,.hljs-selector-class,.hljs-selector-id,.hljs-tag,.hljs-template-variable,.hljs-variable{color:#c82829}.hljs-built_in,.hljs-builtin-name,.hljs-link,.hljs-literal,.hljs-meta,.hljs-number,.hljs-params,.hljs-type{color:#f5871f}.hljs-attribute{color:#eab700}.hljs-addition,.hljs-bullet,.hljs-string,.hljs-symbol{color:#718c00}.hljs-section,.hljs-title{color:#4271ae}.hljs-keyword,.hljs-selector-tag{color:#8959a8}.hljs{display:block;overflow-x:auto;background:#fff;color:#4d4d4c;padding:.5em}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}

@ -0,0 +1 @@
.hljs{display:block;overflow-x:auto;padding:.5em;background:#fff;color:#000}.hljs-comment,.hljs-quote,.hljs-variable{color:green}.hljs-built_in,.hljs-keyword,.hljs-name,.hljs-selector-tag,.hljs-tag{color:#00f}.hljs-addition,.hljs-attribute,.hljs-literal,.hljs-section,.hljs-string,.hljs-template-tag,.hljs-template-variable,.hljs-title,.hljs-type{color:#a31515}.hljs-deletion,.hljs-meta,.hljs-selector-attr,.hljs-selector-pseudo{color:#2b91af}.hljs-doctag{color:grey}.hljs-attr{color:red}.hljs-bullet,.hljs-link,.hljs-symbol{color:#00b0e8}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}

@ -0,0 +1 @@
.hljs{display:block;overflow-x:auto;padding:.5em;background:#fff;color:#000}.xml .hljs-meta{color:silver}.hljs-comment,.hljs-quote{color:#007400}.hljs-attribute,.hljs-keyword,.hljs-literal,.hljs-name,.hljs-selector-tag,.hljs-tag{color:#aa0d91}.hljs-template-variable,.hljs-variable{color:#3f6e74}.hljs-code,.hljs-meta-string,.hljs-string{color:#c41a16}.hljs-link,.hljs-regexp{color:#0e0eff}.hljs-bullet,.hljs-number,.hljs-symbol,.hljs-title{color:#1c00cf}.hljs-meta,.hljs-section{color:#643820}.hljs-built_in,.hljs-builtin-name,.hljs-class .hljs-title,.hljs-params,.hljs-type{color:#5c2699}.hljs-attr{color:#836c28}.hljs-subst{color:#000}.hljs-formula{background-color:#eee;font-style:italic}.hljs-addition{background-color:#baeeba}.hljs-deletion{background-color:#ffc8bd}.hljs-selector-class,.hljs-selector-id{color:#9b703f}.hljs-doctag,.hljs-strong{font-weight:700}.hljs-emphasis{font-style:italic}

@ -0,0 +1,207 @@
* {
box-sizing: border-box;
}
/* reset CSS */
table {
font-size: 100%;
}
/* end reset CSS */
body {
font-family: STFangSong, Helvetica, Arial, Vernada, Tahoma, STXihei,
"Microsoft YaHei", "Songti SC", SimSun, Heiti, sans-serif;
font-size: 21px;
}
body.mobile {
font-size: 32px;
}
.navbar-brand {
font-family: "Palatino Linotype", "Book Antiqua", Palatino, Helvetica, STKaiti,
SimSun, serif;
font-size: 100%;
}
.title {
cursor: pointer;
padding: 15px 20px;
}
.title a {
display: inline-block;
}
li.title:hover {
background-color: #eee;
}
.panel {
border-radius: 0;
font-size: 100%;
}
.panel-default > .panel-heading {
background-image: none;
background-color: #fff;
font-size: 100%;
}
.navbar-default {
background-image: none;
background-color: #fff;
box-shadow: none;
font-size: 100%;
}
.navbar-brand,
.navbar-nav {
font-size: 24px;
}
.navbar-nav.navbar-right:last-child {
margin-right: -30px;
}
body.mobile .navbar {
}
body.mobile #navbar-bs {
}
body.mobile .nav > li {
}
body.mobile .navbar-brand {
line-height: 52px;
font-size: 36px;
}
body.mobile .navbar-nav {
font-size: 30px;
}
body.mobile div.outer {
margin: 110px 4% 2% 4%;
}
body.mobile .navbar-nav > li > a {
line-height: 40px;
}
body.mobile .navbar-default .navbar-toggle {
transform: scale(1.3);
transform-origin: right;
}
div.outer {
margin: 100px 10% 2% 10%;
}
.list-group {
box-shadow: 0 0px 0px rgba(0, 0, 0, 0);
}
div.date {
font-size: 80%;
color: darkgray;
}
div.word-count {
float: right;
color: darkgray;
line-height: 100%;
}
@media screen and (max-width: 860px) {
div.word-count {
font-size: 80%;
}
}
/* paginator CSS */
.paginator {
text-align: right;
margin: 4% 10% 4% 10%;
}
.paginator .page-number,
.paginator .extend {
border: 1px solid #ddd;
cursor: pointer;
padding: 15px 20px;
}
.paginator .page-number:hover,
.paginator .extend:hover {
background-color: #eee;
font-size: 100%;
}
/* footer */
.footer {
margin-top: 35px;
margin-bottom: 25px;
}
#articleCounts {
display: none;
}
/* ---------------------- micro blog ----------------------- */
/* 加载动画 */
@keyframes ldio-fwkeq5l2tj8 {
0% {
top: 96px;
left: 96px;
width: 0;
height: 0;
opacity: 1;
}
100% {
top: 18px;
left: 18px;
width: 156px;
height: 156px;
opacity: 0;
}
}
.ldio-fwkeq5l2tj8 div {
position: absolute;
border-width: 4px;
border-style: solid;
opacity: 1;
border-radius: 50%;
animation: ldio-fwkeq5l2tj8 1s cubic-bezier(0, 0.2, 0.8, 1) infinite;
}
.ldio-fwkeq5l2tj8 div:nth-child(1) {
border-color: #e90c59;
}
.ldio-fwkeq5l2tj8 div:nth-child(2) {
border-color: #46dff0;
animation-delay: -0.5s;
}
.loadingio-spinner-ripple-8txk08frrfa {
width: 200px;
height: 200px;
display: inline-block;
overflow: hidden;
background: #ffffff;
}
.ldio-fwkeq5l2tj8 {
width: 100%;
height: 100%;
position: relative;
transform: translateZ(0) scale(1);
backface-visibility: hidden;
transform-origin: 0 0; /* see note above */
}
.ldio-fwkeq5l2tj8 div {
box-sizing: content-box;
}
/* generated by https://loading.io/ */

@ -0,0 +1 @@
.blocker{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:auto;z-index:1;padding:20px;box-sizing:border-box;background-color:#000;background-color:rgba(0,0,0,0.75);text-align:center}.blocker:before{content:"";display:inline-block;height:100%;vertical-align:middle;margin-right:-0.05em}.blocker.behind{background-color:transparent}.modal{display:none;vertical-align:middle;position:relative;z-index:2;max-width:500px;box-sizing:border-box;width:90%;background:#fff;padding:15px 30px;-webkit-border-radius:8px;-moz-border-radius:8px;-o-border-radius:8px;-ms-border-radius:8px;border-radius:8px;-webkit-box-shadow:0 0 10px #000;-moz-box-shadow:0 0 10px #000;-o-box-shadow:0 0 10px #000;-ms-box-shadow:0 0 10px #000;box-shadow:0 0 10px #000;text-align:left}.modal a.close-modal{position:absolute;top:-12.5px;right:-12.5px;display:block;width:30px;height:30px;text-indent:-9999px;background-size:contain;background-repeat:no-repeat;background-position:center center;background-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8CAYAAAA6/NlyAAAAAXNSR0IArs4c6QAAA3hJREFUaAXlm8+K00Acx7MiCIJH/yw+gA9g25O49SL4AO3Bp1jw5NvktC+wF88qevK4BU97EmzxUBCEolK/n5gp3W6TTJPfpNPNF37MNsl85/vN/DaTmU6PknC4K+pniqeKJ3k8UnkvDxXJzzy+q/yaxxeVHxW/FNHjgRSeKt4rFoplzaAuHHDBGR2eS9G54reirsmienDCTRt7xwsp+KAoEmt9nLaGitZxrBbPFNaGfPloGw2t4JVamSt8xYW6Dg1oCYo3Yv+rCGViV160oMkcd8SYKnYV1Nb1aEOjCe6L5ZOiLfF120EjWhuBu3YIZt1NQmujnk5F4MgOpURzLfAwOBSTmzp3fpDxuI/pabxpqOoz2r2HLAb0GMbZKlNV5/Hg9XJypguryA7lPF5KMdTZQzHjqxNPhWhzIuAruOl1eNqKEx1tSh5rfbxdw7mOxCq4qS68ZTjKS1YVvilu559vWvFHhh4rZrdyZ69Vmpgdj8fJbDZLJpNJ0uv1cnr/gjrUhQMuI+ANjyuwftQ0bbL6Erp0mM/ny8Fg4M3LtdRxgMtKl3jwmIHVxYXChFy94/Rmpa/pTbNUhstKV+4Rr8lLQ9KlUvJKLyG8yvQ2s9SBy1Jb7jV5a0yapfF6apaZLjLLcWtd4sNrmJUMHyM+1xibTjH82Zh01TNlhsrOhdKTe00uAzZQmN6+KW+sDa/JD2PSVQ873m29yf+1Q9VDzfEYlHi1G5LKBBWZbtEsHbFwb1oYDwr1ZiF/2bnCSg1OBE/pfr9/bWx26UxJL3ONPISOLKUvQza0LZUxSKyjpdTGa/vDEr25rddbMM0Q3O6Lx3rqFvU+x6UrRKQY7tyrZecmD9FODy8uLizTmilwNj0kraNcAJhOp5aGVwsAGD5VmJBrWWbJSgWT9zrzWepQF47RaGSiKfeGx6Szi3gzmX/HHbihwBser4B9UJYpFBNX4R6vTn3VQnez0SymnrHQMsRYGTr1dSk34ljRqS/EMd2pLQ8YBp3a1PLfcqCpo8gtHkZFHKkTX6fs3MY0blKnth66rKCnU0VRGu37ONrQaA4eZDFtWAu2fXj9zjFkxTBOo8F7t926gTp/83Kyzzcy2kZD6xiqxTYnHLRFm3vHiRSwNSjkz3hoIzo8lCKWUlg/YtGs7tObunDAZfpDLbfEI15zsEIY3U/x/gHHc/G1zltnAgAAAABJRU5ErkJggg==')}.modal-spinner{display:none;position:fixed;top:50%;left:50%;transform:translateY(-50%) translateX(-50%);padding:12px 16px;border-radius:5px;background-color:#111;height:20px}.modal-spinner>div{border-radius:100px;background-color:#fff;height:20px;width:2px;margin:0 1px;display:inline-block;-webkit-animation:sk-stretchdelay 1.2s infinite ease-in-out;animation:sk-stretchdelay 1.2s infinite ease-in-out}.modal-spinner .rect2{-webkit-animation-delay:-1.1s;animation-delay:-1.1s}.modal-spinner .rect3{-webkit-animation-delay:-1.0s;animation-delay:-1.0s}.modal-spinner .rect4{-webkit-animation-delay:-0.9s;animation-delay:-0.9s}@-webkit-keyframes sk-stretchdelay{0%,40%,100%{-webkit-transform:scaleY(0.5)}20%{-webkit-transform:scaleY(1.0)}}@keyframes sk-stretchdelay{0%,40%,100%{transform:scaleY(0.5);-webkit-transform:scaleY(0.5)}20%{transform:scaleY(1.0);-webkit-transform:scaleY(1.0)}}

@ -0,0 +1,426 @@
* {
box-sizing: border-box;
}
html {
-webkit-text-size-adjust: none;
}
/* reset CSS */
table {
font-size: 100%;
}
/* end reset CSS */
body {
font-family: "lucida grande", "lucida sans unicode", lucida, helvetica,
"Hiragino Sans GB", "Microsoft YaHei", "WenQuanYi Micro Hei", sans-serif;
font-size: 18px;
}
body.mobile {
font-size: 32px;
}
P,
li {
line-height: 1.8;
}
H1 {
font-family: "Palatino Linotype", "Book Antiqua", Palatino, Helvetica, STKaiti,
SimSun, serif;
line-height: 1;
color: #666666;
text-align: center;
}
H2 {
font-family: "Palatino Linotype", "Book Antiqua", Palatino, Helvetica, STKaiti,
SimSun, serif;
margin-bottom: 40px;
padding: 5px;
border-bottom: 2px LightGrey solid;
width: 98%;
line-height: 150%;
color: #666666;
}
H3 {
font-family: "Palatino Linotype", "Book Antiqua", Palatino, Helvetica, STKaiti,
SimSun, serif;
margin-top: 40px;
margin-bottom: 30px;
border-bottom: 1px LightGrey solid;
width: 98%;
line-height: 150%;
color: #666666;
}
H4 {
font-family: "Palatino Linotype", "Book Antiqua", Palatino, Helvetica, STKaiti,
SimSun, serif;
margin-top: 40px;
margin-bottom: 30px;
border-bottom: 1px LightGrey solid;
width: 98%;
line-height: 150%;
color: #666666;
}
.time {
text-align: center;
line-height: 1;
font-size: 90%;
margin-bottom: 50px;
}
.box {
padding: 2% 8% 5% 8%;
border: 1px solid LightGrey;
}
li {
margin-left: 10px;
}
blockquote {
border-left: 5px lightgrey solid;
padding-left: 15px;
margin-left: 20px;
background: #f4f4f4;
}
pre {
font-family: Inconsolata, Consolas, "DEJA VU SANS MONO", "DROID SANS MONO",
Proggy, monospace;
font-size: 90%;
background-color: #f8f8f8;
border: 1px solid #e0e0e0;
border-radius: 4px;
padding: 5px;
line-height: 1.3;
}
.hljs {
background-color: #f8f8f8;
}
p code {
font-size: 90%;
background-color: #f4f4f4;
border: 1px solid #e0e0e0;
border-radius: 2px;
padding: 0 3px;
margin: 0 3px;
}
a {
text-decoration: none;
cursor: crosshair;
border-bottom: 1px dashed orange;
color: #930ee4;
}
a:hover {
background-color: LightGrey;
}
img {
display: block;
box-shadow: 0 0 10px #555;
border-radius: 6px;
margin-left: auto;
margin-right: auto;
margin-top: 10px;
margin-bottom: 10px;
-webkit-box-shadow: 0 0 10px #555;
max-width: 100%;
}
img.displayed {
text-align: center;
display: block;
}
@media only screen and (max-width: 800px) {
img {
width: 100%;
}
}
hr {
color: LightGrey;
}
p.notice {
color: #aa4433;
font-size: 14px;
}
div.outer {
margin: 2% 5% 2% 5%;
}
body.mobile div.outer {
margin: 2% 0% 2% 0%;
}
div.inner {
margin: 0% 14%;
padding: 2% 8% 4% 8%;
border: 1px solid LightGrey;
}
div.inner-narrow {
margin: 0% 7%;
padding: 2% 8% 4% 8%;
border: 1px solid LightGrey;
}
body.mobile div.inner {
margin: 0;
padding: 2% 4% 4% 4%;
}
div.ad-banner {
margin: 0% 14%;
}
body.mobile div.ad-banner {
margin: 0;
}
.side-ad.mobile {
display: none;
}
.left {
float: left;
clear: both;
width: 50%;
padding: 25 24 25 0;
border-top: 1px solid lightblue;
}
.right {
float: left;
clear: none;
width: 50%;
padding: 25 0 25 24;
border-top: 1px solid lightblue;
}
.row:after {
content: "";
display: table;
clear: both;
}
.row {
clear: both;
}
.align-right {
text-align: right;
}
/* 标签页 */
.tag-list-count {
margin-left: 10px;
color: #20aecc
}
/* image no shadow */
.no-shadow {
box-shadow: 0 0 0px #fff;
}
/* custom modal style */
.modal a {
border-bottom: 0px;
cursor: pointer;
}
.modal a:hover {
background-color: rgba(0, 0, 0, 0);
}
.blocker {
background-color: rgba(0, 0, 0, 0.35) !important;
}
.modal {
box-shadow: 0 0 0px #000 !important;
text-align: center !important;
}
.modal a.close-modal {
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAABGdBTUEAALGPC/xhBQAAAdxJREFUOBGtVc1KAzEQzmRtvXgS0SoiiCfP7gMUpIK2xZ8X8SCKjyD4KqJipWI92AfYuyepetAq4kUv/nTH+aJZdmMotZrDJvlm5stkZjJLyjOiKMq1208rTLyiFIfMNAE1Ir6Vb0RMh4XC8GEYhu+uOblA7aSxquJ4l1nNuLL0nkhdKq03q4sLBxncbphZH9cbOzJvWqyXmYh2K0sL2zLH0B+wRv2QwRYOiC2WW/iYK+Oa3In3AfQ7KNBruD4hAXf3jxe+mMlpj6zUSPoQHwY5Yjo+NjKrTTY9CSDSG2owmBPVVkJI6kpTLpR4rSfY9wIOgUt/lUZWDC9UnvaqpdINDeqiIRWyQOWK5fL8dUD5fXHpIWsl8ZQy06izHwK5Jr/GzdrZ2ZQltWT1+vlkh1+bko1R1w5cdHR8+iyLoZ9CINSChyDFzpL54g256L+Ih12GPAn9pk0lQKuT+9Dyarra6K/n5CFNxQyepa+fSVTKFFxyGkUpzCyRFDdmbkx9SQGXxkN3CVF7sfpYzsaMpy2pzBVfUsDVtbCNF242US4uJh4lhW1akHQN10uz9xj6yIyucIDLZMy8QekaXtIeQHQc28aSEvhuQb8mte3LnpvUmAX+rcFaQsx/+QV8AuR7CRNqTx1aAAAAAElFTkSuQmCC) !important;
background-size: 25px 25px !important;
top: 5px !important;
right: 5px !important;
}
/* table style */
table {
display: block;
width: 100%;
overflow: auto;
border-spacing: 0;
border-collapse: collapse;
}
table tr {
background-color: #fff;
border-top: 1px solid #c6cbd1;
}
table th,
table td {
padding: 6px 13px;
border: 1px solid #dfe2e5;
}
/* table tr:nth-child(2n) {
background-color: #f6f8fa;
} */
/****** weibo card ******/
.cards {
background: #f4f4f4;
padding: 15px;
padding-left: 30px;
border-radius: 10px;
}
.card {
display: flex;
}
.card-time {
display: flex;
align-items: flex-start;
margin-top: 15px;
color: #808080;
font-style: oblique;
flex-basis: 80px;
}
.card-content {
padding: 0 20px;
margin: 15px;
background: #fff;
border-radius: 10px;
flex-basis: 90%;
}
div.word-count2 {
float: right;
color: darkgray;
font-size: 80%;
}
@media screen and (max-width: 860px) {
div.word-count2 {
font-size: 75%;
}
.card {
display: flex;
flex-direction: column;
}
.card-time {
display: flex;
align-items: flex-end;
color: #808080;
font-style: oblique;
}
.card-time>p {
margin: 0;
}
.card-time:empty {
display: none;
}
.card-content {
padding: 0 30px;
margin: 15px 0px;
background: #fff;
border-radius: 10px;
max-width: 97%;
}
}
/*********************************/
/* subtitle description */
sd {
font-size: 75%;
color: #0006;
}
sd:hover {
color: #000f;
}
sdr {
font-size: 75%;
color: #0006;
line-height: 1.8;
float: right;
margin-left: 15px;
}
sdr:hover {
color: #000f;
}
sd-time {
font-size: 75%;
display: block;
line-height: 3;
color: #0006;
}
sd-time:hover {
color: #000f;
}
.textAlignRight {
text-align: right;
}
/* color */
red {
color: red;
}
blue {
color: blue;
}
dogerblue {
color: dodgerblue;
}
slategray {
color: slategray;
}
green {
color: green;
}
mediumseagreen {
color: mediumseagreen;
}
tomato {
color: tomato;
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

@ -0,0 +1,11 @@
// 入口
$(() => {
// 悬浮框
$('[data-toggle="tooltip"]').tooltip();
// 代码高亮
document.querySelectorAll("pre code").forEach((block) => {
hljs.highlightBlock(block);
});
});

@ -0,0 +1,111 @@
{
"name": "yinwang",
"version": "1.1.0",
"author": "dmxiaoshen",
"customConfig": [
{
"name": "sidebarWidth",
"label": "菜单栏宽度",
"group": "布局",
"value": "320px",
"type": "input",
"note": "可填像素类型320px或百分比类型38.2%"
},
{
"name": "featureBorderRadius",
"label": "封面图圆角",
"group": "布局",
"value": "3px",
"type": "input",
"note": "像素类型3px"
},
{
"name": "menuColor",
"label": "菜单颜色",
"group": "颜色",
"value": "#dee2e6",
"type": "input",
"card": "color",
"note": "颜色字符串:(如:#EEEEEE、rgba(255, 255, 255, 0.9)"
},
{
"name": "contentBgColor",
"label": "内容区背景色",
"group": "颜色",
"value": "#f8f9fa",
"type": "input",
"card": "color",
"note": "颜色字符串:(如:#EEEEEE、rgba(255, 255, 255, 0.9)"
},
{
"name": "renderKaTeX",
"label": "是否渲染 KaTeX 公式",
"group": "渲染",
"value": false,
"type": "switch"
},
{
"name": "renderCode",
"label": "是否渲染代码高亮",
"group": "渲染",
"value": false,
"type": "switch"
},
{
"name": "github",
"label": "Github",
"group": "社交",
"value": "",
"type": "input",
"note": "链接地址"
},
{
"name": "twitter",
"label": "Twitter",
"group": "社交",
"value": "",
"type": "input",
"note": "链接地址"
},
{
"name": "weibo",
"label": "微博",
"group": "社交",
"value": "",
"type": "input",
"note": "链接地址"
},
{
"name": "zhihu",
"label": "知乎",
"group": "社交",
"value": "",
"type": "input",
"note": "链接地址"
},
{
"name": "facebook",
"label": "Facebook",
"group": "社交",
"value": "",
"type": "input",
"note": "链接地址"
},
{
"name": "customCss",
"label": "自定义CSS",
"group": "自定义样式",
"value": "",
"type": "textarea",
"note": ""
},
{
"name": "ga",
"label": "跟踪 ID",
"group": "谷歌统计",
"value": "",
"type": "input",
"note": "UA-xxxxxxxxx-x"
}
]
}

@ -0,0 +1,55 @@
const generateOverride = (params = {}) => {
let result = ''
// 侧边栏宽度 - sidebarWidth
if (params.sidebarWidth && params.sidebarWidth !== '320px') {
result += `
.sidebar {
width: ${params.sidebarWidth};
}
.main-container {
margin-left: ${params.sidebarWidth};
}
`
}
// 菜单颜色 - menuColor
if (params.menuColor && params.menuColor !== '#dee2e6') {
result += `
.sidebar .top-container .site-nav {
color: ${params.menuColor};
}
`
}
// 封面图圆角 - featureBorderRadius
if (params.featureBorderRadius && params.featureBorderRadius !== '3px') {
result += `
.post-item .right .feature-container {
border-radius: ${params.featureBorderRadius};
}
`
}
// 内容区背景色 - contentBgColor
if (params.contentBgColor && params.contentBgColor !== '#f8f9fa') {
result += `
body {
background: ${params.contentBgColor};
}
`
}
if (params.customCss) {
result += `
${params.customCss}
`
}
console.log('result', result)
return result
}
module.exports = generateOverride

@ -0,0 +1,19 @@
<meta charset="utf-8" >
<title><%= siteTitle %></title>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="viewport" content="width=device-width, initial-scale=0.5">
<link rel="shortcut icon" href="<%= themeConfig.domain %>/favicon.ico?v=<%= site.utils.now %>">
<link rel="stylesheet" href="<%= themeConfig.domain %>/media/css/highlight/xcode.min.css">
<link rel="stylesheet" href="<%= themeConfig.domain %>/media/css/bootstrap/bootstrap-tooltips.css">
<% if (isHome) { %>
<link rel="stylesheet" href="<%= themeConfig.domain %>/media/css/bootstrap/bootstrap.min.css">
<link rel="stylesheet" href="<%= themeConfig.domain %>/media/css/bootstrap/bootstrap-theme.min.css">
<link rel="stylesheet" href="<%= themeConfig.domain %>/media/css/home.css?v=3">
<% } else { %>
<link rel="stylesheet" href="<%= themeConfig.domain %>/media/css/post.css?v=3">
<% } %>
<script src="<%= themeConfig.domain %>/media/js/jquery.min.js" type="text/javascript"></script>
<link rel="alternate" href="/atom.xml" title="<%= siteTitle %>" type="application/atom+xml">

@ -0,0 +1,17 @@
<div class="pagination-container">
<% if (pagination.prev) { %>
<% if (pagination.prev.lastIndexOf('/') === pagination.prev.length-1) { %>
<a href="<%= pagination.prev %>" class="prev"><i class="icon-arrow-ios-back-outline"></i> 上一页</a>
<% } else { %>
<a href="<%= pagination.prev %>/" class="prev"><i class="icon-arrow-ios-back-outline"></i> 上一页</a>
<% } %>
<% } %>
<% if (pagination.next) { %>
<% if (pagination.next.lastIndexOf('/') === pagination.next.length-1) { %>
<a href="<%= pagination.next %>" class="next">下一页 <i class="icon-arrow-ios-forward-outline"></i></a>
<% } else { %>
<a href="<%= pagination.next %>/" class="next">下一页 <i class="icon-arrow-ios-forward-outline"></i></a>
<% } %>
<% } %>
</div>

@ -0,0 +1,3 @@
<script src="<%= themeConfig.domain %>/media/js/highlight.min.js" type="text/javascript"></script>
<script src="<%= themeConfig.domain %>/media/js/main.js?v=3" type="text/javascript"></script>
<script src="<%= themeConfig.domain %>/media/js/bootstrap/bootstrap.min.js" type="text/javascript"></script>

@ -0,0 +1,46 @@
<!DOCTYPE html>
<html>
<head>
<%- include('./_blocks/head', { isHome: false,siteTitle: `文章归档 | ${themeConfig.siteName}` }) %>
<meta name="description" content="<%= themeConfig.siteDescription %>">
</head>
<body>
<script type="text/javascript">
if (/mobile/i.test(navigator.userAgent) || /android/i.test(navigator.userAgent)) {
document.body.classList.add('mobile')
}
</script>
<div>
<div class="inner">
<h2>文章归档</h2>
<% let years = []; posts.forEach((item) => {
const year = item.date.substring(0, 4);
if (!years.includes(year)) {
years.push(year);
}
}); %>
<% years.forEach(function(year) { %>
<h3><%- year %></h3>
<% posts.forEach(function(post) { %>
<% if (post.date.indexOf(year) !== -1) { %>
<ul class="list-group">
<li class="list-group-item title">
<a href="<%= post.link %>" target="_self"><%= post.title %></a>
<div class="word-count2"><%= post.stats.words %>字</div>
<div class="date" style="color:darkgray;font-size:80%"><%= post.dateFormat %></div>
</li>
</ul>
<% } %>
<% }); %>
<% }); %>
<h3>&nbsp;</h3>
<%- include('./_blocks/pagination') %>
<div style="text-align: right;">
↶ <a href="/">返回首页</a>
</div>
</div>
</div>
<%- include('./_blocks/scripts') %>
</body>
</html>

@ -0,0 +1,71 @@
<!DOCTYPE html>
<html>
<head>
<%- include('./_blocks/head', { isHome: true,siteTitle: themeConfig.siteName }) %>
<meta name="description" content="<%= themeConfig.siteDescription %>">
<% if (site.customConfig.renderKaTeX) { %>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.10.0/katex.min.css">
<% } %>
</head>
<body style="">
<script type="text/javascript">
if (/mobile/i.test(navigator.userAgent) || /android/i.test(navigator.userAgent)) {
document.body.classList.add('mobile')
}
</script>
<nav class="navbar navbar-default navbar-fixed-top" style="opacity:.9;" role="navigation">
<div class="container-fluid">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse"
data-target="#bs-example-navbar-collapse-1">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="/"><%= themeConfig.siteName %></a>
</div>
<div class="navbar-collapse collapse" id="navbar-bs" style="height:1px;">
<ul class="nav navbar-nav navbar-right">
<% var i = 0; %>
<% menus.forEach(function(menu) { %>
<% i++; %>
<% if (i === 1){ %>
<li class="active">
<% } else { %>
<li>
<% } %>
<% if (menu.openType === 'External') { %>
<a href="<%= menu.link %>" target="_blank">
<%= menu.name %>
</a>
<% } else { %>
<a href="<%= menu.link %>" target="_self">
<%= menu.name %>
</a>
<% } %>
<% }); %>
</li>
</ul>
</div>
</div>
</nav>
<div>
<div class="outer">
<ul class="list-group">
<% posts.forEach(function(post) { %>
<li class="list-group-item title">
<div class="date"><%= post.dateFormat %></div>
<a href="<%= post.link %>" target="_self"><%= post.title %></a>
<div class="word-count"><%= post.stats.words %>字</div>
</li>
<% }); %>
</ul>
<h5>&nbsp;</h5>
<%- include('./_blocks/pagination') %>
</div>
</div>
<%- include('./_blocks/scripts') %>
</body>
</html>

@ -0,0 +1,27 @@
<!DOCTYPE html>
<html>
<head>
<%- include('./_blocks/head', { isHome: false,siteTitle: themeConfig.siteName }) %>
</head>
<body>
<script type="text/javascript">
if (/mobile/i.test(navigator.userAgent) || /android/i.test(navigator.userAgent)) {
document.body.classList.add('mobile')
}
</script>
<div>
<div class="inner">
<h2><%= post.title %></h2>
<%- post.content %>
<h3>&nbsp;</h3>
<% post.tags.forEach((tag) => { %>
<a href="<%= tag.link %>">#<%= tag.name %></a>&nbsp;
<% }); %>
<div style="text-align: right;">
↶ <a href="/">返回首页</a>
</div>
</div>
</div>
<%- include('./_blocks/scripts') %>
</body>
</html>

@ -0,0 +1,34 @@
<!DOCTYPE html>
<html>
<head>
<%- include('./_blocks/head', { isHome: false,siteTitle: `${tag.name} | ${themeConfig.siteName}` }) %>
<meta name="description" content="<%= themeConfig.siteDescription %>">
</head>
<body>
<script type="text/javascript">
if (/mobile/i.test(navigator.userAgent) || /android/i.test(navigator.userAgent)) {
document.body.classList.add('mobile')
}
</script>
<div>
<div class="inner">
<h2><%= tag.name %></h2>
<ul class="list-group">
<% posts.forEach(function(post) { %>
<li class="list-group-item title"><a href="<%= post.link %>" target="_self"><%= post.title %></a>
<div class="word-count2"><%= post.stats.words %>字</div>
<div class="date" style="color:darkgray;font-size:80%"><%= post.dateFormat %></div>
</li>
<% }); %>
</ul>
<h3>&nbsp;</h3>
<%- include('./_blocks/pagination') %>
<div style="text-align: right;">
↶ <a href="/tags/">标签云</a>
</div>
</div>
</div>
<%- include('./_blocks/scripts') %>
</body>
</html>

@ -0,0 +1,69 @@
<!DOCTYPE html>
<html>
<head>
<%- include('./_blocks/head', { isHome:false,siteTitle: `标签云 | ${themeConfig.siteName}` }) %>
<meta name="description" content="<%= themeConfig.siteDescription %>">
</head>
<body>
<script type="text/javascript">
if (/mobile/i.test(navigator.userAgent) || /android/i.test(navigator.userAgent)) {
document.body.classList.add('mobile')
}
</script>
<div>
<div class="inner">
<h2>标签云</h2>
<% tags.forEach((tag) => { %>
<% var size = 0; %>
<% if (tag.count <= 5){ %>
<% size = 12 + 0.7 * tag.count; %>
<% }else if(tag.count <= 10){ %>
<% size = 12 + 0.7 * 5 + 0.4 * (tag.count - 5); %>
<% }else { %>
<% size = 12 + 0.7 * 5 + 0.4 * 5 + 0.2 * (tag.count - 10); %>
<% } %>
<a href="<%= tag.link %>" style="font-size: <%= size %>px;"><%= tag.name %>(<%= tag.count %>)</a>&nbsp;
<% }); %>
<h3>列表</h3>
<ul class="tag-list" itemprop="keywords">
<% tags.forEach((tag) => { %>
<li class="tag-list-item">
<a class="tag-list-link" href="<%= tag.link %>" rel="tag">
<%= tag.name %>
</a>
<span class="tag-list-count">
<%= tag.count %>
</span>
</li>
<% }); %>
</ul>
<h3>&nbsp;</h3>
<p id="hitokoto">
<div id="hitokoto_text" style="font-size: 90%;"></div>
<div id="hitokoto_from" style="font-size: 50%;"></div>
</p>
<div style="text-align: right;">
↶ <a href="/">返回首页</a>
</div>
</div>
</div>
<script>
fetch('https://v1.hitokoto.cn')
.then(response => response.json())
.then(data => {
const hitokoto = document.querySelector('#hitokoto_text')
const from = document.querySelector('#hitokoto_from')
//hitokoto.href = `https://hitokoto.cn/?uuid=${data.uuid}`
if( data.from_who){
from.innerText = '————'+ data.from_who + '「'+data.from+'」'
}else{
from.innerText = '————'+ '「'+data.from+'」'
}
hitokoto.innerText = data.hitokoto
})
.catch(console.error)
</script>
<%- include('./_blocks/scripts') %>
</body>
</html>
Loading…
Cancel
Save