feat: 新增 Markdown 渲染组件并适配 macOS 标题栏

- 新增 MarkdownBlock 组件实现更新日志的 Markdown 渲染
- 新增 markdown 工具函数和样式
- 适配 macOS 标题栏,隐藏最小化/关闭按钮并禁用最大化按钮
- 新增 1.0.0 版本更新日志文档
This commit is contained in:
Yuhang Wu
2026-10-14 10:40:34 +08:00
parent 746a4be2bc
commit bc4da1c7a4
13 changed files with 344 additions and 16 deletions
+162
View File
@@ -208,6 +208,168 @@ body {
overflow-y: auto;
}
/*
* Markdown 渲染内容(更新日志等)的排版。类名唯一,使用全局样式;
* 内容由 v-html 注入,不参与组件 scoped 样式,故放在此处统一维护。
*/
.markdown-body {
font-size: 13px;
line-height: 1.75;
word-break: break-word;
}
.markdown-body > :first-child {
margin-top: 0 !important;
}
.markdown-body > :last-child {
margin-bottom: 0 !important;
}
.markdown-body h1,
.markdown-body h2,
.markdown-body h3,
.markdown-body h4,
.markdown-body h5,
.markdown-body h6 {
margin: 14px 0 8px;
font-weight: 600;
line-height: 1.4;
}
.markdown-body h1 {
font-size: 17px;
}
.markdown-body h2 {
font-size: 15px;
}
.markdown-body h3 {
font-size: 14px;
}
.markdown-body h4,
.markdown-body h5,
.markdown-body h6 {
font-size: 13px;
}
.markdown-body p {
margin: 8px 0;
}
.markdown-body ul,
.markdown-body ol {
margin: 8px 0;
padding-left: 20px;
}
.markdown-body ul {
list-style: disc;
}
.markdown-body ol {
list-style: decimal;
}
.markdown-body li {
margin: 4px 0;
}
.markdown-body li > ul,
.markdown-body li > ol {
margin: 4px 0;
}
.markdown-body a {
color: #6366f1;
text-decoration: none;
}
.markdown-body a:hover {
text-decoration: underline;
}
.markdown-body code {
padding: 1px 5px;
border-radius: 5px;
background: rgba(148, 163, 184, 0.22);
font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
font-size: 12px;
}
.markdown-body pre {
margin: 10px 0;
padding: 10px 12px;
border-radius: 8px;
background: rgba(15, 23, 42, 0.06);
overflow-x: auto;
}
.markdown-body pre code {
padding: 0;
background: transparent;
font-size: 12px;
}
.markdown-body blockquote {
margin: 8px 0;
padding: 2px 12px;
border-left: 3px solid rgba(99, 102, 241, 0.5);
opacity: 0.85;
}
.markdown-body hr {
margin: 12px 0;
border: none;
border-top: 1px solid rgba(15, 23, 42, 0.1);
}
.markdown-body table {
width: 100%;
margin: 10px 0;
border-collapse: collapse;
font-size: 12px;
}
.markdown-body th,
.markdown-body td {
padding: 6px 10px;
border: 1px solid rgba(15, 23, 42, 0.12);
}
.markdown-body th {
background: rgba(148, 163, 184, 0.14);
font-weight: 600;
}
.markdown-body img {
max-width: 100%;
border-radius: 6px;
}
.dark .markdown-body a {
color: #a5b4fc;
}
.dark .markdown-body pre {
background: rgba(255, 255, 255, 0.06);
}
.dark .markdown-body hr {
border-top-color: rgba(255, 255, 255, 0.12);
}
.dark .markdown-body th,
.dark .markdown-body td {
border-color: rgba(255, 255, 255, 0.14);
}
.dark .markdown-body th {
background: rgba(255, 255, 255, 0.08);
}
/* 细滚动条 */
::-webkit-scrollbar {
width: 6px;