首页 > 其他 > 详细

给你的博客增加一个markdown编辑器

时间:2020-04-09 10:16:32      阅读:72      评论:0      收藏:0      [点我收藏+]

首先,我们来看看成果。markdown编辑器

身为一个业余CV工程师,闲着总是很无聊,所以,要把折腾进行到底!

之前经常用一个markdown在线编辑器,觉得真是好用,给无数人推荐。

但在昨天,我突然发现,这货竟然是一个开源项目的CV产品,这,不能忍,不能让你一个人CV,我也要!

首先感谢editormd的作者,把这么好的项目开源,让人可以光明正大的copy学习。

这个作者的很多项目目前都是停止维护的状态,博客也不更新。也不知道作者忙什么去了。。。看博客介绍貌似是美图程序员。

话不多说,开整!

我本来是把项目整个下载下来弄的,一顿折腾,后来发现把博客文件夹弄得有点乱,强迫症发作,觉得实在没那个必要,于是就根据项目主页的简单demo进行了简单修改。

<link rel="stylesheet" href="editormd/css/editormd.css" />
<div id="test-editor">
<textarea style="display:none;">
### 关于 Editor.md

**Editor.md** 是一款开源的、可嵌入的 Markdown 在线编辑器(组件),基于 CodeMirror、jQuery 和 Marked 构建。
</textarea>
</div>
<script src="https://cdn.bootcss.com/jquery/1.11.3/jquery.min.js"></script>
<script src="editormd/editormd.min.js"></script>
<script type="text/javascript">
    $(function() {
        var editor = editormd("test-editor", {
            // width  : "100%",
            // height : "100%",
            path   : "editormd/lib/"
        });
    });
</script>

上面是项目首页的demo,直接把页面放到任意html网页里面就可以了。

当然,很快你会发现,不起作用。

那是因为上面的引用地址都不是绝对链接,所有我们要把他们都改一下。

你当然可以用项目网站上的js和css的绝对链接直接替换,因为我之前就是这么做的。

不过后来我还是换了,因为觉得太无耻,这不就盗链嘛。

一下子恍如圣人!

技术分享图片

其实主要原因是作者的项目网站本身是GitHub page,而最近GitHub总是出问题,加上据说GitHub速度慢,为了长久计,终于作罢。

那么,我们换成啥呢?

不知道你有没有听说过jsdelivr?据其官网介绍,它是一家由Dmitriy Akulov和Prospect One开发的公共、开源CDN(内容分发网站),专注于性能,可靠性和安全性。每个人都可以免费使用,没有带宽限制。

总有一些网站让人感到舒服,这家网站据说在中国大陆有很多节点,所以速度实在给力。

很快就找到了editormd作者在jsdeliver上的项目主页editor.md

我们直接照葫芦画瓢,来一波替换吧。

<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/editor.md@1.5.0/css/editormd.min.css" />
<div id="test-editor">
<textarea style="display:none;">
### 关于 Editor.md

**Editor.md** 是一款开源的、可嵌入的 Markdown 在线编辑器(组件),基于 CodeMirror、jQuery 和 Marked 构建。
</textarea>
</div>
<script src="https://cdn.bootcss.com/jquery/1.11.3/jquery.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/editor.md@1.5.0/editormd.min.js"></script>
<script type="text/javascript">
    $(function() {
        var editor = editormd("test-editor", {
            // width  : "100%",
            // height : "100%",
            path   : "https://cdn.jsdelivr.net/npm/editor.md@1.5.0/lib/"
        });
    });
</script>

以上,其实已经可以结束了,不过,我们没有那么容易结束。
技术分享图片
如果你已经根据上文内容自己CV了一个markdown编辑器,你很快又会发现,你的编辑器里面emoji表情出不来!

就算你打开了,其实也加载不出来。

比如你去项目主页editormd,你会发现,emoji能打开,但是加载不出来。

那么,有没有办法呢?当然是有的。

我之前就因为emoji打开但是不加载又把项目下载下来一顿折腾。

后来F12一顿研究,才发现作者在editor.md.js文件里面引用的emoji页面链接不对。

所以,只要修改一下就??了。

下面是完整的代码,其中包括但不限于打开emoji,修改emoji链接。

<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/editor.md@1.5.0/css/editormd.min.css" />
<div id="test-editor">
<textarea style="display:none;">
### 关于 Editor.md

**Editor.md** 是一款开源的、可嵌入的 Markdown 在线编辑器(组件),基于 CodeMirror、jQuery 和 Marked 构建。
</textarea>
</div>
<script src="https://cdn.bootcss.com/jquery/1.11.3/jquery.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/editor.md@1.5.0/editormd.min.js"></script>
<script type="text/javascript">
    $(function () {
        editormd("test-editor", {
            width: "100%",
            height: 740,
            path: "https://cdn.jsdelivr.net/npm/editor.md@1.5.0/lib/",
            codeFold: true,
            saveHTMLToTextarea: true,    // 保存 HTML 到 Textarea
            searchReplace: true,
            htmlDecode: "style,script,iframe|on*",            // 开启 HTML 标签解析,为了安全性,默认不开启
            emoji: true,
        });
        editormd.emoji = {
            path: "https://www.webfx.com/tools/emoji-cheat-sheet/graphics/emojis/",
            ext: ".png"
        };
    })

我本来还打开了tex科学公式,但没有起作用,初步判断是字体加载问题,不过一时半会也用不上这玩意儿,还是算了吧。

对了,如果你是在hexo博客上搞这个,可以在页面开头加上layout: false,这样就把博客本身的布局关了。

还有,最好在html里面操作,而不是md里面,自行判断。

到此为止。

技术分享图片

给你的博客增加一个markdown编辑器

原文:https://www.cnblogs.com/jiaosenvip/p/12664308.html

(1)
(1)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!