用Markdown优雅的渲染我们的网页

news/2024/7/7 10:26:50

认识 Markdown

Markdown 是一种用来写作的轻量级「标记语言」,它用简洁的语法代替排版,而不像一般我们用的字处理软件 Word 或 Pages 有大量的排版、字体设置。它使我们专心于码字,用「标记」语法,来代替常见的排版格式。例如此文从内容到格式,甚至插图,键盘就可以通通搞定了。目前来看,支持 Markdown 语法的编辑器有很多,包括很多网站(例如简书)也支持了 Markdown 的文字录入。Markdown 从写作到完成,导出格式随心所欲,你可以导出 HTML 格式的文件用来网站发布,也可以十分方便的导出 PDF 格式,这种格式写出的简历更能得到 HR 的好感。甚至可以利用 CloudApp 这种云服务工具直接上传至网页用来分享你的文章,全球最大的轻博客平台 Tumblr,也支持使用 Mou 这类 Markdown 工具进行编辑并直接上传。

 

关于markdown的基本知识也很简单,就是用简单的几个字符来标示不同文字的显示效果.例如,使用#来代表下面的文字为标题(偷懒找了张图)

 

怎么样,看起来是不是特别赞

 

用这样的语法去写blog是不是特别的舒服呢?想想就一阵暗爽来袭

 

但是需要特别注意的是markdown是语法编辑,而最终呈现在网页端的还是html

 

所以想要将markdown语法的内容呈现出来就需要对其进行转换!

 

不管使用什么语言,要想使用markdown无非就是要将使用markdown语法的文档转换成html然后显示出来

 

这次我们来说说在.net下如何使用这门编辑语言优雅的渲染我们的html页面。

 

C#中使用Markdown

在当今这个开源盛世,有许多第三方开发者都为我们提供了这样的类库

 

markdownsharp就是其中之一!

 

在VS的程序包控制台中可以直接运行下面代码来安装markdownsharp(当然你也可以用别的方法来安装)

PM> Install-Package MarkdownSharp

 

然后我们就可以在项目中使用markdownsharp了

 

markdownsharp类使用也比较简单

 

我们只需要实例化一个markdown对象之后调用对应的Transform()方法即可

 

请参考下面代码:

 

image

ASP.NET MVC中使用markdownsharp

知道怎么在C#中使用后我们到ASP.NET MVC中就简单多了.

为了简单起见我们直接在cshtml文件中编写了代码:

image

文档的存储

现在很多的编辑器都直接或者间接的支持markdown的语法

 

我们只需要将对应的文档存入数据库之后然后在前台显示就可.这里有两种做法,

 

1.直接在存入数据库之前就将其进行转换,这样存入数据库的其实就是html文件.

 

2.存入数据库markdown语法文件,而到页面显示的时候转换成Html.

 

这种方式可以多次编辑,也就是可以将数据库中的文档直接拿出来编辑,而如果使用的第一种方法的话想要编辑那还得将已经存入数据库的html代码转换成markdown文档.这样其实是多走了一步.

转载于:https://www.cnblogs.com/ixysy/p/6236782.html


http://www.niftyadmin.cn/n/4243166.html

相关文章

html背景纹理,CSS3 一组背景图纹理

CSS语言:CSSSCSS确定body {background: lightgrey;}div {width: 200px;height: 125px;background: salmon;margin: 30px auto;}.grid1 {background: white;background-image: linear-gradient(90deg, rgba(200, 0, 0, 0.5) 50%, transparent 0), linear-gradient(rg…

你的护城河在哪?老程序员的一些2016感悟

由于工作职位关系,在公司一直做一些技术储备工作。没有实际的开发任务,只是多看一些新东西,万一有需求可以出解决方案。 回顾2016,从前端开发到移动,从算法到机器学习,自然语言处理等,看过的东西…

如何使用计算机内设照相机,win7系统打开照相机功能的操作方法

很多小伙伴都遇到过对win7系统打开照相机功能进行设置的困惑吧,一些朋友看过网上对win7系统打开照相机功能设置的零散处理方法,并没有完完全全明白win7系统打开照相机功能是如何设置的,今天小编准备了简单的操作办法,只需要按照一…

rabbitmq trace 日志的使用以及其疑惑之处

RabbitMQ 默认日志里只有类似客户端“accpet/close”等信息,对于有异常或者跟踪消息内部结构就比较麻烦了。 不过MQ有个rabbitmq_tracing插件,安装该插件后在控制台的管理tab页,就可以看到多了一个trace的菜单。 其中,最重要的是理…

惠州城市职业技术学院计算机等级考试,2018年3月广东省惠州市计算机等级考试考务通知...

&nbsp&nbsp[导读]:2018年3月广东省惠州市计算机等级考试广东省2018年3月(第51次)全国计算机等级考试(NCRE)报名时间:2017年12月15日17:00至30日12:00,考试时间:3月24日至26日2018年3月广东省惠州市计算机等级考…

OpenCV2计算机编程手册(一)操作像素

1. 引言 从根本上来说,一张图像是一个由数值组成的矩阵。这也是opencv中使用 cv::Mat 这个数据结构来表示图像的原因。矩阵的每一个元素代表一个像素。对于灰度图像(单通道)而言,像素由8位无符号数来表示,其中0代表黑色…

用计算机术语写情书,大学各专业学霸情书火了,医学专业浪漫风趣,数学专业很难看懂...

大多数的大学生都已经是成年人,可以适当地接触爱情,既可以给学习带来动力,又可以为大学留下一段美好的回忆,练习自身的人际交往能力。随着社会的发展,互联网的普及,大学生们学和交流沟通大多都通过APP&…

关于三目运算符与if语句的效率与洛谷P2704题解

题目描述 司令部的将军们打算在N*M的网格地图上部署他们的炮兵部队。一个N*M的地图由N行M列组成,地图的每一格可能是山地(用“H” 表示),也可能是平原(用“P”表示),如下图。在每一格平原地形上…