实现基于codemirror的markdown编辑器(一)

我们知道,要实现一个Markdown编辑器,一般会想要实现这样的功能:实时预览、同步滚动、支持标签按钮添加、markdown语法高亮等等。那么如何去实现一个功能比较完整的markdown编辑器呢?

首先这里我们只讨论web端,其实现在市面上的Markdown编辑器已经很优秀了,有道笔记、印象笔记、Cmd等等,很多都可以拿来直接用,满足基本需求足够了。但是作为前端程序员来说,当然想要实现一个自己定制化的markdown编辑器比较有意思,不过通过查阅资料文档和各种框架比较,发现也不是那么容易的事。

阅读全文

点击按钮粘贴所选内容到剪贴板

我们经常可以看到这样的功能,点击某个按钮可以自动复制想要的内容到剪贴板。比如说某个图片、视频的地址,某个输入的内容,我们有的时候懒得去用键盘鼠标选中某个区域,希望只用点击一下,就能复制想要的内容。

阅读全文

纯CSS绘制不同的图形

为什么要用CSS绘制图形?我们知道,一般表示图案可以用img标签,直接用切好的图片,或者用background加载背景图。但是,当我们遇到一些小图标,比如说三角箭头、半圆、对话框、圆形等等。这些简单的图案其实可以完全使用CSS来生成,这样可以极大的减少图片资源的请求和加载,从而使网页加载速度更快。

阅读全文

什么是堆排序

堆排序是一种常见的排序算法,时间复杂度是O(nlgn),与归并排序一样,但它又与插入排序一样具有空间原址性 :任何时候都只需要常数个额外的元素空间存储临时数据。

阅读全文

用原生JS写轮播图

我们经常可以在网页上看到轮播图的效果,这是一个很常见的应用,但是,要想比较完美地实现这个功能,还是需要花点时间的。

阅读全文