@oj-module/cli 0.1.15 → 0.1.16
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/devkit/framework-dev.md +2 -2
- package/devkit/manual.md +19 -5
- package/package.json +3 -2
- package/shell-dist/assets/runtime.js +2 -2
- package/shell-dist/assets/vditor-index-css.js +7 -0
- package/shell-dist/assets/vditor.js +15223 -0
- package/shell-dist/index.html +4 -2
- package/shell-dist/versions.json +7 -5
- package/src/contract/check.ts +254 -73
- package/src/contract/emit-stub.ts +1 -1
- package/src/index.ts +7 -0
- package/src/shared-deps.ts +18 -0
- package/src/usage.ts +2 -0
- package/src/versions.ts +10 -0
- package/vendor/host-versions.json +7 -5
package/devkit/framework-dev.md
CHANGED
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
|
|
20
20
|
> ⚠️ 那两份 guide 有**已知陈旧处**,以源码为准:
|
|
21
21
|
> dev 端口实际是 **3333**(guide 写的 5173 已过时);包版本以
|
|
22
|
-
> `packages/*/package.json` 为准(guide 内部 0.1.6 / 0.1.8 不一致,实际 **0.1.
|
|
22
|
+
> `packages/*/package.json` 为准(guide 内部 0.1.6 / 0.1.8 不一致,实际 **0.1.16**)。
|
|
23
23
|
|
|
24
24
|
## §2 两包结构与依赖方向
|
|
25
25
|
|
|
@@ -132,7 +132,7 @@ pnpm test tests/shell # 宿主全量
|
|
|
132
132
|
**一键发布**:`node scripts/publish-packages.mjs`(lockstep 四包校验 → 构建 → 守卫测试 →
|
|
133
133
|
runtime → cli → registry 复核;`--dry-run` 只演练)。下面的手动步骤是它的展开参考。
|
|
134
134
|
|
|
135
|
-
- 两包**同版本号**(当前 `0.1.
|
|
135
|
+
- 两包**同版本号**(当前 `0.1.16`),后续发版保持 lockstep。
|
|
136
136
|
- **必须 `pnpm publish`**——用 `npm publish` 会漏出 `workspace:*` / `catalog:` 字面量。
|
|
137
137
|
- **顺序:先 `runtime` 后 `cli`**。`runtime` 未公开时,新 `cli` 的精确依赖会悬空,
|
|
138
138
|
消费者直接装不上。
|
package/devkit/manual.md
CHANGED
|
@@ -224,12 +224,25 @@ export default defineModule({
|
|
|
224
224
|
`antd`(含 `locale/*`)、`@ant-design/icons`、`@ant-design/pro-components`、
|
|
225
225
|
`i18next`、`react-i18next`、`zustand`、`dayjs`、`echarts`、`echarts-for-react`、
|
|
226
226
|
`motion`、`@dnd-kit/*`、`keepalive-for-react`、`simplebar-react`、`nprogress`、
|
|
227
|
-
`react-countup`、`ahooks`、`ky`、`clsx`、`tailwind-merge`、`pinyin-pro`。
|
|
227
|
+
`react-countup`、`ahooks`、`ky`、`clsx`、`tailwind-merge`、`pinyin-pro`、`vditor`。
|
|
228
228
|
查实际矩阵:`pnpm exec ojm info`。
|
|
229
229
|
|
|
230
|
-
|
|
230
|
+
#### vditor(Markdown 编辑器,软共享)
|
|
231
231
|
|
|
232
|
-
|
|
232
|
+
模块侧写法不变:`import Vditor from "vditor"` + `import "vditor/dist/index.css"`。
|
|
233
|
+
两个说明符均由宿主 importmap 供包(`/assets/vditor.js`、`/assets/vditor-index-css.js`),
|
|
234
|
+
模块**不得**再把 vditor 写进 `dependencies` 自打包——放 `devDependencies` 对齐版本供 `tsc` 用。
|
|
235
|
+
资产惰性加载:importmap 只做映射,宿主自身不 import vditor,`/assets/vditor.js` 仅在
|
|
236
|
+
模块产物真正 import 它(进编辑器页)时才被浏览器拉取,不进宿主首屏。
|
|
237
|
+
|
|
238
|
+
注意:vditor 运行期还要按需加载 lute / i18n / 图标 / 主题 CSS 等资源(默认走第三方 CDN,
|
|
239
|
+
宿主 CSP 通常不放行)。这部分**不随共享资产分发**,由模块自行处理(自注入或指向宿主
|
|
240
|
+
可服务的同源路径)。直接 `import "vditor/dist/..."` 其它深路径会命中前缀 external 但无
|
|
241
|
+
importmap 键,构建期报错——需要新深路径请联系框架方在共享表登记。
|
|
242
|
+
|
|
243
|
+
### 2.7 本版本共享依赖钉版(0.1.16 快照)
|
|
244
|
+
|
|
245
|
+
宿主经 importmap 提供以下单例(模块 `devDependencies` 须对齐,供 `tsc` 用);完整 68 项矩阵以
|
|
233
246
|
`pnpm exec ojm info` 或 `packages/cli/shell-dist/versions.json`(构建期生成)为准。
|
|
234
247
|
|
|
235
248
|
| 包 | 钉版 |
|
|
@@ -254,9 +267,10 @@ export default defineModule({
|
|
|
254
267
|
| `ky` | 2.0.2 |
|
|
255
268
|
| `clsx` / `tailwind-merge` | 2.1.1 / 3.6.0 |
|
|
256
269
|
| `pinyin-pro` | 3.29.3 |
|
|
270
|
+
| `vditor` | 4.0.0 |
|
|
257
271
|
|
|
258
|
-
框架包版本:`@oj-module/runtime` / `@oj-module/cli` / `@plane/kit` / `@plane/editor` 均为 `0.1.
|
|
259
|
-
(lockstep
|
|
272
|
+
框架包版本:`@oj-module/runtime` / `@oj-module/cli` / `@plane/kit` / `@plane/editor` 均为 `0.1.16`
|
|
273
|
+
(lockstep;本版实际改动仅 cli——vditor 入共享表);`oj` 二进制最低版本门禁 `MIN_OJ_VERSION = 0.1.50`。
|
|
260
274
|
|
|
261
275
|
> **`@oj-module/runtime` 到底导出哪些东西?** 权威清单随包发布在
|
|
262
276
|
> `node_modules/@oj-module/runtime/dist/index.d.ts`——直接 Read 它,或在编辑器里
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@oj-module/cli",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "0.1.
|
|
4
|
+
"version": "0.1.16",
|
|
5
5
|
"description": "React Antd Admin 模块工程命令行工具(含预构建宿主 shell-dist)",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"exports": {
|
|
@@ -49,7 +49,7 @@
|
|
|
49
49
|
],
|
|
50
50
|
"dependencies": {
|
|
51
51
|
"@faker-js/faker": "^10.4.0",
|
|
52
|
-
"@oj-module/runtime": "0.1.
|
|
52
|
+
"@oj-module/runtime": "0.1.16",
|
|
53
53
|
"@redocly/cli": "^2.51.0",
|
|
54
54
|
"@tailwindcss/vite": "^4.3.0",
|
|
55
55
|
"esbuild": "^0.28.2",
|
|
@@ -93,6 +93,7 @@
|
|
|
93
93
|
"spin-delay": "^2.0.1",
|
|
94
94
|
"tailwind-merge": "^3.6.0",
|
|
95
95
|
"use-sync-external-store": "^1.6.0",
|
|
96
|
+
"vditor": "^4.0.0",
|
|
96
97
|
"zustand": "^5.0.13"
|
|
97
98
|
},
|
|
98
99
|
"publishConfig": {
|
|
@@ -225,10 +225,10 @@ function getAppInfo() {
|
|
|
225
225
|
return {
|
|
226
226
|
"pkg": {
|
|
227
227
|
"name": "@oj-module/runtime",
|
|
228
|
-
"version": "0.1.
|
|
228
|
+
"version": "0.1.16",
|
|
229
229
|
"license": "MIT"
|
|
230
230
|
},
|
|
231
|
-
"lastBuildTime": "2026-10-
|
|
231
|
+
"lastBuildTime": "2026-10-13 10:35:26"
|
|
232
232
|
};
|
|
233
233
|
}
|
|
234
234
|
var init_get_app_info = __esmMin((() => {}));
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
const __css = "/*!\n * Vditor v4.0.0 - A markdown editor written in TypeScript.\n *\n * MIT License\n *\n * Copyright (c) 2018-present B3log 开源, b3log.org\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n *\n */\n/*!\n * Vditor v4.0.0 - A markdown editor written in TypeScript.\n *\n * MIT License\n *\n * Copyright (c) 2018-present B3log 开源, b3log.org\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n *\n */\n.vditor {\n --border-color: #d1d5da;\n --second-color: rgba(88, 96, 105, 0.36);\n --panel-background-color: #fff;\n --panel-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);\n --toolbar-background-color: #f6f8fa;\n --toolbar-icon-color: #586069;\n --toolbar-icon-hover-color: #4285f4;\n --toolbar-height: 35px;\n --toolbar-divider-margin-top: 8px;\n --textarea-background-color: #fafbfc;\n --textarea-text-color: #24292e;\n --resize-icon-color: var(--toolbar-icon-color);\n --resize-background-color: var(--toolbar-background-color);\n --resize-hover-icon-color: var(--panel-background-color);\n --resize-hover-background-color: var(--toolbar-icon-hover-color);\n --count-background-color: rgba(27, 31, 35, 0.05);\n --heading-border-color: #eaecef;\n --blockquote-color: #6a737d;\n --callout-note-color: #0969da;\n --callout-note-background-color: rgba(9, 105, 218, 0.08);\n --callout-tip-color: #1a7f37;\n --callout-tip-background-color: rgba(26, 127, 55, 0.08);\n --callout-important-color: #8250df;\n --callout-important-background-color: rgba(130, 80, 223, 0.08);\n --callout-warning-color: #9a6700;\n --callout-warning-background-color: rgba(154, 103, 0, 0.08);\n --callout-caution-color: #cf222e;\n --callout-caution-background-color: rgba(207, 34, 46, 0.08);\n --ir-heading-color: #660e7a;\n --ir-title-color: #808080;\n --ir-bi-color: #0033b3;\n --ir-link-color: #008000;\n --ir-bracket-color: #0000ff;\n --ir-paren-color: #008000;\n}\n.vditor--dark {\n --border-color: #141414;\n --second-color: rgba(185, 185, 185, 0.36);\n --panel-background-color: #24292e;\n --panel-shadow: 0 1px 2px rgba(255, 255, 255, 0.2);\n --toolbar-background-color: #1d2125;\n --toolbar-icon-color: #b9b9b9;\n --toolbar-icon-hover-color: #fff;\n --textarea-background-color: #2f363d;\n --textarea-text-color: #d1d5da;\n --resize-icon-color: var(--border-color);\n --resize-background-color: var(--second-color);\n --resize-hover-icon-color: var(--toolbar-icon-hover-color);\n --resize-hover-background-color: rgba(185, 185, 185, 0.86);\n --count-background-color: rgba(66, 133, 244, 0.36);\n --heading-border-color: var(--textarea-text-color);\n --blockquote-color: var(--toolbar-icon-color);\n --callout-note-color: #58a6ff;\n --callout-note-background-color: rgba(56, 139, 253, 0.15);\n --callout-tip-color: #3fb950;\n --callout-tip-background-color: rgba(46, 160, 67, 0.15);\n --callout-important-color: #a371f7;\n --callout-important-background-color: rgba(163, 113, 247, 0.15);\n --callout-warning-color: #d29922;\n --callout-warning-background-color: rgba(187, 128, 9, 0.15);\n --callout-caution-color: #f85149;\n --callout-caution-background-color: rgba(248, 81, 73, 0.15);\n --ir-heading-color: #9876aa;\n --ir-title-color: #808080;\n --ir-bi-color: #cc7832;\n --ir-link-color: #ffc66d;\n --ir-bracket-color: #287bde;\n --ir-paren-color: #6a8759;\n}\n/**\n * tool tip.\n *\n * @author <a href=\"http://vanessa.b3log.org\">Liyuan Li</a>\n * @version 0.1.0.0, Jan 25, 2019\n */\n@keyframes tooltip-appear {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n.vditor-tooltipped {\n position: relative;\n cursor: pointer;\n}\n.vditor-tooltipped::after {\n position: absolute;\n z-index: 1000000;\n display: none;\n padding: 5px 8px;\n font-size: 11px;\n font-weight: normal;\n -webkit-font-smoothing: subpixel-antialiased;\n color: #fff;\n text-align: center;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-wrap: break-word;\n white-space: pre;\n pointer-events: none;\n content: attr(aria-label);\n background: #3b3e43;\n border-radius: 3px;\n line-height: 16px;\n opacity: 0;\n}\n.vditor-tooltipped::before {\n position: absolute;\n z-index: 1000001;\n display: none;\n width: 0;\n height: 0;\n color: #3b3e43;\n pointer-events: none;\n content: \"\";\n border: 5px solid transparent;\n opacity: 0;\n}\n.vditor-tooltipped--hover::before,\n.vditor-tooltipped--hover::after,\n.vditor-tooltipped:hover::before,\n.vditor-tooltipped:hover::after,\n.vditor-tooltipped:active::before,\n.vditor-tooltipped:active::after,\n.vditor-tooltipped:focus::before,\n.vditor-tooltipped:focus::after {\n display: inline-block;\n text-decoration: none;\n animation-name: tooltip-appear;\n animation-duration: 0.15s;\n animation-fill-mode: forwards;\n animation-timing-function: ease-in;\n}\n.vditor-tooltipped__s::after,\n.vditor-tooltipped__se::after,\n.vditor-tooltipped__sw::after {\n top: 100%;\n right: 50%;\n margin-top: 5px;\n}\n.vditor-tooltipped__s::before,\n.vditor-tooltipped__se::before,\n.vditor-tooltipped__sw::before {\n top: auto;\n right: 50%;\n bottom: -5px;\n margin-right: -5px;\n border-bottom-color: #3b3e43;\n}\n.vditor-tooltipped__se::after {\n right: auto;\n left: 50%;\n margin-left: -15px;\n}\n.vditor-tooltipped__sw::after {\n margin-right: -15px;\n}\n.vditor-tooltipped__n::after,\n.vditor-tooltipped__ne::after,\n.vditor-tooltipped__nw::after {\n right: 50%;\n bottom: 100%;\n margin-bottom: 5px;\n}\n.vditor-tooltipped__n::before,\n.vditor-tooltipped__ne::before,\n.vditor-tooltipped__nw::before {\n top: -5px;\n right: 50%;\n bottom: auto;\n margin-right: -5px;\n border-top-color: #3b3e43;\n}\n.vditor-tooltipped__ne::after {\n right: auto;\n left: 50%;\n margin-left: -15px;\n}\n.vditor-tooltipped__nw::after {\n margin-right: -15px;\n}\n.vditor-tooltipped__s::after,\n.vditor-tooltipped__n::after {\n transform: translateX(50%);\n}\n.vditor-tooltipped__w::after {\n right: 100%;\n bottom: 50%;\n margin-right: 5px;\n transform: translateY(50%);\n}\n.vditor-tooltipped__w::before {\n top: 50%;\n bottom: 50%;\n left: -5px;\n margin-top: -5px;\n border-left-color: #3b3e43;\n}\n.vditor-tooltipped__e::after {\n bottom: 50%;\n left: 100%;\n margin-left: 5px;\n transform: translateY(50%);\n}\n.vditor-tooltipped__e::before {\n top: 50%;\n right: -5px;\n bottom: 50%;\n margin-top: -5px;\n border-right-color: #3b3e43;\n}\n@media screen and (max-width: 520px) {\n .vditor-tooltipped:before,\n .vditor-tooltipped:after {\n content: none;\n }\n}\n/**\n * panel.\n *\n * @author <a href=\"http://vanessa.b3log.org\">Liyuan Li</a>\n * @version 1.0.0.0, Jan 22, 2020\n */\n@keyframes scale-in {\n 0% {\n opacity: 0;\n transform: scale(0.5);\n }\n 100% {\n opacity: 1;\n transform: scale(1);\n }\n}\n.vditor-panel {\n background-color: var(--panel-background-color);\n position: absolute;\n box-shadow: var(--panel-shadow);\n border-radius: 3px;\n padding: 5px;\n z-index: 3;\n font-size: 14px;\n display: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n max-width: 320px;\n min-width: 80px;\n animation-duration: 0.15s;\n animation-name: scale-in;\n animation-timing-function: cubic-bezier(0.2, 0, 0.13, 1.5);\n color: var(--toolbar-icon-color);\n}\n.vditor-panel--none {\n padding: 0;\n animation: none;\n min-width: auto;\n max-width: none;\n white-space: nowrap;\n opacity: 0.86;\n}\n.vditor-panel--arrow:before {\n position: absolute;\n width: 0;\n height: 0;\n pointer-events: none;\n content: \" \";\n border: 7px solid transparent;\n top: -14px;\n left: 5px;\n border-bottom-color: var(--panel-background-color);\n}\n.vditor-panel--left {\n right: 0;\n}\n.vditor-panel--left.vditor-panel--arrow:before {\n right: 5px;\n left: auto;\n}\n.vditor-input {\n border: 0;\n padding: 3px 5px;\n background-color: var(--panel-background-color);\n font-size: 12px;\n color: var(--textarea-text-color);\n}\n.vditor-input:focus {\n background-color: var(--toolbar-background-color);\n outline: none;\n}\n.vditor-icon {\n color: var(--toolbar-icon-color);\n cursor: pointer;\n float: left;\n padding: 4px 5px;\n height: 21px;\n width: 23px;\n background-color: transparent;\n border: 0;\n box-sizing: border-box;\n}\n.vditor-icon:hover,\n.vditor-icon--current {\n color: var(--toolbar-icon-hover-color);\n background-color: transparent;\n}\n.vditor-icon:focus {\n outline: none;\n}\n.vditor-icon svg {\n height: 13px !important;\n width: 13px !important;\n float: left;\n fill: currentColor;\n pointer-events: none;\n}\n.vditor-toolbar {\n background-color: var(--toolbar-background-color);\n border-bottom: 1px solid var(--border-color);\n padding: 0 5px;\n line-height: 1;\n}\n.vditor-toolbar--pin {\n position: sticky;\n top: 0;\n z-index: 1;\n}\n.vditor-toolbar--hide {\n transition: all 0.15s ease-in-out;\n height: 5px;\n overflow: hidden;\n}\n.vditor-toolbar--hide:hover {\n background-color: var(--toolbar-background-color);\n height: auto;\n overflow: visible;\n}\n.vditor-toolbar__item {\n float: left;\n position: relative;\n}\n.vditor-toolbar__item .vditor-tooltipped {\n color: var(--toolbar-icon-color);\n border: 0;\n padding: 10px 5px;\n background-color: transparent;\n height: var(--toolbar-height);\n width: 25px;\n box-sizing: border-box;\n font-size: 0;\n}\n.vditor-toolbar__item .vditor-tooltipped:focus {\n outline: none;\n}\n.vditor-toolbar__item .vditor-tooltipped:focus {\n cursor: pointer;\n color: var(--toolbar-icon-hover-color);\n}\n.vditor-toolbar__item svg {\n fill: currentColor;\n display: inline-block;\n stroke-width: 0;\n stroke: currentColor;\n width: 15px;\n height: 15px;\n}\n.vditor-toolbar__item input {\n position: absolute;\n width: 25px;\n height: var(--toolbar-height);\n top: 0;\n left: 0;\n cursor: pointer;\n opacity: 0.001;\n overflow: hidden;\n}\n.vditor-toolbar__divider {\n float: left;\n height: calc(var(--toolbar-height) - (var(--toolbar-divider-margin-top) * 2));\n border-left: 1px solid var(--second-color);\n margin: var(--toolbar-divider-margin-top) 8px;\n}\n.vditor-toolbar__br {\n width: 100%;\n padding: 0 !important;\n height: 0 !important;\n}\n.vditor-menu--current {\n color: var(--toolbar-icon-hover-color) !important;\n}\n.vditor-menu--disabled {\n color: var(--second-color) !important;\n cursor: not-allowed !important;\n}\n.vditor-emojis {\n display: inline-block;\n overflow: auto;\n}\n.vditor-emojis::-webkit-scrollbar {\n display: none;\n}\n.vditor-emojis__tip {\n flex: 1;\n min-width: 1px;\n width: 200px;\n margin-right: 10px;\n color: var(--toolbar-icon-color);\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n}\n.vditor-emojis__tail {\n margin-top: 5px;\n font-size: 12px;\n color: var(--toolbar-icon-color);\n display: flex;\n}\n.vditor-emojis__tail a {\n text-decoration: none;\n color: var(--toolbar-icon-color);\n}\n.vditor-emojis__tail a:hover {\n color: var(--toolbar-icon-hover-color);\n}\n.vditor-emojis button {\n cursor: pointer;\n border-radius: 3px;\n float: left;\n height: 30px;\n width: 30px;\n text-align: center;\n line-height: 26px;\n padding: 3px;\n box-sizing: border-box;\n font-size: 16px;\n transition: all 0.15s ease-in-out;\n border: 0;\n margin: 0;\n background-color: transparent;\n overflow: hidden;\n}\n.vditor-emojis button:focus {\n outline: none;\n}\n.vditor-emojis button:hover .vditor-emojis__icon {\n display: inline-block;\n transform: scale(1.2);\n}\n.vditor-emojis img {\n height: 20px;\n width: 20px;\n float: left;\n margin: 3px 0 0 3px;\n}\n@media screen and (max-width: 520px) {\n .vditor-toolbar__item {\n padding: 0 12px;\n }\n .vditor-panel--left.vditor-panel--arrow:before {\n right: 17px;\n }\n}\n@media (hover: hover) and (pointer: fine) {\n .vditor-toolbar__item .vditor-tooltipped:hover {\n color: var(--toolbar-icon-hover-color);\n }\n}\n@keyframes slideInDown {\n from {\n transform: translate3d(0, -100%, 0);\n visibility: visible;\n }\n to {\n transform: translate3d(0, 0, 0);\n }\n}\n.vditor {\n display: flex;\n flex-direction: column;\n border: 1px solid var(--border-color);\n border-radius: 3px;\n box-sizing: border-box;\n font-family: \"Helvetica Neue\", \"Luxi Sans\", \"DejaVu Sans\", \"Hiragino Sans GB\", \"Microsoft Yahei\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Noto Color Emoji\", \"Segoe UI Symbol\", \"Android Emoji\", \"EmojiSymbols\";\n}\n.vditor--fullscreen {\n position: fixed;\n top: 0;\n width: 100% !important;\n left: 0;\n height: 100vh !important;\n z-index: 90;\n border-radius: 0;\n}\n.vditor-content {\n display: flex;\n min-height: 60px;\n flex: 1;\n min-width: 1px;\n position: relative;\n}\n.vditor-preview {\n flex: 1;\n min-width: 1px;\n overflow: auto;\n margin-left: -1px;\n border-left: 1px solid var(--border-color);\n box-sizing: border-box;\n border-radius: 0 0 3px 0;\n background-color: var(--textarea-background-color);\n}\n.vditor-preview::-webkit-scrollbar {\n display: none;\n}\n.vditor-preview__action {\n text-align: center;\n padding: 10px;\n background-color: var(--toolbar-background-color);\n}\n.vditor-preview__action button {\n background-color: var(--toolbar-background-color);\n color: var(--toolbar-icon-color);\n line-height: 20px;\n border: 0;\n margin: 0 10px;\n cursor: pointer;\n padding: 0 7px;\n font-size: 12px;\n}\n.vditor-preview__action button.vditor-preview__action--current,\n.vditor-preview__action button:hover {\n color: var(--toolbar-icon-hover-color);\n background-color: var(--toolbar-background-color);\n}\n.vditor-preview__action button:focus {\n outline: none;\n}\n.vditor-preview__action button svg {\n fill: currentColor;\n height: 15px;\n width: 15px;\n vertical-align: middle;\n}\n.vditor-preview > .vditor-reset {\n padding: 10px;\n margin: 0 auto;\n}\n.vditor-preview img:not(.emoji) {\n cursor: pointer;\n}\n.vditor-devtools {\n display: none;\n background-color: var(--textarea-background-color);\n overflow: auto;\n flex: 1;\n min-width: 1px;\n box-shadow: inset 1px 0 var(--border-color);\n box-sizing: border-box;\n border-radius: 0 0 3px 0;\n padding: 10px;\n}\n.vditor-counter {\n padding: 3px;\n color: var(--toolbar-icon-color);\n background-color: var(--count-background-color);\n border-radius: 3px;\n font-size: 12px;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n float: right;\n margin: 8px 3px 0 0;\n}\n.vditor-counter--error {\n color: #d23f31;\n background-color: rgba(210, 63, 49, 0.1);\n}\n.vditor-resize {\n padding: 3px 0;\n cursor: row-resize;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n position: absolute;\n width: 100%;\n}\n.vditor-resize--top {\n top: -3px;\n}\n.vditor-resize--bottom {\n bottom: -3px;\n}\n.vditor-resize > div {\n height: 3px;\n background-color: var(--resize-background-color);\n transition: all 0.15s ease-in-out;\n}\n.vditor-resize:hover > div,\n.vditor-resize--selected > div {\n background-color: var(--resize-hover-background-color);\n}\n.vditor-resize:hover svg,\n.vditor-resize--selected svg {\n color: var(--resize-hover-icon-color);\n}\n.vditor-resize svg {\n fill: currentColor;\n stroke-width: 0;\n stroke: currentColor;\n width: 13px;\n height: 3px;\n display: block;\n margin: 0 auto;\n color: var(--resize-icon-color);\n}\n.vditor-upload {\n position: absolute;\n height: 3px;\n left: 0;\n top: -2px;\n transition: all 0.15s ease-in-out;\n background-color: #4285f4;\n}\n.vditor-tip {\n position: absolute;\n font-size: 12px;\n top: 10px;\n animation-duration: 0.15s;\n animation-fill-mode: both;\n left: 50%;\n z-index: 5;\n}\n.vditor-tip--show {\n display: block;\n animation-name: slideInDown;\n}\n.vditor-tip__content {\n text-align: left;\n display: inline-block;\n line-height: 16px;\n padding: 3px 10px;\n border-radius: 3px;\n background: var(--toolbar-background-color);\n position: relative;\n margin-left: -50%;\n color: var(--toolbar-icon-color);\n max-width: 100%;\n box-shadow: var(--panel-shadow);\n}\n.vditor-tip__content ul {\n margin: 2px 0;\n padding: 0 0 0 18px;\n}\n.vditor-tip__content a {\n color: #4285f4;\n}\n.vditor-tip__close {\n position: absolute;\n color: var(--toolbar-icon-color);\n top: -7px;\n right: -15px;\n font-weight: bold;\n cursor: pointer;\n}\n.vditor-tip__close:hover {\n color: var(--toolbar-icon-hover-color);\n}\n.vditor-img {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n display: flex;\n flex-direction: column;\n z-index: 100;\n}\n.vditor-img__bar {\n border-bottom: 1px solid var(--border-color);\n background-color: var(--toolbar-background-color);\n text-align: center;\n height: 36px;\n box-sizing: border-box;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n.vditor-img__btn {\n display: flex;\n align-items: center;\n cursor: pointer;\n margin-left: 24px;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n color: var(--toolbar-icon-color);\n}\n.vditor-img__btn:hover {\n color: var(--toolbar-icon-hover-color);\n}\n.vditor-img__btn svg {\n height: 14px;\n width: 14px;\n margin-right: 8px;\n fill: currentColor;\n}\n.vditor-img__img {\n flex: 1;\n background-color: var(--textarea-background-color);\n overflow: auto;\n cursor: zoom-out;\n}\n.vditor-img__img img {\n max-width: none;\n}\n.vditor-hint {\n background-color: var(--panel-background-color);\n position: absolute;\n box-shadow: var(--panel-shadow);\n border-radius: 3px;\n padding: 5px 0;\n z-index: 4;\n line-height: 20px;\n list-style: none;\n font-size: 12px;\n margin: 0;\n max-width: 250px;\n min-width: 80px;\n display: none;\n}\n.vditor-hint .vditor-hint {\n margin-top: -31px;\n left: 100%;\n right: auto;\n}\n.vditor-hint .vditor-hint.vditor-panel--left {\n right: 100%;\n left: auto;\n}\n.vditor-hint button {\n color: var(--toolbar-icon-color);\n display: block;\n padding: 3px 10px;\n border: 0;\n border-radius: 0;\n line-height: 20px;\n width: 100%;\n box-sizing: border-box;\n text-align: left;\n margin: 0;\n background-color: transparent;\n cursor: pointer;\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n}\n.vditor-hint button:focus {\n outline: none;\n}\n.vditor-hint--current,\n.vditor-hint button:not(.vditor-menu--disabled):hover {\n background-color: var(--toolbar-background-color) !important;\n color: var(--toolbar-icon-hover-color) !important;\n}\n.vditor-hint__emoji {\n font-size: 16px;\n float: left;\n margin-right: 3px;\n}\n.vditor-hint img {\n height: 20px;\n width: 20px;\n float: left;\n margin-right: 3px;\n}\n.vditor-reset {\n color: #24292e;\n font-variant-ligatures: no-common-ligatures;\n font-family: \"Helvetica Neue\", \"Luxi Sans\", \"DejaVu Sans\", \"Hiragino Sans GB\", \"Microsoft Yahei\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Noto Color Emoji\", \"Segoe UI Symbol\", \"Android Emoji\", \"EmojiSymbols\";\n word-wrap: break-word;\n overflow: auto;\n line-height: 1.5;\n font-size: 16px;\n word-break: break-word;\n}\n.vditor-reset--anchor {\n padding-left: 20px;\n}\n.vditor-reset--error {\n color: #d23f31;\n font-size: 12px;\n display: block;\n line-height: 16px;\n}\n.vditor-reset ul ul ul {\n list-style-type: square;\n}\n.vditor-reset ul ul {\n list-style-type: circle;\n}\n.vditor-reset ul {\n list-style-type: disc;\n}\n.vditor-reset ul,\n.vditor-reset ol {\n padding-left: 2em;\n margin-top: 0;\n margin-bottom: 16px;\n}\n.vditor-reset li + li {\n margin-top: 0.25em;\n}\n.vditor-reset li p {\n margin-top: 16px;\n}\n.vditor-reset audio {\n max-width: 100%;\n}\n.vditor-reset audio:focus {\n outline: none;\n}\n.vditor-reset video {\n max-height: 90vh;\n max-width: 100%;\n}\n.vditor-reset img {\n max-width: 100%;\n}\n.vditor-reset img.emoji {\n cursor: auto;\n max-width: 20px;\n vertical-align: sub;\n}\n.vditor-reset figure.vditor-image {\n margin: 0 0 16px;\n text-align: center;\n}\n.vditor-reset figure.vditor-image figcaption {\n font-size: 0.875em;\n margin-top: 4px;\n opacity: 0.65;\n white-space: pre-wrap;\n}\n.vditor-reset span.vditor-image[data-image-caption] {\n display: inline-block;\n max-width: 100%;\n text-align: center;\n vertical-align: top;\n}\n.vditor-reset span.vditor-image[data-image-caption]::after {\n content: attr(data-image-caption);\n display: block;\n font-size: 0.875em;\n line-height: 1.5;\n margin-top: 4px;\n opacity: 0.65;\n white-space: pre-wrap;\n}\n.vditor-reset h1,\n.vditor-reset h2,\n.vditor-reset h3,\n.vditor-reset h4,\n.vditor-reset h5,\n.vditor-reset h6 {\n margin-top: 24px;\n margin-bottom: 16px;\n font-weight: 600;\n line-height: 1.25;\n}\n.vditor-reset h1:hover .vditor-anchor svg,\n.vditor-reset h2:hover .vditor-anchor svg,\n.vditor-reset h3:hover .vditor-anchor svg,\n.vditor-reset h4:hover .vditor-anchor svg,\n.vditor-reset h5:hover .vditor-anchor svg,\n.vditor-reset h6:hover .vditor-anchor svg {\n visibility: visible;\n}\n.vditor-reset h1 {\n font-size: 1.75em;\n}\n.vditor-reset h2 {\n font-size: 1.55em;\n}\n.vditor-reset h3 {\n font-size: 1.38em;\n}\n.vditor-reset h4 {\n font-size: 1.25em;\n}\n.vditor-reset h5 {\n font-size: 1.13em;\n}\n.vditor-reset h6 {\n font-size: 1em;\n}\n.vditor-reset hr {\n height: 2px;\n padding: 0;\n margin: 24px 0;\n background-color: #eaecef;\n border: 0;\n}\n.vditor-reset p {\n margin-top: 0;\n margin-bottom: 16px;\n}\n.vditor-reset blockquote {\n padding: 0 1em;\n color: #6a737d;\n border-left: 0.25em solid #eaecef;\n margin: 0 0 16px 0;\n}\n.vditor-reset blockquote > :first-child {\n margin-top: 0;\n}\n.vditor-reset blockquote > :last-child {\n margin-bottom: 0;\n}\n.vditor-reset ins > iframe {\n border: 0;\n}\n.vditor-reset iframe {\n border: 1px solid #d1d5da;\n max-width: 100%;\n box-sizing: border-box;\n}\n.vditor-reset iframe.iframe__video {\n min-width: 80%;\n min-height: 36vh;\n}\n.vditor-reset table {\n border-collapse: collapse;\n empty-cells: show;\n margin-bottom: 16px;\n overflow: auto;\n border-spacing: 0;\n display: block;\n word-break: keep-all;\n width: 100%;\n}\n.vditor-reset table tr {\n background-color: #fafbfc;\n border-top: 1px solid #c6cbd1;\n}\n.vditor-reset table td,\n.vditor-reset table th {\n padding: 6px 13px;\n border: 1px solid #dfe2e5;\n word-break: normal;\n white-space: nowrap;\n}\n.vditor-reset table td:first-child::after,\n.vditor-reset table th:first-child::after {\n content: \"\";\n display: inline-block;\n vertical-align: top;\n min-height: 24px;\n}\n.vditor-reset table th {\n font-weight: 600;\n}\n.vditor-reset table tbody tr:nth-child(2n) {\n background-color: #fff;\n}\n.vditor-reset code:not(.hljs):not(.highlight-chroma) {\n padding: 0.2em 0.4em;\n margin: 0;\n font-size: 85%;\n border-radius: 3px;\n font-family: mononoki, Consolas, \"Liberation Mono\", Menlo, Courier, monospace, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Noto Color Emoji\", \"Segoe UI Symbol\", \"Android Emoji\", \"EmojiSymbols\";\n word-break: break-word;\n background-size: 20px 20px;\n white-space: pre-wrap;\n}\n.vditor-reset pre {\n margin: 1em 0;\n}\n.vditor-reset pre > code {\n margin: 0;\n font-size: 85%;\n padding: 0.5em;\n border-radius: 5px;\n display: block;\n overflow: auto;\n white-space: pre;\n font-family: mononoki, Consolas, \"Liberation Mono\", Menlo, Courier, monospace, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Noto Color Emoji\", \"Segoe UI Symbol\", \"Android Emoji\", \"EmojiSymbols\";\n background-size: 20px 20px;\n background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8AgMAAABHkjHhAAAACVBMVEWAgIBaWlo+Pj7rTFvWAAAAA3RSTlMHCAw+VhR4AAAA+klEQVQoz4WSMW7EQAhFPxKWNh2FCx+HkaZI6RRb5DYbyVfIJXLKDCFoMbaTKSw/8ZnPAPjaH2xgZcUNUDADD7D9LtDBCLZ45fbkvo/30K8yeI64pPwl6znd/3n/Oe93P3ho9qeh72btTFzqkz0rsJle8Zr81OLEwZ1dv/713uWqvu2pl+k0fy7MWtj9r/tN5q/02z89qa/L4Dc2LvM93kezPfXlME/O86EbY/V9GB9ePX8G1/6W+/9h1dq/HGfTfzT3j/xNo7522Bfnqe5jO/fvhVthlfk434v3iO9zG/UOphyPeinPl1J8Gtaa7xPTa/Dk+RIs4deMvwGvcGsmsCvJ0AAAAABJRU5ErkJggg==);\n word-break: initial;\n word-wrap: normal;\n}\n.vditor-reset pre:hover div.vditor-copy {\n display: block;\n}\n.vditor-reset .language-math,\n.vditor-reset .language-echarts,\n.vditor-reset .language-mindmap,\n.vditor-reset .language-plantuml,\n.vditor-reset .language-mermaid,\n.vditor-reset .language-smiles,\n.vditor-reset .language-markmap,\n.vditor-reset .language-abc,\n.vditor-reset .language-flowchart,\n.vditor-reset .language-graphviz,\n.vditor-reset .language-wavedrom {\n margin-bottom: 16px;\n}\n.vditor-reset .language-math mjx-container:focus {\n outline: none;\n cursor: context-menu;\n}\n.vditor-reset .language-math .katex-display > .katex > .katex-html > .tag {\n display: inline-block;\n font-size: 1.21rem;\n right: 2px;\n}\n.vditor-reset .language-echarts,\n.vditor-reset .language-mindmap {\n overflow: hidden;\n height: 420px;\n}\n.vditor-reset .language-mermaid,\n.vditor-reset .language-markmap,\n.vditor-reset .language-flowchart,\n.vditor-reset .language-graphviz,\n.vditor-reset .language-wavedrom {\n text-align: center;\n}\n.vditor-reset .language-graphviz parsererror {\n overflow: auto;\n}\n.vditor-reset kbd {\n display: inline-block;\n padding: 3px 5px;\n font: 11px Consolas, \"Liberation Mono\", Menlo, Courier, monospace;\n line-height: 10px;\n color: #24292e;\n vertical-align: middle;\n background-color: #fafbfc;\n border: solid 1px #d1d5da;\n border-radius: 3px;\n box-shadow: inset 0 -1px 0 #d1d5da;\n}\n.vditor-reset summary {\n cursor: pointer;\n}\n.vditor-reset summary:focus {\n outline: none;\n}\n.vditor-reset svg {\n height: auto;\n width: auto;\n stroke-width: initial;\n}\n.vditor-reset p:last-child,\n.vditor-reset blockquote:last-child,\n.vditor-reset pre:last-child,\n.vditor-reset ul:last-child,\n.vditor-reset ol:last-child,\n.vditor-reset hr:last-child {\n margin-bottom: 0;\n}\n.vditor-comment {\n border-bottom: 2px solid #f8e6ab;\n}\n.vditor-comment--focus,\n.vditor-comment--hover {\n background-color: #faf1d1;\n border-bottom: 2px solid #ffc60a;\n}\n.vditor-comment--focus .vditor-comment,\n.vditor-comment--hover .vditor-comment {\n border-bottom: 2px solid #ffc60a;\n}\n.vditor-task {\n list-style: none !important;\n word-break: break-all;\n}\n.vditor-task input {\n margin: 0 0.2em 0.25em -1.6em;\n font-size: 12px;\n vertical-align: middle;\n}\n.vditor-copy {\n position: relative;\n display: none;\n z-index: 1;\n}\n.vditor-copy textarea {\n position: absolute;\n left: -100000px;\n height: 10px;\n}\n.vditor-copy span {\n cursor: pointer;\n position: absolute;\n right: 15px;\n top: 0.5em;\n}\n.vditor-copy svg {\n color: #586069;\n height: 14px;\n width: 14px !important;\n display: block;\n fill: currentColor;\n}\n.vditor-linenumber {\n padding-left: 4em !important;\n position: relative;\n}\n.vditor-linenumber__rows {\n position: absolute;\n pointer-events: none;\n top: 1em;\n left: 0;\n width: 3em;\n /* works for line-numbers below 1000 lines */\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n counter-reset: linenumber;\n}\n.vditor-linenumber__rows > span {\n pointer-events: none;\n display: block;\n}\n.vditor-linenumber__rows > span::before {\n counter-increment: linenumber;\n content: counter(linenumber);\n color: rgba(158, 150, 150, 0.38);\n display: block;\n padding-right: 1em;\n text-align: right;\n}\n.vditor-speech {\n position: absolute;\n display: none;\n background-color: #f6f8fa;\n border: 1px solid #d1d5da;\n border-radius: 3px;\n padding: 3px;\n cursor: pointer;\n color: #586069;\n}\n.vditor-speech:hover,\n.vditor-speech--current {\n color: #4285f4;\n}\n.vditor-speech svg {\n height: 14px;\n width: 14px;\n fill: currentColor;\n display: block;\n stroke-width: 0;\n stroke: currentColor;\n}\n.vditor-anchor {\n margin-left: 5px;\n}\n.vditor-anchor--left {\n float: left;\n padding-right: 4px;\n margin-left: -20px;\n}\n.vditor-anchor svg {\n visibility: hidden;\n}\n.vditor-anchor:hover svg {\n visibility: visible;\n}\n.vditor-anchor:focus {\n outline: none;\n}\n.vditor-linkcard {\n margin: 31px auto 16px;\n transition: all 0.15s ease-in-out;\n cursor: pointer;\n max-width: 768px;\n padding: 0 10px;\n}\n.vditor-linkcard a {\n border-radius: 3px;\n background-color: #f6f8fa;\n overflow: hidden;\n max-height: 250px;\n display: flex;\n text-decoration: none;\n flex-wrap: wrap-reverse;\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);\n}\n.vditor-linkcard a:hover {\n box-shadow: 0 0 3px rgba(0, 0, 0, 0.13), 0 3px 6px rgba(0, 0, 0, 0.26);\n text-decoration: none;\n}\n.vditor-linkcard a:visited .vditor-linkcard__abstract {\n color: rgba(88, 96, 105, 0.36);\n}\n.vditor-linkcard__info {\n padding: 10px;\n min-width: 200px;\n box-sizing: border-box;\n flex: 1;\n}\n.vditor-linkcard__title {\n font-size: 14px;\n font-weight: 400;\n color: #24292e;\n display: flex;\n align-items: center;\n}\n.vditor-linkcard__title img {\n cursor: pointer;\n height: 20px;\n width: 20px;\n border-radius: 3px;\n flex-shrink: 0;\n margin-right: 5px;\n}\n.vditor-linkcard__abstract {\n word-wrap: break-word;\n word-break: break-all;\n -webkit-line-clamp: 2;\n overflow: hidden;\n text-overflow: ellipsis;\n -webkit-box-orient: vertical;\n display: -webkit-box;\n font-size: 13px;\n color: #586069;\n margin: 5px 0;\n}\n.vditor-linkcard__site {\n font-size: 12px;\n color: #4285f4;\n}\n.vditor-linkcard__image {\n background-size: cover;\n background-repeat: no-repeat;\n background-position: center center;\n max-width: 250px;\n min-width: 126px;\n cursor: pointer;\n background-color: rgba(88, 96, 105, 0.36);\n}\n.vditor-footnotes__goto-ref {\n text-decoration: none;\n}\n.vditor-toc {\n margin-bottom: 16px;\n -webkit-user-select: text;\n -moz-user-select: text;\n user-select: text;\n color: #4285f4;\n}\n.vditor-toc .vditor-outline__action {\n display: none;\n}\n.vditor-toc ul {\n list-style: none !important;\n padding-left: 1em;\n}\n.vditor-toc > ul {\n padding-left: 0;\n}\n.vditor-toc span {\n cursor: pointer;\n}\n.vditor-toc li > span > svg {\n width: 0;\n height: 0;\n}\n.vditor-outline {\n width: 250px;\n border-right: 1px solid var(--border-color);\n background-color: var(--panel-background-color);\n display: none;\n overflow: auto;\n}\n.vditor-outline--right {\n border-right: 0;\n border-left: 1px solid var(--border-color);\n}\n.vditor-outline::-webkit-scrollbar {\n display: none;\n}\n.vditor-outline ul {\n list-style: none !important;\n padding-left: 1em;\n margin: 0;\n}\n.vditor-outline__content > ul {\n padding-left: 0;\n}\n.vditor-outline li > span {\n display: flex;\n align-items: center;\n padding: 5px 10px;\n cursor: pointer;\n color: var(--textarea-text-color);\n}\n.vditor-outline li > span > svg {\n height: 10px;\n width: 10px;\n flex-shrink: 0;\n}\n.vditor-outline li > span:hover {\n color: var(--toolbar-icon-hover-color);\n}\n.vditor-outline li > span > span {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.vditor-outline__title {\n border-bottom: 1px dashed var(--border-color);\n padding: 5px 10px;\n color: var(--toolbar-icon-color);\n font-size: 12px;\n}\n.vditor-outline__action {\n transition: all 0.15s ease-in-out;\n fill: currentColor;\n margin-right: 5px;\n flex-shrink: 0;\n}\n.vditor-outline__action--close {\n transform: rotate(-90deg);\n}\n.vditor-reset .callout,\n.vditor-wysiwyg blockquote.callout,\n.vditor-ir blockquote.callout {\n --callout-color: var(--callout-note-color, #0969da);\n --callout-background-color: var(--callout-note-background-color, rgba(9, 105, 218, 0.08));\n position: relative;\n margin: 0 0 16px;\n padding: 0.75em 1em;\n color: inherit;\n background-color: var(--callout-background-color);\n border: 0;\n border-left: 0.25em solid var(--callout-color);\n}\n.vditor-reset .callout[data-subtype=\"TIP\"],\n.vditor-wysiwyg blockquote.callout[data-subtype=\"TIP\"],\n.vditor-ir blockquote.callout[data-subtype=\"TIP\"] {\n --callout-color: var(--callout-tip-color, #1a7f37);\n --callout-background-color: var(--callout-tip-background-color, rgba(26, 127, 55, 0.08));\n}\n.vditor-reset .callout[data-subtype=\"IMPORTANT\"],\n.vditor-wysiwyg blockquote.callout[data-subtype=\"IMPORTANT\"],\n.vditor-ir blockquote.callout[data-subtype=\"IMPORTANT\"] {\n --callout-color: var(--callout-important-color, #8250df);\n --callout-background-color: var(--callout-important-background-color, rgba(130, 80, 223, 0.08));\n}\n.vditor-reset .callout[data-subtype=\"WARNING\"],\n.vditor-wysiwyg blockquote.callout[data-subtype=\"WARNING\"],\n.vditor-ir blockquote.callout[data-subtype=\"WARNING\"] {\n --callout-color: var(--callout-warning-color, #9a6700);\n --callout-background-color: var(--callout-warning-background-color, rgba(154, 103, 0, 0.08));\n}\n.vditor-reset .callout[data-subtype=\"CAUTION\"],\n.vditor-wysiwyg blockquote.callout[data-subtype=\"CAUTION\"],\n.vditor-ir blockquote.callout[data-subtype=\"CAUTION\"] {\n --callout-color: var(--callout-caution-color, #cf222e);\n --callout-background-color: var(--callout-caution-background-color, rgba(207, 34, 46, 0.08));\n}\n.vditor-reset .callout > .callout-info,\n.vditor-wysiwyg blockquote.callout > .callout-info,\n.vditor-ir blockquote.callout > .callout-info {\n display: flex;\n align-items: center;\n min-height: 1.5em;\n margin: 0 0 0.5em;\n color: var(--callout-color);\n font-weight: 600;\n}\n.vditor-reset .callout > .callout-info .callout-icon,\n.vditor-wysiwyg blockquote.callout > .callout-info .callout-icon,\n.vditor-ir blockquote.callout > .callout-info .callout-icon {\n display: inline-flex;\n align-items: center;\n margin-right: 0.35em;\n}\n.vditor-reset .callout > .callout-info .callout-title,\n.vditor-wysiwyg blockquote.callout > .callout-info .callout-title,\n.vditor-ir blockquote.callout > .callout-info .callout-title {\n min-width: 1px;\n}\n.vditor-reset .callout > .callout-info .callout-img,\n.vditor-wysiwyg blockquote.callout > .callout-info .callout-img,\n.vditor-ir blockquote.callout > .callout-info .callout-img,\n.vditor-reset .callout > .callout-info > .callout-img,\n.vditor-wysiwyg blockquote.callout > .callout-info > .callout-img,\n.vditor-ir blockquote.callout > .callout-info > .callout-img {\n width: 1.2em;\n height: 1.2em;\n margin-right: 0.35em;\n -o-object-fit: contain;\n object-fit: contain;\n}\n.vditor-reset .callout > .callout-content > :last-child,\n.vditor-wysiwyg blockquote.callout > .callout-content > :last-child,\n.vditor-ir blockquote.callout > .callout-content > :last-child,\n.vditor-reset .callout > :last-child,\n.vditor-wysiwyg blockquote.callout > :last-child,\n.vditor-ir blockquote.callout > :last-child {\n margin-bottom: 0;\n}\n.vditor-wysiwyg__callout-marker {\n display: none;\n}\n.vditor-wysiwyg {\n box-sizing: border-box;\n flex: 1;\n position: relative;\n width: 100%;\n min-width: 1px;\n}\n.vditor-wysiwyg pre.vditor-reset {\n background-color: var(--panel-background-color);\n margin: 0;\n white-space: pre-wrap;\n height: 100%;\n box-sizing: border-box;\n}\n.vditor-wysiwyg pre.vditor-reset[contenteditable=\"false\"] {\n opacity: 0.3;\n cursor: not-allowed;\n}\n.vditor-wysiwyg pre.vditor-reset:empty::before {\n content: attr(placeholder);\n color: var(--second-color);\n}\n.vditor-wysiwyg pre.vditor-reset:focus {\n outline: none;\n background-color: var(--textarea-background-color);\n}\n.vditor-wysiwyg pre.vditor-reset:after {\n content: \"\";\n height: var(--editor-bottom);\n display: block;\n}\n.vditor-wysiwyg blockquote:empty::before,\n.vditor-wysiwyg pre > code:empty::before,\n.vditor-wysiwyg p:empty::before,\n.vditor-wysiwyg h1:empty::after,\n.vditor-wysiwyg h2:empty::after,\n.vditor-wysiwyg h3:empty::after,\n.vditor-wysiwyg h4:empty::after,\n.vditor-wysiwyg h5:empty::after,\n.vditor-wysiwyg h6:empty::after {\n content: ' ';\n}\n.vditor-wysiwyg code[data-marker=\"`\"] {\n padding-left: 0 !important;\n padding-right: 0 !important;\n}\n.vditor-wysiwyg__block pre:first-child {\n margin-bottom: -1em;\n}\n.vditor-wysiwyg__block pre:first-child code {\n color: var(--textarea-text-color);\n height: auto;\n text-align: left;\n}\n.vditor-wysiwyg__block pre:last-child {\n margin-bottom: 1em;\n}\n.vditor-wysiwyg__preview {\n cursor: pointer;\n white-space: initial;\n min-height: 27px;\n}\n.vditor-wysiwyg > .vditor-reset > h1:before,\n.vditor-wysiwyg > .vditor-reset > h2:before,\n.vditor-wysiwyg > .vditor-reset > h3:before,\n.vditor-wysiwyg > .vditor-reset > h4:before,\n.vditor-wysiwyg > .vditor-reset > h5:before,\n.vditor-wysiwyg > .vditor-reset > h6:before,\n.vditor-wysiwyg div.vditor-wysiwyg__block:before,\n.vditor-wysiwyg div[data-type=\"link-ref-defs-block\"]:before,\n.vditor-wysiwyg div[data-type=\"footnotes-block\"]:before,\n.vditor-wysiwyg .vditor-toc:before {\n float: left;\n padding-right: 4px;\n margin-left: -29px;\n content: 'H1';\n font-size: 0.85rem;\n font-weight: normal;\n color: var(--second-color);\n}\n.vditor-wysiwyg > .vditor-reset > h2:before {\n content: 'H2';\n}\n.vditor-wysiwyg > .vditor-reset > h3:before {\n content: 'H3';\n}\n.vditor-wysiwyg > .vditor-reset > h4:before {\n content: 'H4';\n}\n.vditor-wysiwyg > .vditor-reset > h5:before {\n content: 'H5';\n}\n.vditor-wysiwyg > .vditor-reset > h6:before {\n content: 'H6';\n}\n.vditor-wysiwyg div[data-type=\"link-ref-defs-block\"]:before {\n content: '\"A\"';\n}\n.vditor-wysiwyg div[data-type=\"footnotes-block\"]:before {\n content: '^F';\n}\n.vditor-wysiwyg div.vditor-wysiwyg__block:before {\n content: \"</>\";\n}\n.vditor-wysiwyg div.vditor-wysiwyg__block[data-type=\"yaml-front-matter\"]:before {\n content: \"F\";\n}\n.vditor-wysiwyg div.vditor-wysiwyg__block[data-type=\"math-block\"]:before {\n content: \"$$\";\n}\n.vditor-wysiwyg .vditor-toc:before {\n content: \"ToC\";\n}\n.vditor-wysiwyg hr {\n display: inline-block;\n margin: 12px 0;\n width: 100%;\n}\n.vditor-wysiwyg details {\n white-space: initial;\n}\n.vditor-wysiwyg a {\n cursor: pointer;\n}\n.vditor-wysiwyg span[data-type=\"backslash\"] > span {\n display: none;\n color: var(--second-color);\n}\n.vditor-wysiwyg span[data-type=\"link-ref\"],\n.vditor-wysiwyg sup[data-type=\"footnotes-ref\"] {\n color: #4285f4;\n}\n.vditor-wysiwyg span[data-type=\"toc-h\"] {\n color: #4285f4;\n text-decoration: underline;\n}\n.vditor-wysiwyg div[data-type=\"footnotes-block\"] {\n border-top: 2px solid var(--heading-border-color);\n padding-top: 24px;\n margin-top: 24px;\n}\n.vditor-wysiwyg div[data-type=\"link-ref-defs-block\"] {\n color: var(--blockquote-color);\n}\n.vditor-wysiwyg__mobile-toolbar {\n display: none;\n}\n@media screen and (max-width: 520px) {\n .vditor-wysiwyg__mobile-toolbar {\n display: block;\n float: left;\n height: 21px;\n position: relative;\n width: 23px;\n }\n .vditor-wysiwyg__mobile-actions {\n box-sizing: border-box;\n flex-wrap: wrap;\n left: 0;\n padding: 5px;\n top: 26px;\n white-space: normal;\n }\n .vditor-wysiwyg__mobile-actions.vditor-panel--left {\n left: auto;\n right: 0;\n }\n .vditor-wysiwyg__mobile-actions--open {\n display: flex;\n }\n .vditor-wysiwyg h1:before,\n .vditor-wysiwyg h2:before,\n .vditor-wysiwyg h3:before,\n .vditor-wysiwyg h4:before,\n .vditor-wysiwyg h5:before,\n .vditor-wysiwyg h6:before,\n .vditor-wysiwyg div.vditor-wysiwyg__block:before,\n .vditor-wysiwyg div[data-type=\"link-ref-defs-block\"]:before,\n .vditor-wysiwyg div[data-type=\"footnotes-block\"]:before,\n .vditor-wysiwyg .vditor-toc:before {\n content: none;\n }\n}\n.vditor-ir {\n box-sizing: border-box;\n flex: 1;\n min-width: 1px;\n position: relative;\n width: 100%;\n}\n.vditor-ir__node[data-type=\"code-block\"]:before,\n.vditor-ir__node[data-type=\"code-block\"]:after,\n.vditor-ir__node[data-type=\"yaml-front-matter\"]:before,\n.vditor-ir__node[data-type=\"yaml-front-matter\"]:after,\n.vditor-ir__node[data-type=\"math-block\"]:before,\n.vditor-ir__node[data-type=\"math-block\"]:after {\n content: ' ';\n color: var(--second-color);\n}\n.vditor-ir__node:not(.vditor-ir__node--expand) .vditor-ir__marker {\n padding: 0 !important;\n}\n.vditor-ir__node:not(.vditor-ir__node--expand)[data-type=\"a\"] {\n cursor: pointer;\n}\n.vditor-ir__node[data-type=\"link-ref\"],\n.vditor-ir__node[data-type=\"footnotes-ref\"] {\n color: #4285f4;\n}\n.vditor-ir__node[data-type=\"html-block\"] {\n margin-bottom: 1em;\n}\n.vditor-ir__node .vditor-ir__marker {\n width: 0;\n overflow: hidden;\n display: inline-block;\n height: 0;\n transition: all 0.15s ease-in-out;\n}\n.vditor-ir__node--hidden .vditor-ir__marker {\n visibility: hidden;\n}\n.vditor-ir__node--expand .vditor-ir__marker {\n color: var(--second-color);\n display: inline;\n height: auto;\n width: auto;\n}\n.vditor-ir__node--expand .vditor-ir__marker--hide {\n display: none;\n}\n.vditor-ir__node--expand .vditor-ir__marker--heading {\n color: var(--ir-heading-color);\n}\n.vditor-ir__node--expand .vditor-ir__marker--bi {\n color: var(--ir-bi-color);\n}\n.vditor-ir__node--expand .vditor-ir__marker--link {\n color: var(--ir-link-color);\n}\n.vditor-ir__node--expand .vditor-ir__marker--title {\n color: var(--ir-title-color);\n}\n.vditor-ir__node--expand .vditor-ir__marker--bracket {\n color: var(--ir-bracket-color);\n text-decoration: underline;\n}\n.vditor-ir__node--expand .vditor-ir__marker--paren {\n color: var(--ir-paren-color);\n}\n.vditor-ir__node--expand .vditor-ir__marker--info {\n color: var(--ir-heading-color);\n}\n.vditor-ir__node--expand .vditor-ir__marker--pre code {\n color: var(--textarea-text-color);\n height: auto;\n text-align: left;\n}\n.vditor-ir__node--expand[data-type=\"code-block\"]:before,\n.vditor-ir__node--expand[data-type=\"code-block\"]:after {\n content: '```';\n}\n.vditor-ir__node--expand[data-type=\"yaml-front-matter\"]:before,\n.vditor-ir__node--expand[data-type=\"yaml-front-matter\"]:after {\n content: '---';\n}\n.vditor-ir__node--expand[data-type=\"math-block\"]:before,\n.vditor-ir__node--expand[data-type=\"math-block\"]:after {\n content: '$$';\n}\n.vditor-ir__node span[data-type=\"code-block-open-marker\"],\n.vditor-ir__node span[data-type=\"code-block-close-marker\"],\n.vditor-ir__node span[data-type=\"yaml-front-matter-open-marker\"],\n.vditor-ir__node span[data-type=\"yaml-front-matter-close-marker\"],\n.vditor-ir__node span[data-type=\"math-block-open-marker\"],\n.vditor-ir__node span[data-type=\"math-block-close-marker\"] {\n display: none;\n}\n.vditor-ir__preview {\n cursor: pointer;\n white-space: initial;\n min-height: 27px;\n}\n.vditor-ir__link {\n color: var(--ir-bracket-color);\n text-decoration: underline;\n}\n.vditor-ir pre.vditor-reset {\n background-color: var(--panel-background-color);\n margin: 0;\n white-space: pre-wrap;\n height: 100%;\n box-sizing: border-box;\n}\n.vditor-ir pre.vditor-reset[contenteditable=\"false\"] {\n opacity: 0.3;\n cursor: not-allowed;\n}\n.vditor-ir pre.vditor-reset:empty::before {\n content: attr(placeholder);\n color: var(--second-color);\n}\n.vditor-ir pre.vditor-reset:focus {\n outline: none;\n background-color: var(--textarea-background-color);\n}\n.vditor-ir pre.vditor-reset:after {\n content: \"\";\n height: var(--editor-bottom);\n display: block;\n}\n.vditor-ir pre.vditor-reset pre {\n margin: 0;\n}\n.vditor-ir hr {\n display: inline-block;\n margin: 12px 0;\n width: 100%;\n}\n.vditor-ir blockquote:empty::before,\n.vditor-ir pre > code:empty::before,\n.vditor-ir p:empty::before,\n.vditor-ir h1:empty::after,\n.vditor-ir h2:empty::after,\n.vditor-ir h3:empty::after,\n.vditor-ir h4:empty::after,\n.vditor-ir h5:empty::after,\n.vditor-ir h6:empty::after {\n content: ' ';\n}\n.vditor-ir .vditor-reset > h1:before,\n.vditor-ir .vditor-reset > h2:before,\n.vditor-ir .vditor-reset > h3:before,\n.vditor-ir .vditor-reset > h4:before,\n.vditor-ir .vditor-reset > h5:before,\n.vditor-ir .vditor-reset > h6:before,\n.vditor-ir div[data-type=\"link-ref-defs-block\"]:before,\n.vditor-ir div[data-type=\"footnotes-block\"]:before,\n.vditor-ir .vditor-toc:before {\n float: left;\n padding-right: 4px;\n margin-left: -29px;\n content: 'H1';\n font-size: 0.85rem;\n font-weight: normal;\n color: var(--second-color);\n}\n.vditor-ir .vditor-reset > h2:before {\n content: 'H2';\n}\n.vditor-ir .vditor-reset > h3:before {\n content: 'H3';\n}\n.vditor-ir .vditor-reset > h4:before {\n content: 'H4';\n}\n.vditor-ir .vditor-reset > h5:before {\n content: 'H5';\n}\n.vditor-ir .vditor-reset > h6:before {\n content: 'H6';\n}\n.vditor-ir div[data-type=\"link-ref-defs-block\"] {\n color: var(--blockquote-color);\n}\n.vditor-ir div[data-type=\"link-ref-defs-block\"]:before {\n content: '\"A\"';\n}\n.vditor-ir div[data-type=\"footnotes-block\"] {\n border-top: 2px solid var(--heading-border-color);\n padding-top: 24px;\n margin-top: 24px;\n}\n.vditor-ir div[data-type=\"footnotes-block\"]:before {\n content: '^F';\n}\n.vditor-ir div[data-type=\"footnotes-block\"] > div[data-type=\"footnotes-def\"] > ul,\n.vditor-ir div[data-type=\"footnotes-block\"] > div[data-type=\"footnotes-def\"] > ol,\n.vditor-ir div[data-type=\"footnotes-block\"] > div[data-type=\"footnotes-def\"] > p,\n.vditor-ir div[data-type=\"footnotes-block\"] > div[data-type=\"footnotes-def\"] > blockquote,\n.vditor-ir div[data-type=\"footnotes-block\"] > div[data-type=\"footnotes-def\"] > pre,\n.vditor-ir div[data-type=\"footnotes-block\"] > div[data-type=\"footnotes-def\"] > table,\n.vditor-ir div[data-type=\"footnotes-block\"] > div[data-type=\"footnotes-def\"] > hr {\n margin-left: 8px;\n}\n.vditor-ir .vditor-toc:before {\n content: \"ToC\";\n}\n.vditor-ir .vditor-toc span[data-type=\"toc-h\"] {\n color: #4285f4;\n text-decoration: underline;\n}\n@media screen and (max-width: 520px) {\n .vditor-ir h1:before,\n .vditor-ir h2:before,\n .vditor-ir h3:before,\n .vditor-ir h4:before,\n .vditor-ir h5:before,\n .vditor-ir h6:before,\n .vditor-ir div[data-type=\"link-ref-defs-block\"]:before,\n .vditor-ir div[data-type=\"footnotes-block\"]:before,\n .vditor-ir .vditor-toc:before {\n content: none;\n }\n}\n.vditor-sv {\n font-family: \"Helvetica Neue\", \"Luxi Sans\", \"DejaVu Sans\", \"Hiragino Sans GB\", \"Microsoft Yahei\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Noto Color Emoji\", \"Segoe UI Symbol\", \"Android Emoji\", \"EmojiSymbols\";\n margin: 0 1px 0 0;\n overflow: auto;\n width: 100%;\n flex: 1;\n min-width: 1px;\n border: 0;\n resize: none;\n padding: 10px 9px 10px 10px;\n box-sizing: border-box;\n background-color: var(--panel-background-color);\n outline: 0 none;\n font-size: 16px;\n line-height: 22px;\n color: var(--textarea-text-color);\n border-radius: 0 0 3px 3px;\n font-variant-ligatures: no-common-ligatures;\n white-space: pre-wrap;\n word-break: break-word;\n word-wrap: break-word;\n}\n.vditor-sv:disabled {\n opacity: 0.3;\n cursor: not-allowed;\n}\n.vditor-sv::-moz-placeholder {\n color: var(--second-color);\n}\n.vditor-sv::placeholder {\n color: var(--second-color);\n}\n.vditor-sv:focus {\n background-color: var(--textarea-background-color);\n}\n\n";
|
|
2
|
+
if (!document.querySelector('style[data-ojm-css="vditor/dist/index.css"]')) {
|
|
3
|
+
const __s = document.createElement("style");
|
|
4
|
+
__s.setAttribute("data-ojm-css", "vditor/dist/index.css");
|
|
5
|
+
__s.textContent = __css;
|
|
6
|
+
document.head.appendChild(__s);
|
|
7
|
+
}
|