Skip to content

Commit 8b97c59

Browse files
committed
use MArkdown cutOff to improve preview when MArkdown is allowed
1 parent 4923a84 commit 8b97c59

2 files changed

Lines changed: 15 additions & 4 deletions

File tree

src/cmem/ContentBlobToggler/StringPreviewContentBlobToggler.tsx

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import React from "react";
22

33
import { utils } from "../../common";
44
import InlineText from "../../components/Typography/InlineText";
5-
import { Markdown } from "../markdown/Markdown";
5+
import { Markdown, markdownAllowedInlineElements } from "../markdown/Markdown";
66

77
import { ContentBlobToggler, ContentBlobTogglerProps } from "./ContentBlobToggler";
88

@@ -57,7 +57,7 @@ export function StringPreviewContentBlobToggler({
5757
startExtended,
5858
useOnly,
5959
renderPreviewAsMarkdown = false,
60-
allowedHtmlElementsInPreview,
60+
allowedHtmlElementsInPreview = markdownAllowedInlineElements,
6161
noTogglerContentSuffix,
6262
firstNonEmptyLineOnly,
6363
...otherContentBlobTogglerProps
@@ -90,7 +90,18 @@ export function StringPreviewContentBlobToggler({
9090
previewMaxLength &&
9191
utils.reduceToText(previewContent, { decodeHtmlEntities: true }).length > previewMaxLength
9292
) {
93-
previewContent = utils.reduceToText(previewContent, { decodeHtmlEntities: true }).slice(0, previewMaxLength);
93+
previewContent = renderPreviewAsMarkdown ? (
94+
<Markdown
95+
key="markdown-content"
96+
allowedElements={allowedHtmlElementsInPreview}
97+
cutOff={previewMaxLength}
98+
cutOffSuffix={""}
99+
>
100+
{previewString}
101+
</Markdown>
102+
) : (
103+
utils.reduceToText(previewContent, { decodeHtmlEntities: true }).slice(0, previewMaxLength)
104+
);
94105
enableToggler = true;
95106
}
96107

src/cmem/ContentBlobToggler/stories/StringPreviewContentBlobToggler.stories.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ const Template: StoryFn<typeof StringPreviewContentBlobToggler> = (args) => (
1414
);
1515

1616
const initialTeststring =
17-
"A library for GUI elements.\nIn order to create graphical user interfaces, please have look at the documentation at [Github](https://github.com/eccenca/gui-elements).";
17+
"# A library for [GUI elements](https://github.com/eccenca/gui-elements).\nIn order to create graphical user interfaces, please\n* have look at the documentation at [Github](https://github.com/eccenca/gui-elements).";
1818

1919
export const Default = Template.bind({});
2020
Default.args = {

0 commit comments

Comments
 (0)