我的编程空间,编程开发者的网络收藏夹
学习永远不晚

怎么改进Markdown显示功能

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

怎么改进Markdown显示功能

本篇内容介绍了“怎么改进Markdown显示功能”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

先看一下效果,再详细介绍方法~

怎么改进Markdown显示功能

查看markdown所使用的代码高亮插件

先找到一篇markdown模式下写的文章,然后打开Chrome,依次使用 F12 -> network -> filter “.js”,可知 代码高亮插件是 highlight.js.
同理可知TinyMCE模式下使用的是SyntaxHighlighter插件.
尝试了很多方法,最后选择了开源的插件 highlightjs-line-numbers.js,其原理是生成一个新的table,增加tr、 td标签, 并设置border为none。

该插件官方文档中提到的方法为:

<script class="lazy" data-src="//cdn.jsdelivr.net/npm/highlightjs-line-numbers.js@2.6.0/dist/highlightjs-line-numbers.min.js"></script><script>hljs.initHighlightingOnLoad();
hljs.initLineNumbersOnLoad();<script>

调整markdown的相关css

接着按需要改进一下markdown的样式,将下面内容贴到页面定制css一栏即可。

.cnblogs-markdown .hljs {
   border: none !important;}#cnblogs_post_body th, #cnblogs_post_body td, .cnblogs-post-body th, .cnblogs-post-body td {
   border: none !important;
   padding: 0;}.postCon {
   font-size: 15px;}.cnblogs-markdown .hljs, .cnblogs-post-body .hljs {
   font-family: "Consolas",sans-serif !important;
   font-size: 15px! important;}.cnblogs-markdown .hljs, .cnblogs-post-body .hljs {
   font-family: "Courier New",sans-serif!important;
   font-size: 15px!important;
   line-height: 1.5!important;
   padding: 5px!important;}#cnblogs_post_body table, .cnblogs-post-body table {
   border: none !important;
   border-collapse: collapse;
   word-break: break-word;
   }

实现加代码行号、显示代码所用语言的具体js代码

然后在页脚HTML中加入如下js代码~

<script>
$(function () {
    if ($(".cnblogs-post-body pre > code").length > 0) setCodeRowWithLang($(".cnblogs-post-body pre"));
    else setCodeRowWithLang($(".cnblogs-markdown pre"));
    
    hljs.initHighlightingOnLoad();
    hljs.initLineNumbersOnLoad();});function setCodeRowWithLang(pre) {
    
    if (pre && pre.length) {
        pre.each(function () {
            var item = $(this);
            var lang = item[0].className;  
            var langMap = {
                "html": "HTML",
                "xml": "XML",
                "svg": "SVG",
                "mathml": "MathML",
                "css": "CSS",
                "clike": "C-like",
                "js": "JavaScript",
                "abap": "ABAP",
                "apacheconf": "Apache Configuration",
                "apl": "APL",
                "arff": "ARFF",
                "asciidoc": "AsciiDoc",
                "adoc": "AsciiDoc",
                "asm6502": "6502 Assembly",
                "aspnet": "ASP.NET (C#)",
                "autohotkey": "AutoHotkey",
                "autoit": "AutoIt",
                "shell": "Bash",
                "basic": "BASIC",
                "csharp": "C#",
                "dotnet": "C#",
                "cpp": "C++",
                "cil": "CIL",
                "csp": "Content-Security-Policy",
                "css-extras": "CSS Extras",
                "django": "Django/Jinja2",
                "jinja2": "Django/Jinja2",
                "dockerfile": "Docker",
                "erb": "ERB",
                "fsharp": "F#",
                "gcode": "G-code",
                "gedcom": "GEDCOM",
                "glsl": "GLSL",
                "gml": "GameMaker Language",
                "gamemakerlanguage": "GameMaker Language",
                "graphql": "GraphQL",
                "hcl": "HCL",
                "http": "HTTP",
                "hpkp": "HTTP Public-Key-Pins",
                "hsts": "HTTP Strict-Transport-Security",
                "ichigojam": "IchigoJam",
                "inform7": "Inform 7",
                "javastacktrace": "Java stack trace",
                "json": "JSON",
                "jsonp": "JSONP",
                "latex": "LaTeX",
                "emacs": "Lisp",
                "elisp": "Lisp",
                "emacs-lisp": "Lisp",
                "lolcode": "LOLCODE",
                "markup-templating": "Markup templating",
                "matlab": "MATLAB",
                "mel": "MEL",
                "n1ql": "N1QL",
                "n4js": "N4JS",
                "n4jsd": "N4JS",
                "nand2tetris-hdl": "Nand To Tetris HDL",
                "nasm": "NASM",
                "nginx": "nginx",
                "nsis": "NSIS",
                "objectivec": "Objective-C",
                "ocaml": "OCaml",
                "opencl": "OpenCL",
                "parigp": "PARI/GP",
                "objectpascal": "Object Pascal",
                "php": "PHP",
                "php-extras": "PHP Extras",
                "plsql": "PL/SQL",
                "powershell": "PowerShell",
                "properties": ".properties",
                "protobuf": "Protocol Buffers",
                "q": "Q (kdb+ database)",
                "jsx": "React JSX",
                "tsx": "React TSX",
                "renpy": "Ren'py",
                "rest": "reST (reStructuredText)",
                "sas": "SAS",
                "sass": "Sass (Sass)",
                "scss": "Sass (Scss)",
                "sql": "SQL",
                "soy": "Soy (Closure Template)",
                "tap": "TAP",
                "toml": "TOML",
                "tt2": "Template Toolkit 2",
                "ts": "TypeScript",
                "vbnet": "VB.Net",
                "vhdl": "VHDL",
                "vim": "vim",
                "visual-basic": "Visual Basic",
                "vb": "Visual Basic",
                "wasm": "WebAssembly",
                "wiki": "Wiki markup",
                "xeoracube": "XeoraCube",
                "xojo": "Xojo (REALbasic)",
                "xquery": "XQuery",
                "yaml": "YAML"
            };
            var displayLangText = "";
            if (lang in langMap) displayLangText = langMap[lang];
            else displayLangText = lang;
            item.find('.hljs')
                .prepend(
                    '<div align="right" top="0px" right="10px" position="relative"><a href="javascript:void(0);"></a> <font class="codeLang"  title="当前Code所用语言">' +
                    displayLangText +
                    '</font></div>');
        });
    };
   }
</script>

使用 highlight-line-number.js的前提是已经include进来highlight.js,虽然首页是默认不load highlight.js的,但可使用JQuery的getScript函数去加载之。

“怎么改进Markdown显示功能”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

怎么改进Markdown显示功能

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

javascript怎么实现密码显示功能

随着网络的普及和科技的发展,我们的生活变得越来越数字化和智能化。在我们的日常生活中,密码成为了绝大多数人的必备选项。但是,输入密码时,我们往往需要保证输入准确性,这就需要我们清晰地看到密码。那么,如何实现密码的显示呢?本文将介绍一种使用JavaScript实现密码显示的方法。JavaScript是一种广泛使用的编程语言,可以用于在网页中添加交互性和动态性。在密码输入框中,我们可
2023-05-14

Android实现文件下载进度显示功能

和大家一起分享一下学习经验,如何实现Android文件下载进度显示功能,希望对广大初学者有帮助。 先上效果图:上方的蓝色进度条,会根据文件下载量的百分比进行加载,中部的文本控件用来现在文件下载的百分比,最下方的ImageView用来展示下载
2022-06-06

怎么设置php的错误显示功能

本篇内容介绍了“怎么设置php的错误显示功能”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!php设置错误显示功能的方法:1、修改php.in
2023-06-20

Win8怎么取消密码明文显示功能让其以点显示

Win8系统中,输入复杂密码时怕出现错误,启用密码显示功能(Windows8系统如何查看明文密码),也就是密码框边的眼睛。如图:点击该按钮就会明文显示当前输入的密码,这在输入复杂密码的时候确实能够帮助纠错,但是如果你已经对密码很熟悉,该功能
2022-06-04

vue怎么实现实时搜索显示功能

这篇“vue怎么实现实时搜索显示功能”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“vue怎么实现实时搜索显示功能”文章吧。效
2023-06-30

Struts2实现文件上传时显示进度条功能

最近在做一个资源共享的项目中,采用了Struts2.1.8+Spring2.5.6+hibernate3.32的框架整合方式进行开发。在文件上传这块,因为需要实现文件上传时显示进度条的功能,所以尝试了一下。怕以后忘记,先贴出来
2023-05-31

云服务器怎么关闭锁屏显示功能

如果您想关闭云服务器的锁屏显示功能,您可以按照以下步骤操作:关闭云服务器:首先,您应该断开与云服务器的连接。您可能需要检查云服务器是否已断开连接或者是否存在安全漏洞或者是否需要安全更新。重新连接云服务器:如果您无法连接到云服务器,尝试重新连接它。您可以使用任何云服务的客户端来访问云服务器。检查您的网络连接:确保您的网络连接是稳定的,并且与云服务器的网络连接也是稳定的。有时候,由于一些网络
2023-10-26

Android怎么实现显示和隐藏密码功能

这篇文章主要介绍“Android怎么实现显示和隐藏密码功能”,在日常操作中,相信很多人在Android怎么实现显示和隐藏密码功能问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Android怎么实现显示和隐藏密
2023-07-02

win7显示输出怎么更改

本篇内容介绍了“win7显示输出怎么更改”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!win7显示输出更改教程1、首先打开“控制面板”2、然
2023-07-01

Android使用AsyncTask下载图片并显示进度条功能

在Android中实现异步任务机制有两种方式,Handler和AsyncTask。这篇文章给大家介绍Android使用AsyncTask下载图片并显示进度条功能。 AsyncTask下载图片并显示下载进度,异步类AsyncTask配合进度条
2022-06-06

.NET 6的System.Text.Json功能有什么改进

这篇文章主要介绍“.NET 6的System.Text.Json功能有什么改进”,在日常操作中,相信很多人在.NET 6的System.Text.Json功能有什么改进问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家
2023-06-29

云服务器怎么关闭锁屏显示功能呢

如果您的云服务器使用的是定制版的云服务器,并且您希望锁定屏幕显示功能,可以通过以下步骤来关闭屏幕显示:进入控制台并按“管理”进入控制面板。点击“性能”选项卡,然后选择“性能设置”。点击“应用程序设置”选项卡,然后选择“屏幕锁定设置”。将“锁定屏幕显示”设置为启用,并设置屏幕锁定的时间。如果需要,您可以在控制面板中的其他项目中进行相应的设置。请注意,关闭屏幕显示功能
2023-10-27

编程热搜

目录