npm包wenxue使用教程

阅读时长 21 分钟读完

前言

在前端开发中,有众多优秀的 npm 包可供使用,这些包中大部分都是为我们提供更简单、更有效的解决方案。在本篇文章中,我们将探讨一个名为wenxue的 npm 包,它为我们提供了一种更好的阅读体验。

简介

wenxue 是一个基于 Vue.js 和 simplemde 的 npm 包,它提供了一个易于使用、高度自定义和可扩展的 markdown 编辑器,可以帮助你创建优美的博客文章和其他的在线文档。

安装

可以通过 npm 或 yarn 安装 wenxue。

使用 npm:

使用 yarn:

快速开始

要在项目中使用 wenxue,需要先引入它:

然后,您可以将 wenxue 的组件添加到您的模板中:

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

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

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

在上面的示例中,我们将 wenxue 的 v-model 值绑定到 markdown,这样当用户在 wenxue 编辑器中输入 markdown 文本时,它将自动更新到我们组件的 data 中。然后,我们使用 watch 函数在 markdown 数据改变时将更新的 html 渲染出来。

API

props

名称 类型 默认值 说明
value / v-model String 当前 markdown 文本。
options Object {} simplemde 的配置项,使用方法请参考 simplemde 的官方文档
preview Object { delay: 500 } 将 markdown 文本转换成 HTML 页面所需的配置项。其中 delay 参数是 delayRender 的别名,表示当用户在编辑器中输入文本时,需要等待的时间(ms)才会触发 parse 和 render 函数。这可以避免在文本变化时重新计算 HTML 的开销。

events

名称 参数 说明
change markdown, html 当编辑器内容发生变化时触发。包含当前的 markdown 和 HTML。
upload files, type 当用户上传文件时触发。包含上传的文件和文件类型。
command cm, compiled, data 当使用命令执行函数时触发,包含 CodeMirror 对象和停止编辑时的 markdown 数据。
focus 当编辑器获得焦点时触发。
blur 当编辑器失去焦点时触发。

methods

名称 参数 说明
undo () 撤销上一次更改。
redo () 恢复最近更改。
focus () 将焦点设置到编辑器中。
blur () 将焦点从编辑器中移除。
togglePreview () 切换 markdown 预览。在初始化后,默认启用 markdown 编辑状态。
isPreviewActive () 判断预览状态是否打开。
parse (markdown) 将 markdown 转换为 HTML。在大量的 markdown 数据初始化时非常有用。
render (markdown) 将 markdown 转换为 HTML,并将结果输出到渲染区域。
compilePreview (markdown) 将 markdown 转换为 HTML,并执行编译函数(编译函数可用于简化渲染区域中的 html)。
command (name, args) 调用 simplemde 的命令。此方法非常有用,因为它可以统一处理所有命令。
insertImage (file) 在编辑器中插入图片。此方法使用 simplemde 的粘贴图片功能,因此需要上传图片并返回图片的 URL。
getCodeMirror () 获取 simplemde 的 CodeMirror 对象。这可以让你直接访问 CodeMirror 编辑器。
getCursorPosition () 获取光标的当前位置。
setCursorPosition (line, ch) 将光标移动到指定的行和列位置。如果只传入行数,则将列数设置为1。
insertAtCursor (value) 将文本插入到光标的当前位置。
insertAround (prefix, suffix) 将文本插入到选定文本的前后。如果没有选中区域,则直接包裹在光标周围。
destroy () 销毁组件。此方法也可以用于释放内存占用,并清除 input 上的事件监听器。当你不再使用 wenxue 时,请务必调用 destroy 方法。

示例代码

输入 markdown 文本并转换为 HTML

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

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

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

高度自定义的配置

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

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

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

上传图片

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

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

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

结语

wenxue 是一个非常优秀的 npm 包,它为我们提供了一种更好的 markdown 编辑方案。通过学习本文档,您已经可以了解到如何安装和使用 wenxue,以及它所提供的 API 和示例代码。希望通过阅读本文,您可以对 wenxue 有更深入的理解,并在实际项目中得到应用。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6006710a8dd3466f61ffe0b5

纠错
反馈