Package Exports
- @kyma-project/dc-markdown-render-engine
- @kyma-project/dc-markdown-render-engine/lib/index.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@kyma-project/dc-markdown-render-engine) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
Markdown Render Engine
Overview
The Markdown render engine is based on the React Markdown component. It allows you to render .md
files.
Installation
using
npm
npm i @kyma-project/dc-markdown-render-engine
using
yarn
yarn add @kyma-project/dc-markdown-render-engine
Configuration
NOTE: The Markdown render engine supports all options available in the React Markdown component.
Name | Required | Type | Default value | Description |
---|---|---|---|---|
parsers |
No | MarkdownParserPlugin[] |
[] |
Defines custom parsers for custom content in Markdown files. Go here to read more about write parsers. |
customRenderers |
No | Renderers |
{} |
Defines an object in which the keys represent the node type, and the value is a React component. The object is merged with the default renderers. The props passed to the component vary based on the type of node. See the default implementations of renderers. |
highlightTheme |
No | any |
{} |
Defines custom styles for highlighting code blocks. The Markdown render engine uses PrismJS to highlight. See the style examples. |
headingPrefix |
No | string or ((source: Source) => string) , where Source is type |
"" |
Defines a prefix for any heading in a Markdown file. |
copyButton |
No | ReactNode |
null |
Defines a custom copy button in code blocks. The Markdown render engine accepts only code blocks as a value to copy. |
NOTE: To learn how to pass options of a render engine, read this document.
Styles
To use default styles based on SAP Fundamentals, import them as follows:
import "@kyma-project/dc-markdown-render-engine/lib/styles.css";
To use the default font 72
provided by SAP Fundamentals, install the npm package from this Getting Started guide and import the font as follows:
import "fiori-fundamentals/dist/fonts.min.css";
Plugins
To use plugins available in the package, import the plugins
object from the package. See the following example:
import { plugins as markdownPlugins } from "@kyma-project/dc-markdown-render-engine";
Name | Type | Source types | Description |
---|---|---|---|
embedVideo |
mutation | ["markdown", "md"] |
A mutation plugin to extract videos. The pattern for embedding a video is: {platform}: {url} , where {url} is the URL to the video, and {platform} is one of the following: youtube , vimeo , videopress , twitch , twitchlive , niconico . NOTE: To fully integrate with the Documentation component you must also use markdownEmbedVideoParserPlugin |
frontmatter |
mutation and extractor | ["markdown", "md"] |
Mutation and extractor plugins. The mutation plugin removes Front Matter from the beginning of a Markdown file. The extractor plugin extracts file metadata from a Markdown file. |
headers |
extractor | ["markdown", "md"] |
An extractor plugin to extract headers from a Markdown file. |
replaceAllLessThanChars |
mutation | ["markdown", "md"] |
A mutation plugin to replace every < char to an appropriate Unicode character. Used the plugin to render chars properly. |
tabs |
mutation | ["markdown", "md"] |
A mutation plugin to extract the details HTML tag in order to have fully interactive tabs. NOTE: To integrate fully with the Documentation component you must also use tabsParserPlugin . |
NOTE: To learn how to pass options of a plugin, read this document.
TypeScript types
To use TypeScript types available in the package, import the types
object from the package. See the following example:
import { types as markdownRETypes } from "@kyma-project/dc-markdown-render-engine";