static-preview.html 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668
  1. <!DOCTYPE html>
  2. <html lang="zh-cmn-Hans">
  3. <head>
  4. <meta charset="utf-8"/>
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0"/>
  7. <meta name="theme-color" content="#f1f7fe">
  8. <meta name="apple-mobile-web-app-capable" content="yes">
  9. <meta name="mobile-web-app-capable" content="yes"/>
  10. <meta name="apple-mobile-web-app-status-bar-style" content="black">
  11. <title>Vditor - A markdown editor written in TypeScript.</title>
  12. <meta name="description"
  13. content="B3log 开源社区 markdown 编辑器,使用 TypeScript 编写。支持在线预览、表情插入、at 用户提示、HTML 转换等必要功能。"/>
  14. <meta property="og:description"
  15. content="B3log 开源社区 markdown 编辑器,使用 TypeScript 编写。支持在线预览、表情插入、at 用户提示、HTML 转换等必要功能。"/>
  16. <meta name="twitter:description" property="og:description" itemprop="description"
  17. content="B3log 开源社区 markdown 编辑器,使用 TypeScript 编写。支持在线预览、表情插入、at 用户提示、HTML 转换等必要功能。"/>
  18. <link rel="dns-prefetch" href="//cdn.jsdelivr.net/"/>
  19. <link rel="preconnect" href="https://cdn.jsdelivr.net">
  20. <link rel="icon" type="image/png" href="https://cdn.jsdelivr.net/npm/vditor/src/assets/images/logo.png"/>
  21. <link rel="apple-touch-icon" href="https://cdn.jsdelivr.net/npm/vditor/src/assets/images/logo.png">
  22. <link rel="shortcut icon" type="image/x-icon" href="https://cdn.jsdelivr.net/npm/vditor/src/assets/images/logo.png">
  23. <meta name="copyright" content="B3log"/>
  24. <meta http-equiv="Window-target" content="_top"/>
  25. <meta property="og:locale" content="zh-cmn-Hans"/>
  26. <meta property="og:title" content="Vditor - A markdown editor written in TypeScript."/>
  27. <meta property="og:site_name" content="Blog-vditor"/>
  28. <meta property="og:url" content="https://hacpai.com/tag/vditor"/>
  29. <meta name="twitter:card" content="summary"/>
  30. <meta name="twitter:domain" content="b3log.org"/>
  31. <meta name="twitter:title" property="og:title" itemprop="b3lig vditor"
  32. content="Vditor - A markdown editor written in TypeScript."/>
  33. <meta name="twitter:site" content="@B3logOS"/>
  34. <meta name="twitter:url" content="https://hacpai.com/tag/vditor"/>
  35. <meta property="og:image" content="https://cdn.jsdelivr.net/npm/vditor/src/assets/images/logo.png"/>
  36. <meta name="twitter:image" content="https://cdn.jsdelivr.net/npm/vditor/src/assets/images/logo.png"/>
  37. <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/vditor@latest/dist/index.css"/>
  38. <script src="https://cdn.jsdelivr.net/npm/vditor@latest/dist/method.min.js"></script>
  39. <style>
  40. .preview {
  41. max-width: 90%;
  42. width: 600px;
  43. margin: 0 auto;
  44. padding-bottom: 20px;
  45. }
  46. </style>
  47. </head>
  48. <body>
  49. <h2><a href="https://hacpai.com/article/1549638745630?r=Vanessa" target="_blank">Doc</a></h2>
  50. <h2>
  51. Vditor for preview
  52. <a href="static-preview.html?lang=zh_CN">中文</a>
  53. <a href="static-preview.html?lang=ko_KR">한글</a>
  54. <button onclick="setTheme('dark')">Dark
  55. </button>
  56. <button onclick="setTheme('light')">Light
  57. </button>
  58. </h2>
  59. <h2><a href="static.html" id="VditorForYou">Vditor for you</a></h2>
  60. <div id="previewWrap">
  61. <div id="preview" class="preview vditor-reset--dark"></div>
  62. </div>
  63. <textarea id="zh_CNText" style="display:none;">## 教程
  64. 这是一篇讲解如何正确使用 **Markdown** 的排版示例,学会这个很有必要,能让你的文章有更佳清晰的排版。
  65. > 引用文本:Markdown is a text formatting syntax inspired
  66. ## 语法指导
  67. ### 普通内容
  68. 这段内容展示了在内容里面一些排版格式,比如:
  69. - **加粗** - `**加粗**`
  70. - *倾斜* - `*倾斜*`
  71. - ~~删除线~~ - `~~删除线~~`
  72. - `Code 标记` - `` `Code 标记` ``
  73. - [超级链接](https://hacpai.com) - `[超级链接](https://hacpai.com)`
  74. - [[email protected]](mailto:[email protected]) - `[[email protected]](mailto:[email protected])`
  75. ### 提及用户
  76. @Vanessa 通过 `@User` 可以在内容中提及用户,被提及的用户将会收到系统通知。
  77. > NOTE:
  78. >
  79. > 1. @用户名之后需要有一个空格
  80. > 2. 新手没有艾特的功能权限
  81. ### 表情符号 Emoji
  82. 支持大部分标准的表情符号,可使用输入法直接输入,也可手动输入字符格式。通过输入 `:` 触发自动完成,可在个人设置中[设置常用表情](https://hacpai.com/settings/function)。
  83. #### 一些表情例子
  84. :smile: :laughing: :dizzy_face: :sob: :cold_sweat: :sweat_smile: :cry: :triumph: :heart_eyes: :relieved:
  85. :+1: :-1: :100: :clap: :bell: :gift: :question: :bomb: :heart: :coffee: :cyclone: :bow: :kiss: :pray: :anger:
  86. ### 大标题 - Heading 3
  87. 你可以选择使用 H1 至 H6,使用 ##(N) 打头。建议帖子或回帖中的顶级标题使用 Heading 3,不要使用 1 或 2,因为 1 是系统站点级,2 是帖子标题级。
  88. > NOTE: 别忘了 # 后面需要有空格!
  89. #### Heading 4
  90. ##### Heading 5
  91. ###### Heading 6
  92. ### 图片
  93. ```
  94. ![alt 文本](http://image-path.png)
  95. ![alt 文本](http://image-path.png "图片 Title 值")
  96. ```
  97. 支持复制粘贴直接上传。
  98. ### 代码块
  99. #### 普通
  100. ```
  101. *emphasize* **strong**
  102. _emphasize_ __strong__
  103. var a = 1
  104. ```
  105. #### 语法高亮支持
  106. 如果在 ``` 后面跟随语言名称,可以有语法高亮的效果哦,比如:
  107. ##### 演示 Go 代码高亮
  108. ```go
  109. package main
  110. import "fmt"
  111. func main() {
  112. fmt.Println("Hello, 世界")
  113. }
  114. ```
  115. ##### 演示 Java 高亮
  116. ```java
  117. public class HelloWorld {
  118. public static void main(String[] args) {
  119. System.out.println("Hello World!");
  120. }
  121. }
  122. ```
  123. > Tip: 语言名称支持下面这些: `ruby`, `python`, `js`, `html`, `erb`, `css`, `coffee`, `bash`, `json`, `yml`, `xml` ...
  124. ### 有序、无序、任务列表
  125. #### 无序列表
  126. - Java
  127. - Spring
  128. - IoC
  129. - AOP
  130. - Go
  131. - gofmt
  132. - Wide
  133. - Node.js
  134. - Koa
  135. - Express
  136. #### 有序列表
  137. 1. Node.js
  138. 1.1. Express
  139. 1.2. Koa
  140. 1.3. Sails
  141. 2. Go
  142. 2.1. gofmt
  143. 2.2. Wide
  144. 3. Java
  145. 3.1. Latke
  146. 3.2. IDEA
  147. #### 任务列表
  148. - [x] 发布 Sym
  149. - [X] 发布 Solo
  150. - [ ] 预约牙医
  151. ### 表格
  152. 如果需要展示数据什么的,可以选择使用表格。
  153. | header 1 | header 3 |
  154. | -------- | -------- |
  155. | cell 1 | cell 2 |
  156. | cell 3 | cell 4 |
  157. | cell 5 | cell 6 |
  158. ### 隐藏细节
  159. <details>
  160. <summary>这里是摘要部分。</summary>
  161. 这里是细节部分。
  162. </details>
  163. ### 段落
  164. 空行可以将内容进行分段,便于阅读。(这是第一段)
  165. 使用空行在 Markdown 排版中相当重要。(这是第二段)
  166. ### 数学公式
  167. 多行公式块:
  168. $$
  169. \frac{1}{
  170. \Bigl(\sqrt{\phi \sqrt{5}}-\phi\Bigr) e^{
  171. \frac25 \pi}} = 1+\frac{e^{-2\pi}} {1+\frac{e^{-4\pi}} {
  172. 1+\frac{e^{-6\pi}}
  173. {1+\frac{e^{-8\pi}}{1+\cdots}}
  174. }
  175. }
  176. $$
  177. 行内公式:
  178. 公式 $a^2 + b^2 = \color{red}c^2$ 是行内。
  179. ### 流程图
  180. ```mermaid
  181. graph TB
  182. c1-->a2
  183. subgraph one
  184. a1-->a2
  185. end
  186. subgraph two
  187. b1-->b2
  188. end
  189. subgraph three
  190. c1-->c2
  191. end
  192. ```
  193. ### 时序图
  194. ```mermaid
  195. sequenceDiagram
  196. Alice->>John: Hello John, how are you?
  197. loop Every minute
  198. John-->>Alice: Great!
  199. end
  200. ```
  201. ### 甘特图
  202. ```mermaid
  203. gantt
  204. title A Gantt Diagram
  205. dateFormat YYYY-MM-DD
  206. section Section
  207. A task :a1, 2019-01-01, 30d
  208. Another task :after a1 , 20d
  209. section Another
  210. Task in sec :2019-01-12 , 12d
  211. another task : 24d
  212. ```
  213. ### 图表
  214. ```echarts
  215. {
  216. "title": { "text": "最近 30 天" },
  217. "tooltip": { "trigger": "axis", "axisPointer": { "lineStyle": { "width": 0 } } },
  218. "legend": { "data": ["帖子", "用户", "回帖"] },
  219. "xAxis": [{
  220. "type": "category",
  221. "boundaryGap": false,
  222. "data": ["2019-05-08","2019-05-09","2019-05-10","2019-05-11","2019-05-12","2019-05-13","2019-05-14","2019-05-15","2019-05-16","2019-05-17","2019-05-18","2019-05-19","2019-05-20","2019-05-21","2019-05-22","2019-05-23","2019-05-24","2019-05-25","2019-05-26","2019-05-27","2019-05-28","2019-05-29","2019-05-30","2019-05-31","2019-06-01","2019-06-02","2019-06-03","2019-06-04","2019-06-05","2019-06-06","2019-06-07"],
  223. "axisTick": { "show": false },
  224. "axisLine": { "show": false }
  225. }],
  226. "yAxis": [{ "type": "value", "axisTick": { "show": false }, "axisLine": { "show": false }, "splitLine": { "lineStyle": { "color": "rgba(0, 0, 0, .38)", "type": "dashed" } } }],
  227. "series": [
  228. {
  229. "name": "帖子", "type": "line", "smooth": true, "itemStyle": { "color": "#d23f31" }, "areaStyle": { "normal": {} }, "z": 3,
  230. "data": ["18","14","22","9","7","18","10","12","13","16","6","9","15","15","12","15","8","14","9","10","29","22","14","22","9","10","15","9","9","15","0"]
  231. },
  232. {
  233. "name": "用户", "type": "line", "smooth": true, "itemStyle": { "color": "#f1e05a" }, "areaStyle": { "normal": {} }, "z": 2,
  234. "data": ["31","33","30","23","16","29","23","37","41","29","16","13","39","23","38","136","89","35","22","50","57","47","36","59","14","23","46","44","51","43","0"]
  235. },
  236. {
  237. "name": "回帖", "type": "line", "smooth": true, "itemStyle": { "color": "#4285f4" }, "areaStyle": { "normal": {} }, "z": 1,
  238. "data": ["35","42","73","15","43","58","55","35","46","87","36","15","44","76","130","73","50","20","21","54","48","73","60","89","26","27","70","63","55","37","0"]
  239. }
  240. ]
  241. }
  242. ```
  243. ### 五线谱
  244. ```abc
  245. X: 24
  246. T: Clouds Thicken
  247. C: Paul Rosen
  248. S: Copyright 2005, Paul Rosen
  249. M: 6/8
  250. L: 1/8
  251. Q: 3/8=116
  252. R: Creepy Jig
  253. K: Em
  254. |:"Em"EEE E2G|"C7"_B2A G2F|"Em"EEE E2G|\
  255. "C7"_B2A "B7"=B3|"Em"EEE E2G|
  256. "C7"_B2A G2F|"Em"GFE "D (Bm7)"F2D|\
  257. 1"Em"E3-E3:|2"Em"E3-E2B|:"Em"e2e gfe|
  258. "G"g2ab3|"Em"gfeg2e|"D"fedB2A|"Em"e2e gfe|\
  259. "G"g2ab3|"Em"gfe"D"f2d|"Em"e3-e3:|
  260. ```
  261. ### Graphviz
  262. ```graphviz
  263. digraph finite_state_machine {
  264. rankdir=LR;
  265. size="8,5"
  266. node [shape = doublecircle]; S;
  267. node [shape = point ]; qi
  268. node [shape = circle];
  269. qi -> S;
  270. S -> q1 [ label = "a" ];
  271. S -> S [ label = "a" ];
  272. q1 -> S [ label = "a" ];
  273. q1 -> q2 [ label = "ddb" ];
  274. q2 -> q1 [ label = "b" ];
  275. q2 -> q2 [ label = "b" ];
  276. }
  277. ```
  278. ### 多媒体
  279. 支持 v.qq.com,youtube.com,youku.com,coub.com,facebook.com/video,dailymotion.com,.mp4,.m4v,.ogg,.ogv,.webm,.mp3,.wav 链接解析
  280. https://v.qq.com/x/cover/zf2z0xpqcculhcz/y0016tj0qvh.html
  281. ## 快捷键
  282. 我们的编辑器支持很多快捷键,具体请参考 [键盘快捷键](https://hacpai.com/article/1474030007391)(或者按 "`?` ":smirk_cat:)</textarea>
  283. <textarea id="ko_KRText" style="display:none;">## 가이드
  284. 이것은 **Markdown** 타이포그래피를 올바르게 사용하는 방법의 예입니다. 이를 배우면 기사를 보다 선명하고 명료하게 작성하는 데 필요합니다.
  285. > 인용 텍스트: 마크 다운은 텍스트 서식 구문에서 영감을 얻은 것입니다.
  286. ## 문법 가이드
  287. ### 일반 내용
  288. 이 컨텐츠는 다음과 같은 컨텐츠의 일부 활자체 형식을 보여줍니다.
  289. - **굵게** - `**굵게**`
  290. - *기울임꼴* - ` *기울임꼴*`
  291. - ~~취소선~~ - ` ~~취소선 ~~`
  292. - `코드 태그` - ` ``코드 태그`` `
  293. - [하이퍼 링크](https://www.google.com "구글") - `[하이퍼 링크](https://www.google.com "구글")`
  294. - [[email protected]](mailto:[email protected]) - `[[email protected]](mailto:[email protected])`
  295. ### 멘션 사용자
  296. @Vanessa는 `@User`를 통해 컨텐츠에서 사용자를 언급할 수 있으며 언급된 사용자에게 시스템에 의해 통지됩니다.
  297. > 참고 :
  298. >
  299. > 1. @username 뒤에 공백이 필요합니다
  300. > 2. 초보자에게는 @의 기능 권한이 없습니다.
  301. ### 이모티콘
  302. 대부분의 표준 이모티콘을 지원합니다. 입력 방법을 사용하여 직접 입력하거나 문자 형식을 수동으로 입력 할 수 있습니다. `:`를 입력하여 자동 완성을 시작하며, 개인 설정에서 [이모티콘 설정](https://github.com/jakekwak/vditor/blob/master/demo/index.js)을 미리 등록 해 놓을 수 있습니다.
  303. #### 일부 표현 예
  304. :smile: :laughing: :dizzy_face: :sob: :cold_sweat: :sweat_smile: :cry: :triumph: :heart_eyes: :relieved:
  305. :+1: :-1: :100: :clap: :bell: :gift: :question: :bomb: :heart: :coffee: :cyclone: :bow: :kiss: :pray: :anger:
  306. ### 제목 3
  307. H1 ~ H6을 사용하도록 선택하고 ##(N)로 시작할 수 있습니다. 게시물 또는 답글의 최상위 제목에는 제목 3을 사용하는 것이 좋습니다. 제목1은 시스템 사이트 수준이고 제목2는 게시물 제목 수준이므로 1 또는 2는 사용하지 마십시오.
  308. > 참고: # 뒤에 공백이 필요하다는 것을 잊지 마십시오!
  309. #### 제목 4
  310. ##### 제목 5
  311. ###### 제목 6
  312. ### 사진
  313. ```
  314. ! [alt text] (http : //image-path.png)
  315. [alt text] (http : //image-path.png "이미지 제목 값")
  316. ```
  317. 직접 복사하여 붙여 넣기 및 업로드를 지원합니다.
  318. ### 코드 블록
  319. #### 보통
  320. ```
  321. *emphasize* **strong**
  322. _emphasize_ __strong__
  323. var a = 1
  324. ```
  325. #### 구문 강조 지원
  326. ```다음에 언어 이름을 따르는 경우 다음과 같이 구문 강조 효과가 나타날 수 있습니다.
  327. ##### Go 코드 강조 표시 시연
  328. ```go
  329. package main
  330. import "fmt"
  331. func main() {
  332.     fmt.Println("Hello, world!")
  333. }
  334. ```
  335. ##### Java 강조 표시 시연
  336. ```java
  337. public class HelloWorld {
  338.     public static void main(String[] args) {
  339.         System.out.println("Hello World!");
  340.     }
  341. }
  342. ```
  343. > 팁: 언어 이름은 다음을 지원합니다: `ruby`, `python`, `js`, `html`, `erb`, `css`, `coffee`, `bash`, `json`, `yml`, `xml` ...
  344. ### 순서가 없는 목록/순서가 있는 작업 목록
  345. #### 순서가 없는 목록
  346. - Java
  347.   - Spring
  348.     - IoC
  349.     - AOP
  350. - Go
  351.   - gofmt
  352.   - Wide
  353. - Node.js
  354.   - Koa
  355.   - Express
  356. #### 순서가 있는 목록
  357. 1. Node.js
  358.    1. Express
  359.    2. Koa
  360. 2. Go
  361.    1. gofmt
  362.    2. Wide
  363. 3. Java
  364.    1. Latke
  365.    2. IDEA
  366. #### 체크 박스
  367. - [x] 글쓰기
  368. - [X] 시장 방문하기
  369. - [ ] 치과 의사 예약
  370. ### 테이블
  371. 데이터 또는 무언가를 표시해야하는 경우 테이블을 사용하도록 선택할 수 있습니다.
  372. | 헤더 1 | 헤더 2 |
  373. | ---- | ---- |
  374. | 셀 1 | 셀 2 |
  375. | 셀 3 | 셀 4 |
  376. | 셀 5 | 셀 6 |
  377. 세부 사항 숨기기
  378. <details>
  379. <summary> 여기에 요약이 있습니다. </summary>
  380. 자세한 내용은 다음과 같습니다.
  381. </details>
  382. ### 단락
  383. 빈 줄을 사용하면 쉽게 읽을 수 있도록 컨텐츠를 분할 할 수 있습니다. (이것은 첫 번째 단락입니다)
  384. 마크 다운 타이포그래피에서 빈 줄을 사용하는 것이 중요합니다. (이것은 두 번째 단락입니다)
  385. ### 수학 공식
  386. 여러 줄 수식 블록:
  387. $$
  388. \frac{1}{
  389.   \Bigl(\sqrt{\phi \sqrt{5}}-\phi\Bigr) e^{
  390.   \frac25 \pi}} = 1+\frac{e^{-2\pi}} {1+\frac{e^{-4\pi}} {
  391.     1+\frac{e^{-6\pi}}
  392.     {1+\frac{e^{-8\pi}}{1+\cdots}}
  393.   }
  394. }
  395. $$
  396. 인라인 공식:
  397. 공식 $a^2 + b^2 = \color{red}c^2$는 인라인입니다.
  398. 플로우 차트
  399. ```mermaid
  400. graph TB
  401. c1-->a2
  402. subgraph one
  403. a1-->a2
  404. end
  405. subgraph two
  406. b1-->b2
  407. end
  408. subgraph three
  409. c1-->c2
  410. end
  411. ```
  412. ### 타이밍 다이어그램
  413. ```mermaid
  414. sequenceDiagram
  415. Alice->>John: Hello John, how are you?
  416. loop Every minute
  417. John-->>Alice: Great!
  418. end
  419. ```
  420. ### 간트 차트
  421. ```mermaid
  422. gantt
  423. title A Gantt Diagram
  424. dateFormat YYYY-MM-DD
  425. section Section
  426. A task :a1, 2019-01-01, 30d
  427. Another task :after a1 , 20d
  428. section Another
  429. Task in sec :2019-01-12 , 12d
  430. another task : 24d
  431. ```
  432. ### 차트
  433. ```echarts
  434. {
  435. "title": { "text": "최근 30일" },
  436. "tooltip": { "trigger": "axis", "axisPointer": { "lineStyle": { "width": 0 } } },
  437. "legend": { "data": ["게시물", "사용자", "답장"] },
  438. "xAxis": [{
  439. "type": "category",
  440. "boundaryGap": false,
  441. "data": ["2019-05-08","2019-05-09","2019-05-10","2019-05-11","2019-05-12","2019-05-13","2019-05-14","2019-05-15","2019-05-16","2019-05-17","2019-05-18","2019-05-19","2019-05-20","2019-05-21","2019-05-22","2019-05-23","2019-05-24","2019-05-25","2019-05-26","2019-05-27","2019-05-28","2019-05-29","2019-05-30","2019-05-31","2019-06-01","2019-06-02","2019-06-03","2019-06-04","2019-06-05","2019-06-06","2019-06-07"],
  442. "axisTick": { "show": false },
  443. "axisLine": { "show": false }
  444. }],
  445. "yAxis": [{ "type": "value", "axisTick": { "show": false }, "axisLine": { "show": false }, "splitLine": { "lineStyle": { "color": "rgba(0, 0, 0, .38)", "type": "dashed" } } }],
  446. "series": [
  447. {
  448. "name": "게시물", "type": "line", "smooth": true, "itemStyle": { "color": "#d23f31" }, "areaStyle": { "normal": {} }, "z": 3,
  449. "data": ["18","14","22","9","7","18","10","12","13","16","6","9","15","15","12","15","8","14","9","10","29","22","14","22","9","10","15","9","9","15","0"]
  450. },
  451. {
  452. "name": "사용자", "type": "line", "smooth": true, "itemStyle": { "color": "#f1e05a" }, "areaStyle": { "normal": {} }, "z": 2,
  453. "data": ["31","33","30","23","16","29","23","37","41","29","16","13","39","23","38","136","89","35","22","50","57","47","36","59","14","23","46","44","51","43","0"]
  454. },
  455. {
  456. "name": "답장", "type": "line", "smooth": true, "itemStyle": { "color": "#4285f4" }, "areaStyle": { "normal": {} }, "z": 1,
  457. "data": ["35","42","73","15","43","58","55","35","46","87","36","15","44","76","130","73","50","20","21","54","48","73","60","89","26","27","70","63","55","37","0"]
  458. }
  459. ]
  460. }
  461. ```
  462. ### 악보
  463. ```abc
  464. X: 1
  465. T: 서울의 달
  466. M: C
  467. L: 1/8
  468. R: reel
  469. K: Eb
  470. "Cm" z8 | z8 | z ([EG] [E5G5]) | "Gm/Bb" [D8G8] |
  471. "Ab"[E4A4] "Bb"[D4F4] | "Eb"[E4G4] "G7"[D4A4] | "Cm" [G8c8] | "F/A" [F5c5] d2|
  472. "Ab" [A4e4] "G7"[=Bd]f d'2 |"Cm" e'8 | "F/A" f'8 | "Ab"[A4c4e'4] "G7"[G4=Bd'4] |
  473. "Cm" ([G8c8c'8] | [G4c4c'4]) z2 gfed |: cGcG cGcG | "F" cFcF cFcF |
  474. "Ab" cEcE cEcE | "G7"z (d d/2)c/2d/2c/2 d2 g/2f/2e/2d/2 | "Cm" e/2c3/2 ef/2(g/2 g4) | "F" f3/2g/2 f/4g/4f/2e [c2e2] z c/2d/2 |
  475. "Ab" e4 "G7"c/4d3/2 c=B/2(c/2 | "Cm"c)c z/2 d/2e/2d/2 c2 [G2c2] | CGFG C/2GF/2G2|FF FG/2G/2C2 z2 |
  476. w: ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 서 울 살 이 타 향 살 이 고 달 픈 날 ~ 에
  477. EEEE GG GG/2(G/2| "G7"G/4)(D3/2 D2) z4|"Cm"CGFG C/2GF/2G2|FF FG/2G/2C2 z2|
  478. w: 울 엄 마 가 생 각 이 난 ~ ~ 다 ~ 조 물 조 물 무 쳐 주 신 나 물 반 찬 ~ 에
  479. EEEE GG GG/2G/2|C4 z4|cccB c/2B(c/2 c2)|BB cB/2B/2 G2 z2|
  480. w: 된 장 찌 게 먹 고 싶 구 ~ 나 겁 도 없 이 떠 나 온 ~ 머 나 먼 길 ~ 에
  481. cccB c/2B(c/2 c2)|dd dc/2(d/2 (d4)|d4) z Ged | c2 c3/2c/2 d e3 |
  482. w: 보 고 싶 은 내 고 향 ~ 눈 에 밟 힌 다 ~ ~ 언 젠 가 서 울 에 가 서
  483. c2 c3/2c/2 d e3 | z B/2B/2 Bc dd cd/2d/2 |G4 z Ged | c2 c3/2c/2 d e3 |
  484. w: 성 공 을 해 서 돌 아 온 다 약 속 했 는 ~ 데 세 상 에 울 고 웃 다 가
  485. f/2f/2 fe/2(f/2 f4) |z e/2e/2 ee ff ed/2d/2 | c6 z2 | eeee ffed |
  486. w: 바 쁘 다 보 니 ~ 꿈 에 서 나 갈 수 있 구 나 ~ 서 울 의 달 바 라 보 면
  487. d(c c4) z2 :|
  488. w: 서
  489. ```
  490. ### 멀티미디어
  491. **youtube.com**
  492. v.qq.com,youku.com,coub.com,facebook.com/video,dailymotion.com,.mp4,.m4v,.ogg,.ogv,.webm,.mp3,.wav 링크 지원 파싱
  493. https://www.youtube.com/watch?v=S4xoOW4DVKE
  494. ## 바로 가기
  495. 우리 편집기는 많은 단축키를 지원합니다. 자세한 내용은 [키보드 단축키](https://github.com/Vanessa219/vditor/issues/149)를 참조하십시오 (또는 툴바의 "`?`" 누르세요 ?).</textarea>
  496. <script>
  497. if (location.port === '9000') {
  498. document.getElementById('VditorForYou').href = '/'
  499. }
  500. Vditor.preview(document.getElementById('preview'),
  501. document.getElementById(`${location.search.split('=')[1]}Text`).textContent, {
  502. speech: {
  503. enable: true,
  504. },
  505. anchor: true,
  506. })
  507. const setTheme = (theme) => {
  508. const previewWrapElement = document.getElementById('previewWrap')
  509. const previewElement = document.getElementById('preview')
  510. if (theme === 'dark') {
  511. previewWrapElement.className = 'vditor-reset--dark'
  512. previewElement.classList.add('vditor-reset--dark')
  513. } else {
  514. previewWrapElement.className = ''
  515. previewElement.classList.remove('vditor-reset--dark')
  516. }
  517. }
  518. </script>
  519. </body>
  520. </html>