feat: 站点单页、时间线导入与行级 BBCode 短代码
首页右栏接入单页入口与公告置顶/全部页;Markdown 编辑器支持可视化时间线与 Git 导入;隐藏块改为 [hide]/[timeline] 命名闭合,并修复单页/公告 GORM 更新只改 updated_at 的问题。 Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -1629,6 +1629,23 @@ body {
|
||||
background: var(--panel-2) !important;
|
||||
color: var(--ink) !important;
|
||||
}
|
||||
.j13-md-menu-item:disabled,
|
||||
.j13-md-menu-item[aria-disabled="true"] {
|
||||
opacity: 0.45;
|
||||
cursor: not-allowed;
|
||||
color: var(--ink-3) !important;
|
||||
}
|
||||
.j13-md-menu-item:disabled:hover,
|
||||
.j13-md-menu-item[aria-disabled="true"]:hover {
|
||||
background: transparent !important;
|
||||
color: var(--ink-3) !important;
|
||||
}
|
||||
.j13-md-menu-item-hint {
|
||||
margin-left: auto;
|
||||
font-size: 11.5px;
|
||||
font-weight: 500;
|
||||
color: var(--ink-3);
|
||||
}
|
||||
.j13-md-popover button[role="menuitem"]:focus-visible,
|
||||
.j13-md-menu-item:focus-visible {
|
||||
outline: 2px solid var(--accent);
|
||||
@@ -3773,12 +3790,24 @@ a.j13-mention-token:hover {
|
||||
.j13-anno-tag.is-red { background: rgba(200, 40, 30, 0.1); color: #c8281e; }
|
||||
.j13-anno-tag.is-purple { background: rgba(109, 71, 192, 0.12); color: #6d47c0; }
|
||||
.j13-anno-tag.is-gray { background: rgba(82, 96, 122, 0.13); color: #52607a; }
|
||||
.j13-anno-tag.is-teal { background: rgba(15, 118, 110, 0.12); color: #0f766e; }
|
||||
.j13-anno-tag.is-cyan { background: rgba(14, 116, 144, 0.12); color: #0e7490; }
|
||||
.j13-anno-tag.is-pink { background: rgba(190, 24, 93, 0.11); color: #be185d; }
|
||||
.j13-anno-tag.is-amber { background: rgba(180, 83, 9, 0.12); color: #b45309; }
|
||||
.j13-anno-tag.is-indigo { background: rgba(67, 56, 202, 0.12); color: #4338ca; }
|
||||
.j13-anno-tag.is-rose { background: rgba(190, 18, 60, 0.11); color: #be123c; }
|
||||
.dark .j13-anno-tag.is-blue { background: rgba(169, 184, 255, 0.18); color: #a9b8ff; }
|
||||
.dark .j13-anno-tag.is-green { background: rgba(88, 209, 138, 0.16); color: #58d18a; }
|
||||
.dark .j13-anno-tag.is-orange { background: rgba(240, 135, 90, 0.17); color: #f0875a; }
|
||||
.dark .j13-anno-tag.is-red { background: rgba(255, 107, 96, 0.16); color: #ff6b60; }
|
||||
.dark .j13-anno-tag.is-purple { background: rgba(192, 168, 245, 0.18); color: #c0a8f5; }
|
||||
.dark .j13-anno-tag.is-gray { background: rgba(170, 182, 207, 0.17); color: #aab6cf; }
|
||||
.dark .j13-anno-tag.is-teal { background: rgba(94, 234, 212, 0.16); color: #5eead4; }
|
||||
.dark .j13-anno-tag.is-cyan { background: rgba(103, 232, 249, 0.16); color: #67e8f9; }
|
||||
.dark .j13-anno-tag.is-pink { background: rgba(251, 113, 133, 0.16); color: #fb7185; }
|
||||
.dark .j13-anno-tag.is-amber { background: rgba(252, 211, 77, 0.16); color: #fcd34d; }
|
||||
.dark .j13-anno-tag.is-indigo { background: rgba(165, 180, 252, 0.18); color: #a5b4fc; }
|
||||
.dark .j13-anno-tag.is-rose { background: rgba(251, 113, 133, 0.16); color: #fb7185; }
|
||||
|
||||
/* 后台颜色选择器圆点 */
|
||||
.j13-anno-dot {
|
||||
@@ -3801,12 +3830,134 @@ a.j13-mention-token:hover {
|
||||
.j13-anno-dot.is-red { background: #c8281e; }
|
||||
.j13-anno-dot.is-purple { background: #6d47c0; }
|
||||
.j13-anno-dot.is-gray { background: #52607a; }
|
||||
.j13-anno-dot.is-teal { background: #0f766e; }
|
||||
.j13-anno-dot.is-cyan { background: #0e7490; }
|
||||
.j13-anno-dot.is-pink { background: #be185d; }
|
||||
.j13-anno-dot.is-amber { background: #b45309; }
|
||||
.j13-anno-dot.is-indigo { background: #4338ca; }
|
||||
.j13-anno-dot.is-rose { background: #be123c; }
|
||||
.dark .j13-anno-dot.is-blue { background: #a9b8ff; }
|
||||
.dark .j13-anno-dot.is-green { background: #58d18a; }
|
||||
.dark .j13-anno-dot.is-orange { background: #f0875a; }
|
||||
.dark .j13-anno-dot.is-red { background: #ff6b60; }
|
||||
.dark .j13-anno-dot.is-purple { background: #c0a8f5; }
|
||||
.dark .j13-anno-dot.is-gray { background: #aab6cf; }
|
||||
.dark .j13-anno-dot.is-teal { background: #5eead4; }
|
||||
.dark .j13-anno-dot.is-cyan { background: #67e8f9; }
|
||||
.dark .j13-anno-dot.is-pink { background: #fb7185; }
|
||||
.dark .j13-anno-dot.is-amber { background: #fcd34d; }
|
||||
.dark .j13-anno-dot.is-indigo { background: #a5b4fc; }
|
||||
.dark .j13-anno-dot.is-rose { background: #fb7185; }
|
||||
|
||||
/* ----- 正文时间线(更新树) ----- */
|
||||
.j13-timeline {
|
||||
margin: 1.1rem 0;
|
||||
padding: 0.15rem 0;
|
||||
}
|
||||
.j13-timeline-day {
|
||||
margin-bottom: 1.15rem;
|
||||
}
|
||||
.j13-timeline-day:last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
.j13-timeline-day-label {
|
||||
font-size: 12.5px;
|
||||
font-weight: 600;
|
||||
letter-spacing: 0.02em;
|
||||
color: var(--ink-3);
|
||||
margin-bottom: 0.55rem;
|
||||
font-variant-numeric: tabular-nums;
|
||||
}
|
||||
.j13-timeline-items {
|
||||
list-style: none;
|
||||
margin: 0;
|
||||
padding: 0 0 0 0.85rem;
|
||||
border-left: 2px solid var(--line);
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 0.75rem;
|
||||
}
|
||||
.j13-timeline-item {
|
||||
position: relative;
|
||||
padding-left: 0.95rem;
|
||||
}
|
||||
.j13-timeline-dot {
|
||||
position: absolute;
|
||||
left: -0.85rem;
|
||||
top: 0.45rem;
|
||||
width: 0.55rem;
|
||||
height: 0.55rem;
|
||||
border-radius: 999px;
|
||||
background: var(--accent);
|
||||
border: 2px solid var(--panel);
|
||||
box-shadow: 0 0 0 1px var(--line);
|
||||
transform: translateX(-50%);
|
||||
}
|
||||
.j13-timeline-card {
|
||||
min-width: 0;
|
||||
}
|
||||
.j13-timeline-head {
|
||||
display: flex;
|
||||
align-items: flex-start;
|
||||
gap: 0.45rem;
|
||||
}
|
||||
.j13-timeline-title {
|
||||
margin: 0;
|
||||
font-size: 14.5px;
|
||||
font-weight: 650;
|
||||
line-height: 1.45;
|
||||
color: var(--ink);
|
||||
}
|
||||
.j13-timeline-src {
|
||||
flex-shrink: 0;
|
||||
margin-top: 0.15rem;
|
||||
color: var(--ink-3);
|
||||
}
|
||||
.j13-timeline-src:hover {
|
||||
color: var(--accent);
|
||||
}
|
||||
.j13-timeline-body {
|
||||
margin-top: 0.35rem;
|
||||
font-size: 13.5px;
|
||||
line-height: 1.65;
|
||||
color: var(--ink-2);
|
||||
}
|
||||
.j13-timeline-body > :first-child { margin-top: 0; }
|
||||
.j13-timeline-body > :last-child { margin-bottom: 0; }
|
||||
|
||||
/* 时间线编辑器 */
|
||||
.j13-tl-import {
|
||||
padding: 0.85rem 0.95rem;
|
||||
border-radius: 10px;
|
||||
background: var(--tint);
|
||||
border: 1px solid var(--line);
|
||||
}
|
||||
.j13-tl-urls,
|
||||
.j13-tl-field,
|
||||
.j13-tl-select {
|
||||
width: 100%;
|
||||
border: 1px solid var(--line-2);
|
||||
border-radius: 8px;
|
||||
background: var(--panel);
|
||||
color: var(--ink);
|
||||
font-size: 13px;
|
||||
padding: 0.45rem 0.6rem;
|
||||
}
|
||||
.j13-tl-urls {
|
||||
font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
|
||||
resize: vertical;
|
||||
min-height: 4.5rem;
|
||||
}
|
||||
.j13-tl-select {
|
||||
width: auto;
|
||||
padding: 0.25rem 0.45rem;
|
||||
}
|
||||
.j13-tl-edit-card {
|
||||
padding: 0.75rem;
|
||||
border-radius: 10px;
|
||||
border: 1px solid var(--line);
|
||||
background: var(--panel);
|
||||
}
|
||||
|
||||
/* ----- 分页 ----- */
|
||||
.pager-btn {
|
||||
|
||||
Reference in New Issue
Block a user