前言

之前,一直想开发一款属于自己的Markdown编辑器,主要是自己平常写文章可以更加灵活操作,另外扩宽自己的视野也是非常不错的选择啊!所以在周末就决定玩耍一番。首先我调研了很多线上热门的md编辑器,都很优秀。不为超过他们,主要自己用着舒服点。这篇文章主要是记录下我是如何从0到1是完成一款还算拿得出手的Markdown编辑器。
调研Markdown编辑器

国内、国外关于Markdown编辑器有很多。

editor.md

网址:https://pandao.github.io/editor.md/

是一款开源的、可嵌入的 Markdown 在线编辑器(组件),基于 CodeMirror、jQuery 和 Marked 构建。这个组件好像是国内开发的,个人之前用着还可以。

typora

网址:https://www.typora.io/

Typora是一款免费的轻量级Markdown编辑器,它没有Mou,Haroopad等Markdown编辑器那么大名鼎鼎,算是较为小众的一款产品。 凭良心说话,我用过的Markdown编辑器也有好几款,其中包括:小书匠,Haroopad,Atom等,但Typora是最合我心意的一款编辑器了,其轻量、快速、易于上手,使用起来简直不要太舒服!!

tui-editor

网址:https://ui.toast.com/tui-editor

这是一款Markdown组件,通过调研决定用它。为什么?确认过眼神~
技术栈

Vue.js
tui-editor

实战

确定好技术栈之后,我们就得脚踏实地地干活了。

  1. 搭建Vue脚手架

我们会使用VueCLI搭建一个最基础的项目,这里暂时不需要Vue-router、Vuex这些插件,所以尽可能轻装。
2. 创建编辑器组件

我们会在components文件目录下创建一个Editor.vue文件,这个文件也就是我们的主战场,大部分操作都会在这个文件。
3. 配置编辑器组件

在配置编辑器时,有以下几点使我非常困惑,以致于花费了大量时间。

代码没有被高亮
语言不是中文
编辑器样式有问题

以上这几个问题通过以下措施才得以解决:

通过阅读文档:https://nhn.github.io/tui.editor/latest/
访问Github网站:https://github.com/nhn/tui.editor

Editor.vue

<template>
<div class="main">
<div id="editor"></div>
</div>
</template>
<script>

import Editor from “@toast-ui/editor”;
import hljs from “highlight.js”;
import codeSyntaxHighlight from “@toast-ui/editor-plugin-code-syntax-highlight”;
import ‘@toast-ui/editor/dist/i18n/zh-cn.js’;

import “highlight.js/styles/github.css”;
import “codemirror/lib/codemirror.css”; // Editor’s Dependency Style
import “@toast-ui/editor/dist/toastui-editor.css”; // Editor’s Style
import “@/styles/index.css”;
export default {
components: {},
data() {
return {
editor: null
};

更多内容请见原文,原文转载自:https://blog.csdn.net/weixin_44519496/article/details/118720930

我熬夜开发了一款简约实用、支持多平台的Markdown在线编辑器(开源)的更多相关文章

  1. 推荐一款不错的MarkDown在线编辑器

    StackEdit链接:https://stackedit.io/editor StackEdit可以实现同步编辑预览,如下图展示: 菜单界面 功能包括: 管理多个 MarkDown 文档.可在线或离 ...

  2. 【android开发】10款实用的Android UI工具,非常有用!

    移动应用的UI设计就好似达摩克利斯之剑,一方面,一个视觉.交互.体验良好的UI可以加强应用在用户心目中的形象和识别性.而另一方面,一个体验糟糕的UI设计不仅无法让用户沉浸在应用中,还会造成用户对应用产 ...

  3. 分享15款很实用的 Sass 和 Compass 工具

    Sass 是 CSS 的扩展,增加了嵌套规则,变量,混入功能等很多更多.它简化了组织和维护 CSS 代码的成本.Compass 是一个开源的 CSS 框架,使得使用 CSS3 和流行的设计模式比以往任 ...

  4. .Net 高效开发之不可错过的实用工具(转)

    .Net 高效开发之不可错过的实用工具(转) 本文摘自: http://www.cnblogs.com/powertoolsteam/p/5240908.html#3372237 Visual Stu ...

  5. QQ 腾讯QQ(简称“QQ”)是腾讯公司开发的一款基于Internet的即时通信(IM)软件

    QQ 编辑 腾讯QQ(简称“QQ”)是腾讯公司开发的一款基于Internet的即时通信(IM)软件.腾讯QQ支持在线聊天.视频通话.点对点断点续传文件.共享文件.网络硬盘.自定义面板.QQ邮箱等多种功 ...

  6. 移动周报:十款最实用的Android UI设计工具

    上一周可以说是一个不断Mark周,从最实用的Android UI设计工具.免费移动应用测试框架推荐,到HTML5开发框架等等,各种开发工具.框架精彩丰呈,看得小伙伴们是不亦乐乎.当然,还有不容错过的M ...

  7. .NET 高效开发之不可错过的实用工具(第一的当然是ReSharper插件)

    工欲善其事,必先利其器,没有好的工具,怎么能高效的开发出高质量的代码呢?本文为 ASP.NET 开发者介绍一些高效实用的工具,包括 SQL 管理,VS插件,内存管理,诊断工具等,涉及开发过程的各个环节 ...

  8. NET 高效开发之不可错过的实用工具(第一的当然是ReSharper插件)

    工欲善其事,必先利其器,没有好的工具,怎么能高效的开发出高质量的代码呢?本文为 ASP.NET 开发者介绍一些高效实用的工具,包括 SQL 管理,VS插件,内存管理,诊断工具等,涉及开发过程的各个环节 ...

  9. 开源项目|Go 开发的一款分布式唯一 ID 生成系统

    原文连接: 开源项目|Go 开发的一款分布式唯一 ID 生成系统 今天跟大家介绍一个开源项目:id-maker,主要功能是用来在分布式环境下生成唯一 ID.上周停更了一周,也是用来开发和测试这个项目的 ...

随机推荐

  1. Codeforces Round #705 (Div. 2) B. Planet Lapituletti(镜像时钟) 思维

    传送门:  https://codeforces.com/contest/1493/problem/B 题目: Example input 5 24 60 12:21 24 60 23:59 90 8 ...

  2. html 移动端与PC端之间的转换

    href 里面写路径 if ((navigator.userAgent.match(/(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackB ...

  3. liunx ip无法显示问题解决

    目录 出现现象描述 解决方案步骤: 1.停止NetworkManager 2.清空NetworkManager 3. 重启net service 4. 再次查看网络状态ifconig 出现现象描述 e ...

  4. day01-从一个基础的socket服务说起

    首发地址:day01-从一个基础的socket服务说起 教程说明:C++高性能网络服务保姆级教程 本节目的 实现一个基于socket的echo服务端和客户端 服务端监听流程 第一步:使用socket函 ...

  5. 攻防世界-MISC:SimpleRAR

    这是攻防世界新手练习区的第十题,题目如下: 点击下载附件1,是一个RAR文件,解压一下,得到flag.txt文件,激动的点进去看一下 好吧,就知道没有这么简单,用010editor打开这个RAR文件, ...

  6. Atlassian应对CVE-2022-22963,CVE-2022-22965的常见问题

    CVE-2022-22965 常见问题解答 基本信息 已发现 Spring Framework 中的关键远程代码执行漏洞 CVE-2022-22965.根据 Spring 的安全公告,此漏洞会影响在 ...

  7. [洛谷] P1065 [NOIP2006 提高组] 作业调度方案

    点击查看代码 #include<bits/stdc++.h> using namespace std; const int N = 1e6 + 10; int m, n, ans = 0; ...

  8. Linux 实现静态路由实验

    环境: 四台主机: A主机:eth0 NAT模式 R1主机:eth0 NAT模式,eth1 仅主机模式 R2主机:eth0 桥接模式,eth1仅主机模式 B主机:eth0 桥接模式 手动修改IP地址 ...

  9. Linux内核浅入浅出

    公众号关注 「开源Linux」 回复「学习」,有我为您特别筛选的学习资料~ 01 前言 拥有超过1300万行的代码,Linux内核是世界上最大的开源项目之一,但是Linux内核是什么,它用于什么?且听 ...

  10. 8 种常见 SQL 错误用法

    点击上方"开源Linux",选择"设为星标"回复"学习"获取独家整理的学习资料! 1.LIMIT 语句 分页查询是最常用的场景之一,但也通常 ...