From f1176f7351cb4332e3dd650291dd4afd6b44562e Mon Sep 17 00:00:00 2001 From: {{ouyangyanhuo}} <{{ouyangyanhuo@vip.qq.com}}> Date: Tue, 24 Aug 2021 11:50:30 +0800 Subject: [PATCH] Version1.2.1 --- README.md | 8 +- assets/comments.all.css | 100 +++ assets/comments.min.css | 1 + assets/favicon.ico | Bin 0 -> 15406 bytes assets/features.js | 1 + assets/main.all.css | 1677 +++++++++++++++++++++++++++++++++++++++ assets/main.min.css | 1 + comments.php | 2 +- core/functions.php | 3 +- footer.php | 2 +- functions.php | 53 +- header.php | 10 +- index.php | 2 +- 13 files changed, 1833 insertions(+), 27 deletions(-) create mode 100755 assets/comments.all.css create mode 100644 assets/comments.min.css create mode 100644 assets/favicon.ico create mode 100644 assets/features.js create mode 100644 assets/main.all.css create mode 100644 assets/main.min.css mode change 100644 => 100755 footer.php mode change 100644 => 100755 functions.php diff --git a/README.md b/README.md index c24821f..dfb0e98 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ 一个为typecho移植的主题,源自于[hugo-tania](https://github.com/WingLim/hugo-tania)主题,原本是Hugo的主题,被移植到Typecho上 [![AdminMD](https://img.shields.io/badge/Magneto-SmileTheme-brightgreen?style=for-the-badge&logo=github)](https://www.symbk.cn/technology/523/) -![Version](https://img.shields.io/badge/Version-1.2-critical?style=for-the-badge&logo=gitee) +![Version](https://img.shields.io/badge/Version-1.2.1-critical?style=for-the-badge&logo=gitee) ![Repo-size](https://img.shields.io/github/repo-size/ouyangyanhuo/SmileTheme?style=for-the-badge&logo=google) ![License](https://img.shields.io/github/license/ouyangyanhuo/SmileTheme?style=for-the-badge&logo=twitter) ![Stars](https://img.shields.io/github/stars/ouyangyanhuo/SmileTheme?style=for-the-badge&logo=Instagram) @@ -13,9 +13,11 @@ ## 最近版本更新日志 - 1.✨新增了代码压缩功能。 + 1.✨新增了SEO相关功能。 - 2.优化了代码构成 + 2.优化了代码构成。 + + 3.优化了代码压缩功能。 ## 功能与特性 - 简洁风格 diff --git a/assets/comments.all.css b/assets/comments.all.css new file mode 100755 index 0000000..2325774 --- /dev/null +++ b/assets/comments.all.css @@ -0,0 +1,100 @@ +.comment-author .avatar { + float:left; + margin-right:8px; + border-radius:100% +} +.comment-meta { + overflow:hidden; + line-height:1.4; + margin-bottom:10px +} +.comment .fn { + color:#bc403e +} +.comment-body { + padding:30px 0; + border-bottom:1px solid #eee; + position:relative +} +.comment-body p { + font-size:14px; + color:var(--comment-body-color); +} +.comment-body p:last-child { + margin-bottom:0 +} +.comment-body .reply { + position:absolute; + top:10px; + right:0 +} +.comment-body .reply .comment-reply-link { + color:#fff; + font-family:exoregular; + display:inline-block; + line-height:1.2; + border-radius:3px; + padding:3px 8px; + background-color:#bc403e; + font-size:12px +} +.comment-list { + padding-bottom:30px +} +.comment-reply-title,.comments-title { + font-size:18px; + color:rgba(0,0,0,.44); + margin-bottom:20px +} +.comment-form label { + display:block; + font-size:12px; + color:#999 +} +.comment-form p { + margin-bottom:20px +} +.comment-form input[type=text] { + line-height:32px; + width:260px; + padding:0 10px +} +#comment,.comment-form input[type=text] { + border-radius:3px; + background-color:var(--comment-background-color); + border:1px solid #eee; + font-size:14px +} +#comment { + resize:none; + padding:10px; + box-sizing:border-box; + width:100% +} +.says { + display:none +} +.comment-meta { + font-size:14px; + color:rgba(0,0,0,.44) +} +.comments-pagination { + margin-bottom:15px +} +#submit { + background-color:var(--submit-color); + display:inline-block; + border:1px solid #eee; + padding:4px 8px; + font-size:14px; + color:#999; + cursor:pointer; + border-radius:3px +} +#submit:hover { + border-color:#bc403e; + color:#bc403e +} +.says { + display:none +} \ No newline at end of file diff --git a/assets/comments.min.css b/assets/comments.min.css new file mode 100644 index 0000000..8f754f1 --- /dev/null +++ b/assets/comments.min.css @@ -0,0 +1 @@ +.comment-author .avatar{float:left;margin-right:8px;border-radius:100%}.comment-meta{overflow:hidden;line-height:1.4;margin-bottom:10px}.comment .fn{color:#bc403e}.comment-body{padding:30px 0;border-bottom:1px solid #eee;position:relative}.comment-body p{font-size:14px;color:var(--comment-body-color)}.comment-body p:last-child{margin-bottom:0}.comment-body .reply{position:absolute;top:10px;right:0}.comment-body .reply .comment-reply-link{color:#fff;font-family:exoregular;display:inline-block;line-height:1.2;border-radius:3px;padding:3px 8px;background-color:#bc403e;font-size:12px}.comment-list{padding-bottom:30px}.comment-reply-title,.comments-title{font-size:18px;color:rgba(0,0,0,.44);margin-bottom:20px}.comment-form label{display:block;font-size:12px;color:#999}.comment-form p{margin-bottom:20px}.comment-form input[type=text]{line-height:32px;width:260px;padding:0 10px}#comment,.comment-form input[type=text]{border-radius:3px;background-color:var(--comment-background-color);border:1px solid #eee;font-size:14px}#comment{resize:none;padding:10px;box-sizing:border-box;width:100%}.says{display:none}.comment-meta{font-size:14px;color:rgba(0,0,0,.44)}.comments-pagination{margin-bottom:15px}#submit{background-color:var(--submit-color);display:inline-block;border:1px solid #eee;padding:4px 8px;font-size:14px;color:#999;cursor:pointer;border-radius:3px}#submit:hover{border-color:#bc403e;color:#bc403e}.says{display:none} \ No newline at end of file diff --git a/assets/favicon.ico b/assets/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..b9545fa3eb8eb7f887ee493671cbd927bbb32122 GIT binary patch literal 15406 zcmeHOdvH|M8NYzGKBl8m5&Ms(Y83*)lDoS}HX+#%^4i@{P*J3eqVfoe5fwp1ZM2A@ z5(FPq1QhLvKnsd9C{Q0k0f7LHqxDfc9qUvbixmN>MCI%6cXrS9=I-6yyPKqxPBU}n z?mg#xzwdXR_dDNrVi?_w9>&Qh8+hg!4aXQp&@ha=y!d;cQw(D%@_fET`MHL%rI%s! zK^=%dBA$c8M6={fFRIdkSycKO4)uQX=$t6xdc@^`E{I$u8v zQN}v@-RkEQ{iW-rdV+U+j37T`-YO}bGy~~o3E%dRL|^^V(i3gjE8*K8R%NU+WbTT1 zSz>%^R=g?Zz`pHLXv{=QzU1<&+m*3y%`>}1&yDh#^OMR=Uq8hm+VYi{gZd?vm(OSx z@{hIbU04(wkyK6{;iiQWzT;8Xvcl*uB?8$3U%&DGP|;y?P=7If`Qi@@l3+M2#TSi{ z(g{;l;_qO%0%ZlN4(s}h3lEzE^BXt^(7*BdW1AnT`drT;J%1>lYW}9gaLiu|13c_= z(J7xOd(1xfDQo}Ze75G5WBszsUbi!TbDzmW3L|lU>geCdRyhgn9F4Xw#$Tm4QwnLUe&p{+>?q~RYkTR6jIN3gde*)Sv7pX0Su9Tc8OAKOV zqd&G=eo?4gLM7GVGQJPE^l-@Eq*Fo~UxgKD=&-BmAtDTAN=t4dX` z>~+`a&m}&tN%H~Y z-JGh=W81%%bMILz-RrJS(yR6BXZN~m~qK#I)-i`Ryz0u~%fx7H#6Z4JhJE?9A z`~K-u9#NR5PHGna6FXC4Qa%EGtaEBZvy%DQ^$UdgaEY zEB`LiY3V}y^>@t5qt57S`-HYv)#IB~s(EIoL^gcd&Q49q4f8Fs@iS$IS@J7(OLWr@ z_N7f$e?u+(<+scevtWR$Z56Djkg6rGT6JwWDzEy9*Cbdu)K%6jIA6-9&2h@=?{{4O z=^gH}b{o_jAhm1Wb>c|f+7HF=_hpo?erl^-mipNTDzCI*dPaHLpCwmZYsZMo!lrcE z%5Lwa<8QFbYP&^^ZD4SzCk(bTw)txdC${yF_=Bb=*+6lj)F<}l#Qa;#_SdcZ$dkNo zQ}yq*S^8_1@61ZJ_PGzVtg_drzjDEISz+)DpvSFZ*5a&WhcvHLvfO{T2i86N!9mV# z-8L^ze^F4lR?25SAc0U(RQgQb(samvAs+Ya45`S0R^CZe{ zL!B#yXRu&-So}o+F|l5G{!(WvUi3Ze~{rp4U95MSl&LGhb8EoM!+wb}O zp*aBm1kOqHhpS!cMZc1b+to?-w$_vBschr8ed=l>rr>cf1{um`!uMKkvlX??q-_WF z4MkgN%XIqr+bh4LwI2N>aM2oLkvhXq0+^(~CXw#Zx8#(%Ryi9!peV*_Hs9% zi@fid_?vl&ve~Rl8OjnP3Al?h!h$2+8)6RIDbsL9TMIs)q?qs4-tH_{GL!`dv548l zv=w}0mz+r-5c>0Dq@4E<-5z2nEc%sz-6d@h=~lN(dO_z@qIl<}Z-JIoW3Wr`5qWVLhldon~L+zJ>8x4=hh>m3~P7vRy)- zWRJ+?WX_3rq}7JRdynX~a{6_TNZ`pg;dlJjTR+8PsV}O%HN`lLPzq|0Z?iKA{+Wvs)x_O|?V;{9sP)VKa{mQ2HApYuCyw#u>C zZ(M!NPMo1wo4u}?4-O5A1Lp$c&*$8=TFj+8q-^cq5CcEZ&d*MtJM+rcek27;w#zxQ zRx6nv(fFL}R?{H8uYEAS#@*L%yYay~SZcSIqHyzIY(92!b-u^o_dSi=p^xja_jM0T z2>xisxMSPB`;%FhG9kpiujvO%i7#-%*W z1+AB{E@Jy0-I9^Nk^yJi*~63l&Uu_Jex$kN`pgC&^ZgTjZpu~Pk(NUn;%B}r#`#Ed zw(G|_Q0G;9-cj{Can?@9nLd2piHW|vMiYMx2C?!;OF0 z)Vty1_QQVeV;h7@m{s$m88BQe~y8j zKgTvSdR*4{>^H{AYF53Kq(|e|u6a-0^>X&Hm-o;mW0U46xpNI@d_HSe|0!o39br@}=r`#`jCE zXzZXK-h=$Dr9)#^-1T^eae2p+-wKUM`ypWiDf^B03ksvdJFW-oU&o@AE}Yp)#!l`q zZedNGMArXZ@dtNhzuE2Q%6Y%{bXOqLdSkp)-6!C;8L4J@s{|{CbeKP5rbF&~I^O>Y z`imKu zST{3ZHe$_w<3;|zqK+^BkZBIQ5!}0vG>jhL^cy7H4{m=aI_r0QgW2yzh^f<-DZX&D zO3JQ5o*D!4*$p8mFjL0?~6n>e)@x*s_jo%;Bm(1ksRJ_c9+72A=m|4`%pho1ajjI{nkBNzW|SB--c*Mt97&!vv| z&%0{1CH|eg<1(oJA zD%Rp8lIuJ6CAGIAz5&jeV+78;3Qdz`p^%Lwz#< literal 0 HcmV?d00001 diff --git a/assets/features.js b/assets/features.js new file mode 100644 index 0000000..a461321 --- /dev/null +++ b/assets/features.js @@ -0,0 +1 @@ +(()=>{(function(l){let c=!1;l.currentScript&&(c=l.currentScript.dataset.enableFootnotes=="true"),c&&function(){let i=e=>{!e||(e.remove?e.remove():e.parentNode.removeChild(e))},d=(e,t)=>{e.after?e.after(t):e.parentNode.insertBefore(t,e.nextSibling)},h=e=>{var t=e.parentNode,o=e.innerHTML,r=document.createElement("div");d(t,r),r.appendChild(e),e.innerHTML="",e.appendChild(t),t.innerHTML=o,d(r,r.firstElementChild),i(r)};document.querySelectorAll('.footnotes > ol > li[id^="fn"], #refs > div[id^="ref-"]').forEach(function(e){let t=document.querySelectorAll('a[href="#'+e.id+'"]');if(t.length===0)return;t.forEach(function(u){u.removeAttribute("href")});let o=t[0],r=document.createElement("div");if(r.className="side side-right",/^fn/.test(e.id)){r.innerHTML=e.innerHTML;var m=o.innerHTML;r.firstElementChild.innerHTML=''+m+" "+r.firstElementChild.innerHTML,i(r.querySelector('a[href^="#fnref"]')),o.parentNode.tagName==="SUP"&&h(o)}else r.innerHTML=e.outerHTML,o=o.parentNode;d(o,r),o.classList.add("note-ref"),i(e)}),document.querySelectorAll(".footnotes, #refs").forEach(function(e){var t=e.children;if(e.id==="refs")return t.length===0&&i(e);t.length!==2||t[0].tagName!=="HR"||t[1].tagName!=="OL"||t[1].childElementCount===0&&i(e)})}()})(document);var M=function(){for(let l=1;l<=6;l++){let c=document.querySelectorAll(".article-post>h"+l);for(let s=0;s${i.innerHTML}`}}}(),S=function(){let l=document.documentElement,c="user-color-scheme",s="data-user-color-scheme",i=document.getElementById("dark-mode-button"),d=(n,a)=>{try{localStorage.setItem(n,a)}catch(g){}},h=n=>{try{localStorage.removeItem(n)}catch(a){}},e=n=>{try{return localStorage.getItem(n)}catch(a){return null}},t=()=>window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light",o=()=>{l.removeAttribute(s),h(c)},r={dark:!0,light:!0},m=n=>{let a=n||e(c);a===t()?o():r[a]?l.setAttribute(s,a):o()},u={dark:"light",light:"dark"},f=()=>{let n=e(c);if(r[n])n=u[n];else if(n===null)n=u[t()];else return;return d(c,n),n};m(),i.addEventListener("click",()=>{m(f())})}();})(); diff --git a/assets/main.all.css b/assets/main.all.css new file mode 100644 index 0000000..f8f71fb --- /dev/null +++ b/assets/main.all.css @@ -0,0 +1,1677 @@ +html { + line-height:1.15; + -webkit-text-size-adjust:100% +} +body { + margin:0 +} +main { + display:block +} +h1 { + font-size:2em; + margin:.67em 0 +} +hr { + box-sizing:content-box; + height:0; + overflow:visible +} +pre { + font-family:monospace,monospace; + font-size:1em +} +a { + background-color:transparent +} +abbr[title] { + border-bottom:none; + text-decoration:underline; + text-decoration:underline dotted +} +b,strong { + font-weight:bolder +} +code,kbd,samp { + font-family:monospace,monospace; + font-size:1em +} +small { + font-size:80% +} +sub,sup { + font-size:75%; + line-height:0; + position:relative; + vertical-align:baseline +} +sub { + bottom:-.25em +} +sup { + top:-.5em +} +img { + border-style:none +} +button,input,optgroup,select,textarea { + font-family:inherit; + font-size:100%; + line-height:1.15; + margin:0 +} +button,input { + overflow:visible +} +button,select { + text-transform:none +} +button,[type=button],[type=reset],[type=submit] { + -webkit-appearance:button +} +button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner { + border-style:none; + padding:0 +} +button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring { + outline:1px dotted ButtonText +} +fieldset { + padding:.35em .75em .625em +} +legend { + box-sizing:border-box; + color:inherit; + display:table; + max-width:100%; + padding:0; + white-space:normal +} +progress { + vertical-align:baseline +} +textarea { + overflow:auto +} +[type=checkbox],[type=radio] { + box-sizing:border-box; + padding:0 +} +[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button { + height:auto +} +[type=search] { + -webkit-appearance:textfield; + outline-offset:-2px +} +[type=search]::-webkit-search-decoration { + -webkit-appearance:none +} +::-webkit-file-upload-button { + -webkit-appearance:button; + font:inherit +} +details { + display:block +} +summary { + display:list-item +} +template { + display:none +} +[hidden] { + display:none +} +*,*::before,*::after { + box-sizing:border-box +} +:root { + --color-mode:light; + --h1-color:#343a40; + --font-color:#495057; + --heading-color:#343a40; + --background:white; + --dark-font-color:#1b1d25; + --medium-font-color:#60656c; + --light-font-color:#858b93; + --light-background:#f1f4f8; + --light-background-hover:#e1e6ed; + --border:#d6d9de; + --link-color:#5183f5; + --link-color-darker:#364fc7; + --navbar-color:#1b1d25; + --blockquote:#f9f9f9; + --blockquote-left:#e3e6eb; + --transparent-text:rgba(0,0,0,0.7); + --transparent-bg:rgba(0,0,0,0.05); + --light-transparent-bg:rgba(255,255,255,0.1) +} +.flex { + display:flex; + align-items:center +} +.flex-row { + display:flex; + flex-direction:column +} +@media screen and (min-width:800px) { + .flex-row { + flex-direction:row +} +}.flex-col { + flex:1 +} +.flex-two-thirds { + flex:2 +} +.justify-center { + justify-content:center +} +html { + font-family:-apple-system,BlinkMacSystemFont,helvetica neue,roboto,Roboto,Arial,noto sans,sans-serif,apple color emoji,segoe ui,segoe ui emoji,segoe ui symbol,noto color emoji; + color:var(--font-color); + font-weight:400; + font-size:1rem; + line-height:1.75 +} +body { + background:var(--background); + margin:0; + padding:0 +} +section { + margin:2rem 0 +} +section:first-of-type { + margin-top:0 +} +section > h2 { + display:flex; + align-items:center; + font-size:1.6rem; + margin-top:0; + margin-bottom:.5rem +} +@media screen and (min-width:800px) { + section > h2 { + margin-bottom:2rem +} +}.index h2,section > h2 { + border-bottom-width:0 +} +@media screen and (min-width:800px) { + .index h2,section > h2 { + border-bottom-width:4px +} +}a.section-button { + font-weight:500; + background:var(--light-background); + color:var(--dark-font-color); + padding:.4rem .6rem; + font-size:.8rem; + border-radius:.3rem; + border-width:0 !important; + white-space:nowrap; + line-height:1; + margin-left:2rem; + margin-top:.5rem +} +a.section-button:hover { + background:var(--light-background-hover); + color:var(--heading-color) +} +@media screen and (min-width:800px) { + section { + margin:3.5rem 0 +} +section > h2 { + font-size:2rem; + margin:0 0 1rem +} +}.container { + max-width:825px; + padding:0 1.5rem; + margin-left:auto; + margin-right:auto +} +.container.page p { + max-width:600px +} +@media screen and (min-width:800px) { + .container { + padding:0 2rem +} +}img { + display:inline-block; + max-width:100%; + height:auto +} +p,ol,ul,dl,table,blockquote { + font-size:1.05rem; + margin:0 0 1.5rem +} +ul { + padding:0 1rem +} +@media screen and (min-width:800px) { + p,ol,ul,dl,table,blockquote { + font-size:1.125rem +} +ul { + padding:0 2rem +} +}ul li p { + margin:0 +} +ul li ul { + padding-left:1rem; + margin:0 +} +ul li ul li { + margin:0 +} +ol li ol { + margin-bottom:0 +} +.task-list-item [type=checkbox] { + margin-right:.5rem +} +blockquote { + margin:2rem 0; + padding:1rem; + background:var(--blockquote); + font-weight:400; + border-left:5px solid var(--blockquote-left) +} +blockquote:not(pre) > code[class*=language-] { + background:rgba(0,0,0,.1) !important +} +@media screen and (min-width:800px) { + blockquote { + padding:2rem 0 2rem 2rem +} +}::selection { + background:#3b5bdb; + color:#fff +} +h1 { + color:var(--h1-color) +} +h3,h4 { + color:var(--medium-font-color) +} +h2,h5 { + color:var(--heading-color) +} +h1,h2,h3,h4,h5 { + margin:0 0 1.5rem; + font-weight:700; + line-height:1.2; + -webkit-font-smoothing:antialiased; + -moz-osx-font-smoothing:grayscale +} +h1:not(:first-child),h2:not(:first-child),h3:not(:first-child),h4:not(:first-child) { + margin-top:3rem +} +h1 { + font-size:2.5rem; + line-height:1.1 +} +h2 { + font-size:1.75rem; + padding-bottom:.5rem; + border-bottom:4px solid var(--light-background) +} +h2 code { + font-size:1.75rem !important +} +h3 { + font-size:1.5rem; + color:var(--font-color); + font-weight:600; + margin-bottom:1rem +} +h3 code { + font-size:1.4rem !important +} +h4 { + font-size:1.3rem; + color:var(--font-color); + font-weight:500; + margin-bottom:1rem; + border-bottom:2px solid var(--light-background); + padding-bottom:.25rem +} +h5 { + font-size:1.2rem; + margin-bottom:1rem +} +@media screen and (min-width:800px) { + h1 { + font-size:3rem +} +h2 { + font-size:1.9rem +} +h2 code { + font-size:1.9rem !important +} +h3 { + font-size:1.7rem; + color:var(--font-color); + font-weight:600 +} +h3 code { + font-size:1.6rem !important +} +h4 { + font-weight:400; + font-size:1.4rem +} +}a.link { + display:block; + padding:.25rem 0; + margin:.25rem 0; + border-radius:.35rem; + font-weight:600; + color:var(--dark-font-color) +} +a.link:hover { + color:var(--link-color) +} +a.button { + display:inline-block; + border:2px solid var(--link-color); + padding:.3rem .6rem; + margin-right:.75rem; + font-weight:500; + background:var(--link-color); + color:#fff; + border-radius:.35rem; + font-size:.9rem +} +a.button.large { + padding:.8rem 1rem; + font-size:1.05rem +} +a.button.secondary { + border:2px solid #edf2ff; + background:#edf2ff; + color:#3b5bdb +} +a.button:hover,a.button.secondary:hover { + border:2px solid var(--link-color-darker); + background:var(--link-color-darker); + color:#fff +} +@media screen and (min-width:800px) { + a.button { + font-size:.9rem +} +a.button.large { + padding:1rem 1.5rem; + font-size:1.1rem +} +}p.subtitle { + color:var(--medium-font-color); + font-size:1.3rem; + font-weight:300; + margin-bottom:0 +} +@media screen and (min-width:800px) { + p.subtitle { + font-size:1.5rem +} +}a { + color:inherit; + text-decoration:none +} +a.image-link { + border-width:0 +} +a code[class*=language-] { + color:var(--link-color) !important +} +a code[class*=language-]:hover { + background:var(--link-color) !important; + color:#fff !important +} +main { + margin-top:50px +} +@media screen and (min-width:800px) { + main { + margin-top:0 +} +}.emoji { + margin:0 .4rem 0 .1rem +} +.navbar { + width:100%; + position:fixed; + top:0; + left:0; + background:var(--navbar-color); + box-shadow:0 3px 13px rgba(100,110,140,.1),0 2px 4px rgba(100,110,140,.15); + z-index:2; + padding:.5rem +} +.navbar .flex { + justify-content:space-between +} +.navbar a { + border-radius:.35rem; + margin:0 .05rem; + color:rgba(255,255,255,.65); + font-weight:400; + font-size:.85rem; + border:1px solid transparent; + padding:0 .3rem; + background:0 0 +} +.navbar a:first-of-type { + margin-left:-1rem +} +.navbar a .emoji { + display:none +} +.navbar a.brand { + font-weight:500; + color:#fff; + white-space:nowrap; + border:none; + display:flex; + align-items:center; + line-height:1; + background:0 0 +} +.navbar a.brand .emoji { + display:inline-block !important +} +.navbar a.brand img { + height:22px; + width:22px +} +.navbar button { + font-size:1rem; + margin-right:-1rem +} +@media screen and (min-width:500px) { + .navbar a { + font-size:.95rem; + padding:.5rem +} +}@media screen and (min-width:800px) { + .emoji { + margin:0 .5rem 0 .1rem +} +.navbar { + position:static; + padding:1.5rem 0; + background:0 0; + box-shadow:none +} +.navbar .flex { + justify-content:space-between +} +.navbar a { + padding:.75rem 1.25rem; + margin:0 .25rem; + font-size:1.2rem; + font-weight:400; + color:var(--font-color) +} +.navbar a:first-of-type { + margin-left:-1.5rem +} +.navbar a:hover,.navbar a[aria-current=page] { + background:var(--light-background); + color:var(--dark-font-color) +} +.navbar a.brand { + font-size:1.3rem; + margin-right:3rem; + border:none; + background:0 0 !important; + color:var(--dark-font-color) +} +.navbar a.brand:hover { + background:var(--light-background) !important +} +.navbar a.brand img { + height:26px; + width:26px; + margin-right:.25rem +} +#dark-mode-button:hover { + background:var(--light-background) +} +}@media print { + .navbar { + display:none +} +}#dark-mode-button { + display:flex; + border:none; + padding:.2rem .7rem .2rem .5rem; + border-radius:.35rem; + box-sizing:content-box; + cursor:pointer; + font-size:1.1rem; + background:0 0 +} +#dark-mode-button .dark { + display:none +} +#dark-mode-button:focus { + outline:none +} +[data-user-color-scheme] #dark-mode-button .light { + display:none +} +[data-user-color-scheme] #dark-mode-button .dark { + display:unset +} +@media screen and (min-width:800px) { + #dark-mode-button { + padding:.95rem .75rem; + font-size:1.2rem +} +}.my { + padding-top:2rem +} +.my a { + border:none; + margin-right:1rem +} +.my a:hover { + border:none +} +.post-row { + display:flex; + align-items:center; + width:100% +} +.post-row time { + display:block; + flex:0 0 65px +} +.post-row h3 { + flex:1 +} +.posts .post:last-of-type a { + border-bottom-width:0 +} +.post a { + display:flex; + align-items:center; + justify-content:stretch; + padding:1rem 0; + border-bottom:2px solid var(--light-background) +} +.post a:hover { + border-radius:.3rem +} +.post h3 { + margin-top:.1rem; + margin-bottom:0; + font-size:1.1rem; + font-weight:600 +} +@media screen and (min-width:800px) { + .posts { + margin-left:-1rem; + margin-right:-1rem +} +.post a { + padding:.75rem 1rem; + border-bottom-color:transparent +} +.post a:hover { + background:var(--light-background) +} +.post h3 { + font-size:1.3rem +} +.post-row time { + flex:0 0 80px +} +}.new-post,.popular-post { + display:inline-block; + color:#111; + padding:.3rem .4rem; + border-radius:.3rem; + font-size:.85rem; + margin-left:1rem +} +.new-post { + background:#d3f9d8 +} +.popular-post { + background:#dce6fd; + color:var(--heading-color) +} +@media screen and (min-width:800px) { + .new-post,.popular-post { + margin-bottom:0 +} +}.footer { + padding:2rem 0 +} +.footer > .flex { + flex-direction:column; + align-items:center; + justify-content:center +} +.footer img { + height:30px; + width:30px +} +.footer a { + border-radius:.35rem; + margin:0 .05rem; + font-weight:400; + font-size:1rem; + border:1px solid transparent; + padding:.5rem; + margin:0 .5rem; + color:var(--light-font-color) +} +.footer a:hover { + color:var(--heading-color); + background:var(--light-background) +} +.footer a.img { + display:flex; + align-items:center; + padding:0; + margin:0 .75rem; + background:0 0 +} +.footer-links { + display:flex; + align-items:center; + justify-content:center; + flex-wrap:wrap +} +.flex nav { + padding:1rem 0 +} +@media screen and (min-width:800px) { + .footer > .flex { + align-items:flex-start; + margin-left:-1.5rem; + margin-right:-1.5rem +} +.footer a { + padding:.75rem +} +.footer a.img { + padding:0 .5rem; + margin:0 1rem +} +}@media print { + .footer { + display:none +} +}.small { + max-width:600px +} +time,.meta { + color:var(--light-font-color); + font-size:.85rem; + white-space:nowrap; + font-weight:400 +} +.meta { + color:var(--medium-font-color); + font-size:1rem +} +table { + border-collapse:separate; + border-spacing:0; + width:100%; + max-width:100%; + overflow-x:auto +} +thead,tbody { + white-space:nowrap +} +th { + border-bottom:2px solid var(--border) +} +tfoot th { + border-top:1px solid var(--border) +} +td { + border-bottom:1px solid var(--border) +} +th,td { + text-align:left; + padding:.75rem; + hyphens:auto +} +tbody tr:nth-child(even) { + background-color:var(--light-background) +} +@media screen and (min-width:800px) { + table { + display:table; + border:1px solid var(--border) +} +thead,tbody { + white-space:normal +} +}.count { + font-weight:700; + color:var(--link-color) +} +.tags { + display:flex !important; + flex-wrap:wrap; + align-items:center; + margin-left:-.5rem; + margin-right:-.5rem +} +.tags > a { + display:block; + font-weight:500; + background:var(--light-background); + color:var(--font-color); + margin:.2rem; + padding:.5rem .6rem; + font-size:.8rem; + border-radius:.3rem; + border-bottom:0; + white-space:nowrap; + line-height:1 +} +.tags > a:hover { + background:var(--light-background-hover); + color:var(--heading-color) +} +mark { + background:#ffec99 +} +.utterances { + margin-left:-4px; + margin-right:-4px +} +kbd { + background-color:#f7f7f7; + border:2px solid rgba(0,0,0,.3); + border-radius:3px; + box-shadow:0 1px rgba(0,0,0,.2),inset 0 0 0 2px #fff; + color:#333; + display:inline-block; + font-family:Helvetica Neue,Inter,-apple-system,BlinkMacSystemFont,Helvetica,Arial,sans-serif; + line-height:1.4; + margin:0 .1em; + padding:.1em .6em; + text-shadow:0 1px 0 #fff; + font-size:14px +} +#comments { + margin-top:3rem +} +#comments h2 { + margin:0 +} +@media print { + .comments,#comments { + display:none +} +}#search-query { + padding:.8rem 1rem; + background:var(--light-background); + color:var(--input-color); + border:2px solid var(--border); + outline:none; + width:100%; + border-radius:.35rem; + font-size:1rem; + margin-left:auto; + margin-right:auto; + margin-bottom:4rem +} +#search-query:focus { + border-color:#5183f5 +} +#search-results { + display:none +} +.filter-container { + display:flex; + justify-content:flex-start; + margin-bottom:1.5rem; + flex-wrap:wrap +} +.filter-item { + font-size:.85rem; + padding:.5rem .75rem; + background:var(--light-background); + border-radius:4px; + margin-right:.5rem; + margin-bottom:.5rem; + font-weight:600; + cursor:pointer +} +.filter-item:hover { + background:#d8e3fd; + color:#3972f4 +} +.filter-item:last-of-type { + margin-right:0 +} +.filter-item.active { + background:#5183f5; + color:#fff +} +.filter-item.active:hover { + color:#fff; + background:#2161f2 +} +header { + padding:1.5rem 0 +} +header h1 { + font-size:2rem; + display:inline-block; + font-weight:600; + margin-top:1rem +} +header u { + display:inline-block; + text-decoration:none; + padding:.4rem 0 +} +.article-header { + padding-top:2rem; + margin-bottom:.5rem +} +.article-header .container { + padding-left:0; + padding-right:0 +} +.article-header .thumb { + display:flex; + flex-direction:column +} +.article-header h1 { + font-weight:700; + font-size:1.8rem; + margin:0 +} +.article-header .description { + font-size:1.2rem; + color:var(--light-font-color); + font-weight:300; + margin-top:2rem; + margin-bottom:0 +} +.post-meta { + margin-top:1rem; + padding:0; + color:var(--light-font-color); + font-size:.9rem +} +.post-meta a { + color:var(--font-color); + border-width:0 +} +.post-meta time { + margin-top:.2rem; + font-size:.9rem +} +.post-meta .tags { + margin-top:.5rem +} +.post-meta .tags a { + text-decoration:none +} +.article-post { + margin-bottom:2rem +} +.article-post img { + border-radius:5px; + display:block; + margin-left:auto; + margin-right:auto +} +.article-post a { + box-shadow:0 -2px rgba(189,195,199,.5)inset; + transition:all .3s ease +} +.article-post a:hover { + box-shadow:0 -10px rgba(189,195,199,.7)inset +} +.article-post code { + overflow-x:auto +} +.article-post h1 .anchor { + stroke:var(--link-color); + stroke-width:1px; + fill:var(--link-color); + font-weight:700; + left:-.25rem; + border-width:0; + float:left; + line-height:1; + margin-left:-20px; + padding-right:4px; + box-shadow:none; + transition:none +} +.article-post h1 .anchor .icon { + visibility:hidden +} +.article-post h1:hover .anchor { + box-shadow:none +} +.article-post h1:hover .anchor .icon { + visibility:visible +} +.article-post h2 .anchor { + stroke:var(--link-color); + stroke-width:1px; + fill:var(--link-color); + font-weight:700; + left:-.25rem; + border-width:0; + float:left; + line-height:1; + margin-left:-20px; + padding-right:4px; + box-shadow:none; + transition:none +} +.article-post h2 .anchor .icon { + visibility:hidden +} +.article-post h2:hover .anchor { + box-shadow:none +} +.article-post h2:hover .anchor .icon { + visibility:visible +} +.article-post h3 .anchor { + stroke:var(--link-color); + stroke-width:1px; + fill:var(--link-color); + font-weight:700; + left:-.25rem; + border-width:0; + float:left; + line-height:1; + margin-left:-20px; + padding-right:4px; + box-shadow:none; + transition:none +} +.article-post h3 .anchor .icon { + visibility:hidden +} +.article-post h3:hover .anchor { + box-shadow:none +} +.article-post h3:hover .anchor .icon { + visibility:visible +} +.article-post h4 .anchor { + stroke:var(--link-color); + stroke-width:1px; + fill:var(--link-color); + font-weight:700; + left:-.25rem; + border-width:0; + float:left; + line-height:1; + margin-left:-20px; + padding-right:4px; + box-shadow:none; + transition:none +} +.article-post h4 .anchor .icon { + visibility:hidden +} +.article-post h4:hover .anchor { + box-shadow:none +} +.article-post h4:hover .anchor .icon { + visibility:visible +} +.article-post h5 .anchor { + stroke:var(--link-color); + stroke-width:1px; + fill:var(--link-color); + font-weight:700; + left:-.25rem; + border-width:0; + float:left; + line-height:1; + margin-left:-20px; + padding-right:4px; + box-shadow:none; + transition:none +} +.article-post h5 .anchor .icon { + visibility:hidden +} +.article-post h5:hover .anchor { + box-shadow:none +} +.article-post h5:hover .anchor .icon { + visibility:visible +} +.article-post h6 .anchor { + stroke:var(--link-color); + stroke-width:1px; + fill:var(--link-color); + font-weight:700; + left:-.25rem; + border-width:0; + float:left; + line-height:1; + margin-left:-20px; + padding-right:4px; + box-shadow:none; + transition:none +} +.article-post h6 .anchor .icon { + visibility:hidden +} +.article-post h6:hover .anchor { + box-shadow:none +} +.article-post h6:hover .anchor .icon { + visibility:visible +} +@media screen and (min-width:800px) { + .article-post { + margin-bottom:3rem +} +.article-post h1,.article-post h2,.article-post h3,.article-post h4,.article-post h5 { + padding-top:1rem +} +.post-meta { + margin-top:.5rem; + padding:.5rem 0 +} +header h1 { + font-size:3rem; + margin-top:2rem +} +header u { + background:linear-gradient(transparent 85%,#bac8ff 0) +} +.article-header { + padding-top:3rem +} +.article-header h1 { + padding-top:0; + font-size:2.5rem +} +.article-header .thumb { + flex-direction:row +} +.article-header .description { + font-size:1.8rem; + line-height:1.5 +} +}@media screen and (min-width:1100px) { + .article-header h1 { + font-size:2.5rem +} +}.post-thumbnail { + display:block !important +} +code,pre { + font-size:.9rem; + font-family:Consolas,Monaco,Menlo,dejavu sans mono,bitstream vera sans mono,courier new,monospace; + background:#373b41 +} +:not(pre) > code { + color:var(--dark-font-color); + background:var(--light-background) +} +code { + padding:3px 5px; + border-radius:4px; + color:#f8f8f2 +} +pre > code { + display:block +} +.highlight > .chroma { + margin:0 0 2rem; + border-radius:5px; + overflow-x:auto; + box-shadow:1px 1px 2px rgba(0,0,0,.125); + position:relative; + background:#373b41 +} +.highlight > .chroma code { + padding:30px 10px 10px +} +.highlight > .chroma code[data-lang]::before { + position:absolute; + top:0; + right:0; + left:0; + padding:2px 10px; + width:100%; + height:30px; + font-size:.9rem; + line-height:1.9; + font-weight:700; + color:#b1b1b1; + background:#303339; + content:attr(data-lang) +} +.highlight > .chroma table { + position:relative; + border:none +} +.highlight > .chroma table code { + padding:0 +} +.highlight > .chroma .lntd:first-child { + width:10px +} +.highlight > .chroma .lntd:first-child pre { + margin:0; + padding:30px 7px 10px +} +.highlight > .chroma .lntd:last-child { + vertical-align:top +} +.highlight > .chroma .lntd:last-child pre { + margin:0; + padding:30px 10px 10px +} +.highlight > .chroma table,.highlight > .chroma tr,.highlight > .chroma td { + margin:0; + padding:0; + width:100%; + border-collapse:collapse; + border:none +} +.highlight > .chroma .hl { + display:block; + width:100%; + background-color:#000 +} +.highlight > .chroma .lnt { + color:#7f7f7f +} +.highlight > .chroma .ln { + padding:0 .4em; + color:#7f7f7f +} +.highlight > .chroma .err { + color:#960050 +} +.highlight > .chroma .c { + color:#999 +} +.highlight > .chroma .err { + color:#f2777a +} +.highlight > .chroma .k { + color:#c9c +} +.highlight > .chroma .l { + color:#f99157 +} +.highlight > .chroma .n { + color:#ccc +} +.highlight > .chroma .o { + color:#6cc +} +.highlight > .chroma .p { + color:#ccc +} +.highlight > .chroma .cm { + color:#999 +} +.highlight > .chroma .cp { + color:#999 +} +.highlight > .chroma .c1 { + color:#999 +} +.highlight > .chroma .cs { + color:#999 +} +.highlight > .chroma .gd { + color:#f2777a +} +.highlight > .chroma .ge { + font-style:italic +} +.highlight > .chroma .gh { + color:#ccc; + font-weight:700 +} +.highlight > .chroma .gi { + color:#9c9 +} +.highlight > .chroma .gp { + color:#999; + font-weight:700 +} +.highlight > .chroma .gs { + font-weight:700 +} +.highlight > .chroma .gu { + color:#6cc; + font-weight:700 +} +.highlight > .chroma .kc { + color:#c9c +} +.highlight > .chroma .kd { + color:#c9c +} +.highlight > .chroma .kn { + color:#6cc +} +.highlight > .chroma .kp { + color:#c9c +} +.highlight > .chroma .kr { + color:#c9c +} +.highlight > .chroma .kt { + color:#fc6 +} +.highlight > .chroma .ld { + color:#9c9 +} +.highlight > .chroma .m { + color:#f99157 +} +.highlight > .chroma .s { + color:#9c9 +} +.highlight > .chroma .na { + color:#69c +} +.highlight > .chroma .nb { + color:#ccc +} +.highlight > .chroma .nc { + color:#fc6 +} +.highlight > .chroma .no { + color:#f2777a +} +.highlight > .chroma .nd { + color:#6cc +} +.highlight > .chroma .ni { + color:#ccc +} +.highlight > .chroma .ne { + color:#f2777a +} +.highlight > .chroma .nf { + color:#69c +} +.highlight > .chroma .nl { + color:#ccc +} +.highlight > .chroma .nn { + color:#fc6 +} +.highlight > .chroma .nx { + color:#69c +} +.highlight > .chroma .py { + color:#ccc +} +.highlight > .chroma .nt { + color:#6cc +} +.highlight > .chroma .nv { + color:#f2777a +} +.highlight > .chroma .ow { + color:#6cc +} +.highlight > .chroma .w { + color:#ccc +} +.highlight > .chroma .mf { + color:#f99157 +} +.highlight > .chroma .mh { + color:#f99157 +} +.highlight > .chroma .mi { + color:#f99157 +} +.highlight > .chroma .mo { + color:#f99157 +} +.highlight > .chroma .sb { + color:#9c9 +} +.highlight > .chroma .sc { + color:#ccc +} +.highlight > .chroma .sd { + color:#999 +} +.highlight > .chroma .s2 { + color:#9c9 +} +.highlight > .chroma .se { + color:#f99157 +} +.highlight > .chroma .sh { + color:#9c9 +} +.highlight > .chroma .si { + color:#f99157 +} +.highlight > .chroma .sx { + color:#9c9 +} +.highlight > .chroma .sr { + color:#9c9 +} +.highlight > .chroma .s1 { + color:#9c9 +} +.highlight > .chroma .ss { + color:#9c9 +} +.highlight > .chroma .bp { + color:#ccc +} +.highlight > .chroma .vc { + color:#f2777a +} +.highlight > .chroma .vg { + color:#f2777a +} +.highlight > .chroma .vi { + color:#f2777a +} +.highlight > .chroma .il { + color:#f99157 +} +.side { + width:200px; + margin:0 auto +} +.side p { + margin:0 +} +.side-right { + float:right; + clear:right; + margin-right:calc(-200px - 2em); + background-color:var(--background) +} +.side-right p { + font-size:.9rem +} +.footnotes ol li p { + margin:0 +} +.footnotes hr { + border:none; + border-top:1px solid var(--border) +} +.footnote-ref { + box-shadow:none !important +} +.footnote-backref { + box-shadow:none !important +} +.note-ref { + cursor:pointer; + border:none; + box-shadow:none !important +} +.note-ref:hover { + box-shadow:none; + border:none +} +.bg-number { + background:var(--light-background); + font-size:.9rem; + color:var(--font-color); + text-decoration:none; + padding:1px 5px; + border-radius:5px +} +@media(max-width:1280px) { + .side { + width:100%; + padding:0 2em +} +.side-right { + float:none; + clear:both; + margin:1em auto; + background:0 0 +} +}@media(min-width:1280px) { + .note-ref:hover ~ .side { + display:inline-block; + position:absolute; + margin-left:1rem; + padding:.5rem; + box-sizing:content-box +} +}.suggested { + flex-direction:column; + align-items:stretch; + margin-left:-1rem; + margin-right:-1rem; + padding:0 +} +.suggested span { + font-weight:400; + display:block; + font-size:.9rem; + color:var(--transparent-text) +} +.suggested a { + background:0 0; + margin:.5rem 1rem; + border-bottom:none; + transition:all .2s ease; + padding:1.5rem; + border-radius:.35rem; + background:var(--light-background); + color:var(--heading-color) +} +.suggested a:hover { + transform:translate3D(0,-1px,0); + background:var(--light-background-hover) +} +@media screen and (min-width:800px) { + .suggested { + flex-direction:row +} +.suggested a { + flex:0 0 calc(50% - 2rem) +} +.suggested a:first-of-type { + text-align:right +} +}.projects .project:last-of-type { + border-bottom-width:0 +} +.project { + display:flex; + align-items:center; + justify-content:space-between; + padding:.75rem 0; + border-bottom:2px solid var(--light-background) +} +.project .icon { + font-size:1.5rem; + width:40px +} +.project a { + display:flex; + align-items:center; + margin-bottom:.25rem; + border-width:0 +} +.project a:hover h3 { + text-decoration:underline +} +.project a.button { + margin-left:1.5rem; + border-width:2px +} +.project h3 { + font-size:1.2rem; + margin:0 +} +.project .description { + font-size:1.1rem; + color:var(--light-font-color) +} +@media screen and (min-width:800px) { + .project { + border-bottom-width:0 +} +.project h3 { + font-size:1.3rem +} +.project .description { + font-size:1rem +} +}.terms a { + padding:.75rem 1.25rem; + margin:0 .25rem; + font-size:1.2rem; + font-weight:400; + color:var(--font-color); + border-radius:.35rem +} +.terms a:hover { + background:var(--light-background); + color:var(--dark-font-color) +} +.pagination { + display:flex +} +.pagination .prev-page,.pagination .next-page { + flex-grow:1; + flex-shrink:1; + display:flex +} +.pagination .next-page { + justify-content:flex-end +} +.pagination a { + border-radius:.35rem; + padding:.75rem 1.25rem; + margin:0 .25rem; + font-size:1.2rem; + font-weight:400; + color:var(--font-color) +} +.pagination a:hover,.pagination a[aria-current=page] { + background:var(--light-background); + color:var(--dark-font-color) +} +@media(prefers-color-scheme:dark) { + :root { + --color-mode:dark +} +:root:not([data-user-color-scheme]) { + --h1-color:white; + --font-color:#b3b9c5; + --heading-color:#ffd479; + --dark-font-color:#ced4da; + --background:#1f2022; + --medium-font-color:#dee2e6; + --light-font-color:#868e96; + --light-background:#2D2D31; + --light-background-hover:#3b3b3e; + --code-background-color:#2e2e30; + --border:#404040; + --link-color:#6ab0f3; + --link-color-darker:#4a72a5; + --link-hover-color:#e1a6f2; + --navbar-color:#1d1d1d; + --blockquote:#2b2b2b; + --blockquote-left:#191919; + --transparent-text:rgba(255,255,255,0.7); + --transparent-bg:rgba(0,0,0,0.2); + --light-transparent-bg:rgba(255,255,255,0.05); + --comment-background-color:#fff; + --submit-color:#fff; + --comment-body-color:#343a40 +} +}[data-user-color-scheme=dark] { + --h1-color:white; + --font-color:#b3b9c5; + --heading-color:#ffd479; + --dark-font-color:#ced4da; + --background:#1f2022; + --medium-font-color:#dee2e6; + --light-font-color:#868e96; + --light-background:#2D2D31; + --light-background-hover:#3b3b3e; + --code-background-color:#2e2e30; + --border:#404040; + --link-color:#6ab0f3; + --link-color-darker:#4a72a5; + --link-hover-color:#e1a6f2; + --navbar-color:#1d1d1d; + --blockquote:#2b2b2b; + --blockquote-left:#191919; + --transparent-text:rgba(255,255,255,0.7); + --transparent-bg:rgba(0,0,0,0.2); + --light-transparent-bg:rgba(255,255,255,0.05); + --comment-background-color:#ccc; + --submit-color:rgb(0 0 0 / 44%); + --comment-body-color:#ffd479 +} +.alert a,a,h1,header a { + text-decoration:none +} +.alert a,.comment-head,cite.fn { + font-weight:700 +} +.alert { + margin:1em 0; + padding:4px 8px; + border-radius:0 +} +.alert a { + border:0 +} +.alert>p,.alert>ul { + margin-bottom:0 +} +.alert>p+p { + margin-top:5px +} +.info { + color:#1d6fee; + border:1px solid #1d6fee +} +p.comment-user-info { + margin-bottom:.5em +} +.comment-list p.comment-user-info { + display:block; + margin-bottom:.5em +} +.info { + color:#88b4f6; + border:1px solid #88b4f6 +} \ No newline at end of file diff --git a/assets/main.min.css b/assets/main.min.css new file mode 100644 index 0000000..7820db7 --- /dev/null +++ b/assets/main.min.css @@ -0,0 +1 @@ +html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}*,*::before,*::after{box-sizing:border-box}:root{--color-mode:light;--h1-color:#343a40;--font-color:#495057;--heading-color:#343a40;--background:white;--dark-font-color:#1b1d25;--medium-font-color:#60656c;--light-font-color:#858b93;--light-background:#f1f4f8;--light-background-hover:#e1e6ed;--border:#d6d9de;--link-color:#5183f5;--link-color-darker:#364fc7;--navbar-color:#1b1d25;--blockquote:#f9f9f9;--blockquote-left:#e3e6eb;--transparent-text:rgba(0,0,0,0.7);--transparent-bg:rgba(0,0,0,0.05);--light-transparent-bg:rgba(255,255,255,0.1)}.flex{display:flex;align-items:center}.flex-row{display:flex;flex-direction:column}@media screen and (min-width:800px){.flex-row{flex-direction:row}}.flex-col{flex:1}.flex-two-thirds{flex:2}.justify-center{justify-content:center}html{font-family:-apple-system,BlinkMacSystemFont,helvetica neue,roboto,Roboto,Arial,noto sans,sans-serif,apple color emoji,segoe ui,segoe ui emoji,segoe ui symbol,noto color emoji;color:var(--font-color);font-weight:400;font-size:1rem;line-height:1.75}body{background:var(--background);margin:0;padding:0}section{margin:2rem 0}section:first-of-type{margin-top:0}section > h2{display:flex;align-items:center;font-size:1.6rem;margin-top:0;margin-bottom:.5rem}@media screen and (min-width:800px){section > h2{margin-bottom:2rem}}.index h2,section > h2{border-bottom-width:0}@media screen and (min-width:800px){.index h2,section > h2{border-bottom-width:4px}}a.section-button{font-weight:500;background:var(--light-background);color:var(--dark-font-color);padding:.4rem .6rem;font-size:.8rem;border-radius:.3rem;border-width:0 !important;white-space:nowrap;line-height:1;margin-left:2rem;margin-top:.5rem}a.section-button:hover{background:var(--light-background-hover);color:var(--heading-color)}@media screen and (min-width:800px){section{margin:3.5rem 0}section > h2{font-size:2rem;margin:0 0 1rem}}.container{max-width:825px;padding:0 1.5rem;margin-left:auto;margin-right:auto}.container.page p{max-width:600px}@media screen and (min-width:800px){.container{padding:0 2rem}}img{display:inline-block;max-width:100%;height:auto}p,ol,ul,dl,table,blockquote{font-size:1.05rem;margin:0 0 1.5rem}ul{padding:0 1rem}@media screen and (min-width:800px){p,ol,ul,dl,table,blockquote{font-size:1.125rem}ul{padding:0 2rem}}ul li p{margin:0}ul li ul{padding-left:1rem;margin:0}ul li ul li{margin:0}ol li ol{margin-bottom:0}.task-list-item [type=checkbox]{margin-right:.5rem}blockquote{margin:2rem 0;padding:1rem;background:var(--blockquote);font-weight:400;border-left:5px solid var(--blockquote-left)}blockquote:not(pre) > code[class*=language-]{background:rgba(0,0,0,.1) !important}@media screen and (min-width:800px){blockquote{padding:2rem 0 2rem 2rem}}::selection{background:#3b5bdb;color:#fff}h1{color:var(--h1-color)}h3,h4{color:var(--medium-font-color)}h2,h5{color:var(--heading-color)}h1,h2,h3,h4,h5{margin:0 0 1.5rem;font-weight:700;line-height:1.2;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1:not(:first-child),h2:not(:first-child),h3:not(:first-child),h4:not(:first-child){margin-top:3rem}h1{font-size:2.5rem;line-height:1.1}h2{font-size:1.75rem;padding-bottom:.5rem;border-bottom:4px solid var(--light-background)}h2 code{font-size:1.75rem !important}h3{font-size:1.5rem;color:var(--font-color);font-weight:600;margin-bottom:1rem}h3 code{font-size:1.4rem !important}h4{font-size:1.3rem;color:var(--font-color);font-weight:500;margin-bottom:1rem;border-bottom:2px solid var(--light-background);padding-bottom:.25rem}h5{font-size:1.2rem;margin-bottom:1rem}@media screen and (min-width:800px){h1{font-size:3rem}h2{font-size:1.9rem}h2 code{font-size:1.9rem !important}h3{font-size:1.7rem;color:var(--font-color);font-weight:600}h3 code{font-size:1.6rem !important}h4{font-weight:400;font-size:1.4rem}}a.link{display:block;padding:.25rem 0;margin:.25rem 0;border-radius:.35rem;font-weight:600;color:var(--dark-font-color)}a.link:hover{color:var(--link-color)}a.button{display:inline-block;border:2px solid var(--link-color);padding:.3rem .6rem;margin-right:.75rem;font-weight:500;background:var(--link-color);color:#fff;border-radius:.35rem;font-size:.9rem}a.button.large{padding:.8rem 1rem;font-size:1.05rem}a.button.secondary{border:2px solid #edf2ff;background:#edf2ff;color:#3b5bdb}a.button:hover,a.button.secondary:hover{border:2px solid var(--link-color-darker);background:var(--link-color-darker);color:#fff}@media screen and (min-width:800px){a.button{font-size:.9rem}a.button.large{padding:1rem 1.5rem;font-size:1.1rem}}p.subtitle{color:var(--medium-font-color);font-size:1.3rem;font-weight:300;margin-bottom:0}@media screen and (min-width:800px){p.subtitle{font-size:1.5rem}}a{color:inherit;text-decoration:none}a.image-link{border-width:0}a code[class*=language-]{color:var(--link-color) !important}a code[class*=language-]:hover{background:var(--link-color) !important;color:#fff !important}main{margin-top:50px}@media screen and (min-width:800px){main{margin-top:0}}.emoji{margin:0 .4rem 0 .1rem}.navbar{width:100%;position:fixed;top:0;left:0;background:var(--navbar-color);box-shadow:0 3px 13px rgba(100,110,140,.1),0 2px 4px rgba(100,110,140,.15);z-index:2;padding:.5rem}.navbar .flex{justify-content:space-between}.navbar a{border-radius:.35rem;margin:0 .05rem;color:rgba(255,255,255,.65);font-weight:400;font-size:.85rem;border:1px solid transparent;padding:0 .3rem;background:0 0}.navbar a:first-of-type{margin-left:-1rem}.navbar a .emoji{display:none}.navbar a.brand{font-weight:500;color:#fff;white-space:nowrap;border:none;display:flex;align-items:center;line-height:1;background:0 0}.navbar a.brand .emoji{display:inline-block !important}.navbar a.brand img{height:22px;width:22px}.navbar button{font-size:1rem;margin-right:-1rem}@media screen and (min-width:500px){.navbar a{font-size:.95rem;padding:.5rem}}@media screen and (min-width:800px){.emoji{margin:0 .5rem 0 .1rem}.navbar{position:static;padding:1.5rem 0;background:0 0;box-shadow:none}.navbar .flex{justify-content:space-between}.navbar a{padding:.75rem 1.25rem;margin:0 .25rem;font-size:1.2rem;font-weight:400;color:var(--font-color)}.navbar a:first-of-type{margin-left:-1.5rem}.navbar a:hover,.navbar a[aria-current=page]{background:var(--light-background);color:var(--dark-font-color)}.navbar a.brand{font-size:1.3rem;margin-right:3rem;border:none;background:0 0 !important;color:var(--dark-font-color)}.navbar a.brand:hover{background:var(--light-background) !important}.navbar a.brand img{height:26px;width:26px;margin-right:.25rem}#dark-mode-button:hover{background:var(--light-background)}}@media print{.navbar{display:none}}#dark-mode-button{display:flex;border:none;padding:.2rem .7rem .2rem .5rem;border-radius:.35rem;box-sizing:content-box;cursor:pointer;font-size:1.1rem;background:0 0}#dark-mode-button .dark{display:none}#dark-mode-button:focus{outline:none}[data-user-color-scheme] #dark-mode-button .light{display:none}[data-user-color-scheme] #dark-mode-button .dark{display:unset}@media screen and (min-width:800px){#dark-mode-button{padding:.95rem .75rem;font-size:1.2rem}}.my{padding-top:2rem}.my a{border:none;margin-right:1rem}.my a:hover{border:none}.post-row{display:flex;align-items:center;width:100%}.post-row time{display:block;flex:0 0 65px}.post-row h3{flex:1}.posts .post:last-of-type a{border-bottom-width:0}.post a{display:flex;align-items:center;justify-content:stretch;padding:1rem 0;border-bottom:2px solid var(--light-background)}.post a:hover{border-radius:.3rem}.post h3{margin-top:.1rem;margin-bottom:0;font-size:1.1rem;font-weight:600}@media screen and (min-width:800px){.posts{margin-left:-1rem;margin-right:-1rem}.post a{padding:.75rem 1rem;border-bottom-color:transparent}.post a:hover{background:var(--light-background)}.post h3{font-size:1.3rem}.post-row time{flex:0 0 80px}}.new-post,.popular-post{display:inline-block;color:#111;padding:.3rem .4rem;border-radius:.3rem;font-size:.85rem;margin-left:1rem}.new-post{background:#d3f9d8}.popular-post{background:#dce6fd;color:var(--heading-color)}@media screen and (min-width:800px){.new-post,.popular-post{margin-bottom:0}}.footer{padding:2rem 0}.footer > .flex{flex-direction:column;align-items:center;justify-content:center}.footer img{height:30px;width:30px}.footer a{border-radius:.35rem;margin:0 .05rem;font-weight:400;font-size:1rem;border:1px solid transparent;padding:.5rem;margin:0 .5rem;color:var(--light-font-color)}.footer a:hover{color:var(--heading-color);background:var(--light-background)}.footer a.img{display:flex;align-items:center;padding:0;margin:0 .75rem;background:0 0}.footer-links{display:flex;align-items:center;justify-content:center;flex-wrap:wrap}.flex nav{padding:1rem 0}@media screen and (min-width:800px){.footer > .flex{align-items:flex-start;margin-left:-1.5rem;margin-right:-1.5rem}.footer a{padding:.75rem}.footer a.img{padding:0 .5rem;margin:0 1rem}}@media print{.footer{display:none}}.small{max-width:600px}time,.meta{color:var(--light-font-color);font-size:.85rem;white-space:nowrap;font-weight:400}.meta{color:var(--medium-font-color);font-size:1rem}table{border-collapse:separate;border-spacing:0;width:100%;max-width:100%;overflow-x:auto}thead,tbody{white-space:nowrap}th{border-bottom:2px solid var(--border)}tfoot th{border-top:1px solid var(--border)}td{border-bottom:1px solid var(--border)}th,td{text-align:left;padding:.75rem;hyphens:auto}tbody tr:nth-child(even){background-color:var(--light-background)}@media screen and (min-width:800px){table{display:table;border:1px solid var(--border)}thead,tbody{white-space:normal}}.count{font-weight:700;color:var(--link-color)}.tags{display:flex !important;flex-wrap:wrap;align-items:center;margin-left:-.5rem;margin-right:-.5rem}.tags > a{display:block;font-weight:500;background:var(--light-background);color:var(--font-color);margin:.2rem;padding:.5rem .6rem;font-size:.8rem;border-radius:.3rem;border-bottom:0;white-space:nowrap;line-height:1}.tags > a:hover{background:var(--light-background-hover);color:var(--heading-color)}mark{background:#ffec99}.utterances{margin-left:-4px;margin-right:-4px}kbd{background-color:#f7f7f7;border:2px solid rgba(0,0,0,.3);border-radius:3px;box-shadow:0 1px rgba(0,0,0,.2),inset 0 0 0 2px #fff;color:#333;display:inline-block;font-family:Helvetica Neue,Inter,-apple-system,BlinkMacSystemFont,Helvetica,Arial,sans-serif;line-height:1.4;margin:0 .1em;padding:.1em .6em;text-shadow:0 1px 0 #fff;font-size:14px}#comments{margin-top:3rem}#comments h2{margin:0}@media print{.comments,#comments{display:none}}#search-query{padding:.8rem 1rem;background:var(--light-background);color:var(--input-color);border:2px solid var(--border);outline:none;width:100%;border-radius:.35rem;font-size:1rem;margin-left:auto;margin-right:auto;margin-bottom:4rem}#search-query:focus{border-color:#5183f5}#search-results{display:none}.filter-container{display:flex;justify-content:flex-start;margin-bottom:1.5rem;flex-wrap:wrap}.filter-item{font-size:.85rem;padding:.5rem .75rem;background:var(--light-background);border-radius:4px;margin-right:.5rem;margin-bottom:.5rem;font-weight:600;cursor:pointer}.filter-item:hover{background:#d8e3fd;color:#3972f4}.filter-item:last-of-type{margin-right:0}.filter-item.active{background:#5183f5;color:#fff}.filter-item.active:hover{color:#fff;background:#2161f2}header{padding:1.5rem 0}header h1{font-size:2rem;display:inline-block;font-weight:600;margin-top:1rem}header u{display:inline-block;text-decoration:none;padding:.4rem 0}.article-header{padding-top:2rem;margin-bottom:.5rem}.article-header .container{padding-left:0;padding-right:0}.article-header .thumb{display:flex;flex-direction:column}.article-header h1{font-weight:700;font-size:1.8rem;margin:0}.article-header .description{font-size:1.2rem;color:var(--light-font-color);font-weight:300;margin-top:2rem;margin-bottom:0}.post-meta{margin-top:1rem;padding:0;color:var(--light-font-color);font-size:.9rem}.post-meta a{color:var(--font-color);border-width:0}.post-meta time{margin-top:.2rem;font-size:.9rem}.post-meta .tags{margin-top:.5rem}.post-meta .tags a{text-decoration:none}.article-post{margin-bottom:2rem}.article-post img{border-radius:5px;display:block;margin-left:auto;margin-right:auto}.article-post a{box-shadow:0 -2px rgba(189,195,199,.5)inset;transition:all .3s ease}.article-post a:hover{box-shadow:0 -10px rgba(189,195,199,.7)inset}.article-post code{overflow-x:auto}.article-post h1 .anchor{stroke:var(--link-color);stroke-width:1px;fill:var(--link-color);font-weight:700;left:-.25rem;border-width:0;float:left;line-height:1;margin-left:-20px;padding-right:4px;box-shadow:none;transition:none}.article-post h1 .anchor .icon{visibility:hidden}.article-post h1:hover .anchor{box-shadow:none}.article-post h1:hover .anchor .icon{visibility:visible}.article-post h2 .anchor{stroke:var(--link-color);stroke-width:1px;fill:var(--link-color);font-weight:700;left:-.25rem;border-width:0;float:left;line-height:1;margin-left:-20px;padding-right:4px;box-shadow:none;transition:none}.article-post h2 .anchor .icon{visibility:hidden}.article-post h2:hover .anchor{box-shadow:none}.article-post h2:hover .anchor .icon{visibility:visible}.article-post h3 .anchor{stroke:var(--link-color);stroke-width:1px;fill:var(--link-color);font-weight:700;left:-.25rem;border-width:0;float:left;line-height:1;margin-left:-20px;padding-right:4px;box-shadow:none;transition:none}.article-post h3 .anchor .icon{visibility:hidden}.article-post h3:hover .anchor{box-shadow:none}.article-post h3:hover .anchor .icon{visibility:visible}.article-post h4 .anchor{stroke:var(--link-color);stroke-width:1px;fill:var(--link-color);font-weight:700;left:-.25rem;border-width:0;float:left;line-height:1;margin-left:-20px;padding-right:4px;box-shadow:none;transition:none}.article-post h4 .anchor .icon{visibility:hidden}.article-post h4:hover .anchor{box-shadow:none}.article-post h4:hover .anchor .icon{visibility:visible}.article-post h5 .anchor{stroke:var(--link-color);stroke-width:1px;fill:var(--link-color);font-weight:700;left:-.25rem;border-width:0;float:left;line-height:1;margin-left:-20px;padding-right:4px;box-shadow:none;transition:none}.article-post h5 .anchor .icon{visibility:hidden}.article-post h5:hover .anchor{box-shadow:none}.article-post h5:hover .anchor .icon{visibility:visible}.article-post h6 .anchor{stroke:var(--link-color);stroke-width:1px;fill:var(--link-color);font-weight:700;left:-.25rem;border-width:0;float:left;line-height:1;margin-left:-20px;padding-right:4px;box-shadow:none;transition:none}.article-post h6 .anchor .icon{visibility:hidden}.article-post h6:hover .anchor{box-shadow:none}.article-post h6:hover .anchor .icon{visibility:visible}@media screen and (min-width:800px){.article-post{margin-bottom:3rem}.article-post h1,.article-post h2,.article-post h3,.article-post h4,.article-post h5{padding-top:1rem}.post-meta{margin-top:.5rem;padding:.5rem 0}header h1{font-size:3rem;margin-top:2rem}header u{background:linear-gradient(transparent 85%,#bac8ff 0)}.article-header{padding-top:3rem}.article-header h1{padding-top:0;font-size:2.5rem}.article-header .thumb{flex-direction:row}.article-header .description{font-size:1.8rem;line-height:1.5}}@media screen and (min-width:1100px){.article-header h1{font-size:2.5rem}}.post-thumbnail{display:block !important}code,pre{font-size:.9rem;font-family:Consolas,Monaco,Menlo,dejavu sans mono,bitstream vera sans mono,courier new,monospace;background:#373b41}:not(pre) > code{color:var(--dark-font-color);background:var(--light-background)}code{padding:3px 5px;border-radius:4px;color:#f8f8f2}pre > code{display:block}.highlight > .chroma{margin:0 0 2rem;border-radius:5px;overflow-x:auto;box-shadow:1px 1px 2px rgba(0,0,0,.125);position:relative;background:#373b41}.highlight > .chroma code{padding:30px 10px 10px}.highlight > .chroma code[data-lang]::before{position:absolute;top:0;right:0;left:0;padding:2px 10px;width:100%;height:30px;font-size:.9rem;line-height:1.9;font-weight:700;color:#b1b1b1;background:#303339;content:attr(data-lang)}.highlight > .chroma table{position:relative;border:none}.highlight > .chroma table code{padding:0}.highlight > .chroma .lntd:first-child{width:10px}.highlight > .chroma .lntd:first-child pre{margin:0;padding:30px 7px 10px}.highlight > .chroma .lntd:last-child{vertical-align:top}.highlight > .chroma .lntd:last-child pre{margin:0;padding:30px 10px 10px}.highlight > .chroma table,.highlight > .chroma tr,.highlight > .chroma td{margin:0;padding:0;width:100%;border-collapse:collapse;border:none}.highlight > .chroma .hl{display:block;width:100%;background-color:#000}.highlight > .chroma .lnt{color:#7f7f7f}.highlight > .chroma .ln{padding:0 .4em;color:#7f7f7f}.highlight > .chroma .err{color:#960050}.highlight > .chroma .c{color:#999}.highlight > .chroma .err{color:#f2777a}.highlight > .chroma .k{color:#c9c}.highlight > .chroma .l{color:#f99157}.highlight > .chroma .n{color:#ccc}.highlight > .chroma .o{color:#6cc}.highlight > .chroma .p{color:#ccc}.highlight > .chroma .cm{color:#999}.highlight > .chroma .cp{color:#999}.highlight > .chroma .c1{color:#999}.highlight > .chroma .cs{color:#999}.highlight > .chroma .gd{color:#f2777a}.highlight > .chroma .ge{font-style:italic}.highlight > .chroma .gh{color:#ccc;font-weight:700}.highlight > .chroma .gi{color:#9c9}.highlight > .chroma .gp{color:#999;font-weight:700}.highlight > .chroma .gs{font-weight:700}.highlight > .chroma .gu{color:#6cc;font-weight:700}.highlight > .chroma .kc{color:#c9c}.highlight > .chroma .kd{color:#c9c}.highlight > .chroma .kn{color:#6cc}.highlight > .chroma .kp{color:#c9c}.highlight > .chroma .kr{color:#c9c}.highlight > .chroma .kt{color:#fc6}.highlight > .chroma .ld{color:#9c9}.highlight > .chroma .m{color:#f99157}.highlight > .chroma .s{color:#9c9}.highlight > .chroma .na{color:#69c}.highlight > .chroma .nb{color:#ccc}.highlight > .chroma .nc{color:#fc6}.highlight > .chroma .no{color:#f2777a}.highlight > .chroma .nd{color:#6cc}.highlight > .chroma .ni{color:#ccc}.highlight > .chroma .ne{color:#f2777a}.highlight > .chroma .nf{color:#69c}.highlight > .chroma .nl{color:#ccc}.highlight > .chroma .nn{color:#fc6}.highlight > .chroma .nx{color:#69c}.highlight > .chroma .py{color:#ccc}.highlight > .chroma .nt{color:#6cc}.highlight > .chroma .nv{color:#f2777a}.highlight > .chroma .ow{color:#6cc}.highlight > .chroma .w{color:#ccc}.highlight > .chroma .mf{color:#f99157}.highlight > .chroma .mh{color:#f99157}.highlight > .chroma .mi{color:#f99157}.highlight > .chroma .mo{color:#f99157}.highlight > .chroma .sb{color:#9c9}.highlight > .chroma .sc{color:#ccc}.highlight > .chroma .sd{color:#999}.highlight > .chroma .s2{color:#9c9}.highlight > .chroma .se{color:#f99157}.highlight > .chroma .sh{color:#9c9}.highlight > .chroma .si{color:#f99157}.highlight > .chroma .sx{color:#9c9}.highlight > .chroma .sr{color:#9c9}.highlight > .chroma .s1{color:#9c9}.highlight > .chroma .ss{color:#9c9}.highlight > .chroma .bp{color:#ccc}.highlight > .chroma .vc{color:#f2777a}.highlight > .chroma .vg{color:#f2777a}.highlight > .chroma .vi{color:#f2777a}.highlight > .chroma .il{color:#f99157}.side{width:200px;margin:0 auto}.side p{margin:0}.side-right{float:right;clear:right;margin-right:calc(-200px - 2em);background-color:var(--background)}.side-right p{font-size:.9rem}.footnotes ol li p{margin:0}.footnotes hr{border:none;border-top:1px solid var(--border)}.footnote-ref{box-shadow:none !important}.footnote-backref{box-shadow:none !important}.note-ref{cursor:pointer;border:none;box-shadow:none !important}.note-ref:hover{box-shadow:none;border:none}.bg-number{background:var(--light-background);font-size:.9rem;color:var(--font-color);text-decoration:none;padding:1px 5px;border-radius:5px}@media(max-width:1280px){.side{width:100%;padding:0 2em}.side-right{float:none;clear:both;margin:1em auto;background:0 0}}@media(min-width:1280px){.note-ref:hover ~ .side{display:inline-block;position:absolute;margin-left:1rem;padding:.5rem;box-sizing:content-box}}.suggested{flex-direction:column;align-items:stretch;margin-left:-1rem;margin-right:-1rem;padding:0}.suggested span{font-weight:400;display:block;font-size:.9rem;color:var(--transparent-text)}.suggested a{background:0 0;margin:.5rem 1rem;border-bottom:none;transition:all .2s ease;padding:1.5rem;border-radius:.35rem;background:var(--light-background);color:var(--heading-color)}.suggested a:hover{transform:translate3D(0,-1px,0);background:var(--light-background-hover)}@media screen and (min-width:800px){.suggested{flex-direction:row}.suggested a{flex:0 0 calc(50% - 2rem)}.suggested a:first-of-type{text-align:right}}.projects .project:last-of-type{border-bottom-width:0}.project{display:flex;align-items:center;justify-content:space-between;padding:.75rem 0;border-bottom:2px solid var(--light-background)}.project .icon{font-size:1.5rem;width:40px}.project a{display:flex;align-items:center;margin-bottom:.25rem;border-width:0}.project a:hover h3{text-decoration:underline}.project a.button{margin-left:1.5rem;border-width:2px}.project h3{font-size:1.2rem;margin:0}.project .description{font-size:1.1rem;color:var(--light-font-color)}@media screen and (min-width:800px){.project{border-bottom-width:0}.project h3{font-size:1.3rem}.project .description{font-size:1rem}}.terms a{padding:.75rem 1.25rem;margin:0 .25rem;font-size:1.2rem;font-weight:400;color:var(--font-color);border-radius:.35rem}.terms a:hover{background:var(--light-background);color:var(--dark-font-color)}.pagination{display:flex}.pagination .prev-page,.pagination .next-page{flex-grow:1;flex-shrink:1;display:flex}.pagination .next-page{justify-content:flex-end}.pagination a{border-radius:.35rem;padding:.75rem 1.25rem;margin:0 .25rem;font-size:1.2rem;font-weight:400;color:var(--font-color)}.pagination a:hover,.pagination a[aria-current=page]{background:var(--light-background);color:var(--dark-font-color)}@media(prefers-color-scheme:dark){:root{--color-mode:dark}:root:not([data-user-color-scheme]){--h1-color:white;--font-color:#b3b9c5;--heading-color:#ffd479;--dark-font-color:#ced4da;--background:#1f2022;--medium-font-color:#dee2e6;--light-font-color:#868e96;--light-background:#2D2D31;--light-background-hover:#3b3b3e;--code-background-color:#2e2e30;--border:#404040;--link-color:#6ab0f3;--link-color-darker:#4a72a5;--link-hover-color:#e1a6f2;--navbar-color:#1d1d1d;--blockquote:#2b2b2b;--blockquote-left:#191919;--transparent-text:rgba(255,255,255,0.7);--transparent-bg:rgba(0,0,0,0.2);--light-transparent-bg:rgba(255,255,255,0.05);--comment-background-color:#fff;--submit-color:#fff}}[data-user-color-scheme=dark]{--h1-color:white;--font-color:#b3b9c5;--heading-color:#ffd479;--dark-font-color:#ced4da;--background:#1f2022;--medium-font-color:#dee2e6;--light-font-color:#868e96;--light-background:#2D2D31;--light-background-hover:#3b3b3e;--code-background-color:#2e2e30;--border:#404040;--link-color:#6ab0f3;--link-color-darker:#4a72a5;--link-hover-color:#e1a6f2;--navbar-color:#1d1d1d;--blockquote:#2b2b2b;--blockquote-left:#191919;--transparent-text:rgba(255,255,255,0.7);--transparent-bg:rgba(0,0,0,0.2);--light-transparent-bg:rgba(255,255,255,0.05);--comment-background-color:#ccc;--submit-color:rgb(0 0 0 / 44%)}.alert a,a,h1,header a{text-decoration:none}.alert a,.comment-head,cite.fn{font-weight:700}.alert{margin:1em 0;padding:4px 8px;border-radius:0}.alert a{border:0}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.info{color:#1d6fee;border:1px solid #1d6fee}p.comment-user-info{margin-bottom:.5em}.comment-list p.comment-user-info{display:block;margin-bottom:.5em}.info{color:#88b4f6;border:1px solid #88b4f6} \ No newline at end of file diff --git a/comments.php b/comments.php index 8cfb096..0f385cd 100755 --- a/comments.php +++ b/comments.php @@ -1,4 +1,4 @@ - +
comments()->to($comments); ?> diff --git a/core/functions.php b/core/functions.php index 1193167..20eadd9 100644 --- a/core/functions.php +++ b/core/functions.php @@ -1,5 +1,4 @@ -->.*?|.*?<\/nocompress>|||)/msi', $html_source, -1, PREG_SPLIT_DELIM_CAPTURE); @@ -48,4 +47,4 @@ function compressHtml($html_source) $compress .= $c; } return $compress; -} +} \ No newline at end of file diff --git a/footer.php b/footer.php old mode 100644 new mode 100755 index d536c69..8948076 --- a/footer.php +++ b/footer.php @@ -9,7 +9,7 @@ options->The_Dark_Mode): ?> - + diff --git a/functions.php b/functions.php old mode 100644 new mode 100755 index e793b84..82fa5f6 --- a/functions.php +++ b/functions.php @@ -10,9 +10,30 @@ function themeConfig($form) { $TheNotice->input->setAttribute('style', 'display:none'); $form->addInput($TheNotice); - $favicon = new Typecho_Widget_Helper_Form_Element_Text('favicon', NULL, '/usr/themes/SmileTheme/main/favicon.ico', _t('Favicon 地址'), _t('在这里填入一个图片 URL 地址, 以添加一个 Favicon,留空则不单独设置 Favicon,主题默认 Favicon 地址为 /usr/themes/SmileTheme/main/favicon.ico')); + $favicon = new Typecho_Widget_Helper_Form_Element_Text('favicon', NULL, '/usr/themes/SmileTheme/assets/favicon.ico', _t('Favicon 地址'), _t('在这里填入一个图片 URL 地址, 以添加一个 Favicon,留空则不单独设置 Favicon,主题默认 Favicon 地址为 /usr/themes/SmileTheme/assets/favicon.ico')); $form->addInput($favicon); + /* SEO */ + $TheNotice = new Typecho_Widget_Helper_Form_Element_Text('TheNotice', NULL, NULL, _t('

SEO

')); + $TheNotice->input->setAttribute('style', 'display:none'); + $form->addInput($TheNotice); + + $SEOOPEN = new Typecho_Widget_Helper_Form_Element_Radio( + 'SEOOPEN', + array( + 1 => _t('开启'), + 0 => _t('关闭') + ), + 1, + _t('SEO系统'), + _t('关闭后网站SEO将会关闭(本SEO系统,采用Typecho原生SEO,默认开启)') + ); + $form->addInput($SEOOPEN); + /* SEO说明 */ + $TheNotice = new Typecho_Widget_Helper_Form_Element_Text('TheNotice', NULL, NULL, _t('网站关键词、网站描述均调用自系统,修改请前往路径“后台->基本设置->网站关键词 或 网站描述”')); + $TheNotice->input->setAttribute('style', 'display:none'); + $form->addInput($TheNotice); + /* Articles */ $TheNotice = new Typecho_Widget_Helper_Form_Element_Text('TheNotice', NULL, NULL, _t('

Articles

')); $TheNotice->input->setAttribute('style', 'display:none'); @@ -82,22 +103,6 @@ function themeConfig($form) { ); $form->addInput($The_Dark_Mode); - /* 代码压缩 */ - $TheNotice = new Typecho_Widget_Helper_Form_Element_Text('TheNotice', NULL, NULL, _t('

代码压缩

')); - $TheNotice->input->setAttribute('style', 'display:none'); - $form->addInput($TheNotice); - $compressHtml = new Typecho_Widget_Helper_Form_Element_Radio( - 'compressHtml', - array( - 1 => _t('启用'), - 0 => _t('关闭') - ), - 0, - _t('HTML压缩'), - _t('默认关闭,启用则会对HTML代码进行压缩,可能与部分插件存在兼容问题,请酌情选择开启或者关闭') - ); - $form->addInput($compressHtml); - /* 图标 */ $TheNotice = new Typecho_Widget_Helper_Form_Element_Text('TheNotice', NULL, NULL, _t('

图标 Icon

')); $TheNotice->input->setAttribute('style', 'display:none'); @@ -167,7 +172,7 @@ function themeConfig($form) { $form->addInput($Project_1_URL); $Project_1_Describe = new Typecho_Widget_Helper_Form_Element_Textarea('Project_1_Describe', NULL, 'A theme for Typecho', _t('第一个项目的描述'), _t('这里写第一个项目的描述内容,不推荐超过50字,不填则代表留空')); $form->addInput($Project_1_Describe); - $Project_1_Icon = new Typecho_Widget_Helper_Form_Element_Text('Project_1_Icon', NULL, '/usr/themes/SmileTheme/main/favicon.ico', _t('第一个项目的图标'), _t('这里填入第一个项目的图标的链接,由于未知原因,暂不支持Emoji、Windows表情,若有需要请修改本地代码')); + $Project_1_Icon = new Typecho_Widget_Helper_Form_Element_Text('Project_1_Icon', NULL, '/usr/themes/SmileTheme/assets/favicon.ico', _t('第一个项目的图标'), _t('这里填入第一个项目的图标的链接,由于未知原因,暂不支持Emoji、Windows表情,若有需要请修改本地代码')); $form->addInput($Project_1_Icon); $Project_2 = new Typecho_Widget_Helper_Form_Element_Radio( @@ -189,4 +194,16 @@ function themeConfig($form) { $form->addInput($Project_2_Describe); $Project_2_Icon = new Typecho_Widget_Helper_Form_Element_Text('Project_2_Icon', NULL, NULL, _t('第二个项目的图标'), _t('这里填入第二个项目的图标的链接,由于未知原因,暂不支持Emoji、Windows表情,若有需要请修改本地代码')); $form->addInput($Project_2_Icon); + + $compressHtml = new Typecho_Widget_Helper_Form_Element_Radio( + 'compressHtml', + array( + 1 => _t('启用'), + 0 => _t('关闭') + ), + 0, + _t('HTML压缩'), + _t('默认关闭,启用则会对HTML代码进行压缩,可能与部分插件存在兼容问题,请酌情选择开启或者关闭') + ); + $form->addInput($compressHtml); } \ No newline at end of file diff --git a/header.php b/header.php index 27377d3..b19dddf 100755 --- a/header.php +++ b/header.php @@ -15,8 +15,16 @@ options->favicon): ?> - + + is('index')): ?> + options->SEOOPEN): ?> header(); ?> + + + options->SEOOPEN): ?> + header('xmlrpc=&wlw=&commentReply=&antiSpam=&atom'); ?> + +