所以,现在推荐一个库:highlight.js (highlightjs.org) 一直维护到现在, 并且还在不断迭代更新的代码高亮库 highlight.js 官网地址:https://highlightjs.org demo 样式 https://highlightjs.org/static/demo/ 我们可以通过上面的链接,访问highlight.js 的各种Themes风格的效果。 = require('highlight.js/lib/common'); //只加载基础语言。 我们如果针对该库有问题,可以通过lssues进行反馈 CDN加速 Highlight.js 的几种通用的版本,在cdnjs 和jsdeliver之中都有加速库。 cdnjs: <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/<em>highlight.js</em>/11.3.1/styles
为highlight.js代码块添加复制按钮在highlight.js代码块上添加复制按钮。这个功能将允许用户一键复制代码内容。 实现思路自动检测页面上的highlight.js代码块为每个代码块添加复制按钮实现复制功能,并提供视觉反馈确保按钮样式与代码块协调最终实现代码 charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Highlight.js 代码块复制按钮</title> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/<em>highlight.js</em> ,表示代码已成功复制到剪贴板您可以将此功能集成到任何使用<em>highlight.js</em>的网站中这个实现使用了现代JavaScript API(Clipboard API)来实现复制功能,并提供了良好的视觉反馈
你只需要在页面中引入相关的样式,例如: import 'highlight.js/styles/atom-one-dark.css' 然后主可以看到代码高亮的效果,通常是这样的。 ? 看起来还不错,但这样的高亮有个问题,那就是他的背景色并不随着你所加载了 highlight.js 主题样式而改变,而且不同语言的代码在配色上的一些差异也没有很好的渲染出来。 而从 highlight.js 官网示例可以看到,这些问题本不应该出现的。 为了实现与 highlight.js 官网示例中的主题效果,可以在页面中自己完成代码高亮的渲染。 <script> import hljs from 'highlight.js' import 'highlight.js/styles/atom-one-dark.css' const highlightCode 对于一个软件,官方文档是有必要仔细读的,就像前面提到的 highlight.js 中 initHighlighting() 方法的问题,其实在官方文档中也有解释。
} } } }); }); </body> </html> 效果如图: demo下载: highlight_demo.zip 此时还没有完, highlight.js
At the same time, WP Code Highlight.js also allow you to set options of Highlight.js in the setting page About: Why Highlight.js ? Recently, I determine to turn to use Markdown to write blog. But with Highlight.js it’s very easy. Especially , it has Highlight.js and Prettify plugin to highlight codes. [return] Highlight.js is a syntax highlighter written in JavaScript.
At the same time, WP Code Highlight.js also allow you to set options of Highlight.js in the setting page About: Why Highlight.js ? Recently, I determine to turn to use Markdown to write blog. But with Highlight.js it’s very easy. Especially , it has Highlight.js and Prettify plugin to highlight codes. is a syntax highlight plugin for Wordpress, which using highlight.js to highlight codes. ↩︎ Highlight.js
动态加载CSS.gif 前言 最近有在使用 highlight.js 做代码的高亮展示,主要是展示对 SQL 语言的处理。看了看 highlight.js 的提供的相关代码 ! 如下所示 constructor(props) { super(props) require('highlight.js/styles/' + this.props.css) } static async getDerivedStateFromProps(nextProps) { // const css = await import('highlight.js/ , 一部分是硬编码的 'highlight.js/styles/' 另一部分是不可知的变量。 webpack将会以硬编码部分为打包入口,将'highlight.js/styles/*'下所有文件打包,在运行时根据完整的路径记载资源。
本文提供一个在基于Hugo的博客上使用highlight.js的代码高亮方案。 实施步骤 在highlight.js的官方网站上复制HTML的link和script标签。 例如: <link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/<em>highlight.js</em>/9.13.1/styles/default.min.css "> <script src="//cdnjs.cloudflare.com/ajax/libs/<em>highlight.js</em>/9.13.1/highlight.min.js"></script> 打开themes } return hash; } 注意事项 如果要使用的语言很生僻,链接内的js和css可能无法满足需求,可以添加新的script,比如:https://cdn.bootcss.com/highlight.js 或者在highlight.js的官方网站上自定义并下载下来,用本地引用。 如果需要修改颜色、背景色等样式,可以把css下载下来,修改后本地引用。
首先若依是用的是quill,默认是没有高亮的,如图 所以没有高亮的代码块属实不舒服,我们可以引入highlight.js =》点击进入官网 接下来就是如何引入highlight.js 1、安装依赖 npm install highlight.js 复制 2、引用 在main.js或者固定组件中引入 import hljs from 'highlight.js' 复制 样式可以自由选择=》查看各种样式
四、代码块高亮 markdown语法的解析已经完成了,并且也有对应的样式了,但是代码块好像还没有高亮样式 这块儿我们自己来从0到1的实现是不可能的,可以用现成的开源库 highlight.js,highlight.js /theme/github-theme.css' import hljs from 'highlight.js' // 引入highlight.js库 import 'highlight.js/styles /theme/github-theme.css' import hljs from 'highlight.js' import 'highlight.js/styles/github.css' /theme/github-theme.css' import hljs from 'highlight.js' import 'highlight.js/styles/github.css' const /theme/github-theme.css' import hljs from 'highlight.js' import 'highlight.js/styles/github.css' const
editor">
/theme/github-theme.css' import hljs from 'highlight.js' // 引入highlight.js库 import 'highlight.js/styles /theme/github-theme.css' import hljs from 'highlight.js' import 'highlight.js/styles/github.css' /theme/github-theme.css' import hljs from 'highlight.js' import 'highlight.js/styles/github.css' const /theme/github-theme.css' import hljs from 'highlight.js' import 'highlight.js/styles/github.css' const /theme/github-theme.css' import hljs from 'highlight.js' import 'highlight.js/styles/github.css' const
remarkable npm install --save highlight 使用 var Remarkable = require('remarkable'); var hljs = require('highlight.js 前台正常渲染代码高亮 后台我们已经能正常输出html代码了,但是这个时候,将html展示在前台我们还需要在前台引入highlight.js的相关css。 <link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/<em>highlight.js</em>/9.1.0/styles/default.min.css "> <script src="//cdnjs.cloudflare.com/ajax/libs/<em>highlight.js</em>/9.1.0/highlight.min.js"></script> 关于Remarkable 的更多内容,请参考remarkable 关于highlight.js的更多内容,请参考highlight.js
前端技术 3.1 主要技术 react: 16.5.2 antd: 3.9.3 react-router::4.3.1 webpack: 3.8.1 axios:0.18.0 redux: 4.0.0 highlight.js markdown 渲染 采用了开源的 marked, 代码高亮用了 highlight.js 。 用法: 第一步:npm i marked highlight.js --save npm i marked highlight.js --save 第二步: 导入 import marked from 'marked'; import hljs from 'highlight.js'; 第三步: 设置 componentWillMount() { // marked相关配置 }} />
三、常用插件扩展1.代码高亮(highlight.js)Markdown-it本身不提供代码高亮,但可以结合highlight.js:收起代码语言:BashAI代码解释npminstallhighlight.js 收起代码语言:JavaScriptAI代码解释importhljsfrom'highlight.js'import'highlight.js/styles/github.css'constmd=newMarkdownIt 案例3:结合插件打造增强型知识库使用highlight.js实现代码高亮;使用markdown-it-katex支持数学公式;使用markdown-it-toc-done-right生成目录;甚至还可以结合自定义插件
解决 highlight.js 冲突问题 使用 highlight.js 库进行代码高亮的页面,highlight.js 默认使用下面这个函数来进行代码渲染: <script>hljs.initHighlightingOnLoad
根据分词进行在前端或者后端,本次参加对比的选手有: 前端分词:Highlight.js, Prism.js,送到 HTML 中的是未标注的代码段 Python 后端分词:Pygments, 送到 HTML Highlight.js Prism.js Pygments Vim VSCode PyCharm 区分 built-in ✔️1 ✔️ ✔️ ✔️ ✔️ ✔️ 识别 operator ✔️ ✔️ 最差的是 Highlight.js,综合网上评价的 bug 比较多的情况,不建议选择。 用前端分词的好处是配置简单,只需要额外几个 script 就完成。 Footnotes Highlight.js 很奇怪,int, object能识别,但float却没有 ↩ 整体识别,而没有细致分词 ↩ ↩2 ↩3 只是一个例子,PyCharm 还有很多其他独有的分词元素
highlight.js:markdown中代码解析成HTML后,跟正常文字一样是没有颜色、关键字高亮等样式的,此插件即可解决代码样式问题。 功能:让markdown中代码,显示不同的字体样式(彩色、关键字高亮等). 1、安装 # 环境要求 Node.js >= 12.x npm >= 6.x # npm安装 npm install highlight.js # yarn安装 yarn add highlight.js 2、加载并调用 #1.自动识别代码语言,并使用对应语言格式高亮 const hljs = require('. /highlight.js'); const highlightedCode = hljs.highlightAuto('Hello World! el => { // then highlight each hljs.highlightElement(el); }); 3、选择样式,呈现最后效果 # 在此路径「/node_modules/highlight.js
实现MD支持代码块高亮 代码块高亮所使用的模块时highlight.js,该模块同时内置了很多常见的代码块样式文件可供选择~ 3.1 第一步改造markdownIt对象的构造函数: highlight /node_modules/highlight.js/styles/a11y-dark.css"> `; // 输出html文本 fs.writeFileSync(path.resolve(__dirname /node_modules/highlight.js/styles选择~ 4. /node_modules/highlight.js/styles/a11y-dark.css"> <style> .warning{ margin: 28px 0; 总结 通过使用markdown-it、highlight.js、markdown-it-container模块实现了Markdown到HTML的文档转换,代码块高亮和自定义容器,VItepress搭建的组件库文档中的组件渲染和源码展示功能就需要用到自定义容器的解析和组装自定义的