diff --git a/content/post/2026/2026-05-20-我的静态博客动态化方案/index.md b/content/post/2026/2026-05-20-我的静态博客动态化方案/index.md
index 63235ff7..58efd1d1 100644
--- a/content/post/2026/2026-05-20-我的静态博客动态化方案/index.md
+++ b/content/post/2026/2026-05-20-我的静态博客动态化方案/index.md
@@ -24,11 +24,11 @@ ai_comment: >-
前几天在浏览博友博客时,我发现了几个很有意思的文章,核心思路都是用静态博客实现一个后台,主要分为以下三个方案:
-小十的博客(https://www.xiaoten.com/posts/2026/03/ai-build-hugo-cms/)——用AI为Hugo打造了博客文章发布平台;
+小十的博客 https://www.xiaoten.com/posts/2026/03/ai-build-hugo-cms——用AI为Hugo打造了博客文章发布平台;
-东风博主的博客(https://easte.cc/posts/feishu-sync-bot-deploy)——飞书同步机器人,利用飞书提供的接口,将飞书文档同步到博客中,这个想法非常有趣;
+东风博主的博客 https://easte.cc/posts/feishu-sync-bot-deploy ——飞书同步机器人,利用飞书提供的接口,将飞书文档同步到博客中,这个想法非常有趣;
-小饿博主的博客(https://dongjunke.cn/posts/2026/05/05/50369.html)——我的独立博客,终于拥有了一个像样的后台。
+小饿博主的博客 https://dongjunke.cn/posts/2026/05/05/50369.html ——我的独立博客,终于拥有了一个像样的后台。
经朋友推荐,我尝试使用了DeepSeek V4 Pro。DeepSeek的收费模式跟其他家有点不一样,主要是通过充值余额,直接消耗余额来使用,没有其他家所谓的coding plan。对于我这种使用频率较低的用户来说,还是很不错的。
diff --git a/resources/_gen/assets/scss/style.scss_2bbe13cc47075fab4343233ad3e58bb8.content b/resources/_gen/assets/scss/style.scss_2bbe13cc47075fab4343233ad3e58bb8.content
deleted file mode 100644
index b83c992d..00000000
--- a/resources/_gen/assets/scss/style.scss_2bbe13cc47075fab4343233ad3e58bb8.content
+++ /dev/null
@@ -1,2557 +0,0 @@
-@charset "UTF-8";
-:root {
- --font-family-paragraph: 'JetBrainsMono',-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Ubuntu,"Helvetica Neue",Helvetica,"PingFangSC-Regular","Hiragino Sans GB","Lantinghei SC","Microsoft Yahei","Source Han Sans CN","WenQuanYi Micro Hei",SimSun,sans-serif;
- --font-family-title: 'JetBrainsMono',-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Ubuntu,"Helvetica Neue",Helvetica,"PingFangSC-Regular","Hiragino Sans GB","Lantinghei SC","Microsoft Yahei","Source Han Sans CN","WenQuanYi Micro Hei",SimSun,sans-serif;
- --font-family-code: 'JetBrainsMono', -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Ubuntu,"Helvetica Neue",Helvetica,"PingFangSC-Regular","Hiragino Sans GB","Lantinghei SC","Microsoft Yahei","Source Han Sans CN","WenQuanYi Micro Hei",SimSun,sans-serif;
- --bankuai-color: #f6f6f6;
- --background-color: #fff;
- --background-dark-color: #201d1e;
- --text-content-color:#222;
- --text-content-dark-color:#CCC;
- --text-highlight-color:#FC9151;
- --frame-dark-color: #332D2F;
- --frame-color: #eee;
- --erji-color: #666;
- --sanji-color: #999; }
-
-body, html {
- margin: 0;
- padding: 0; }
-
-ol, ul {
- margin: 0;
- padding: 0;
- list-style: none; }
- ol li, ul li {
- list-style: none; }
-
-.header {
- display: flex;
- padding: 25px 0 25px 0;
- align-items: center; }
- @media (min-width: 900px) {
- .header {
- z-index: 100;
- padding: 40px 0 60px 0;
- height: 20px; } }
-.new-heard-menu {
- display: none; }
- @media (min-width: 900px) {
- .new-heard-menu {
- display: flex;
- gap: 30px; } }
-.header-menu a {
- color: var(--erji-color);
- font-size: 1rem;
- font-family: var(--font-family-paragraph); }
-
-.header-menu {
- display: flex;
- align-items: center; }
-
-.menu-current a {
- color: var(--text-highlight-color) !important; }
-
-.heard-right {
- display: flex;
- grid-gap: 0;
- /* 中间空10px间距 */
- align-items: center;
- margin-left: auto; }
- @media (min-width: 900px) {
- .heard-right {
- grid-gap: 20px;
- /* 中间空10px间距 */ } }
-.about-koobai img {
- width: 32px;
- height: 32px;
- border-radius: 50%;
- transition: opacity .3s ease-in-out; }
- @media (min-width: 900px) {
- .about-koobai img {
- width: 20px;
- height: 20px;
- display: block; } }
-.about-koobai img:hover {
- opacity: 0.6; }
-
-.heard-right svg {
- display: none; }
- @media (min-width: 900px) {
- .heard-right svg {
- fill: #999;
- width: 20px;
- height: 20px;
- display: block; } }
-.heard-right svg:hover {
- fill: #666; }
-
-@media (prefers-color-scheme: dark) {
- .header-menu a {
- color: var(--sanji-color); }
- .header-menu svg {
- color: #827478; }
- .heard-right svg {
- fill: #6b6063; }
- .heard-right svg:hover {
- fill: #999; } }
-
-.footer-background {
- width: 100vw;
- margin-left: calc(50% - 50vw);
- margin-top: 40px; }
-
-.footer {
- padding-top: 10px;
- border-top: 0.5px solid var(--frame-color);
- text-align: center; }
-
-.footer-info, .footer-info a, .footer-rss, .footer-rss a {
- font-size: 0.75rem;
- line-height: 1.6em;
- color: #a7a7a7; }
-
-.footer-info {
- padding: 0 20px; }
-
-#gotop {
- display: none;
- /* Hidden by default */
- position: fixed;
- /* Fixed/sticky position */
- bottom: 40px;
- /* Place the button at the bottom of the page */
- right: 40px;
- /* Place the button 30px from the right */
- z-index: 99;
- /* Make sure it does not overlap */
- cursor: pointer;
- /* Add a mouse pointer on hover */ }
-
-.gotop {
- width: 40px;
- height: 40px;
- border-radius: 50%;
- background: #ffffff;
- position: relative;
- /* 设置相对定位 */ }
-
-.gotop:hover {
- background: #ededed; }
-
-.gotop img {
- width: 1.1rem;
- height: 1.1rem;
- position: absolute;
- /* 设置绝对定位 */
- top: 50%;
- /* 将图片的顶部对齐容器的中间位置 */
- left: 50%;
- /* 将图片的左侧对齐容器的中间位置 */
- transform: translate(-50%, -50%); }
-
-.youpaiyun {
- margin: 0 4px 0 4px; }
-
-/*.footer-rss{
- margin-bottom: 30px;
-}*/
-.footer-cmdk {
- display: flex;
- gap: 6px;
- font-size: 0.75rem;
- align-items: center;
- color: #a2a2a2;
- margin: 10px 0 30px 0;
- justify-content: center; }
-
-.footer-cmdk-key {
- background: #e8e8e8;
- padding: 4px;
- width: 12px;
- height: 12px;
- display: flex;
- align-items: center;
- justify-content: center;
- border-radius: 4px; }
-
-@media (prefers-color-scheme: dark) {
- .footer-info, .footer-info a, .footer-rss a, .footer-rss {
- color: var(--erji-color); }
- .footer {
- border-top: 0.5px solid #231e20; }
- .gotop {
- background: #999; }
- .footer-background {
- background: #1A1718;
- border-top: solid #3d3d3d 0.5px;
- box-sizing: border-box; }
- .footer-cmdk {
- color: #666; }
- .footer-cmdk-key {
- background: #292526; } }
-
-@media (max-width: 1200px) {
- .gotop_hide {
- display: none; } }
-
-.article_details img {
- max-width: 100%;
- cursor: zoom-in; }
-
-.article_details_title {
- font-size: 1.4rem;
- font-family: var(--font-family-title);
- line-height: 1.3;
- margin-bottom: 15px; }
- @media (min-width: 700px) {
- .article_details_title {
- font-size: 1.8rem; } }
-a {
- color: var(--text-content-color);
- text-decoration: none; }
- a:hover {
- text-decoration: underline; }
-
-h2, h3 {
- font-family: var(--font-family-title);
- font-weight: normal;
- font-display: swap;
- font-weight: bold; }
-
-p {
- color: var(--text-content-color);
- font-family: var(--font-family-paragraph);
- font-size: 1.05rem;
- line-height: 24px; }
-
-p:empty {
- display: none; }
-
-ol,
-ul {
- margin: 0;
- padding: 0;
- list-style: none; }
- ol li,
- ul li {
- list-style: none; }
-
-.content_zhengwen {
- margin: 15px 0 20px 0; }
-
-.content_zhengwen img, .top-img {
- cursor: pointer; }
-
-.content {
- font-size: 1.05rem; }
- .content p {
- font-size: 1.05rem;
- line-height: 2;
- margin: 0;
- padding: 0;
- margin-bottom: 15px; }
- .content strong {
- color: var(--text-highlight-color); }
- .content h2, .content h3 {
- font-size: 1.1rem;
- line-height: 1.6;
- margin-bottom: 6px;
- letter-spacing: 0.5px;
- color: var(--text-highlight-color); }
- .content ul {
- list-style: disc; }
- .content ul li {
- list-style: disc; }
- .content ol {
- list-style: decimal; }
- .content ol li {
- list-style: decimal; }
- .content ul,
- .content ol {
- margin-left: 0;
- margin-top: 10px;
- margin-bottom: 20px; }
- .content ul li,
- .content ol li {
- font-size: 1.1rem;
- line-height: 2;
- margin-bottom: 10px;
- margin-left: 20px; }
- @media (min-width: 700px) {
- .content ul li,
- .content ol li {
- margin-left: 0; } }
- @media (min-width: 700px) {
- .content ul,
- .content ol {
- margin-left: 20px; } }
- .content a {
- text-decoration: underline;
- word-wrap: break-word;
- word-break: break-all;
- text-decoration: none;
- text-decoration: underline;
- margin: 0 2px;
- transition: opacity 0.3s ease-in-out 0s; }
- .content a:hover {
- opacity: 0.6; }
- .content blockquote {
- border-left: 5px solid #666;
- margin: 30px 0;
- padding: 20px; }
- .content blockquote p {
- font-size: 20px;
- display: inline;
- color: var(--color-base-text); }
- .content img {
- margin: 10px 0 0 0;
- max-width: 100%;
- height: auto;
- cursor: zoom-in; }
- .content figure {
- margin: 2.6rem 0 1.18rem; }
- .content figure img {
- margin: 0; }
- .content figure figcaption {
- margin-top: 10px; }
- .content figure figcaption h4 {
- margin: 0;
- font-size: 1rem;
- font-weight: bold; }
- .content figure figcaption p {
- margin: 0; }
- .content code,
- .content pre {
- font-family: var(--font-family-code);
- line-height: 1.9; }
- .content .highlight pre {
- font-size: 0.9rem;
- padding: 20px;
- overflow: auto;
- border-radius: 6px;
- background: #24273A; }
-
-.footnotes ol {
- list-style: decimal; }
- .footnotes ol li {
- list-style: decimal; }
-
-.single-nrong {
- display: flex; }
-
-.single-zw {
- width: 100%; }
-
-.paragraph-dh {
- display: none; }
- @media (min-width: 1200px) {
- .paragraph-dh {
- display: block;
- position: fixed;
- opacity: 0;
- top: 30%;
- margin-left: 40px;
- transition: opacity 0.5s ease;
- max-width: 300px; } }
-.paragraph-dh ul {
- gap: 10px;
- display: grid; }
-
-.paragraph-dh ul ul {
- margin-top: 10px; }
-
-.paragraph-dh ul ul a {
- color: #999; }
-
-.paragraph-dh a.active {
- color: var(--text-highlight-color);
- text-indent: 0; }
-
-.paragraph-dh a {
- padding-left: 25px;
- position: relative;
- display: flex;
- align-items: center;
- text-indent: -9999px;
- /* 把文字移出可视区域 */
- overflow: hidden;
- white-space: nowrap;
- line-height: 1.4;
- color: #666;
- font-size: 0.85rem; }
-
-.paragraph-dh:hover a {
- text-indent: 0;
- /* 重置文字缩进,使文本可见 */ }
-
-.paragraph-dh li > a:before {
- content: '';
- display: inline-block;
- width: 16px;
- height: 5px;
- border-radius: 6px;
- background-color: #ddd;
- position: absolute;
- left: 0; }
-
-.paragraph-dh li li > a:before {
- width: 10px; }
-
-.paragraph-dh a.active:before {
- background-color: var(--text-highlight-color); }
-
-@media (prefers-color-scheme: dark) {
- .paragraph-dh a {
- color: #999; }
- .paragraph-dh ul ul a {
- color: #7e7174; }
- .paragraph-dh li > a:before {
- background-color: #6b6063; } }
-
-.intro h1 {
- font-size: 40px;
- margin-bottom: 10px; }
-
-.intro h2 {
- font-size: 50px;
- line-height: 56px; }
- @media (min-width: 700px) {
- .intro h2 {
- width: 80%; } }
-.intro p {
- font-size: 1.1rem;
- line-height: 1.8; }
- @media (min-width: 700px) {
- .intro p {
- width: 100%;
- font-size: 1.1rem;
- line-height: 32px; } }
-.intro .article_title {
- font-size: 1.8rem;
- line-height: 35px;
- margin-bottom: 20px;
- font-weight: normal; }
-
-.intro .read-more {
- font-size: 1.1rem;
- line-height: 26px;
- font-weight: bold; }
- @media (min-width: 700px) {
- .intro .read-more {
- font-size: 1.1rem;
- line-height: 32px; } }
-.intro img {
- max-width: 100%;
- cursor: zoom-in; }
-
-.summary {
- display: grid;
- grid-template-columns: repeat(auto-fill, minmax(340px, 1fr));
- grid-gap: 20px; }
-
-.summary-nrong {
- border-radius: 4px;
- background: #fff;
- box-shadow: rgba(0, 0, 0, 0.07) 0px 6px 20px 0px;
- padding: 15px; }
- @media (min-width: 900px) {
- .summary-nrong {
- padding: 20px; } }
-.summary-date {
- font-size: 0.85rem;
- color: var(--sanji-color);
- font-family: var(--font-family-code);
- margin-top: 6px; }
-
-.summary-title {
- font-family: var(--font-family-title);
- font-size: 1.2rem;
- margin-top: 6px;
- line-height: 1.6; }
-
-.summary-description {
- font-size: 1rem;
- line-height: 1.8;
- color: var(--erji-color);
- margin-top: 10px;
- overflow: hidden;
- text-overflow: ellipsis;
- display: -webkit-box;
- -webkit-line-clamp: 2;
- -webkit-box-orient: vertical; }
-
-@media (prefers-color-scheme: dark) {
- .summary-description {
- color: var(--sanji-color); }
- .summary-date {
- color: #666 !important; }
- .summary-nrong {
- background: var(--background-dark-color); } }
-
-.menu-main-mobile {
- position: fixed;
- background: var(--text-highlight-color);
- top: 0;
- left: 0;
- width: 100%;
- height: 100vh;
- opacity: 0;
- visibility: hidden;
- transition: opacity 0.35s, visibility 0.35s, height 0.35s;
- overflow: hidden;
- display: none;
- justify-content: center;
- flex-direction: column; }
- .menu-main-mobile.open {
- opacity: 1;
- visibility: visible;
- height: 100%;
- z-index: 10;
- display: flex; }
- .menu-main-mobile.open li {
- animation: fadeInTop 0.5s ease forwards;
- animation-delay: 0.1s;
- margin-bottom: 6%; }
- .menu-main-mobile.open li:nth-of-type(2) {
- animation-delay: 0.15s; }
- .menu-main-mobile.open li:nth-of-type(3) {
- animation-delay: 0.20s; }
- .menu-main-mobile.open li:nth-of-type(4) {
- animation-delay: 0.25s; }
- .menu-main-mobile.open li:nth-of-type(5) {
- animation-delay: 0.30s; }
- .menu-main-mobile.open li:nth-of-type(6) {
- animation-delay: 0.35s; }
- .menu-main-mobile ul {
- font-size: 1.6rem;
- font-family: var(--font-family-title);
- text-align: center;
- list-style: none;
- margin: 0;
- flex: 0; }
- .menu-main-mobile ul li {
- display: block;
- position: relative;
- opacity: 0; }
- .menu-main-mobile ul li a {
- display: block;
- position: relative;
- color: #FFF;
- text-decoration: none; }
- .menu-main-mobile ul li a:hover {
- opacity: 0.7; }
- .menu-main-mobile ul li ul.sub-menu {
- font-size: 1.2rem; }
-
-.hamburger-trigger {
- height: 30px;
- display: flex;
- align-items: center; }
- @media (min-width: 900px) {
- .hamburger-trigger {
- display: none; } }
-.hamburger {
- border: none;
- cursor: pointer;
- outline: none;
- position: relative;
- display: block;
- width: 30px;
- height: 20px;
- background: transparent;
- border-top: 2px solid;
- border-bottom: 2px solid;
- font-size: 0;
- transition: all 0.25s ease-in-out;
- color: var(--text-highlight-color); }
- .hamburger:before, .hamburger:after {
- content: '';
- display: block;
- width: 100%;
- height: 2px;
- position: absolute;
- top: 50%;
- left: 50%;
- background: currentColor;
- transform: translate(-50%, -50%);
- transition: transform 0.25s ease-in-out; }
- .hamburger:hover {
- opacity: 0.7; }
- .hamburger.is-active {
- border-color: transparent;
- z-index: 100;
- color: #fff; }
- .hamburger.is-active:hover {
- opacity: 1; }
- .hamburger.is-active:before {
- transform: translate(-50%, -50%) rotate(45deg); }
- .hamburger.is-active:after {
- transform: translate(-50%, -50%) rotate(-45deg); }
-
-@keyframes fadeInTop {
- 0% {
- opacity: 0;
- top: 20%; }
- 100% {
- opacity: 1;
- top: 0; } }
-
-.highlight {
- color: #c9d1d9;
- /* Overall text color */
- background: #0d1117;
- /* Background color */ }
-
-/* Comments & Documentation */
-.highlight .c, .highlight .cm, .highlight .c1, .highlight .cs, .highlight .cp, .highlight .cpf, .highlight .c2 {
- color: #8b949e;
- font-style: italic; }
-
-/* Keywords */
-.highlight .k, .highlight .kd, .highlight .kn, .highlight .kp, .highlight .kr, .highlight .kt {
- color: #7f9bf5;
- font-weight: bold; }
-
-/* Operators */
-.highlight .o, .highlight .ob, .highlight .op, .highlight .ow {
- color: #c58b45;
- font-weight: bold; }
-
-/* Strings, values and literals */
-.highlight .s, .highlight .sb, .highlight .sc, .highlight .sd, .highlight .s2, .highlight .s1, .highlight .se, .highlight .sh, .highlight .ss, .highlight .sx, .highlight .sr {
- color: #79b8ff; }
-
-/* Names & Identifiers */
-.highlight .n, .highlight .nf, .highlight .nc, .highlight .no, .highlight .na, .highlight .nb, .highlight .nd,
-.highlight .ni, .highlight .ne, .highlight .nn, .highlight .nt, .highlight .nv, .highlight .vc, .highlight .vg, .highlight .vi {
- color: #b392f0; }
-
-/* Numbers */
-.highlight .m, .highlight .mf, .highlight .mh, .highlight .mi, .highlight .mo, .highlight .mb, .highlight .mx, .highlight .il {
- color: #dc6a6a; }
-
-/* Built-in, Variables */
-.highlight .bp, .highlight .vg, .highlight .vi, .highlight .vm, .highlight .ss {
- color: #3fb950; }
-
-/* Literals & Doc Tags */
-.highlight .do, .highlight .py, .highlight .kd, .highlight .kp, .highlight .kr {
- color: #79b8ff; }
-
-/* Labels, Attributes & Arguments */
-.highlight .na, .highlight .w, .highlight .mb, .highlight .mx, .highlight .il {
- color: #8b949e; }
-
-/* Punctuation */
-.highlight .p {
- color: #c9d1d9; }
-
-/* Error */
-.highlight .err {
- color: #f85149;
- font-weight: bold; }
-
-.artalk {
- margin-top: 20px; }
-
-.atk-list-read-more {
- padding-bottom: 0px !important; }
-
-.atk-comment {
- padding: 10px 0 !important; }
-
-.artalk > .atk-list > .atk-list-header {
- display: none !important; }
-
-.atk-content p {
- font-size: 1rem !important;
- color: var(--text-content-color) !important; }
-
-.atk-comment-children > .atk-comment-wrap {
- margin-top: 6px !important; }
-
-.atk-content {
- line-height: 1.5 !important; }
-
-.atk-avatar img {
- border-radius: 50% !important; }
-
-.atk-comment > .atk-avatar img {
- width: 24px !important;
- height: 24px !important;
- margin-top: 8px; }
-
-.atk-main {
- margin-left: 34px !important; }
-
-.atk-comment-children > .atk-comment-wrap > .atk-comment {
- padding: 0px !important;
- margin: auto; }
-
-.atk-comment > .atk-main > .atk-header {
- margin-bottom: 0px !important; }
-
-.atk-textarea {
- min-height: 70px !important; }
-
-.artalk > .atk-list > .atk-list-footer {
- bottom: auto !important; }
-
-.atk-item.atk-nick {
- color: var(--text-content-color) !important;
- font-weight: bold; }
-
-.atk-item.atk-nick a {
- color: #999 !important; }
-
-.atk-ua {
- color: #999 !important;
- background: var(--frame-color) !important; }
-
-.atk-ua-wrap {
- font-size: 11px; }
-
-.atk-text {
- color: #999 !important; }
-
-.atk-badge {
- display: none !important; }
-
-.atk-list-no-comment, .atk-copyright, .atk-copyright a {
- color: #999 !important; }
-
-.atk-send-btn {
- padding: 0 10px !important;
- min-width: 5em !important;
- background: transparent !important;
- border: 0.5px solid var(--text-highlight-color) !important;
- color: var(--text-highlight-color) !important; }
-
-.atk-send-btn:hover {
- opacity: 0.7; }
-
-.atk-list-header .atk-dropdown-wrap .atk-dropdown-item.active span, .atk-list-header .atk-dropdown-wrap .atk-dropdown-item span:hover {
- color: var(--text-highlight-color) !important; }
-
-.artalk {
- --at-color-main:#666!important;
- --at-color-pink:var(--text-highlight-color)!important;
- --at-color-light:var(--text-highlight-color)!important;
- --at-color-meta:#999!important;
- --at-color-border: #DDD !important; }
-
-.atk-content img {
- max-height: 1.1rem !important;
- vertical-align: middle;
- margin-left: 2px;
- margin-right: 2px;
- margin-top: -4px !important; }
-
-.atk-comment > .atk-main > .atk-body > .atk-content img {
- width: 1.1rem !important; }
-
-.atk-comment .atk-height-limit:after {
- margin-bottom: 20px; }
-
-.atk-editor-plug-emoticons > .atk-grp-wrap > .atk-grp[data-type="image"] > .atk-item {
- height: 32px !important;
- width: 32px !important; }
-
-.atk-editor-plug-emoticons > .atk-grp-wrap > .atk-grp > .atk-item {
- font-size: 24px !important;
- padding: 0 !important; }
-
-.atk-notify.atk-fade-in {
- background: #666 !important;
- margin-bottom: 6px; }
-
-.atk-pinned-badge {
- background: #999 !important; }
-
-.atk-send-reply {
- background: none !important; }
-
-.atk-reply-to {
- border-left: 3px solid #FFF !important; }
-
-.atk-plug-panel-wrap {
- height: 110px !important; }
-
-img[atk-emoticon] {
- max-height: 20px !important; }
-
-.atk-bottom {
- padding: 5px 10px 10px 5px !important; }
-
-.atk-main-editor > .atk-header {
- padding: 10px 5px 0 !important; }
-
-.atk-main-editor > .atk-plug-panel-wrap {
- border-top: 0.5px solid var(--at-color-border) !important; }
-
-.atk-textarea {
- padding: 10px !important; }
-
-.atk-main-editor {
- border: 1px solid var(--frame-color) !important; }
-
-.artalk code {
- border: 1px solid #FFBE98 !important;
- border-radius: 4px !important;
- background: transparent !important;
- margin: 0 4px !important; }
-
-.atk-main-editor > .atk-textarea-wrap > .atk-textarea {
- line-height: 1.6; }
-
-.atk-main-editor > .atk-bottom .atk-state-btn .atk-text-wrap {
- color: #999; }
-
-@media (prefers-color-scheme: dark) {
- .atk-content p {
- color: var(--text-content-dark-color) !important; }
- .pinglun {
- color: var(--text-content-dark-color); }
- .atk-main-editor {
- background: transparent !important;
- border: 1px solid var(--frame-dark-color) !important; }
- .atk-textarea {
- color: var(--text-content-dark-color) !important;
- font-size: 15px;
- background: transparent !important; }
- .atk-content, .atk-header {
- color: var(--text-content-dark-color) !important; }
- .atk-ua {
- color: #666 !important;
- background: var(--background-dark-color) !important; }
- .artalk {
- --at-color-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0), #242021)!important;
- --at-color-bg: #1A1718 !important;
- --at-color-border: #332D2F !important;
- --at-color-meta:#666 !important;
- --at-color-font:#BBB !important;
- --at-color-bg-grey: var(--background-dark-color) !important;
- --at-color-bg-grey:#332D2E!important; }
- .artalk.atk-dark-mode {
- --at-color-grey:#747474 !important; }
- .atk-text, .atk-list-no-comment, .atk-copyright, .atk-copyright a {
- color: #666 !important; }
- .atk-item.atk-nick {
- color: var(--text-content-dark-color) !important; }
- .atk-pinned-badge {
- color: var(--text-content-dark-color) !important;
- background: #666 !important; }
- .atk-reply-to {
- border-left: 3px solid #242021 !important; }
- .atk-comment .atk-main .atk-footer .atk-actions span:hover {
- color: #999 !important; }
- .atk-item.atk-nick a {
- color: #666 !important; }
- .atk-main-editor > .atk-bottom .atk-state-btn {
- background: var(--background-dark-color) !important; }
- .atk-main-editor > .atk-bottom .atk-state-btn .atk-text-wrap {
- color: #666; } }
-
-.artalk.hidden {
- display: none; }
-
-@media (max-width: 700px) {
- .atk-main-editor > .atk-header {
- display: block !important; } }
-
-#MoreComments {
- background: transparent;
- cursor: pointer;
- color: var(--text-highlight-color);
- border-radius: 4px;
- padding: 10px 30px;
- font-family: var(--font-family-title);
- font-size: 0.85rem;
- border: 0.5px solid var(--text-highlight-color);
- display: inline-block; }
-
-#MoreComments:hover {
- opacity: 0.8;
- transition: opacity .3s ease-in-out; }
-
-.appdquanjudiv {
- display: grid;
- grid-gap: 10px;
- /* 中间空10px间距 */ }
- @media (min-width: 900px) {
- .appdquanjudiv {
- grid-template-columns: repeat(2, 1fr);
- grid-gap: 15px;
- /* 中间空10px间距 */ } }
-.appquanju {
- display: grid;
- grid-template-columns: auto 1fr auto;
- grid-gap: 10px;
- align-items: center;
- justify-content: center;
- background: #fff;
- box-shadow: rgba(0, 0, 0, 0.05) 0px 6px 20px 0px;
- padding: 15px;
- border-radius: 4px;
- z-index: 1; }
-
-.appimg img {
- width: 70px;
- transition: transform 0.3s ease; }
-
-.apptitle {
- font-size: 1rem;
- margin-bottom: 4px; }
- @media (min-width: 900px) {
- .apptitle {
- font-size: 0.85rem; } }
-.appnote {
- display: none; }
- @media (min-width: 900px) {
- .appnote {
- display: grid;
- position: absolute;
- padding: 6px 15px 6px 0;
- background: #fff;
- top: 0;
- bottom: 0;
- color: var(--erji-color);
- font-size: 0.9rem;
- line-height: 1.4;
- align-items: center;
- opacity: 0;
- text-align: justify;
- transition: opacity 0.3s ease; } }
-.appquanju:hover .appnote {
- opacity: 1; }
-
-.appzhuangtai {
- display: flex;
- gap: 10px;
- flex-wrap: wrap; }
-
-.macos {
- font-size: 0.75rem;
- font-family: var(--font-family-code);
- color: var(--sanji-color); }
-
-.macos:empty, .kaiyuan:empty, .shoufei:empty, .free:empty {
- display: none; }
-
-.kaiyuan, .shoufei, .free {
- font-size: 0.9rem;
- padding: 5px 8px;
- border-radius: 20px; }
- @media (min-width: 900px) {
- .kaiyuan, .shoufei, .free {
- font-size: 0.75rem; } }
-.kaiyuan {
- color: var(--text-highlight-color);
- border: 0.5px solid var(--text-highlight-color); }
-
-.shoufei {
- color: #0774e0;
- border: 0.5px solid #0774e0; }
-
-.free {
- color: #11a173;
- border: 0.5px solid #11a173; }
-
-.appdquanjudiv a:hover {
- text-decoration: none; }
-
-.apptitle a:hover {
- text-decoration: underline; }
-
-.pagetitle {
- font-size: 1rem;
- line-height: 1.8;
- margin-bottom: 20px;
- max-width: 620px;
- margin: auto;
- padding-bottom: 20px;
- text-align: center;
- color: var(--erji-color); }
-
-.app-star {
- display: block;
- position: relative;
- aspect-ratio: 1;
- overflow: hidden;
- padding: 10px 25px 40px 25px; }
-
-.app-star .appnote {
- opacity: 1;
- background: transparent;
- padding: 0;
- position: static;
- display: block;
- font-size: 0.85rem;
- line-height: 1.6; }
- @media (min-width: 900px) {
- .app-star .appnote {
- font-size: 0.9rem; } }
-.star-img {
- position: absolute;
- top: 0;
- left: 0;
- right: 0;
- bottom: 0;
- z-index: -1; }
-
-.star-img img {
- height: 100%;
- width: 100%;
- object-fit: cover;
- border-radius: 4px;
- transition: transform 0.3s ease; }
-
-.star-img img:hover {
- transform: scale(1.1); }
-
-.app-star .apptitle2 {
- font-size: 1.6rem;
- margin-bottom: 5px; }
-
-.app-star .apptitle2 a, .app-star .appnote, .app-star .macos, .app-star .kaiyuan, .app-star .shoufei, .app-star .free {
- color: #fff;
- font-family: var(--font-family-code);
- transition: opacity .3s ease-in-out; }
-
-.app-star .apptitle2 a:hover {
- opacity: 0.8; }
-
-.app-star .macos {
- margin-bottom: 20px; }
-
-.app-star .kaiyuan, .app-star .shoufei, .app-star .free {
- border: 0.5px solid #fff; }
-
-.app-star .appzhuangtai-right {
- display: inline-block; }
-
-@media (prefers-color-scheme: dark) {
- .macos {
- color: var(--erji-color); }
- .pagetitle {
- color: var(--sanji-color); }
- .appnote, .apptitle a {
- color: var(--text-content-dark-color); }
- .appquanju, .appnote {
- background: var(--background-dark-color); }
- .app-star .apptitle2 a, .app-star .appnote, .app-star .macos, .app-star .kaiyuan, .app-star .shoufei, .app-star .free {
- color: #dfdfdf; }
- .app-star .kaiyuan, .app-star .shoufei, .app-star .free {
- border: 0.5px solid #dfdfdf; } }
-
-.quanju {
- display: grid;
- grid-template-columns: repeat(2, 1fr);
- grid-gap: 10px;
- /* 中间空10px间距 */ }
- @media (min-width: 900px) {
- .quanju {
- grid-template-columns: repeat(3, 1fr);
- grid-gap: 15px;
- /* 中间空10px间距 */ } }
-.duiqi {
- display: flex;
- justify-content: center;
- align-items: center; }
-
-.duiqi img {
- max-width: 70%;
- margin: 0;
- transition: transform 0.3s ease; }
- @media (min-width: 900px) {
- .duiqi img {
- max-width: 60%; } }
-.bankuai {
- background: #F8F8F8;
- padding: 30px 0 40px 0;
- border-radius: 4px; }
-
-.bankuai a:hover {
- text-decoration: none; }
-
-.hardware-text {
- text-align: center;
- color: var(--sanji-color);
- margin-top: 20px; }
-
-.hardware-title {
- margin-bottom: 4px;
- font-size: 0.9rem;
- padding: 0 10px; }
- @media (min-width: 900px) {
- .hardware-title {
- padding: 0; } }
-.hardware-title a {
- color: var(--text-content-color); }
-
-.hardware-title a:hover {
- text-decoration: underline; }
-
-.hardware-jiage {
- margin-left: auto;
- font-size: 0.85rem;
- border-radius: 20px;
- font-family: var(--font-family-code); }
- @media (min-width: 900px) {
- .hardware-jiage {
- font-size: 0.75rem; } }
-.liing_2_right {
- justify-content: center;
- /* 水平居中对齐 */
- display: flex; }
-
-.tiyi {
- color: var(--text-highlight-color);
- font-size: 1rem;
- border: 0.5px solid var(--text-highlight-color);
- padding: 4px 10px;
- border-radius: 20px;
- margin-top: 6px; }
- @media (min-width: 900px) {
- .tiyi {
- font-size: 0.85rem; } }
-.tiyi:hover {
- text-decoration: underline; }
-
-.tiyi:empty, .details:empty {
- display: none; }
-
-.note {
- display: none; }
- @media (min-width: 900px) {
- .note {
- display: block;
- position: absolute;
- padding: 15px;
- z-index: 10;
- top: 0;
- background: rgba(248, 248, 248, 0.6);
- color: var(--erji-color);
- font-size: 0.9rem;
- line-height: 1.6;
- opacity: 0;
- backdrop-filter: saturate(140%) blur(20px);
- -webkit-backdrop-filter: saturate(140%) blur(20px);
- transition: opacity 0.4s ease; } }
-.bankuai:hover .note {
- opacity: 1; }
-
-@media (prefers-color-scheme: dark) {
- .bankuai {
- background: var(--background-dark-color); }
- .hardware-text {
- color: var(--erji-color); }
- .hardware-title a, .note {
- color: var(--text-content-dark-color); } }
-
-@media (prefers-color-scheme: dark) and (min-width: 900px) {
- .note {
- background: rgba(32, 29, 30, 0.6); } }
-
-/*归档页标签*/
-.archives_tags {
- display: flex;
- flex-wrap: wrap;
- grid-gap: 10px; }
-
-.list-tags {
- border-radius: 20px;
- padding: 10px;
- border: 1px solid var(--frame-color);
- font-size: 0.85rem; }
-
-.list-tags a {
- color: var(--erji-color); }
-
-.archives_tags_f {
- color: var(--sanji-color);
- font-size: 0.85rem; }
-
-/*文章页标签*/
-.single-biaoq {
- margin-top: 20px; }
-
-.single-biaoq, .single-tag {
- display: flex;
- flex-wrap: wrap;
- gap: 10px;
- align-items: center; }
-
-.page-time, .single-tag-c {
- font-size: 0.85rem;
- color: #999;
- display: inline-block; }
-
-.single-tag-c a {
- color: var(--sanji-color); }
-
-@media (prefers-color-scheme: dark) {
- .page-time, .single-tag-c {
- color: #666; }
- .single-tag-c a {
- color: #666; }
- .archives_tags_f {
- color: var(--erji-color); }
- .list-tags {
- border: 0.5px solid var(--frame-dark-color); }
- .list-tags a {
- color: var(--sanji-color); } }
-
-.movie-quanju {
- display: grid;
- grid-template-columns: repeat(3, 1fr);
- grid-gap: 2px;
- margin-bottom: 40px; }
-
-.movies_video {
- position: absolute;
- height: 30rem;
- width: 100%;
- left: 0;
- right: 0;
- top: 0;
- z-index: -10; }
-
-.movies_video:after {
- content: '';
- position: absolute;
- left: 0;
- right: 0;
- top: 0;
- height: 100%;
- background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, #FFF 100%); }
-
-.page-movies .pagetitle, .page-movies .header-menu a {
- color: #FFF; }
-
-.page-movies .header-menu svg {
- color: #ebebeb; }
-
-.page-movies .menu-main svg {
- fill: #dfdfdf; }
-
-#movies_page {
- display: grid;
- grid-gap: 2px;
- grid-template-columns: repeat(3, 1fr); }
-
-.movies_bankuai {
- position: relative;
- overflow: hidden;
- width: 100%;
- aspect-ratio: 3 / 4.4; }
-
-.movies_bankuai img {
- width: 100%;
- height: 100%;
- object-fit: cover; }
-
-.movies-nrong {
- display: none; }
- @media (min-width: 700px) {
- .movies-nrong {
- display: block;
- padding: 60px 20px 20px 20px;
- color: #fff;
- font-size: 0.85rem;
- position: absolute;
- transition: transform 0.3s ease;
- top: 0;
- left: 0;
- right: 0;
- bottom: 0;
- background: rgba(0, 0, 0, 0.85);
- opacity: 0; } }
-.movies_bankuai:hover .movies-nrong {
- opacity: 1;
- transform: scale(1.05); }
-
-.movie-time {
- color: #c7c7c7;
- margin-top: 7px; }
-
-.movie-title {
- font-family: var(--font-family-title);
- font-weight: bold;
- font-size: 1rem;
- margin: 6px 0 6px 0; }
-
-.movie-title a {
- color: #FFF; }
-
-.movie-pfeng {
- color: #c7c7c7;
- margin-bottom: 8px;
- display: flex;
- gap: 4px; }
-
-.movie-pfeng svg {
- width: 0.85rem;
- height: 0.85rem;
- color: #fcb68d; }
-
-.movie-info {
- line-height: 1.6;
- color: #FFF;
- text-align: justify; }
-
-.movies_loadMore {
- background: 0 0;
- cursor: pointer;
- color: var(--text-highlight-color);
- border-radius: 4px;
- padding: 10px 30px;
- font-family: var(--font-family-title);
- font-size: .85rem;
- border: 0.5px solid var(--text-highlight-color);
- margin-top: 20px;
- display: inline-block; }
-
-.movies_loadMore:hover {
- opacity: 0.8; }
-
-@media (prefers-color-scheme: dark) {
- .movie-content-right-3, .movie-content-right-2 a {
- color: var(--sanji-color); }
- .movies_video:after {
- background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, #1A1718 100%); }
- .page-movies .pagetitle, .page-movies .header-menu a {
- color: var(--sanji-color); }
- .page-movies .header-menu svg {
- color: #827478; }
- .page-movies .pagetitle, .page-movies .header-menu a, .movie-info, .movie-title a {
- color: #dfdfdf; }
- .page-movies .header-menu svg {
- color: #dfdfdf; }
- .page-movies .menu-main svg {
- fill: #c3c3c3; } }
-
-.memos_diaoyong {
- max-width: 700px;
- margin: auto;
- padding-bottom: 20px; }
-
-.memos-random-background {
- border-radius: 4px;
- background: var(--bankuai-color) !important;
- padding: 10px; }
-
-.memos-diaoyong-tag .memos-tag-dg {
- cursor: auto; }
-
-.memos-diaoyong-tag .memos-tag-dg:hover {
- text-decoration: none; }
-
-.memos_diaoyong_from a {
- color: var(--erji-color);
- font-family: var(--font-family-code); }
-
-.memos-logo, .memos-logo2 {
- padding-top: 7px; }
-
-.memos-logo img, .memos-logo2 img {
- width: 24px;
- height: 24px;
- border-radius: 50%;
- margin-right: 8px; }
-
-.talks_comments {
- margin-left: auto; }
-
-.talks_comments svg {
- color: var(--sanji-color);
- cursor: pointer;
- width: 18px;
- height: 18px; }
-
-.talks_comments svg:hover {
- color: var(--erji-color); }
-
-.memos_diaoyong_top {
- margin-top: 5px;
- display: flex;
- align-items: center;
- gap: 6px; }
-
-.memos_diaoyong_from, .memos_diaoyong_time, .memos_diaoyong_laiz, .memos_diaoyong_more {
- color: var(--sanji-color);
- font-size: 0.85rem; }
-
-.memos_diaoyong_laiz a, .memos_diaoyong_more a {
- color: var(--sanji-color); }
-
-.memos_diaoyong_info p {
- font-size: 1rem;
- color: var(--text-content-color);
- line-height: 1.8;
- margin: 0; }
-
-.memos_diaoyong_more {
- margin-left: auto; }
-
-.bb-timeline {
- margin-bottom: 0; }
- @media (min-width: 900px) {
- .bb-timeline {
- margin-bottom: 40px; } }
-.datacont p {
- font-size: 1rem;
- line-height: 1.8;
- margin: 0;
- text-align: justify; }
-
-.datacont a {
- text-decoration: underline;
- margin: 0 2px;
- transition: opacity 0.3s ease-in-out 0s; }
- .datacont a:hover {
- opacity: 0.6; }
-
-.resimg figure {
- margin: 0;
- margin-bottom: -4px; }
-
-.resimg {
- display: grid;
- gap: 6px;
- width: 60%;
- grid-template-columns: repeat(2, 1fr);
- margin-top: 5px;
- margin-bottom: 10px; }
-
-.gallery-thumbnail img {
- width: 100% !important;
- aspect-ratio: 3.5 / 3;
- object-fit: cover;
- border-radius: 4px;
- transition: transform 0.3s ease;
- cursor: zoom-in;
- margin: 0 !important; }
-
-.resimg img:hover {
- transform: scale(1.03); }
-
-.grid-3, .grid-5, .grid-6, .grid-7, .grid-8, .grid-9 {
- grid-template-columns: repeat(3, 1fr); }
-
-.memos-tag-dg, .memos-tag-sc {
- display: inline-block;
- /* 根据padding宽度自动调整 */
- padding: 4px 4px 4px 2px;
- color: var(--sanji-color);
- font-size: 0.85rem;
- border-radius: 4px;
- vertical-align: middle;
- cursor: pointer; }
-
-#tag-list-all {
- margin-top: 10px;
- display: flex;
- gap: 10px;
- flex-wrap: wrap; }
-
-.memos-tag-all {
- padding: 6px;
- color: var(--sanji-color);
- background: #f2f2f2;
- font-size: 0.85rem;
- border-radius: 4px;
- cursor: pointer; }
-
-.memos-tag-sc-2 {
- align-items: center;
- display: flex;
- margin-top: 10px;
- font-size: 0.85rem;
- color: var(--sanji-color);
- margin-bottom: 10px; }
-
-.memos-tag-sc {
- margin-left: 10px;
- font-size: 0.85rem !important;
- color: #666 !important;
- background: #e5e5e5 !important;
- padding: 8px !important; }
-
-.memos-tag-sc svg {
- width: 1rem;
- margin-left: 6px;
- vertical-align: middle;
- margin-top: -4px; }
-
-.memos-tag-sc:hover {
- text-decoration: line-through; }
-
-.memos-tag-dg:hover, .memos-tag-all:hover {
- text-decoration: underline; }
-
-.memos-pl {
- display: flex;
- margin-bottom: 8px;
- align-items: center;
- gap: 6px; }
-
-.bb-load button {
- background: transparent;
- cursor: pointer;
- color: var(--text-highlight-color);
- border-radius: 4px;
- padding: 10px 30px;
- font-family: var(--font-family-title);
- font-size: 0.85rem;
- border: 0.5px solid var(--text-highlight-color); }
-
-.bb-load button:hover {
- opacity: 0.8;
- transition: opacity .3s ease-in-out; }
-
-.memos-hide {
- margin-left: auto;
- color: var(--text-highlight-color); }
-
-.datacont pre {
- border-radius: 4px;
- line-height: 1.8;
- background: #ececec;
- padding: 10px;
- white-space: pre-wrap;
- margin-top: 5px;
- margin-bottom: 10px; }
- @media (min-width: 900px) {
- .datacont pre {
- background: #f6f6f6; } }
-.datacont pre code {
- background: transparent;
- font-size: 0.85rem;
- padding: 0;
- color: var(--erji-color);
- border: none;
- margin: 0; }
-
-.datacont code {
- background: #ffe4d4;
- border: 1px solid #FFBE98;
- border-radius: 4px;
- font-size: 1rem;
- padding: 2px 6px 2px 6px;
- font-family: var(--font-family-code);
- margin: 0 4px 0 4px;
- word-wrap: break-word; }
-
-blockquote p {
- background: var(--background-color);
- border-radius: 0 4px 4px 0;
- padding: 10px;
- font-size: 1rem !important;
- line-height: 1.6 !important;
- border-left: 4px solid #bfbfbf;
- color: #666 !important;
- margin: -10px -40px 0 -40px !important; }
-
-.load-memos-editor {
- cursor: pointer;
- display: inline-block;
- margin-left: 30px;
- color: transparent; }
-
-.outline svg {
- color: var(--sanji-color);
- width: 18px;
- height: 18px; }
-
-.memos-more-ico {
- position: relative; }
-
-.memos-xiala {
- width: 80px;
- position: absolute;
- background-color: #fff;
- padding: 6px 0;
- box-shadow: 2px 4px 1rem rgba(0, 0, 0, 0.15);
- text-align: center;
- border-radius: 4px;
- display: none;
- font-size: 0.85rem;
- right: -30px; }
-
-.memos-more-ico:hover .memos-xiala {
- display: block; }
-
-.memos-more-ico svg {
- color: var(--sanji-color); }
-
-.memos-xiala svg {
- width: 18px;
- height: 18px;
- color: #ababab; }
-
-.memos-xiala .switchUser-btn {
- margin-top: 20px !important; }
-
-.memos-xiala .switchUser-btn, .memos-xiala .private-btn, .memos-xiala .oneday-btn, .image-btn, .code-btn {
- margin: 12px 0;
- cursor: pointer;
- color: var(--erji-color);
- display: flex;
- align-items: center;
- justify-content: center;
- gap: 8px; }
-
-.memos-xiala .switchUser-btn:hover, .memos-xiala .private-btn:hover, .memos-xiala .oneday-btn:hover, .image-btn:hover, .code-btn:hover {
- text-decoration: underline; }
-
-.outline svg:hover {
- color: #444; }
-
-.memos-title {
- display: none; }
-
-.d-flex {
- display: flex;
- align-items: center;
- gap: 18px; }
-
-.d-none {
- display: none !important; }
-
-.memos-editor-body {
- border-radius: 4px;
- border: 0.5px solid #eaeaea;
- padding: 15px;
- margin-bottom: 10px; }
- @media (min-width: 900px) {
- .memos-editor-body {
- margin-bottom: 40px; } }
-.memos-editor-content .memos-editor-textarea {
- border: transparent;
- border-radius: 4px;
- line-height: 1.6;
- min-height: 60px;
- overflow-x: hidden;
- overflow-y: clip;
- width: 100%;
- outline: 0.1px solid transparent;
- resize: none;
- background: transparent;
- font-family: var(--font-family-paragraph);
- font-size: 1rem;
- padding: 0; }
-
-.memos-editor-tools {
- margin-top: 4px;
- margin-bottom: 10px; }
-
-.action-btn {
- cursor: pointer; }
-
-.memos-editor-tools .memos-tag-list {
- display: flex;
- flex-wrap: wrap;
- margin-top: 15px;
- grid-gap: 15px; }
-
-.memos-editor-tools .memos-tag {
- cursor: pointer; }
-
-.memos-editor-tools .memos-tag a {
- color: var(--sanji-color); }
-
-.editor-selector {
- position: relative;
- display: inline-block; }
-
-.editor-selector select {
- appearance: none;
- /* 隐藏原生控件样式 */
- border: 0 solid transparent;
- border-radius: 4px;
- padding: 8px 20px 8px 0;
- background: transparent;
- color: var(--sanji-color);
- font-family: var(--font-family-paragraph);
- font-size: 0.85rem;
- outline: 0.5px solid transparent; }
-
-.editor-selector::after {
- content: '';
- position: absolute;
- top: 50%;
- right: 8px;
- /* 调整箭头的位置,这里示例将箭头靠右偏移8像素 */
- width: 0;
- border-style: solid;
- border-width: 4px 4px 0 4px;
- /* 控制箭头的大小和形状 */
- border-color: #999 transparent transparent transparent;
- /* 控制箭头的颜色 */
- transform: translateY(-50%);
- /* 将箭头垂直居中对齐 */ }
-
-.submit-memos-btn, .edit-memos-btn {
- background: transparent;
- cursor: pointer;
- color: var(--text-highlight-color);
- border-radius: 4px;
- padding: 6px 0; }
-
-.cancel-edit-btn {
- padding: 6px 0;
- cursor: pointer;
- border: 0.5px solid #FFF;
- color: var(--sanji-color); }
-
-.memos-open-api-submit:hover, .edit-memos-btn:hover, .cancel-edit-btn:hover {
- opacity: 0.7;
- transition: opacity .3s ease-in-out; }
-
-.memos-editor-textarea::placeholder {
- color: #bbbbbb; }
-
-.memos-editor-footer {
- display: flex;
- align-items: center; }
-
-.justify-content-end {
- margin-left: auto; }
-
-.memos-image-list {
- cursor: pointer;
- gap: 10px;
- color: var(--sanji-color);
- margin-bottom: 15px; }
-
-.memos-image-list .memos-up-image {
- background-size: cover;
- background-repeat: no-repeat;
- width: 4rem;
- height: 4rem;
- border-radius: 4px;
- transition: opacity .3s ease-in-out; }
-
-.memos-image-list .memos-up-image:hover {
- opacity: 0.6; }
-
-.memos-img-edit {
- background: #f5f5f5;
- padding: 6px;
- border-radius: 4px; }
-
-.memos-img-edit:hover {
- text-decoration: line-through; }
-
-.memos-editor-option {
- display: flex; }
-
-.memos-path-input, .memos-token-input {
- border: transparent;
- padding: 6px 0 6px 0;
- outline: 0.5px solid transparent;
- background: transparent;
- font-size: 1rem;
- font-family: var(--font-family-code);
- width: 50%; }
-
-.memos-token-input {
- margin-left: 40px;
- margin-right: 10px; }
-
-.memos-open-api-submit {
- background: var(--text-highlight-color);
- cursor: pointer;
- color: #fff;
- border-radius: 4px;
- width: 100px;
- display: flex;
- align-items: center;
- justify-content: center; }
-
-.memos-oneday {
- margin-bottom: 10px;
- list-style: none; }
- @media (min-width: 900px) {
- .memos-oneday {
- margin-bottom: 40px; } }
-.memos-oneday .memos_diaoyong_time {
- color: var(--text-highlight-color); }
-
-.memos-edit {
- margin-left: auto;
- position: relative; }
-
-.memos-menu {
- margin-left: 40px;
- color: transparent; }
-
-.memos-menu-d {
- width: 60px;
- position: absolute;
- top: 8px;
- background-color: #fff;
- padding: 8px 0 8px 0;
- box-shadow: 2px 4px 1rem rgba(0, 0, 0, 0.15);
- text-align: center;
- border-radius: 4px;
- display: none; }
-
-.memos-edit:hover .memos-menu-d {
- display: block; }
-
-.edit-btn, .archive-btn, .delete-btn {
- cursor: pointer;
- line-height: 1.8;
- color: var(--sanji-color);
- font-size: 0.85rem; }
-
-.edit-btn:hover, .archive-btn:hover, .delete-btn:hover {
- text-decoration: underline; }
-
-.delete-btn {
- color: #c70000 !important; }
-
-.edit-memos {
- display: flex;
- gap: 20px; }
-
-@media (max-width: 900px) {
- .resimg {
- width: 100% !important; }
- .resimg figure {
- margin-bottom: -8px; }
- .memos_diaoyong {
- display: none; }
- .bb-load button {
- margin-top: 10px; }
- .bb-list-li {
- background: #f6f6f6;
- padding: 15px;
- margin-bottom: 10px;
- border-radius: 6px; } }
-
-@media (max-width: 900px) and (prefers-color-scheme: dark) {
- .bb-list-li {
- background: var(--background-dark-color); } }
-
-@media (min-width: 900px) {
- .memos_diaoyong .resimg {
- width: 100% !important;
- grid-template-columns: repeat(5, 1fr); }
- .memos_diaoyong .grid-3, .memos_diaoyong .grid-5, .memos_diaoyong .grid-6, .memos_diaoyong .grid-7, .memos_diaoyong grid-8, .memos_diaoyong .grid-9 {
- grid-template-columns: repeat(5, 1fr); }
- .bb-list-ul {
- display: grid;
- grid-row-gap: 40px;
- /* 可选项,设置列之间的间隔 */ } }
-
-@media (prefers-color-scheme: dark) {
- .memos-xiala {
- background-color: #282527; }
- .memos-xiala .switchUser-btn, .memos-xiala .private-btn, .memos-xiala .oneday-btn, .image-btn, .code-btn {
- color: var(--sanji-color); }
- .memos-more-ico svg {
- color: var(--erji-color); }
- .memos-editor-textarea::placeholder {
- color: #444; }
- .memos-tag-all {
- background: #332E2F; }
- .memos-tag-sc-2 {
- color: var(--erji-color); }
- .memos-editor-body {
- border: 0.5px solid var(--frame-dark-color); }
- .memos-tag-dg {
- color: var(--erji-color); }
- .memos-tag-sc {
- color: #999 !important;
- background: #332E2F !important; }
- .bb-load button {
- background: var(--background-dark-color); }
- .memos_diaoyong_from a {
- color: var(--sanji-color); }
- .memos_diaoyong_time, .memos_diaoyong_laiz a, .memos_diaoyong_more a, .memos_diaoyong_from {
- color: var(--erji-color); }
- .memos_diaoyong_info p, .memos_diaoyong_info a {
- color: var(--text-content-dark-color) !important; }
- .talks_comments svg {
- color: var(--erji-color); }
- .talks_comments svg:hover {
- color: var(--sanji-color); }
- .datacont pre, blockquote p {
- background: #2c2829; }
- .datacont pre code {
- color: var(--sanji-color); }
- .datacont code {
- background: #2c2829;
- border: 1px solid #2c2829;
- color: var(--text-highlight-color); }
- blockquote p {
- border-left: 4px solid #5f5f5f;
- color: #888 !important; }
- .memos_diaoyong_info blockquote p {
- color: #888 !important; }
- .outline svg {
- color: var(--erji-color); }
- .outline svg:hover {
- color: var(--sanji-color); }
- .memos-path-input, .memos-token-input {
- color: var(--text-content-dark-color) !important; }
- .editor-selector select {
- color: #666 !important; }
- .editor-selector::after {
- border-color: #666 transparent transparent transparent;
- /* 控制箭头的颜色 */ }
- .memos-editor-content .memos-editor-textarea {
- color: var(--text-content-dark-color); }
- .memos-open-api-submit {
- background: #1A1718 !important;
- color: var(--text-highlight-color) !important; }
- .edit-btn, .archive-btn, .delete-btn, .cancel-edit-btn, .memos-image-list {
- color: var(--erji-color); }
- .memos-menu-d, .memos-img-edit {
- background-color: #282527; }
- .cancel-edit-btn {
- border: 0.5px solid #201d1e; }
- #memos-tag-menu {
- background-color: #282527 !important;
- box-shadow: 2px 4px 1rem rgba(0, 0, 0, 0.3) !important;
- color: #888 !important; }
- .tag-option.selected {
- background-color: #3e3e3e !important;
- color: #bdbdbd !important; } }
-
-.emoji-selector {
- display: grid;
- grid-template-columns: repeat(auto-fill, minmax(32px, 1fr));
- gap: 6px;
- margin-top: 6px; }
-
-.emoji-item {
- padding: 4px;
- font-size: 24px;
- line-height: 0.8;
- cursor: pointer;
- text-align: center; }
-
-.emoji-item:hover {
- opacity: 0.6; }
-
-#memos-tag-menu {
- position: absolute;
- background-color: white;
- z-index: 100;
- padding: 5px;
- box-shadow: 2px 4px 1rem rgba(0, 0, 0, 0.15);
- color: var(--sanji-color);
- border-radius: 4px;
- font-size: 0.85rem;
- column-count: 3;
- /* 每列显示的数量 */
- column-gap: 4;
- /* 列之间的间距 */ }
-
-#memos-tag-menu:empty {
- display: none; }
-
-.tag-option {
- padding: 6px 10px 6px 10px;
- cursor: pointer; }
-
-.tag-option:hover {
- text-decoration: underline; }
-
-.tag-option.selected {
- background-color: #f0f0f0;
- border-radius: 4px;
- color: var(--erji-color); }
-
-.index-laodao {
- display: flex;
- align-items: center;
- margin-bottom: 20px;
- gap: 8px;
- font-size: 1rem;
- color: #999; }
-
-.index-laodao svg {
- color: var(--text-highlight-color);
- width: 24px;
- height: 24px; }
-
-.sidebar-biaot {
- margin-bottom: 20px;
- font-size: 1rem;
- color: var(--sanji-color); }
-
-.sidebar-bowen {
- margin-bottom: 40px; }
-
-.sidebar-posts-title {
- margin-top: 4px;
- font-family: var(--font-family-title);
- font-size: 1.25rem;
- line-height: 1.6; }
-
-.sidebar-posts-title a {
- color: var(--text-content-color); }
-
-.sidebar_article_new {
- background: var(--text-highlight-color);
- color: #fff;
- padding: 2px 4px;
- font-family: var(--font-family-code);
- border-radius: 2px;
- font-size: 0.75rem;
- display: inline-block; }
-
-@media (prefers-color-scheme: dark) {
- .sidebar-posts-title a {
- color: var(--text-content-dark-color); }
- .sidebar-biaot, .index-laodao {
- color: var(--erji-color); } }
-
-.about-img {
- position: relative; }
-
-.about-img img {
- width: 100%; }
-
-.about-img-text {
- position: absolute;
- top: 50%;
- left: 50%;
- transform: translate(-50%, -50%);
- color: #fff;
- font-family: var(--font-family-code);
- font-size: 1.8rem; }
- @media (min-width: 700px) {
- .about-img-text {
- font-size: 55px; } }
-.about-text {
- margin: 20px 0 20px 0;
- line-height: 2;
- font-size: 1.05rem;
- text-align: justify; }
-
-.about-text a {
- color: var(--text-highlight-color); }
-
-.about-img-intro {
- padding: 8px;
- border-radius: 2px;
- font-size: 0.75rem;
- background: rgba(0, 0, 0, 0.4);
- position: absolute;
- color: #FFF;
- bottom: 0;
- right: 0;
- margin-bottom: 4px; }
-
-.posts-new {
- display: grid;
- gap: 30px; }
- @media (min-width: 900px) {
- .posts-new {
- gap: 40px; } }
-.posts-background {
- position: relative;
- overflow: hidden; }
-
-.posts-title a {
- font-family: var(--font-family-title);
- font-size: 1.4rem;
- line-height: 1.5;
- overflow: hidden;
- display: -webkit-box;
- -webkit-line-clamp: 1;
- -webkit-box-orient: vertical; }
-
-.posts-description {
- line-height: 1.8;
- font-size: 1rem;
- margin: 6px 0;
- color: var(--erji-color);
- overflow: hidden;
- text-overflow: ellipsis;
- display: -webkit-box;
- -webkit-line-clamp: 3;
- -webkit-box-orient: vertical; }
-
-.posts_list {
- display: grid;
- gap: 15px;
- margin-top: 30px; }
- @media (min-width: 900px) {
- .posts_list {
- display: flex;
- flex-wrap: wrap; } }
-.posts_list_article {
- border-radius: 4px;
- background: #fff;
- box-shadow: rgba(0, 0, 0, 0.07) 0px 6px 20px 0px;
- padding: 15px; }
-
-.posts-img {
- margin: 10px 0;
- overflow: hidden;
- aspect-ratio: 5.3 / 3; }
-
-.posts-img img {
- width: 100%;
- height: 100%;
- object-fit: cover;
- transition: transform 0.3s ease; }
-
-.posts-img img:hover {
- transform: scale(1.03); }
-
-.posts-time-new {
- display: flex;
- align-items: center;
- gap: 8px; }
-
-.archives_nrong {
- margin: 30px 0;
- display: grid;
- grid-gap: 15px;
- /* 中间空10px间距 */
- grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); }
- @media (min-width: 700px) {
- .archives_nrong {
- grid-gap: 20px;
- /* 中间空10px间距 */ } }
-.archives_one {
- display: flex;
- align-items: center;
- background: #fff;
- box-shadow: rgba(0, 0, 0, 0.07) 0px 6px 20px 0px;
- padding: 15px; }
- @media (min-width: 700px) {
- .archives_one {
- grid-gap: 20px;
- /* 中间空10px间距 */ } }
-.archive-title {
- font-family: var(--font-family-title);
- font-size: 1rem;
- line-height: 1.6; }
-
-.archive-time {
- font-size: 0.85rem;
- color: var(--sanji-color);
- font-family: var(--font-family-code); }
-
-.archive-img {
- margin-left: auto; }
-
-.archive-img img {
- width: 120px;
- aspect-ratio: 4.5 / 3;
- object-fit: cover;
- border-radius: 6px;
- transition: transform 0.3s ease;
- margin-left: 10px; }
-
-.archives_one:hover .archive-img img {
- transform: scale(1.05); }
-
-@media (prefers-color-scheme: dark) {
- .archive-time {
- color: var(--erji-color); }
- .posts_list_article, .archives_one {
- background: var(--background-dark-color); }
- .posts-description {
- color: var(--sanji-color); } }
-
-.page-tiaozhuan .header, .page-tiaozhuan .footer-background {
- display: none; }
-
-.tiaozhuan-all {
- position: relative;
- box-shadow: rgba(0, 0, 0, 0.25) 0px 25px 50px -12px;
- border-radius: 10px;
- background: #fff url(https://img.koobai.com/tiaozhuanico.webp) no-repeat center center/cover;
- color: #666;
- word-break: break-all;
- max-width: 700px;
- height: 350px;
- text-align: center;
- font-size: 0.85rem;
- overflow: hidden;
- margin: 100px auto 0; }
- @media (min-width: 700px) {
- .tiaozhuan-all {
- aspect-ratio: 2 / 1;
- height: auto; } }
-.tiaozhuan-nrong {
- position: absolute;
- bottom: 0;
- left: 0;
- right: 0;
- padding: 20px 20px 30px 20px; }
-
-.tiaozhuan-title {
- font-size: 1.3rem;
- font-family: var(--font-family-title);
- color: #222;
- line-height: 1.4;
- margin-bottom: 4px; }
-
-.tiaozhuan-info {
- margin-top: 6px; }
-
-.tiaozhuan-button {
- margin-top: 20px; }
-
-.tiaozhuan-button a {
- color: var(--text-highlight-color);
- border-radius: 4px;
- padding: 10px 30px;
- font-family: var(--font-family-title);
- font-size: 0.85rem;
- border: 0.5px solid var(--text-highlight-color);
- display: inline-block; }
-
-@media (prefers-color-scheme: dark) {
- .tiaozhuan-all {
- background: var(--background-dark-color) url(https://img.koobai.com/tiaozhuandark.webp) no-repeat center center/cover;
- color: #acacac; }
- .tiaozhuan-title {
- color: #ddd; } }
-
-.command-menu {
- border-radius: 1rem;
- display: flex;
- flex-direction: column;
- max-height: 55vh;
- width: 340px;
- overflow: hidden;
- pointer-events: none;
- text-align: left;
- position: fixed;
- bottom: 50%;
- left: 50%;
- z-index: 999;
- opacity: 0;
- box-shadow: rgba(0, 0, 0, 0.05) 0px 6px 24px 0px, rgba(0, 0, 0, 0.08) 0px 0px 0px 1px;
- transform: translate3d(-50%, calc(50% + 0.5rem), 0) scale(0.95);
- transform-origin: 50% 0;
- animation: fadeInOut 0.3s cubic-bezier(0.68, -0.55, 0.27, 1.55);
- display: none;
- background-color: rgba(255, 255, 255, 0.9);
- -webkit-backdrop-filter: saturate(140%) blur(20px);
- backdrop-filter: saturate(140%) blur(20px); }
-
-@keyframes fadeInOut {
- 0% {
- opacity: 0;
- transform: translate3d(-50%, calc(50% + 0.5rem), 0) scale(0.95); }
- 100% {
- opacity: 1;
- transform: translate3d(-50%, 50%, 0) scale(1); } }
-
-.command-menu.visible {
- opacity: 1;
- transform: translate3d(-50%, 50%, 0) scale(1); }
-
-.command-menu:not([hidden]) {
- opacity: 1;
- pointer-events: auto;
- transform: translate3d(-50%, 50%, 0) scale(1); }
-
-.list-reset {
- list-style-type: none;
- margin-top: 0;
- margin-bottom: 0;
- padding-left: 0; }
-
-.group-option-link {
- display: block;
- border-radius: 0.75rem;
- text-decoration: none;
- color: var(--erji-color);
- width: 100%;
- display: flex;
- align-items: center;
- text-align: center;
- gap: 1rem;
- font-family: var(--font-family-title);
- width: 100%; }
-
-.group-option-link svg {
- color: var(--sanji-color); }
-
-.group-option a {
- text-decoration: none !important; }
-
-.command-menu-search {
- border-radius: 0.75rem 0.75rem 0 0;
- border-width: 0;
- display: block;
- font: inherit;
- padding: 1rem 1.5rem;
- width: 100%; }
-
-.command-menu-header {
- flex: 0 0 100%; }
-
-.command-menu-content {
- flex: auto;
- overflow-y: auto;
- scroll-padding-top: 3rem;
- scroll-padding-bottom: 3rem; }
-
-.group {
- padding: 0.75rem; }
-
-.group-label {
- display: block;
- font-size: 0.85rem;
- text-align: center;
- color: #9e9e9e;
- margin-top: 10px;
- margin-bottom: 10px; }
-
-.command-menu-header {
- border-bottom: 1px solid #666666; }
-
-.command-menu-search {
- background-color: transparent;
- color: #cccccc; }
-
-.command-menu-search:focus {
- outline: 0; }
-
-.group-option-link:focus-visible {
- outline: 0; }
-
-.group-option-link:not(:hover):focus {
- color: var(--text-content-color);
- outline: none;
- position: relative;
- text-decoration: underline; }
-
-/*.group-option-link:not(:hover):focus:after {
- border-radius: 0.75rem;
- content: '';
- display: block;
- position: absolute;
- inset: 0;
-}*/
-.shortcuts {
- display: flex;
- margin-left: auto;
- gap: 8px;
- background: #b7b7b7;
- border-radius: 6px; }
-
-kbd {
- font-size: .85rem;
- width: 14px;
- height: 14px;
- padding: 4px;
- color: #fff;
- display: inline-flex;
- align-items: center;
- justify-content: center;
- text-transform: uppercase;
- font-family: var(--font-family-code); }
-
-li.group-option {
- display: flex;
- align-items: center;
- height: 48px;
- padding: 0 15px; }
-
-li.group-option:hover, .command-menu .focused {
- background-color: rgba(102, 102, 102, 0.15);
- border-radius: 6px; }
-
-li.group-option:hover a {
- color: var(--text-content-color);
- text-decoration: none; }
-
-.kbd-btn {
- color: inherit;
- gap: 0.25rem;
- display: flex;
- align-items: center;
- opacity: .5; }
-
-@media (prefers-color-scheme: dark) {
- li.group-option:hover, .command-menu .focused {
- background-color: rgba(55, 49, 51, 0.6); }
- .shortcuts {
- background: #393235; }
- kbd {
- color: #ccc; }
- .group-option-link {
- color: var(--text-content-dark-color); }
- .group-option-link svg {
- color: #827478; }
- .group-label {
- color: #8a8a8a; }
- .command-menu {
- background-color: rgba(26, 23, 24, 0.6);
- box-shadow: 0 0 0 1px #322d2e; }
- .group-option-link:not(:hover):focus, li.group-option:hover a {
- color: #eee; } }
-
-#heatmap {
- display: none; }
- @media (min-width: 900px) {
- #heatmap {
- width: 700px;
- display: grid;
- grid-template-columns: repeat(auto-fit, minmax(12px, 1fr));
- margin-bottom: 40px;
- gap: 5px; } }
-.heatmap_week {
- display: flex;
- flex-direction: column;
- gap: 5px; }
-
-.heatmap_day {
- width: 100%;
- height: 13px;
- border-radius: 4px;
- position: relative; }
-
-.month {
- display: flex;
- justify-content: space-between;
- /* 将月份平均分布在容器内 */
- margin-bottom: 8px;
- font-size: 12px;
- color: #999; }
-
-.month span {
- flex: 1;
- /* 将月份平均分配可用空间 */
- text-align: center;
- /* 文字居中 */ }
-
-.heatmap_tooltip {
- position: absolute;
- bottom: 12px;
- left: 50%;
- width: max-content;
- background: #827679;
- color: #fff;
- font-size: 0.85rem;
- padding: 8px;
- border-radius: 4px;
- white-space: pre-wrap;
- opacity: 1;
- transition: 0.3s;
- z-index: 1000;
- transform: translateX(-50%);
- gap: 2px;
- display: grid; }
-
-.heatmap_tooltip_title a {
- color: #fff; }
-
-.heatmap_day_level_0 {
- background-color: #f1f1f1; }
-
-.heatmap_day_level_1 {
- background-color: #fcdecd;
- z-index: 1000; }
-
-.heatmap_day_level_2 {
- background-color: #ffd4bb;
- z-index: 1000; }
-
-.heatmap_day_level_3 {
- background-color: #FFBE98;
- z-index: 1000; }
-
-.heatmap_day_level_4 {
- background-color: #FC9151;
- z-index: 1000; }
-
-@media (prefers-color-scheme: dark) {
- .heatmap_day_level_0 {
- background: #252121; }
- .heatmap_tooltip {
- background: #484043;
- color: #eeeeee; }
- .heatmap_tooltip_title a {
- color: #eeeeee; }
- .retu, .month {
- color: #666; }
- .heatmap_day_level_1 {
- background-color: #56311b; }
- .heatmap_day_level_2 {
- background-color: #7d4626; }
- .heatmap_day_level_3 {
- background-color: #c87240; } }
-
-@font-face {
- font-family: JetBrainsMono;
- font-display: swap;
- src: url("https://img.koobai.com/fonts/JetBrainsMono-Regular.woff2") format("woff2");
- unicode-range: U+61-7a,U+41-5a,U+30-39; }
-
-html, body {
- box-sizing: border-box; }
-
-body {
- background: var(--background-color);
- font-family: var(--font-family-paragraph);
- color: var(--text-content-color);
- margin: 0;
- padding: 0 20px 0 20px;
- overflow-x: hidden; }
- @media (min-width: 700px) {
- body {
- padding: 0 30px 0 30px; } }
-.wrapper {
- max-width: 700px;
- margin: 0 auto; }
-
-.highlight {
- background-color: var(--bankuai-color); }
-
-::selection {
- background: #ffe8da; }
-
-@media (prefers-color-scheme: dark) {
- body {
- background: #1A1718;
- color: var(--text-content-dark-color); }
- p {
- color: var(--text-content-dark-color); }
- h1,
- h2 {
- color: #CCCCCC; }
- h3 {
- color: #FFF; }
- a {
- color: var(--text-content-dark-color); }
- .author {
- color: #CCCCCC; }
- .summary-date {
- color: #AAAAAA; }
- .highlight {
- background-color: var(--background-dark-color); }
- img {
- filter: brightness(0.8) contrast(1.2); }
- .highlight pre {
- background: var(--background-dark-color) !important; }
- ::selection {
- background: #634939; } }
-
-@media (min-width: 900px) {
- .img-hide, .retu-hide {
- opacity: 0;
- transform: translateY(6%);
- transition: opacity 0.4s ease, transform 0.8s ease; }
- .img-hide.visible, .retu-hide.visible {
- opacity: 1;
- transform: translateY(0); } }
-
-/*# sourceMappingURL=style.css.map */
\ No newline at end of file
diff --git a/resources/_gen/assets/scss/style.scss_2bbe13cc47075fab4343233ad3e58bb8.json b/resources/_gen/assets/scss/style.scss_2bbe13cc47075fab4343233ad3e58bb8.json
deleted file mode 100644
index 28c014b0..00000000
--- a/resources/_gen/assets/scss/style.scss_2bbe13cc47075fab4343233ad3e58bb8.json
+++ /dev/null
@@ -1 +0,0 @@
-{"Target":"css/style.css","MediaType":"text/css","Data":{}}
\ No newline at end of file
diff --git a/themes/Ying/assets/css/main.css b/themes/Ying/assets/css/main.css
index 57664a06..34c5f61f 100644
--- a/themes/Ying/assets/css/main.css
+++ b/themes/Ying/assets/css/main.css
@@ -4994,26 +4994,89 @@ html[data-theme="light"] .atk-loading-spinner svg circle {
-/* Lazy Load Animation */
-.lazyload {
- opacity: 1;
- transform: none;
- filter: none;
- transition: none;
- will-change: auto;
+/* Link Card */
+a.link-card {
+ display: flex;
+ align-items: center;
+ gap: 12px;
+ padding: 12px 16px;
+ margin: 1rem 0;
+ border: 1px solid rgba(0, 0, 0, 0.08);
+ border-radius: 12px;
+ background: linear-gradient(135deg, rgba(0, 0, 0, 0.015), rgba(0, 0, 0, 0.005));
+ text-decoration: none !important;
+ color: #1e1e1e;
+ font-size: 14px;
+ line-height: 1.5;
+ max-width: 100%;
+ transition: all 0.2s ease;
+ box-shadow: 0 4px 12px rgba(0, 0, 0, 0.04);
}
-
-.lazyload.lazy-loaded {
- opacity: 1;
- transform: none;
- filter: none;
+a.link-card:hover {
+ border-color: rgba(0, 0, 0, 0.15);
+ box-shadow: 0 6px 20px rgba(0, 0, 0, 0.08);
+ transform: translateY(-1px);
+ text-decoration: none !important;
}
-
-[data-theme="dark"] .ai-comment-card .atk-content p {
- color: var(--text-content-dark-color);
+.link-card-icon {
+ width: 24px;
+ height: 24px;
+ border-radius: 5px;
+ flex-shrink: 0;
+ object-fit: contain;
+}
+.link-card-body {
+ flex: 1;
+ min-width: 0;
+ display: flex;
+ flex-direction: column;
+ gap: 1px;
+}
+.link-card-title {
+ font-weight: 500;
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ font-size: 13.5px;
+ color: rgba(30, 30, 30, 0.92);
+}
+.link-card-url {
+ font-size: 11px;
+ color: rgba(30, 30, 30, 0.45);
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
+}
+.link-card-arrow {
+ flex-shrink: 0;
+ color: rgba(30, 30, 30, 0.3);
+ font-size: 13px;
+ transition: color 0.2s;
+}
+a.link-card:hover .link-card-arrow {
+ color: rgba(30, 30, 30, 0.6);
+}
+[data-theme="dark"] a.link-card {
+ border-color: rgba(148, 163, 184, 0.15);
+ background: linear-gradient(135deg, rgba(30, 41, 59, 0.7), rgba(15, 23, 42, 0.5));
+ color: #e2e8f0;
+ box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15);
+}
+[data-theme="dark"] a.link-card:hover {
+ border-color: rgba(148, 163, 184, 0.3);
+}
+[data-theme="dark"] .link-card-title {
+ color: rgba(226, 232, 240, 0.96);
+}
+[data-theme="dark"] .link-card-url {
+ color: rgba(226, 232, 240, 0.4);
+}
+[data-theme="dark"] .link-card-arrow {
+ color: rgba(226, 232, 240, 0.3);
+}
+[data-theme="dark"] a.link-card:hover .link-card-arrow {
+ color: rgba(226, 232, 240, 0.6);
}
-
-
/* Reward System */
.reward-container {
@@ -5168,39 +5231,28 @@ html[data-theme="light"] .atk-loading-spinner svg circle {
display: flex;
flex-direction: column;
align-items: center;
- gap: 12px;
+ gap: 10px;
}
-
.reward-qr-img-wrapper {
- width: 160px;
- height: 160px;
- background: rgba(255,255,255,0.5);
- border-radius: 16px;
+ width: 180px;
+ height: 180px;
+ border-radius: 12px;
overflow: hidden;
- padding: 10px;
- /* border: 1px solid rgba(0,0,0,0.05); */
- transition: transform 0.3s ease;
+ border: 2px solid var(--line);
+ transition: transform 0.3s ease, box-shadow 0.3s ease;
+ background: #fff;
}
-
-.reward-qr-img-wrapper:hover {
- transform: translateY(-5px);
-}
-
-[data-theme='dark'] .reward-qr-img-wrapper {
- background: rgba(255,255,255,0.05);
- border-color: rgba(255,255,255,0.1);
-}
-
-.reward-qr-item img {
+.reward-qr-img-wrapper img {
width: 100%;
height: 100%;
- object-fit: contain;
- display: block;
- border-radius: 8px;
+ object-fit: cover;
+}
+.reward-qr-img-wrapper:hover {
+ transform: translateY(-5px);
+ box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
}
-
.reward-qr-item span {
- font-size: 0.9rem;
+ font-size: 14px;
color: #666;
font-weight: 500;
}
@@ -5219,34 +5271,19 @@ html[data-theme="light"] .atk-loading-spinner svg circle {
.reward-qr-group {
gap: 15px;
}
-
- .reward-qr-img-wrapper {
- width: 120px;
- height: 120px;
- }
-
- .reward-title {
- font-size: 1.1rem;
- margin-bottom: 20px;
- }
}
-
-
-/* Dark Mode Background Mask */
-body {
- position: relative;
+/* Post Video */
+.post-video {
+ display: block;
+ max-width: 100%;
+ margin: 1rem 0;
+ border-radius: 12px;
+ border: 1px solid rgba(0, 0, 0, 0.08);
+ box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
+ background: #000;
}
-
-[data-theme='dark'] body::before {
- content: '';
- position: fixed;
- top: 0;
- left: 0;
- width: 100%;
- height: 100%;
- background: rgba(0, 0, 0, 0.4);
- z-index: -1;
- pointer-events: none;
- transition: background 0.3s ease;
+[data-theme="dark"] .post-video {
+ border-color: rgba(148, 163, 184, 0.15);
+ box-shadow: 0 6px 20px rgba(0, 0, 0, 0.2);
}
diff --git a/themes/Ying/assets/js/modules/linkify.js b/themes/Ying/assets/js/modules/linkify.js
new file mode 100644
index 00000000..99ffc6f0
--- /dev/null
+++ b/themes/Ying/assets/js/modules/linkify.js
@@ -0,0 +1,83 @@
+// linkify.js - Convert bare URLs to link cards, video URLs to players
+(function() {
+ var URL_RE = /(https?:\/\/[^\s一-鿿 -〿-<>"')\]]+)/g;
+ var VIDEO_RE = /\.(mp4|webm|ogg|mov)(\?|$)/i;
+ var FAVICON_API = 'https://api.usj.cc/api/favicon?url=';
+
+ function getDomain(url) {
+ try { return new URL(url).hostname; } catch (e) { return url; }
+ }
+
+ function makeVideo(url) {
+ var video = document.createElement('video');
+ video.className = 'post-video';
+ video.controls = true;
+ video.preload = 'metadata';
+ video.playsInline = true;
+ var source = document.createElement('source');
+ source.src = url;
+ video.appendChild(source);
+ return video;
+ }
+
+ function makeCard(url) {
+ var domain = getDomain(url);
+ var card = document.createElement('a');
+ card.className = 'link-card';
+ card.href = '/tiaozhuan.html?target=' + btoa(url);
+ card.target = '_blank';
+ card.rel = 'noopener';
+ card.innerHTML = '
' +
+ '' + domain + '' +
+ '' + url + '' +
+ '↗';
+ return card;
+ }
+
+ function linkify(root) {
+ var walker = document.createTreeWalker(root, NodeFilter.SHOW_TEXT, null, false);
+ var textNodes = [];
+ while (walker.nextNode()) {
+ var node = walker.currentNode;
+ if (node.parentElement && node.parentElement.closest('a, .link-card, code, pre, video')) continue;
+ if (URL_RE.test(node.textContent)) textNodes.push(node);
+ }
+
+ textNodes.forEach(function(node) {
+ URL_RE.lastIndex = 0;
+ var text = node.textContent;
+ var parts = [];
+ var lastIdx = 0;
+ var match;
+ while ((match = URL_RE.exec(text)) !== null) {
+ if (match.index > lastIdx) {
+ parts.push(document.createTextNode(text.slice(lastIdx, match.index)));
+ }
+ if (VIDEO_RE.test(match[1])) {
+ parts.push(makeVideo(match[1]));
+ } else {
+ parts.push(makeCard(match[1]));
+ }
+ lastIdx = match.index + match[0].length;
+ }
+ if (parts.length === 0) return;
+ if (lastIdx < text.length) {
+ parts.push(document.createTextNode(text.slice(lastIdx)));
+ }
+ var frag = document.createDocumentFragment();
+ parts.forEach(function(p) { frag.appendChild(p); });
+ node.parentNode.replaceChild(frag, node);
+ });
+ }
+
+ function run() {
+ var content = document.querySelector('.post-content');
+ if (content) linkify(content);
+ }
+
+ if (document.readyState === 'loading') {
+ document.addEventListener('DOMContentLoaded', run);
+ } else {
+ run();
+ }
+})();
diff --git a/themes/Ying/layouts/_default/_markup/render-link.html b/themes/Ying/layouts/_default/_markup/render-link.html
index d640ca14..6d07bc1a 100644
--- a/themes/Ying/layouts/_default/_markup/render-link.html
+++ b/themes/Ying/layouts/_default/_markup/render-link.html
@@ -1,10 +1,35 @@
{{ $url := .Destination }}
-
-{{ .Text | safeHTML }}
\ No newline at end of file
+{{ $isExternal := strings.HasPrefix $url "http" }}
+{{ $isBareUrl := eq .Text .Destination }}
+{{ $displayText := .Text }}
+{{ $isVideo := or (strings.HasSuffix $url ".mp4") (strings.HasSuffix $url ".webm") (strings.HasSuffix $url ".ogg") (strings.HasSuffix $url ".mov") }}
+
+{{- if $isVideo -}}
+
+{{- else if $isExternal -}}
+{{- $domain := urls.Parse $url -}}
+{{- $faviconUrl := printf "https://api.usj.cc/api/favicon?url=%s" $domain.Host -}}
+{{- if $isBareUrl -}}
+
+
+
+ {{ $domain.Host }}
+ {{ $url }}
+
+ ↗
+
+{{- else -}}
+
+
+
+ {{ $displayText }}
+ {{ $domain.Host }}
+
+ ↗
+
+{{- end -}}
+{{- else -}}
+{{ $displayText | safeHTML }}
+{{- end -}}
diff --git a/themes/Ying/layouts/_default/single.html b/themes/Ying/layouts/_default/single.html
index 05bae32f..f81f1947 100644
--- a/themes/Ying/layouts/_default/single.html
+++ b/themes/Ying/layouts/_default/single.html
@@ -20,10 +20,25 @@
-
+
{{ .Content }}
+
+
diff --git a/themes/Ying/layouts/partials/footer.html b/themes/Ying/layouts/partials/footer.html
index d2512a81..b5772114 100644
--- a/themes/Ying/layouts/partials/footer.html
+++ b/themes/Ying/layouts/partials/footer.html
@@ -67,8 +67,9 @@
{{ $infiniteScroll := resources.Get "js/modules/infinite-scroll.js" }}
{{ $artalkModule := resources.Get "js/modules/artalk.js" }}
{{ $pjaxLib := resources.Get "js/libs/pjax.js" }}
+{{ $linkify := resources.Get "js/modules/linkify.js" }}
-{{ $scripts := slice $iconfont $uikit $easylazyload $viewimage $utils $loader $cache $search $floatingTools $paragraphComments $infiniteScroll $artalkModule $nprogress $pjaxLib $main $mypjax $toast $tiaozhuan $reward | resources.Concat "js/bundle.js" | resources.Minify | resources.Fingerprint }}
+{{ $scripts := slice $iconfont $uikit $easylazyload $viewimage $utils $loader $cache $search $floatingTools $paragraphComments $infiniteScroll $artalkModule $nprogress $pjaxLib $linkify $main $mypjax $toast $tiaozhuan $reward | resources.Concat "js/bundle.js" | resources.Minify | resources.Fingerprint }}
{{ $aiGreetings := "static/js/ai_greetings.js" }}
{{ if os.FileExists $aiGreetings }}