ds-markdown 0.0.3-beta.1 → 0.0.3-beta.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -19,8 +19,10 @@ npm install ds-markdown
19
19
 
20
20
  ## 示例
21
21
 
22
+ [在线查看](https://stackblitz.com/edit/vitejs-vite-ddfw8avb?file=src%2FApp.tsx)
23
+
22
24
  ```tsx
23
- import { useRef, useEffect } from 'react';
25
+ import { useRef, useState } from 'react';
24
26
  import DsMarkdown from 'ds-markdown';
25
27
  import 'ds-markdown/style.css';
26
28
 
@@ -31,25 +33,29 @@ const markdown = `# ds-markdown
31
33
  ## 特性
32
34
 
33
35
  - 🛠 自带打字效果
34
- - 🦮 内部封装了常用的`markdown`格式的文本显示
36
+ - 🦮 内部封装了常用的\`markdown\`格式的文本显示
35
37
  - 🔤 对大文档进行了性能优化,进行分批处理,生成打字效果的时候不会对页面造成卡顿现象
36
- `
37
-
38
- function MyDatePicker() {
39
- const [selected, setSelected] = useState<Date>();
38
+ `;
40
39
 
40
+ function App() {
41
41
  const ref = useRef();
42
42
 
43
43
  const onClick = () => {
44
- ref.current.push('这是思考过程:我正在思考 ds-markdown是什么', 'thinking');
45
- ref.current.push('markdown', 'answer');
44
+ // 如果重复点击,则会清空之前的效果
45
+ ref.current.clear();
46
+ // 显示思考过程
47
+ ref.current.push('这是思考过程:我正在思考 ds-markdown是什么\n\n思考完成,准备发送答案', 'thinking');
48
+ // 显示结果
49
+ ref.current.push(markdown, 'answer');
46
50
  };
47
51
 
48
52
  return (
49
53
  <div>
50
- <button onClick={onClick}>显示文字</button>
54
+ <button onClick={onClick}>点击显示文字效果</button>
51
55
  <DsMarkdown ref={ref} />
52
56
  </div>
53
57
  );
54
58
  }
59
+
60
+ export default App;
55
61
  ```
@@ -7,6 +7,7 @@ interface MarkdownProps {
7
7
  }
8
8
  export interface MarkdownRef {
9
9
  push: (content: string, answerType: AnswerType) => void;
10
+ clear: () => void;
10
11
  }
11
12
  declare const Markdown: import("react").ForwardRefExoticComponent<MarkdownProps & import("react").RefAttributes<MarkdownRef>>;
12
13
  export default Markdown;
package/dist/cjs/index.js CHANGED
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const jsx_runtime_1 = require("react/jsx-runtime");
7
7
  const react_1 = require("react");
8
8
  const index_js_1 = __importDefault(require("./components/HighReactMarkdown/index.js"));
9
+ const classnames_1 = __importDefault(require("classnames"));
9
10
  const Markdown = (0, react_1.forwardRef)(({ interval = 30, isClosePrettyTyped = false }, ref) => {
10
11
  // const [content, setContent] = useState(initialContent)
11
12
  const charsRef = (0, react_1.useRef)([]);
@@ -15,12 +16,16 @@ const Markdown = (0, react_1.forwardRef)(({ interval = 30, isClosePrettyTyped =
15
16
  const [currentParagraph, setCurrentParagraph] = (0, react_1.useState)(undefined);
16
17
  const currentParagraphRef = (0, react_1.useRef)(undefined);
17
18
  currentParagraphRef.current = currentParagraph;
19
+ const clearTimer = () => {
20
+ if (timerRef.current) {
21
+ clearTimeout(timerRef.current);
22
+ timerRef.current = null;
23
+ }
24
+ isTypedRef.current = false;
25
+ };
18
26
  (0, react_1.useEffect)(() => {
19
27
  return () => {
20
- if (timerRef.current) {
21
- clearTimeout(timerRef.current);
22
- timerRef.current = null;
23
- }
28
+ clearTimer();
24
29
  };
25
30
  }, []);
26
31
  function startTypedTask() {
@@ -134,18 +139,27 @@ const Markdown = (0, react_1.forwardRef)(({ interval = 30, isClosePrettyTyped =
134
139
  startTypedTask();
135
140
  }
136
141
  },
142
+ clear: () => {
143
+ clearTimer();
144
+ charsRef.current = [];
145
+ setStableParagraphs([]);
146
+ setCurrentParagraph(undefined);
147
+ },
137
148
  }));
138
149
  const thinkingParagraphs = stableParagraphs.filter((paragraph) => paragraph.answerType === "thinking");
139
150
  const answerParagraphs = stableParagraphs.filter((paragraph) => paragraph.answerType === "answer");
140
151
  const getParagraphs = (paragraphs, answerType) => {
141
- return ((0, jsx_runtime_1.jsxs)("div", { className: `ds-typed-${answerType}`, children: [paragraphs.map((paragraph, index) => {
152
+ return ((0, jsx_runtime_1.jsxs)("div", { className: `ds-markdown-paragraph ds-typed-${answerType}`, children: [paragraphs.map((paragraph, index) => {
142
153
  if (paragraph.type === "br") {
143
154
  return null;
144
155
  }
145
156
  return ((0, jsx_runtime_1.jsx)(index_js_1.default, { children: paragraph.content || "" }, index));
146
157
  }), currentParagraph?.answerType === answerType && ((0, jsx_runtime_1.jsx)(index_js_1.default, { children: currentParagraph.content || "" }, currentParagraph.content))] }));
147
158
  };
148
- return ((0, jsx_runtime_1.jsxs)("div", { className: "ds-markdown", children: [(0, jsx_runtime_1.jsx)("div", { className: "ds-markdown-thinking", children: getParagraphs(thinkingParagraphs, "thinking") }), (0, jsx_runtime_1.jsx)("div", { className: "ds-markdown-answer", children: getParagraphs(answerParagraphs, "answer") })] }));
159
+ return ((0, jsx_runtime_1.jsxs)("div", { className: (0, classnames_1.default)({
160
+ 'ds-markdown': true,
161
+ "apple": true
162
+ }), children: [(0, jsx_runtime_1.jsx)("div", { className: "ds-markdown-thinking", children: getParagraphs(thinkingParagraphs, "thinking") }), (0, jsx_runtime_1.jsx)("div", { className: "ds-markdown-answer", children: getParagraphs(answerParagraphs, "answer") })] }));
149
163
  });
150
164
  exports.default = Markdown;
151
165
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.tsx"],"names":[],"mappings":"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"}
@@ -7,6 +7,7 @@ interface MarkdownProps {
7
7
  }
8
8
  export interface MarkdownRef {
9
9
  push: (content: string, answerType: AnswerType) => void;
10
+ clear: () => void;
10
11
  }
11
12
  declare const Markdown: import("react").ForwardRefExoticComponent<MarkdownProps & import("react").RefAttributes<MarkdownRef>>;
12
13
  export default Markdown;
package/dist/esm/index.js CHANGED
@@ -1,6 +1,7 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { forwardRef, useEffect, useImperativeHandle, useRef, useState, } from "react";
3
3
  import HighReactMarkdown from "./components/HighReactMarkdown/index.js";
4
+ import classNames from "classnames";
4
5
  const Markdown = forwardRef(({ interval = 30, isClosePrettyTyped = false }, ref) => {
5
6
  // const [content, setContent] = useState(initialContent)
6
7
  const charsRef = useRef([]);
@@ -10,12 +11,16 @@ const Markdown = forwardRef(({ interval = 30, isClosePrettyTyped = false }, ref)
10
11
  const [currentParagraph, setCurrentParagraph] = useState(undefined);
11
12
  const currentParagraphRef = useRef(undefined);
12
13
  currentParagraphRef.current = currentParagraph;
14
+ const clearTimer = () => {
15
+ if (timerRef.current) {
16
+ clearTimeout(timerRef.current);
17
+ timerRef.current = null;
18
+ }
19
+ isTypedRef.current = false;
20
+ };
13
21
  useEffect(() => {
14
22
  return () => {
15
- if (timerRef.current) {
16
- clearTimeout(timerRef.current);
17
- timerRef.current = null;
18
- }
23
+ clearTimer();
19
24
  };
20
25
  }, []);
21
26
  function startTypedTask() {
@@ -129,18 +134,27 @@ const Markdown = forwardRef(({ interval = 30, isClosePrettyTyped = false }, ref)
129
134
  startTypedTask();
130
135
  }
131
136
  },
137
+ clear: () => {
138
+ clearTimer();
139
+ charsRef.current = [];
140
+ setStableParagraphs([]);
141
+ setCurrentParagraph(undefined);
142
+ },
132
143
  }));
133
144
  const thinkingParagraphs = stableParagraphs.filter((paragraph) => paragraph.answerType === "thinking");
134
145
  const answerParagraphs = stableParagraphs.filter((paragraph) => paragraph.answerType === "answer");
135
146
  const getParagraphs = (paragraphs, answerType) => {
136
- return (_jsxs("div", { className: `ds-typed-${answerType}`, children: [paragraphs.map((paragraph, index) => {
147
+ return (_jsxs("div", { className: `ds-markdown-paragraph ds-typed-${answerType}`, children: [paragraphs.map((paragraph, index) => {
137
148
  if (paragraph.type === "br") {
138
149
  return null;
139
150
  }
140
151
  return (_jsx(HighReactMarkdown, { children: paragraph.content || "" }, index));
141
152
  }), currentParagraph?.answerType === answerType && (_jsx(HighReactMarkdown, { children: currentParagraph.content || "" }, currentParagraph.content))] }));
142
153
  };
143
- return (_jsxs("div", { className: "ds-markdown", children: [_jsx("div", { className: "ds-markdown-thinking", children: getParagraphs(thinkingParagraphs, "thinking") }), _jsx("div", { className: "ds-markdown-answer", children: getParagraphs(answerParagraphs, "answer") })] }));
154
+ return (_jsxs("div", { className: classNames({
155
+ 'ds-markdown': true,
156
+ "apple": true
157
+ }), children: [_jsx("div", { className: "ds-markdown-thinking", children: getParagraphs(thinkingParagraphs, "thinking") }), _jsx("div", { className: "ds-markdown-answer", children: getParagraphs(answerParagraphs, "answer") })] }));
144
158
  });
145
159
  export default Markdown;
146
160
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.tsx"],"names":[],"mappings":"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"}
package/dist/style.css CHANGED
@@ -479,74 +479,48 @@ page {
479
479
  --ds-rgb-thumb: var(--ds-rgb-white);
480
480
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Noto Sans, Ubuntu, Cantarell, Helvetica Neue, Oxygen, Open Sans, sans-serif;
481
481
  }
482
- body {
483
- --dsr-main: #4d6bfe;
484
- --dsr-main-2: rgba(77, 107, 254, 0.4);
485
- --dsr-main-3: rgba(77, 107, 254, 0.2);
486
- --dsr-bg: rgb(var(--ds-rgb-white));
487
- --dsr-text-0: rgb(var(--ds-rgb-black));
488
- --dsr-text-1: rgb(var(--ds-rgb-neutral-800));
489
- --dsr-text-2: rgb(var(--ds-rgb-neutral-600));
490
- --dsr-text-3: rgb(var(--ds-rgb-neutral-400));
491
- --dsr-text-4: rgb(var(--ds-rgb-zinc-350));
482
+ :root {
483
+ --ds-rgb-neutral-50: 250 250 250;
484
+ --ds-rgb-neutral-100: 245 245 245;
485
+ --ds-rgb-neutral-150: 237 237 237;
486
+ --ds-rgb-neutral-200: 229 229 229;
487
+ --ds-rgb-neutral-250: 220 220 220;
488
+ --ds-rgb-neutral-300: 212 212 212;
489
+ --ds-rgb-neutral-350: 187 187 187;
490
+ --ds-rgb-neutral-400: 163 163 163;
491
+ --ds-rgb-neutral-450: 139 139 139;
492
+ --ds-rgb-neutral-500: 115 115 115;
493
+ --ds-rgb-neutral-550: 98 98 98;
494
+ --ds-rgb-neutral-600: 82 82 82;
495
+ --ds-rgb-neutral-650: 73 73 73;
496
+ --ds-rgb-neutral-700: 64 64 64;
497
+ --ds-rgb-neutral-750: 51 51 51;
498
+ --ds-rgb-neutral-800: 38 38 38;
499
+ --ds-rgb-neutral-850: 30 30 30;
500
+ --ds-rgb-neutral-900: 23 23 23;
501
+ --ds-rgb-neutral-950: 10 10 10;
502
+ --ds-rgb-blue-500: 59 130 246;
503
+ }
504
+ .ds-markdown {
505
+ --ds-font-family-code: Menlo, 'Roboto Mono', 'Courier New', Courier, monospace, 'Inter', sans-serif;
506
+ }
507
+ .ds-markdown {
508
+ --ds-rgb-primary: var(--ds-rgb-blue-500);
509
+ --ds-rgb-label-1: var(--ds-rgb-neutral-700);
510
+ --ds-rgb-label-2: var(--ds-rgb-neutral-450);
511
+ --ds-rgb-label-3: var(--ds-rgb-neutral-400);
492
512
  --dsr-border-1: rgb(var(--ds-rgb-neutral-350));
493
513
  --dsr-border-2: rgb(var(--ds-rgb-neutral-200));
494
- --dsr-input-border: #dce0e9;
495
- --dsr-input-bg: rgb(var(--ds-rgb-gray-100));
496
- --dsr-button-main-bg: var(--dsr-main);
497
- --dsr-button-main-bg-hover: #4166d5;
498
- --dsr-button-second-bg: var(--dsr-main-3);
499
- --dsr-button-grey-0: rgb(var(--ds-rgb-neutral-150));
500
- --dsr-button-grey-1: rgb(var(--ds-rgb-neutral-100));
501
- --dsr-button-grey-2: rgb(var(--ds-rgb-neutral-50));
502
- --dsr-delete-button-bg: rgb(var(--ds-rgb-red-500) / 0.85);
503
- --dsr-delete-button-bg-hover: rgb(var(--ds-rgb-red-550));
504
- --dsr-tooltip-fg: #eff6ff;
505
- --dsr-tooltip-bg: rgb(var(--ds-rgb-neutral-850));
506
- --dsr-side-bg: #f9fbff;
507
- --dsr-side-hover-bg-rgb: 239, 246, 255;
508
- --dsr-side-hover-bg: rgb(var(--ds-rgb-blue-50));
509
- --dsr-icon-fg-1: rgb(var(--ds-rgb-neutral-650));
510
- --dsr-icon-hover-0: rgb(var(--ds-rgb-neutral-150));
511
- --dsr-icon-hover-1: rgb(var(--ds-rgb-neutral-100));
512
- --dsr-side-icon-hover: rgb(var(--ds-rgb-slate-100));
513
- --dsr-error-fg: rgb(var(--ds-rgb-red-550));
514
- --dsr-risk-text: #e4773d;
515
- --dsr-risk-border: rgba(228, 119, 61, 0.1);
516
- --dsr-risk-fill: rgba(228, 119, 61, 0.05);
517
514
  }
518
- body,
519
- page,
520
- .ds-theme {
521
- --ds-input-height-l: 44px;
522
- --ds-input-height-m: 34px;
523
- --ds-input-height-s: 30px;
524
- --ds-input-height-xs: 26px;
525
- --ds-font-weight-strong: 600;
526
- --ds-font-size-l: 16px;
527
- --ds-line-height-l: 28px;
515
+ .ds-markdown {
528
516
  --ds-font-size-m: 14px;
529
517
  --ds-line-height-m: 25px;
530
- --ds-font-size-sp: 13px;
531
- --ds-line-height-sp: 23px;
532
- --ds-font-size-s: 12px;
533
- --ds-line-height-s: 21px;
534
- --ds-font-size-xsp: 11px;
535
- --ds-line-height-xsp: 19.5px;
536
- --ds-font-size-xs: 10px;
537
- --ds-line-height-xs: 18px;
538
- --ds-ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
539
- --ds-ease-in: cubic-bezier(0.4, 0, 1, 1);
540
- --ds-ease-out: cubic-bezier(0, 0, 0.2, 1);
541
- --ds-font-family-code: Menlo, "Roboto Mono", "Courier New", Courier, monospace, "Inter", sans-serif;
542
518
  --ds-transition-duration: 0.2s;
543
- --ds-transition-duration-fast: 0.1s;
544
- --ds-transition-duration-slow: 0.3s;
519
+ --ds-ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
520
+ --ds-rgba-transparent: 255 255 255 / 0;
521
+ --ds-rgb-link: var(--ds-rgb-primary);
545
522
  }
546
- body.apple,
547
- body.en_US,
548
- body.apple .ds-theme,
549
- body.en_US .ds-theme {
523
+ .ds-markdown.apple {
550
524
  --ds-font-weight-strong: 500;
551
525
  }
552
526
  .ds-markdown {
@@ -571,6 +545,17 @@ body.en_US .ds-theme {
571
545
  line-height: var(--ds-md-line-height);
572
546
  margin: calc(var(--ds-md-zoom) * 16px) 0 calc(var(--ds-md-zoom) * 12px) 0;
573
547
  }
548
+ .ds-markdown h1,
549
+ .ds-markdown h2,
550
+ .ds-markdown h3,
551
+ .ds-markdown h4,
552
+ .ds-markdown h5,
553
+ .ds-markdown h6 {
554
+ font-weight: var(--ds-font-weight-strong);
555
+ font-size: var(--ds-md-font-size);
556
+ line-height: var(--ds-md-line-height);
557
+ margin: calc(var(--ds-md-zoom) * 16px) 0 calc(var(--ds-md-zoom) * 12px) 0;
558
+ }
574
559
  .ds-markdown h1 {
575
560
  font-size: calc(var(--ds-md-zoom) * 24px);
576
561
  line-height: 1.5;
@@ -643,7 +628,7 @@ body.en_US .ds-theme {
643
628
  .ds-markdown hr {
644
629
  height: 1px;
645
630
  margin: 32px 0;
646
- background: rgb(var(--ds-rgb-label-3));
631
+ background-color: var(--dsr-border-2);
647
632
  border: none;
648
633
  display: block;
649
634
  }
@@ -662,24 +647,10 @@ body.en_US .ds-theme {
662
647
  border-top: 1px solid rgb(var(--ds-rgb-label-3));
663
648
  font-weight: 600;
664
649
  }
665
- .ds-markdown th:not( :-webkit-any( :lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi))) {
666
- text-align: left;
667
- }
668
- .ds-markdown th:not( :-moz-any( :lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi))) {
669
- text-align: left;
670
- }
671
- .ds-markdown th:not( :is( :lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi))) {
650
+ .ds-markdown th,
651
+ .ds-markdown td {
672
652
  text-align: left;
673
653
  }
674
- .ds-markdown th:-webkit-any( :lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)) {
675
- text-align: right;
676
- }
677
- .ds-markdown th:-moz-any( :lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)) {
678
- text-align: right;
679
- }
680
- .ds-markdown th:is( :lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)) {
681
- text-align: right;
682
- }
683
654
  .ds-markdown th:first-child {
684
655
  padding-left: 0;
685
656
  }
@@ -699,7 +670,7 @@ body.en_US .ds-theme {
699
670
  font-size: 0.875em;
700
671
  font-weight: var(--ds-font-weight-strong);
701
672
  font-family: var(--ds-font-family-code);
702
- background-color: var(--ds-md-inline-code-color, #ececec);
673
+ background-color: #ececec;
703
674
  border-radius: 4px;
704
675
  padding: 0.15rem 0.3rem;
705
676
  }
@@ -709,7 +680,7 @@ body.en_US .ds-theme {
709
680
  .ds-markdown code:after {
710
681
  margin-right: 4px;
711
682
  }
712
- .ds-markdown-math {
683
+ ds-markdown-math {
713
684
  text-align: center;
714
685
  display: block;
715
686
  overflow-x: auto;
@@ -747,14 +718,14 @@ body.en_US .ds-theme {
747
718
  .ds-markdown > :first-child {
748
719
  margin-top: 0 !important;
749
720
  }
750
- .ds-typed-thinking {
721
+ .ds-markdown .ds-typed-thinking {
751
722
  border-left: 2px solid #e5e5e5;
752
723
  padding: 0 0 0 12px;
753
724
  color: #8b8b8b;
754
725
  line-height: 26px;
755
726
  font-size: var(--ds-font-size-m);
756
727
  }
757
- .ds-typed-answer {
728
+ .ds-markdown.ds-typed-answer {
758
729
  margin: calc(var(--ds-md-zoom) * 12px) 0;
759
730
  font-size: var(--ds-md-font-size);
760
731
  line-height: var(--ds-md-line-height);
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "ds-markdown",
3
3
  "private": false,
4
- "version": "0.0.3-beta.1",
4
+ "version": "0.0.3-beta.3",
5
5
  "main": "./dist/cjs/index.js",
6
6
  "types": "./dist/cjs/index.d.ts",
7
7
  "module": "./dist/esm/index.js",
@@ -43,6 +43,7 @@
43
43
  "prepublishOnly": "npm run build"
44
44
  },
45
45
  "dependencies": {
46
+ "classnames": "^2.5.1",
46
47
  "react-markdown": "^10.1.0",
47
48
  "react-syntax-highlighter": "^15.6.1",
48
49
  "remark-gfm": "^4.0.1"