序
新年第一炮,轻松加愉快的,来完成一些年前准备写的文章。Jekyll 中格式化代码有很多种方式,在这里说说几种的实现方式。
Jekyll
Jekyll 是一种通过模版和数据编译为HTML的工具,说是工具,但是也可以说是服务,如果借助Github(搭建有Jekyll服务,可以实时编译)可以做出半动态网页;对于没有自己服务器的朋友来说是不错的选择。
一般情况下,使用Github+Jekyll来搭建博客和一些说明性质的网页。
之前有发表WIN系统下搭建的文章:[环境搭建]Windows下安装Ruby和Jekyll
,至于Mac下就用命令行搞定了。
代码高亮
代码高亮可以说是程序员必备,无论是搭建模块,或者是产品的说明网站都是需要展示代码的,而代码的样式直接的影响了阅读效果,一个好的代码高亮插件将会有好的体验。
官方说明
http://jekyllrb.com/docs/posts/#highlighting-code-snippets
在官方文档中可以看见其代码是非常简单的:
{% highlight ruby %}def show @widget = Widget(params[:id]) respond_to do |format| format.html # show.html.erb format.json { render json: @widget } endend{% endhighlight %}
得到的效果也就是:
当然,不同的代码高亮插件也需要不同的编译代码。
其实高亮插件也就是JS查找HTML中特定的节点,并对特定节点赋予特定css,而css的结果也就是给代码上色;所以纯粹说代码高亮的话就与Jekyll无关了,在这里要说的是Jekyll+MD文件+CODE 的方式。
Pygments
这个算是很多Jekyll 教程中使用的了,在大部分的高亮博客中基本都是使用的该高亮器。编译的时候需要先安装Python。
安装后我们执行命令:
gem install pygments.rb
安装好了后,我们需要修改Jekyll项目的**_config.yml** 文件,修改其中的 highlighter 为:
markdown: kramdownhighlighter: pygments
然后重启Jekyll服务。
Code
<head> <title>pygments</title> <link media="all" rel="stylesheet" type="text/css" href="../assets/pygments/pygments.css" /></head><body> {% highlight ruby %} def show @widget = Widget(params[:id]) respond_to do |format| format.html # show.html.erb format.json { render json: @widget } end end {% endhighlight %}</body>
很多人都不知道这个css文件从哪来;大部分都是拷贝拷贝再拷贝,而且都是6~7年前的了。
其实有多种办法得到:
第一种
命令行模式,太复杂了,详细见:
http://pygments.org/docs/styles/
第二种
直接下载,打开网页:http://pygments.org/demo/3666780/ 右边可以选择样式,选择GO就可以看见效果,而此时打开浏览器调试,可以看见其中有一个 pygments.css 文件,下载即可。
Show
Rouge
这个个人比较喜欢,上色比较纯净,看着舒服。比Pygments支持语言少一些,如果是使用的 Pygments ,哪么基本不用更改任何源码,只需要更改css引用就OK。当然rouge也是Jekyll默认的高亮编译。
开源项目地址:https://github.com/jneen/rouge
首先修改Jekyll项目的**_config.yml** 文件,修改其中的 highlighter 为:
markdown: kramdownhighlighter: rouge
然后重启Jekyll服务。
Code
<head> <title>Rouge</title> <link media="all" rel="stylesheet" type="text/css" href="../assets/rouge/rouge.css" /> <style> pre{ background: rgba(0, 0, 0, 0.95); } </style></head><body> {% highlight ruby %} def show @widget = Widget(params[:id]) respond_to do |format| format.html # show.html.erb format.json { render json: @widget } end end {% endhighlight %}</body>
默认的 rouge 主题偏向于白色,所以我设置了背景为黑色。
这里也是需要 rouge.css 文件,此时我们使用命令行来得到:
rougify style monokai.sublime > rouge.css
这样就能生成一个默认的css文件,当然更多的主题生成详见开源项目说明。
Show
Highlight JS
总的来说,Highlight算是比较广泛,使用用户量也挺高的了。效果不错,支持语言多。
Highlight 可以完美兼容 Rouge 与 Pygments ,所以不需要修改任何配置,只需要更改一下css与js引用就OK。
下载地址:https://highlightjs.org/
Code
<head> <title>Highlight.js</title> <link rel="stylesheet" href="http://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.1.0/styles/default.min.css"> <script src="http://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.1.0/highlight.min.js"></script> <script type="text/javascript"> hljs.initHighlightingOnLoad(); </script></head><body> {% highlight ruby %} def show @widget = Widget(params[:id]) respond_to do |format| format.html # show.html.erb format.json { render json: @widget } end end {% endhighlight %}</body>
当然你也可以直接使用HTML在MD文档中:
<pre class='brush:html;toolbar:false;'>...
Show
样式有多种,可以任意选择。
SyntaxHighlighter
这算是比较老的一种代码高亮插件了,去年迁移了一次,现在在Github上维护,质量挺好的,V4版本不错。
官方地址:https://github.com/syntaxhighlighter/syntaxhighlighter
首先下载, 然后自己使用命令编译:
https://github.com/syntaxhighlighter/syntaxhighlighter/releases
https://github.com/syntaxhighlighter/syntaxhighlighter/wiki/Building
编译后可以得到 js 与 css 文件;当然使用命令不同样式可以有几种可以选择。
Code
<head> <title>SyntaxHighlighter</title> <link media="all" rel="stylesheet" type="text/css" href="../assets/syntax/theme.css" /> <script type="text/javascript" src="../assets/syntax/syntaxhighlighter.js"></script></head><body> <pre class="brush: ruby"> def show @widget = Widget(params[:id]) respond_to do |format| format.html # show.html.erb format.json { render json: @widget } end end

HTML的作用是通过标签和属性定义网页的结构和内容。1.HTML通过到、等标签组织内容,使其易于阅读和理解。2.使用语义化标签如、等增强可访问性和SEO。3.优化HTML代码可以提高网页加载速度和用户体验。

htmlisaspecifictypefodyfocusedonstructuringwebcontent,而“代码” badlyLyCludEslanguagesLikeLikejavascriptandPytyPythonForFunctionality.1)htmldefineswebpagertuctureduseTags.2)“代码”代码“ code” code code code codeSpassSesseseseseseseseAwiderRangeLangeLangeforLageforLogageforLogicIctInterract

HTML、CSS和JavaScript是Web开发的三大支柱。1.HTML定义网页结构,使用标签如、等。2.CSS控制网页样式,使用选择器和属性如color、font-size等。3.JavaScript实现动态效果和交互,通过事件监听和DOM操作。

HTML定义网页结构,CSS负责样式和布局,JavaScript赋予动态交互。三者在网页开发中各司其职,共同构建丰富多彩的网站。

HTML适合初学者学习,因为它简单易学且能快速看到成果。1)HTML的学习曲线平缓,易于上手。2)只需掌握基本标签即可开始创建网页。3)灵活性高,可与CSS和JavaScript结合使用。4)丰富的学习资源和现代工具支持学习过程。

AnexampleOfAstartingTaginHtmlis,beginSaparagraph.startingTagSareEssentialInhtmlastheyInitiateEllements,defiteTheeTheErtypes,andarecrucialforsstructuringwebpages wepages webpages andConstructingthedom。

如何设计菜单中的虚线分割效果?在设计菜单时,菜名和价格的左右对齐通常不难实现,但中间的虚线或点如何...

网页代码编辑器中的HTML元素分析许多在线代码编辑器允许用户输入HTML、CSS和JavaScript代码。最近,有人提出了一...


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

DVWA
Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中

安全考试浏览器
Safe Exam Browser是一个安全的浏览器环境,用于安全地进行在线考试。该软件将任何计算机变成一个安全的工作站。它控制对任何实用工具的访问,并防止学生使用未经授权的资源。

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

螳螂BT
Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。