0.1.3 • Published 7 months ago

@kne/markdown-components-render v0.1.3

Weekly downloads
-
License
ISC
Repository
github
Last release
7 months ago

markdown-components-render

描述

渲染markdown文本,支持components.

安装

npm i --save @kne/markdown-components-render

概述

用于将一个yml格式的数据展示为一个已经定义好的react组件

如下的yml会被渲染为Card组件

\`\`\`yml
md-components:
  type: Card
  props:
    title: 我是标题
    size: small
    children: 我是内容
\`\`\`

如果需要传入参数,可以$开头

\`\`\`yml
md-components:
  type: Button
  props:
    type: primary
    children: 我是一个按钮
    onClick: $onClick
\`\`\`

示例

示例样式

.ant-card {
  border-color: black;
  text-align: center;
  width: 200px;
}

示例代码

const { default: MarkdownComponentsRender } = _MarkdownComponentsRender;
const { default: mdUrl } = md;
const { default: Fetch } = _ReactFetch;
const { Card, Button, App } = antd;

const BaseExample = () => {
  const { message } = App.useApp();
  return (
    <Fetch
      url={mdUrl}
      ignoreSuccessState
      render={({ data }) => {
        return (
          <MarkdownComponentsRender
            components={{ Card, Button }}
            variables={{
              onClick: () => {
                message.info('你好');
              }
            }}>
            {data}
          </MarkdownComponentsRender>
        );
      }}></Fetch>
  );
};

render(<BaseExample />);

API

属性名说明类型默认值
childrenmarkdown内容string-
components用于渲染的组件类型对象,和yml里面的type对应object-
variables变量对象,如果被渲染组件属性的值中有$开头的变量,则去该变量中查找,如果可以查找到,引用该值object-
optionsmarkdown-it的配置参数object-
options.configmarkdown-it初始化构造函数参数object-
options.pluginsmarkdown-it对象.use 应用的值array[]
0.1.3

7 months ago

0.1.2

7 months ago

0.1.1

7 months ago

0.1.0

7 months ago