V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
wwwwzf
V2EX  ›  Web Dev

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

  •  
  •   wwwwzf · 2020-02-14 14:47:38 +08:00 · 3276 次点击
    这是一个创建于 1505 天前的主题,其中的信息可能已经有所发展或是发生改变。

    #什么是 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字段 *

    在模板字段中设定为 markdown 操作指引

    #高亮显示行号

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

    highlightj.js 优势:

    • 支持 174 种语言和拥有 77 种款式
    • 自动语言检测
    • 多语言代码突出显示
    • 可用于 node.js
    • 与任何标记一起使用
    • 兼容任何 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

    1 条回复    2020-02-14 19:40:28 +08:00
    ps1aniuge
        1
    ps1aniuge  
       2020-02-14 19:40:28 +08:00
    顶你
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3347 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 10:44 · PVG 18:44 · LAX 03:44 · JFK 06:44
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.