npm 包 kramed 使用教程

什么是 kramed

kramed 是一个 JavaScript 库,它可以把 markdown 文本渲染成 HTML 页面。kramed 被广泛使用于前端项目中,尤其是将 markdown 文档展示在页面中。

如何安装 kramed

安装 kramed 很简单,只需在命令行中输入以下命令即可:

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

如何使用 kramed

首先,在你的 HTML 文件中引入 kramed:

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

接下来,在你的 JavaScript 文件中使用 kramed 来把 markdown 文本转换成 HTML 代码:

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

此时,htmlText 的值为:

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

在上面的例子中,我们使用了 kramed 的最基本用法。但是 kramed 还提供了各种配置和扩展,可以让我们更加灵活地控制渲染结果。

kramed 的配置和扩展

配置 kramed

kramed 的配置通过一个对象来实现。以下是一些常用的配置项:

  • gfm:启用 GitHub 风格的 markdown。
  • tables:启用表格支持。
  • breaks:启用换行符的支持。允许我们在行尾插入一个空格来实现换行。
  • smartypants:启用智能标点转换,使得一些特殊字符例如 '"- 等等可以方便的被渲染,并且在输入latex数学公式过程中非常具有帮助。

我们把配置项传递给 kramed 的构造函数即可。例如:

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

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

扩展 kramed

kramed 还提供了各种扩展选项,我们可以通过这些选项来扩展 kramed 的功能,以下是一些常用的扩展选项:

渲染器

渲染器用于把 Markdown 格式的文本渲染成 HTML 代码。kramed 默认提供了两种渲染方式:基本渲染器和 GFM 渲染器。基本渲染器对 Markdown 的解析比较简单,只支持一些基本的语法;而 GFM 渲染器更加强大,支持更多的语法扩展。

我们可以自己定义渲染器来实现更加复杂的渲染功能。例如,下面的代码定义了一个新的渲染器,它可以把 Markdown 中的 ## 变成 HTML 的标题:

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

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

Lexer

Lexer 用于将 markdown 文本解析成 tokens,这些 tokens 最终会被渲染成 HTML 代码。我们可以通过修改 Lexer 来实现自己的语法解析。

例如,下面的代码通过重写 Lexer 中的 rules.checkbox 方法来实现了对复选框的支持:

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

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

解析器

解析器负责根据 tokens 生成 HTML 代码。我们可以通过自定义解析器来实现更加灵活的 HTML 生成。

例如,下面的代码通过定义一个自定义的解析器来实现了表格中的背景色渲染:

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

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

结语

通过上面的介绍,我们已经了解了 kramed 的基本用法、配置选项以及扩展机制。希望本文对大家有所帮助,如果对于 kramed 的使用还有疑问,可以参考 kramed 的官方文档(https://github.com/GitbookIO/kramed)或者在社区中寻求帮助。

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


猜你喜欢

  • npm 包 nano-assign 使用教程

    在前端开发过程中,我们经常需要将一个对象的属性赋值给另一个对象。虽然在 ES6 中,可以使用 Object.assign() 来实现这一功能,但是在一些低版本的浏览器中不支持该方法。

    4 年前
  • npm 包 slugo 使用教程

    本文将为大家介绍 npm 包 slugo 的使用教程,包括如何安装,如何使用以及常见问题解答。 什么是 slugo? slugo 是一款 npm 包,作用是将任意字符串转换为 URL 友好的 sl...

    4 年前
  • npm 包 marked3 使用教程

    前言 前端开发离不开文本编辑的处理,在 web 应用中常常需要将 Markdown 格式的文本转化为 HTML,此时可以使用很多开源的包来处理,其中较为流行的是 marked 包。

    4 年前
  • npm 包 svg-to-component 使用教程

    在前端开发中常常需要用到 SVG 图片,但是直接使用 SVG 图片会出现一些兼容性问题。为了解决这些问题,我们可以使用 npm 包 svg-to-component 将 SVG 图片转换成 React...

    4 年前
  • npm 包 svg-to-component-loader 使用教程

    SVG 是一种矢量图形格式,在 Web 应用中广泛使用。虽然可以直接在 HTML 中插入 SVG 图像,但是 SVG 本身仍旧有一些限制,比如不能直接在 CSS 中修改其属性,也不能直接向其中添加事件...

    4 年前
  • npm 包 aimer 使用教程

    npm 包 aimer 使用教程 在前端开发中,我们常常需要使用一些常用的工具库来增强我们的开发效率。而 npm 包就是其中一种非常重要的工具。对于前端开发来说,npm 包中最受欢迎的就是 jQuer...

    4 年前
  • npm 包 color-lib 使用教程

    当我们在前端开发过程中需要在页面上使用颜色时,通常我们需要不停地调整颜色值,直到达到满意的效果。这个过程很费时间,而且容易出错。在这个时候,使用 npm 包 color-lib 可以帮助我们更加轻松地...

    4 年前
  • npm 包 postcss-strip-inline-comments 使用教程

    在前端开发中,我们通常会使用 CSS 预处理器来编写更加优秀的 CSS 代码,其中就包含了各类注释,如注释版权、作者等信息。 然而,在 CSS 解析和编译阶段,这些注释不仅会使得编译速度变慢,还会增加...

    4 年前
  • npm 包 color-preset 使用教程

    color-preset 是一个优秀的 npm 包,它提供了现代化设计所需的色彩预设,使用它能够快速的为你的前端项目添加一套优美的配色方案,从而使得你的项目拥有更好的视觉效果。

    4 年前
  • npm 包 karma-growler-reporter 使用教程

    前言 在前端开发中,往往需要使用 Karma 进行单元测试。而 Karma 又支持多种报告器(reporter)来输出测试结果。本篇文章就来介绍 npm 包 karma-growler-reporte...

    4 年前
  • npm 包 babel-plugin-transform-xregexp 使用教程

    在前端应用中,正则表达式是一个非常重要的部分。而在 ECMA6 中引入了更强大的正则表达式库 —— XRegExp。XRegExp 使用起来更为简单方便,并且支持很多更高级的用法。

    4 年前
  • npm 包 jay-extend 使用教程

    在前端开发中,有时候我们需要对对象、数组或字符串进行一些扩展或操作。这时候,一个好用的工具库就尤为重要了。本文将介绍一个常用的 npm 包 jay-extend,它可以帮助我们快速方便地实现常用的对象...

    4 年前
  • npm 包 unicode-property-aliases 使用教程

    unicode-property-aliases 是一个 npm 包,它提供了 Unicode 属性和值的别名映射,方便在 JavaScript 中使用。本文将介绍这个包的用法和示例代码,帮助你更好地...

    4 年前
  • npm 包 unicode-property-value-aliases 使用教程

    前言 在日常开发中,我们经常会用到一些包含 Unicode 字符的字符串。不同的 Unicode 字符集合不同,属性值也不同,因此在处理这些字符串时,我们需要有一些包含 Unicode 属性值别名的工...

    4 年前
  • npm 包 minpubsub 使用教程

    简介 minpubsub 是一个基于订阅者/观察者设计模式的轻量级 JavaScript 发布订阅库,适用于前端和 Node.js 环境。 通过 minpubsub,我们可以在应用程序中使用发布订阅模...

    4 年前
  • npm 包 karma-html-detailed-reporter 使用教程

    前言 我假设你已经拥有了 karma 配置文件,并知道如何使用它。本文将介绍如何使用 karma-html-detailed-reporter ,它是一个 npm 包,用于生成可视化的测试报告。

    4 年前
  • npm 包 byteman 使用教程

    在前端开发中,有很多需要处理二进制数据的情况,例如文件上传、图片压缩等。而 npm 包 byteman 就是一款专门处理二进制数据的工具库,可以方便地对二进制数据进行解析、转换、生成等操作。

    4 年前
  • npm 包 cid-tool 使用教程

    前言 随着前端技术的不断发展,我们越来越多地使用 npm 包来提高我们的开发效率。cid-tool 是一个功能强大的 npm 包,它可以生成一种特殊的唯一标识符,称为 CID(Content Iden...

    4 年前
  • npm 包 eslint-config-standard-babel 使用教程

    npm 包 eslint-config-standard-babel 使用教程 ESLint 是一个很好的代码检查工具,可以帮助我们规范代码风格并找出一些潜在的问题。

    4 年前
  • NPM 包 dag-cbor-links 使用教程

    简介 dag-cbor-links 是一个用于生成和解析链接结构的 NPM 包,它是基于 CBOR 序列化格式实现的。dag-cbor-links 提供了用于创建链式结构的 JS API,可以帮助用户...

    4 年前

相关推荐

    暂无文章