逐浪技术--Zoomla!逐浪CMS官方博客

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

作者:浪花 发布时间:2020-02-14 来源:佚名 点击数:

浪花

博主:浪花
个人座右铭:似水的年华,谱写青春的歌曲,还有一起奋斗的同事,以及激情的浪花~!

什么是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存在相应的字段名字段中。

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

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

高亮显示行号

可以借助两个插件来实:
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="/Template/office/style/js/bootstrap.bundle.min.js"></script>
        <script src="/Template/office/style/js/highlight.js"></script>
        <script src="/Template/office/style/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

本文责任编辑: 加入会员收藏夹 点此参与评论>>
复制本网址-发给QQ/微信上的朋友