rafmacalaba commited on
Commit
a1705f4
·
1 Parent(s): 68541dd

feat: add remark-gfm to support markdown tables

Browse files
Files changed (3) hide show
  1. app/page.js +2 -1
  2. package-lock.json +295 -1
  3. package.json +2 -1
app/page.js CHANGED
@@ -2,6 +2,7 @@
2
 
3
  import { useState, useEffect } from 'react';
4
  import ReactMarkdown from 'react-markdown';
 
5
 
6
  export default function Home() {
7
  const [documents, setDocuments] = useState([]);
@@ -144,7 +145,7 @@ export default function Home() {
144
  <h3>Extracted Text (Doc {selectedDocIndex}, Page {selectedPage})</h3>
145
  {currentPageData ? (
146
  <div className="markdown-preview">
147
- <ReactMarkdown>{currentPageData.input_text || "No text available."}</ReactMarkdown>
148
  </div>
149
  ) : (
150
  <p>Loading text...</p>
 
2
 
3
  import { useState, useEffect } from 'react';
4
  import ReactMarkdown from 'react-markdown';
5
+ import remarkGfm from 'remark-gfm';
6
 
7
  export default function Home() {
8
  const [documents, setDocuments] = useState([]);
 
145
  <h3>Extracted Text (Doc {selectedDocIndex}, Page {selectedPage})</h3>
146
  {currentPageData ? (
147
  <div className="markdown-preview">
148
+ <ReactMarkdown remarkPlugins={[remarkGfm]}>{currentPageData.input_text || "No text available."}</ReactMarkdown>
149
  </div>
150
  ) : (
151
  <p>Loading text...</p>
package-lock.json CHANGED
@@ -12,7 +12,8 @@
12
  "next": "14.2.14",
13
  "react": "^18",
14
  "react-dom": "^18",
15
- "react-markdown": "^10.1.0"
 
16
  }
17
  },
18
  "node_modules/@huggingface/hub": {
@@ -471,6 +472,18 @@
471
  "license": "MIT",
472
  "optional": true
473
  },
 
 
 
 
 
 
 
 
 
 
 
 
474
  "node_modules/estree-util-is-identifier-name": {
475
  "version": "3.0.0",
476
  "resolved": "https://registry.npmjs.org/estree-util-is-identifier-name/-/estree-util-is-identifier-name-3.0.0.tgz",
@@ -643,6 +656,32 @@
643
  "loose-envify": "cli.js"
644
  }
645
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
646
  "node_modules/mdast-util-from-markdown": {
647
  "version": "2.0.3",
648
  "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.3.tgz",
@@ -667,6 +706,107 @@
667
  "url": "https://opencollective.com/unified"
668
  }
669
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
670
  "node_modules/mdast-util-mdx-expression": {
671
  "version": "2.0.1",
672
  "resolved": "https://registry.npmjs.org/mdast-util-mdx-expression/-/mdast-util-mdx-expression-2.0.1.tgz",
@@ -865,6 +1005,127 @@
865
  "micromark-util-types": "^2.0.0"
866
  }
867
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
868
  "node_modules/micromark-factory-destination": {
869
  "version": "2.0.1",
870
  "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-2.0.1.tgz",
@@ -1434,6 +1695,24 @@
1434
  "react": ">=18"
1435
  }
1436
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1437
  "node_modules/remark-parse": {
1438
  "version": "11.0.0",
1439
  "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-11.0.0.tgz",
@@ -1467,6 +1746,21 @@
1467
  "url": "https://opencollective.com/unified"
1468
  }
1469
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1470
  "node_modules/scheduler": {
1471
  "version": "0.23.2",
1472
  "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz",
 
12
  "next": "14.2.14",
13
  "react": "^18",
14
  "react-dom": "^18",
15
+ "react-markdown": "^10.1.0",
16
+ "remark-gfm": "^4.0.1"
17
  }
18
  },
19
  "node_modules/@huggingface/hub": {
 
472
  "license": "MIT",
473
  "optional": true
474
  },
475
+ "node_modules/escape-string-regexp": {
476
+ "version": "5.0.0",
477
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz",
478
+ "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==",
479
+ "license": "MIT",
480
+ "engines": {
481
+ "node": ">=12"
482
+ },
483
+ "funding": {
484
+ "url": "https://github.com/sponsors/sindresorhus"
485
+ }
486
+ },
487
  "node_modules/estree-util-is-identifier-name": {
488
  "version": "3.0.0",
489
  "resolved": "https://registry.npmjs.org/estree-util-is-identifier-name/-/estree-util-is-identifier-name-3.0.0.tgz",
 
656
  "loose-envify": "cli.js"
657
  }
658
  },
659
+ "node_modules/markdown-table": {
660
+ "version": "3.0.4",
661
+ "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-3.0.4.tgz",
662
+ "integrity": "sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw==",
663
+ "license": "MIT",
664
+ "funding": {
665
+ "type": "github",
666
+ "url": "https://github.com/sponsors/wooorm"
667
+ }
668
+ },
669
+ "node_modules/mdast-util-find-and-replace": {
670
+ "version": "3.0.2",
671
+ "resolved": "https://registry.npmjs.org/mdast-util-find-and-replace/-/mdast-util-find-and-replace-3.0.2.tgz",
672
+ "integrity": "sha512-Tmd1Vg/m3Xz43afeNxDIhWRtFZgM2VLyaf4vSTYwudTyeuTneoL3qtWMA5jeLyz/O1vDJmmV4QuScFCA2tBPwg==",
673
+ "license": "MIT",
674
+ "dependencies": {
675
+ "@types/mdast": "^4.0.0",
676
+ "escape-string-regexp": "^5.0.0",
677
+ "unist-util-is": "^6.0.0",
678
+ "unist-util-visit-parents": "^6.0.0"
679
+ },
680
+ "funding": {
681
+ "type": "opencollective",
682
+ "url": "https://opencollective.com/unified"
683
+ }
684
+ },
685
  "node_modules/mdast-util-from-markdown": {
686
  "version": "2.0.3",
687
  "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.3.tgz",
 
706
  "url": "https://opencollective.com/unified"
707
  }
708
  },
709
+ "node_modules/mdast-util-gfm": {
710
+ "version": "3.1.0",
711
+ "resolved": "https://registry.npmjs.org/mdast-util-gfm/-/mdast-util-gfm-3.1.0.tgz",
712
+ "integrity": "sha512-0ulfdQOM3ysHhCJ1p06l0b0VKlhU0wuQs3thxZQagjcjPrlFRqY215uZGHHJan9GEAXd9MbfPjFJz+qMkVR6zQ==",
713
+ "license": "MIT",
714
+ "dependencies": {
715
+ "mdast-util-from-markdown": "^2.0.0",
716
+ "mdast-util-gfm-autolink-literal": "^2.0.0",
717
+ "mdast-util-gfm-footnote": "^2.0.0",
718
+ "mdast-util-gfm-strikethrough": "^2.0.0",
719
+ "mdast-util-gfm-table": "^2.0.0",
720
+ "mdast-util-gfm-task-list-item": "^2.0.0",
721
+ "mdast-util-to-markdown": "^2.0.0"
722
+ },
723
+ "funding": {
724
+ "type": "opencollective",
725
+ "url": "https://opencollective.com/unified"
726
+ }
727
+ },
728
+ "node_modules/mdast-util-gfm-autolink-literal": {
729
+ "version": "2.0.1",
730
+ "resolved": "https://registry.npmjs.org/mdast-util-gfm-autolink-literal/-/mdast-util-gfm-autolink-literal-2.0.1.tgz",
731
+ "integrity": "sha512-5HVP2MKaP6L+G6YaxPNjuL0BPrq9orG3TsrZ9YXbA3vDw/ACI4MEsnoDpn6ZNm7GnZgtAcONJyPhOP8tNJQavQ==",
732
+ "license": "MIT",
733
+ "dependencies": {
734
+ "@types/mdast": "^4.0.0",
735
+ "ccount": "^2.0.0",
736
+ "devlop": "^1.0.0",
737
+ "mdast-util-find-and-replace": "^3.0.0",
738
+ "micromark-util-character": "^2.0.0"
739
+ },
740
+ "funding": {
741
+ "type": "opencollective",
742
+ "url": "https://opencollective.com/unified"
743
+ }
744
+ },
745
+ "node_modules/mdast-util-gfm-footnote": {
746
+ "version": "2.1.0",
747
+ "resolved": "https://registry.npmjs.org/mdast-util-gfm-footnote/-/mdast-util-gfm-footnote-2.1.0.tgz",
748
+ "integrity": "sha512-sqpDWlsHn7Ac9GNZQMeUzPQSMzR6Wv0WKRNvQRg0KqHh02fpTz69Qc1QSseNX29bhz1ROIyNyxExfawVKTm1GQ==",
749
+ "license": "MIT",
750
+ "dependencies": {
751
+ "@types/mdast": "^4.0.0",
752
+ "devlop": "^1.1.0",
753
+ "mdast-util-from-markdown": "^2.0.0",
754
+ "mdast-util-to-markdown": "^2.0.0",
755
+ "micromark-util-normalize-identifier": "^2.0.0"
756
+ },
757
+ "funding": {
758
+ "type": "opencollective",
759
+ "url": "https://opencollective.com/unified"
760
+ }
761
+ },
762
+ "node_modules/mdast-util-gfm-strikethrough": {
763
+ "version": "2.0.0",
764
+ "resolved": "https://registry.npmjs.org/mdast-util-gfm-strikethrough/-/mdast-util-gfm-strikethrough-2.0.0.tgz",
765
+ "integrity": "sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==",
766
+ "license": "MIT",
767
+ "dependencies": {
768
+ "@types/mdast": "^4.0.0",
769
+ "mdast-util-from-markdown": "^2.0.0",
770
+ "mdast-util-to-markdown": "^2.0.0"
771
+ },
772
+ "funding": {
773
+ "type": "opencollective",
774
+ "url": "https://opencollective.com/unified"
775
+ }
776
+ },
777
+ "node_modules/mdast-util-gfm-table": {
778
+ "version": "2.0.0",
779
+ "resolved": "https://registry.npmjs.org/mdast-util-gfm-table/-/mdast-util-gfm-table-2.0.0.tgz",
780
+ "integrity": "sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==",
781
+ "license": "MIT",
782
+ "dependencies": {
783
+ "@types/mdast": "^4.0.0",
784
+ "devlop": "^1.0.0",
785
+ "markdown-table": "^3.0.0",
786
+ "mdast-util-from-markdown": "^2.0.0",
787
+ "mdast-util-to-markdown": "^2.0.0"
788
+ },
789
+ "funding": {
790
+ "type": "opencollective",
791
+ "url": "https://opencollective.com/unified"
792
+ }
793
+ },
794
+ "node_modules/mdast-util-gfm-task-list-item": {
795
+ "version": "2.0.0",
796
+ "resolved": "https://registry.npmjs.org/mdast-util-gfm-task-list-item/-/mdast-util-gfm-task-list-item-2.0.0.tgz",
797
+ "integrity": "sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==",
798
+ "license": "MIT",
799
+ "dependencies": {
800
+ "@types/mdast": "^4.0.0",
801
+ "devlop": "^1.0.0",
802
+ "mdast-util-from-markdown": "^2.0.0",
803
+ "mdast-util-to-markdown": "^2.0.0"
804
+ },
805
+ "funding": {
806
+ "type": "opencollective",
807
+ "url": "https://opencollective.com/unified"
808
+ }
809
+ },
810
  "node_modules/mdast-util-mdx-expression": {
811
  "version": "2.0.1",
812
  "resolved": "https://registry.npmjs.org/mdast-util-mdx-expression/-/mdast-util-mdx-expression-2.0.1.tgz",
 
1005
  "micromark-util-types": "^2.0.0"
1006
  }
1007
  },
1008
+ "node_modules/micromark-extension-gfm": {
1009
+ "version": "3.0.0",
1010
+ "resolved": "https://registry.npmjs.org/micromark-extension-gfm/-/micromark-extension-gfm-3.0.0.tgz",
1011
+ "integrity": "sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==",
1012
+ "license": "MIT",
1013
+ "dependencies": {
1014
+ "micromark-extension-gfm-autolink-literal": "^2.0.0",
1015
+ "micromark-extension-gfm-footnote": "^2.0.0",
1016
+ "micromark-extension-gfm-strikethrough": "^2.0.0",
1017
+ "micromark-extension-gfm-table": "^2.0.0",
1018
+ "micromark-extension-gfm-tagfilter": "^2.0.0",
1019
+ "micromark-extension-gfm-task-list-item": "^2.0.0",
1020
+ "micromark-util-combine-extensions": "^2.0.0",
1021
+ "micromark-util-types": "^2.0.0"
1022
+ },
1023
+ "funding": {
1024
+ "type": "opencollective",
1025
+ "url": "https://opencollective.com/unified"
1026
+ }
1027
+ },
1028
+ "node_modules/micromark-extension-gfm-autolink-literal": {
1029
+ "version": "2.1.0",
1030
+ "resolved": "https://registry.npmjs.org/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-2.1.0.tgz",
1031
+ "integrity": "sha512-oOg7knzhicgQ3t4QCjCWgTmfNhvQbDDnJeVu9v81r7NltNCVmhPy1fJRX27pISafdjL+SVc4d3l48Gb6pbRypw==",
1032
+ "license": "MIT",
1033
+ "dependencies": {
1034
+ "micromark-util-character": "^2.0.0",
1035
+ "micromark-util-sanitize-uri": "^2.0.0",
1036
+ "micromark-util-symbol": "^2.0.0",
1037
+ "micromark-util-types": "^2.0.0"
1038
+ },
1039
+ "funding": {
1040
+ "type": "opencollective",
1041
+ "url": "https://opencollective.com/unified"
1042
+ }
1043
+ },
1044
+ "node_modules/micromark-extension-gfm-footnote": {
1045
+ "version": "2.1.0",
1046
+ "resolved": "https://registry.npmjs.org/micromark-extension-gfm-footnote/-/micromark-extension-gfm-footnote-2.1.0.tgz",
1047
+ "integrity": "sha512-/yPhxI1ntnDNsiHtzLKYnE3vf9JZ6cAisqVDauhp4CEHxlb4uoOTxOCJ+9s51bIB8U1N1FJ1RXOKTIlD5B/gqw==",
1048
+ "license": "MIT",
1049
+ "dependencies": {
1050
+ "devlop": "^1.0.0",
1051
+ "micromark-core-commonmark": "^2.0.0",
1052
+ "micromark-factory-space": "^2.0.0",
1053
+ "micromark-util-character": "^2.0.0",
1054
+ "micromark-util-normalize-identifier": "^2.0.0",
1055
+ "micromark-util-sanitize-uri": "^2.0.0",
1056
+ "micromark-util-symbol": "^2.0.0",
1057
+ "micromark-util-types": "^2.0.0"
1058
+ },
1059
+ "funding": {
1060
+ "type": "opencollective",
1061
+ "url": "https://opencollective.com/unified"
1062
+ }
1063
+ },
1064
+ "node_modules/micromark-extension-gfm-strikethrough": {
1065
+ "version": "2.1.0",
1066
+ "resolved": "https://registry.npmjs.org/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-2.1.0.tgz",
1067
+ "integrity": "sha512-ADVjpOOkjz1hhkZLlBiYA9cR2Anf8F4HqZUO6e5eDcPQd0Txw5fxLzzxnEkSkfnD0wziSGiv7sYhk/ktvbf1uw==",
1068
+ "license": "MIT",
1069
+ "dependencies": {
1070
+ "devlop": "^1.0.0",
1071
+ "micromark-util-chunked": "^2.0.0",
1072
+ "micromark-util-classify-character": "^2.0.0",
1073
+ "micromark-util-resolve-all": "^2.0.0",
1074
+ "micromark-util-symbol": "^2.0.0",
1075
+ "micromark-util-types": "^2.0.0"
1076
+ },
1077
+ "funding": {
1078
+ "type": "opencollective",
1079
+ "url": "https://opencollective.com/unified"
1080
+ }
1081
+ },
1082
+ "node_modules/micromark-extension-gfm-table": {
1083
+ "version": "2.1.1",
1084
+ "resolved": "https://registry.npmjs.org/micromark-extension-gfm-table/-/micromark-extension-gfm-table-2.1.1.tgz",
1085
+ "integrity": "sha512-t2OU/dXXioARrC6yWfJ4hqB7rct14e8f7m0cbI5hUmDyyIlwv5vEtooptH8INkbLzOatzKuVbQmAYcbWoyz6Dg==",
1086
+ "license": "MIT",
1087
+ "dependencies": {
1088
+ "devlop": "^1.0.0",
1089
+ "micromark-factory-space": "^2.0.0",
1090
+ "micromark-util-character": "^2.0.0",
1091
+ "micromark-util-symbol": "^2.0.0",
1092
+ "micromark-util-types": "^2.0.0"
1093
+ },
1094
+ "funding": {
1095
+ "type": "opencollective",
1096
+ "url": "https://opencollective.com/unified"
1097
+ }
1098
+ },
1099
+ "node_modules/micromark-extension-gfm-tagfilter": {
1100
+ "version": "2.0.0",
1101
+ "resolved": "https://registry.npmjs.org/micromark-extension-gfm-tagfilter/-/micromark-extension-gfm-tagfilter-2.0.0.tgz",
1102
+ "integrity": "sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==",
1103
+ "license": "MIT",
1104
+ "dependencies": {
1105
+ "micromark-util-types": "^2.0.0"
1106
+ },
1107
+ "funding": {
1108
+ "type": "opencollective",
1109
+ "url": "https://opencollective.com/unified"
1110
+ }
1111
+ },
1112
+ "node_modules/micromark-extension-gfm-task-list-item": {
1113
+ "version": "2.1.0",
1114
+ "resolved": "https://registry.npmjs.org/micromark-extension-gfm-task-list-item/-/micromark-extension-gfm-task-list-item-2.1.0.tgz",
1115
+ "integrity": "sha512-qIBZhqxqI6fjLDYFTBIa4eivDMnP+OZqsNwmQ3xNLE4Cxwc+zfQEfbs6tzAo2Hjq+bh6q5F+Z8/cksrLFYWQQw==",
1116
+ "license": "MIT",
1117
+ "dependencies": {
1118
+ "devlop": "^1.0.0",
1119
+ "micromark-factory-space": "^2.0.0",
1120
+ "micromark-util-character": "^2.0.0",
1121
+ "micromark-util-symbol": "^2.0.0",
1122
+ "micromark-util-types": "^2.0.0"
1123
+ },
1124
+ "funding": {
1125
+ "type": "opencollective",
1126
+ "url": "https://opencollective.com/unified"
1127
+ }
1128
+ },
1129
  "node_modules/micromark-factory-destination": {
1130
  "version": "2.0.1",
1131
  "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-2.0.1.tgz",
 
1695
  "react": ">=18"
1696
  }
1697
  },
1698
+ "node_modules/remark-gfm": {
1699
+ "version": "4.0.1",
1700
+ "resolved": "https://registry.npmjs.org/remark-gfm/-/remark-gfm-4.0.1.tgz",
1701
+ "integrity": "sha512-1quofZ2RQ9EWdeN34S79+KExV1764+wCUGop5CPL1WGdD0ocPpu91lzPGbwWMECpEpd42kJGQwzRfyov9j4yNg==",
1702
+ "license": "MIT",
1703
+ "dependencies": {
1704
+ "@types/mdast": "^4.0.0",
1705
+ "mdast-util-gfm": "^3.0.0",
1706
+ "micromark-extension-gfm": "^3.0.0",
1707
+ "remark-parse": "^11.0.0",
1708
+ "remark-stringify": "^11.0.0",
1709
+ "unified": "^11.0.0"
1710
+ },
1711
+ "funding": {
1712
+ "type": "opencollective",
1713
+ "url": "https://opencollective.com/unified"
1714
+ }
1715
+ },
1716
  "node_modules/remark-parse": {
1717
  "version": "11.0.0",
1718
  "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-11.0.0.tgz",
 
1746
  "url": "https://opencollective.com/unified"
1747
  }
1748
  },
1749
+ "node_modules/remark-stringify": {
1750
+ "version": "11.0.0",
1751
+ "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-11.0.0.tgz",
1752
+ "integrity": "sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==",
1753
+ "license": "MIT",
1754
+ "dependencies": {
1755
+ "@types/mdast": "^4.0.0",
1756
+ "mdast-util-to-markdown": "^2.0.0",
1757
+ "unified": "^11.0.0"
1758
+ },
1759
+ "funding": {
1760
+ "type": "opencollective",
1761
+ "url": "https://opencollective.com/unified"
1762
+ }
1763
+ },
1764
  "node_modules/scheduler": {
1765
  "version": "0.23.2",
1766
  "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz",
package.json CHANGED
@@ -12,6 +12,7 @@
12
  "next": "14.2.14",
13
  "react": "^18",
14
  "react-dom": "^18",
15
- "react-markdown": "^10.1.0"
 
16
  }
17
  }
 
12
  "next": "14.2.14",
13
  "react": "^18",
14
  "react-dom": "^18",
15
+ "react-markdown": "^10.1.0",
16
+ "remark-gfm": "^4.0.1"
17
  }
18
  }