🏗️ First time sync the css & js files from hexo theme NexT

This commit is contained in:
凡梦星尘
2022-05-21 17:47:26 +08:00
commit 9eb7a32d23
167 changed files with 8043 additions and 0 deletions

View File

@@ -0,0 +1,45 @@
@if hexo-config('back2top.enable') {
.back-to-top {
font-size: $b2t-font-size;
@if not hexo-config('back2top.scrollpercent') {
span {
display: none;
}
}
@if hexo-config('back2top.sidebar') {
margin: 20px - $sidebar-offset -10px -20px;
opacity: 0;
transition: opacity $transition-ease;
&.back-to-top-on {
cursor: pointer;
opacity: $b2t-opacity;
&:hover {
opacity: $b2t-opacity-hover;
}
}
} @else {
bottom: $b2t-position-bottom;
box-sizing: border-box;
color: $b2t-color;
padding: 0 6px;
transition: bottom $transition-ease;
@include sidebar-toggle();
@if not hexo-config('back2top.scrollpercent') {
width: 24px;
}
&:hover {
color: $sidebar-highlight;
}
&.back-to-top-on {
bottom: $b2t-position-bottom-on;
}
}
}
}

View File

@@ -0,0 +1,20 @@
.noscript-warning {
background-color: lighten($red, 20%);
color: white;
font-family: sans-serif;
font-size: 1rem;
font-weight: bold;
left: 0;
position: fixed;
text-align: center;
top: 0;
width: 100%;
z-index: $zindex-5;
}
@import 'back-to-top';
@import 'reading-progress';
@import 'post';
@import 'pages';
@import 'third-party';

View File

@@ -0,0 +1,21 @@
ul.breadcrumb {
font-size: $font-size-smallest;
list-style: none;
margin: 1em 0;
padding: 0 2em;
text-align: center;
li {
display: inline;
}
li:not(:first-child)::before {
content: '/\00a0';
font-weight: normal;
padding: .5em;
}
li:last-child {
font-weight: bold;
}
}

View File

@@ -0,0 +1,35 @@
.category-all-page {
.category-all-title {
text-align: center;
}
.category-all {
margin-top: 20px;
}
.category-list {
list-style: none;
margin: 0;
padding: 0;
}
.category-list-item {
margin: 5px 10px;
}
.category-list-count {
color: $grey;
&::before {
content: ' (';
}
&::after {
content: ') ';
}
}
.category-list-child {
padding-left: 10px;
}
}

View File

@@ -0,0 +1,5 @@
// Page specific styles
@import 'categories';
@import 'schedule';
@import 'breadcrumb';
@import 'tag-cloud';

View File

@@ -0,0 +1,102 @@
@keyframes dot-flash {
from {
opacity: 1;
transform: scale(1);
}
to {
opacity: 0;
transform: scale(.8);
}
}
.event-list {
hr {
background: $black-deep;
margin: 20px 0 45px;
&::after {
background: $black-deep;
color: white;
content: 'NOW';
display: inline-block;
font-weight: bold;
padding: 0 5px;
}
}
.event {
--event-background: #{$black-deep};
--event-foreground: #{$grey};
--event-title: white;
background: var(--event-background);
padding: 15px;
.event-summary {
border-bottom: 0;
color: var(--event-title);
margin: 0;
padding: 0 0 0 35px;
position: relative;
&::before {
animation: dot-flash 1s alternate infinite ease-in-out;
background: var(--event-title);
left: 0;
margin-top: -6px;
position: absolute;
top: 50%;
@include round-icon(12px);
}
}
&:nth-of-type(odd) .event-summary::before {
animation-delay: .5s;
}
&:not(:last-child) {
margin-bottom: 20px;
}
.event-relative-time {
color: var(--event-foreground);
display: inline-block;
font-size: 12px;
font-weight: normal;
padding-left: 12px;
}
.event-details {
color: var(--event-foreground);
display: block;
line-height: 18px;
padding: 6px 0 6px 35px;
&::before {
color: var(--event-foreground);
display: inline-block;
margin-right: 9px;
width: 14px;
@include font-family-icons();
}
&.event-location::before {
content: '\f041';
}
&.event-duration::before {
content: '\f017';
}
&.event-description::before {
content: '\f024';
}
}
}
.event-past {
--event-background: #{$whitesmoke};
--event-foreground: #{$grey-dark};
--event-title: #{$black-deep};
}
}

View File

@@ -0,0 +1,28 @@
.tag-cloud {
text-align: center;
a {
display: inline-block;
margin: 10px;
}
}
@for $tag-cloud from 0 through 10 {
$tag-cloud-color : mix($tag-cloud-end, $tag-cloud-start, $tag-cloud * 10);
.tag-cloud-#{$tag-cloud} {
border-bottom-color: $tag-cloud-color;
color: $tag-cloud-color;
}
}
@if hexo-config('darkmode') {
@media (prefers-color-scheme: dark) {
@for $tag-cloud from 0 through 10 {
$tag-cloud-color : mix($tag-cloud-end-dark, $tag-cloud-start-dark, $tag-cloud * 10);
.tag-cloud-#{$tag-cloud} {
border-bottom-color: $tag-cloud-color;
color: $tag-cloud-color;
}
}
}
}

View File

@@ -0,0 +1,53 @@
.rtl {
&.post-body {
p, a, h1, h2, h3, h4, h5, h6, li, ul, ol {
direction: rtl;
font-family: UKIJ Ekran;
}
}
&.post-title {
font-family: UKIJ Ekran;
}
}
.post-button {
margin-top: 40px;
text-align: center;
}
.use-motion {
@if hexo-config('motion.transition.post_block') {
.post-block, .pagination, .comments {
visibility: hidden;
}
}
@if hexo-config('motion.transition.post_header') {
.post-header {
visibility: hidden;
}
}
@if hexo-config('motion.transition.post_body') {
.post-body {
visibility: hidden;
}
}
@if hexo-config('motion.transition.coll_header') {
.collection-header {
visibility: hidden;
}
}
}
@import 'post-collapse';
@import 'post-body';
@import 'post-gallery';
@import 'post-header';
@import 'post-nav';
@import 'post-footer';
@import 'post-widgets';
@import 'post-reward';
@import 'post-followme';

View File

@@ -0,0 +1,79 @@
.post-body {
font-family: $font-family-posts;
@include word-wrap();
@include desktop-large() {
font-size: $font-size-large;
}
@include desktop() {
text-align: unquote(hexo-config('text_align.desktop'));
}
@include tablet-mobile() {
text-align: unquote(hexo-config('text_align.mobile'));
}
h1, h2, h3, h4, h5, h6 {
// Supported plugins: hexo-renderer-markdown-it hexo-renderer-marked
.header-anchor, .headerlink {
border-bottom-style: none;
color: inherit;
float: right;
font-size: $font-size-small;
margin-left: 10px;
opacity: 0;
&::before {
@include font-family-icons('\f0c1');
}
}
&:hover {
.header-anchor, .headerlink {
opacity: .5;
&:hover {
opacity: 1;
}
}
}
}
.exturl .fa {
font-size: $font-size-small;
margin-left: 4px;
}
// For fancybox and pandoc
.image-caption, img + figcaption, .fancybox + figcaption {
color: $grey-dark;
font-size: $font-size-small;
font-weight: bold;
line-height: 1;
margin: -15px auto 15px;
text-align: center;
}
iframe, img, video, embed {
margin-bottom: 20px;
}
.video-container {
height: 0;
margin-bottom: 20px;
overflow: hidden;
padding-top: 75%;
position: relative;
width: 100%;
iframe, object, embed {
height: 100%;
left: 0;
margin: 0;
position: absolute;
top: 0;
width: 100%;
}
}
}

View File

@@ -0,0 +1,109 @@
.posts-collapse .post-content {
margin-bottom: $posts-collapse-margin;
margin-left: $posts-collapse-margin;
position: relative;
@include mobile() {
margin-left: $posts-collapse-margin-mobile;
margin-right: $posts-collapse-margin-mobile;
}
.collection-title {
font-size: $font-size-large;
position: relative;
&::before {
background: $grey-dark;
border: 1px solid white;
margin-left: -6px;
margin-top: -4px;
position: absolute;
top: 50%;
@include round-icon(10px);
}
}
.collection-year {
font-size: $font-size-largest;
font-weight: bold;
margin: 60px 0;
position: relative;
&::before {
background: $grey;
margin-left: -4px;
margin-top: -4px;
position: absolute;
top: 50%;
@include round-icon(8px);
}
}
.collection-header {
display: block;
margin-left: 20px;
small {
color: $grey;
margin-left: 5px;
}
}
.post-header {
border-bottom: 1px dashed $grey-light;
// 2px is equal to half the width of .posts-collapse::before
margin: 30px 2px 0;
padding-left: 15px;
position: relative;
transition: border $transition-ease;
&::before {
background: $grey;
border: 1px solid white;
left: -6px;
position: absolute;
top: $font-size-smallest;
transition: background $transition-ease;
@include round-icon(6px);
}
&:hover {
border-bottom-color: $grey-dim;
&::before {
background: $black-deep;
}
}
}
.post-meta-container {
display: inline;
font-size: $font-size-smallest;
margin-right: 10px;
}
.post-title {
display: inline;
a {
border-bottom: 0;
color: var(--link-color);
}
.fa-external-link-alt {
font-size: $font-size-small;
margin-left: 5px;
}
}
&::before {
background: $whitesmoke;
content: ' ';
height: 100%;
margin-left: -2px;
position: absolute;
// To do: 1.25em is inaccurate when .collection-title has line breaks on mobile
top: 1.25em;
width: 4px;
}
}

View File

@@ -0,0 +1,35 @@
@if hexo-config('follow_me') {
.followme {
color: $grey;
padding: 1em 1.5em;
text-align: center;
@include post-card();
.social-list {
@include flex-wrap();
.social-item {
margin: .5em 2em;
@include tablet-mobile() {
margin: .5em .75em;
}
}
.social-link {
border: 0;
display: inline-block;
text-align: center;
.icon {
font-size: 1.75em;
}
.label {
display: block;
font-size: 14px;
}
}
}
}
}

View File

@@ -0,0 +1,41 @@
// Flexbox layout makes it possible to reorder the child
// elements of .post-footer through the `order` CSS property
// Fix issue #16
// To do: use `gap` instead of `margin`
// See https://caniuse.com/flexbox-gap
.post-footer {
@include flex-column();
}
.post-eof {
background: $grey-light;
height: 1px;
margin: $post-eof-margin-top auto $post-eof-margin-bottom;
width: 8%;
.post-block:last-of-type & {
display: none;
}
}
@if hexo-config('creative_commons.post') {
.post-copyright ul {
list-style: none;
padding: .5em 1em;
@include post-card();
}
}
.post-tags {
margin-top: 40px;
text-align: center;
a {
display: inline-block;
font-size: $font-size-smaller;
&:not(:last-child) {
margin-right: 10px;
}
}
}

View File

@@ -0,0 +1,33 @@
.post-gallery {
display: flex;
min-height: 200px;
.post-gallery-image {
flex: 1;
&:not(:first-child) {
clip-path: polygon(40px 0, 100% 0, 100% 100%, 0 100%);
margin-left: -20px;
}
&:not(:last-child) {
margin-right: -20px;
}
img {
height: 100%;
object-fit: cover;
// Override darkmode image opacity.
opacity: 1;
width: 100%;
}
}
}
.posts-expand .post-gallery {
margin-bottom: 60px;
}
.posts-collapse .post-gallery {
margin: 15px 0;
}

View File

@@ -0,0 +1,120 @@
.posts-expand .post-header {
font-size: $font-size-large;
margin-bottom: 60px;
text-align: center;
}
.posts-expand .post-title {
font-size: $font-size-largest;
font-weight: normal;
margin: initial;
@include word-wrap();
@if hexo-config('post_edit.enable') {
.post-edit-link {
border-bottom: 0;
color: $grey;
float: right;
font-size: $font-size-larger;
margin-left: -1.2em;
transition: color $transition-ease-in;
@include mobile-small() {
margin-left: initial;
}
&:hover {
color: $sidebar-highlight;
}
}
}
}
.posts-expand .post-title-link {
border-bottom: 0;
color: var(--link-color);
display: inline-block;
position: relative;
&::before {
background: var(--link-color);
bottom: 0;
content: '';
height: 2px;
// Fix issue #75
left: 0;
position: absolute;
transform: scaleX(0);
transition: transform $transition-ease;
width: 100%;
}
&:hover::before {
transform: scaleX(1);
}
.fa-external-link-alt {
font-size: $font-size-small;
margin-left: 5px;
}
}
.post-sticky-flag {
display: inline-block;
// Fix issue #80 #140
margin-right: 8px;
transform: rotate(30deg);
}
.posts-expand .post-meta-container {
color: $grey-dark;
font-family: $font-family-posts;
font-size: $font-size-smallest;
margin-top: 3px;
.post-description {
font-size: $font-size-small;
margin-top: 2px;
}
time {
border-bottom: 1px dashed $grey-dark;
}
}
// Flexbox layout makes it possible to reorder the child
// elements of .post-meta through the `order` CSS property
.post-meta {
@include flex-wrap();
}
// .post-meta-item exists in .post-meta and footer
:not(.post-meta-break) + .post-meta-item::before {
content: '|';
margin: 0 .5em;
}
.post-meta-item-icon {
margin-right: 3px;
}
.post-meta-item-text {
@if not hexo-config('post_meta.item_text') {
display: none;
}
@include tablet-mobile() {
display: none;
}
}
.post-meta-break {
flex-basis: 100%;
height: 0;
}
@if hexo-config('busuanzi_count.enable') and hexo-config('busuanzi_count.post_views') {
#busuanzi_container_page_pv {
display: none;
}
}

View File

@@ -0,0 +1,41 @@
.post-nav {
border-top: 1px solid $gainsboro;
display: flex;
gap: 30px;
justify-content: space-between;
margin-top: 1em;
padding: 10px 5px 0;
}
.post-nav-item {
flex: 1;
a {
border-bottom: 0;
display: block;
font-size: $font-size-small;
line-height: 1.6;
&:active {
top: 2px;
}
}
.fa {
font-size: $font-size-smallest;
}
&:first-child {
.fa {
margin-right: 5px;
}
}
&:last-child {
text-align: right;
.fa {
margin-left: 5px;
}
}
}

View File

@@ -0,0 +1,56 @@
.reward-container {
margin: $post-card-margin;
padding: 1em 0;
text-align: center;
button {
@include button($sidebar-highlight);
border: 2px solid $sidebar-highlight;
border-radius: 2px;
outline: 0;
transition: all $transition-ease;
vertical-align: text-top;
}
}
.post-reward {
display: none;
padding-top: 20px;
&.active {
display: block;
}
div {
display: inline-block;
span {
display: block;
}
@if hexo-config('reward_settings.animation') {
&:hover span {
animation: next-roll .1s infinite linear;
// The animation may affect :hover of img in dark mode
pointer-events: none;
}
}
}
img {
display: inline-block;
margin: .8em 2em 0;
max-width: 100%;
width: 180px;
}
}
@keyframes next-roll {
from {
transform: rotateZ(30deg);
}
to {
transform: rotateZ(-30deg);
}
}

View File

@@ -0,0 +1,20 @@
.post-widgets {
border-top: 1px solid $gainsboro;
margin-top: 15px;
text-align: center;
}
.wpac-rating-container {
height: 20px;
line-height: 20px;
margin-top: 10px;
padding-top: 6px;
text-align: center;
}
.social-like {
display: flex;
font-size: $font-size-small;
justify-content: center;
text-align: center;
}

View File

@@ -0,0 +1,27 @@
@if hexo-config('reading_progress.enable') {
.reading-progress-bar {
--progress: 0;
background: convert(hexo-config('reading_progress.color'));
height: convert(hexo-config('reading_progress.height'));
position: fixed;
z-index: $zindex-5;
@if hexo-config('reading_progress.reversed') {
width: calc(100% - var(--progress));
} @else {
width: var(--progress);
}
@if hexo-config('reading_progress.start_at') == 'right' {
right: 0;
} @else {
left: 0;
}
@if hexo-config('reading_progress.position') == 'bottom' {
bottom: 0;
} @else {
top: 0;
}
}
}

View File

@@ -0,0 +1,39 @@
if (hexo-config('disqusjs.enable') and hexo-config('darkmode')) {
@media (prefers-color-scheme:dark) {
html #dsqjs a {
color: var(--link-color)
}
html #dsqjs a:focus,html #dsqjs a:hover {
color: var(--link-hover-color)
}
html #dsqjs .dsqjs-nav,html #dsqjs footer {
border-color: var(--card-bg-color)
}
html #dsqjs .dsqjs-load-more,html #dsqjs .dsqjs-load-more:hover,html #dsqjs .dsqjs-nav-tab,html #dsqjs .dsqjs-no-comment,html #dsqjs .dsqjs-post-content {
color: var(--text-color)
}
html #dsqjs .dsqjs-order-label {
background-color: #3e4b5e
}
html #dsqjs .dsqjs-order-radio:checked+.dsqjs-order-label {
background-color: var(--content-bg-color)
}
html #dsqjs .dsqjs-tab-active>span:after {
background-color: #2e9fff!important
}
html #dsqjs .dsqjs-footer,html #dsqjs .dsqjs-meta {
color: var(--text-color)
}
html #dsqjs .dsqjs-post-body blockquote {
border-color: var(--content-bg-color)
}
}
}

View File

@@ -0,0 +1,9 @@
@if hexo-config('gitalk.enable') {
.gt-header a, .gt-comments a, .gt-popup a {
border-bottom: 0;
}
.gt-container .gt-popup .gt-action.is--active::before {
top: .7em;
}
}

View File

@@ -0,0 +1,7 @@
if (hexo-config('gitter.enable')) {
.gitter-open-chat-button {
$alignment = sidebar-toggle-alignment(false);
{$alignment[0]}: auto !important;
{$alignment[1]}: 10px !important;
}
}

View File

@@ -0,0 +1,18 @@
@import 'disqusjs';
@import 'gitalk';
@import 'utterances';
@import 'search';
@import 'related-posts';
@import 'math';
@import 'gitter';
.use-motion .animated {
// Fix issue #48 #55
animation-fill-mode: none;
// Fix issue #46 .animated in .sidebar
visibility: inherit;
}
.use-motion .sidebar .animated {
animation-fill-mode: both;
}

View File

@@ -0,0 +1,9 @@
@if hexo-config('math.mathjax.enable') {
mjx-container[jax='CHTML'][display='true'], .has-jax {
overflow: auto hidden;
}
mjx-container[display='true'] + br {
display: none;
}
}

View File

@@ -0,0 +1,23 @@
@if hexo-config('related_posts.enable') {
.popular-posts-header {
border-bottom: 1px solid $gainsboro;
font-size: $font-size-large;
margin-bottom: 10px;
margin-top: $post-eof-margin-bottom;
}
.popular-posts {
padding: 0;
.popular-posts-item {
margin-left: 2em;
.popular-posts-title {
font-size: $font-size-small;
font-weight: normal;
line-height: $line-height-base * 1.2;
margin: 0;
}
}
}
}

View File

@@ -0,0 +1,179 @@
@if hexo-config('local_search.enable') or hexo-config('algolia_search.enable') {
.search-active {
overflow: hidden;
}
.search-pop-overlay {
background: rgba(0, 0, 0, 0);
display: flex;
height: 100%;
left: 0;
position: fixed;
top: 0;
transition: visibility .4s, background .4s;
visibility: hidden;
width: 100%;
z-index: $zindex-4;
.search-active & {
background: rgba(0, 0, 0, .3);
visibility: visible;
}
}
.search-popup {
background: var(--card-bg-color);
border-radius: 5px;
height: 80%;
margin: auto;
transform: scale(0);
transition: transform .4s;
width: 700px;
.search-active & {
transform: scale(1);
}
@include mobile() {
border-radius: 0;
height: 100%;
width: 100%;
}
.search-icon, .popup-btn-close {
color: $grey-dark;
font-size: 18px;
padding: 0 10px;
}
.popup-btn-close {
cursor: pointer;
&:hover .fa {
color: $black-deep;
}
}
.search-header {
background: $gainsboro;
if (hexo-config('darkmode')) {
@media (prefers-color-scheme: dark) {
background: $grey-dim;
}
}
border-top-left-radius: 5px;
border-top-right-radius: 5px;
display: flex;
padding: 5px;
}
input.search-input {
background: transparent;
border: 0;
outline: 0;
width: 100%;
&::-webkit-search-cancel-button {
display: none;
}
}
.search-result-container {
height: calc(100% - 55px);
overflow: auto;
padding: 5px 25px;
hr {
margin: 5px 0 10px;
&:first-child {
display: none;
}
}
}
.search-result-list {
margin: 0 5px;
padding: 0;
}
a.search-result-title {
font-weight: bold;
}
p.search-result {
border-bottom: 1px dashed $grey-light;
padding: 5px 0;
}
}
}
@if hexo-config('algolia_search.enable') {
.search-input-container {
flex-grow: 1;
form {
padding: 2px;
}
}
.search-stats {
align-items: center;
display: flex;
justify-content: space-between;
img {
height: 1em;
margin: 0;
}
}
.algolia-pagination {
// Override default style of ul
margin: 40px 0;
opacity: 1;
padding: 0;
.pagination-item {
display: inline-block;
}
.current .page-number {
@extend %page-number-current;
cursor: default;
}
.disabled-item {
visibility: hidden;
}
}
}
@if hexo-config('local_search.enable') {
.search-popup {
.search-input-container {
flex-grow: 1;
padding: 2px;
}
.no-result {
display: flex;
}
.search-result-list {
width: 100%;
}
.search-result-icon {
color: $grey-light;
margin: auto;
}
}
mark.search-keyword {
background: transparent;
border-bottom: 1px dashed $red;
color: $red;
font-weight: bold;
}
}

View File

@@ -0,0 +1,5 @@
@if hexo-config('utterances.enable') {
.utterances {
max-width: unset;
}
}

View File

@@ -0,0 +1,100 @@
// Footer Section
// --------------------------------------------------
.footer {
color: $grey-dark;
font-size: $font-size-small;
padding: 20px 0;
&.footer-fixed {
bottom: 0;
left: 0;
position: absolute;
right: 0;
}
}
// Flexbox layout makes it possible to reorder the child
// elements of .footer-inner through the `order` CSS property
.footer-inner {
box-sizing: border-box;
text-align: center;
@include flex-column();
@include main-container();
}
.use-motion {
.footer {
opacity: 0;
}
}
@keyframes icon-animate {
0%, 100% {
transform: scale(1);
}
10%, 30% {
transform: scale(.9);
}
20%, 40%, 60%, 80% {
transform: scale(1.1);
}
50%, 70% {
transform: scale(1.1);
}
}
.languages {
display: inline-block;
font-size: $font-size-large;
position: relative;
.lang-select-label span {
margin: 0 .5em;
}
.lang-select {
height: 100%;
left: 0;
opacity: 0;
position: absolute;
top: 0;
width: 100%;
}
}
.with-love {
color: hexo-config('footer.icon.color');
display: inline-block;
margin: 0 5px;
@if hexo-config('footer.icon.animated') {
animation: icon-animate 1.33s ease-in-out infinite;
}
}
@if hexo-config('footer.beian.enable') and hexo-config('footer.beian.gongan_icon_url') {
.beian img {
display: inline-block;
margin: 0 3px;
vertical-align: middle;
}
}
@if hexo-config('busuanzi_count.enable') {
.busuanzi-count {
@if hexo-config('busuanzi_count.total_visitors') {
#busuanzi_container_site_uv {
display: none;
}
}
@if hexo-config('busuanzi_count.total_views') {
#busuanzi_container_site_pv {
display: none;
}
}
}
}

View File

@@ -0,0 +1,24 @@
@if hexo-config('bookmark.enable') {
.book-mark-link {
border-bottom: 0;
position: fixed;
top: -10px;
transition: top .3s;
@include sidebar-toggle-position(true);
@include tablet-mobile() {
display: none;
}
&::before {
color: convert(hexo-config('bookmark.color'));
font-size: 32px;
line-height: 1;
@include font-family-icons('\f02e');
}
}
.book-mark-link:hover, .book-mark-link-fixed {
top: -2px;
}
}

View File

@@ -0,0 +1,59 @@
@if hexo-config('github_banner.enable') {
@keyframes octocat-wave {
0%, 100% {
transform: rotate(0);
}
20%, 60% {
transform: rotate(-25deg);
}
40%, 80% {
transform: rotate(10deg);
}
}
.github-corner {
:hover .octo-arm {
animation: octocat-wave 560ms ease-in-out;
}
svg {
color: white;
fill: var(--theme-color);
position: absolute;
right: 0;
top: 0;
z-index: $zindex-0;
}
@include tablet-mobile() {
@if hexo-config('local_search.enable') or hexo-config('algolia_search.enable') {
display: none;
}
svg {
@if ($scheme == 'Pisces') or ($scheme == 'Gemini') {
color: var(--theme-color);
fill: white;
}
}
.github-corner:hover .octo-arm {
animation: none;
}
.github-corner .octo-arm {
animation: octocat-wave 560ms ease-in-out;
}
}
@if $scheme == 'Mist' {
@include mobile() {
svg {
top: inherit;
}
}
}
}
}

View File

@@ -0,0 +1,38 @@
// Header Section
// --------------------------------------------------
.headband {
background: $headband-bg;
height: $headband-height;
@include tablet-mobile() {
display: none;
}
}
// Fix issue #521
header.header {
background: $head-bg;
}
.header-inner {
@include main-container();
}
.site-brand-container {
display: flex;
flex-shrink: 0;
padding: 0 10px;
}
.use-motion {
header.header, .site-brand-container .toggle {
opacity: 0;
}
}
@import 'site-meta';
@import 'site-nav';
@import 'menu';
@import 'bookmark';
@import 'github-banner';

View File

@@ -0,0 +1,56 @@
// Menu
// --------------------------------------------------
.menu {
margin: 0;
padding: 1em 0;
text-align: center;
}
.menu-item {
display: inline-block;
list-style: none;
margin: 0 10px;
@include mobile() {
display: block;
margin-top: 10px;
&.menu-item-search {
display: none;
}
}
a {
border-bottom: 0;
display: block;
font-size: $font-size-smaller;
transition: border-color $transition-ease;
&:hover, &.menu-item-active {
background: var(--menu-item-bg-color);
}
}
.fa, .fab, .far, .fas {
margin-right: 8px;
}
.badge {
display: inline-block;
font-weight: bold;
line-height: 1;
margin-left: .35em;
margin-top: .35em;
text-align: center;
white-space: nowrap;
@include mobile() {
float: right;
margin-left: 0;
}
}
}
.use-motion .menu-item {
visibility: hidden;
}

View File

@@ -0,0 +1,49 @@
.site-meta {
flex-grow: 1;
text-align: center;
@include mobile() {
text-align: center;
}
}
.custom-logo-image {
margin-top: 20px;
@include tablet-mobile() {
display: none;
}
}
.brand {
border-bottom: 0;
color: var(--brand-color);
display: inline-block;
padding: 0 40px;
&:hover {
color: var(--brand-hover-color);
}
}
.site-title {
font-family: $font-family-logo;
font-size: $font-size-title;
font-weight: normal;
line-height: 1.5;
margin: 0;
}
.site-subtitle {
color: $subtitle-color;
font-size: $font-size-subtitle;
margin: 10px 0;
}
.use-motion {
.site-title, .site-subtitle, .custom-logo-image {
opacity: 0;
position: relative;
top: -10px;
}
}

View File

@@ -0,0 +1,24 @@
.site-nav-toggle, .site-nav-right {
display: none;
@include mobile() {
@include flex-column();
}
.toggle {
color: var(--text-color);
padding: 10px;
width: 22px;
.toggle-line {
background: var(--text-color);
border-radius: 1px;
}
}
}
.site-nav {
@include mobile() {
@include site-nav-hide-by-default();
}
}

View File

@@ -0,0 +1,5 @@
@import 'header';
@import 'sidebar';
@import 'footer';
@import 'mobile';

View File

@@ -0,0 +1,85 @@
/*
// < 767px
@include mobile() {
}
*/
@if hexo-config('mobile_layout_economy') {
@include mobile-small() {
// For Pisces & Gemini schemes only wider width (remove main blocks in Gemini).
.main-inner {
padding: initial !important;
}
// For all schemes wider width.
.posts-expand {
.post-header {
margin-bottom: 10px !important;
}
}
.post-block {
margin-top: initial !important;
// Inside posts blocks content padding (default 40px).
padding: $content-mobile-padding 18px $content-mobile-padding !important;
}
.post-body {
// For headers narrow width.
h1, h2, h3, h4, h5, h6 {
margin: 20px 0 8px;
}
// Rewrite paddings & margins inside tags.
.note, .tabs .tab-content .tab-pane {
h1, h2, h3, h4, h5, h6 {
margin: 0 5px;
}
}
// For paragraphs narrow width.
> p {
margin: 0 0 10px;
}
// Rewrite paddings & margins inside tags.
.note > p, .tabs .tab-content .tab-pane > p {
padding: 0 5px;
}
img, video {
margin-bottom: 10px !important;
}
.note {
margin-bottom: 10px !important;
padding: 10px !important;
@if hexo-config('note.icons') {
&:not(.no-icon) {
padding-left: 35px !important;
}
}
}
.tabs .tab-content .tab-pane {
padding: 10px 10px 0 !important;
}
}
.post-eof {
margin: 40px auto 20px !important;
}
.pagination {
margin-top: 40px;
}
}
}
/*
// < 413px
@include mobile-smallest() {
}
*/

View File

@@ -0,0 +1,38 @@
.sidebar-inner {
color: $grey-dark;
// Init Sidebar & TOC inner dimensions on all pages and for all schemes.
$offset : if(($scheme == 'Pisces') or ($scheme == 'Gemini'), $sidebar-offset, $sidebar-padding);
max-height: calc(100vh - #{$offset * 2});
padding: $sidebar-padding 10px;
text-align: center;
@include flex-column();
}
.site-overview-item:not(:first-child) {
margin-top: 10px;
}
.cc-license {
.cc-opacity {
border-bottom: 0;
opacity: .7;
&:hover {
opacity: .9;
}
}
img {
display: inline-block;
}
}
@import 'sidebar-author';
@import 'sidebar-author-links';
@import 'sidebar-button';
@import 'sidebar-blogroll';
@import 'sidebar-dimmer';
@import 'sidebar-nav';
@import 'sidebar-toggle';
@import 'sidebar-toc';
@import 'site-state';

View File

@@ -0,0 +1,11 @@
.links-of-author {
a {
font-size: $font-size-smaller;
}
@if not hexo-config('social_icons.icons_only') {
.fa, .fab, .far, .fas {
margin-right: 2px;
}
}
}

View File

@@ -0,0 +1,29 @@
.site-author-image {
border: $site-author-image-border-width solid $site-author-image-border-color;
max-width: $site-author-image-width;
padding: 2px;
@if hexo-config('avatar.rounded') {
border-radius: 50%;
}
@if hexo-config('avatar.rotated') {
transition: transform 1s ease-out;
&:hover {
transform: rotateZ(360deg);
}
}
}
.site-author-name {
color: $site-author-name-color;
font-weight: $site-author-name-weight;
margin: $site-author-name-margin;
}
.site-description {
color: $site-description-color;
font-size: $site-description-font-size;
margin-top: $site-description-margin-top;
}

View File

@@ -0,0 +1,15 @@
.links-of-blogroll {
font-size: $font-size-smaller;
}
.links-of-blogroll-title {
font-size: $font-size-small;
font-weight: 600;
margin-top: 0;
}
.links-of-blogroll-list {
list-style: none;
margin: 0;
padding: 0;
}

View File

@@ -0,0 +1,15 @@
.sidebar .sidebar-button {
&:not(:first-child) {
margin-top: 15px;
}
button {
@include button($orange);
border: 1px solid $orange;
border-radius: 4px;
.fa, .fab, .far, .fas {
margin-right: 5px;
}
}
}

View File

@@ -0,0 +1,24 @@
.sidebar-dimmer {
display: none;
}
@include tablet-mobile() {
.sidebar-dimmer {
background: black;
display: block;
height: 100%;
left: 0;
opacity: 0;
position: fixed;
top: 0;
transition: visibility .4s, opacity .4s;
visibility: hidden;
width: 100%;
z-index: $zindex-1;
.sidebar-active & {
opacity: .7;
visibility: visible;
}
}
}

View File

@@ -0,0 +1,57 @@
// Sidebar Navigation
.sidebar-nav {
display: none;
margin: 0;
padding-bottom: 20px;
padding-left: 0;
.sidebar-nav-active & {
display: block;
}
li {
border-bottom: 1px solid transparent;
color: $sidebar-nav-color;
cursor: pointer;
display: inline-block;
font-size: $font-size-small;
&.sidebar-nav-overview {
margin-left: 10px;
}
&:hover {
color: $sidebar-nav-hover-color;
}
}
}
.sidebar-toc-active .sidebar-nav-toc, .sidebar-overview-active .sidebar-nav-overview {
border-bottom-color: $sidebar-highlight;
color: $sidebar-highlight;
&:hover {
color: $sidebar-highlight;
}
}
// Need for Sidebar/TOC inner scrolling if content taller then viewport.
.sidebar-panel-container {
flex: 1;
overflow-x: hidden;
overflow-y: auto;
}
.sidebar-panel {
display: none;
}
.sidebar-overview-active .site-overview-wrap {
// Flexbox layout makes it possible to reorder the child
// elements of .site-overview-item through the `order` CSS property
@include flex-column();
}
.sidebar-toc-active .post-toc-wrap {
display: block;
}

View File

@@ -0,0 +1,61 @@
@if hexo-config('toc.enable') {
.post-toc {
font-size: $font-size-small;
ol {
list-style: none;
margin: 0;
padding: 0 2px 5px 10px;
text-align: left;
> ol {
padding-left: 0;
}
a {
transition: all $transition-ease;
}
}
.nav-item {
line-height: 1.8;
overflow: hidden;
text-overflow: ellipsis;
@if not hexo-config('toc.wrap') {
white-space: nowrap;
}
}
.nav {
.nav-child {
display: if(hexo-config('toc.expand_all'), block, none);
}
.active > .nav-child {
display: block;
}
.active-current > .nav-child {
display: block;
> .nav-item {
display: block;
}
}
.active > a {
border-bottom-color: $sidebar-highlight;
color: $sidebar-highlight;
}
.active-current > a {
color: $sidebar-highlight;
&:hover {
color: $sidebar-highlight;
}
}
}
}
}

View File

@@ -0,0 +1,21 @@
.sidebar-toggle {
bottom: 45px;
height: 12px;
padding: 6px 5px;
width: 14px;
@include sidebar-toggle();
}
.sidebar-toggle:hover .toggle-line {
background: $sidebar-highlight;
}
@media (any-hover: hover) {
body:not(.sidebar-active) .sidebar-toggle:hover {
@include toggle-arrow(hexo-config('sidebar.position'));
}
}
.sidebar-active .sidebar-toggle {
@include toggle-close(hexo-config('sidebar.position'));
}

View File

@@ -0,0 +1,28 @@
@if hexo-config('site_state') {
.site-state {
@include flex-wrap();
line-height: 1.4;
}
.site-state-item {
// Fix issue #103
// The click area of the link becomes smaller
padding: 0 15px;
a {
border-bottom: 0;
display: block;
}
}
.site-state-item-count {
display: block;
font-size: $site-state-item-count-font-size;
font-weight: 600;
}
.site-state-item-name {
color: $site-state-item-name-color;
font-size: $site-state-item-name-font-size;
}
}

View File

@@ -0,0 +1,99 @@
::selection {
background: $selection-bg;
color: $selection-color;
}
html, body {
height: 100%;
}
body {
background: var(--body-bg-color);
box-sizing: border-box;
color: var(--text-color);
font-family: $font-family-base;
font-size: $font-size-base;
line-height: $line-height-base;
min-height: 100%;
position: relative;
transition: padding $transition-ease;
@if hexo-config('body_scrollbar.overlay') {
overflow-x: hidden;
@supports (overflow-x: clip) {
overflow-x: clip;
}
width: 100vw;
}
@if hexo-config('body_scrollbar.stable') {
overflow-y: scroll;
}
}
h1, h2, h3, h4, h5, h6 {
font-family: $font-family-headings;
font-weight: bold;
line-height: 1.5;
margin: 30px 0 15px;
}
@for $headline from 1 through 6 {
h#{$headline} {
font-size: $font-size-headings-base - $font-size-headings-step * $headline;
}
}
p {
margin: 0 0 20px;
}
a {
border-bottom: 1px solid $link-decoration-color;
color: var(--link-color);
// For a:not(:any-link)
cursor: pointer;
outline: 0;
text-decoration: none;
@include word-wrap();
&:hover {
border-bottom-color: var(--link-hover-color);
color: var(--link-hover-color);
}
}
iframe, img, video, embed {
display: block;
margin-left: auto;
margin-right: auto;
max-width: 100%;
}
hr {
background-image: repeating-linear-gradient(-45deg, $grey-lighter, $grey-lighter 4px, transparent 4px, transparent 8px);
border: 0;
height: 3px;
margin: 40px 0;
}
blockquote {
border-left: 4px solid $grey-lighter;
color: var(--blockquote-color);
margin: 0;
padding: 0 15px;
cite::before {
content: '-';
padding: 0 5px;
}
}
dt {
font-weight: bold;
}
dd {
margin: 0;
padding: 0;
}

View File

@@ -0,0 +1,26 @@
.btn {
background: var(--btn-default-bg);
border: 2px solid var(--btn-default-border-color);
border-radius: $btn-default-radius;
color: var(--btn-default-color);
display: inline-block;
font-size: $font-size-small;
line-height: 2;
padding: 0 20px;
transition: background-color $transition-ease;
&:hover {
background: var(--btn-default-hover-bg);
border-color: var(--btn-default-hover-border-color);
color: var(--btn-default-hover-color);
}
+ .btn {
margin: 0 0 8px 8px;
}
.fa-fw {
text-align: left;
width: (18em / 14);
}
}

View File

@@ -0,0 +1,39 @@
.comments {
margin-top: 60px;
overflow: hidden;
}
.comment-button-group {
display: flex;
flex-wrap: wrap-reverse;
justify-content: center;
margin: 1em 0;
.comment-button {
margin: .1em .2em;
&.active {
background: var(--btn-default-hover-bg);
border-color: var(--btn-default-hover-border-color);
color: var(--btn-default-hover-color);
}
}
}
.comment-position {
display: none;
&.active {
display: block;
}
}
.tabs-comment {
margin-top: 4em;
padding-top: 0;
.comments {
margin-top: 0;
padding-top: 0;
}
}

View File

@@ -0,0 +1,55 @@
.highlight:hover .copy-btn, pre:hover .copy-btn {
opacity: 1;
}
.copy-btn {
color: $black-dim;
cursor: pointer;
line-height: 1.6;
opacity: 0;
padding: 2px 6px;
position: absolute;
transition: opacity $transition-ease;
@if hexo-config('codeblock.copy_button.style') == 'flat' {
background: white;
border: 0;
font-size: $font-size-smaller;
right: 0;
top: 0;
} @else if hexo-config('codeblock.copy_button.style') == 'mac' {
color: var(--highlight-foreground);
font-size: 14px;
right: 0;
top: 2px;
} @else {
background-color: $gainsboro;
background-image: linear-gradient(#fcfcfc, $gainsboro);
border: 1px solid #d5d5d5;
border-radius: 3px;
font-size: $font-size-smaller;
right: 4px;
top: 8px;
}
}
@if hexo-config('codeblock.copy_button.style') == 'mac' {
figure.highlight {
border-radius: 5px;
box-shadow: 0 10px 30px 0 rgba(0, 0, 0, .4);
padding-top: 30px;
.table-container {
border-radius: 0 0 5px 5px;
}
&::before {
background: #fc625d;
box-shadow: 20px 0 #fdbc40, 40px 0 #35cd4b;
left: 12px;
margin-top: -20px;
position: absolute;
@include round-icon(12px);
}
}
}

View File

@@ -0,0 +1,140 @@
// Use `@use` to fix issue #67
@import '(theme.highlight.enable && theme.highlight.light.file) ? theme.highlight.light.file : null';
@import '(theme.prism.enable && theme.prism.light) ? theme.prism.light : null';
@import '(theme.prism.enable && theme.prism.number) ? theme.prism.number : null';
@media (prefers-color-scheme: dark) {
@import '(theme.darkmode && theme.highlight.enable && theme.highlight.dark.file) ? theme.highlight.dark.file : null';
@import '(theme.darkmode && theme.prism.enable && theme.prism.dark) ? theme.prism.dark : null';
}
@import 'theme.codeblock.copy_button.enable ? "copy-code" : null';
// Placeholder: %code-inline %code-block
%code-inline {
background: var(--highlight-background);
color: var(--highlight-foreground);
}
%code-block {
@extend %code-inline;
line-height: $line-height-code-block;
margin: 0 auto 20px;
}
%figcaption {
background: var(--highlight-gutter-background);
color: var(--highlight-foreground);
display: flow-root;
font-size: $table-font-size;
line-height: 1.2;
padding: .5em;
a {
color: var(--highlight-foreground);
float: right;
&:hover {
border-bottom-color: var(--highlight-foreground);
}
}
}
pre, code {
font-family: $code-font-family;
}
code {
@extend %code-inline;
border-radius: 3px;
font-size: $table-font-size;
padding: 2px 4px;
@include word-wrap();
}
kbd {
@extend %code-inline;
border: 2px solid $grey-light;
border-radius: .2em;
box-shadow: .1em .1em .2em rgba(0, 0, 0, .1);
font-family: inherit;
padding: .1em .3em;
white-space: nowrap;
}
// `highlight.line_number: false` and `highlight.wrap: false`
// in Hexo config generates code.highlight elements
figure.highlight {
@extend %code-block;
position: relative;
pre {
border: 0;
margin: 0;
padding: 10px 0;
}
table {
border: 0;
margin: 0;
width: auto;
}
td {
border: 0;
padding: 0;
}
figcaption {
@extend %figcaption;
}
.gutter {
@include disable-user-select();
pre {
background: var(--highlight-gutter-background);
color: var(--highlight-gutter-foreground);
padding-left: 10px;
padding-right: 10px;
text-align: right;
}
}
.code pre {
padding-left: 10px;
width: 100%;
}
// See https://github.com/next-theme/hexo-theme-next/discussions/410
.marked {
background: rgba(0, 0, 0, .3);
}
}
// See https://github.com/hexojs/hexo-util/pull/229
pre .caption, pre figcaption {
@extend %figcaption;
margin-bottom: 10px;
}
.gist table {
width: auto;
td {
border: 0;
}
}
pre {
@extend %code-block;
overflow: auto;
padding: 10px;
position: relative;
code {
background: none;
padding: 0;
text-shadow: none;
}
}

View File

@@ -0,0 +1,12 @@
//
// Scaffolding
// ==================================================
@import 'normalize';
@import 'base';
@import 'tables';
@import 'buttons';
@import 'toggles';
@import 'highlight';
@import 'tags';
@import 'pagination';
@import 'comments';

View File

@@ -0,0 +1,289 @@
/* normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
========================================================================== */
/**
* 1. Correct the line height in all browsers.
* 2. Prevent adjustments of font size after orientation changes in iOS.
*/
html {
line-height: 1.15; /* 1 */
-webkit-text-size-adjust: 100%; /* 2 */
}
/* Sections
========================================================================== */
/**
* Remove the margin in all browsers.
*/
body {
margin: 0;
}
/**
* Render the `main` element consistently in IE.
*/
main {
display: block;
}
/**
* Correct the font size and margin on `h1` elements within `section` and
* `article` contexts in Chrome, Firefox, and Safari.
*/
h1 {
font-size: 2em;
margin: .67em 0;
}
/* Grouping content
========================================================================== */
/**
* 1. Add the correct box sizing in Firefox.
* 2. Show the overflow in Edge and IE.
*/
hr {
box-sizing: content-box; /* 1 */
height: 0; /* 1 */
overflow: visible; /* 2 */
}
/**
* 1. Correct the inheritance and scaling of font size in all browsers.
* 2. Correct the odd `em` font sizing in all browsers.
*/
pre {
font-family: monospace, monospace; /* 1 */
font-size: 1em; /* 2 */
}
/* Text-level semantics
========================================================================== */
/**
* Remove the gray background on active links in IE 10.
*/
a {
background: transparent;
}
/**
* 1. Remove the bottom border in Chrome 57-
* 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
*/
abbr[title] {
border-bottom: none; /* 1 */
text-decoration: underline; /* 2 */
text-decoration: underline dotted; /* 2 */
}
/**
* Add the correct font weight in Chrome, Edge, and Safari.
*/
b, strong {
font-weight: bolder;
}
/**
* 1. Correct the inheritance and scaling of font size in all browsers.
* 2. Correct the odd `em` font sizing in all browsers.
*/
code, kbd, samp {
font-family: monospace, monospace; /* 1 */
font-size: 1em; /* 2 */
}
/**
* Add the correct font size in all browsers.
*/
small {
font-size: 80%;
}
/**
* Prevent `sub` and `sup` elements from affecting the line height in
* all browsers.
*/
sub, sup {
font-size: 75%;
line-height: 0;
position: relative;
vertical-align: baseline;
}
sub {
bottom: -.25em;
}
sup {
top: -.5em;
}
/* Embedded content
========================================================================== */
/**
* Remove the border on images inside links in IE 10.
*/
img {
border-style: none;
}
/* Forms
========================================================================== */
/**
* 1. Change the font styles in all browsers.
* 2. Remove the margin in Firefox and Safari.
*/
button, input, optgroup, select, textarea {
font-family: inherit; /* 1 */
font-size: 100%; /* 1 */
line-height: 1.15; /* 1 */
margin: 0; /* 2 */
}
/**
* Show the overflow in IE.
* 1. Show the overflow in Edge.
*/
button, input {
/* 1 */
overflow: visible;
}
/**
* Remove the inheritance of text transform in Edge, Firefox, and IE.
* 1. Remove the inheritance of text transform in Firefox.
*/
button, select {
/* 1 */
text-transform: none;
}
/**
* Correct the inability to style clickable types in iOS and Safari.
*/
button, [type='button'], [type='reset'], [type='submit'] {
-webkit-appearance: button;
}
/**
* Remove the inner border and padding in Firefox.
*/
button::-moz-focus-inner, [type='button']::-moz-focus-inner, [type='reset']::-moz-focus-inner, [type='submit']::-moz-focus-inner {
border-style: none;
padding: 0;
}
/**
* Restore the focus styles unset by the previous rule.
*/
button:-moz-focusring, [type='button']:-moz-focusring, [type='reset']:-moz-focusring, [type='submit']:-moz-focusring {
outline: 1px dotted ButtonText;
}
/**
* Correct the padding in Firefox.
*/
fieldset {
padding: .35em .75em .625em;
}
/**
* 1. Correct the text wrapping in Edge and IE.
* 2. Correct the color inheritance from `fieldset` elements in IE.
* 3. Remove the padding so developers are not caught out when they zero out
* `fieldset` elements in all browsers.
*/
legend {
box-sizing: border-box; /* 1 */
color: inherit; /* 2 */
display: table; /* 1 */
max-width: 100%; /* 1 */
padding: 0; /* 3 */
white-space: normal; /* 1 */
}
/**
* Add the correct vertical alignment in Chrome, Firefox, and Opera.
*/
progress {
vertical-align: baseline;
}
/**
* Remove the default vertical scrollbar in IE 10+.
*/
textarea {
overflow: auto;
}
/**
* 1. Add the correct box sizing in IE 10.
* 2. Remove the padding in IE 10.
*/
[type='checkbox'], [type='radio'] {
box-sizing: border-box; /* 1 */
padding: 0; /* 2 */
}
/**
* Correct the cursor style of increment and decrement buttons in Chrome.
*/
[type='number']::-webkit-inner-spin-button, [type='number']::-webkit-outer-spin-button {
height: auto;
}
/**
* 1. Correct the odd appearance in Chrome and Safari.
* 2. Correct the outline style in Safari.
*/
[type='search'] {
outline-offset: -2px; /* 2 */
-webkit-appearance: textfield; /* 1 */
}
/**
* Remove the inner padding in Chrome and Safari on macOS.
*/
[type='search']::-webkit-search-decoration {
-webkit-appearance: none;
}
/**
* 1. Correct the inability to style clickable types in iOS and Safari.
* 2. Change font properties to `inherit` in Safari.
*/
::-webkit-file-upload-button {
font: inherit; /* 2 */
-webkit-appearance: button; /* 1 */
}
/* Interactive
========================================================================== */
/*
* Add the correct display in Edge, IE 10+, and Firefox.
*/
details {
display: block;
}
/*
* Add the correct display in all browsers.
*/
summary {
display: list-item;
}
/* Misc
========================================================================== */
/**
* Add the correct display in IE 10+.
*/
template {
display: none;
}
/**
* Add the correct display in IE 10.
*/
[hidden] {
display: none;
}

View File

@@ -0,0 +1,55 @@
%page-number-basic {
display: inline-block;
margin: -1px 10px 0;
padding: 0 10px;
@include mobile() {
margin: 0 5px;
}
}
%page-number-current {
background: $pagination-active-bg;
border-color: $pagination-active-border;
color: $pagination-active-color;
}
.pagination {
border-top: 1px solid $pagination-border;
margin: 120px 0 0;
text-align: center;
.prev, .next, .page-number {
@extend %page-number-basic;
border-bottom: 0;
border-top: 1px solid $pagination-link-border;
transition: border-color $transition-ease;
&:hover {
border-top-color: $pagination-link-hover-border;
}
}
@include mobile() {
border-top: 0;
.prev, .next, .page-number {
border-bottom: 1px solid $pagination-link-border;
border-top: 0;
&:hover {
border-bottom-color: $pagination-link-hover-border;
}
}
}
.space {
@extend %page-number-basic;
margin: 0;
padding: 0;
}
.page-number.current {
@extend %page-number-current;
}
}

View File

@@ -0,0 +1,39 @@
.table-container {
overflow: auto;
}
table {
border-collapse: collapse;
border-spacing: 0;
font-size: $table-font-size;
margin: 0 0 20px;
width: 100%;
}
tbody tr {
&:nth-of-type(odd) {
background: var(--table-row-odd-bg-color);
}
&:hover {
background: var(--table-row-hover-bg-color);
}
}
caption, th, td {
padding: 8px;
}
th, td {
border: 1px solid $table-border-color;
border-bottom: 3px solid $table-cell-border-bottom-color;
}
th {
font-weight: 700;
padding-bottom: 10px;
}
td {
border-bottom-width: 1px;
}

View File

@@ -0,0 +1,34 @@
// Blockquote with all children centered.
.blockquote-center {
border-left: 0;
margin: 40px 0;
padding: 0;
position: relative;
text-align: center;
&::before, &::after {
left: 0;
line-height: 1;
opacity: .6;
position: absolute;
width: 100%;
}
&::before {
border-top: 1px solid $grey-light;
text-align: left;
top: -20px;
@include font-family-icons('\f10d');
}
&::after {
border-bottom: 1px solid $grey-light;
bottom: -20px;
text-align: right;
@include font-family-icons('\f10e');
}
p, div {
text-align: center;
}
}

View File

@@ -0,0 +1,20 @@
.group-picture {
margin-bottom: 20px;
.group-picture-row {
display: flex;
gap: 3px;
margin-bottom: 3px;
}
.group-picture-column {
flex: 1;
img {
height: 100%;
margin: 0;
object-fit: cover;
width: 100%;
}
}
}

View File

@@ -0,0 +1,8 @@
@import 'blockquote-center';
@import 'group-pictures';
@import 'label';
@import 'link-grid';
@import 'mermaid';
@import 'note';
@import 'pdf';
@import 'tabs';

View File

@@ -0,0 +1,12 @@
@use 'sass:map';
.post-body .label {
color: $text-color;
padding: 0 2px;
@each $type in $note-types {
&.#{$type} {
background: map.get($label, $type);
}
}
}

View File

@@ -0,0 +1,113 @@
.post-body .link-grid {
display: grid;
// https://caniuse.com/mdn-css_properties_gap_grid_context
grid-gap: 1.5rem;
gap: 1.5rem;
grid-template-columns: 1fr 1fr;
margin-bottom: 20px;
padding: 1rem;
@include mobile() {
grid-template-columns: 1fr;
}
.link-grid-container {
border: solid $grey-lighter;
box-shadow: 1rem 1rem .5rem rgba(0, 0, 0, .5);
min-height: 5rem;
// Fix issue #30
min-width: 0;
padding: .5rem;
position: relative;
transition: background .3s;
&:hover {
animation: next-shake .5s;
background: var(--card-bg-color);
}
&:active {
box-shadow: .5rem .5rem .25rem rgba(0, 0, 0, .5);
transform: translate(.2rem, .2rem);
}
.link-grid-image {
border: 1px solid $grey-lighter;
border-radius: 50%;
box-sizing: border-box;
height: 5rem;
padding: 3px;
position: absolute;
width: 5rem;
}
p {
margin: 0 1rem 0 6rem;
&:first-of-type {
font-size: 1.2em;
}
&:last-of-type {
font-size: .8em;
line-height: 1.3rem;
opacity: .7;
}
}
a {
border: 0;
height: 100%;
left: 0;
position: absolute;
top: 0;
width: 100%;
}
}
}
@keyframes next-shake {
0% {
transform: translate(1pt, 1pt) rotate(0deg);
}
10% {
transform: translate(-1pt, -2pt) rotate(-1deg);
}
20% {
transform: translate(-3pt, 0pt) rotate(1deg);
}
30% {
transform: translate(3pt, 2pt) rotate(0deg);
}
40% {
transform: translate(1pt, -1pt) rotate(1deg);
}
50% {
transform: translate(-1pt, 2pt) rotate(-1deg);
}
60% {
transform: translate(-3pt, 1pt) rotate(0deg);
}
70% {
transform: translate(3pt, 1pt) rotate(-1deg);
}
80% {
transform: translate(-1pt, -1pt) rotate(1deg);
}
90% {
transform: translate(1pt, 2pt) rotate(0deg);
}
100% {
transform: translate(1pt, -2pt) rotate(-1deg);
}
}

View File

@@ -0,0 +1,6 @@
@if hexo-config('mermaid.enable') {
.mermaid {
margin-bottom: 20px;
text-align: center;
}
}

View File

@@ -0,0 +1,114 @@
@use 'sass:map';
@if hexo-config('note.style') != 'disabled' {
.post-body .note {
$note-icons : hexo-config('note.icons');
$note-style : hexo-config('note.style');
border-radius: $note-border-radius;
margin-bottom: 20px;
padding: 1em;
position: relative;
@if $note-style == 'simple' {
border: 1px solid $gainsboro;
border-left-width: 5px;
}
@if $note-style == 'modern' {
background: $whitesmoke;
border: 1px solid transparent;
}
@if $note-style == 'flat' {
background: lighten($gainsboro, 65%);
border: initial;
border-left: 3px solid $gainsboro;
}
summary {
cursor: pointer;
outline: 0;
p {
display: inline;
}
}
h2, h3, h4, h5, h6 {
border-bottom: initial;
margin: 0;
padding-top: 0;
}
p, ul, ol, table, pre, blockquote, img {
&:first-child {
margin-top: 0;
}
&:last-child {
margin-bottom: 0;
}
}
@if $note-icons {
&:not(.no-icon) {
padding-left: 2.5em;
&::before {
font-size: 1.5em;
left: .3em;
position: absolute;
top: calc(50% - 1em);
}
}
}
@each $type in $note-types {
&.#{$type} {
@if $note-style == 'flat' {
background: map.get($note-bg, $type);
@if hexo-config('darkmode') {
@media (prefers-color-scheme: dark) {
background: mix(map.get($note-bg, $type), $body-bg-color-dark, 10%);
}
}
}
@if $note-style == 'modern' {
background: map.get($note-modern-bg, $type);
border-color: map.get($note-modern-border, $type);
color: map.get($note-modern-text, $type);
a:not(.btn) {
border-bottom-color: map.get($note-modern-text, $type);
color: map.get($note-modern-text, $type);
&:hover {
border-bottom-color: map.get($note-modern-hover, $type);
color: map.get($note-modern-hover, $type);
}
}
}
@if $note-style != 'modern' {
border-left-color: map.get($note-border, $type);
h2, h3, h4, h5, h6 {
color: map.get($note-text, $type);
}
}
@if $note-icons {
&:not(.no-icon)::before {
@include font-family-icons(map.get($note-icon, $type));
@if $note-style != 'modern' {
color: map.get($note-text, $type);
}
}
}
}
}
}
}

View File

@@ -0,0 +1,8 @@
@if hexo-config('pdf.enable') {
.pdfobject-container {
iframe, embed {
height: convert(hexo-config('pdf.height'));
width: 100%;
}
}
}

View File

@@ -0,0 +1,103 @@
.post-body .tabs {
margin-bottom: 20px;
}
.post-body .tabs, .tabs-comment {
padding-top: 10px;
ul.nav-tabs {
background: if(($scheme == 'Muse') or ($scheme == 'Mist'), var(--body-bg-color), var(--content-bg-color));
display: flex;
flex-wrap: wrap;
margin: 0;
padding: 0;
position: -webkit-sticky;
position: sticky;
top: 0;
// Fix issue #398
z-index: $zindex-0;
@include mobile-smallest() {
display: block;
margin-bottom: 5px;
}
li.tab {
border-bottom: 1px solid $grey-lighter;
border-left: 1px solid transparent;
border-right: 1px solid transparent;
border-radius: $tbr $tbr 0 0;
border-top: 3px solid transparent;
flex-grow: 1;
list-style-type: none;
@include mobile-smallest() {
border-bottom: 1px solid transparent;
border-left: 3px solid transparent;
border-right: 1px solid transparent;
border-top: 1px solid transparent;
}
@include mobile-smallest() {
border-radius: $tbr;
}
@if hexo-config('tabs.transition.tabs') {
transition: all $transition-ease-out;
}
a {
border-bottom: initial;
display: block;
line-height: 1.8;
padding: .25em .75em;
text-align: center;
i {
width: (18em / 14);
}
@if hexo-config('tabs.transition.labels') {
transition: all $transition-ease-out;
}
}
&.active {
border-bottom-color: transparent;
border-left-color: $table-border-color;
border-right-color: $table-border-color;
border-top-color: $orange;
@include mobile-smallest() {
border-bottom-color: $table-border-color;
border-left-color: $orange;
border-right-color: $table-border-color;
border-top-color: $table-border-color;
}
a {
cursor: default;
}
}
}
}
.tab-content {
border: 1px solid $table-border-color;
border-radius: 0 0 $tbr $tbr;
border-top-color: transparent;
@include mobile-smallest() {
border-radius: $tbr;
border-top-color: $table-border-color;
}
.tab-pane {
padding: 20px 20px 0;
&:not(.active) {
display: none;
}
}
}
}

View File

@@ -0,0 +1,26 @@
.toggle {
line-height: 0;
.toggle-line {
background: white;
display: block;
height: 2px;
left: 0;
position: relative;
top: 0;
transition: all .4s;
width: 100%;
&:not(:first-child) {
margin-top: 3px;
}
}
}
.toggle.toggle-arrow {
@include toggle-arrow(hexo-config('sidebar.position'));
}
.toggle.toggle-close {
@include toggle-close(hexo-config('sidebar.position'));
}