x-mavon-editor 0.0.1

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.
Files changed (591) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +391 -0
  3. package/dist/css/index.css +1 -0
  4. package/dist/font/fontello.eot +0 -0
  5. package/dist/font/fontello.svg +72 -0
  6. package/dist/font/fontello.ttf +0 -0
  7. package/dist/font/fontello.woff +0 -0
  8. package/dist/font/fontello.woff2 +0 -0
  9. package/dist/highlightjs/highlight.min.js +1149 -0
  10. package/dist/highlightjs/languages/1c.min.js +24 -0
  11. package/dist/highlightjs/languages/abnf.min.js +11 -0
  12. package/dist/highlightjs/languages/accesslog.min.js +13 -0
  13. package/dist/highlightjs/languages/actionscript.min.js +17 -0
  14. package/dist/highlightjs/languages/ada.min.js +26 -0
  15. package/dist/highlightjs/languages/angelscript.min.js +21 -0
  16. package/dist/highlightjs/languages/apache.min.js +14 -0
  17. package/dist/highlightjs/languages/applescript.min.js +19 -0
  18. package/dist/highlightjs/languages/arcade.min.js +27 -0
  19. package/dist/highlightjs/languages/arduino.min.js +54 -0
  20. package/dist/highlightjs/languages/armasm.min.js +17 -0
  21. package/dist/highlightjs/languages/asciidoc.min.js +35 -0
  22. package/dist/highlightjs/languages/aspectj.min.js +31 -0
  23. package/dist/highlightjs/languages/autohotkey.min.js +14 -0
  24. package/dist/highlightjs/languages/autoit.min.js +21 -0
  25. package/dist/highlightjs/languages/avrasm.min.js +12 -0
  26. package/dist/highlightjs/languages/awk.min.js +11 -0
  27. package/dist/highlightjs/languages/axapta.min.js +10 -0
  28. package/dist/highlightjs/languages/bash.min.js +20 -0
  29. package/dist/highlightjs/languages/basic.min.js +10 -0
  30. package/dist/highlightjs/languages/bnf.min.js +6 -0
  31. package/dist/highlightjs/languages/brainfuck.min.js +7 -0
  32. package/dist/highlightjs/languages/c.min.js +41 -0
  33. package/dist/highlightjs/languages/cal.min.js +14 -0
  34. package/dist/highlightjs/languages/capnproto.min.js +13 -0
  35. package/dist/highlightjs/languages/ceylon.min.js +15 -0
  36. package/dist/highlightjs/languages/clean.min.js +8 -0
  37. package/dist/highlightjs/languages/clojure-repl.min.js +4 -0
  38. package/dist/highlightjs/languages/clojure.min.js +19 -0
  39. package/dist/highlightjs/languages/cmake.min.js +7 -0
  40. package/dist/highlightjs/languages/coffeescript.min.js +29 -0
  41. package/dist/highlightjs/languages/coq.min.js +7 -0
  42. package/dist/highlightjs/languages/cos.min.js +15 -0
  43. package/dist/highlightjs/languages/cpp.min.js +47 -0
  44. package/dist/highlightjs/languages/crmsh.min.js +19 -0
  45. package/dist/highlightjs/languages/crystal.min.js +48 -0
  46. package/dist/highlightjs/languages/csharp.min.js +47 -0
  47. package/dist/highlightjs/languages/csp.min.js +7 -0
  48. package/dist/highlightjs/languages/css.min.js +31 -0
  49. package/dist/highlightjs/languages/d.min.js +20 -0
  50. package/dist/highlightjs/languages/dart.min.js +22 -0
  51. package/dist/highlightjs/languages/delphi.min.js +17 -0
  52. package/dist/highlightjs/languages/diff.min.js +9 -0
  53. package/dist/highlightjs/languages/django.min.js +13 -0
  54. package/dist/highlightjs/languages/dns.min.js +11 -0
  55. package/dist/highlightjs/languages/dockerfile.min.js +8 -0
  56. package/dist/highlightjs/languages/dos.min.js +12 -0
  57. package/dist/highlightjs/languages/dsconfig.min.js +9 -0
  58. package/dist/highlightjs/languages/dts.min.js +22 -0
  59. package/dist/highlightjs/languages/dust.min.js +8 -0
  60. package/dist/highlightjs/languages/ebnf.min.js +7 -0
  61. package/dist/highlightjs/languages/elixir.min.js +33 -0
  62. package/dist/highlightjs/languages/elm.min.js +18 -0
  63. package/dist/highlightjs/languages/erb.min.js +5 -0
  64. package/dist/highlightjs/languages/erlang-repl.min.js +13 -0
  65. package/dist/highlightjs/languages/erlang.min.js +27 -0
  66. package/dist/highlightjs/languages/excel.min.js +10 -0
  67. package/dist/highlightjs/languages/fix.min.js +7 -0
  68. package/dist/highlightjs/languages/flix.min.js +10 -0
  69. package/dist/highlightjs/languages/fortran.min.js +16 -0
  70. package/dist/highlightjs/languages/fsharp.min.js +35 -0
  71. package/dist/highlightjs/languages/gams.min.js +28 -0
  72. package/dist/highlightjs/languages/gauss.min.js +36 -0
  73. package/dist/highlightjs/languages/gcode.min.js +16 -0
  74. package/dist/highlightjs/languages/gherkin.min.js +8 -0
  75. package/dist/highlightjs/languages/glsl.min.js +8 -0
  76. package/dist/highlightjs/languages/gml.min.js +11 -0
  77. package/dist/highlightjs/languages/go.min.js +14 -0
  78. package/dist/highlightjs/languages/golo.min.js +6 -0
  79. package/dist/highlightjs/languages/gradle.min.js +5 -0
  80. package/dist/highlightjs/languages/groovy.min.js +20 -0
  81. package/dist/highlightjs/languages/haml.min.js +18 -0
  82. package/dist/highlightjs/languages/handlebars.min.js +29 -0
  83. package/dist/highlightjs/languages/haskell.min.js +29 -0
  84. package/dist/highlightjs/languages/haxe.min.js +26 -0
  85. package/dist/highlightjs/languages/hsp.min.js +14 -0
  86. package/dist/highlightjs/languages/http.min.js +14 -0
  87. package/dist/highlightjs/languages/hy.min.js +16 -0
  88. package/dist/highlightjs/languages/inform7.min.js +11 -0
  89. package/dist/highlightjs/languages/ini.min.js +15 -0
  90. package/dist/highlightjs/languages/irpf90.min.js +15 -0
  91. package/dist/highlightjs/languages/isbl.min.js +25 -0
  92. package/dist/highlightjs/languages/java.min.js +37 -0
  93. package/dist/highlightjs/languages/javascript.min.js +76 -0
  94. package/dist/highlightjs/languages/jboss-cli.min.js +10 -0
  95. package/dist/highlightjs/languages/json.min.js +7 -0
  96. package/dist/highlightjs/languages/julia-repl.min.js +5 -0
  97. package/dist/highlightjs/languages/julia.min.js +18 -0
  98. package/dist/highlightjs/languages/kotlin.min.js +45 -0
  99. package/dist/highlightjs/languages/lasso.min.js +29 -0
  100. package/dist/highlightjs/languages/latex.min.js +33 -0
  101. package/dist/highlightjs/languages/ldif.min.js +5 -0
  102. package/dist/highlightjs/languages/leaf.min.js +8 -0
  103. package/dist/highlightjs/languages/less.min.js +43 -0
  104. package/dist/highlightjs/languages/lisp.min.js +17 -0
  105. package/dist/highlightjs/languages/livecodeserver.min.js +21 -0
  106. package/dist/highlightjs/languages/livescript.min.js +35 -0
  107. package/dist/highlightjs/languages/llvm.min.js +14 -0
  108. package/dist/highlightjs/languages/lsl.min.js +19 -0
  109. package/dist/highlightjs/languages/lua.min.js +15 -0
  110. package/dist/highlightjs/languages/makefile.min.js +14 -0
  111. package/dist/highlightjs/languages/markdown.min.js +31 -0
  112. package/dist/highlightjs/languages/mathematica.min.js +21 -0
  113. package/dist/highlightjs/languages/matlab.min.js +16 -0
  114. package/dist/highlightjs/languages/maxima.min.js +12 -0
  115. package/dist/highlightjs/languages/mel.min.js +8 -0
  116. package/dist/highlightjs/languages/mercury.min.js +16 -0
  117. package/dist/highlightjs/languages/mipsasm.min.js +15 -0
  118. package/dist/highlightjs/languages/mizar.min.js +4 -0
  119. package/dist/highlightjs/languages/mojolicious.min.js +6 -0
  120. package/dist/highlightjs/languages/monkey.min.js +17 -0
  121. package/dist/highlightjs/languages/moonscript.min.js +23 -0
  122. package/dist/highlightjs/languages/n1ql.min.js +13 -0
  123. package/dist/highlightjs/languages/nestedtext.min.js +9 -0
  124. package/dist/highlightjs/languages/nginx.min.js +21 -0
  125. package/dist/highlightjs/languages/nim.min.js +15 -0
  126. package/dist/highlightjs/languages/nix.min.js +12 -0
  127. package/dist/highlightjs/languages/node-repl.min.js +5 -0
  128. package/dist/highlightjs/languages/nsis.min.js +27 -0
  129. package/dist/highlightjs/languages/objectivec.min.js +21 -0
  130. package/dist/highlightjs/languages/ocaml.min.js +14 -0
  131. package/dist/highlightjs/languages/openscad.min.js +15 -0
  132. package/dist/highlightjs/languages/oxygene.min.js +15 -0
  133. package/dist/highlightjs/languages/parser3.min.js +10 -0
  134. package/dist/highlightjs/languages/perl.min.js +36 -0
  135. package/dist/highlightjs/languages/pf.min.js +9 -0
  136. package/dist/highlightjs/languages/pgsql.min.js +69 -0
  137. package/dist/highlightjs/languages/php-template.min.js +8 -0
  138. package/dist/highlightjs/languages/php.min.js +37 -0
  139. package/dist/highlightjs/languages/plaintext.min.js +4 -0
  140. package/dist/highlightjs/languages/pony.min.js +12 -0
  141. package/dist/highlightjs/languages/powershell.min.js +39 -0
  142. package/dist/highlightjs/languages/processing.min.js +18 -0
  143. package/dist/highlightjs/languages/profile.min.js +9 -0
  144. package/dist/highlightjs/languages/prolog.min.js +11 -0
  145. package/dist/highlightjs/languages/properties.min.js +11 -0
  146. package/dist/highlightjs/languages/protobuf.min.js +11 -0
  147. package/dist/highlightjs/languages/puppet.min.js +17 -0
  148. package/dist/highlightjs/languages/purebasic.min.js +11 -0
  149. package/dist/highlightjs/languages/python-repl.min.js +5 -0
  150. package/dist/highlightjs/languages/python.min.js +42 -0
  151. package/dist/highlightjs/languages/q.min.js +8 -0
  152. package/dist/highlightjs/languages/qml.min.js +29 -0
  153. package/dist/highlightjs/languages/r.min.js +26 -0
  154. package/dist/highlightjs/languages/reasonml.min.js +43 -0
  155. package/dist/highlightjs/languages/rib.min.js +6 -0
  156. package/dist/highlightjs/languages/roboconf.min.js +12 -0
  157. package/dist/highlightjs/languages/routeros.min.js +22 -0
  158. package/dist/highlightjs/languages/rsl.min.js +10 -0
  159. package/dist/highlightjs/languages/ruby.min.js +48 -0
  160. package/dist/highlightjs/languages/ruleslanguage.min.js +9 -0
  161. package/dist/highlightjs/languages/rust.min.js +29 -0
  162. package/dist/highlightjs/languages/sas.min.js +18 -0
  163. package/dist/highlightjs/languages/scala.min.js +25 -0
  164. package/dist/highlightjs/languages/scheme.min.js +19 -0
  165. package/dist/highlightjs/languages/scilab.min.js +13 -0
  166. package/dist/highlightjs/languages/scss.min.js +33 -0
  167. package/dist/highlightjs/languages/shell.min.js +5 -0
  168. package/dist/highlightjs/languages/smali.min.js +13 -0
  169. package/dist/highlightjs/languages/smalltalk.min.js +11 -0
  170. package/dist/highlightjs/languages/sml.min.js +14 -0
  171. package/dist/highlightjs/languages/sqf.min.js +17 -0
  172. package/dist/highlightjs/languages/sql.min.js +17 -0
  173. package/dist/highlightjs/languages/stan.min.js +17 -0
  174. package/dist/highlightjs/languages/stata.min.js +11 -0
  175. package/dist/highlightjs/languages/step21.min.js +10 -0
  176. package/dist/highlightjs/languages/stylus.min.js +36 -0
  177. package/dist/highlightjs/languages/subunit.min.js +9 -0
  178. package/dist/highlightjs/languages/swift.min.js +60 -0
  179. package/dist/highlightjs/languages/taggerscript.min.js +8 -0
  180. package/dist/highlightjs/languages/tap.min.js +7 -0
  181. package/dist/highlightjs/languages/tcl.min.js +15 -0
  182. package/dist/highlightjs/languages/thrift.min.js +12 -0
  183. package/dist/highlightjs/languages/tp.min.js +19 -0
  184. package/dist/highlightjs/languages/twig.min.js +15 -0
  185. package/dist/highlightjs/languages/typescript.min.js +92 -0
  186. package/dist/highlightjs/languages/vala.min.js +9 -0
  187. package/dist/highlightjs/languages/vbnet.min.js +25 -0
  188. package/dist/highlightjs/languages/vbscript-html.min.js +4 -0
  189. package/dist/highlightjs/languages/vbscript.min.js +10 -0
  190. package/dist/highlightjs/languages/verilog.min.js +17 -0
  191. package/dist/highlightjs/languages/vhdl.min.js +14 -0
  192. package/dist/highlightjs/languages/vim.min.js +12 -0
  193. package/dist/highlightjs/languages/wasm.min.js +14 -0
  194. package/dist/highlightjs/languages/wren.min.js +30 -0
  195. package/dist/highlightjs/languages/x86asm.min.js +19 -0
  196. package/dist/highlightjs/languages/xl.min.js +15 -0
  197. package/dist/highlightjs/languages/xml.min.js +28 -0
  198. package/dist/highlightjs/languages/xquery.min.js +32 -0
  199. package/dist/highlightjs/languages/yaml.min.js +25 -0
  200. package/dist/highlightjs/languages/zephir.min.js +18 -0
  201. package/dist/highlightjs/styles/a11y-dark.min.css +7 -0
  202. package/dist/highlightjs/styles/a11y-light.min.css +7 -0
  203. package/dist/highlightjs/styles/agate.min.css +20 -0
  204. package/dist/highlightjs/styles/an-old-hope.min.css +9 -0
  205. package/dist/highlightjs/styles/androidstudio.min.css +1 -0
  206. package/dist/highlightjs/styles/arduino-light.min.css +1 -0
  207. package/dist/highlightjs/styles/arta.min.css +1 -0
  208. package/dist/highlightjs/styles/ascetic.min.css +1 -0
  209. package/dist/highlightjs/styles/atom-one-dark-reasonable.min.css +1 -0
  210. package/dist/highlightjs/styles/atom-one-dark.min.css +1 -0
  211. package/dist/highlightjs/styles/atom-one-light.min.css +1 -0
  212. package/dist/highlightjs/styles/base16/3024.min.css +7 -0
  213. package/dist/highlightjs/styles/base16/apathy.min.css +7 -0
  214. package/dist/highlightjs/styles/base16/apprentice.min.css +7 -0
  215. package/dist/highlightjs/styles/base16/ashes.min.css +7 -0
  216. package/dist/highlightjs/styles/base16/atelier-cave-light.min.css +7 -0
  217. package/dist/highlightjs/styles/base16/atelier-cave.min.css +7 -0
  218. package/dist/highlightjs/styles/base16/atelier-dune-light.min.css +7 -0
  219. package/dist/highlightjs/styles/base16/atelier-dune.min.css +7 -0
  220. package/dist/highlightjs/styles/base16/atelier-estuary-light.min.css +7 -0
  221. package/dist/highlightjs/styles/base16/atelier-estuary.min.css +7 -0
  222. package/dist/highlightjs/styles/base16/atelier-forest-light.min.css +7 -0
  223. package/dist/highlightjs/styles/base16/atelier-forest.min.css +7 -0
  224. package/dist/highlightjs/styles/base16/atelier-heath-light.min.css +7 -0
  225. package/dist/highlightjs/styles/base16/atelier-heath.min.css +7 -0
  226. package/dist/highlightjs/styles/base16/atelier-lakeside-light.min.css +7 -0
  227. package/dist/highlightjs/styles/base16/atelier-lakeside.min.css +7 -0
  228. package/dist/highlightjs/styles/base16/atelier-plateau-light.min.css +7 -0
  229. package/dist/highlightjs/styles/base16/atelier-plateau.min.css +7 -0
  230. package/dist/highlightjs/styles/base16/atelier-savanna-light.min.css +7 -0
  231. package/dist/highlightjs/styles/base16/atelier-savanna.min.css +7 -0
  232. package/dist/highlightjs/styles/base16/atelier-seaside-light.min.css +7 -0
  233. package/dist/highlightjs/styles/base16/atelier-seaside.min.css +7 -0
  234. package/dist/highlightjs/styles/base16/atelier-sulphurpool-light.min.css +7 -0
  235. package/dist/highlightjs/styles/base16/atelier-sulphurpool.min.css +7 -0
  236. package/dist/highlightjs/styles/base16/atlas.min.css +7 -0
  237. package/dist/highlightjs/styles/base16/bespin.min.css +7 -0
  238. package/dist/highlightjs/styles/base16/black-metal-bathory.min.css +7 -0
  239. package/dist/highlightjs/styles/base16/black-metal-burzum.min.css +7 -0
  240. package/dist/highlightjs/styles/base16/black-metal-dark-funeral.min.css +7 -0
  241. package/dist/highlightjs/styles/base16/black-metal-gorgoroth.min.css +7 -0
  242. package/dist/highlightjs/styles/base16/black-metal-immortal.min.css +7 -0
  243. package/dist/highlightjs/styles/base16/black-metal-khold.min.css +7 -0
  244. package/dist/highlightjs/styles/base16/black-metal-marduk.min.css +7 -0
  245. package/dist/highlightjs/styles/base16/black-metal-mayhem.min.css +7 -0
  246. package/dist/highlightjs/styles/base16/black-metal-nile.min.css +7 -0
  247. package/dist/highlightjs/styles/base16/black-metal-venom.min.css +7 -0
  248. package/dist/highlightjs/styles/base16/black-metal.min.css +7 -0
  249. package/dist/highlightjs/styles/base16/brewer.min.css +7 -0
  250. package/dist/highlightjs/styles/base16/bright.min.css +7 -0
  251. package/dist/highlightjs/styles/base16/brogrammer.min.css +7 -0
  252. package/dist/highlightjs/styles/base16/brush-trees-dark.min.css +7 -0
  253. package/dist/highlightjs/styles/base16/brush-trees.min.css +7 -0
  254. package/dist/highlightjs/styles/base16/chalk.min.css +7 -0
  255. package/dist/highlightjs/styles/base16/circus.min.css +7 -0
  256. package/dist/highlightjs/styles/base16/classic-dark.min.css +7 -0
  257. package/dist/highlightjs/styles/base16/classic-light.min.css +7 -0
  258. package/dist/highlightjs/styles/base16/codeschool.min.css +7 -0
  259. package/dist/highlightjs/styles/base16/colors.min.css +7 -0
  260. package/dist/highlightjs/styles/base16/cupcake.min.css +7 -0
  261. package/dist/highlightjs/styles/base16/cupertino.min.css +7 -0
  262. package/dist/highlightjs/styles/base16/danqing.min.css +7 -0
  263. package/dist/highlightjs/styles/base16/darcula.min.css +7 -0
  264. package/dist/highlightjs/styles/base16/dark-violet.min.css +7 -0
  265. package/dist/highlightjs/styles/base16/darkmoss.min.css +7 -0
  266. package/dist/highlightjs/styles/base16/darktooth.min.css +7 -0
  267. package/dist/highlightjs/styles/base16/decaf.min.css +7 -0
  268. package/dist/highlightjs/styles/base16/default-dark.min.css +7 -0
  269. package/dist/highlightjs/styles/base16/default-light.min.css +7 -0
  270. package/dist/highlightjs/styles/base16/dirtysea.min.css +7 -0
  271. package/dist/highlightjs/styles/base16/dracula.min.css +7 -0
  272. package/dist/highlightjs/styles/base16/edge-dark.min.css +7 -0
  273. package/dist/highlightjs/styles/base16/edge-light.min.css +7 -0
  274. package/dist/highlightjs/styles/base16/eighties.min.css +7 -0
  275. package/dist/highlightjs/styles/base16/embers.min.css +7 -0
  276. package/dist/highlightjs/styles/base16/equilibrium-dark.min.css +7 -0
  277. package/dist/highlightjs/styles/base16/equilibrium-gray-dark.min.css +7 -0
  278. package/dist/highlightjs/styles/base16/equilibrium-gray-light.min.css +7 -0
  279. package/dist/highlightjs/styles/base16/equilibrium-light.min.css +7 -0
  280. package/dist/highlightjs/styles/base16/espresso.min.css +7 -0
  281. package/dist/highlightjs/styles/base16/eva-dim.min.css +7 -0
  282. package/dist/highlightjs/styles/base16/eva.min.css +7 -0
  283. package/dist/highlightjs/styles/base16/flat.min.css +7 -0
  284. package/dist/highlightjs/styles/base16/framer.min.css +7 -0
  285. package/dist/highlightjs/styles/base16/fruit-soda.min.css +7 -0
  286. package/dist/highlightjs/styles/base16/gigavolt.min.css +7 -0
  287. package/dist/highlightjs/styles/base16/github.min.css +7 -0
  288. package/dist/highlightjs/styles/base16/google-dark.min.css +7 -0
  289. package/dist/highlightjs/styles/base16/google-light.min.css +7 -0
  290. package/dist/highlightjs/styles/base16/grayscale-dark.min.css +7 -0
  291. package/dist/highlightjs/styles/base16/grayscale-light.min.css +7 -0
  292. package/dist/highlightjs/styles/base16/green-screen.min.css +7 -0
  293. package/dist/highlightjs/styles/base16/gruvbox-dark-hard.min.css +7 -0
  294. package/dist/highlightjs/styles/base16/gruvbox-dark-medium.min.css +7 -0
  295. package/dist/highlightjs/styles/base16/gruvbox-dark-pale.min.css +7 -0
  296. package/dist/highlightjs/styles/base16/gruvbox-dark-soft.min.css +7 -0
  297. package/dist/highlightjs/styles/base16/gruvbox-light-hard.min.css +7 -0
  298. package/dist/highlightjs/styles/base16/gruvbox-light-medium.min.css +7 -0
  299. package/dist/highlightjs/styles/base16/gruvbox-light-soft.min.css +7 -0
  300. package/dist/highlightjs/styles/base16/hardcore.min.css +7 -0
  301. package/dist/highlightjs/styles/base16/harmonic16-dark.min.css +7 -0
  302. package/dist/highlightjs/styles/base16/harmonic16-light.min.css +7 -0
  303. package/dist/highlightjs/styles/base16/heetch-dark.min.css +7 -0
  304. package/dist/highlightjs/styles/base16/heetch-light.min.css +7 -0
  305. package/dist/highlightjs/styles/base16/helios.min.css +7 -0
  306. package/dist/highlightjs/styles/base16/hopscotch.min.css +7 -0
  307. package/dist/highlightjs/styles/base16/horizon-dark.min.css +7 -0
  308. package/dist/highlightjs/styles/base16/horizon-light.min.css +7 -0
  309. package/dist/highlightjs/styles/base16/humanoid-dark.min.css +7 -0
  310. package/dist/highlightjs/styles/base16/humanoid-light.min.css +7 -0
  311. package/dist/highlightjs/styles/base16/ia-dark.min.css +7 -0
  312. package/dist/highlightjs/styles/base16/ia-light.min.css +7 -0
  313. package/dist/highlightjs/styles/base16/icy-dark.min.css +7 -0
  314. package/dist/highlightjs/styles/base16/ir-black.min.css +7 -0
  315. package/dist/highlightjs/styles/base16/isotope.min.css +7 -0
  316. package/dist/highlightjs/styles/base16/kimber.min.css +7 -0
  317. package/dist/highlightjs/styles/base16/london-tube.min.css +7 -0
  318. package/dist/highlightjs/styles/base16/macintosh.min.css +7 -0
  319. package/dist/highlightjs/styles/base16/marrakesh.min.css +7 -0
  320. package/dist/highlightjs/styles/base16/materia.min.css +7 -0
  321. package/dist/highlightjs/styles/base16/material-darker.min.css +7 -0
  322. package/dist/highlightjs/styles/base16/material-lighter.min.css +7 -0
  323. package/dist/highlightjs/styles/base16/material-palenight.min.css +7 -0
  324. package/dist/highlightjs/styles/base16/material-vivid.min.css +7 -0
  325. package/dist/highlightjs/styles/base16/material.min.css +7 -0
  326. package/dist/highlightjs/styles/base16/mellow-purple.min.css +7 -0
  327. package/dist/highlightjs/styles/base16/mexico-light.min.css +7 -0
  328. package/dist/highlightjs/styles/base16/mocha.min.css +7 -0
  329. package/dist/highlightjs/styles/base16/monokai.min.css +7 -0
  330. package/dist/highlightjs/styles/base16/nebula.min.css +7 -0
  331. package/dist/highlightjs/styles/base16/nord.min.css +7 -0
  332. package/dist/highlightjs/styles/base16/nova.min.css +7 -0
  333. package/dist/highlightjs/styles/base16/ocean.min.css +7 -0
  334. package/dist/highlightjs/styles/base16/oceanicnext.min.css +7 -0
  335. package/dist/highlightjs/styles/base16/one-light.min.css +7 -0
  336. package/dist/highlightjs/styles/base16/onedark.min.css +7 -0
  337. package/dist/highlightjs/styles/base16/outrun-dark.min.css +7 -0
  338. package/dist/highlightjs/styles/base16/papercolor-dark.min.css +7 -0
  339. package/dist/highlightjs/styles/base16/papercolor-light.min.css +7 -0
  340. package/dist/highlightjs/styles/base16/paraiso.min.css +7 -0
  341. package/dist/highlightjs/styles/base16/pasque.min.css +7 -0
  342. package/dist/highlightjs/styles/base16/phd.min.css +7 -0
  343. package/dist/highlightjs/styles/base16/pico.min.css +7 -0
  344. package/dist/highlightjs/styles/base16/pop.min.css +7 -0
  345. package/dist/highlightjs/styles/base16/porple.min.css +7 -0
  346. package/dist/highlightjs/styles/base16/qualia.min.css +7 -0
  347. package/dist/highlightjs/styles/base16/railscasts.min.css +7 -0
  348. package/dist/highlightjs/styles/base16/rebecca.min.css +7 -0
  349. package/dist/highlightjs/styles/base16/ros-pine-dawn.min.css +7 -0
  350. package/dist/highlightjs/styles/base16/ros-pine-moon.min.css +7 -0
  351. package/dist/highlightjs/styles/base16/ros-pine.min.css +7 -0
  352. package/dist/highlightjs/styles/base16/sagelight.min.css +7 -0
  353. package/dist/highlightjs/styles/base16/sandcastle.min.css +7 -0
  354. package/dist/highlightjs/styles/base16/seti-ui.min.css +7 -0
  355. package/dist/highlightjs/styles/base16/shapeshifter.min.css +7 -0
  356. package/dist/highlightjs/styles/base16/silk-dark.min.css +7 -0
  357. package/dist/highlightjs/styles/base16/silk-light.min.css +7 -0
  358. package/dist/highlightjs/styles/base16/snazzy.min.css +7 -0
  359. package/dist/highlightjs/styles/base16/solar-flare-light.min.css +7 -0
  360. package/dist/highlightjs/styles/base16/solar-flare.min.css +7 -0
  361. package/dist/highlightjs/styles/base16/solarized-dark.min.css +7 -0
  362. package/dist/highlightjs/styles/base16/solarized-light.min.css +7 -0
  363. package/dist/highlightjs/styles/base16/spacemacs.min.css +7 -0
  364. package/dist/highlightjs/styles/base16/summercamp.min.css +7 -0
  365. package/dist/highlightjs/styles/base16/summerfruit-dark.min.css +7 -0
  366. package/dist/highlightjs/styles/base16/summerfruit-light.min.css +7 -0
  367. package/dist/highlightjs/styles/base16/synth-midnight-terminal-dark.min.css +7 -0
  368. package/dist/highlightjs/styles/base16/synth-midnight-terminal-light.min.css +7 -0
  369. package/dist/highlightjs/styles/base16/tango.min.css +7 -0
  370. package/dist/highlightjs/styles/base16/tender.min.css +7 -0
  371. package/dist/highlightjs/styles/base16/tomorrow-night.min.css +7 -0
  372. package/dist/highlightjs/styles/base16/tomorrow.min.css +7 -0
  373. package/dist/highlightjs/styles/base16/twilight.min.css +7 -0
  374. package/dist/highlightjs/styles/base16/unikitty-dark.min.css +7 -0
  375. package/dist/highlightjs/styles/base16/unikitty-light.min.css +7 -0
  376. package/dist/highlightjs/styles/base16/vulcan.min.css +7 -0
  377. package/dist/highlightjs/styles/base16/windows-10-light.min.css +7 -0
  378. package/dist/highlightjs/styles/base16/windows-10.min.css +7 -0
  379. package/dist/highlightjs/styles/base16/windows-95-light.min.css +7 -0
  380. package/dist/highlightjs/styles/base16/windows-95.min.css +7 -0
  381. package/dist/highlightjs/styles/base16/windows-high-contrast-light.min.css +7 -0
  382. package/dist/highlightjs/styles/base16/windows-high-contrast.min.css +7 -0
  383. package/dist/highlightjs/styles/base16/windows-nt-light.min.css +7 -0
  384. package/dist/highlightjs/styles/base16/windows-nt.min.css +7 -0
  385. package/dist/highlightjs/styles/base16/woodland.min.css +7 -0
  386. package/dist/highlightjs/styles/base16/xcode-dusk.min.css +7 -0
  387. package/dist/highlightjs/styles/base16/zenburn.min.css +7 -0
  388. package/dist/highlightjs/styles/brown-paper.min.css +1 -0
  389. package/dist/highlightjs/styles/brown-papersq.png +0 -0
  390. package/dist/highlightjs/styles/codepen-embed.min.css +1 -0
  391. package/dist/highlightjs/styles/color-brewer.min.css +1 -0
  392. package/dist/highlightjs/styles/dark.min.css +1 -0
  393. package/dist/highlightjs/styles/default.min.css +9 -0
  394. package/dist/highlightjs/styles/devibeans.min.css +7 -0
  395. package/dist/highlightjs/styles/docco.min.css +1 -0
  396. package/dist/highlightjs/styles/far.min.css +1 -0
  397. package/dist/highlightjs/styles/foundation.min.css +1 -0
  398. package/dist/highlightjs/styles/github-dark-dimmed.min.css +9 -0
  399. package/dist/highlightjs/styles/github-dark.min.css +10 -0
  400. package/dist/highlightjs/styles/github.min.css +10 -0
  401. package/dist/highlightjs/styles/gml.min.css +1 -0
  402. package/dist/highlightjs/styles/googlecode.min.css +1 -0
  403. package/dist/highlightjs/styles/gradient-dark.min.css +1 -0
  404. package/dist/highlightjs/styles/gradient-light.min.css +1 -0
  405. package/dist/highlightjs/styles/grayscale.min.css +1 -0
  406. package/dist/highlightjs/styles/hybrid.min.css +1 -0
  407. package/dist/highlightjs/styles/idea.min.css +1 -0
  408. package/dist/highlightjs/styles/ir-black.min.css +1 -0
  409. package/dist/highlightjs/styles/isbl-editor-dark.min.css +1 -0
  410. package/dist/highlightjs/styles/isbl-editor-light.min.css +1 -0
  411. package/dist/highlightjs/styles/kimbie-dark.min.css +1 -0
  412. package/dist/highlightjs/styles/kimbie-light.min.css +1 -0
  413. package/dist/highlightjs/styles/lightfair.min.css +1 -0
  414. package/dist/highlightjs/styles/lioshi.min.css +1 -0
  415. package/dist/highlightjs/styles/magula.min.css +1 -0
  416. package/dist/highlightjs/styles/mono-blue.min.css +1 -0
  417. package/dist/highlightjs/styles/monokai-sublime.min.css +1 -0
  418. package/dist/highlightjs/styles/monokai.min.css +1 -0
  419. package/dist/highlightjs/styles/night-owl.min.css +1 -0
  420. package/dist/highlightjs/styles/nnfx-dark.min.css +10 -0
  421. package/dist/highlightjs/styles/nnfx-light.min.css +10 -0
  422. package/dist/highlightjs/styles/nord.min.css +1 -0
  423. package/dist/highlightjs/styles/obsidian.min.css +1 -0
  424. package/dist/highlightjs/styles/paraiso-dark.min.css +1 -0
  425. package/dist/highlightjs/styles/paraiso-light.min.css +1 -0
  426. package/dist/highlightjs/styles/pojoaque.jpg +0 -0
  427. package/dist/highlightjs/styles/pojoaque.min.css +1 -0
  428. package/dist/highlightjs/styles/purebasic.min.css +1 -0
  429. package/dist/highlightjs/styles/qtcreator-dark.min.css +1 -0
  430. package/dist/highlightjs/styles/qtcreator-light.min.css +1 -0
  431. package/dist/highlightjs/styles/rainbow.min.css +1 -0
  432. package/dist/highlightjs/styles/routeros.min.css +1 -0
  433. package/dist/highlightjs/styles/school-book.min.css +1 -0
  434. package/dist/highlightjs/styles/shades-of-purple.min.css +1 -0
  435. package/dist/highlightjs/styles/srcery.min.css +1 -0
  436. package/dist/highlightjs/styles/stackoverflow-dark.min.css +13 -0
  437. package/dist/highlightjs/styles/stackoverflow-light.min.css +13 -0
  438. package/dist/highlightjs/styles/sunburst.min.css +1 -0
  439. package/dist/highlightjs/styles/tomorrow-night-blue.min.css +1 -0
  440. package/dist/highlightjs/styles/tomorrow-night-bright.min.css +1 -0
  441. package/dist/highlightjs/styles/vs.min.css +1 -0
  442. package/dist/highlightjs/styles/vs2015.min.css +1 -0
  443. package/dist/highlightjs/styles/xcode.min.css +1 -0
  444. package/dist/highlightjs/styles/xt256.min.css +1 -0
  445. package/dist/katex/contrib/auto-render.min.js +1 -0
  446. package/dist/katex/contrib/copy-tex.min.css +1 -0
  447. package/dist/katex/contrib/copy-tex.min.js +1 -0
  448. package/dist/katex/contrib/mathtex-script-type.min.js +1 -0
  449. package/dist/katex/contrib/mhchem.min.js +1 -0
  450. package/dist/katex/contrib/render-a11y-string.min.js +1 -0
  451. package/dist/katex/fonts/KaTeX_AMS-Regular.ttf +0 -0
  452. package/dist/katex/fonts/KaTeX_AMS-Regular.woff +0 -0
  453. package/dist/katex/fonts/KaTeX_AMS-Regular.woff2 +0 -0
  454. package/dist/katex/fonts/KaTeX_Caligraphic-Bold.ttf +0 -0
  455. package/dist/katex/fonts/KaTeX_Caligraphic-Bold.woff +0 -0
  456. package/dist/katex/fonts/KaTeX_Caligraphic-Bold.woff2 +0 -0
  457. package/dist/katex/fonts/KaTeX_Caligraphic-Regular.ttf +0 -0
  458. package/dist/katex/fonts/KaTeX_Caligraphic-Regular.woff +0 -0
  459. package/dist/katex/fonts/KaTeX_Caligraphic-Regular.woff2 +0 -0
  460. package/dist/katex/fonts/KaTeX_Fraktur-Bold.ttf +0 -0
  461. package/dist/katex/fonts/KaTeX_Fraktur-Bold.woff +0 -0
  462. package/dist/katex/fonts/KaTeX_Fraktur-Bold.woff2 +0 -0
  463. package/dist/katex/fonts/KaTeX_Fraktur-Regular.ttf +0 -0
  464. package/dist/katex/fonts/KaTeX_Fraktur-Regular.woff +0 -0
  465. package/dist/katex/fonts/KaTeX_Fraktur-Regular.woff2 +0 -0
  466. package/dist/katex/fonts/KaTeX_Main-Bold.ttf +0 -0
  467. package/dist/katex/fonts/KaTeX_Main-Bold.woff +0 -0
  468. package/dist/katex/fonts/KaTeX_Main-Bold.woff2 +0 -0
  469. package/dist/katex/fonts/KaTeX_Main-BoldItalic.ttf +0 -0
  470. package/dist/katex/fonts/KaTeX_Main-BoldItalic.woff +0 -0
  471. package/dist/katex/fonts/KaTeX_Main-BoldItalic.woff2 +0 -0
  472. package/dist/katex/fonts/KaTeX_Main-Italic.ttf +0 -0
  473. package/dist/katex/fonts/KaTeX_Main-Italic.woff +0 -0
  474. package/dist/katex/fonts/KaTeX_Main-Italic.woff2 +0 -0
  475. package/dist/katex/fonts/KaTeX_Main-Regular.ttf +0 -0
  476. package/dist/katex/fonts/KaTeX_Main-Regular.woff +0 -0
  477. package/dist/katex/fonts/KaTeX_Main-Regular.woff2 +0 -0
  478. package/dist/katex/fonts/KaTeX_Math-BoldItalic.ttf +0 -0
  479. package/dist/katex/fonts/KaTeX_Math-BoldItalic.woff +0 -0
  480. package/dist/katex/fonts/KaTeX_Math-BoldItalic.woff2 +0 -0
  481. package/dist/katex/fonts/KaTeX_Math-Italic.ttf +0 -0
  482. package/dist/katex/fonts/KaTeX_Math-Italic.woff +0 -0
  483. package/dist/katex/fonts/KaTeX_Math-Italic.woff2 +0 -0
  484. package/dist/katex/fonts/KaTeX_SansSerif-Bold.ttf +0 -0
  485. package/dist/katex/fonts/KaTeX_SansSerif-Bold.woff +0 -0
  486. package/dist/katex/fonts/KaTeX_SansSerif-Bold.woff2 +0 -0
  487. package/dist/katex/fonts/KaTeX_SansSerif-Italic.ttf +0 -0
  488. package/dist/katex/fonts/KaTeX_SansSerif-Italic.woff +0 -0
  489. package/dist/katex/fonts/KaTeX_SansSerif-Italic.woff2 +0 -0
  490. package/dist/katex/fonts/KaTeX_SansSerif-Regular.ttf +0 -0
  491. package/dist/katex/fonts/KaTeX_SansSerif-Regular.woff +0 -0
  492. package/dist/katex/fonts/KaTeX_SansSerif-Regular.woff2 +0 -0
  493. package/dist/katex/fonts/KaTeX_Script-Regular.ttf +0 -0
  494. package/dist/katex/fonts/KaTeX_Script-Regular.woff +0 -0
  495. package/dist/katex/fonts/KaTeX_Script-Regular.woff2 +0 -0
  496. package/dist/katex/fonts/KaTeX_Size1-Regular.ttf +0 -0
  497. package/dist/katex/fonts/KaTeX_Size1-Regular.woff +0 -0
  498. package/dist/katex/fonts/KaTeX_Size1-Regular.woff2 +0 -0
  499. package/dist/katex/fonts/KaTeX_Size2-Regular.ttf +0 -0
  500. package/dist/katex/fonts/KaTeX_Size2-Regular.woff +0 -0
  501. package/dist/katex/fonts/KaTeX_Size2-Regular.woff2 +0 -0
  502. package/dist/katex/fonts/KaTeX_Size3-Regular.ttf +0 -0
  503. package/dist/katex/fonts/KaTeX_Size3-Regular.woff +0 -0
  504. package/dist/katex/fonts/KaTeX_Size3-Regular.woff2 +0 -0
  505. package/dist/katex/fonts/KaTeX_Size4-Regular.ttf +0 -0
  506. package/dist/katex/fonts/KaTeX_Size4-Regular.woff +0 -0
  507. package/dist/katex/fonts/KaTeX_Size4-Regular.woff2 +0 -0
  508. package/dist/katex/fonts/KaTeX_Typewriter-Regular.ttf +0 -0
  509. package/dist/katex/fonts/KaTeX_Typewriter-Regular.woff +0 -0
  510. package/dist/katex/fonts/KaTeX_Typewriter-Regular.woff2 +0 -0
  511. package/dist/katex/katex.min.css +1 -0
  512. package/dist/katex/katex.min.js +1 -0
  513. package/dist/markdown/github-markdown.min.css +2 -0
  514. package/dist/mavon-editor.js +24445 -0
  515. package/mavon-editor.d.ts +10 -0
  516. package/package.json +127 -0
  517. package/src/components/md-toolbar-left.vue +489 -0
  518. package/src/components/md-toolbar-right.vue +68 -0
  519. package/src/dev/app.vue +374 -0
  520. package/src/dev/assets/config.js +35 -0
  521. package/src/dev/assets/img/1.png +0 -0
  522. package/src/dev/assets/img/2.png +0 -0
  523. package/src/dev/assets/lang/de/help_de.md +204 -0
  524. package/src/dev/assets/lang/de/words_de.json +54 -0
  525. package/src/dev/assets/lang/en/help_en.md +204 -0
  526. package/src/dev/assets/lang/en/words_en.json +54 -0
  527. package/src/dev/assets/lang/fr/help_fr.md +204 -0
  528. package/src/dev/assets/lang/fr/words_fr.json +55 -0
  529. package/src/dev/assets/lang/pt-BR/help_pt-BR.md +204 -0
  530. package/src/dev/assets/lang/pt-BR/words_pt-BR.json +54 -0
  531. package/src/dev/assets/lang/ru/help_ru.md +202 -0
  532. package/src/dev/assets/lang/ru/words_ru.json +54 -0
  533. package/src/dev/assets/lang/zh-CN/help_zh-CN.md +198 -0
  534. package/src/dev/assets/lang/zh-CN/words_zh-CN.json +54 -0
  535. package/src/dev/assets/lang/zh-TW/help_zh-TW.md +198 -0
  536. package/src/dev/assets/lang/zh-TW/words_zh-TW.json +54 -0
  537. package/src/dev/demo.vue +46 -0
  538. package/src/dev/editor.vue +63 -0
  539. package/src/dev/index.html +12 -0
  540. package/src/dev/index.js +20 -0
  541. package/src/index.js +25 -0
  542. package/src/lib/config.js +79 -0
  543. package/src/lib/core/extra-function.js +538 -0
  544. package/src/lib/core/highlight.js +95 -0
  545. package/src/lib/core/hljs/lang.hljs.css.js +70 -0
  546. package/src/lib/core/hljs/lang.hljs.js +322 -0
  547. package/src/lib/core/keydown-listen.js +359 -0
  548. package/src/lib/core/markdown.js +90 -0
  549. package/src/lib/core/onecolumn-event.js +159 -0
  550. package/src/lib/core/sanitizer.js +31 -0
  551. package/src/lib/core/to-markdown.js +171 -0
  552. package/src/lib/css/markdown.css +783 -0
  553. package/src/lib/css/mavon-editor.styl +297 -0
  554. package/src/lib/css/md.css +27 -0
  555. package/src/lib/css/scroll.styl +15 -0
  556. package/src/lib/font/LICENSE.txt +12 -0
  557. package/src/lib/font/README.txt +75 -0
  558. package/src/lib/font/config.json +196 -0
  559. package/src/lib/font/css/animation.css +85 -0
  560. package/src/lib/font/css/fontello-codes.css +32 -0
  561. package/src/lib/font/css/fontello-embedded.css +85 -0
  562. package/src/lib/font/css/fontello-ie7-codes.css +32 -0
  563. package/src/lib/font/css/fontello-ie7.css +43 -0
  564. package/src/lib/font/css/fontello.css +88 -0
  565. package/src/lib/font/demo.html +353 -0
  566. package/src/lib/font/font/fontello.eot +0 -0
  567. package/src/lib/font/font/fontello.svg +72 -0
  568. package/src/lib/font/font/fontello.ttf +0 -0
  569. package/src/lib/font/font/fontello.woff +0 -0
  570. package/src/lib/font/font/fontello.woff2 +0 -0
  571. package/src/lib/lang/de/help_de.md +204 -0
  572. package/src/lib/lang/de/words_de.json +54 -0
  573. package/src/lib/lang/en/help_en.md +204 -0
  574. package/src/lib/lang/en/words_en.json +54 -0
  575. package/src/lib/lang/fr/help_fr.md +204 -0
  576. package/src/lib/lang/fr/words_fr.json +55 -0
  577. package/src/lib/lang/ja/help_ja.md +205 -0
  578. package/src/lib/lang/ja/words_ja.json +54 -0
  579. package/src/lib/lang/pt-BR/help_pt-BR.md +204 -0
  580. package/src/lib/lang/pt-BR/words_pt-BR.json +54 -0
  581. package/src/lib/lang/ru/help_ru.md +202 -0
  582. package/src/lib/lang/ru/words_ru.json +54 -0
  583. package/src/lib/lang/zh-CN/help_zh-CN.md +203 -0
  584. package/src/lib/lang/zh-CN/words_zh-CN.json +54 -0
  585. package/src/lib/lang/zh-TW/help_zh-TW.md +198 -0
  586. package/src/lib/lang/zh-TW/words_zh-TW.json +54 -0
  587. package/src/lib/mixins/markdown.js +156 -0
  588. package/src/lib/toolbar_left_click.js +197 -0
  589. package/src/lib/toolbar_right_click.js +92 -0
  590. package/src/lib/util.js +52 -0
  591. package/src/mavon-editor.vue +731 -0
@@ -0,0 +1,731 @@
1
+ <template>
2
+ <div :class="[{ 'fullscreen': s_fullScreen, 'shadow': boxShadow }]" class="v-note-wrapper markdown-body" :style="{'box-shadow': boxShadow ? boxShadowStyle : ''}">
3
+ <!--工具栏-->
4
+ <div class="v-note-op" v-show="toolbarsFlag" :style="{'background': toolbarsBackground}">
5
+ <v-md-toolbar-left ref="toolbar_left" :editable="editable" :transition="transition" :d_words="d_words"
6
+ @toolbar_left_click="toolbar_left_click" @toolbar_left_addlink="toolbar_left_addlink" :toolbars="toolbars"
7
+ @imgAdd="$imgAdd" @imgDel="$imgDel" @imgTouch="$imgTouch" :image_filter="imageFilter"
8
+ :class="{'transition': transition}">
9
+ <slot name="left-toolbar-before" slot="left-toolbar-before" />
10
+ <slot name="left-toolbar-after" slot="left-toolbar-after" />
11
+ </v-md-toolbar-left>
12
+ <v-md-toolbar-right ref="toolbar_right" :d_words="d_words" @toolbar_right_click="toolbar_right_click"
13
+ :toolbars="toolbars"
14
+ :s_subfield="s_subfield"
15
+ :s_preview_switch="s_preview_switch" :s_fullScreen="s_fullScreen"
16
+ :s_html_code="s_html_code"
17
+ :s_navigation="s_navigation"
18
+ :class="{'transition': transition}">
19
+ <slot name="right-toolbar-before" slot="right-toolbar-before" />
20
+ <slot name="right-toolbar-after" slot="right-toolbar-after" />
21
+ </v-md-toolbar-right>
22
+ </div>
23
+ <!--编辑展示区域-->
24
+ <div class="v-note-panel">
25
+ <!--编辑区-->
26
+ <div ref="vNoteEdit" @scroll="$v_edit_scroll" class="v-note-edit divarea-wrapper"
27
+ :class="{'scroll-style': s_scrollStyle, 'scroll-style-border-radius': s_scrollStyle && !s_preview_switch && !s_html_code, 'single-edit': !s_preview_switch && !s_html_code, 'single-show': (!s_subfield && s_preview_switch) || (!s_subfield && s_html_code), 'transition': transition}"
28
+ @click="textAreaFocus">
29
+ <div class="content-input-wrapper" :style="{'background-color': editorBackground}">
30
+ <!-- 双栏 -->
31
+ <v-autoTextarea ref="vNoteTextarea" :placeholder="placeholder ? placeholder : d_words.start_editor"
32
+ class="content-input" :fontSize="fontSize"
33
+ lineHeight="1.5" v-model="d_value" fullHeight
34
+ :style="{'background-color': editorBackground}"></v-autoTextarea>
35
+ </div>
36
+ </div>
37
+ <!--展示区-->
38
+ <div :class="{'single-show': (!s_subfield && s_preview_switch) || (!s_subfield && s_html_code)}"
39
+ v-show="s_preview_switch || s_html_code" class="v-note-show">
40
+ <div ref="vShowContent" v-html="d_render" v-show="!s_html_code"
41
+ :class="{'scroll-style': s_scrollStyle, 'scroll-style-border-radius': s_scrollStyle}" class="v-show-content"
42
+ :style="{'background-color': previewBackground}">
43
+ </div>
44
+ <div v-show="s_html_code" :class="{'scroll-style': s_scrollStyle, 'scroll-style-border-radius': s_scrollStyle}" class="v-show-content-html"
45
+ :style="{'background-color': previewBackground}">
46
+ {{d_render}}
47
+ </div>
48
+ </div>
49
+
50
+ <!--标题导航-->
51
+ <transition name="slideTop">
52
+ <div v-show="s_navigation" class="v-note-navigation-wrapper" :class="{'transition': transition}">
53
+ <div class="v-note-navigation-title">
54
+ {{d_words.navigation_title}}<i @click="toolbar_right_click('navigation')"
55
+ class="fa fa-mavon-times v-note-navigation-close"
56
+ aria-hidden="true"></i>
57
+ </div>
58
+ <div ref="navigationContent" class="v-note-navigation-content" :class="{'scroll-style': s_scrollStyle}">
59
+ </div>
60
+ </div>
61
+ </transition>
62
+
63
+ </div>
64
+ <!--帮助文档-->
65
+ <transition name="fade">
66
+ <div ref="help">
67
+ <div @click.self="toolbar_right_click('help')" class="v-note-help-wrapper" v-if="s_help">
68
+ <div class="v-note-help-content markdown-body" :class="{'shadow': boxShadow}">
69
+ <i @click.stop.prevent="toolbar_right_click('help')" class="fa fa-mavon-times"
70
+ aria-hidden="true"></i>
71
+ <div class="scroll-style v-note-help-show" v-html="d_help"></div>
72
+ </div>
73
+ </div>
74
+ </div>
75
+ </transition>
76
+ <!-- 预览图片 -->
77
+ <transition name="fade">
78
+ <div @click="d_preview_imgsrc=null" class="v-note-img-wrapper" v-if="d_preview_imgsrc">
79
+ <img :src="d_preview_imgsrc" alt="none">
80
+ </div>
81
+ </transition>
82
+ <!--阅读模式-->
83
+ <div :class="{'show': s_readmodel}" class="v-note-read-model scroll-style" ref="vReadModel">
84
+ <div ref="vNoteReadContent" class="v-note-read-content" v-html="d_render">
85
+ </div>
86
+ </div>
87
+ </div>
88
+ </template>
89
+
90
+ <script>
91
+ // import tomarkdown from './lib/core/to-markdown.js'
92
+ import {autoTextarea} from 'auto-textarea'
93
+ import {keydownListen} from './lib/core/keydown-listen.js'
94
+ import hljsCss from './lib/core/hljs/lang.hljs.css.js'
95
+ import {
96
+ fullscreenchange,
97
+ /* windowResize, */
98
+ scrollLink,
99
+ insertTextAtCaret,
100
+ getNavigation,
101
+ insertTab,
102
+ unInsertTab,
103
+ insertOl,
104
+ insertUl,
105
+ insertEnter,
106
+ removeLine,
107
+ insertCodeBlock,
108
+ loadLink,
109
+ loadScript,
110
+ ImagePreviewListener
111
+ } from './lib/core/extra-function.js'
112
+ import {stopEvent} from './lib/util.js'
113
+ import {toolbar_left_click, toolbar_left_addlink} from './lib/toolbar_left_click.js'
114
+ import {toolbar_right_click} from './lib/toolbar_right_click.js'
115
+ import {CONFIG} from './lib/config.js'
116
+ import markdown, {initMarkdown} from './lib/mixins/markdown.js'
117
+ import md_toolbar_left from './components/md-toolbar-left.vue'
118
+ import md_toolbar_right from './components/md-toolbar-right.vue'
119
+ import "./lib/font/css/fontello.css"
120
+ import './lib/css/md.css'
121
+
122
+ export default {
123
+ mixins: [markdown],
124
+ props: {
125
+ scrollStyle: { // 是否渲染滚动条样式(webkit)
126
+ type: Boolean,
127
+ default: true
128
+ },
129
+ boxShadow: { // 是否添加阴影
130
+ type: Boolean,
131
+ default: true
132
+ },
133
+ transition: { // 是否开启动画过渡
134
+ type: Boolean,
135
+ default: true
136
+ },
137
+ autofocus: { // 是否自动获取焦点
138
+ type: Boolean,
139
+ default: true
140
+ },
141
+ fontSize: { // 字体大小
142
+ type: String,
143
+ default: '14px'
144
+ },
145
+ toolbarsBackground: { // 工具栏背景色
146
+ type: String,
147
+ default: '#ffffff'
148
+ },
149
+ editorBackground: { // TODO: 编辑栏背景色
150
+ type: String,
151
+ default: '#ffffff'
152
+ },
153
+ previewBackground: { // 预览栏背景色
154
+ type: String,
155
+ default: '#fbfbfb'
156
+ },
157
+ boxShadowStyle: { // 阴影样式
158
+ type: String,
159
+ default: '0 2px 12px 0 rgba(0, 0, 0, 0.1)'
160
+ },
161
+ help: {
162
+ type: String,
163
+ default: null
164
+ },
165
+ value: { // 初始 value
166
+ type: String,
167
+ default: ''
168
+ },
169
+ language: { // 初始语言
170
+ type: String,
171
+ default: 'zh-CN'
172
+ },
173
+ subfield: {
174
+ type: Boolean,
175
+ default: true
176
+ },
177
+ navigation: {
178
+ type: Boolean,
179
+ default: false
180
+ },
181
+ defaultOpen: {
182
+ type: String,
183
+ default: null
184
+ },
185
+ editable: { // 是否开启编辑
186
+ type: Boolean,
187
+ default: true
188
+ },
189
+ toolbarsFlag: { // 是否开启工具栏
190
+ type: Boolean,
191
+ default: true
192
+ },
193
+ toolbars: { // 工具栏
194
+ type: Object,
195
+ default() {
196
+ return CONFIG.toolbars
197
+ }
198
+ },
199
+ html: {// Enable HTML tags in source
200
+ type: Boolean,
201
+ default: true
202
+ },
203
+ xssOptions: { // XSS 选项
204
+ type: [Object, Boolean],
205
+ default() {
206
+ return {}
207
+ }
208
+ },
209
+ codeStyle: { // <code></code> 样式
210
+ type: String,
211
+ default() {
212
+ return 'github';
213
+ }
214
+ },
215
+ placeholder: { // 编辑器默认内容
216
+ type: String,
217
+ default: null
218
+ },
219
+ ishljs: {
220
+ type: Boolean,
221
+ default: true
222
+ },
223
+ externalLink: {
224
+ type: [Object, Boolean],
225
+ default: true
226
+ },
227
+ imageFilter: {
228
+ type: Function,
229
+ default: null
230
+ },
231
+ imageClick: {
232
+ type: Function,
233
+ default: null
234
+ },
235
+ tabSize: {
236
+ type: Number,
237
+ default: 0
238
+ },
239
+ shortCut:{
240
+ type: Boolean,
241
+ default: true
242
+ }
243
+ },
244
+ data() {
245
+ return {
246
+ s_right_click_menu_show: false,
247
+ right_click_menu_top: 0,
248
+ right_click_menu_left: 0,
249
+ s_subfield: (() => {
250
+ return this.subfield;
251
+ })(),
252
+ s_autofocus: true,
253
+ // 标题导航
254
+ s_navigation: (() => {
255
+ return this.navigation;
256
+ })(),
257
+ s_scrollStyle: (() => {
258
+ return this.scrollStyle
259
+ })(),// props 是否渲染滚动条样式
260
+ d_value: '',// props 文本内容
261
+ d_render: '',// props 文本内容render
262
+ s_preview_switch: (() => {
263
+ let default_open_ = this.defaultOpen;
264
+ if (!default_open_) {
265
+ default_open_ = this.subfield ? 'preview' : 'edit';
266
+ }
267
+ return default_open_ === 'preview' ? true : false;
268
+ })(), // props true 展示编辑 false展示预览
269
+ s_fullScreen: false,// 全屏编辑标志
270
+ s_help: false,// markdown帮助
271
+ s_html_code: false,// 分栏情况下查看html
272
+ d_help: null,
273
+ d_words: null,
274
+ edit_scroll_height: -1,
275
+ s_readmodel: false,
276
+ s_table_enter: false, // 回车事件是否在表格中执行
277
+ d_history: (() => {
278
+ let temp_array = []
279
+ temp_array.push(this.value)
280
+ return temp_array;
281
+ })(), // 编辑记录
282
+ d_history_index: 0, // 编辑记录索引
283
+ currentTimeout: '',
284
+ d_image_file: [],
285
+ d_preview_imgsrc: null, // 图片预览地址
286
+ s_external_link: {
287
+ markdown_css: function() {
288
+ return 'https://cdnjs.cloudflare.com/ajax/libs/github-markdown-css/2.9.0/github-markdown.min.css';
289
+ },
290
+ hljs_js: function() {
291
+ return 'https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.3.1/highlight.min.js';
292
+ },
293
+ hljs_lang: function(lang) {
294
+ return 'https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.3.1/languages/' + lang + '.min.js';
295
+ },
296
+ hljs_css: function(css) {
297
+ if (hljsCss[css]) {
298
+ return 'https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.3.1/styles/' + css + '.min.css';
299
+ }
300
+ return '';
301
+ },
302
+ katex_js: function() {
303
+ return 'https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.8.3/katex.min.js';
304
+ },
305
+ katex_css: function() {
306
+ return 'https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.8.3/katex.min.css';
307
+ }
308
+ },
309
+ p_external_link: {},
310
+ textarea_selectionEnd: 0,
311
+ textarea_selectionEnds: [0],
312
+ _xssHandler: null
313
+ };
314
+ },
315
+ created() {
316
+ var $vm = this;
317
+ // 初始化语言
318
+ this.initLanguage();
319
+ this.initExternalFuc();
320
+ this.$nextTick(() => {
321
+ // 初始化Textarea编辑开关
322
+ $vm.editableTextarea();
323
+ })
324
+ },
325
+ mounted() {
326
+ var $vm = this;
327
+ this.$el.addEventListener('paste', function (e) {
328
+ $vm.$paste(e);
329
+ })
330
+ this.$el.addEventListener('drop', function (e) {
331
+ $vm.$drag(e);
332
+ })
333
+ // 浏览器siz大小
334
+ /* windowResize(this); */
335
+ keydownListen(this);
336
+ // 图片预览事件监听
337
+ ImagePreviewListener(this);
338
+ // 设置默认焦点
339
+ if (this.autofocus) {
340
+ this.getTextareaDom().focus();
341
+ }
342
+ // fullscreen事件
343
+ fullscreenchange(this);
344
+ this.d_value = this.value || "";
345
+ // 将help添加到末尾
346
+ document.body.appendChild(this.$refs.help);
347
+ this.loadExternalLink('markdown_css', 'css');
348
+ this.loadExternalLink('katex_css', 'css')
349
+ this.loadExternalLink('katex_js', 'js', function() {
350
+ $vm.iRender(true);
351
+ })
352
+ this.loadExternalLink('hljs_js', 'js', function() {
353
+ $vm.iRender(true);
354
+ })
355
+
356
+ $vm.codeStyleChange($vm.codeStyle, true)
357
+ },
358
+ beforeDestroy() {
359
+ document.body.removeChild(this.$refs.help);
360
+ },
361
+ getMarkdownIt() {
362
+ let mdIt = this.mixins[0].data().markdownIt;
363
+ if (!mdIt) {
364
+ mdIt = initMarkdown();
365
+ }
366
+ return mdIt
367
+ },
368
+ methods: {
369
+ loadExternalLink(name, type, callback) {
370
+ if (typeof this.p_external_link[name] !== 'function') {
371
+ if (this.p_external_link[name] !== false) {
372
+ console.error('external_link.' + name, 'is not a function, if you want to disabled this error log, set external_link.' + name, 'to function or false');
373
+ }
374
+ return;
375
+ }
376
+ var _obj = {
377
+ 'css': loadLink,
378
+ 'js': loadScript
379
+ };
380
+ if (_obj.hasOwnProperty(type)) {
381
+ _obj[type](this.p_external_link[name](), callback);
382
+ }
383
+ },
384
+ initExternalFuc() {
385
+ var $vm = this;
386
+ var _external_ = ['markdown_css', 'hljs_js', 'hljs_css', 'hljs_lang', 'katex_js', 'katex_css'];
387
+ var _type_ = typeof $vm.externalLink;
388
+ var _is_object = (_type_ === 'object');
389
+ var _is_boolean = (_type_ === 'boolean');
390
+ for (var i = 0; i < _external_.length; i++) {
391
+ if ((_is_boolean && !$vm.externalLink) || (_is_object && $vm.externalLink[_external_[i]] === false)) {
392
+ $vm.p_external_link[_external_[i]] = false;
393
+ } else if (_is_object && typeof $vm.externalLink[_external_[i]] === 'function') {
394
+ $vm.p_external_link[_external_[i]] = $vm.externalLink[_external_[i]];
395
+ } else {
396
+ $vm.p_external_link[_external_[i]] = $vm.s_external_link[_external_[i]];
397
+ }
398
+ }
399
+ },
400
+ textAreaFocus() {
401
+ this.$refs.vNoteTextarea.$refs.vTextarea.focus();
402
+ },
403
+ $drag($e) {
404
+ var dataTransfer = $e.dataTransfer;
405
+ if (dataTransfer) {
406
+ var files = dataTransfer.files;
407
+ if (files.length > 0) {
408
+ $e.preventDefault();
409
+ this.$refs.toolbar_left.$imgFilesAdd(files);
410
+ }
411
+ }
412
+ },
413
+ $paste($e) {
414
+ var clipboardData = $e.clipboardData;
415
+ if (clipboardData) {
416
+ var items = clipboardData.items;
417
+ if (!items) return;
418
+ var types = clipboardData.types || [];
419
+ var item = null;
420
+ for (var i = 0; i < types.length; i++) {
421
+ if (types[i] === 'Files') {
422
+ item = items[i];
423
+ break;
424
+ }
425
+ }
426
+ if (item && item.kind === 'file') {
427
+ // prevent filename being pasted parallel along
428
+ // with the image pasting process
429
+ stopEvent($e)
430
+ var oFile = item.getAsFile();
431
+ this.$refs.toolbar_left.$imgFilesAdd([oFile]);
432
+ }
433
+ }
434
+ },
435
+ $imgTouch(file) {
436
+ var $vm = this;
437
+ // TODO 跳转到图片位置
438
+ },
439
+ $imgDel(file) {
440
+ this.markdownIt.image_del(file[1]);
441
+ // 删除所有markdown中的图片
442
+ let fileReg = file[0]
443
+ let reg = new RegExp(`\\!\\[${file[1]._name}\\]\\(${fileReg}\\)`, "g")
444
+
445
+ this.d_value = this.d_value.replace(reg, '');
446
+ this.iRender();
447
+ this.$emit('imgDel', file);
448
+ },
449
+ $imgAdd(pos, $file, isinsert) {
450
+ if (isinsert === undefined) isinsert = true;
451
+ var $vm = this;
452
+ if (this.__rFilter == null) {
453
+ // this.__rFilter = /^(?:image\/bmp|image\/cis\-cod|image\/gif|image\/ief|image\/jpeg|image\/jpeg|image\/jpeg|image\/pipeg|image\/png|image\/svg\+xml|image\/tiff|image\/x\-cmu\-raster|image\/x\-cmx|image\/x\-icon|image\/x\-portable\-anymap|image\/x\-portable\-bitmap|image\/x\-portable\-graymap|image\/x\-portable\-pixmap|image\/x\-rgb|image\/x\-xbitmap|image\/x\-xpixmap|image\/x\-xwindowdump)$/i;
454
+ this.__rFilter = /^image\//i;
455
+ }
456
+ this.__oFReader = new FileReader();
457
+ this.__oFReader.onload = function (oFREvent) {
458
+ $vm.markdownIt.image_add(pos, oFREvent.target.result);
459
+ $file.miniurl = oFREvent.target.result;
460
+ if (isinsert === true) {
461
+ // 去除特殊字符
462
+ $file._name = $file.name.replace(/[\[\]\(\)\+\{\}&\|\\\*^%$#@\-]/g, '');
463
+
464
+ $vm.insertText($vm.getTextareaDom(),
465
+ {
466
+ prefix: '![' + $file._name + '](' + pos + ')',
467
+ subfix: '',
468
+ str: ''
469
+ });
470
+ $vm.$nextTick(function () {
471
+ $vm.$emit('imgAdd', pos, $file);
472
+ })
473
+ }
474
+ }
475
+ if ($file) {
476
+ var oFile = $file;
477
+ if (this.__rFilter.test(oFile.type)) {
478
+ this.__oFReader.readAsDataURL(oFile);
479
+ }
480
+ }
481
+ },
482
+ $imgUpdateByUrl(pos, url) {
483
+ var $vm = this;
484
+ this.markdownIt.image_add(pos, url);
485
+ this.$nextTick(function () {
486
+ $vm.d_render = this.markdownIt.render(this.d_value);
487
+ })
488
+ },
489
+ $imgAddByUrl(pos, url) {
490
+ if (this.$refs.toolbar_left.$imgAddByUrl(pos, url)) {
491
+ this.$imgUpdateByUrl(pos, url);
492
+ return true;
493
+ }
494
+ return false;
495
+ },
496
+ $img2Url(fileIndex, url) {
497
+ // x.replace(/(\[[^\[]*?\](?=\())\(\s*(\.\/2)\s*\)/g, "$1(http://path/to/png.png)")
498
+ var reg_str = "/(!\\[\[^\\[\]*?\\]\(?=\\(\)\)\\(\\s*\(" + fileIndex + "\)\\s*\\)/g"
499
+ var reg = eval(reg_str);
500
+ this.d_value = this.d_value.replace(reg, "$1(" + url + ")")
501
+ this.$refs.toolbar_left.$changeUrl(fileIndex, url)
502
+ this.iRender()
503
+ },
504
+ $imglst2Url(imglst) {
505
+ if (imglst instanceof Array) {
506
+ for (var i = 0; i < imglst.length; i++) {
507
+ this.$img2Url(imglst[i][0], imglst[i][1]);
508
+ }
509
+ }
510
+ },
511
+ toolbar_left_click(_type) {
512
+ toolbar_left_click(_type, this);
513
+ },
514
+ toolbar_left_addlink(_type, text, link) {
515
+ toolbar_left_addlink(_type, text, link, this);
516
+ },
517
+ toolbar_right_click(_type) {
518
+ toolbar_right_click(_type, this);
519
+ },
520
+ getNavigation($vm, full) {
521
+ return getNavigation($vm, full);
522
+ },
523
+ // @event
524
+ // 修改数据触发 (val , val_render)
525
+ change(val, render) {
526
+ this.$emit('change', val, render)
527
+ },
528
+ // 切换全屏触发 (status , val)
529
+ fullscreen(status, val) {
530
+ this.$emit('fullScreen', status, val)
531
+ },
532
+ // 打开阅读模式触发(status , val)
533
+ readmodel(status, val) {
534
+ this.$emit('readModel', status, val)
535
+ },
536
+ // 切换阅读编辑触发 (status , val)
537
+ previewtoggle(status, val) {
538
+ this.$emit('previewToggle', status, val)
539
+ },
540
+ // 切换分栏触发 (status , val)
541
+ subfieldtoggle(status, val) {
542
+ this.$emit('subfieldToggle', status, val)
543
+ },
544
+ // 切换htmlcode触发 (status , val)
545
+ htmlcode(status, val) {
546
+ this.$emit('htmlCode', status, val)
547
+ },
548
+ // 打开 , 关闭 help触发 (status , val)
549
+ helptoggle(status, val) {
550
+ this.$emit('helpToggle', status, val)
551
+ },
552
+ // 监听ctrl + s
553
+ save(val, render) {
554
+ this.$emit('save', val, render)
555
+ },
556
+ // 导航栏切换
557
+ navigationtoggle(status, val) {
558
+ this.$emit('navigationToggle', status, val)
559
+ },
560
+ $toolbar_right_read_change_status() {
561
+ this.s_readmodel = !this.s_readmodel
562
+ if (this.readmodel) {
563
+ this.readmodel(this.s_readmodel, this.d_value)
564
+ }
565
+ if (this.s_readmodel && this.toolbars.navigation) {
566
+ this.getNavigation(this, true)
567
+ }
568
+ },
569
+ // ---------------------------------------
570
+ // 滚动条联动
571
+ $v_edit_scroll($event) {
572
+ scrollLink($event, this);
573
+ },
574
+ // 获取textarea dom节点
575
+ getTextareaDom() {
576
+ return this.$refs.vNoteTextarea.$refs.vTextarea;
577
+ },
578
+ // 工具栏插入内容
579
+ insertText(obj, {prefix, subfix, str, type}) {
580
+ // if (this.s_preview_switch) {
581
+
582
+ insertTextAtCaret(obj, {prefix, subfix, str, type}, this);
583
+ },
584
+ insertTab() {
585
+ insertTab(this, this.tabSize)
586
+ },
587
+ insertOl() {
588
+ insertOl(this)
589
+ },
590
+ removeLine() {
591
+ removeLine(this)
592
+ },
593
+ insertUl() {
594
+ insertUl(this)
595
+ },
596
+ unInsertTab() {
597
+ unInsertTab(this, this.tabSize)
598
+ },
599
+ insertCodeBlock() {
600
+ insertCodeBlock(this);
601
+ },
602
+ insertEnter(event) {
603
+ insertEnter(this, event)
604
+ },
605
+ saveHistory() {
606
+ this.d_history.splice(this.d_history_index + 1, this.d_history.length)
607
+ this.d_history.push(this.d_value)
608
+ this.textarea_selectionEnds.splice(this.d_history_index + 1, this.textarea_selectionEnds.length)
609
+ this.textarea_selectionEnds.push(this.textarea_selectionEnd)
610
+ this.d_history_index = this.d_history.length - 1
611
+ },
612
+ saveSelectionEndsHistory() {
613
+ const textarea = this.$refs.vNoteTextarea && this.$refs.vNoteTextarea.$el.querySelector('textarea');
614
+ this.textarea_selectionEnd = textarea ? textarea.selectionEnd : this.textarea_selectionEnd;
615
+ },
616
+ initLanguage() {
617
+ let lang = CONFIG.langList.indexOf(this.language) >= 0 ? this.language : 'zh-CN';
618
+ var $vm = this;
619
+ $vm.$render(CONFIG[`help_${lang}`], function(res) {
620
+ $vm.d_help = res;
621
+ })
622
+ this.d_words = CONFIG[`words_${lang}`];
623
+ },
624
+ // 编辑开关
625
+ editableTextarea() {
626
+ let text_dom = this.$refs.vNoteTextarea.$refs.vTextarea;
627
+ if (this.editable) {
628
+ text_dom.removeAttribute('disabled');
629
+ } else {
630
+ text_dom.setAttribute('disabled', 'disabled');
631
+ }
632
+ },
633
+ codeStyleChange(val, isInit) {
634
+ isInit = isInit ? isInit : false;
635
+ if (typeof this.p_external_link.hljs_css !== 'function') {
636
+ if (this.p_external_link.hljs_css !== false)
637
+ { console.error('external_link.hljs_css is not a function, if you want to disabled this error log, set external_link.hljs_css to function or false'); }
638
+ return;
639
+ }
640
+ var url = this.p_external_link.hljs_css(val);
641
+ if (url.length === 0 && isInit) {
642
+ console.warn('hljs color scheme', val, 'do not exist, loading default github');
643
+ url = this.p_external_link.hljs_css('github')
644
+ }
645
+ if (url.length > 0) {
646
+ loadLink(url,null,"md-code-style");
647
+ } else {
648
+ console.warn('hljs color scheme', val, 'do not exist, hljs color scheme will not change');
649
+ }
650
+ },
651
+ iRender(toggleChange) {
652
+ var $vm = this;
653
+ this.$render($vm.d_value, function(res) {
654
+ $vm.d_render = res;
655
+ // change回调 toggleChange == false 时候触发change回调
656
+ if (!toggleChange)
657
+ {
658
+ if ($vm.change) $vm.change($vm.d_value, $vm.d_render);
659
+ }
660
+ // 改变标题导航
661
+ if ($vm.s_navigation) getNavigation($vm, false);
662
+ // v-model 语法糖
663
+ $vm.$emit('input', $vm.d_value)
664
+ // 塞入编辑记录数组
665
+ if ($vm.d_value === $vm.d_history[$vm.d_history_index]) return
666
+ window.clearTimeout($vm.currentTimeout)
667
+ $vm.currentTimeout = setTimeout(() => {
668
+ $vm.saveHistory();
669
+ }, 500);
670
+ })
671
+ },
672
+ // 清空上一步 下一步缓存
673
+ $emptyHistory() {
674
+ this.d_history = [this.d_value] // 编辑记录
675
+ this.d_history_index = 0 // 编辑记录索引
676
+ }
677
+ },
678
+ watch: {
679
+ d_value: function (val, oldVal) {
680
+ this.saveSelectionEndsHistory();
681
+ this.iRender();
682
+ },
683
+ value: function (val, oldVal) {
684
+ if (val !== this.d_value) {
685
+ this.d_value = val
686
+ }
687
+ },
688
+ subfield: function (val, oldVal) {
689
+ this.s_subfield = val
690
+ },
691
+ d_history_index() {
692
+ if (this.d_history_index > 20) {
693
+ this.d_history.shift()
694
+ this.d_history_index = this.d_history_index - 1
695
+ }
696
+ this.d_value = this.d_history[this.d_history_index]
697
+ },
698
+ language: function (val) {
699
+ this.initLanguage();
700
+ },
701
+ editable: function () {
702
+ this.editableTextarea();
703
+ },
704
+ defaultOpen: function (val) {
705
+ let default_open_ = val;
706
+ if (!default_open_) {
707
+ default_open_ = this.subfield ? 'preview' : 'edit';
708
+ }
709
+ this.s_preview_switch = default_open_ === 'preview' ? true : false;
710
+ return this.s_preview_switch;
711
+ },
712
+ codeStyle: function (val) {
713
+ this.codeStyleChange(val)
714
+ }
715
+ },
716
+ components: {
717
+ 'v-autoTextarea': autoTextarea,
718
+ 'v-md-toolbar-left': md_toolbar_left,
719
+ 'v-md-toolbar-right': md_toolbar_right
720
+ }
721
+ };
722
+ </script>
723
+ <style lang="stylus" rel="stylesheet/stylus">
724
+ @import "lib/css/scroll.styl"
725
+ @import "lib/css/mavon-editor.styl"
726
+ </style>
727
+ <style lang="css" scoped>
728
+ .auto-textarea-wrapper {
729
+ height: 100%;
730
+ }
731
+ </style>