前几个版本的地址:html
http://www.javashuo.com/article/p-bwzeewpi-dg.htmlgit
http://www.javashuo.com/article/p-ylgomgze-ck.htmlgithub
http://www.javashuo.com/article/p-uecqrztc-bv.html服务器
http://www.javashuo.com/article/p-ytfejgea-dm.htmlmarkdown
注意:使用本软件前,需先在博客园后台设置默认编辑器为markdown编辑器
废话少说,先上界面图片:工具
10月25日,我发布了博客园文章编辑器的4.0版本,获得了不少朋友的支持,布局
(后来我本身发现了一些问题,因而偷偷发了博客园文章编辑器的4.0.1版本,也没通知你们,不过好在有自动升级功能)学习
当时有不少朋友问我,这个工具支持不支持markdown,3d
我以为写markdown的人仍是挺多的,
调查了博客园确实支持markdown编辑器,
并且我开发了markdown的编辑器,对于那些使用HTML富文本编辑器的用户来讲,也很容易上手,没太大改变,
还能使他们经过个人编辑器学习一点markdown的语法知识,何乐而不为呢?!
说实话,我确实低估了开发这个东西的难度
本打算到github上随便拉一个来,
嵌到nwjs里去就能够了,
然而看了几个高分项目,都不合我意。
(不过,说真心话仍是要感谢这些项目,我写这个工具参考了不少这些开源项目的源码)
我以为这个项目最主要的难点是:
好在这些难点我都克服了
如今你看到的东西,就是这一阵子断断续续努力的成果
这里罗列的是全部的我以为重要的功能
开源地址:https://gitee.com/xland/cnblogs
下载地址:https://gitee.com/xland/cnblogs/releases
强烈但愿你们能给个star;
这让我知道你在用;
这让我有动力继续作一些对你们有用的东西;
第一段代码是用于控制滚动条同步滚动的:
var editorScroll = function () { setTimeout(function () { if (rightScrolling) { return; } var scrollInfo = editor.getScrollInfo(); var lineNumber = editor.lineAtHeight(scrollInfo.top, 'local'); var range = editor.getRange({ line: 0, ch: null }, { line: lineNumber, ch: null }); var parser = new DOMParser(); var doc = parser.parseFromString(marked(range), 'text/html'); var topLineIndex = doc.body.querySelectorAll('p, h1, h2, h3, h4, h5, h6, li, pre, blockquote, hr, table').length; var eles = document.getElementById("right").querySelectorAll('p, h1, h2, h3, h4, h5, h6, li, pre, blockquote, hr, table'); var scTop = eles[topLineIndex].offsetTop; $(".right").scrollTop(scTop); }, 800) } editor.on("scroll", editorScroll);
第二段代码,是用于插入markdown特有语法符号的
var wrapWidth = function (start, end) { if (!end) { end = start; } var arr = editor.doc.getSelections(); var result = []; arr.forEach(item => { var tempArr = item.split('\n'); for (var i = 0; i < tempArr.length; i++) { if (tempArr[i]) { tempArr[i] = start + tempArr[i] + end; } } result.push(tempArr.join('\n')); }) editor.doc.replaceSelections(result); };