全面启用 Markdown 语法以及前端格式优化(代码高亮行号显示等优化)全过程

2020-02-14 14:47:38 +08:00
 wwwwzf

#什么是 MarkDown Markdown 是一种可以使用普通文本编辑器编写的标记语言,通过简单的标记语法,它可以使普通文本内容具有一定的格式。

Markdown 具有一系列衍生版本,用于扩展 Markdown 的功能(如表格、脚注、内嵌 HTML 等等),这些功能原初的 Markdown 尚不具备,它们能让 Markdown 转换成更多的格式,例如 LaTeX,Docbook。Markdown 增强版中比较有名的有 Markdown Extra、MultiMarkdown、Maruku 等。这些衍生版本要么基于工具,如 Pandoc ;要么基于网站,如 GitHub 和 Wikipedia,在语法上基本兼容,但在一些语法和渲染效果上有改动。

目前主流平台包括有道云笔记等时尚产品均支持 Makrdown 语法,简称 MD 写作。

而 Github 等平台更是默认创建.md 文件。

#使用它有什么好处 Markdown 的语法简洁明了、学习容易,而且功能比纯文本更强,因此有很多人用它写博客。世界上最流行的博客平台 WordPress 和大型 CMS 如 Zoomla、Drupal 都能很好的支持 Markdown。完全采用 Markdown 编辑器的博客平台有 Ghost 和 Typecho。

在 Markdown 编辑器还支持复杂的公式引用。

使用者不需要关心格式,不再如同 word 一样的整天为格式缩进行伤透脑筋-当然这不是说 word 毫无用处。

Zoomla!逐浪 CMS 在很早期的产品中就集成了 Markdown 编辑器,同时我们还在旗下的去上云 73ic.com 平台提供了一个线版本,网址是: https://www.73ic.com/Plugins/markdown/

而在逐浪 CMS 后台切换 Markdown 编辑器后界面如下示:

#使用时的要注意的事情 在 Zoomla!逐浪 CMS 中使用 Markdown,首先需要在字段中会产生了个隐藏的字段名_src字段,这个字段用于存储 md 语法,事实上系统会转换一次 html 存在相应的字段名字段中。

*因此,如果你是默认的字段切换,则需要手动在所在的 zl_c_副表中,增加该字段名_src字段 *

#高亮显示行号

可以借助两个插件来实: highlightj.js 代码高亮 highlightjs-line-numbers.js 代码行号

highlightj.js 优势:

##使用方法 highlightj 样式文件地址: http://www.bootcdn.cn/highlight.js/

自己挑选自己喜欢的就好。

1.在需要渲染的页面引入样式文件:

	<link href="https://cdn.bootcss.com/highlight.js/9.6.0/styles/atelier-lakeside-dark.min.css" rel="stylesheet"/>

2.引入 Js 文件并添加调用命令:

		<script src="//cdn.bootcss.com/highlight.js/9.11.0/highlight.min.js"></script>
		<script>hljs.initHighlightingOnLoad();</script>

3.添加行号插件:

		<script src="//cdn.bootcss.com/highlightjs-line-numbers.js/1.1.0/highlightjs-line-numbers.min.js"></script>
		<script>hljs.initLineNumbersOnLoad();</script>

其中上面的 css 文件也可以直接混合在默认 CSS 中,这是最新 Zoomla!逐浪 CMS 中的引用方法: ###CSS 部份:

		//针对 Markdown 的 highlight.js 之 dark 主题代码,引用它,同时还要调用 highlight 和 highlightjs-line-numbers 更佳,参照 www.z01.com/blog/techs/3515.shtml
		.hljs-comment,.hljs-quote{color:#7195a8;}
		.hljs-variable,.hljs-template-variable,.hljs-attribute,.hljs-tag,.hljs-name,.hljs-regexp,.hljs-link,.hljs-name,.hljs-selector-id,.hljs-selector-class{color:#d22d72;}
		.hljs-number,.hljs-meta,.hljs-built_in,.hljs-builtin-name,.hljs-literal,.hljs-type,.hljs-params{color:#935c25;}
		.hljs-string,.hljs-symbol,.hljs-bullet{color:#568c3b;}
		.hljs-title,.hljs-section{color:#257fad;}
		.hljs-keyword,.hljs-selector-tag{color:#6b6bb8;}
		.hljs{display:block;overflow-x:auto;background:#161b1d;color:#7ea2b4;padding:.5em;}
		.hljs-emphasis{font-style:italic;}
		.hljs-strong{font-weight:700;}
		.hljs-ln-numbers{padding-right:0.6rem !important;border-right:1px solid #999;}
		.hljs-ln-code{margin-left:0.6rem !important;padding-left:1rem !important;}

模板页部份( JS 已经放在 v4 模板的 style/js 目录之下):

		<script src="{$CssDir/}js/bootstrap.bundle.min.js"></script>
		<script src="{$CssDir/}js/highlight.js"></script>
		<script src="{$CssDir/}js/highlightjs-line-numbers.js"></script>
		<script>
		//Markdown 编辑器之行号与加色显示
		hljs.initHighlightingOnLoad();
		hljs.initLineNumbersOnLoad();
		</script>
		
		
		
		

同时,您还可针对图片进行优化,比如针对img标签进行优化,其脚本是:

		//内容区图片解析
		$(".blogCon img").each(function(index,item){
		  console.log(item);
		 $(item).after('<div class="blogCon_img"><span>'+$(item).attr("alt")+'</span></div>');
		});

方便吧? 快下载最新逐浪 CMS,构建你的 Markdown 平台吧,免费下载 CMS 址:www.z01.com/pub

3491 次点击
所在节点    Web Dev
1 条回复
ps1aniuge
2020-02-14 19:40:28 +08:00
顶你

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/644545

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX