diff --git a/package.json b/package.json
index 39222ca..f07a39c 100644
--- a/package.json
+++ b/package.json
@@ -11,18 +11,29 @@
"dependencies": {
"@milkdown/core": "^7.1.0",
"@milkdown/ctx": "^7.1.0",
+ "@milkdown/plugin-block": "^7.1.0",
+ "@milkdown/plugin-clipboard": "^7.1.0",
+ "@milkdown/plugin-cursor": "^7.1.0",
+ "@milkdown/plugin-history": "^7.1.0",
+ "@milkdown/plugin-math": "^7.1.0",
+ "@milkdown/plugin-slash": "^7.1.0",
+ "@milkdown/plugin-tooltip": "^7.1.0",
"@milkdown/preset-commonmark": "^7.1.0",
"@milkdown/prose": "^7.1.0",
"@milkdown/theme-nord": "^7.1.0",
"@milkdown/transformer": "^7.1.0",
+ "@milkdown/utils": "^7.1.0",
"@milkdown/vue": "^7.1.0",
+ "@prosemirror-adapter/vue": "^0.2.2",
"masto": "^5.10.0",
"vue": "^3.2.45"
},
"devDependencies": {
"@antfu/eslint-config": "^0.35.2",
+ "@tailwindcss/typography": "^0.5.9",
"@vitejs/plugin-vue": "^4.0.0",
"eslint": "^8.34.0",
+ "tailwindcss": "^3.2.7",
"typescript": "^4.9.5",
"vite": "^4.1.0",
"vue-tsc": "^1.0.24"
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 50385c7..4540aea 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -4,14 +4,25 @@ specifiers:
'@antfu/eslint-config': ^0.35.2
'@milkdown/core': ^7.1.0
'@milkdown/ctx': ^7.1.0
+ '@milkdown/plugin-block': ^7.1.0
+ '@milkdown/plugin-clipboard': ^7.1.0
+ '@milkdown/plugin-cursor': ^7.1.0
+ '@milkdown/plugin-history': ^7.1.0
+ '@milkdown/plugin-math': ^7.1.0
+ '@milkdown/plugin-slash': ^7.1.0
+ '@milkdown/plugin-tooltip': ^7.1.0
'@milkdown/preset-commonmark': ^7.1.0
'@milkdown/prose': ^7.1.0
'@milkdown/theme-nord': ^7.1.0
'@milkdown/transformer': ^7.1.0
+ '@milkdown/utils': ^7.1.0
'@milkdown/vue': ^7.1.0
+ '@prosemirror-adapter/vue': ^0.2.2
+ '@tailwindcss/typography': ^0.5.9
'@vitejs/plugin-vue': ^4.0.0
eslint: ^8.34.0
masto: ^5.10.0
+ tailwindcss: ^3.2.7
typescript: ^4.9.5
vite: ^4.1.0
vue: ^3.2.45
@@ -20,18 +31,29 @@ specifiers:
dependencies:
'@milkdown/core': 7.1.0_c3r5dnopq2fkbj274fowd6pqe4
'@milkdown/ctx': 7.1.0
+ '@milkdown/plugin-block': 7.1.0_732s7te4rg2orop6g3xf7k4a4q
+ '@milkdown/plugin-clipboard': 7.1.0_732s7te4rg2orop6g3xf7k4a4q
+ '@milkdown/plugin-cursor': 7.1.0_732s7te4rg2orop6g3xf7k4a4q
+ '@milkdown/plugin-history': 7.1.0_732s7te4rg2orop6g3xf7k4a4q
+ '@milkdown/plugin-math': 7.1.0_732s7te4rg2orop6g3xf7k4a4q
+ '@milkdown/plugin-slash': 7.1.0_732s7te4rg2orop6g3xf7k4a4q
+ '@milkdown/plugin-tooltip': 7.1.0_732s7te4rg2orop6g3xf7k4a4q
'@milkdown/preset-commonmark': 7.1.0_732s7te4rg2orop6g3xf7k4a4q
'@milkdown/prose': 7.1.0
'@milkdown/theme-nord': 7.1.0_fnri332nzjq6erd5dndce6khhq
'@milkdown/transformer': 7.1.0_@milkdown+prose@7.1.0
+ '@milkdown/utils': 7.1.0_732s7te4rg2orop6g3xf7k4a4q
'@milkdown/vue': 7.1.0_vjwzzj24pyznhku3il4y3ra27i
+ '@prosemirror-adapter/vue': 0.2.2_vue@3.2.47
masto: 5.10.0
vue: 3.2.47
devDependencies:
'@antfu/eslint-config': 0.35.2_7kw3g6rralp5ps6mg3uyzz6azm
+ '@tailwindcss/typography': 0.5.9_tailwindcss@3.2.7
'@vitejs/plugin-vue': 4.0.0_vite@4.1.3+vue@3.2.47
eslint: 8.34.0
+ tailwindcss: 3.2.7
typescript: 4.9.5
vite: 4.1.3
vue-tsc: 1.1.5_typescript@4.9.5
@@ -462,6 +484,134 @@ packages:
tslib: 2.5.0
dev: false
+ /@milkdown/plugin-block/7.1.0_732s7te4rg2orop6g3xf7k4a4q:
+ resolution: {integrity: sha512-tNzjpxYbV6kQm+FfEFRg7mq6bkAE6sYao00p6ImMvJVJdiw32TB/36DKnuRlImL2db4MU7juVGi1Tnekblm8Qw==}
+ peerDependencies:
+ '@milkdown/core': ^7.0.0-next.0
+ '@milkdown/ctx': ^7.0.0-next.0
+ '@milkdown/prose': ^7.0.0-next.0
+ dependencies:
+ '@milkdown/core': 7.1.0_c3r5dnopq2fkbj274fowd6pqe4
+ '@milkdown/ctx': 7.1.0
+ '@milkdown/exception': 7.1.0
+ '@milkdown/prose': 7.1.0
+ '@milkdown/utils': 7.1.0_732s7te4rg2orop6g3xf7k4a4q
+ '@types/lodash.debounce': 4.0.7
+ lodash.debounce: 4.0.8
+ tippy.js: 6.3.7
+ tslib: 2.5.0
+ transitivePeerDependencies:
+ - '@milkdown/transformer'
+ dev: false
+
+ /@milkdown/plugin-clipboard/7.1.0_732s7te4rg2orop6g3xf7k4a4q:
+ resolution: {integrity: sha512-ipUofAkPa9/JYTyZw7XEffUX4uZ5/Sl0hCgGPo/iKG77lYw2BZLFrROqpXI2vRoaxeF8wPgspPm8+vKffVj2/w==}
+ peerDependencies:
+ '@milkdown/core': ^7.0.0-next.0
+ '@milkdown/prose': ^7.0.0-next.0
+ dependencies:
+ '@milkdown/core': 7.1.0_c3r5dnopq2fkbj274fowd6pqe4
+ '@milkdown/prose': 7.1.0
+ '@milkdown/utils': 7.1.0_732s7te4rg2orop6g3xf7k4a4q
+ tslib: 2.5.0
+ transitivePeerDependencies:
+ - '@milkdown/ctx'
+ - '@milkdown/transformer'
+ dev: false
+
+ /@milkdown/plugin-cursor/7.1.0_732s7te4rg2orop6g3xf7k4a4q:
+ resolution: {integrity: sha512-/Nmc7gls2+MFJtSanJl/VWHHnnwrGQ8opd4ZDNPE8ll2gpS2Kh59UCXeErGEtqvNMI/RHtHGU4FopDdcLvYsfQ==}
+ peerDependencies:
+ '@milkdown/core': ^7.0.0-next.0
+ '@milkdown/ctx': ^7.0.0-next.0
+ '@milkdown/prose': ^7.0.0-next.0
+ dependencies:
+ '@milkdown/core': 7.1.0_c3r5dnopq2fkbj274fowd6pqe4
+ '@milkdown/ctx': 7.1.0
+ '@milkdown/prose': 7.1.0
+ '@milkdown/utils': 7.1.0_732s7te4rg2orop6g3xf7k4a4q
+ tslib: 2.5.0
+ transitivePeerDependencies:
+ - '@milkdown/transformer'
+ dev: false
+
+ /@milkdown/plugin-history/7.1.0_732s7te4rg2orop6g3xf7k4a4q:
+ resolution: {integrity: sha512-IMMRk7lG2yfLzf/9Ni1m+GLJyo1L4lZRbOgzvjhasY0zZQf+AI/jBHnLIqWH6jtOo5c5oZt/DF5EqObucuXmdA==}
+ peerDependencies:
+ '@milkdown/core': ^7.0.0-next.0
+ '@milkdown/ctx': ^7.0.0-next.0
+ '@milkdown/prose': ^7.0.0-next.0
+ dependencies:
+ '@milkdown/core': 7.1.0_c3r5dnopq2fkbj274fowd6pqe4
+ '@milkdown/ctx': 7.1.0
+ '@milkdown/prose': 7.1.0
+ '@milkdown/utils': 7.1.0_732s7te4rg2orop6g3xf7k4a4q
+ tslib: 2.5.0
+ transitivePeerDependencies:
+ - '@milkdown/transformer'
+ dev: false
+
+ /@milkdown/plugin-math/7.1.0_732s7te4rg2orop6g3xf7k4a4q:
+ resolution: {integrity: sha512-eYgjGreYgbqf6O6e/BoBD5jbYP/EmUwIWpeRLBurEPjFPPdtROYoUu++iDzkZto9bc4SKsY7nqcfQHfWtQZlUQ==}
+ peerDependencies:
+ '@milkdown/core': ^7.0.0-next.0
+ '@milkdown/ctx': ^7.0.0-next.0
+ '@milkdown/prose': ^7.0.0-next.0
+ dependencies:
+ '@milkdown/core': 7.1.0_c3r5dnopq2fkbj274fowd6pqe4
+ '@milkdown/ctx': 7.1.0
+ '@milkdown/exception': 7.1.0
+ '@milkdown/prose': 7.1.0
+ '@milkdown/utils': 7.1.0_732s7te4rg2orop6g3xf7k4a4q
+ '@types/katex': 0.16.0
+ katex: 0.16.4
+ remark-math: 5.1.1
+ tslib: 2.5.0
+ transitivePeerDependencies:
+ - '@milkdown/transformer'
+ dev: false
+
+ /@milkdown/plugin-slash/7.1.0_732s7te4rg2orop6g3xf7k4a4q:
+ resolution: {integrity: sha512-XTeHJv95gb/1Uj0nD90O/npkSlu1qoy8VxlTP1W+oXuGLRT5nX4LD+EG+bLL4oAL8Flp9DxQI/YR2b5CHbUTDQ==}
+ peerDependencies:
+ '@milkdown/core': ^7.0.0-next.0
+ '@milkdown/ctx': ^7.0.0-next.0
+ '@milkdown/prose': ^7.0.0-next.0
+ dependencies:
+ '@milkdown/core': 7.1.0_c3r5dnopq2fkbj274fowd6pqe4
+ '@milkdown/ctx': 7.1.0
+ '@milkdown/exception': 7.1.0
+ '@milkdown/prose': 7.1.0
+ '@milkdown/utils': 7.1.0_732s7te4rg2orop6g3xf7k4a4q
+ '@types/lodash.debounce': 4.0.7
+ lodash.debounce: 4.0.8
+ smooth-scroll-into-view-if-needed: 1.1.33
+ tippy.js: 6.3.7
+ tslib: 2.5.0
+ transitivePeerDependencies:
+ - '@milkdown/transformer'
+ dev: false
+
+ /@milkdown/plugin-tooltip/7.1.0_732s7te4rg2orop6g3xf7k4a4q:
+ resolution: {integrity: sha512-xal3MH/vYKz4H21ACA8a6FhB0t56g7jckB7ljoZkivSiZk76ZC7VMYS0SJiqP3Vl/DFdNf5mZum4/3EF6VQ+Qg==}
+ peerDependencies:
+ '@milkdown/core': ^7.0.0-next.0
+ '@milkdown/ctx': ^7.0.0-next.0
+ '@milkdown/prose': ^7.0.0-next.0
+ dependencies:
+ '@milkdown/core': 7.1.0_c3r5dnopq2fkbj274fowd6pqe4
+ '@milkdown/ctx': 7.1.0
+ '@milkdown/exception': 7.1.0
+ '@milkdown/prose': 7.1.0
+ '@milkdown/utils': 7.1.0_732s7te4rg2orop6g3xf7k4a4q
+ '@types/lodash.debounce': 4.0.7
+ lodash.debounce: 4.0.8
+ tippy.js: 6.3.7
+ tslib: 2.5.0
+ transitivePeerDependencies:
+ - '@milkdown/transformer'
+ dev: false
+
/@milkdown/preset-commonmark/7.1.0_732s7te4rg2orop6g3xf7k4a4q:
resolution: {integrity: sha512-suRAZMINRXtpYVrhIJGI4jsSQFVa4P47MB66LqT1y/aLg34jsg5rW/RqbBvjj4TctVtRcCbWwGL+xYr97/lsZQ==}
peerDependencies:
@@ -588,6 +738,39 @@ packages:
fastq: 1.15.0
dev: true
+ /@popperjs/core/2.11.6:
+ resolution: {integrity: sha512-50/17A98tWUfQ176raKiOGXuYpLyyVMkxxG6oylzL3BPOlA6ADGdK7EYunSa4I064xerltq9TGXs8HmOk5E+vw==}
+ dev: false
+
+ /@prosemirror-adapter/core/0.2.2:
+ resolution: {integrity: sha512-rnkh1StLZO5YcA8ELVmUNd+OkqeuneyhoDoXrSDsMuG1HeQLy6WithRurJQcqkJQD5Ak/ebWDykKEFPGKS4a+A==}
+ dependencies:
+ tslib: 2.5.0
+ dev: false
+
+ /@prosemirror-adapter/vue/0.2.2_vue@3.2.47:
+ resolution: {integrity: sha512-9yRN+ZgyhHh/+mdbSwfLIpHd3q72T1tt+45Y81DW+5Jm6D5uIanhlzClh6TDciYfTIO8xXA5di2qxgJD+9W5Yg==}
+ peerDependencies:
+ vue: ^3.0.0
+ dependencies:
+ '@prosemirror-adapter/core': 0.2.2
+ nanoid: 4.0.1
+ tslib: 2.5.0
+ vue: 3.2.47
+ dev: false
+
+ /@tailwindcss/typography/0.5.9_tailwindcss@3.2.7:
+ resolution: {integrity: sha512-t8Sg3DyynFysV9f4JDOVISGsjazNb48AeIYQwcL+Bsq5uf4RYL75C1giZ43KISjeDGBaTN3Kxh7Xj/vRSMJUUg==}
+ peerDependencies:
+ tailwindcss: '>=3.0.0 || insiders'
+ dependencies:
+ lodash.castarray: 4.4.0
+ lodash.isplainobject: 4.0.6
+ lodash.merge: 4.6.2
+ postcss-selector-parser: 6.0.10
+ tailwindcss: 3.2.7
+ dev: true
+
/@types/debug/4.1.7:
resolution: {integrity: sha512-9AonUzyTjXXhEOa0DnqpzZi6VHlqKMswga9EXjpXnnqxwLtdvPPtlO8evrI5D9S6asFRCQ6v+wpiUKbw+vKqyg==}
dependencies:
@@ -602,6 +785,24 @@ packages:
resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==}
dev: true
+ /@types/katex/0.11.1:
+ resolution: {integrity: sha512-DUlIj2nk0YnJdlWgsFuVKcX27MLW0KbKmGVoUHmFr+74FYYNUDAaj9ZqTADvsbE8rfxuVmSFc7KczYn5Y09ozg==}
+ dev: false
+
+ /@types/katex/0.16.0:
+ resolution: {integrity: sha512-hz+S3nV6Mym5xPbT9fnO8dDhBFQguMYpY0Ipxv06JMi1ORgnEM4M1ymWDUhUNer3ElLmT583opRo4RzxKmh9jw==}
+ dev: false
+
+ /@types/lodash.debounce/4.0.7:
+ resolution: {integrity: sha512-X1T4wMZ+gT000M2/91SYj0d/7JfeNZ9PeeOldSNoE/lunLeQXKvkmIumI29IaKMotU/ln/McOIvgzZcQ/3TrSA==}
+ dependencies:
+ '@types/lodash': 4.14.191
+ dev: false
+
+ /@types/lodash/4.14.191:
+ resolution: {integrity: sha512-BdZ5BCCvho3EIXw6wUCXHe7rS53AIDPLE+JzwgT+OsJk53oBfbSmZZ7CX4VaRoN78N+TJpFi9QPlfIVNmJYWxQ==}
+ dev: false
+
/@types/mdast/3.0.10:
resolution: {integrity: sha512-W864tg/Osz1+9f4lrGTZpCSO5/z4608eUp19tbozkq2HJK6i3z1kT0H9tlADXuYIb1YYOBByU4Jsqkk75q48qA==}
dependencies:
@@ -901,6 +1102,25 @@ packages:
acorn: 8.8.2
dev: true
+ /acorn-node/1.8.2:
+ resolution: {integrity: sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==}
+ dependencies:
+ acorn: 7.4.1
+ acorn-walk: 7.2.0
+ xtend: 4.0.2
+ dev: true
+
+ /acorn-walk/7.2.0:
+ resolution: {integrity: sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==}
+ engines: {node: '>=0.4.0'}
+ dev: true
+
+ /acorn/7.4.1:
+ resolution: {integrity: sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==}
+ engines: {node: '>=0.4.0'}
+ hasBin: true
+ dev: true
+
/acorn/8.8.2:
resolution: {integrity: sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==}
engines: {node: '>=0.4.0'}
@@ -935,6 +1155,18 @@ packages:
color-convert: 2.0.1
dev: true
+ /anymatch/3.1.3:
+ resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==}
+ engines: {node: '>= 8'}
+ dependencies:
+ normalize-path: 3.0.0
+ picomatch: 2.3.1
+ dev: true
+
+ /arg/5.0.2:
+ resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==}
+ dev: true
+
/argparse/2.0.1:
resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
dev: true
@@ -992,6 +1224,11 @@ packages:
resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
dev: true
+ /binary-extensions/2.2.0:
+ resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==}
+ engines: {node: '>=8'}
+ dev: true
+
/boolbase/1.0.0:
resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==}
dev: true
@@ -1045,6 +1282,11 @@ packages:
tslib: 2.5.0
dev: false
+ /camelcase-css/2.0.1:
+ resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==}
+ engines: {node: '>= 6'}
+ dev: true
+
/capital-case/1.0.4:
resolution: {integrity: sha512-ds37W8CytHgwnhGGTi88pcPyR15qoNkOpYwmMMfnWqqWgESapLqvDx6huFjQ5vqWSn2Z06173XNA7LtMOeUh1A==}
dependencies:
@@ -1103,6 +1345,21 @@ packages:
resolution: {integrity: sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==}
dev: true
+ /chokidar/3.5.3:
+ resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==}
+ engines: {node: '>= 8.10.0'}
+ dependencies:
+ anymatch: 3.1.3
+ braces: 3.0.2
+ glob-parent: 5.1.2
+ is-binary-path: 2.1.0
+ is-glob: 4.0.3
+ normalize-path: 3.0.0
+ readdirp: 3.6.0
+ optionalDependencies:
+ fsevents: 2.3.2
+ dev: true
+
/ci-info/3.8.0:
resolution: {integrity: sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==}
engines: {node: '>=8'}
@@ -1148,6 +1405,15 @@ packages:
delayed-stream: 1.0.0
dev: false
+ /commander/8.3.0:
+ resolution: {integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==}
+ engines: {node: '>= 12'}
+ dev: false
+
+ /compute-scroll-into-view/1.0.20:
+ resolution: {integrity: sha512-UCB0ioiyj8CRjtrvaceBLqqhZCVP+1B8+NWQhmdsm0VXOJtobBCf1dBQmebCCo34qZmUwZfIH2MZLqNHazrfjg==}
+ dev: false
+
/concat-map/0.0.1:
resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
dev: true
@@ -1222,6 +1488,10 @@ packages:
object-keys: 1.1.1
dev: true
+ /defined/1.0.1:
+ resolution: {integrity: sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q==}
+ dev: true
+
/delayed-stream/1.0.0:
resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==}
engines: {node: '>=0.4.0'}
@@ -1232,6 +1502,20 @@ packages:
engines: {node: '>=6'}
dev: false
+ /detective/5.2.1:
+ resolution: {integrity: sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw==}
+ engines: {node: '>=0.8.0'}
+ hasBin: true
+ dependencies:
+ acorn-node: 1.8.2
+ defined: 1.0.1
+ minimist: 1.2.8
+ dev: true
+
+ /didyoumean/1.2.2:
+ resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==}
+ dev: true
+
/diff/5.1.0:
resolution: {integrity: sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==}
engines: {node: '>=0.3.1'}
@@ -1244,6 +1528,10 @@ packages:
path-type: 4.0.0
dev: true
+ /dlv/1.1.3:
+ resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==}
+ dev: true
+
/doctrine/2.1.0:
resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==}
engines: {node: '>=0.10.0'}
@@ -2159,6 +2447,13 @@ packages:
has-bigints: 1.0.2
dev: true
+ /is-binary-path/2.1.0:
+ resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==}
+ engines: {node: '>=8'}
+ dependencies:
+ binary-extensions: 2.2.0
+ dev: true
+
/is-boolean-object/1.1.2:
resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==}
engines: {node: '>= 0.4'}
@@ -2356,6 +2651,20 @@ packages:
semver: 7.3.8
dev: true
+ /katex/0.13.24:
+ resolution: {integrity: sha512-jZxYuKCma3VS5UuxOx/rFV1QyGSl3Uy/i0kTJF3HgQ5xMinCQVF8Zd4bMY/9aI9b9A2pjIBOsjSSm68ykTAr8w==}
+ hasBin: true
+ dependencies:
+ commander: 8.3.0
+ dev: false
+
+ /katex/0.16.4:
+ resolution: {integrity: sha512-WudRKUj8yyBeVDI4aYMNxhx5Vhh2PjpzQw1GRu/LVGqL4m1AxwD1GcUp0IMbdJaf5zsjtj8ghP0DOQRYhroNkw==}
+ hasBin: true
+ dependencies:
+ commander: 8.3.0
+ dev: false
+
/kleur/4.1.5:
resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==}
engines: {node: '>=6'}
@@ -2369,6 +2678,11 @@ packages:
type-check: 0.4.0
dev: true
+ /lilconfig/2.1.0:
+ resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==}
+ engines: {node: '>=10'}
+ dev: true
+
/lines-and-columns/1.2.4:
resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==}
dev: true
@@ -2392,6 +2706,18 @@ packages:
p-locate: 5.0.0
dev: true
+ /lodash.castarray/4.4.0:
+ resolution: {integrity: sha1-wCUTUV4wna3dTCTGDP3c9ZdtkRU=}
+ dev: true
+
+ /lodash.debounce/4.0.8:
+ resolution: {integrity: sha1-gteb/zCmfEAF/9XiUVMArZyk168=}
+ dev: false
+
+ /lodash.isplainobject/4.0.6:
+ resolution: {integrity: sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=}
+ dev: true
+
/lodash.merge/4.6.2:
resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==}
dev: true
@@ -2476,6 +2802,14 @@ packages:
- supports-color
dev: false
+ /mdast-util-math/2.0.2:
+ resolution: {integrity: sha512-8gmkKVp9v6+Tgjtq6SYx9kGPpTf6FVYRa53/DLh479aldR9AyP48qeVOgNZ5X7QUK7nOy4yw7vg6mbiGcs9jWQ==}
+ dependencies:
+ '@types/mdast': 3.0.10
+ longest-streak: 3.1.0
+ mdast-util-to-markdown: 1.5.0
+ dev: false
+
/mdast-util-phrasing/3.0.1:
resolution: {integrity: sha512-WmI1gTXUBJo4/ZmSk79Wcb2HcjPJBzM1nlI/OUWA8yk2X9ik3ffNbBGsU+09BFmXaL1IBb9fiuvq6/KMiNycSg==}
dependencies:
@@ -2532,6 +2866,18 @@ packages:
uvu: 0.5.6
dev: false
+ /micromark-extension-math/2.0.2:
+ resolution: {integrity: sha512-cFv2B/E4pFPBBFuGgLHkkNiFAIQv08iDgPH2HCuR2z3AUgMLecES5Cq7AVtwOtZeRrbA80QgMUk8VVW0Z+D2FA==}
+ dependencies:
+ '@types/katex': 0.11.1
+ katex: 0.13.24
+ micromark-factory-space: 1.0.0
+ micromark-util-character: 1.1.0
+ micromark-util-symbol: 1.0.1
+ micromark-util-types: 1.0.2
+ uvu: 0.5.6
+ dev: false
+
/micromark-factory-destination/1.0.0:
resolution: {integrity: sha512-eUBA7Rs1/xtTVun9TmV3gjfPz2wEwgK5R5xcbIM5ZYAtvGF6JkyaDsj0agx8urXnO31tEO6Ug83iVH3tdedLnw==}
dependencies:
@@ -2797,12 +3143,22 @@ packages:
validate-npm-package-license: 3.0.4
dev: true
+ /normalize-path/3.0.0:
+ resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==}
+ engines: {node: '>=0.10.0'}
+ dev: true
+
/nth-check/2.1.1:
resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==}
dependencies:
boolbase: 1.0.0
dev: true
+ /object-hash/3.0.0:
+ resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==}
+ engines: {node: '>= 6'}
+ dev: true
+
/object-inspect/1.12.3:
resolution: {integrity: sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==}
@@ -2966,11 +3322,73 @@ packages:
engines: {node: '>=8.6'}
dev: true
+ /pify/2.3.0:
+ resolution: {integrity: sha1-7RQaasBDqEnqWISY59yosVMw6Qw=}
+ engines: {node: '>=0.10.0'}
+ dev: true
+
/pluralize/8.0.0:
resolution: {integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==}
engines: {node: '>=4'}
dev: true
+ /postcss-import/14.1.0_postcss@8.4.21:
+ resolution: {integrity: sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw==}
+ engines: {node: '>=10.0.0'}
+ peerDependencies:
+ postcss: ^8.0.0
+ dependencies:
+ postcss: 8.4.21
+ postcss-value-parser: 4.2.0
+ read-cache: 1.0.0
+ resolve: 1.22.1
+ dev: true
+
+ /postcss-js/4.0.1_postcss@8.4.21:
+ resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==}
+ engines: {node: ^12 || ^14 || >= 16}
+ peerDependencies:
+ postcss: ^8.4.21
+ dependencies:
+ camelcase-css: 2.0.1
+ postcss: 8.4.21
+ dev: true
+
+ /postcss-load-config/3.1.4_postcss@8.4.21:
+ resolution: {integrity: sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==}
+ engines: {node: '>= 10'}
+ peerDependencies:
+ postcss: '>=8.0.9'
+ ts-node: '>=9.0.0'
+ peerDependenciesMeta:
+ postcss:
+ optional: true
+ ts-node:
+ optional: true
+ dependencies:
+ lilconfig: 2.1.0
+ postcss: 8.4.21
+ yaml: 1.10.2
+ dev: true
+
+ /postcss-nested/6.0.0_postcss@8.4.21:
+ resolution: {integrity: sha512-0DkamqrPcmkBDsLn+vQDIrtkSbNkv5AD/M322ySo9kqFkCIYklym2xEmWkwo+Y3/qZo34tzEPNUw4y7yMCdv5w==}
+ engines: {node: '>=12.0'}
+ peerDependencies:
+ postcss: ^8.2.14
+ dependencies:
+ postcss: 8.4.21
+ postcss-selector-parser: 6.0.11
+ dev: true
+
+ /postcss-selector-parser/6.0.10:
+ resolution: {integrity: sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==}
+ engines: {node: '>=4'}
+ dependencies:
+ cssesc: 3.0.0
+ util-deprecate: 1.0.2
+ dev: true
+
/postcss-selector-parser/6.0.11:
resolution: {integrity: sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g==}
engines: {node: '>=4'}
@@ -2979,6 +3397,10 @@ packages:
util-deprecate: 1.0.2
dev: true
+ /postcss-value-parser/4.2.0:
+ resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==}
+ dev: true
+
/postcss/8.4.21:
resolution: {integrity: sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==}
engines: {node: ^10 || ^12 || >=14}
@@ -3107,6 +3529,17 @@ packages:
resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
dev: true
+ /quick-lru/5.1.1:
+ resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==}
+ engines: {node: '>=10'}
+ dev: true
+
+ /read-cache/1.0.0:
+ resolution: {integrity: sha1-5mTvMRYRZsl1HNvo28+GtftY93Q=}
+ dependencies:
+ pify: 2.3.0
+ dev: true
+
/read-pkg-up/7.0.1:
resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==}
engines: {node: '>=8'}
@@ -3126,6 +3559,13 @@ packages:
type-fest: 0.6.0
dev: true
+ /readdirp/3.6.0:
+ resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==}
+ engines: {node: '>=8.10.0'}
+ dependencies:
+ picomatch: 2.3.1
+ dev: true
+
/regexp-tree/0.1.24:
resolution: {integrity: sha512-s2aEVuLhvnVJW6s/iPgEGK6R+/xngd2jNQ+xy4bXNDKxZKJH6jpPHY6kVeVv1IeLCHgswRj+Kl3ELaDjG6V1iw==}
hasBin: true
@@ -3161,6 +3601,15 @@ packages:
unist-util-visit: 4.1.2
dev: false
+ /remark-math/5.1.1:
+ resolution: {integrity: sha512-cE5T2R/xLVtfFI4cCePtiRn+e6jKMtFDR3P8V3qpv8wpKjwvHoBA4eJzvX+nVrnlNy0911bdGmuspCSwetfYHw==}
+ dependencies:
+ '@types/mdast': 3.0.10
+ mdast-util-math: 2.0.2
+ micromark-extension-math: 2.0.2
+ unified: 10.1.2
+ dev: false
+
/remark-parse/10.0.1:
resolution: {integrity: sha512-1fUyHr2jLsVOkhbvPRBJ5zTKZZyD6yZzYaWCS6BPBdQ8vEMBCH+9zNCDA6tET/zHCi/jLqjCWtlJZUPk+DbnFw==}
dependencies:
@@ -3255,6 +3704,12 @@ packages:
regexp-tree: 0.1.24
dev: true
+ /scroll-into-view-if-needed/2.2.31:
+ resolution: {integrity: sha512-dGCXy99wZQivjmjIqihaBQNjryrz5rueJY7eHfTdyWEiR4ttYpsajb14rn9s5d4DY4EcY6+4+U/maARBXJedkA==}
+ dependencies:
+ compute-scroll-into-view: 1.0.20
+ dev: false
+
/semver/5.7.1:
resolution: {integrity: sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==}
hasBin: true
@@ -3304,6 +3759,12 @@ packages:
engines: {node: '>=8'}
dev: true
+ /smooth-scroll-into-view-if-needed/1.1.33:
+ resolution: {integrity: sha512-crS8NfAaoPrtVYOCMSAnO2vHRgUp22NiiDgEQ7YiaAy5xe2jmR19Jm+QdL8+97gO8ENd7PUyQIAQojJyIiyRHw==}
+ dependencies:
+ scroll-into-view-if-needed: 2.2.31
+ dev: false
+
/snake-case/3.0.4:
resolution: {integrity: sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==}
dependencies:
@@ -3404,10 +3865,48 @@ packages:
engines: {node: '>= 0.4'}
dev: true
+ /tailwindcss/3.2.7:
+ resolution: {integrity: sha512-B6DLqJzc21x7wntlH/GsZwEXTBttVSl1FtCzC8WP4oBc/NKef7kaax5jeihkkCEWc831/5NDJ9gRNDK6NEioQQ==}
+ engines: {node: '>=12.13.0'}
+ hasBin: true
+ dependencies:
+ arg: 5.0.2
+ chokidar: 3.5.3
+ color-name: 1.1.4
+ detective: 5.2.1
+ didyoumean: 1.2.2
+ dlv: 1.1.3
+ fast-glob: 3.2.12
+ glob-parent: 6.0.2
+ is-glob: 4.0.3
+ lilconfig: 2.1.0
+ micromatch: 4.0.5
+ normalize-path: 3.0.0
+ object-hash: 3.0.0
+ picocolors: 1.0.0
+ postcss: 8.4.21
+ postcss-import: 14.1.0_postcss@8.4.21
+ postcss-js: 4.0.1_postcss@8.4.21
+ postcss-load-config: 3.1.4_postcss@8.4.21
+ postcss-nested: 6.0.0_postcss@8.4.21
+ postcss-selector-parser: 6.0.11
+ postcss-value-parser: 4.2.0
+ quick-lru: 5.1.1
+ resolve: 1.22.1
+ transitivePeerDependencies:
+ - ts-node
+ dev: true
+
/text-table/0.2.0:
resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==}
dev: true
+ /tippy.js/6.3.7:
+ resolution: {integrity: sha512-E1d3oP2emgJ9dRQZdf3Kkn0qJgI6ZLpyS5z6ZkY1DF3kaQaBsGZsndEpHwx+eC+tYM41HaSNvNtLx8tU57FzTQ==}
+ dependencies:
+ '@popperjs/core': 2.11.6
+ dev: false
+
/to-fast-properties/2.0.0:
resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==}
engines: {node: '>=4'}
@@ -3750,6 +4249,11 @@ packages:
engines: {node: '>=12'}
dev: true
+ /xtend/4.0.2:
+ resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==}
+ engines: {node: '>=0.4'}
+ dev: true
+
/yallist/4.0.0:
resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==}
@@ -3762,6 +4266,11 @@ packages:
yaml: 2.2.1
dev: true
+ /yaml/1.10.2:
+ resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==}
+ engines: {node: '>= 6'}
+ dev: true
+
/yaml/2.2.1:
resolution: {integrity: sha512-e0WHiYql7+9wr4cWMx3TVQrNwejKaEe7/rHNmQmqRjazfOP5W8PB6Jpebb5o6fIapbz9o9+2ipcaTM2ZwDI6lw==}
engines: {node: '>= 14'}
diff --git a/postcss.config.cjs b/postcss.config.cjs
new file mode 100644
index 0000000..f142aa6
--- /dev/null
+++ b/postcss.config.cjs
@@ -0,0 +1,6 @@
+/* Copyright 2021, Milkdown by Mirone. */
+module.exports = {
+ plugins: {
+ tailwindcss: {},
+ },
+}
diff --git a/src/App.vue b/src/App.vue
index df34d23..ae4c8ab 100644
--- a/src/App.vue
+++ b/src/App.vue
@@ -1,10 +1,13 @@
-
+
+
+
diff --git a/src/components/Milkdown/Editor.vue b/src/components/Milkdown/Editor.vue
new file mode 100644
index 0000000..c5668b5
--- /dev/null
+++ b/src/components/Milkdown/Editor.vue
@@ -0,0 +1,40 @@
+
+
+
+
+
diff --git a/src/components/Milkdown/MilkdownEditor.vue b/src/components/Milkdown/MilkdownEditor.vue
deleted file mode 100644
index 31922d0..0000000
--- a/src/components/Milkdown/MilkdownEditor.vue
+++ /dev/null
@@ -1,27 +0,0 @@
-
-
-
-
-
diff --git a/src/components/Milkdown/MilkdownEditorWrapper.vue b/src/components/Milkdown/MilkdownEditorWrapper.vue
deleted file mode 100644
index b11bf40..0000000
--- a/src/components/Milkdown/MilkdownEditorWrapper.vue
+++ /dev/null
@@ -1,20 +0,0 @@
-
-
-
-
-
-
-
-
diff --git a/src/components/Milkdown/Tooltip.vue b/src/components/Milkdown/Tooltip.vue
new file mode 100644
index 0000000..c5e0a13
--- /dev/null
+++ b/src/components/Milkdown/Tooltip.vue
@@ -0,0 +1,50 @@
+
+
+
+
+
+
+
diff --git a/src/style.css b/src/style.css
index e69de29..18b8656 100644
--- a/src/style.css
+++ b/src/style.css
@@ -0,0 +1,11 @@
+@tailwind base;
+@tailwind components;
+@tailwind utilities;
+
+.milkdown {
+ @apply bg-slate-50 px-2 py-4 m-5 border rounded;
+}
+
+.editor {
+ @apply mx-auto;
+}
diff --git a/src/vite-env.d.ts b/src/vite-env.d.ts
index 11f02fe..340a75a 100644
--- a/src/vite-env.d.ts
+++ b/src/vite-env.d.ts
@@ -1 +1,5 @@
///
+
+declare module '*.vue' {
+ export = any;
+}
diff --git a/tailwind.config.cjs b/tailwind.config.cjs
new file mode 100644
index 0000000..41b7849
--- /dev/null
+++ b/tailwind.config.cjs
@@ -0,0 +1,9 @@
+/** @type {import('tailwindcss').Config} */
+module.exports = {
+ content: ['**/*.tsx', '**/*.ts', '**/*.vue', '**/*.html'],
+ darkMode: 'class',
+ theme: {
+ extend: {},
+ },
+ plugins: [require('@tailwindcss/typography')],
+}
diff --git a/tsconfig.json b/tsconfig.json
index b557c40..c950862 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -11,7 +11,9 @@
"esModuleInterop": true,
"lib": ["ESNext", "DOM"],
"skipLibCheck": true,
- "noEmit": true
+ "noEmit": true,
+ "noPropertyAccessFromIndexSignature": false,
+ "allowJs": true
},
"include": ["src/**/*.ts", "src/**/*.d.ts", "src/**/*.tsx", "src/**/*.vue"],
"references": [{ "path": "./tsconfig.node.json" }]
diff --git a/vite.config.ts b/vite.config.ts
index 37e3700..05c1740 100644
--- a/vite.config.ts
+++ b/vite.config.ts
@@ -5,4 +5,3 @@ import vue from '@vitejs/plugin-vue'
export default defineConfig({
plugins: [vue()],
})
-