@nywqs/vue-markdown-editor 0.1.3 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +6 -65
- package/dist-lib/vue-markdown-editor.css +9 -9
- package/dist-lib/vue-markdown-editor.es.js +55593 -12769
- package/dist-lib/vue-markdown-editor.umd.js +114 -471
- package/package.json +8 -31
package/README.md
CHANGED
|
@@ -192,8 +192,6 @@ const handlePreviewScroll = (percentage) => {
|
|
|
192
192
|
</template>
|
|
193
193
|
```
|
|
194
194
|
|
|
195
|
-
> **注意**:`MarkdownPreviewPanel` 同时支持 `content` 和 `modelValue` 属性,推荐使用 `content`。
|
|
196
|
-
|
|
197
195
|
---
|
|
198
196
|
|
|
199
197
|
## 🔌 插件系统
|
|
@@ -206,23 +204,14 @@ const handlePreviewScroll = (percentage) => {
|
|
|
206
204
|
- **MermaidPlugin**:流程图支持(Ctrl+Shift+D)
|
|
207
205
|
- **AutoCompletePlugin**:自动补全
|
|
208
206
|
- **SyntaxCheckerPlugin**:语法检查
|
|
209
|
-
- **PromptTemplatePlugin**:Prompt模板系统,支持模板化提示词创建、复用和团队协作(Ctrl+Alt+T)
|
|
210
207
|
|
|
211
208
|
插件会自动激活,无需额外配置。
|
|
212
209
|
|
|
213
210
|
---
|
|
214
211
|
|
|
215
|
-
##
|
|
216
|
-
|
|
217
|
-
### 核心模块
|
|
212
|
+
## ⚙️ 性能优化
|
|
218
213
|
|
|
219
|
-
|
|
220
|
-
- **ViewportManager** - 视口管理,处理滚动和坐标转换
|
|
221
|
-
- **MarkdownLexer** - 词法分析器,解析Markdown语法
|
|
222
|
-
- **DOMTextRenderer** - DOM渲染器,清晰的文本显示
|
|
223
|
-
- **TextRenderer** - Canvas渲染器,高性能装饰渲染
|
|
224
|
-
|
|
225
|
-
### 性能优化策略
|
|
214
|
+
编辑器采用了多项性能优化技术:
|
|
226
215
|
|
|
227
216
|
1. **视口裁剪**:只渲染可见区域,大文件性能提升 10-40 倍
|
|
228
217
|
2. **虚拟滚动**:缓冲区机制,避免滚动闪烁
|
|
@@ -234,74 +223,26 @@ const handlePreviewScroll = (percentage) => {
|
|
|
234
223
|
|
|
235
224
|
---
|
|
236
225
|
|
|
237
|
-
## 🤝 贡献指南
|
|
238
|
-
|
|
239
|
-
欢迎贡献代码!请查看 [CONTRIBUTING.md](./CONTRIBUTING.md) 了解详细的贡献流程。
|
|
240
|
-
|
|
241
|
-
### 快速开始
|
|
242
|
-
|
|
243
|
-
1. Fork 本仓库
|
|
244
|
-
2. 创建特性分支 (`git checkout -b feature/AmazingFeature`)
|
|
245
|
-
3. 提交更改 (`git commit -m 'Add some AmazingFeature'`)
|
|
246
|
-
4. 推送到分支 (`git push origin feature/AmazingFeature`)
|
|
247
|
-
5. 开启 Pull Request
|
|
248
|
-
|
|
249
|
-
---
|
|
250
|
-
|
|
251
|
-
## 📝 变更日志
|
|
252
|
-
|
|
253
|
-
查看 [CHANGELOG.md](./CHANGELOG.md) 了解版本更新历史。
|
|
254
|
-
|
|
255
|
-
---
|
|
256
|
-
|
|
257
226
|
## 🛠️ 开发与构建
|
|
258
227
|
|
|
259
228
|
本仓库使用 Vite + Vue 3 进行开发和构建。
|
|
260
229
|
|
|
261
|
-
|
|
230
|
+
本地开发:
|
|
262
231
|
|
|
263
232
|
```bash
|
|
264
|
-
# 安装依赖
|
|
265
233
|
npm install
|
|
266
|
-
|
|
267
|
-
# 启动开发服务器
|
|
268
234
|
npm run dev
|
|
269
235
|
```
|
|
270
236
|
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
```bash
|
|
274
|
-
# 运行单元测试
|
|
275
|
-
npm run test
|
|
276
|
-
|
|
277
|
-
# 运行测试并生成覆盖率报告
|
|
278
|
-
npm run test:coverage
|
|
279
|
-
|
|
280
|
-
# 运行测试 UI
|
|
281
|
-
npm run test:ui
|
|
282
|
-
```
|
|
283
|
-
|
|
284
|
-
测试覆盖率:
|
|
285
|
-
- Document.js: 97.89% 语句覆盖率
|
|
286
|
-
- ViewportManager.js: 100% 语句覆盖率
|
|
287
|
-
- MarkdownLexer.js: 90.06% 语句覆盖率
|
|
288
|
-
|
|
289
|
-
### 性能测试
|
|
237
|
+
构建库:
|
|
290
238
|
|
|
291
239
|
```bash
|
|
292
|
-
|
|
293
|
-
http://localhost:5173/tests/performance/benchmark.html
|
|
240
|
+
npm run build:lib
|
|
294
241
|
```
|
|
295
242
|
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
### 构建
|
|
243
|
+
类型检查:
|
|
299
244
|
|
|
300
245
|
```bash
|
|
301
|
-
# 构建库文件
|
|
302
|
-
npm run build:lib
|
|
303
|
-
|
|
304
|
-
# 类型检查
|
|
305
246
|
npm run typecheck
|
|
306
247
|
```
|
|
307
248
|
|
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
.canvas-toolbar[data-v-06d62bc8]{display:flex;align-items:center;gap:4px;padding:8px 12px;background:#f5f5f5;border-bottom:1px solid #ddd;flex-wrap:wrap}.toolbar-btn[data-v-06d62bc8]{display:flex;align-items:center;justify-content:center;min-width:32px;height:32px;padding:0 8px;border:1px solid #ddd;background:#fff;border-radius:4px;cursor:pointer;font-size:16px;color:#666;transition:all .2s;white-space:nowrap}.toolbar-btn .icon[data-v-06d62bc8]{width:18px;height:18px;display:flex;align-items:center;justify-content:center}.toolbar-btn>span[data-v-06d62bc8]{font-size:14px;line-height:18px;display:inline-flex;align-items:center;justify-content:center}.toolbar-btn[data-v-06d62bc8]:hover{background:#e9e9e9;border-color:#999;color:#333;transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.toolbar-btn[data-v-06d62bc8]:active{transform:translateY(0);box-shadow:none}.toolbar-btn.divider[data-v-06d62bc8]{width:1px;min-width:1px;height:20px;padding:0;margin:0 4px;background:#ddd;border:none;cursor:default}.toolbar-btn.divider[data-v-06d62bc8]:hover{background:#ddd;transform:none;box-shadow:none}.search-panel[data-v-57dc7601]{position:absolute;top:8px;right:8px;background:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 4px 16px #0000001f;padding:16px;z-index:1000;min-width:420px}.search-row[data-v-57dc7601],.replace-row[data-v-57dc7601]{display:flex;gap:8px;align-items:center;margin-bottom:10px}.search-input[data-v-57dc7601]{flex:1;padding:8px 12px;border:1px solid #d0d0d0;border-radius:6px;font-size:13px;outline:none;transition:all .2s}.search-input[data-v-57dc7601]:focus{border-color:#4a90e2;box-shadow:0 0 0 3px #4a90e21a}.search-count[data-v-57dc7601]{font-size:12px;color:#666;background:#f5f5f5;padding:4px 8px;border-radius:4px;min-width:45px;text-align:center;font-weight:500}.search-btn[data-v-57dc7601],.action-btn[data-v-57dc7601]{padding:8px 12px;border:1px solid #d0d0d0;background:#fff;border-radius:6px;cursor:pointer;font-size:13px;transition:all .2s;color:#555}.search-btn[data-v-57dc7601]:hover,.action-btn[data-v-57dc7601]:hover{background:#f8f8f8;border-color:#4a90e2;color:#4a90e2}.search-btn[data-v-57dc7601]:active,.action-btn[data-v-57dc7601]:active{background:#e8e8e8}.close-btn[data-v-57dc7601]{font-weight:700;color:#999}.close-btn[data-v-57dc7601]:hover{color:#f44;border-color:#f44;background:#fff5f5}.action-btn[data-v-57dc7601]{padding:8px 16px;background:#4a90e2;color:#fff;border-color:#4a90e2;font-weight:500}.action-btn[data-v-57dc7601]:hover{background:#357abd;border-color:#357abd;color:#fff}.search-options[data-v-57dc7601]{display:flex;gap:20px;padding-top:12px;border-top:1px solid #f0f0f0}.search-options label[data-v-57dc7601]{display:flex;align-items:center;gap:6px;font-size:12px;color:#666;cursor:pointer;-webkit-user-select:none;user-select:none;transition:color .2s}.search-options label[data-v-57dc7601]:hover{color:#4a90e2}.search-options input[type=checkbox][data-v-57dc7601]{cursor:pointer;width:14px;height:14px}.template-library-panel[data-v-67bcfd56]{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:9999;animation:fadeIn-67bcfd56 .2s}@keyframes fadeIn-67bcfd56{0%{opacity:0}to{opacity:1}}.panel-content[data-v-67bcfd56]{background:#fff;border-radius:8px;width:90%;max-width:900px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 4px 20px #0000004d;animation:slideUp-67bcfd56 .3s}@keyframes slideUp-67bcfd56{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.panel-header[data-v-67bcfd56]{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e0e0e0}.panel-header h2[data-v-67bcfd56]{margin:0;font-size:20px;color:#333}.close-btn[data-v-67bcfd56]{background:none;border:none;font-size:24px;cursor:pointer;color:#666;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background .2s}.close-btn[data-v-67bcfd56]:hover{background:#f0f0f0}.panel-toolbar[data-v-67bcfd56]{display:flex;gap:12px;padding:16px 24px;border-bottom:1px solid #e0e0e0}.search-input[data-v-67bcfd56]{flex:1;padding:8px 12px;border:1px solid #d0d0d0;border-radius:4px;font-size:14px}.category-select[data-v-67bcfd56],.sort-select[data-v-67bcfd56]{padding:8px 12px;border:1px solid #d0d0d0;border-radius:4px;font-size:14px;background:#fff;cursor:pointer}.template-list[data-v-67bcfd56]{flex:1;overflow-y:auto;padding:16px 24px}.template-item[data-v-67bcfd56]{border:1px solid #e0e0e0;border-radius:6px;padding:16px;margin-bottom:12px;cursor:pointer;transition:all .2s}.template-item[data-v-67bcfd56]:hover{border-color:#1890ff;box-shadow:0 2px 8px #1890ff33}.template-header[data-v-67bcfd56]{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.template-header h3[data-v-67bcfd56]{margin:0;font-size:16px;color:#333}.template-actions[data-v-67bcfd56]{display:flex;gap:8px}.action-btn[data-v-67bcfd56]{padding:4px 12px;border:1px solid #d0d0d0;border-radius:4px;background:#fff;cursor:pointer;font-size:12px;transition:all .2s}.action-btn[data-v-67bcfd56]:hover{background:#f0f0f0;border-color:#1890ff}.delete-btn[data-v-67bcfd56]:hover{background:#fff1f0;border-color:#ff4d4f;color:#ff4d4f}.template-description[data-v-67bcfd56]{color:#666;font-size:14px;margin:8px 0;line-height:1.5}.template-meta[data-v-67bcfd56]{display:flex;flex-wrap:wrap;gap:12px;font-size:12px;color:#999}.meta-item[data-v-67bcfd56]{display:flex;align-items:center;gap:4px}.empty-state[data-v-67bcfd56]{text-align:center;padding:60px 20px;color:#999}.empty-state p[data-v-67bcfd56]{font-size:16px;margin-bottom:20px}.create-btn[data-v-67bcfd56]{padding:10px 24px;background:#1890ff;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px}.create-btn[data-v-67bcfd56]:hover{background:#40a9ff}.panel-footer[data-v-67bcfd56]{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;border-top:1px solid #e0e0e0}.footer-btn[data-v-67bcfd56]{padding:8px 16px;border:1px solid #d0d0d0;border-radius:4px;background:#fff;cursor:pointer;font-size:14px;transition:all .2s}.footer-btn[data-v-67bcfd56]:hover{background:#f0f0f0;border-color:#1890ff}.template-count[data-v-67bcfd56]{color:#666;font-size:14px}.template-list[data-v-67bcfd56]::-webkit-scrollbar{width:8px}.template-list[data-v-67bcfd56]::-webkit-scrollbar-track{background:#f1f1f1}.template-list[data-v-67bcfd56]::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}.template-list[data-v-67bcfd56]::-webkit-scrollbar-thumb:hover{background:#a1a1a1}.canvas-editor-container[data-v-ebfb2298]{width:100%;height:100%;display:flex;flex-direction:column}.canvas-editor[data-v-ebfb2298]{flex:1;width:100%;overflow:hidden;position:relative}canvas[data-v-ebfb2298]{display:block;cursor:text;position:absolute;left:0;top:0;z-index:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-smooth:always;text-rendering:optimizeLegibility}/*!
|
|
2
|
-
Theme: GitHub
|
|
3
|
-
Description:
|
|
1
|
+
.canvas-toolbar[data-v-00f9230a]{display:flex;align-items:center;gap:4px;padding:8px 12px;background:#f5f5f5;border-bottom:1px solid #ddd;flex-wrap:wrap}.toolbar-btn[data-v-00f9230a]{display:flex;align-items:center;justify-content:center;min-width:32px;height:32px;padding:0 8px;border:1px solid #ddd;background:#fff;border-radius:4px;cursor:pointer;font-size:16px;color:#666;transition:all .2s;white-space:nowrap}.toolbar-btn .icon[data-v-00f9230a]{width:18px;height:18px;display:flex;align-items:center;justify-content:center}.toolbar-btn .icon-text[data-v-00f9230a]{font-size:12px;font-weight:700}.toolbar-btn[data-v-00f9230a]:hover{background:#e9e9e9;border-color:#999;color:#333;transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.toolbar-btn[data-v-00f9230a]:active{transform:translateY(0);box-shadow:none}.toolbar-btn.divider[data-v-00f9230a]{width:1px;min-width:1px;height:20px;padding:0;margin:0 4px;background:#ddd;border:none;cursor:default}.toolbar-btn.divider[data-v-00f9230a]:hover{background:#ddd;transform:none;box-shadow:none}.search-panel[data-v-fb8eb5e2]{position:absolute;top:8px;right:8px;background:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 4px 16px #0000001f;padding:16px;z-index:1000;min-width:420px}.search-row[data-v-fb8eb5e2],.replace-row[data-v-fb8eb5e2]{display:flex;gap:8px;align-items:center;margin-bottom:10px}.search-input[data-v-fb8eb5e2]{flex:1;padding:8px 12px;border:1px solid #d0d0d0;border-radius:6px;font-size:13px;outline:none;transition:all .2s}.search-input[data-v-fb8eb5e2]:focus{border-color:#4a90e2;box-shadow:0 0 0 3px #4a90e21a}.search-count[data-v-fb8eb5e2]{font-size:12px;color:#666;background:#f5f5f5;padding:4px 8px;border-radius:4px;min-width:45px;text-align:center;font-weight:500}.search-btn[data-v-fb8eb5e2],.action-btn[data-v-fb8eb5e2]{padding:8px 12px;border:1px solid #d0d0d0;background:#fff;border-radius:6px;cursor:pointer;font-size:13px;transition:all .2s;color:#555}.search-btn[data-v-fb8eb5e2]:hover,.action-btn[data-v-fb8eb5e2]:hover{background:#f8f8f8;border-color:#4a90e2;color:#4a90e2}.search-btn[data-v-fb8eb5e2]:active,.action-btn[data-v-fb8eb5e2]:active{background:#e8e8e8}.close-btn[data-v-fb8eb5e2]{font-weight:700;color:#999}.close-btn[data-v-fb8eb5e2]:hover{color:#f44;border-color:#f44;background:#fff5f5}.action-btn[data-v-fb8eb5e2]{padding:8px 16px;background:#4a90e2;color:#fff;border-color:#4a90e2;font-weight:500}.action-btn[data-v-fb8eb5e2]:hover{background:#357abd;border-color:#357abd;color:#fff}.search-options[data-v-fb8eb5e2]{display:flex;gap:20px;padding-top:12px;border-top:1px solid #f0f0f0}.search-options label[data-v-fb8eb5e2]{display:flex;align-items:center;gap:6px;font-size:12px;color:#666;cursor:pointer;-webkit-user-select:none;user-select:none;transition:color .2s}.search-options label[data-v-fb8eb5e2]:hover{color:#4a90e2}.search-options input[type=checkbox][data-v-fb8eb5e2]{cursor:pointer;width:14px;height:14px}.canvas-editor-container[data-v-1f42f28b]{width:100%;height:100%;display:flex;flex-direction:column}.canvas-editor[data-v-1f42f28b]{flex:1;width:100%;overflow:hidden;position:relative}canvas[data-v-1f42f28b]{display:block;cursor:text;position:absolute;left:0;top:0;z-index:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-smooth:always;text-rendering:optimizeLegibility}.preview-panel[data-v-b66d6e11]{width:100%;height:100%;overflow-y:auto;overflow-x:hidden;background:#fff;transition:background-color .3s}.preview-panel[data-v-b66d6e11]::-webkit-scrollbar{width:8px}.preview-panel[data-v-b66d6e11]::-webkit-scrollbar-track{background:#f1f1f1}.preview-panel[data-v-b66d6e11]::-webkit-scrollbar-thumb{background:#888;border-radius:4px}.preview-panel[data-v-b66d6e11]::-webkit-scrollbar-thumb:hover{background:#555}.preview-content[data-v-b66d6e11]{padding:20px;max-width:900px;margin:0 auto;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:16px;line-height:1.6;color:#333}.preview-panel[data-theme=dark][data-v-b66d6e11]{background:#1e1e1e}.preview-panel[data-theme=dark] .preview-content[data-v-b66d6e11]{color:#ccc}.preview-content[data-v-b66d6e11] h1,.preview-content[data-v-b66d6e11] h2,.preview-content[data-v-b66d6e11] h3,.preview-content[data-v-b66d6e11] h4,.preview-content[data-v-b66d6e11] h5,.preview-content[data-v-b66d6e11] h6{margin-top:24px;margin-bottom:16px;font-weight:600;line-height:1.25}.preview-content[data-v-b66d6e11] h1{font-size:2em;border-bottom:1px solid #eaecef;padding-bottom:.3em}.preview-content[data-v-b66d6e11] h2{font-size:1.5em;border-bottom:1px solid #eaecef;padding-bottom:.3em}.preview-content[data-v-b66d6e11] h3{font-size:1.25em}.preview-content[data-v-b66d6e11] h4{font-size:1em}.preview-content[data-v-b66d6e11] h5{font-size:.875em}.preview-content[data-v-b66d6e11] h6{font-size:.85em;color:#6a737d}.preview-content[data-v-b66d6e11] p{margin-top:0;margin-bottom:16px}.preview-content[data-v-b66d6e11] a{color:#0366d6;text-decoration:none}.preview-content[data-v-b66d6e11] a:hover{text-decoration:underline}.preview-content[data-v-b66d6e11] strong{font-weight:600}.preview-content[data-v-b66d6e11] em{font-style:italic}.preview-content[data-v-b66d6e11] code{padding:.2em .4em;margin:0;font-size:85%;background-color:#1b1f230d;border-radius:3px;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace}.preview-content[data-v-b66d6e11] pre{padding:16px;overflow:auto;font-size:85%;line-height:1.45;background-color:#f6f8fa;border-radius:6px;margin-bottom:16px}.preview-content[data-v-b66d6e11] pre code{display:inline;padding:0;margin:0;overflow:visible;line-height:inherit;word-wrap:normal;background-color:transparent;border:0}.preview-content[data-v-b66d6e11] blockquote{padding:0 1em;color:#6a737d;border-left:.25em solid #dfe2e5;margin:0 0 16px}.preview-content[data-v-b66d6e11] ul,.preview-content[data-v-b66d6e11] ol{padding-left:2em;margin-top:0;margin-bottom:16px}.preview-content[data-v-b66d6e11] li{margin-bottom:.25em}.preview-content[data-v-b66d6e11] li>p{margin-bottom:0}.preview-content[data-v-b66d6e11] img{max-width:100%;box-sizing:content-box;background-color:#fff}.preview-content[data-v-b66d6e11] hr{height:.25em;padding:0;margin:24px 0;background-color:#e1e4e8;border:0}.preview-content[data-v-b66d6e11] table{border-spacing:0;border-collapse:collapse;display:block;width:100%;overflow:auto;margin-bottom:16px}.preview-content[data-v-b66d6e11] table th{font-weight:600;padding:6px 13px;border:1px solid #dfe2e5;background-color:#f6f8fa}.preview-content[data-v-b66d6e11] table td{padding:6px 13px;border:1px solid #dfe2e5}.preview-content[data-v-b66d6e11] table tr{background-color:#fff;border-top:1px solid #c6cbd1}.preview-content[data-v-b66d6e11] table tr:nth-child(2n){background-color:#f6f8fa}.preview-content[data-v-b66d6e11] input[type=checkbox]{margin-right:.5em}.preview-panel[data-theme=dark] .preview-content[data-v-b66d6e11] code{background-color:#6e768166}.preview-panel[data-theme=dark] .preview-content[data-v-b66d6e11] pre{background-color:#2d2d2d}.preview-panel[data-theme=dark] .preview-content[data-v-b66d6e11] table th{background-color:#2d2d2d;border-color:#444}.preview-panel[data-theme=dark] .preview-content[data-v-b66d6e11] table td{border-color:#444}.preview-panel[data-theme=dark] .preview-content[data-v-b66d6e11] table tr{background-color:#1e1e1e;border-color:#444}.preview-panel[data-theme=dark] .preview-content[data-v-b66d6e11] table tr:nth-child(2n){background-color:#252525}.preview-panel[data-theme=dark] .preview-content[data-v-b66d6e11] blockquote{color:#8b949e;border-left-color:#3b3b3b}.preview-panel[data-theme=dark] .preview-content[data-v-b66d6e11] hr{background-color:#3b3b3b}.preview-panel[data-theme=dark] .preview-content[data-v-b66d6e11] h1,.preview-panel[data-theme=dark] .preview-content[data-v-b66d6e11] h2{border-bottom-color:#3b3b3b}.editor-config[data-v-c86daa5e]{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:600px;max-height:80vh;background:#fff;border-radius:8px;box-shadow:0 4px 24px #0003;overflow:hidden;z-index:1000}.config-header[data-v-c86daa5e]{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #e5e5e5;background:#f9f9f9}.config-header h3[data-v-c86daa5e]{margin:0;font-size:18px;font-weight:600}.close-btn[data-v-c86daa5e]{width:32px;height:32px;border:none;background:transparent;font-size:24px;cursor:pointer;color:#666;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.close-btn[data-v-c86daa5e]:hover{background:#e5e5e5;color:#333}.config-body[data-v-c86daa5e]{padding:20px;max-height:calc(80vh - 140px);overflow-y:auto}.config-section[data-v-c86daa5e]{margin-bottom:24px}.config-section h4[data-v-c86daa5e]{margin:0 0 12px;font-size:16px;font-weight:600;color:#333}.hint[data-v-c86daa5e]{margin:0 0 12px;font-size:13px;color:#999}.config-item[data-v-c86daa5e]{display:flex;align-items:center;gap:12px;margin-bottom:12px}.config-item label[data-v-c86daa5e]{min-width:80px;font-size:14px;color:#666}.config-item select[data-v-c86daa5e],.config-item input[type=number][data-v-c86daa5e]{padding:6px 10px;border:1px solid #ddd;border-radius:4px;font-size:14px;flex:1}.config-item input[type=checkbox][data-v-c86daa5e]{margin:0;cursor:pointer}.unit[data-v-c86daa5e]{font-size:12px;color:#999}.color-grid[data-v-c86daa5e]{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.color-item[data-v-c86daa5e]{display:flex;align-items:center;gap:8px;padding:8px;border:1px solid #e5e5e5;border-radius:4px;background:#fafafa}.color-item label[data-v-c86daa5e]{flex:1;font-size:13px;color:#666}.color-item input[type=color][data-v-c86daa5e]{width:36px;height:36px;border:none;border-radius:4px;cursor:pointer}.color-value[data-v-c86daa5e]{font-size:12px;color:#999;font-family:monospace}.config-footer[data-v-c86daa5e]{display:flex;justify-content:flex-end;gap:8px;padding:16px 20px;border-top:1px solid #e5e5e5;background:#f9f9f9}.btn[data-v-c86daa5e]{padding:8px 16px;border:1px solid #ddd;border-radius:4px;font-size:14px;cursor:pointer;transition:all .2s}.btn-secondary[data-v-c86daa5e]{background:#fff;color:#666}.btn-secondary[data-v-c86daa5e]:hover{background:#f5f5f5}.btn-primary[data-v-c86daa5e]{background:#4a90e2;color:#fff;border-color:#4a90e2}.btn-primary[data-v-c86daa5e]:hover{background:#357abd}/*!
|
|
2
|
+
Theme: GitHub Dark
|
|
3
|
+
Description: Dark theme as seen on github.com
|
|
4
4
|
Author: github.com
|
|
5
5
|
Maintainer: @Hirse
|
|
6
6
|
Updated: 2021-05-15
|
|
7
7
|
|
|
8
|
-
Outdated base version: https://github.com/primer/github-syntax-
|
|
8
|
+
Outdated base version: https://github.com/primer/github-syntax-dark
|
|
9
9
|
Current colors taken from GitHub's CSS
|
|
10
|
-
*/.hljs{color:#
|
|
11
|
-
Theme: GitHub
|
|
12
|
-
Description:
|
|
10
|
+
*/.hljs{color:#c9d1d9;background:#0d1117}.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_{color:#ff7b72}.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_{color:#d2a8ff}.hljs-attr,.hljs-attribute,.hljs-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-variable,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id{color:#79c0ff}.hljs-regexp,.hljs-string,.hljs-meta .hljs-string{color:#a5d6ff}.hljs-built_in,.hljs-symbol{color:#ffa657}.hljs-comment,.hljs-code,.hljs-formula{color:#8b949e}.hljs-name,.hljs-quote,.hljs-selector-tag,.hljs-selector-pseudo{color:#7ee787}.hljs-subst{color:#c9d1d9}.hljs-section{color:#1f6feb;font-weight:700}.hljs-bullet{color:#f2cc60}.hljs-emphasis{color:#c9d1d9;font-style:italic}.hljs-strong{color:#c9d1d9;font-weight:700}.hljs-addition{color:#aff5b4;background-color:#033a16}.hljs-deletion{color:#ffdcd7;background-color:#67060c}pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}/*!
|
|
11
|
+
Theme: GitHub
|
|
12
|
+
Description: Light theme as seen on github.com
|
|
13
13
|
Author: github.com
|
|
14
14
|
Maintainer: @Hirse
|
|
15
15
|
Updated: 2021-05-15
|
|
16
16
|
|
|
17
|
-
Outdated base version: https://github.com/primer/github-syntax-
|
|
17
|
+
Outdated base version: https://github.com/primer/github-syntax-light
|
|
18
18
|
Current colors taken from GitHub's CSS
|
|
19
|
-
*/.hljs{color:#
|
|
19
|
+
*/.hljs{color:#24292e;background:#fff}.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_{color:#d73a49}.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_{color:#6f42c1}.hljs-attr,.hljs-attribute,.hljs-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-variable,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id{color:#005cc5}.hljs-regexp,.hljs-string,.hljs-meta .hljs-string{color:#032f62}.hljs-built_in,.hljs-symbol{color:#e36209}.hljs-comment,.hljs-code,.hljs-formula{color:#6a737d}.hljs-name,.hljs-quote,.hljs-selector-tag,.hljs-selector-pseudo{color:#22863a}.hljs-subst{color:#24292e}.hljs-section{color:#005cc5;font-weight:700}.hljs-bullet{color:#735c0f}.hljs-emphasis{color:#24292e;font-style:italic}.hljs-strong{color:#24292e;font-weight:700}.hljs-addition{color:#22863a;background-color:#f0fff4}.hljs-deletion{color:#b31d28;background-color:#ffeef0}
|