全面启用 Markdown 语法以及前端格式优化(代码高亮行号显示等优化)全过程 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
wwwwzf
V2EX    Web Dev

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

  •  
  •   wwwwzf 2020 年 2 月 14 日 3941 次点击
    这是一个创建于 2182 天前的主题,其中的信息可能已经有所发展或是发生改变。

    #什么是 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="http://www.v2ex.com//cdn.bootcss.com/highlight.js/9.11.0/highlight.min.js"></script> <script>hljs.initHighlightingOnLoad();</script> 

    3.添加行号插件:

     <script src="http://www.v2ex.com//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 年 2 月 14 日
    顶你
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     4413 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 36ms UTC 08:17 PVG 16:17 LAX 00:17 JFK 03:17
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86