前端:推荐一款开源免费的浏览器端Markdown编辑器Vditor

article/2025/11/3 7:02:55

目前程序员的世界到处都是Markdown ,比如CSDN、简书、GitCha、 GitHub、掘金社区等等都支持Markdown文档,另外近几年许多官方技术文档都是使用Markdown来写的。 使用Markdown不仅可以非常方便的写博客、写技术文档,而且可以直接导出对应的网站内容,导出可打印的文档 ,另外Markdown的语法有非常简单,对于程序员来说几乎没有嘘唏成本,且一旦你掌握了它,你就可以在任何地方任何平台使用Markdown来编写技术博客。

今天给大家聊聊一款开源免费的浏览器端Markdown编辑器——Vditor,非常的好用,不仅支持桌面软件、也可以作为前端MarkDown编辑器嵌入到你的系统里面去,现在带大家来了解一下这个非常棒的开源编辑器!

一、编辑器简介

image.png
Vditor 是一款浏览器端的 Markdown 编辑器,支持所见即所得、即时渲染(类似 Typora)和分屏预览模式。它使用 TypeScript 实现,支持原生 JavaScript、Vue、React 和 Angular。提供桌面版。支持Windows、Linux、MacOS、浏览器扩展、安卓、IOS版本。

官网:https://b3log.org/vditor/

GitHub:https://github.com/Vanessa219/vditor

桌面版下载:https://b3log.org/siyuan/download.html

二、功能特性

● 支持三种编辑模式:所见即所得(wysiwyg)、即时渲染(ir)、分屏预览(sv)

● 支持大纲、数学公式、脑图、图表、流程图、甘特图、时序图、五线谱、多媒体、语音阅读、标题锚点、代码高亮及复制、graphviz、PlantUML 渲染

● 内置安全过滤、导出、图片懒加载、任务列表、多平台预览、多主题切换、复制到微信公众号/知乎功能

● 实现 CommonMark 和 GFM 规范,可对 Markdown 进行格式化和语法树查看,并支持10+项配置

● 工具栏包含 36+ 项操作,除支持扩展外还可对每一项中的快捷键、提示、提示位置、图标、点击事件、类名、子工具栏进行自定义

● 表情/at/话题等自动补全扩展

● 可使用拖拽、剪切板粘贴上传,显示实时上传进度,支持 CORS 跨域上传

● 实时保存内容,防止意外丢失

● 录音支持,用户可直接发布语音

● 粘贴 HTML 自动转换为 Markdown,如粘贴中包含外链图片可通过指定接口上传到服务器

● 支持主窗口大小拖拽、字符计数

● 多主题支持,内置黑白绿三套主题

● 多语言支持,内置中、英、韩文本地化

● 支持主流浏览器,对移动端友好

三、编辑器模式初始化设定

2.1 所见即所得模式

即所得模式对不熟悉 Markdown 的用户较为友好,熟悉 Markdown 的话也可以无缝使用。

new Vditor('vditor', {"height": 360,"cache": {"enable": false},"value": "## 所见即所得(WYSIWYG)\n所见即所得模式对不熟悉 Markdown 的用户较为友好,熟悉 Markdown 的话也可以无缝使用。 ","mode": "wysiwyg"
})

2.2 即时渲染模式

对熟悉 Typora 的用户应该不会感到陌生,理论上这是最优雅的 Markdown 编辑方式。

new Vditor('vditor', {"height": 360,"cache": {"enable": false},"value": "## 即时渲染(IR)\n即时渲染模式对熟悉 Typora 的用户应该不会感到陌生,理论上这是最优雅的 Markdown 编辑方式。","mode": "ir"
})

2.3 分屏预览(SV)

该模式目前没有发现具体的使用场景。

new Vditor('vditor', {"height": 360,"cache": {"enable": false},"value": "## 分屏预览(SV)\n传统的分屏预览模式适合大屏下的 Markdown 编辑。","mode": "sv","preview": {"mode": "editor"}
})

在这里插入图片描述

2.4 分屏预览模式

分屏预览(SV)\n传统的分屏预览模式适合大屏下的 Markdown 编辑

new Vditor('vditor', {"height": 360,"cache": {"enable": false},"value": "## 分屏预览(SV)\n传统的分屏预览模式适合大屏下的 Markdown 编辑。","mode": "sv","preview": {"mode": "both"}
})

四、案例代码

直接采用最原始的html提供完整的示例代码,直接可以运行。

<html><head><title>vditor编辑器</title><link rel="stylesheet" href="https://unpkg.com/vditor/dist/index.css" /><script src="https://unpkg.com/vditor/dist/index.min.js"></script></head>    <body><input type="button" onclick="getContent()" value="确定" /><div id="content"></div><script>var vditor = null;window.onload = function() {vditor = new Vditor(document.getElementById('content'), {cache: {enable: false},"mode": "sv","preview": {"mode": "both"}});}// 测试数据填充function getContent() {vditor.setValue("## 测试 \n ### 二级标题 ");}</script></body></html>

运行效果


http://chatgpt.dhexx.cn/article/6SP9XlmR.shtml

相关文章

Vue Markdown编辑器

效果展示 因工作中需要使用 是在https://gitee.com/wike2019/wike__md_editor中自己摸索完成 如有侵权请 告知本人 本人立刻删除此文章 简介 一款使用marked和highlight.js开发的一款markdown编辑器&#xff0c;除常见markdown语法外&#xff0c;支持快捷输入、图片粘贴、代…

R语言计量经济学:虚拟变量(哑变量)在线性回归模型中的应用

最近我们被客户要求撰写关于线性回归的研究报告&#xff0c;包括一些图形和统计输出。 为什么需要虚拟变量&#xff1f; 大多数数据都可以用数字来衡量&#xff0c;如身高和体重。然而&#xff0c;诸如性别、季节、地点等变量则不能用数字来衡量。相反&#xff0c;我们使用虚拟…

《计量经济学》学习笔记之虚拟变量及滞后变量模型

导航 上一章&#xff1a;放款基本假定的模型 文章目录 导航经典单方程计量 经济学模型&#xff1a;专门问题5.1虚拟变量模型一、虚拟变量的引入二、虚拟变量的设置原则 5.2滞后变量模型一、滞后变量模型二、分布滞后模型的参数估计三、自回归模型的参数估计四、格兰杰因果检验…

R语言使用虚拟变量(Dummy Variables) 回归分析工资影响因素

最近我们被客户要求撰写关于虚拟变量(Dummy Variables) 回归的研究报告&#xff0c;包括一些图形和统计输出。 简介 本文与以下两个问题有关。你应该如何添加虚拟变量&#xff1f;你应该如何解释结果&#xff1f; 如果使用一个例子&#xff0c;我们可能会更容易理解这些问题。…

虚拟变量在模型中的作用

虚拟变量是什么 实际场景中&#xff0c;有很多现象不能单纯的进行定量描述&#xff0c;只能用例如“出现”“不出现”这样的形式进行描述&#xff0c;这种情况下就需要引入虚拟变量。例如即将到来的女生节&#xff0c;每年的这个时候毛绒玩具的销量都会上升&#xff0c;说明女生…

R 回归 虚拟变量na_互助问答第30期:工具变量、GARCH模型操作和多项选择效信度...

问题1:用截面数据研究var1对y1 与y2 的影响,由于y1是0-1型的变量、y2为连续变量,因此分别用probit与tobit模型做了回归,首先做了基础回归,之后做了工具变量回归,但工具变量回归的结果(系数的绝对值)却远远大于原回归系数的绝对值,|-2.006|>|-0.046|,为何工具变量回归…

多元线性回归及虚拟变量(哑变量)设置

1.多元线性回归SPSS分析 四步搞定SPSS多元线性回归视频教程&#xff08;含详细操作及结果解读&#xff09;_哔哩哔哩_bilibili订阅陈老师B站送福利&#xff01;订阅后加陈老师QQ1622275006送数据分析教程及软件福利哟~关注微信公众号&#xff1a;杏花开医学统计&#xff0c;免…

虚拟变量陷阱原理及算例

文章目录 1.虚拟变量2.虚拟变量陷阱3.虚拟变量陷阱例子及分析4.总结5.参考资料 1.虚拟变量 直接在回归模型中加入定性因素&#xff08;比如类别因素&#xff1a;男或女&#xff09;存在困难&#xff0c;因此可以考虑把定性因素量化&#xff0c;使定性因素与定量因素在回归模型…

机器学习(时间序列):线性回归之虚拟变量 dummy variables

1 前言 当预测变量是分类变量时&#xff0c;我们可以引入虚拟变量&#xff0c;作为回归的虚拟变量虚拟变量也可用于解释数据中的异常值。 虚拟变量不会忽略异常值&#xff0c;而是消除其影响。 在这种情况下&#xff0c;虚拟变量对该观察值取值为 1&#xff0c;而在其他任何正…

虚拟变量的方法介绍及python实现方式

虚拟变量的定义作用 计量经济学中对虚拟变量给出了定义、作用及使用场景&#xff0c;进一步的深入了解可以系统性学习。 定义&#xff1a;虚拟变量 ( Dummy Variables) &#xff0c;用以反映无法定量度量的因素&#xff0c;譬如性别对收入的影响&#xff0c;是量化了的质变量&…

【计量经济学】虚拟变量

虚拟变量–潘登同学的计量经济学笔记 文章目录 虚拟变量--潘登同学的计量经济学笔记 对定性信息的描述只有一个虚拟变量的情形虚拟变量系数的解释虚拟变量的作用效果检验工资性别歧视因变量为对数形式的情况 多个虚拟变量的情形虚拟变量系数的解释使用虚拟变量包含序数信息虚拟…

php读取文件名称,php如何获取文件名

php获取文件名的方法&#xff1a;可以用basename()函数来获取文件名&#xff0c;例如&#xff1a;【basename($full_name)】。还可以使用pathinfo()函数来获取文件名。 PHP中获取文件名的方式 1、直接用basename&#xff1a;<?php $full_name c:\wamp\php\php.ini; $base…

python获取当前系统的日期_python怎么获取当前系统时间

python获取当前系统时间&#xff0c;包括年月日&#xff0c;时分秒&#xff0c;主要通过Python中的datetime模块来实现。 下面我们就通过具体的代码示例&#xff0c;给大家详细介绍Python获取当前时间日期的实现方法。 代码示例如下&#xff1a;import datetime now datetime.…

mysql如何获取当前时间_mysql怎么获取当前时间

mysql获取当前时间的方法&#xff1a;可以通过执行【select now();】语句来获取当前时间。还可以通过执行【select current_timestamp, current_timestamp();】语句来获取。 获得当前日期时间(date time)函数&#xff1a;now()mysql> select now(); --------------------- …

如何通过php获取今天的时间,如何使用php获取当前时间和日期

如何使用php获取当前时间和日期&#xff1f;在php中我们可以使用date()函数来获取当前时间和日期&#xff0c;也可以在PHP> 5.2的 版本中使用DateTime PHP类来获取日期和时间&#xff0c;下面我们就来看看具体的内容。 使用date()函数输出当前日期和时间。它将使用php.ini中…

php如何获取当前日期时间函数,php如何使用date()函数获取当前时间

php如何使用date()函数获取当前时间?本篇文章就给大家介绍具体介绍PHP使用date()函数获取当前时间的方法,希望对你们有所帮助。 date()函数可以将获取到的时间戳转换为更易读的日期和时间格式。当date()函数中不自定义一个时间戳时,将使用当前日期和时间。 下面我们来看看使…

PHP 获取当前访问的URL

<?php /** * 获取当前访问的完整url * return string * date 2020/7/23 */ function getUrl() {// 判断当前页采用的协议是HTTP还是HTTPS // 443端口&#xff1a;即网页浏览端口&#xff0c;主要用于HTTPS服务&#xff0c;是提供加密和通过安全端口传输的另一种HTTP。 $url…

python之点积

数学中点积也就是内积&#xff0c;是指两个向量各自对应位相乘后求和&#xff0c;比如x (x1,x2),y(y1,y2),则x与y的内积结果为x1*y1x2*y2,因此 python中一维数组之间的点积&#xff0c;即为数组各个位乘积之和&#xff0c;如&#xff1a; x1 np.arange(0,9) print(x1) y1 …

点积、叉积、内积、外积

点积、叉积、内积、外积 点积内积 &#xff08;结果标量&#xff09; 叉积外积 (结果矢量) 点积&#xff08;内积、数量积&#xff09;&#xff1a; matlab or python&#xff1a;dot() / np.dot() 数学符号&#xff1a;A.B<a,b> 相乘相加 物理意义&#xff1a; 向量…

点积和叉积在计算机图形学的应用

点积和叉积在计算机图形学中&#xff0c;是最为基础且重要的概念&#xff0c;初学者弄清它的概念的应用&#xff0c;是很重要的。最后一节&#xff0c;是为了加强理解记录&#xff0c;如果不看也是可以的&#xff0c;大家选择观看&#xff0c;有兴趣可以去看原视频&#xff0c;…