Markdown简介
Markdown 是一种轻量级的「标记语言」,它的优点很多,目前也被越来越多的写作爱好者,撰稿者广泛使用。Markdown 的语法十分简单,常用的标记符号也不超过十个,这种相对于更为复杂的 HTML 标记语言来说,Markdown 可谓是十分轻量的,学习成本也不需要太多,且一旦熟悉这种语法规则,会有一劳永逸的效果。
Markdown优点
用markdown编写完后,我们可以导出到html发布到网站或者导出pdf保存到本地,十分的方便。最重要的是markdown源文件是纯文本文件,也就是意味着可以跨平台,使用 Markdown 的优点如下:
专注你的文字内容而不是排版样式,安心写作。
轻松的导出 HTML、PDF 和本身的 .md 文件。
纯文本内容,兼容所有的文本编辑器与字处理软件。
随时修改你的文章版本,不必像字处理软件生成若干文件版本导致混乱。
可读、直观、学习成本低。
Markdown语法教程
点这儿 ------ Markdown语法教程--图片版,Markdown编辑器推荐与语法教程--展示版
我是分割线我是分割线我是分割线我是分割线我是分割线
如何让自己的站点也支持Markdown
上面介绍了Markdown的好处和使用教程,下面就是开始让自己的网站也支持该语言。
之所以markdown可以在网站中使用,是因为markdown可以导出html,我们要做的便是将markdown转换成html
showdown.js
第一步
我们先去下载开源js库showdown.js,这是现在比较流行的开源库,我们没有必要自己再去造轮子。
下载下来后是一个这样的一个文件夹:
里面包含:
第二步
将这个文件夹拖入我们工程的public目录下(根据自己的情况去找对应的文件夹)
第三步
我们需要在哪个页面使用markdown就在哪个界面引入showdown.min.js文件
在head头中引入,一定要搞清楚准确的路径去找出showdown.min.js文件
第四步
showdown.js的使用方法很简单
function compile(){
//获取要转换的文字
var text = document.getElementById("content").value;
//创建实例
var converter = new showdown.Converter();
//进行转换
var html = converter.makeHtml(text);
//展示到对应的地方 result便是id名称
document.getElementById("result").innerHTML = html;
}
如果想实现实时的转换,比如:简书的预览模式
可以参考下面的代码
<!DOCTYPE html>
<html>
<head>
<title>Markdown.js</title>
<script type="text/javascript" src="showdown-master/dist/showdown.min.js"></script>
</head>
<--我们可以使用样式自定义markdown转换后的样式--!>
<style>
<--引用样式--!>
blockquote {
border-left:#eee solid 5px;
padding-left:20px;
}
<--列表样式--!>
ul li {
line-height: 20px;
}
<--代码样式--!>
code {
color:#D34B62;
background: #F6F6F6;
}
}
</style>
<body>
<div>
<--设置id为oriContent,如果想实现实时更新,使用onkeyup方法--!>
<textarea id="oriContent" style="height:400px;600px;" onkeyup="convert()"></textarea>
<---设置展示的div添加id-!>
<div id="result"></div>
</div>
<--写转化函数--!>
<script type="text/javascript">
function convert(){
var text = document.getElementById("oriContent").value;
var converter = new showdown.Converter();
var html = converter.makeHtml(text);
document.getElementById("result").innerHTML = html;
}
</script>
</body>
</html>
效果如下:
如果不实现实时变换,把onkeyup去掉,然后直接获取到标记语言的文本,然后进行转换输出到对应的位置就可以了,大家自行尝试吧
整理by Demoer,欢迎关注我的个人公众号:zhyunfe-com,共同学习交流~