npm 包 react-milkdown 使用教程

介绍

React-milkdown 是一个使用 React 实现的 Markdown 渲染器,它支持使用插件来扩展 Markdown,使得用户可以定制自己的 Markdown 渲染规则。React-milkdown 提供了一个通用的 Markdown 渲染器组件 Milkdown,它可以接受 Markdown 文本作为输入,生成渲染好的 HTML。

React-milkdown 也提供了一些插件,这些插件既可以用来扩展原有的渲染规则,也可以用来引入一些新的元素或风格。

安装

使用 npm 安装 react-milkdown:

--- ------- --------------

使用

在组件中使用 Milkdown 组件进行渲染:

------ ----- ---- --------
------ - -------- - ---- -----------------

----- -------- - -
- ------ ---------------

------ ------------------ --- -------- ---
--

------ ----- --- - -- -- -
  ------ --------------------------------
--

在 Milkdown 组件外侧的元素可以自定义一些样式,比如全宽度布局、限制最大宽度等:

------ ----- ---- --------
------ - -------- - ---- -----------------

----- -------- - -
- ------ ---------------

------ ------------------ --- -------- ---
--

------ ----- --- - -- -- -
  ------ -
    ---- -----------------
      -------------------------------
    ------
  --
--

在 CSS 中可以对 .page 元素定义一些样式:

----- -
  ------ -----
  ---------- ------
  ------- - -----
-

插件

React-milkdown 支持使用插件来扩展 Markdown,插件是一个对象,包含了一个或多个 renderer(渲染器)和一个或多个 parser(解析器)。

renderer 用来将 Markdown 解析后的 AST(抽象语法树)渲染成 HTML;parser 用来将 Markdown 文本解析成 AST。

以下是一个自定义插件的例子:

------ ----- ---- --------
------ - ----- - ---- -----------------
------ - ------- --------- - ---- --------------------
------ - ---- - ---- ----------

------ ----- --------- - ------------ ------- -- -
  ------ -------- ---- -- -- -
    ----- ----------- - ---- ------------ -- -
      ----- --------- - ----------------------------- ----------------------
      ----- -------- ------- ----- ----- ------ --------------- -- - ---

      --- -----
      ----- ------ - ---------------------- -
        ----- ---- - -----------------
        -- ------- ---------
        ----- ----- - --- ------------------ ------
        --- ------
        ----- ------- - ------------------ -
          -------------- ----- ----- ------ ----- ---
        -
      -

      ------ --------
    --

    ------ -
      --- --------
        ---- --- -----------------------
        ----- -- -- --
          ------- ---- -- -
            ----- ------- - ----------------------
            ------------------ ----- ----- -- -- -
              ----- ----------- - -------------------------------
              ----------------------- - ---------
              -------------------------------------- --------

              ----- ----- - -----------------------
              -------------------- -------------
              ------------------ ----------- - -----------------

              ----- ---- - --------------------------------------
              ------------------------------------------ -------

              --- ---------------------------------
            ---
          --
        ---
      ---
    --
  ---
--

------ ----- -------- - -------------------

------ ------- ---------

这个插件会在 Markdown 中匹配所有的 react 关键字,将它们包装在 <mark> 标签内。该插件基于 @milkdown/mark,它提供了 mark 渲染器和 mark 解析器,在渲染时将 Markdown AST 中的 mark 转化为 <mark> 标签。

使用插件

将插件作为 <Milkdown>plugins 属性传入即可。注意使用 plugins() 包装插件,确保插件可以被正确绑定:

------ ----- ---- --------
------ - --------- ------- - ---- -----------------
------ -------- ---- --------------

----- -------- - -
- ------ ---------------

------ ------------------ --- -------- ---

---------
------ ----- ---- --------
------ -------- ---- ------------

-------------------- --- ---------------------------------
------
--

------ ----- --- - -- -- -
  ------ -
    ---- -----------------
      --------- -------------------------------------------------
    ------
  --
--

总结

React-milkdown 具有很好的扩展性和反应性,可以为用户提供无限的定制和扩展功能。在使用 React-milkdown 时,需要熟悉插件的基本概念和使用方法,以便快速创建自己的插件并绑定到 Milkdown 组件上。

来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/6005683681e8991b448e44c5


猜你喜欢

  • npm 包 react-words 使用教程

    什么是 react-words react-words 是一个用于在 React 应用中实现文字逐字显示效果的 npm 包。它提供了自定义字体、颜色、速度等选项,可以帮助开发者更加灵活地实现逐字显示效...

    3 年前
  • npm 包 @cliener/react-datepicker 使用教程

    日期选择器是前端开发中常见的组件之一,在实现一些会员有效期、订单等功能时,经常会使用到。在 React 开发中,@cliener/react-datepicker 是一个非常流行的日期选择器组件,本文...

    3 年前
  • npm 包 dedup-async 使用教程

    在前端开发中,我们使用 npm 包管理工具来管理项目中的依赖关系,但是有时候由于多个依赖包引入了同一个依赖,导致代码体积膨胀。这时候可以使用 npm 包 dedup-async 来优化依赖包。

    3 年前
  • npm 包 ember-i18n-import-export 使用教程

    作为一名前端开发者,我们经常需要将应用程序翻译成多种语言。在 Ember 应用程序中,ember-i18n-import-export 可以使我们更轻松地导入和导出 i18n 字典,从而提高我们的工作...

    3 年前
  • npm 包 kar98k 使用教程

    随着 JavaScript 的广泛使用,前端开发变得越来越重要。许多人选择使用 npm 包来加速他们的前端开发流程。在本文中,我们将介绍一款名为 kar98k 的 npm 包,并详细说明如何使用它。

    3 年前
  • npm 包 booljs.nomodel 使用教程

    在前端开发中,常常会使用到一些辅助工具和库,而 npm 包就是其中一种最常用的方式。其中一个十分有用的 npm 包是 booljs.nomodel,它可以帮助我们简化前端代码开发,使得我们可以更加高效...

    3 年前
  • npm 包 react-native-ble-sdk 使用教程

    介绍 在前端开发中,移动端的应用程序常常需要与蓝牙设备进行交互。而在 React Native 中,开发者可以借助 react-native-ble-sdk 这个 npm 包来实现与蓝牙设备的通信。

    3 年前
  • npm包flp-money-mask使用教程

    简介 在前端开发中,经常需要对输入的金额进行格式化或者限制输入。flp-money-mask是一款基于Angular.js开发的用于实现金额输入格式化的npm包,可以帮助我们快速地实现金额输入的格式化...

    3 年前
  • npm 包 react-politic 使用教程

    介绍 在前端开发中,React 已经成为了主流技术,但是在实际应用中,我们可能需要处理敏感数据,如个人信息、账号密码等。此时,为了保护敏感数据的安全性,我们需要使用加解密技术。

    3 年前
  • npm 包 react-redux-app-updater 使用教程

    React 应用中,更新应用通常涉及到复杂的流程,需要实现一些状态管理功能,并配合一些 UI 库进行实现。而在这个过程中,使用 npm 包 react-redux-app-updater 可以帮助简化...

    3 年前
  • 使用 npm 包 ai-map

    在前端开发中,地图是一个非常常见而且实用的工具。有了地图,我们可以轻松的展示出场所的位置及周边环境等信息。ai-map 是一个基于高德地图 API 封装的 npm 包,它可以帮助我们更加方便的在前端项...

    3 年前
  • npm 包 generator-aws-lambda-node 使用教程

    generator-aws-lambda-node 是一个用于生成 AWS Lambda 函数的 npm 包。它提供了一个简单的 CLI 工具,帮助你更快、更方便地创建和发布 AWS Lambda 函...

    3 年前
  • npm 包 js-money-input 使用教程

    介绍 js-money-input 是一款基于 jQuery 的前端插件,它可以将文本框转换为货币输入框,并支持自定义货币符号、小数点位置、千位分隔符等,方便用户输入正确的货币金额。

    3 年前
  • npm 包 plus.queue 使用教程

    在前端开发中,经常需要进行异步操作,在处理这些异步操作时,需要使用队列。npm 包 plus.queue 就是一个非常不错的队列处理工具,它可以让你在处理异步操作时更加方便地实现队列处理,本文将会详细...

    3 年前
  • npm 包 soft-phone 使用教程

    在前端开发中,有很多常用的 npm 包,其中一个非常实用的包是 soft-phone,它提供了一个简单的 API,帮助我们实现语音通话和视频通话的功能。在本文中,我们将详细介绍如何使用 npm 包 s...

    3 年前
  • npm 包 strapdown-cli 使用教程

    简介 strapdown-cli 是一款基于 Markdown 格式快速生成实时渲染的静态网页的 npm 包。strapdown-cli 提供了一种简便的方式,可以使用您喜欢的 Markdown 编辑...

    3 年前
  • npm 包 hubot-github-hipchat 使用教程

    hubot-github-hipchat 是一个基于 Node.js 平台的聊天机器人框架 Hubot 的插件,用于将 Hubot 集成到 Github 和 HipChat 中。

    3 年前
  • npm 包 mobitor-plugin-camera 使用教程

    当今社会中,前端技术已成为一个不可忽视的部分,它可以让网站更加美观、灵活和方便。而 npm 包则提供了许多便捷的工具,让开发者更加方便地构建自己的项目。其中,mobitor-plugin-camera...

    3 年前
  • npm 包 add-package 使用教程

    什么是 add-package add-package 是一个用于将第三方库和框架添加到项目中的 npm 包,它不仅可以帮助我们方便地管理项目中的依赖关系,还可以用于部署项目时自动安装相关的依赖包。

    3 年前
  • npm 包 atomic-reset 使用教程

    在前端开发中,遇到样式覆盖问题是很常见的,而 atomic-reset 就是一款帮助你解决样式冲突的 npm 包。它提供了一个规范的类名系统,让你在编写样式时更加方便和规范,并且不容易和其他样式冲突。

    3 年前

相关推荐

    暂无文章