MVC开发Markdown编辑器(1)
<!DOCTYPE html>
MVC
markdown
- MVC开发Markdown编辑器(1)
- 前言
- 安装
- 解析
- 结束语
前言
想在近段时间通过mvc开发个人博客,编辑器希望是markdown风格的,这样写文字会很方便。首先先解决在.net下markdown编辑器的实现,查了许多资料,有许多开源的markdown解析引擎,我暂且用的是在Nuget排名较高的Markdowndeep来解析,语法非常简单,几句代码轻松解析。
PS:接下来若出现mdd即代表MarkdownDeep
安装
在Nuget中通过Install-Package MarkdownDeep.Full
命令来安装完整版的Markdowndeep
其中包括js版本和.net版本
或者通过Install-Package MarkdownDeep.NET
命令来安装
只含安装.net版本
解析
安装完成后在Script文件中会加入几个mdd的包
MarkdownDeepLib.min.js
是用来解析的,mdd_styles.css
是默认的一些样式,通过js解析需要引入MarkdownDeepLib.min.js
,css则可有可无
js解析mdd
var markdown = new MarkdownDeep.Markdown();
md.ExtraMode = true;
md.SafeMode = true;
md.MarkdownInHtml = true;
var output = md.Transform(content);
到此为止,解析完成。是不是很简单!
第一行是生成一个markdown对象,第二到第四行设置一些属性,第五行解析输出
PS:如果有谁对mmd比较了解希望能说明下mmd属性具体作用.net解析mdd
这里有两种方法
- 通过Nuget安装
MarkdownDeepHelper
,这是一个封装好的helper类,拿来直接在view中通过@Html.Markdown(something)
来解析并返回MvcHtmlString - 自己写个扩展方法实现MarkdownDeepHelper,两种方法其实都一样,因为代码量真的很少,.net的代码和js代码几乎完全一样。
public static class MarkdownHelper
{
/// <summary>
/// 生成一个私有静态实例
/// </summary>
private static Markdown markdown = new Markdown();
/// <summary>
/// 解析成Html并返回.
/// </summary>
/// <param name="helper">该方法扩展自HtmlHelper</param>
/// <param name="text">需要被解析的字符串</param>
/// <returns>The HTML representation of the supplied Markdown.</returns>
public static IHtmlString Markdown(this HtmlHelper helper, string text)
{
// 通过Tranform方法解析字符串
string html = markdown.Transform(text);
markdown.ExtraMode = true;
markdown.SafeMode = true;
markdown.MarkdownInHtml = true;
// 返回MvcHtmlString,防止被编码
return new MvcHtmlString(html);
}
}
在通过View中引入MarkdownHelper命名空间即可通过
@Html.Markdown(something)
解析 是不是和前者完全一样
到此为止解析完成。- 通过Nuget安装
结束语
已经2点多了,实时预览放在下一次了。睡觉
PS:如果有哪些写的不对或不好的地方欢迎大家指点
转载于:https://www.cnblogs.com/Jack-Blog/p/4518670.html
MVC开发Markdown编辑器(1)相关推荐
- 解决自媒体一键多平台发布,从零开发Markdown编辑器(一)
前言 在这个人人都是自媒体的时代,为了扩大个人影响力同时预防文章被盗版至其他平台,多平台发布文章就成了创作者们的一大痛点,为了解决这一痛点就需要将文章的编辑到发布无缝集成. 现在要实现这一功能,开发一 ...
- ASP.net mvc开发中使用纯html如何创建FCKeditor编辑器的使用
http://www.cnblogs.com/esshs/archive/2008/12/03/1346326.html FCKeditor下载路径: http://sourceforge.net/p ...
- 使用 Vue 和 Electron 开发一款简单的 Markdown 编辑器
2021SC@SDUSC 本文并不涉及自己设计一套 Markdown 渲染组件的部分,Markdown 渲染组件可通过 marked 和 highlight.js 自行实现.但本文重点在于如何使用 E ...
- 原创|我是如何从零学习开发一款跨平台桌面软件的(Markdown编辑器)
原始冲动 搜小说 https://biqi.org/ 最近一直在学习 Electron 开发桌面应用程序,目的是想做一个桌面编辑器,虽然一直在使用Typora这款神器,但无奈Typora太过国际化,在 ...
- 技能学习:学习使用php(tp6框架) + vue.js,开发前端全栈网站-8.使用mavoneditor(vue的markdown编辑器),并批量上传图片
技能学习:学习使用php(tp6框架) + vue.js,开发前端全栈网站-8.使用mavoneditor(vue的markdown编辑器),并批量上传图片 技能学习:学习使用php(tp6框架) + ...
- 使用 Vue3 + vite + elementUI 开发一个 Utools Markdown 编辑器插件
文章目录 目的 开发文档整理 基础工具的集成 初始化项目 框架引入 按需引用和 SASS 引入验证 utools 开发配置 调试和打包插件 功能实现 依赖库的安装调用 布局实现 Editor.vue ...
- python在线编辑器最新_Editor.md 二次开发-markdown在线编辑器
需求分析 经常需要在网络论坛发布文章进行宣传良心工作室最新免费服务,但每个论坛的编写格式存在差异,给发布带来了很大的障碍. 最近markdown格式的兴起,给广大发布者带来了福音,一种文档格式大部分网 ...
- django admin使用在前端_Django| 给你博客装个Markdown编辑器
小白学Django系列: 小白学Django第一天| MVC.MVT以及Django的那些事 小白学Django第二天| Django原来是这么玩的! 小白学Django第三天| 一文带你快速理解模型 ...
- lisp协议instand_分享|Linux 上 10 个最好的 Markdown 编辑器
在这篇文章中,我们会点评一些可以在 Linux 上安装使用的最好的 Markdown 编辑器. 你可以在 Linux 平台上找到非常多的 的 Markdown 编辑器,但是在这里我们将尽可能地为您推荐 ...
最新文章
- 顺序表应用4:元素位置互换之逆置算法
- f-GAN简介:GAN模型的生产车间
- 安装Vuecli新版本正常,但是显示版本是低版本
- c++利用初始化列表在类内部和类外部定义构造函数的区别
- ESP32开发 3.bat批处理文件,批量删除编译后的build文件夹,方便Git上传分享
- ip地址怎么设置才有效_如果想减肥,怎么拆解目标才是有效的?
- 怎样的数据分析才有价值
- java中的scanner用法
- Integration Services 学习(5):容器
- comps电磁场模拟软件_|Mentor Graphics IE3D(电磁场仿真软件)下载v15.0官方版 - 欧普软件下载...
- 风变编程python小课课件_待风变编程的 Python 网课是什么? Python 网课怎么
- Codeforces D. Berserk And Fireball(贪心)
- 普通PC通过USB转485串口 ModBus-RTU通信协议控制伺服电机
- 魔方复原(BFS+剪枝)
- 什么是3G工程师,3G工程师知识储备
- android第三方上传文件,安卓和苹果终于打通!互传文件无需借助第三方,一碰就能传...
- 适合python的vim设置
- windows设置有线访问内网,无线访问外网
- 利用Java8新特性stream流给集合中的某个属性赋值
- 数据挖掘实战(2)——糖尿病数据集(回归问题)
热门文章
- linux 5.8 yum源,Centos5.8 |linux yum源不能用报404错误
- ESP32串口转WiFi双天线ESP32-S模组
- 克隆树莓Raspberry Pi Mode4 的TF卡
- 基于STC8H8K64U声音信标采集和处理算法
- 2017-2019年全国大学生智能汽车竞赛获奖数据分析
- ZLAN串口转接以太网ZLSN3003S
- java 虚拟打印机_Java 通过物理、虚拟打印机打印Word文档
- mysql 主被切换_mysql 主从切换
- mysql 存储引擎 面试_搞定PHP面试 - MySQL基础知识点整理 - 存储引擎
- nginx lua连接mysql_OpenResty的安装和在nginx中使用lua直接访问mysql达到数据接口的统一...