feat(aplayer): add dark-mode for APlayer and fix Typeit bug

This commit is contained in:
Dillon 2020-01-29 22:16:50 +08:00
parent 5537e2ccef
commit c8e612b888
10 changed files with 197 additions and 76 deletions

View file

@ -117,9 +117,11 @@ p > code {
background-color: darken($code-background-color-dark, 5%);
}
}
/* P */ .chroma .p { color: #A9A9B3 }
}
/* Keyword */ .k { color: #859900 }
.code {
/* Parentheses */ .p { color: #A9A9B3 }
/* Keyword */ .k { color: #859900 }
/* KeywordConstant */ .kc { color: #859900; font-weight: bold }
/* KeywordDeclaration */ .kd { color: #859900 }
/* KeywordNamespace */ .kn { color: #dc322f; font-weight: bold }
@ -193,60 +195,61 @@ p > code {
.dark-theme & {
background: $code-background-color-dark;
/* Keyword */ .chroma .k { color: #D371E3 }
/* KeywordConstant */ .chroma .kc { color: #D371E3 }
/* KeywordDeclaration */ .chroma .kd { color: #D371E3 }
/* KeywordNamespace */ .chroma .kn { color: #D371E3 }
/* KeywordPseudo */ .chroma .kp { color: #D371E3 }
/* KeywordReserved */ .chroma .kr { color: #D371E3 }
/* KeywordType */ .chroma .kt { color: #8be9fd }
/* NameAttribute */ .chroma .na { color: #41B1F5 }
/* NameBuiltin */ .chroma .nb { color: #8be9fd; font-style: italic }
/* NameClass */ .chroma .nc { color: #E5BF78 }
/* NameFunction */ .chroma .nf { color: #19B8C0 }
/* NameX */ .chroma .nx { color: #F16473 }
/* NameLabel */ .chroma .nl { color: #8be9fd; font-style: italic }
/* NameTag */ .chroma .nt { color: #D371E3 }
/* NameVariable */ .chroma .nv { color: #8be9fd; font-style: italic }
/* NameVariableClass */ .chroma .vc { color: #8be9fd; font-style: italic }
/* NameVariableGlobal */ .chroma .vg { color: #8be9fd; font-style: italic }
/* NameVariableInstance */ .chroma .vi { color: #8be9fd; font-style: italic }
/* LiteralString */ .chroma .s { color: #8BC56F }
/* LiteralStringAffix */ .chroma .sa { color: #8BC56F }
/* LiteralStringBacktick */ .chroma .sb { color: #8BC56F }
/* LiteralStringChar */ .chroma .sc { color: #8BC56F }
/* LiteralStringDelimiter */ .chroma .dl { color: #8BC56F }
/* LiteralStringDoc */ .chroma .sd { color: #8BC56F }
/* LiteralStringDouble */ .chroma .s2 { color: #8BC56F }
/* LiteralStringEscape */ .chroma .se { color: #8BC56F }
/* LiteralStringHeredoc */ .chroma .sh { color: #8BC56F }
/* LiteralStringInterpol */ .chroma .si { color: #8BC56F }
/* LiteralStringOther */ .chroma .sx { color: #8BC56F }
/* LiteralStringRegex */ .chroma .sr { color: #8BC56F }
/* LiteralStringSingle */ .chroma .s1 { color: #8BC56F }
/* LiteralStringSymbol */ .chroma .ss { color: #8BC56F }
/* LiteralNumber */ .chroma .m { color: #bd93f9 }
/* LiteralNumberBin */ .chroma .mb { color: #bd93f9 }
/* LiteralNumberFloat */ .chroma .mf { color: #bd93f9 }
/* LiteralNumberHex */ .chroma .mh { color: #bd93f9 }
/* LiteralNumberInteger */ .chroma .mi { color: #bd93f9 }
/* LiteralNumberIntegerLong */ .chroma .il { color: #bd93f9 }
/* LiteralNumberOct */ .chroma .mo { color: #bd93f9 }
/* Operator */ .chroma .o { color: #D371E3 }
/* OperatorWord */ .chroma .ow { color: #D371E3 }
/* Comment */ .chroma .c { color: #7E848F }
/* CommentHashbang */ .chroma .ch { color: #7E848F }
/* CommentMultiline */ .chroma .cm { color: #7E848F }
/* CommentSingle */ .chroma .c1 { color: #7E848F }
/* CommentSpecial */ .chroma .cs { color: #7E848F }
/* CommentPreproc */ .chroma .cp { color: #D371E3 }
/* CommentPreprocFile */ .chroma .cpf { color: #D371E3 }
/* GenericDeleted */ .chroma .gd { color: #8b080b }
/* GenericEmph */ .chroma .ge { text-decoration: underline }
/* GenericHeading */ .chroma .gh { font-weight: bold }
/* GenericInserted */ .chroma .gi { font-weight: bold }
/* GenericOutput */ .chroma .go { color: #44475a }
/* GenericSubheading */ .chroma .gu { font-weight: bold }
/* GenericUnderline */ .chroma .gl { text-decoration: underline }
/* Parentheses */ .p { color: #A9A9B3 }
/* Keyword */ .k { color: #D371E3 }
/* KeywordConstant */ .kc { color: #D371E3 }
/* KeywordDeclaration */ .kd { color: #D371E3 }
/* KeywordNamespace */ .kn { color: #D371E3 }
/* KeywordPseudo */ .kp { color: #D371E3 }
/* KeywordReserved */ .kr { color: #D371E3 }
/* KeywordType */ .kt { color: #8be9fd }
/* NameAttribute */ .na { color: #41B1F5 }
/* NameBuiltin */ .nb { color: #8be9fd; font-style: italic }
/* NameClass */ .nc { color: #E5BF78 }
/* NameFunction */ .nf { color: #19B8C0 }
/* NameX */ .nx { color: #F16473 }
/* NameLabel */ .nl { color: #8be9fd; font-style: italic }
/* NameTag */ .nt { color: #D371E3 }
/* NameVariable */ .nv { color: #8be9fd; font-style: italic }
/* NameVariableClass */ .vc { color: #8be9fd; font-style: italic }
/* NameVariableGlobal */ .vg { color: #8be9fd; font-style: italic }
/* NameVariableInstance */ .vi { color: #8be9fd; font-style: italic }
/* LiteralString */ .s { color: #8BC56F }
/* LiteralStringAffix */ .sa { color: #8BC56F }
/* LiteralStringBacktick */ .sb { color: #8BC56F }
/* LiteralStringChar */ .sc { color: #8BC56F }
/* LiteralStringDelimiter */ .dl { color: #8BC56F }
/* LiteralStringDoc */ .sd { color: #8BC56F }
/* LiteralStringDouble */ .s2 { color: #8BC56F }
/* LiteralStringEscape */ .se { color: #8BC56F }
/* LiteralStringHeredoc */ .sh { color: #8BC56F }
/* LiteralStringInterpol */ .si { color: #8BC56F }
/* LiteralStringOther */ .sx { color: #8BC56F }
/* LiteralStringRegex */ .sr { color: #8BC56F }
/* LiteralStringSingle */ .s1 { color: #8BC56F }
/* LiteralStringSymbol */ .ss { color: #8BC56F }
/* LiteralNumber */ .m { color: #bd93f9 }
/* LiteralNumberBin */ .mb { color: #bd93f9 }
/* LiteralNumberFloat */ .mf { color: #bd93f9 }
/* LiteralNumberHex */ .mh { color: #bd93f9 }
/* LiteralNumberInteger */ .mi { color: #bd93f9 }
/* LiteralNumberIntegerLong */ .il { color: #bd93f9 }
/* LiteralNumberOct */ .mo { color: #bd93f9 }
/* Operator */ .o { color: #D371E3 }
/* OperatorWord */ .ow { color: #D371E3 }
/* Comment */ .c { color: #7E848F }
/* CommentHashbang */ .ch { color: #7E848F }
/* CommentMultiline */ .cm { color: #7E848F }
/* CommentSingle */ .c1 { color: #7E848F }
/* CommentSpecial */ .cs { color: #7E848F }
/* CommentPreproc */ .cp { color: #D371E3 }
/* CommentPreprocFile */ .cpf { color: #D371E3 }
/* GenericDeleted */ .gd { color: #8b080b }
/* GenericEmph */ .ge { text-decoration: underline }
/* GenericHeading */ .gh { font-weight: bold }
/* GenericInserted */ .gi { font-weight: bold }
/* GenericOutput */ .go { color: #44475a }
/* GenericSubheading */ .gu { font-weight: bold }
/* GenericUnderline */ .gl { text-decoration: underline }
}
}

View file

@ -0,0 +1,114 @@
.aplayer {
.dark-theme & {
background: #212121;
&.aplayer-withlist {
.aplayer-info {
border-bottom-color: #5c5c5c;
}
}
&.aplayer-fixed {
.aplayer-list {
border-color: #5c5c5c;
}
}
.aplayer-body {
background-color: #212121;
}
.aplayer-info {
border-top-color: #212121;
}
.aplayer-info {
.aplayer-music {
.aplayer-title {
color: #fff;
}
.aplayer-author {
color: #fff;
}
}
.aplayer-controller {
.aplayer-time {
color: #eee;
.aplayer-icon {
path {
fill: #eee;
}
}
}
}
}
.aplayer-list {
background-color: #212121;
&::-webkit-scrollbar-thumb {
background-color: #999;
}
&::-webkit-scrollbar-thumb:hover {
background-color: #bbb;
}
li {
color: #fff;
border-top-color: #666;
&:hover {
background: #4e4e4e;
}
&.aplayer-list-light {
background: #6c6c6c;
}
.aplayer-list-index {
color: #ddd;
}
.aplayer-list-author {
color: #ddd;
}
}
}
.aplayer-lrc {
text-shadow: -1px -1px 0 #666;
&:before {
background: -moz-linear-gradient(top, rgba(33,33,33,1) 0%, rgba(255,255,255,0) 100%);
background: -webkit-linear-gradient(top, rgba(33,33,33,1) 0%,rgba(255,255,255,0) 100%);
background: linear-gradient(to bottom, rgba(33,33,33,1) 0%,rgba(255,255,255,0) 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#212121', endColorstr='#00212121',GradientType=0 );
}
&:after {
background: -moz-linear-gradient(top, rgba(255,255,255,0) 0%, rgba(33,33,33,0.8) 100%);
background: -webkit-linear-gradient(top, rgba(255,255,255,0) 0%,rgba(33,33,33,0.8) 100%);
background: linear-gradient(to bottom, rgba(255,255,255,0) 0%,rgba(33,33,33,0.8) 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00212121', endColorstr='#cc212121',GradientType=0 );
}
p {
color: #fff;
}
}
.aplayer-miniswitcher {
background: #484848;
.aplayer-icon {
path {
fill: #eee;
}
}
}
}
}

View file

@ -1,4 +1,3 @@
@import "_custom";
@import "_variables";
@import "_core/normalize";
@ -12,3 +11,5 @@
@import "_partial/pagination";
@import "_core/media";
@import "_custom";

View file

@ -269,15 +269,16 @@ jQuery(function($) {
if (window.typeitArr) {
for (let i = 0; i < typeitArr.length; i++) {
const group = typeitArr[i];
(function typeone (i) {
(function typeone(i) {
const content = document.getElementById(`r${group[i]}`).innerHTML;
if (i === group.length - 1) {
new TypeIt(`#${group[i]}`, {
strings: document.getElementById(`r${group[i]}`).innerHTML,
strings: content,
}).go();
return;
}
let instance = new TypeIt(`#${group[i]}`, {
strings: document.getElementById(`r${group[i]}`).innerHTML,
strings: content,
afterComplete: () => {
instance.destroy();
typeone(i + 1);

View file

@ -5,7 +5,7 @@ lazysizes@5.1.2
katex@0.11.1
mermaid@8.4.2
echarts@4.5.0
typeit@6.1.1
typeit@6.0.3
jquery-countdown@2.2.0
aplayer@1.10.1
meting@2.0.1

10
assets/js/lib/typeit/typeit.min.js vendored Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -226,7 +226,7 @@ unsafe = true
placeholder = "Your comment ..."
visitor = true
recordIP = true
[params.facebook] # Facebook Comment Config (https://developers.facebook.com/docs/plugins/comments)
enable = false
width = "100%"

View file

@ -77,7 +77,7 @@
{{ if eq (getenv "HUGO_ENV") "production" | and .Site.Params.cdn.typeit_js }}
{{ $typeit = .Site.Params.cdn.typeit_js }}
{{ else }}
{{ $res := resources.Get "js/lib/typeit/typeit.modern.min.js" | resources.Minify }}
{{ $res := resources.Get "js/lib/typeit/typeit.min.js" | resources.Minify }}
{{ $typeit = printf "<script src=\"%s\"></script>" $res.RelPermalink }}
{{ end }}
<!-- jQuery.countdown https://github.com/hilios/jQuery.countdown -->
@ -96,6 +96,8 @@
{{ $res := resources.Get "css/lib/aplayer/APlayer.min.css" | resources.Minify }}
{{ $aplayer_css = printf "<link rel=\"stylesheet\" href=\"%s\">" $res.RelPermalink }}
{{ end }}
{{ $res := resources.Get "css/lib/aplayer/APlayer.dark.scss" | resources.ToCSS | resources.Minify }}
{{ $aplayer_dark_css := printf "<link rel=\"stylesheet\" href=\"%s\">" $res.RelPermalink }}
{{ $aplayer_js := "" }}
{{ if eq (getenv "HUGO_ENV") "production" | and .Site.Params.cdn.aplayer_js }}
{{ $aplayer_js = .Site.Params.cdn.aplayer_js }}
@ -103,7 +105,7 @@
{{ $res := resources.Get "js/lib/aplayer/APlayer.min.js" | resources.Minify }}
{{ $aplayer_js = printf "<script src=\"%s\"></script>" $res.RelPermalink }}
{{ end }}
{{ $aplayer := delimit (slice $aplayer_css $aplayer_js) "" }}
{{ $aplayer := delimit (slice $aplayer_css $aplayer_dark_css $aplayer_js) "" }}
<!-- MetingJS https://github.com/metowolf/MetingJS -->
{{ $meting := "" }}
{{ if eq (getenv "HUGO_ENV") "production" | and .Site.Params.cdn.meting_js }}

View file

@ -10,7 +10,7 @@
<div id={{ $id }}></div>
{{ else if .Get "code" }}
<!-- highlight code content without line number -->
{{ $content = highlight $content (.Get "code") "linenos=" }}
{{ $content = highlight $content (.Get "code") "linenos=false" }}
<!-- delete outer label -->
{{ $content = replaceRE `<div class="highlight"><pre class="chroma"><code[^<>]*>(?s)(.*)</code></pre></div>` "$1" $content }}
<!-- parsing markdown links -->