10分钟让你的站点也支持Markdown
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;width: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,共同学习交流~
10分钟让你的站点也支持Markdown的更多相关文章
- 让你的站点也支持MarkDown
Markdown是一种可以使用普通文本编辑器编写的标记语言,通过类似HTML的标记语法,它可以使普通文本内容具有一定的格式.Markdown的语法简洁明了.学习容易,而且功能比纯文本更强,因此有很多人 ...
- JavaScript 10分钟入门
JavaScript 10分钟入门 随着公司内部技术分享(JS进阶)投票的失利,先译一篇不错的JS入门博文,方便不太了解JS的童鞋快速学习和掌握这门神奇的语言. 以下为译文,原文地址:http://w ...
- UWP开发入门(十九)——10分钟学会在VS2015中使用Git
写程序必然需要版本控制,哪怕是个人项目也是必须的.我们在开发UWP APP的时候,VS2015默认提供了对微软TFS和Git的支持.考虑到现在Git很火,作为微软系的程序员也不得不学一点防身,以免被开 ...
- U盘10分钟安装linux系统
说来可能不信,10分钟包括创建U盘启动盘,用U盘启动,安装,不联网,不更新,不安装语言包,等装好系统再更新. Windows系统硬盘分区 如果你用的是Windows系统,现有的硬盘没有未分配的空间,需 ...
- 10分钟学会Linux
10分钟学会Linux有点夸张,可是能够让一个新手初步熟悉Linux中最重要最主要的知识,本文翻译的英文网页在众多Linux入门学习的资料中还是很不错的. 英文地址:http://freeengine ...
- 10分钟精通SharePoint-搜索
大势所趋随着企业内容和文档数量的骤增,快速定位到所需材料和内容已经迫不及待,这也是所有企业所面临的共同的挑战,应这个大的趋势,"搜索"闪亮登上了企业协作(SharePoint)舞台 ...
- 10分钟精通SharePoint - SharePoint安装
简介 接触SharePoint就避免不了要接触SharePoint安装,无论你是对SharePoint进行开发还是管理(终端用户除外).SharePoint的安装涉及到两部分:预装.安装和配置,这主要 ...
- IBM的人工智能“沃森”首次确诊罕见白血病,只用了10分钟!
患者为一名60岁的女性,最初根据诊断结果,显示她患了急髓白血病.但在经历各种疗法后,效果并不明显. 根据东大医学院研究人员Arinobu Tojo的说法,他们利用Watson系统来对此病人进行诊断.系 ...
- Asp.Net Core 轻松学-10分钟使用EFCore连接MSSQL数据库
前言 在 .Net Core 2.2中 Microsoft.AspNetCore.App 默认内置了EntityFramework Core 包,所以在使用过程中,我们无需再从 NuGet 仓 ...
随机推荐
- html5-canvas绘图操作方法
<script>function draw(){ var c=document.getElementById("mycanvas"); c.width=50 ...
- 将ViewState放在Session里(转载)
using System; using System.Collections.Generic; using System.Linq; using System.Web; namespace Ent ...
- AngularJS ——ngResource、RESTful APIs 使用
这篇文章里,用以下两个情景用例来解释: 保存/持久化 新的数据对象 更新存在的数据对象 代码片段包含了AngularJs代码和Spring MVC代码,以能够让你简单快速的上手. 想要$resourc ...
- Android错误之--activity_main cannot be resolved or is not a field
一般在copy别人的项目中会easy出现本错误,截图例如以下:
- apache与和mysql重启命令
修改linux服务器的http配置之后,必须重启Apache服务. 命令为: /etc/rc.d/init.d/httpd restart chown -R mysql:mysql 目录名 改变文件属 ...
- 关于阿里云ECS Centos 5/6/7 Linux Glibc库严重安全漏洞修复方法
日前Linux GNU glibc标准库的 gethostbyname函数爆出缓冲区溢出漏洞,漏洞编号为CVE-2015-0235.黑客可以通过gethostbyname系列函数实现远程代码执行,获取 ...
- 阿里大鱼短信接口(Python3版)
近期由于须要用到短信接口,选型的的结果是用阿里大鱼的短信服务,然而淘宝开放平台(TOP)的SDK已经非常多年没有更新了.不支持python3.自己动手改了半天,还是不太正常,索性不用它,自己写一个算了 ...
- Java中的四种引用类型,强引用,软引用,弱引用,虚引用
对于Java中的垃圾回收机制来说,对象是否被回收的标准在于该对象是否被引用.因此,引用也是JVM进行内存管理的一个重要概念. Java中对象的引用一般有以下4种类型: 1强引用 2软引用 3弱引用 ...
- python django中使用sqlite3数据库 存储二进制数据ByteArray
在python中使用sqlite3数据库存储二进制流数据ByteArray,在django使用sqlite3数据库时,有时候也要注意最好使用二进制流ByteArray插入字符串. 使用ByteArra ...
- 如何设置UITextView不可被编辑
在项目中遇到一些需求需要把文字用UITextView来展示,但是该文字不能被编辑,只要把以下该代理方法实现就可以了 -(BOOL)textViewShouldBeginEditing:(UITextV ...