index.js 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. import Vditor from '../src/index'
  2. import '../src/assets/scss/index.scss'
  3. // new VConsole()
  4. let toolbar
  5. if (window.innerWidth < 768) {
  6. toolbar = [
  7. 'emoji',
  8. 'headings',
  9. 'bold',
  10. 'italic',
  11. 'strike',
  12. 'link',
  13. '|',
  14. 'list',
  15. 'ordered-list',
  16. 'check',
  17. 'outdent',
  18. 'indent',
  19. '|',
  20. 'quote',
  21. 'line',
  22. 'code',
  23. 'inline-code',
  24. 'insert-before',
  25. 'insert-after',
  26. '|',
  27. 'upload',
  28. 'record',
  29. 'table',
  30. '|',
  31. 'undo',
  32. 'redo',
  33. '|',
  34. 'edit-mode',
  35. 'content-theme',
  36. 'code-theme',
  37. 'export',
  38. {
  39. name: 'more',
  40. toolbar: [
  41. 'fullscreen',
  42. 'both',
  43. 'format',
  44. 'preview',
  45. 'info',
  46. 'help',
  47. ],
  48. }]
  49. }
  50. window.vditor = new Vditor('vditor', {
  51. toolbar,
  52. mode: 'sv',
  53. height: window.innerHeight + 100,
  54. outline: true,
  55. debugger: true,
  56. typewriterMode: true,
  57. placeholder: 'Hello, Vditor!',
  58. preview: {
  59. markdown: {
  60. toc: true,
  61. },
  62. },
  63. toolbarConfig: {
  64. pin: true,
  65. },
  66. counter: {
  67. enable: true,
  68. type: 'text',
  69. },
  70. hint: {
  71. emojiPath: 'https://cdn.jsdelivr.net/npm/[email protected]/dist/images/emoji',
  72. emojiTail: '<a href="https://hacpai.com/settings/function" target="_blank">设置常用表情</a>',
  73. emoji: {
  74. 'sd': '💔',
  75. 'j': 'https://unpkg.com/[email protected]/dist/images/emoji/j.png',
  76. },
  77. at: (key) => {
  78. return [
  79. {
  80. value: '@Vanessa',
  81. html: '<img src="https://avatars0.githubusercontent.com/u/970828?s=60&v=4"/> Vanessa',
  82. }]
  83. },
  84. },
  85. tab: '\t',
  86. upload: {
  87. accept: 'image/*,.mp3, .wav, .rar',
  88. token: 'test',
  89. url: '/api/upload/editor',
  90. linkToImgUrl: '/api/upload/fetch',
  91. filename (name) {
  92. return name.replace(/[^(a-zA-Z0-9\u4e00-\u9fa5\.)]/g, '').
  93. replace(/[\?\\/:|<>\*\[\]\(\)\$%\{\}@~]/g, '').
  94. replace('/\\s/g', '')
  95. },
  96. },
  97. })