mirror of
https://github.com/luminous-devs/lume.git
synced 2024-09-18 03:03:31 +00:00
add markdown support
This commit is contained in:
parent
19796794b0
commit
9668b18a2f
@ -29,9 +29,11 @@
|
||||
"react": "^18.2.0",
|
||||
"react-dom": "^18.2.0",
|
||||
"react-hook-form": "^7.43.9",
|
||||
"react-markdown": "^8.0.7",
|
||||
"react-string-replace": "^1.1.0",
|
||||
"react-virtuoso": "^4.3.5",
|
||||
"react-youtube": "^10.1.0",
|
||||
"remark-gfm": "^3.0.1",
|
||||
"swr": "^2.1.5",
|
||||
"tailwind-merge": "^1.12.0",
|
||||
"tauri-plugin-sql-api": "github:tauri-apps/tauri-plugin-sql",
|
||||
|
745
pnpm-lock.yaml
745
pnpm-lock.yaml
@ -46,6 +46,9 @@ dependencies:
|
||||
react-hook-form:
|
||||
specifier: ^7.43.9
|
||||
version: 7.43.9(react@18.2.0)
|
||||
react-markdown:
|
||||
specifier: ^8.0.7
|
||||
version: 8.0.7(@types/react@18.2.0)(react@18.2.0)
|
||||
react-string-replace:
|
||||
specifier: ^1.1.0
|
||||
version: 1.1.0
|
||||
@ -55,6 +58,9 @@ dependencies:
|
||||
react-youtube:
|
||||
specifier: ^10.1.0
|
||||
version: 10.1.0(react@18.2.0)
|
||||
remark-gfm:
|
||||
specifier: ^3.0.1
|
||||
version: 3.0.1
|
||||
swr:
|
||||
specifier: ^2.1.5
|
||||
version: 2.1.5(react@18.2.0)
|
||||
@ -1153,11 +1159,37 @@ packages:
|
||||
- supports-color
|
||||
dev: true
|
||||
|
||||
/@types/debug@4.1.7:
|
||||
resolution:
|
||||
{ integrity: sha512-9AonUzyTjXXhEOa0DnqpzZi6VHlqKMswga9EXjpXnnqxwLtdvPPtlO8evrI5D9S6asFRCQ6v+wpiUKbw+vKqyg== }
|
||||
dependencies:
|
||||
'@types/ms': 0.7.31
|
||||
dev: false
|
||||
|
||||
/@types/hast@2.3.4:
|
||||
resolution:
|
||||
{ integrity: sha512-wLEm0QvaoawEDoTRwzTXp4b4jpwiJDvR5KMnFnVodm3scufTlBOWRD6N1OBf9TZMhjlNsSfcO5V+7AF4+Vy+9g== }
|
||||
dependencies:
|
||||
'@types/unist': 2.0.6
|
||||
dev: false
|
||||
|
||||
/@types/json-schema@7.0.11:
|
||||
resolution:
|
||||
{ integrity: sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ== }
|
||||
dev: true
|
||||
|
||||
/@types/mdast@3.0.11:
|
||||
resolution:
|
||||
{ integrity: sha512-Y/uImid8aAwrEA24/1tcRZwpxX3pIFTSilcNDKSPn+Y2iDywSEachzRuvgAYYLR3wpGXAsMbv5lvKLDZLeYPAw== }
|
||||
dependencies:
|
||||
'@types/unist': 2.0.6
|
||||
dev: false
|
||||
|
||||
/@types/ms@0.7.31:
|
||||
resolution:
|
||||
{ integrity: sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA== }
|
||||
dev: false
|
||||
|
||||
/@types/node@18.16.3:
|
||||
resolution:
|
||||
{ integrity: sha512-OPs5WnnT1xkCBiuQrZA4+YAV4HEJejmHneyraIaxsbev5yCEr6KMwINNFP9wQeFIw8FWcoTqF3vQsa5CDaI+8Q== }
|
||||
@ -1195,6 +1227,11 @@ packages:
|
||||
{ integrity: sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw== }
|
||||
dev: true
|
||||
|
||||
/@types/unist@2.0.6:
|
||||
resolution:
|
||||
{ integrity: sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ== }
|
||||
dev: false
|
||||
|
||||
/@types/websocket@1.0.5:
|
||||
resolution:
|
||||
{ integrity: sha512-NbsqiNX9CnEfC1Z0Vf4mE1SgAJ07JnRYcNex7AJ9zAVzmiGHmjKFEk7O4TJIsgv2B1sLEb6owKFZrACwdYngsQ== }
|
||||
@ -1561,6 +1598,11 @@ packages:
|
||||
engines: { node: '>= 0.4' }
|
||||
dev: true
|
||||
|
||||
/bail@2.0.2:
|
||||
resolution:
|
||||
{ integrity: sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw== }
|
||||
dev: false
|
||||
|
||||
/balanced-match@1.0.2:
|
||||
resolution:
|
||||
{ integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== }
|
||||
@ -1639,6 +1681,11 @@ packages:
|
||||
{ integrity: sha512-F1ZInsg53cegyjroxLNW9DmrEQ1SuGRTO1QlpA0o2/6OpQ0gFeDRoq1yFmnr8Sakn9qwwt9DmbxHB6w167OSuQ== }
|
||||
dev: true
|
||||
|
||||
/ccount@2.0.1:
|
||||
resolution:
|
||||
{ integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg== }
|
||||
dev: false
|
||||
|
||||
/chalk@2.4.2:
|
||||
resolution:
|
||||
{ integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== }
|
||||
@ -1664,6 +1711,11 @@ packages:
|
||||
engines: { node: ^12.17.0 || ^14.13 || >=16.0.0 }
|
||||
dev: true
|
||||
|
||||
/character-entities@2.0.2:
|
||||
resolution:
|
||||
{ integrity: sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ== }
|
||||
dev: false
|
||||
|
||||
/chokidar@3.5.3:
|
||||
resolution:
|
||||
{ integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== }
|
||||
@ -1747,6 +1799,11 @@ packages:
|
||||
{ integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w== }
|
||||
dev: true
|
||||
|
||||
/comma-separated-tokens@2.0.3:
|
||||
resolution:
|
||||
{ integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg== }
|
||||
dev: false
|
||||
|
||||
/commander@10.0.1:
|
||||
resolution:
|
||||
{ integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug== }
|
||||
@ -1839,7 +1896,13 @@ packages:
|
||||
optional: true
|
||||
dependencies:
|
||||
ms: 2.1.2
|
||||
dev: true
|
||||
|
||||
/decode-named-character-reference@1.0.2:
|
||||
resolution:
|
||||
{ integrity: sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg== }
|
||||
dependencies:
|
||||
character-entities: 2.0.2
|
||||
dev: false
|
||||
|
||||
/deep-is@0.1.4:
|
||||
resolution:
|
||||
@ -1855,6 +1918,12 @@ packages:
|
||||
object-keys: 1.1.1
|
||||
dev: true
|
||||
|
||||
/dequal@2.0.3:
|
||||
resolution:
|
||||
{ integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA== }
|
||||
engines: { node: '>=6' }
|
||||
dev: false
|
||||
|
||||
/destr@1.2.2:
|
||||
resolution:
|
||||
{ integrity: sha512-lrbCJwD9saUQrqUfXvl6qoM+QN3W7tLV5pAOs+OqOmopCCz/JkE05MHedJR1xfk4IAnZuJXPVuN5+7jNA2ZCiA== }
|
||||
@ -1865,6 +1934,12 @@ packages:
|
||||
{ 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' }
|
||||
dev: false
|
||||
|
||||
/dir-glob@3.0.1:
|
||||
resolution:
|
||||
{ integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== }
|
||||
@ -2070,6 +2145,12 @@ packages:
|
||||
engines: { node: '>=10' }
|
||||
dev: true
|
||||
|
||||
/escape-string-regexp@5.0.0:
|
||||
resolution:
|
||||
{ integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw== }
|
||||
engines: { node: '>=12' }
|
||||
dev: false
|
||||
|
||||
/eslint-config-prettier@8.8.0(eslint@8.39.0):
|
||||
resolution:
|
||||
{ integrity: sha512-wLbQiFre3tdGgpDv67NQKnJuTlcUVYHas3k+DZCc2U2BadthoEY4B7hLPvAxaqdyOGCzuLfii2fqGph10va7oA== }
|
||||
@ -2265,6 +2346,11 @@ packages:
|
||||
type: 2.7.2
|
||||
dev: false
|
||||
|
||||
/extend@3.0.2:
|
||||
resolution:
|
||||
{ integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== }
|
||||
dev: false
|
||||
|
||||
/fast-deep-equal@3.1.3:
|
||||
resolution:
|
||||
{ integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== }
|
||||
@ -2557,6 +2643,11 @@ packages:
|
||||
function-bind: 1.1.1
|
||||
dev: true
|
||||
|
||||
/hast-util-whitespace@2.0.1:
|
||||
resolution:
|
||||
{ integrity: sha512-nAxA0v8+vXSBDt3AnRUNjyRIQ0rD+ntpbAp4LnPkumc5M9yUbSMa4XDU9Q6etY4f1Wp4bNgvc1yjiZtsTTrSng== }
|
||||
dev: false
|
||||
|
||||
/human-signals@4.3.1:
|
||||
resolution:
|
||||
{ integrity: sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ== }
|
||||
@ -2617,6 +2708,11 @@ packages:
|
||||
{ integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== }
|
||||
dev: true
|
||||
|
||||
/inline-style-parser@0.1.1:
|
||||
resolution:
|
||||
{ integrity: sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q== }
|
||||
dev: false
|
||||
|
||||
/internal-slot@1.0.5:
|
||||
resolution:
|
||||
{ integrity: sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ== }
|
||||
@ -2660,6 +2756,12 @@ packages:
|
||||
has-tostringtag: 1.0.0
|
||||
dev: true
|
||||
|
||||
/is-buffer@2.0.5:
|
||||
resolution:
|
||||
{ integrity: sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ== }
|
||||
engines: { node: '>=4' }
|
||||
dev: false
|
||||
|
||||
/is-callable@1.2.7:
|
||||
resolution:
|
||||
{ integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== }
|
||||
@ -2733,6 +2835,12 @@ packages:
|
||||
engines: { node: '>=8' }
|
||||
dev: true
|
||||
|
||||
/is-plain-obj@4.1.0:
|
||||
resolution:
|
||||
{ integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg== }
|
||||
engines: { node: '>=12' }
|
||||
dev: false
|
||||
|
||||
/is-regex@1.1.4:
|
||||
resolution:
|
||||
{ integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== }
|
||||
@ -2876,6 +2984,12 @@ packages:
|
||||
object.assign: 4.1.4
|
||||
dev: true
|
||||
|
||||
/kleur@4.1.5:
|
||||
resolution:
|
||||
{ integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ== }
|
||||
engines: { node: '>=6' }
|
||||
dev: false
|
||||
|
||||
/levn@0.4.1:
|
||||
resolution:
|
||||
{ integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== }
|
||||
@ -2984,6 +3098,11 @@ packages:
|
||||
wrap-ansi: 6.2.0
|
||||
dev: true
|
||||
|
||||
/longest-streak@3.1.0:
|
||||
resolution:
|
||||
{ integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g== }
|
||||
dev: false
|
||||
|
||||
/loose-envify@1.4.0:
|
||||
resolution:
|
||||
{ integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== }
|
||||
@ -2999,6 +3118,11 @@ packages:
|
||||
yallist: 4.0.0
|
||||
dev: true
|
||||
|
||||
/markdown-table@3.0.3:
|
||||
resolution:
|
||||
{ integrity: sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw== }
|
||||
dev: false
|
||||
|
||||
/maverick.js@0.33.1:
|
||||
resolution:
|
||||
{ integrity: sha512-p8L5V62CV6TmHAngmRAopp231oJKeH77mJja5SsKOfvzrPRoThT/Jo9U0jMRB5iMykqkvyg2J5V5Agn6FPXDWQ== }
|
||||
@ -3008,6 +3132,150 @@ packages:
|
||||
type-fest: 3.9.0
|
||||
dev: false
|
||||
|
||||
/mdast-util-definitions@5.1.2:
|
||||
resolution:
|
||||
{ integrity: sha512-8SVPMuHqlPME/z3gqVwWY4zVXn8lqKv/pAhC57FuJ40ImXyBpmO5ukh98zB2v7Blql2FiHjHv9LVztSIqjY+MA== }
|
||||
dependencies:
|
||||
'@types/mdast': 3.0.11
|
||||
'@types/unist': 2.0.6
|
||||
unist-util-visit: 4.1.2
|
||||
dev: false
|
||||
|
||||
/mdast-util-find-and-replace@2.2.2:
|
||||
resolution:
|
||||
{ integrity: sha512-MTtdFRz/eMDHXzeK6W3dO7mXUlF82Gom4y0oOgvHhh/HXZAGvIQDUvQ0SuUx+j2tv44b8xTHOm8K/9OoRFnXKw== }
|
||||
dependencies:
|
||||
'@types/mdast': 3.0.11
|
||||
escape-string-regexp: 5.0.0
|
||||
unist-util-is: 5.2.1
|
||||
unist-util-visit-parents: 5.1.3
|
||||
dev: false
|
||||
|
||||
/mdast-util-from-markdown@1.3.0:
|
||||
resolution:
|
||||
{ integrity: sha512-HN3W1gRIuN/ZW295c7zi7g9lVBllMgZE40RxCX37wrTPWXCWtpvOZdfnuK+1WNpvZje6XuJeI3Wnb4TJEUem+g== }
|
||||
dependencies:
|
||||
'@types/mdast': 3.0.11
|
||||
'@types/unist': 2.0.6
|
||||
decode-named-character-reference: 1.0.2
|
||||
mdast-util-to-string: 3.2.0
|
||||
micromark: 3.1.0
|
||||
micromark-util-decode-numeric-character-reference: 1.0.0
|
||||
micromark-util-decode-string: 1.0.2
|
||||
micromark-util-normalize-identifier: 1.0.0
|
||||
micromark-util-symbol: 1.0.1
|
||||
micromark-util-types: 1.0.2
|
||||
unist-util-stringify-position: 3.0.3
|
||||
uvu: 0.5.6
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
dev: false
|
||||
|
||||
/mdast-util-gfm-autolink-literal@1.0.3:
|
||||
resolution:
|
||||
{ integrity: sha512-My8KJ57FYEy2W2LyNom4n3E7hKTuQk/0SES0u16tjA9Z3oFkF4RrC/hPAPgjlSpezsOvI8ObcXcElo92wn5IGA== }
|
||||
dependencies:
|
||||
'@types/mdast': 3.0.11
|
||||
ccount: 2.0.1
|
||||
mdast-util-find-and-replace: 2.2.2
|
||||
micromark-util-character: 1.1.0
|
||||
dev: false
|
||||
|
||||
/mdast-util-gfm-footnote@1.0.2:
|
||||
resolution:
|
||||
{ integrity: sha512-56D19KOGbE00uKVj3sgIykpwKL179QsVFwx/DCW0u/0+URsryacI4MAdNJl0dh+u2PSsD9FtxPFbHCzJ78qJFQ== }
|
||||
dependencies:
|
||||
'@types/mdast': 3.0.11
|
||||
mdast-util-to-markdown: 1.5.0
|
||||
micromark-util-normalize-identifier: 1.0.0
|
||||
dev: false
|
||||
|
||||
/mdast-util-gfm-strikethrough@1.0.3:
|
||||
resolution:
|
||||
{ integrity: sha512-DAPhYzTYrRcXdMjUtUjKvW9z/FNAMTdU0ORyMcbmkwYNbKocDpdk+PX1L1dQgOID/+vVs1uBQ7ElrBQfZ0cuiQ== }
|
||||
dependencies:
|
||||
'@types/mdast': 3.0.11
|
||||
mdast-util-to-markdown: 1.5.0
|
||||
dev: false
|
||||
|
||||
/mdast-util-gfm-table@1.0.7:
|
||||
resolution:
|
||||
{ integrity: sha512-jjcpmNnQvrmN5Vx7y7lEc2iIOEytYv7rTvu+MeyAsSHTASGCCRA79Igg2uKssgOs1i1po8s3plW0sTu1wkkLGg== }
|
||||
dependencies:
|
||||
'@types/mdast': 3.0.11
|
||||
markdown-table: 3.0.3
|
||||
mdast-util-from-markdown: 1.3.0
|
||||
mdast-util-to-markdown: 1.5.0
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
dev: false
|
||||
|
||||
/mdast-util-gfm-task-list-item@1.0.2:
|
||||
resolution:
|
||||
{ integrity: sha512-PFTA1gzfp1B1UaiJVyhJZA1rm0+Tzn690frc/L8vNX1Jop4STZgOE6bxUhnzdVSB+vm2GU1tIsuQcA9bxTQpMQ== }
|
||||
dependencies:
|
||||
'@types/mdast': 3.0.11
|
||||
mdast-util-to-markdown: 1.5.0
|
||||
dev: false
|
||||
|
||||
/mdast-util-gfm@2.0.2:
|
||||
resolution:
|
||||
{ integrity: sha512-qvZ608nBppZ4icQlhQQIAdc6S3Ffj9RGmzwUKUWuEICFnd1LVkN3EktF7ZHAgfcEdvZB5owU9tQgt99e2TlLjg== }
|
||||
dependencies:
|
||||
mdast-util-from-markdown: 1.3.0
|
||||
mdast-util-gfm-autolink-literal: 1.0.3
|
||||
mdast-util-gfm-footnote: 1.0.2
|
||||
mdast-util-gfm-strikethrough: 1.0.3
|
||||
mdast-util-gfm-table: 1.0.7
|
||||
mdast-util-gfm-task-list-item: 1.0.2
|
||||
mdast-util-to-markdown: 1.5.0
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
dev: false
|
||||
|
||||
/mdast-util-phrasing@3.0.1:
|
||||
resolution:
|
||||
{ integrity: sha512-WmI1gTXUBJo4/ZmSk79Wcb2HcjPJBzM1nlI/OUWA8yk2X9ik3ffNbBGsU+09BFmXaL1IBb9fiuvq6/KMiNycSg== }
|
||||
dependencies:
|
||||
'@types/mdast': 3.0.11
|
||||
unist-util-is: 5.2.1
|
||||
dev: false
|
||||
|
||||
/mdast-util-to-hast@12.3.0:
|
||||
resolution:
|
||||
{ integrity: sha512-pits93r8PhnIoU4Vy9bjW39M2jJ6/tdHyja9rrot9uujkN7UTU9SDnE6WNJz/IGyQk3XHX6yNNtrBH6cQzm8Hw== }
|
||||
dependencies:
|
||||
'@types/hast': 2.3.4
|
||||
'@types/mdast': 3.0.11
|
||||
mdast-util-definitions: 5.1.2
|
||||
micromark-util-sanitize-uri: 1.1.0
|
||||
trim-lines: 3.0.1
|
||||
unist-util-generated: 2.0.1
|
||||
unist-util-position: 4.0.4
|
||||
unist-util-visit: 4.1.2
|
||||
dev: false
|
||||
|
||||
/mdast-util-to-markdown@1.5.0:
|
||||
resolution:
|
||||
{ integrity: sha512-bbv7TPv/WC49thZPg3jXuqzuvI45IL2EVAr/KxF0BSdHsU0ceFHOmwQn6evxAh1GaoK/6GQ1wp4R4oW2+LFL/A== }
|
||||
dependencies:
|
||||
'@types/mdast': 3.0.11
|
||||
'@types/unist': 2.0.6
|
||||
longest-streak: 3.1.0
|
||||
mdast-util-phrasing: 3.0.1
|
||||
mdast-util-to-string: 3.2.0
|
||||
micromark-util-decode-string: 1.0.2
|
||||
unist-util-visit: 4.1.2
|
||||
zwitch: 2.0.4
|
||||
dev: false
|
||||
|
||||
/mdast-util-to-string@3.2.0:
|
||||
resolution:
|
||||
{ integrity: sha512-V4Zn/ncyN1QNSqSBxTrMOLpjr+IKdHl2v3KVLoWmDPscP4r9GcCi71gjgvUV1SFSKh92AjAG4peFuBl2/YgCJg== }
|
||||
dependencies:
|
||||
'@types/mdast': 3.0.11
|
||||
dev: false
|
||||
|
||||
/media-captions@0.0.8:
|
||||
resolution:
|
||||
{ integrity: sha512-gX6ozU5smrAb90FwI+wd1VnqkwcAQ2NF8l72KZ67k+o3Vr0wYBAsTFRfdOePqde9IBhfBZbZsYEA5509npwtZA== }
|
||||
@ -3031,6 +3299,282 @@ packages:
|
||||
engines: { node: '>= 8' }
|
||||
dev: true
|
||||
|
||||
/micromark-core-commonmark@1.0.6:
|
||||
resolution:
|
||||
{ integrity: sha512-K+PkJTxqjFfSNkfAhp4GB+cZPfQd6dxtTXnf+RjZOV7T4EEXnvgzOcnp+eSTmpGk9d1S9sL6/lqrgSNn/s0HZA== }
|
||||
dependencies:
|
||||
decode-named-character-reference: 1.0.2
|
||||
micromark-factory-destination: 1.0.0
|
||||
micromark-factory-label: 1.0.2
|
||||
micromark-factory-space: 1.0.0
|
||||
micromark-factory-title: 1.0.2
|
||||
micromark-factory-whitespace: 1.0.0
|
||||
micromark-util-character: 1.1.0
|
||||
micromark-util-chunked: 1.0.0
|
||||
micromark-util-classify-character: 1.0.0
|
||||
micromark-util-html-tag-name: 1.1.0
|
||||
micromark-util-normalize-identifier: 1.0.0
|
||||
micromark-util-resolve-all: 1.0.0
|
||||
micromark-util-subtokenize: 1.0.2
|
||||
micromark-util-symbol: 1.0.1
|
||||
micromark-util-types: 1.0.2
|
||||
uvu: 0.5.6
|
||||
dev: false
|
||||
|
||||
/micromark-extension-gfm-autolink-literal@1.0.4:
|
||||
resolution:
|
||||
{ integrity: sha512-WCssN+M9rUyfHN5zPBn3/f0mIA7tqArHL/EKbv3CZK+LT2rG77FEikIQEqBkv46fOqXQK4NEW/Pc7Z27gshpeg== }
|
||||
dependencies:
|
||||
micromark-util-character: 1.1.0
|
||||
micromark-util-sanitize-uri: 1.1.0
|
||||
micromark-util-symbol: 1.0.1
|
||||
micromark-util-types: 1.0.2
|
||||
dev: false
|
||||
|
||||
/micromark-extension-gfm-footnote@1.1.0:
|
||||
resolution:
|
||||
{ integrity: sha512-RWYce7j8+c0n7Djzv5NzGEGitNNYO3uj+h/XYMdS/JinH1Go+/Qkomg/rfxExFzYTiydaV6GLeffGO5qcJbMPA== }
|
||||
dependencies:
|
||||
micromark-core-commonmark: 1.0.6
|
||||
micromark-factory-space: 1.0.0
|
||||
micromark-util-character: 1.1.0
|
||||
micromark-util-normalize-identifier: 1.0.0
|
||||
micromark-util-sanitize-uri: 1.1.0
|
||||
micromark-util-symbol: 1.0.1
|
||||
micromark-util-types: 1.0.2
|
||||
uvu: 0.5.6
|
||||
dev: false
|
||||
|
||||
/micromark-extension-gfm-strikethrough@1.0.5:
|
||||
resolution:
|
||||
{ integrity: sha512-X0oI5eYYQVARhiNfbETy7BfLSmSilzN1eOuoRnrf9oUNsPRrWOAe9UqSizgw1vNxQBfOwL+n2610S3bYjVNi7w== }
|
||||
dependencies:
|
||||
micromark-util-chunked: 1.0.0
|
||||
micromark-util-classify-character: 1.0.0
|
||||
micromark-util-resolve-all: 1.0.0
|
||||
micromark-util-symbol: 1.0.1
|
||||
micromark-util-types: 1.0.2
|
||||
uvu: 0.5.6
|
||||
dev: false
|
||||
|
||||
/micromark-extension-gfm-table@1.0.5:
|
||||
resolution:
|
||||
{ integrity: sha512-xAZ8J1X9W9K3JTJTUL7G6wSKhp2ZYHrFk5qJgY/4B33scJzE2kpfRL6oiw/veJTbt7jiM/1rngLlOKPWr1G+vg== }
|
||||
dependencies:
|
||||
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-extension-gfm-tagfilter@1.0.2:
|
||||
resolution:
|
||||
{ integrity: sha512-5XWB9GbAUSHTn8VPU8/1DBXMuKYT5uOgEjJb8gN3mW0PNW5OPHpSdojoqf+iq1xo7vWzw/P8bAHY0n6ijpXF7g== }
|
||||
dependencies:
|
||||
micromark-util-types: 1.0.2
|
||||
dev: false
|
||||
|
||||
/micromark-extension-gfm-task-list-item@1.0.4:
|
||||
resolution:
|
||||
{ integrity: sha512-9XlIUUVnYXHsFF2HZ9jby4h3npfX10S1coXTnV035QGPgrtNYQq3J6IfIvcCIUAJrrqBVi5BqA/LmaOMJqPwMQ== }
|
||||
dependencies:
|
||||
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-extension-gfm@2.0.1:
|
||||
resolution:
|
||||
{ integrity: sha512-p2sGjajLa0iYiGQdT0oelahRYtMWvLjy8J9LOCxzIQsllMCGLbsLW+Nc+N4vi02jcRJvedVJ68cjelKIO6bpDA== }
|
||||
dependencies:
|
||||
micromark-extension-gfm-autolink-literal: 1.0.4
|
||||
micromark-extension-gfm-footnote: 1.1.0
|
||||
micromark-extension-gfm-strikethrough: 1.0.5
|
||||
micromark-extension-gfm-table: 1.0.5
|
||||
micromark-extension-gfm-tagfilter: 1.0.2
|
||||
micromark-extension-gfm-task-list-item: 1.0.4
|
||||
micromark-util-combine-extensions: 1.0.0
|
||||
micromark-util-types: 1.0.2
|
||||
dev: false
|
||||
|
||||
/micromark-factory-destination@1.0.0:
|
||||
resolution:
|
||||
{ integrity: sha512-eUBA7Rs1/xtTVun9TmV3gjfPz2wEwgK5R5xcbIM5ZYAtvGF6JkyaDsj0agx8urXnO31tEO6Ug83iVH3tdedLnw== }
|
||||
dependencies:
|
||||
micromark-util-character: 1.1.0
|
||||
micromark-util-symbol: 1.0.1
|
||||
micromark-util-types: 1.0.2
|
||||
dev: false
|
||||
|
||||
/micromark-factory-label@1.0.2:
|
||||
resolution:
|
||||
{ integrity: sha512-CTIwxlOnU7dEshXDQ+dsr2n+yxpP0+fn271pu0bwDIS8uqfFcumXpj5mLn3hSC8iw2MUr6Gx8EcKng1dD7i6hg== }
|
||||
dependencies:
|
||||
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-space@1.0.0:
|
||||
resolution:
|
||||
{ integrity: sha512-qUmqs4kj9a5yBnk3JMLyjtWYN6Mzfcx8uJfi5XAveBniDevmZasdGBba5b4QsvRcAkmvGo5ACmSUmyGiKTLZew== }
|
||||
dependencies:
|
||||
micromark-util-character: 1.1.0
|
||||
micromark-util-types: 1.0.2
|
||||
dev: false
|
||||
|
||||
/micromark-factory-title@1.0.2:
|
||||
resolution:
|
||||
{ integrity: sha512-zily+Nr4yFqgMGRKLpTVsNl5L4PMu485fGFDOQJQBl2NFpjGte1e86zC0da93wf97jrc4+2G2GQudFMHn3IX+A== }
|
||||
dependencies:
|
||||
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-whitespace@1.0.0:
|
||||
resolution:
|
||||
{ integrity: sha512-Qx7uEyahU1lt1RnsECBiuEbfr9INjQTGa6Err+gF3g0Tx4YEviPbqqGKNv/NrBaE7dVHdn1bVZKM/n5I/Bak7A== }
|
||||
dependencies:
|
||||
micromark-factory-space: 1.0.0
|
||||
micromark-util-character: 1.1.0
|
||||
micromark-util-symbol: 1.0.1
|
||||
micromark-util-types: 1.0.2
|
||||
dev: false
|
||||
|
||||
/micromark-util-character@1.1.0:
|
||||
resolution:
|
||||
{ integrity: sha512-agJ5B3unGNJ9rJvADMJ5ZiYjBRyDpzKAOk01Kpi1TKhlT1APx3XZk6eN7RtSz1erbWHC2L8T3xLZ81wdtGRZzg== }
|
||||
dependencies:
|
||||
micromark-util-symbol: 1.0.1
|
||||
micromark-util-types: 1.0.2
|
||||
dev: false
|
||||
|
||||
/micromark-util-chunked@1.0.0:
|
||||
resolution:
|
||||
{ integrity: sha512-5e8xTis5tEZKgesfbQMKRCyzvffRRUX+lK/y+DvsMFdabAicPkkZV6gO+FEWi9RfuKKoxxPwNL+dFF0SMImc1g== }
|
||||
dependencies:
|
||||
micromark-util-symbol: 1.0.1
|
||||
dev: false
|
||||
|
||||
/micromark-util-classify-character@1.0.0:
|
||||
resolution:
|
||||
{ integrity: sha512-F8oW2KKrQRb3vS5ud5HIqBVkCqQi224Nm55o5wYLzY/9PwHGXC01tr3d7+TqHHz6zrKQ72Okwtvm/xQm6OVNZA== }
|
||||
dependencies:
|
||||
micromark-util-character: 1.1.0
|
||||
micromark-util-symbol: 1.0.1
|
||||
micromark-util-types: 1.0.2
|
||||
dev: false
|
||||
|
||||
/micromark-util-combine-extensions@1.0.0:
|
||||
resolution:
|
||||
{ integrity: sha512-J8H058vFBdo/6+AsjHp2NF7AJ02SZtWaVUjsayNFeAiydTxUwViQPxN0Hf8dp4FmCQi0UUFovFsEyRSUmFH3MA== }
|
||||
dependencies:
|
||||
micromark-util-chunked: 1.0.0
|
||||
micromark-util-types: 1.0.2
|
||||
dev: false
|
||||
|
||||
/micromark-util-decode-numeric-character-reference@1.0.0:
|
||||
resolution:
|
||||
{ integrity: sha512-OzO9AI5VUtrTD7KSdagf4MWgHMtET17Ua1fIpXTpuhclCqD8egFWo85GxSGvxgkGS74bEahvtM0WP0HjvV0e4w== }
|
||||
dependencies:
|
||||
micromark-util-symbol: 1.0.1
|
||||
dev: false
|
||||
|
||||
/micromark-util-decode-string@1.0.2:
|
||||
resolution:
|
||||
{ integrity: sha512-DLT5Ho02qr6QWVNYbRZ3RYOSSWWFuH3tJexd3dgN1odEuPNxCngTCXJum7+ViRAd9BbdxCvMToPOD/IvVhzG6Q== }
|
||||
dependencies:
|
||||
decode-named-character-reference: 1.0.2
|
||||
micromark-util-character: 1.1.0
|
||||
micromark-util-decode-numeric-character-reference: 1.0.0
|
||||
micromark-util-symbol: 1.0.1
|
||||
dev: false
|
||||
|
||||
/micromark-util-encode@1.0.1:
|
||||
resolution:
|
||||
{ integrity: sha512-U2s5YdnAYexjKDel31SVMPbfi+eF8y1U4pfiRW/Y8EFVCy/vgxk/2wWTxzcqE71LHtCuCzlBDRU2a5CQ5j+mQA== }
|
||||
dev: false
|
||||
|
||||
/micromark-util-html-tag-name@1.1.0:
|
||||
resolution:
|
||||
{ integrity: sha512-BKlClMmYROy9UiV03SwNmckkjn8QHVaWkqoAqzivabvdGcwNGMMMH/5szAnywmsTBUzDsU57/mFi0sp4BQO6dA== }
|
||||
dev: false
|
||||
|
||||
/micromark-util-normalize-identifier@1.0.0:
|
||||
resolution:
|
||||
{ integrity: sha512-yg+zrL14bBTFrQ7n35CmByWUTFsgst5JhA4gJYoty4Dqzj4Z4Fr/DHekSS5aLfH9bdlfnSvKAWsAgJhIbogyBg== }
|
||||
dependencies:
|
||||
micromark-util-symbol: 1.0.1
|
||||
dev: false
|
||||
|
||||
/micromark-util-resolve-all@1.0.0:
|
||||
resolution:
|
||||
{ integrity: sha512-CB/AGk98u50k42kvgaMM94wzBqozSzDDaonKU7P7jwQIuH2RU0TeBqGYJz2WY1UdihhjweivStrJ2JdkdEmcfw== }
|
||||
dependencies:
|
||||
micromark-util-types: 1.0.2
|
||||
dev: false
|
||||
|
||||
/micromark-util-sanitize-uri@1.1.0:
|
||||
resolution:
|
||||
{ integrity: sha512-RoxtuSCX6sUNtxhbmsEFQfWzs8VN7cTctmBPvYivo98xb/kDEoTCtJQX5wyzIYEmk/lvNFTat4hL8oW0KndFpg== }
|
||||
dependencies:
|
||||
micromark-util-character: 1.1.0
|
||||
micromark-util-encode: 1.0.1
|
||||
micromark-util-symbol: 1.0.1
|
||||
dev: false
|
||||
|
||||
/micromark-util-subtokenize@1.0.2:
|
||||
resolution:
|
||||
{ integrity: sha512-d90uqCnXp/cy4G881Ub4psE57Sf8YD0pim9QdjCRNjfas2M1u6Lbt+XZK9gnHL2XFhnozZiEdCa9CNfXSfQ6xA== }
|
||||
dependencies:
|
||||
micromark-util-chunked: 1.0.0
|
||||
micromark-util-symbol: 1.0.1
|
||||
micromark-util-types: 1.0.2
|
||||
uvu: 0.5.6
|
||||
dev: false
|
||||
|
||||
/micromark-util-symbol@1.0.1:
|
||||
resolution:
|
||||
{ integrity: sha512-oKDEMK2u5qqAptasDAwWDXq0tG9AssVwAx3E9bBF3t/shRIGsWIRG+cGafs2p/SnDSOecnt6hZPCE2o6lHfFmQ== }
|
||||
dev: false
|
||||
|
||||
/micromark-util-types@1.0.2:
|
||||
resolution:
|
||||
{ integrity: sha512-DCfg/T8fcrhrRKTPjRrw/5LLvdGV7BHySf/1LOZx7TzWZdYRjogNtyNq885z3nNallwr3QUKARjqvHqX1/7t+w== }
|
||||
dev: false
|
||||
|
||||
/micromark@3.1.0:
|
||||
resolution:
|
||||
{ integrity: sha512-6Mj0yHLdUZjHnOPgr5xfWIMqMWS12zDN6iws9SLuSz76W8jTtAv24MN4/CL7gJrl5vtxGInkkqDv/JIoRsQOvA== }
|
||||
dependencies:
|
||||
'@types/debug': 4.1.7
|
||||
debug: 4.3.4
|
||||
decode-named-character-reference: 1.0.2
|
||||
micromark-core-commonmark: 1.0.6
|
||||
micromark-factory-space: 1.0.0
|
||||
micromark-util-character: 1.1.0
|
||||
micromark-util-chunked: 1.0.0
|
||||
micromark-util-combine-extensions: 1.0.0
|
||||
micromark-util-decode-numeric-character-reference: 1.0.0
|
||||
micromark-util-encode: 1.0.1
|
||||
micromark-util-normalize-identifier: 1.0.0
|
||||
micromark-util-resolve-all: 1.0.0
|
||||
micromark-util-sanitize-uri: 1.1.0
|
||||
micromark-util-subtokenize: 1.0.2
|
||||
micromark-util-symbol: 1.0.1
|
||||
micromark-util-types: 1.0.2
|
||||
uvu: 0.5.6
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
dev: false
|
||||
|
||||
/micromatch@4.0.5:
|
||||
resolution:
|
||||
{ integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== }
|
||||
@ -3059,6 +3603,12 @@ packages:
|
||||
brace-expansion: 1.1.11
|
||||
dev: true
|
||||
|
||||
/mri@1.2.0:
|
||||
resolution:
|
||||
{ integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA== }
|
||||
engines: { node: '>=4' }
|
||||
dev: false
|
||||
|
||||
/mrmime@1.0.1:
|
||||
resolution:
|
||||
{ integrity: sha512-hzzEagAgDyoU1Q6yg5uI+AorQgdvMCur3FcKf7NhMKWsaYg+RnbTyHRa/9IlLF9rf455MOCtcqqrQQ83pPP7Uw== }
|
||||
@ -3073,7 +3623,6 @@ packages:
|
||||
/ms@2.1.2:
|
||||
resolution:
|
||||
{ integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== }
|
||||
dev: true
|
||||
|
||||
/mz@2.7.0:
|
||||
resolution:
|
||||
@ -3539,6 +4088,11 @@ packages:
|
||||
object-assign: 4.1.1
|
||||
react-is: 16.13.1
|
||||
|
||||
/property-information@6.2.0:
|
||||
resolution:
|
||||
{ integrity: sha512-kma4U7AFCTwpqq5twzC1YVIDXSqg6qQK6JN0smOw8fgRy1OkMi0CYSzFmsy6dnqSenamAtj0CyXMUJ1Mf6oROg== }
|
||||
dev: false
|
||||
|
||||
/punycode@2.3.0:
|
||||
resolution:
|
||||
{ integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA== }
|
||||
@ -3575,6 +4129,39 @@ packages:
|
||||
resolution:
|
||||
{ integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== }
|
||||
|
||||
/react-is@18.2.0:
|
||||
resolution:
|
||||
{ integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w== }
|
||||
dev: false
|
||||
|
||||
/react-markdown@8.0.7(@types/react@18.2.0)(react@18.2.0):
|
||||
resolution:
|
||||
{ integrity: sha512-bvWbzG4MtOU62XqBx3Xx+zB2raaFFsq4mYiAzfjXJMEz2sixgeAfraA3tvzULF02ZdOMUOKTBFFaZJDDrq+BJQ== }
|
||||
peerDependencies:
|
||||
'@types/react': '>=16'
|
||||
react: '>=16'
|
||||
dependencies:
|
||||
'@types/hast': 2.3.4
|
||||
'@types/prop-types': 15.7.5
|
||||
'@types/react': 18.2.0
|
||||
'@types/unist': 2.0.6
|
||||
comma-separated-tokens: 2.0.3
|
||||
hast-util-whitespace: 2.0.1
|
||||
prop-types: 15.8.1
|
||||
property-information: 6.2.0
|
||||
react: 18.2.0
|
||||
react-is: 18.2.0
|
||||
remark-parse: 10.0.1
|
||||
remark-rehype: 10.1.0
|
||||
space-separated-tokens: 2.0.2
|
||||
style-to-object: 0.4.1
|
||||
unified: 10.1.2
|
||||
unist-util-visit: 4.1.2
|
||||
vfile: 5.3.7
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
dev: false
|
||||
|
||||
/react-string-replace@1.1.0:
|
||||
resolution:
|
||||
{ integrity: sha512-N6RalSDFGbOHs0IJi1H611WbZsvk3ZT47Jl2JEXFbiS3kTwsdCYij70Keo/tWtLy7sfhDsYm7CwNM/WmjXIaMw== }
|
||||
@ -3641,6 +4228,39 @@ packages:
|
||||
functions-have-names: 1.2.3
|
||||
dev: true
|
||||
|
||||
/remark-gfm@3.0.1:
|
||||
resolution:
|
||||
{ integrity: sha512-lEFDoi2PICJyNrACFOfDD3JlLkuSbOa5Wd8EPt06HUdptv8Gn0bxYTdbU/XXQ3swAPkEaGxxPN9cbnMHvVu1Ig== }
|
||||
dependencies:
|
||||
'@types/mdast': 3.0.11
|
||||
mdast-util-gfm: 2.0.2
|
||||
micromark-extension-gfm: 2.0.1
|
||||
unified: 10.1.2
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
dev: false
|
||||
|
||||
/remark-parse@10.0.1:
|
||||
resolution:
|
||||
{ integrity: sha512-1fUyHr2jLsVOkhbvPRBJ5zTKZZyD6yZzYaWCS6BPBdQ8vEMBCH+9zNCDA6tET/zHCi/jLqjCWtlJZUPk+DbnFw== }
|
||||
dependencies:
|
||||
'@types/mdast': 3.0.11
|
||||
mdast-util-from-markdown: 1.3.0
|
||||
unified: 10.1.2
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
dev: false
|
||||
|
||||
/remark-rehype@10.1.0:
|
||||
resolution:
|
||||
{ integrity: sha512-EFmR5zppdBp0WQeDVZ/b66CWJipB2q2VLNFMabzDSGR66Z2fQii83G5gTBbgGEnEEA0QRussvrFHxk1HWGJskw== }
|
||||
dependencies:
|
||||
'@types/hast': 2.3.4
|
||||
'@types/mdast': 3.0.11
|
||||
mdast-util-to-hast: 12.3.0
|
||||
unified: 10.1.2
|
||||
dev: false
|
||||
|
||||
/resolve-from@4.0.0:
|
||||
resolution:
|
||||
{ integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== }
|
||||
@ -3718,6 +4338,14 @@ packages:
|
||||
tslib: 2.5.0
|
||||
dev: true
|
||||
|
||||
/sade@1.8.1:
|
||||
resolution:
|
||||
{ integrity: sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A== }
|
||||
engines: { node: '>=6' }
|
||||
dependencies:
|
||||
mri: 1.2.0
|
||||
dev: false
|
||||
|
||||
/safe-regex-test@1.0.0:
|
||||
resolution:
|
||||
{ integrity: sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA== }
|
||||
@ -3849,6 +4477,11 @@ packages:
|
||||
engines: { node: '>=0.10.0' }
|
||||
dev: true
|
||||
|
||||
/space-separated-tokens@2.0.2:
|
||||
resolution:
|
||||
{ integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q== }
|
||||
dev: false
|
||||
|
||||
/string-argv@0.3.2:
|
||||
resolution:
|
||||
{ integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q== }
|
||||
@ -3945,6 +4578,13 @@ packages:
|
||||
engines: { node: '>=8' }
|
||||
dev: true
|
||||
|
||||
/style-to-object@0.4.1:
|
||||
resolution:
|
||||
{ integrity: sha512-HFpbb5gr2ypci7Qw+IOhnP2zOU7e77b+rzM+wTzXzfi1PrtBCX0E7Pk4wL4iTLnhzZ+JgEGAhX81ebTg/aYjQw== }
|
||||
dependencies:
|
||||
inline-style-parser: 0.1.1
|
||||
dev: false
|
||||
|
||||
/sucrase@3.32.0:
|
||||
resolution:
|
||||
{ integrity: sha512-ydQOU34rpSyj2TGyz4D2p8rbktIOZ8QY9s+DGLvFU1i5pWJE8vkpruCjGCMHsdXwnD7JDcS+noSwM/a7zyNFDQ== }
|
||||
@ -4085,6 +4725,16 @@ packages:
|
||||
{ integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== }
|
||||
dev: false
|
||||
|
||||
/trim-lines@3.0.1:
|
||||
resolution:
|
||||
{ integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg== }
|
||||
dev: false
|
||||
|
||||
/trough@2.1.0:
|
||||
resolution:
|
||||
{ integrity: sha512-AqTiAOLcj85xS7vQ8QkAV41hPDIJ71XJB4RCUrzo/1GM2CQwhkJGaf9Hgr7BOugMRpgGUrqRg/DrBDl4H40+8g== }
|
||||
dev: false
|
||||
|
||||
/ts-interface-checker@0.1.13:
|
||||
resolution:
|
||||
{ integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA== }
|
||||
@ -4193,6 +4843,62 @@ packages:
|
||||
which-boxed-primitive: 1.0.2
|
||||
dev: true
|
||||
|
||||
/unified@10.1.2:
|
||||
resolution:
|
||||
{ integrity: sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q== }
|
||||
dependencies:
|
||||
'@types/unist': 2.0.6
|
||||
bail: 2.0.2
|
||||
extend: 3.0.2
|
||||
is-buffer: 2.0.5
|
||||
is-plain-obj: 4.1.0
|
||||
trough: 2.1.0
|
||||
vfile: 5.3.7
|
||||
dev: false
|
||||
|
||||
/unist-util-generated@2.0.1:
|
||||
resolution:
|
||||
{ integrity: sha512-qF72kLmPxAw0oN2fwpWIqbXAVyEqUzDHMsbtPvOudIlUzXYFIeQIuxXQCRCFh22B7cixvU0MG7m3MW8FTq/S+A== }
|
||||
dev: false
|
||||
|
||||
/unist-util-is@5.2.1:
|
||||
resolution:
|
||||
{ integrity: sha512-u9njyyfEh43npf1M+yGKDGVPbY/JWEemg5nH05ncKPfi+kBbKBJoTdsogMu33uhytuLlv9y0O7GH7fEdwLdLQw== }
|
||||
dependencies:
|
||||
'@types/unist': 2.0.6
|
||||
dev: false
|
||||
|
||||
/unist-util-position@4.0.4:
|
||||
resolution:
|
||||
{ integrity: sha512-kUBE91efOWfIVBo8xzh/uZQ7p9ffYRtUbMRZBNFYwf0RK8koUMx6dGUfwylLOKmaT2cs4wSW96QoYUSXAyEtpg== }
|
||||
dependencies:
|
||||
'@types/unist': 2.0.6
|
||||
dev: false
|
||||
|
||||
/unist-util-stringify-position@3.0.3:
|
||||
resolution:
|
||||
{ integrity: sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg== }
|
||||
dependencies:
|
||||
'@types/unist': 2.0.6
|
||||
dev: false
|
||||
|
||||
/unist-util-visit-parents@5.1.3:
|
||||
resolution:
|
||||
{ integrity: sha512-x6+y8g7wWMyQhL1iZfhIPhDAs7Xwbn9nRosDXl7qoPTSCy0yNxnKc+hWokFifWQIDGi154rdUqKvbCa4+1kLhg== }
|
||||
dependencies:
|
||||
'@types/unist': 2.0.6
|
||||
unist-util-is: 5.2.1
|
||||
dev: false
|
||||
|
||||
/unist-util-visit@4.1.2:
|
||||
resolution:
|
||||
{ integrity: sha512-MSd8OUGISqHdVvfY9TPhyK2VdUrPgxkUtWSuMHF6XAAFuL4LokseigBnZtPnJMu+FbynTkFNnFlyjxpVKujMRg== }
|
||||
dependencies:
|
||||
'@types/unist': 2.0.6
|
||||
unist-util-is: 5.2.1
|
||||
unist-util-visit-parents: 5.1.3
|
||||
dev: false
|
||||
|
||||
/update-browserslist-db@1.0.11(browserslist@4.21.5):
|
||||
resolution:
|
||||
{ integrity: sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA== }
|
||||
@ -4241,6 +4947,36 @@ packages:
|
||||
hasBin: true
|
||||
dev: true
|
||||
|
||||
/uvu@0.5.6:
|
||||
resolution:
|
||||
{ integrity: sha512-+g8ENReyr8YsOc6fv/NVJs2vFdHBnBNdfE49rshrTzDWOlUx4Gq7KOS2GD8eqhy2j+Ejq29+SbKH8yjkAqXqoA== }
|
||||
engines: { node: '>=8' }
|
||||
hasBin: true
|
||||
dependencies:
|
||||
dequal: 2.0.3
|
||||
diff: 5.1.0
|
||||
kleur: 4.1.5
|
||||
sade: 1.8.1
|
||||
dev: false
|
||||
|
||||
/vfile-message@3.1.4:
|
||||
resolution:
|
||||
{ integrity: sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw== }
|
||||
dependencies:
|
||||
'@types/unist': 2.0.6
|
||||
unist-util-stringify-position: 3.0.3
|
||||
dev: false
|
||||
|
||||
/vfile@5.3.7:
|
||||
resolution:
|
||||
{ integrity: sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g== }
|
||||
dependencies:
|
||||
'@types/unist': 2.0.6
|
||||
is-buffer: 2.0.5
|
||||
unist-util-stringify-position: 3.0.3
|
||||
vfile-message: 3.1.4
|
||||
dev: false
|
||||
|
||||
/vidstack@0.4.5:
|
||||
resolution:
|
||||
{ integrity: sha512-6CFkWRSvDQAd91WQ6PZ/ovwbGFDI8pLuIA0swcDLLAOM6MiKWFd/gFjJ/x7+DAcCf0hqOngO34MJhG3zTZQtcQ== }
|
||||
@ -4483,6 +5219,11 @@ packages:
|
||||
- supports-color
|
||||
dev: false
|
||||
|
||||
/zwitch@2.0.4:
|
||||
resolution:
|
||||
{ integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A== }
|
||||
dev: false
|
||||
|
||||
github.com/tauri-apps/tauri-plugin-sql/312c4d39ac5eb1c6c75e8ecee1c4bc89ed799675:
|
||||
resolution:
|
||||
{
|
||||
|
@ -1,3 +1,4 @@
|
||||
import { ContentMarkdown } from '@lume/app/note/components/markdown';
|
||||
import NoteMetadata from '@lume/app/note/components/metadata';
|
||||
import { NoteParent } from '@lume/app/note/components/parent';
|
||||
import { noteParser } from '@lume/app/note/components/parser';
|
||||
@ -32,9 +33,7 @@ export default function NoteBase({ event }: { event: any }) {
|
||||
<div className="relative z-10 flex flex-col">
|
||||
<NoteDefaultUser pubkey={event.pubkey} time={event.created_at} />
|
||||
<div className="mt-1 pl-[52px]">
|
||||
<div className="whitespace-pre-line break-words text-[15px] leading-tight text-zinc-100">
|
||||
{content.parsed}
|
||||
</div>
|
||||
<ContentMarkdown content={content.parsed} />
|
||||
{Array.isArray(content.images) && content.images.length ? <ImagePreview urls={content.images} /> : <></>}
|
||||
{Array.isArray(content.videos) && content.videos.length ? <VideoPreview urls={content.videos} /> : <></>}
|
||||
</div>
|
||||
|
22
src/app/note/components/markdown.tsx
Normal file
22
src/app/note/components/markdown.tsx
Normal file
@ -0,0 +1,22 @@
|
||||
import { NoteQuote } from '@lume/app/note/components/quote';
|
||||
import { NoteMentionUser } from '@lume/app/note/components/user/mention';
|
||||
|
||||
import ReactMarkdown from 'react-markdown';
|
||||
import remarkGfm from 'remark-gfm';
|
||||
|
||||
export const ContentMarkdown = ({ content }: { content: any }) => {
|
||||
return (
|
||||
<ReactMarkdown
|
||||
remarkPlugins={[[remarkGfm]]}
|
||||
linkTarget="_blank"
|
||||
className="prose prose-zinc max-w-none break-words dark:prose-invert prose-p:text-[15px] prose-p:leading-tight prose-a:text-[15px] prose-a:leading-tight prose-a:text-fuchsia-500 prose-a:no-underline prose-a:hover:text-fuchsia-600 prose-a:hover:underline prose-ol:mb-1 prose-ul:mb-1 prose-li:text-[15px] prose-li:leading-tight"
|
||||
components={{
|
||||
h5: ({ ...props }) => <NoteMentionUser pubkey={props.content} />,
|
||||
h6: ({ ...props }) => <NoteQuote id={props.content} />,
|
||||
em: ({ ...props }) => <span className="text-fuchsia-500 hover:text-fuchsia-600" {...props} />,
|
||||
}}
|
||||
>
|
||||
{content}
|
||||
</ReactMarkdown>
|
||||
);
|
||||
};
|
@ -1,3 +1,4 @@
|
||||
import { ContentMarkdown } from '@lume/app/note/components/markdown';
|
||||
import NoteMetadata from '@lume/app/note/components/metadata';
|
||||
import { noteParser } from '@lume/app/note/components/parser';
|
||||
import ImagePreview from '@lume/app/note/components/preview/image';
|
||||
@ -71,9 +72,8 @@ export const NoteParent = memo(function NoteParent({ id }: { id: string }) {
|
||||
<div className="relative z-10 flex flex-col">
|
||||
<NoteDefaultUser pubkey={data.pubkey} time={data.created_at} />
|
||||
<div className="mt-1 pl-[52px]">
|
||||
<div className="whitespace-pre-line break-words text-[15px] leading-tight text-zinc-100">
|
||||
{content ? content.parsed : ''}
|
||||
</div>
|
||||
<div className="whitespace-pre-line break-words text-[15px] leading-tight text-zinc-100"></div>
|
||||
<ContentMarkdown content={content.parsed} />
|
||||
{Array.isArray(content.images) && content.images.length ? <ImagePreview urls={content.images} /> : <></>}
|
||||
{Array.isArray(content.videos) && content.videos.length ? <VideoPreview urls={content.videos} /> : <></>}
|
||||
</div>
|
||||
|
@ -1,8 +1,4 @@
|
||||
import { NoteQuote } from '@lume/app/note/components/quote';
|
||||
import { NoteMentionUser } from '@lume/app/note/components/user/mention';
|
||||
|
||||
import { Event, parseReferences } from 'nostr-tools';
|
||||
import reactStringReplace from 'react-string-replace';
|
||||
import { Event } from 'nostr-tools';
|
||||
|
||||
const getURLs = new RegExp(
|
||||
'(^|[ \t\r\n])((ftp|http|https|gopher|mailto|news|nntp|telnet|wais|file|prospero|aim|webcal|wss|ws):(([A-Za-z0-9$_.+!*(),;/?:@&~=-])|%[A-Fa-f0-9]{2}){2,}(#([a-zA-Z0-9][a-zA-Z0-9$_.+!*(),;/?:@&~=%-]*))?([A-Za-z0-9$_+!*();/?:~-]))',
|
||||
@ -10,7 +6,6 @@ const getURLs = new RegExp(
|
||||
);
|
||||
|
||||
export const noteParser = (event: Event) => {
|
||||
const references = parseReferences(event);
|
||||
const content: { original: string; parsed: any; images: string[]; videos: string[] } = {
|
||||
original: event.content,
|
||||
parsed: event.content,
|
||||
@ -33,43 +28,22 @@ export const noteParser = (event: Event) => {
|
||||
content.videos.push(url);
|
||||
// remove url from original content
|
||||
content.parsed = content.parsed.toString().replace(url, '');
|
||||
} else {
|
||||
content.parsed = reactStringReplace(content.parsed, url, () => {
|
||||
return (
|
||||
<a key={url} href={url} className="text-fuchsia-500 no-underline hover:text-fuchsia-600 hover:underline">
|
||||
{url}
|
||||
</a>
|
||||
);
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
// handle hashtag
|
||||
content.parsed = reactStringReplace(content.parsed, /#(\w+)/g, (match, i) => (
|
||||
<span key={match + i} className="cursor-pointer text-fuchsia-500 hover:text-fuchsia-600">
|
||||
#{match}
|
||||
</span>
|
||||
));
|
||||
|
||||
// handle note references
|
||||
references?.forEach((reference) => {
|
||||
if (reference?.profile) {
|
||||
content.parsed = reactStringReplace(content.parsed, reference.text, () => {
|
||||
return <NoteMentionUser key={reference.profile.pubkey} pubkey={reference.profile.pubkey} />;
|
||||
});
|
||||
}
|
||||
if (reference?.event) {
|
||||
content.parsed = reactStringReplace(content.parsed, reference.text, () => {
|
||||
return <NoteQuote key={reference.event.id} id={reference.event.id} />;
|
||||
});
|
||||
}
|
||||
// map hashtag to em
|
||||
content.original.match(/#(\w+)(?!:\/\/)/gi)?.forEach((item) => {
|
||||
content.parsed = content.parsed.replace(item, `*${item}*`);
|
||||
});
|
||||
|
||||
// remove extra spaces
|
||||
content.parsed.forEach((item, index) => {
|
||||
if (typeof item === 'string') {
|
||||
content.parsed[index] = item.replace(/\s{2,}/g, ' ');
|
||||
}
|
||||
// map note mention to h6
|
||||
content.original.match(/^(nostr:)?(note1|nevent1).*$/gm)?.forEach((item) => {
|
||||
content.parsed = content.parsed.replace(item, `###### ${item}`);
|
||||
});
|
||||
|
||||
// map profile mention to h5
|
||||
content.original.match(/^(nostr:)?(nprofile1|npub1).*$/gm)?.forEach((item) => {
|
||||
content.parsed = content.parsed.replace(item, `##### ${item}`);
|
||||
});
|
||||
|
||||
return content;
|
||||
|
@ -1,3 +1,4 @@
|
||||
import { ContentMarkdown } from '@lume/app/note/components/markdown';
|
||||
import { noteParser } from '@lume/app/note/components/parser';
|
||||
import ImagePreview from '@lume/app/note/components/preview/image';
|
||||
import VideoPreview from '@lume/app/note/components/preview/video';
|
||||
@ -58,9 +59,7 @@ export const NoteQuote = memo(function NoteQuote({ id }: { id: string }) {
|
||||
<div className="relative z-10 flex flex-col">
|
||||
<NoteDefaultUser pubkey={data.pubkey} time={data.created_at} />
|
||||
<div className="mt-1 pl-[52px]">
|
||||
<div className="whitespace-pre-line break-words text-[15px] leading-tight text-zinc-100">
|
||||
{content ? content.parsed : ''}
|
||||
</div>
|
||||
<ContentMarkdown content={content.parsed} />
|
||||
{Array.isArray(content.images) && content.images.length ? <ImagePreview urls={content.images} /> : <></>}
|
||||
{Array.isArray(content.videos) && content.videos.length ? <VideoPreview urls={content.videos} /> : <></>}
|
||||
</div>
|
||||
|
@ -1,4 +1,5 @@
|
||||
import { noteParser } from '@lume/app/note/components//parser';
|
||||
import { ContentMarkdown } from '@lume/app/note/components/markdown';
|
||||
import ImagePreview from '@lume/app/note/components/preview/image';
|
||||
import VideoPreview from '@lume/app/note/components/preview/video';
|
||||
import NoteReplyUser from '@lume/app/note/components/user/reply';
|
||||
@ -11,7 +12,7 @@ export default function NoteReply({ data }: { data: any }) {
|
||||
<div className="flex flex-col">
|
||||
<NoteReplyUser pubkey={data.pubkey} time={data.created_at} />
|
||||
<div className="-mt-[17px] pl-[48px]">
|
||||
<div className="whitespace-pre-line break-words text-sm leading-tight">{content.parsed}</div>
|
||||
<ContentMarkdown content={content.parsed} />
|
||||
{Array.isArray(content.images) && content.images.length ? <ImagePreview urls={content.images} /> : <></>}
|
||||
{Array.isArray(content.videos) && content.videos.length ? <VideoPreview urls={content.videos} /> : <></>}
|
||||
</div>
|
||||
|
@ -1,3 +1,4 @@
|
||||
import { ContentMarkdown } from '@lume/app/note/components/markdown';
|
||||
import NoteMetadata from '@lume/app/note/components/metadata';
|
||||
import { noteParser } from '@lume/app/note/components/parser';
|
||||
import ImagePreview from '@lume/app/note/components/preview/image';
|
||||
@ -64,9 +65,7 @@ export const RootNote = memo(function RootNote({ id, fallback }: { id: string; f
|
||||
<div onClick={(e) => openNote(e)} className="relative z-10 flex flex-col">
|
||||
<NoteDefaultUser pubkey={parseFallback.pubkey} time={parseFallback.created_at} />
|
||||
<div className="mt-1 pl-[52px]">
|
||||
<div className="whitespace-pre-line break-words text-[15px] leading-tight text-zinc-100">
|
||||
{contentFallback.parsed}
|
||||
</div>
|
||||
<ContentMarkdown content={contentFallback.parsed} />
|
||||
{Array.isArray(contentFallback.images) && contentFallback.images.length ? (
|
||||
<ImagePreview urls={contentFallback.images} />
|
||||
) : (
|
||||
@ -114,9 +113,7 @@ export const RootNote = memo(function RootNote({ id, fallback }: { id: string; f
|
||||
<div onClick={(e) => openNote(e)} className="relative z-10 flex flex-col">
|
||||
<NoteDefaultUser pubkey={data.pubkey} time={data.created_at} />
|
||||
<div className="mt-1 pl-[52px]">
|
||||
<div className="whitespace-pre-line break-words text-[15px] leading-tight text-zinc-100">
|
||||
{content ? content.parsed : ''}
|
||||
</div>
|
||||
<ContentMarkdown content={content.parsed} />
|
||||
{Array.isArray(content.images) && content.images.length ? <ImagePreview urls={content.images} /> : <></>}
|
||||
{Array.isArray(content.videos) && content.videos.length ? <VideoPreview urls={content.videos} /> : <></>}
|
||||
</div>
|
||||
|
Loading…
Reference in New Issue
Block a user