博客园使用highlight.js对代码进行高亮,并实现自定义关键词高亮

看了网上那么多有关highlight.js的教程,自己还没学过JavaScript和CSS,硬是花了3天的时间,才终于弄出了自己想要的效果。一开始我的博客园代码高亮效果是这样的:
1172605-20180718104509401-475106108.png

个人希望代码块能够实现下面功能:

  1. 调整代码块的背景颜色
  2. 更换代码高亮的风格
  3. 能够自定义哪些关键字、类/结构体进行高亮

其中第三点并没有任何教程能够告诉我怎么做,但是经过一番折腾,我还是做到了。最终的效果如下:
1172605-20180718104515396-1150502941.png

接下来是配置的具体教程

调整代码块的背景颜色

虽然说Highlight.js只用三句JavaScript代码就可以实现最基本的高亮效果,但是选择的代码高亮风格还需要在理想的代码块背景上显示。比如说代码的字体默认颜色是白色的,但是很多代码块的背景色是白的导致看不到代码字体。所以还需要设置博客园的代码块背景颜色。

首先在博客园后台管理-设置中会看到,需要你发送邮件到contact@cnblogs.com申请Js权限

等待一段时间,申请成功后,在博客园后台管理-设置-页面定制CSS添加项目代码

.cnblogs-markdown pre code { 
    background-color: #23241f !important;
    color: #eee!important;
 }

.cnblogs-markdown code {  
    background-color:  important;
}

其中需要留意的是背景颜色和文本颜色属性的设置,背景色RGB是每个单色8位,即对应2个16进制位;文本色则是每个单色4位,对应1个16进制位。

如果连同镶嵌在语句的代码块都需要修改上色,则可以删去上面代码的第二个块。

下载Highlight.js

去官方网站:https://highlightjs.org/

然后获取它的最新版本,选择自己需要的语言。

解压后,根据官网提供的风格展示,选择自己喜好的风格上传到博客园后台管理上。

如果你不需要自己定制某些功能的话,可以也把highlight.pack.js直接上传
1172605-20180719125253175-809981587.png

然后在设置-页脚Html代码添加:

<link rel="stylesheet" href="https://files.cnblogs.com/files/username/style.css">
<script src="https://files.cnblogs.com/files/username/highlight.pack.js"></script>
<script>hljs.initHighlightingOnLoad();</script>

这里记得把你的username换成你的博客园ID,style换成选择的风格的文件名

第一次保存后理论上就可以看到代码高亮效果了。

尝试修改highlight.pack.js文件内容

初步打开该文件进行查看,发现里面把所有的代码都放进了同一行,还将变量用各种单字母命名,有可能是为了尽量减小文件的大小,也可能是为了防止人家去理解代码含义。

但如果其实仔细观察的话可以发现里面的代码是用来进行语法分析的。我们不需要关注里面的实现,只需要找到里面收纳的关键字类型、支持的原生类型进行修改/添加,就可以实现自定义了。

1172605-20180718190253182-1347045027.jpg

找到keyword部分可以自行修改默认支持的关键字集合

然后找到built_in部分可以修改默认支持的类名、结构体名或者函数名

literal部分则是默认的字面值

当然这些部分可能还不够用,比如C/C++还支持宏定义

如果想要给宏加上高亮的话,可以回去翻vs2015.css,寻找对应宏颜色的支持项。可以看到
1172605-20180718193051537-1510703938.png
可以在集合c添加variable项,然后用字符串的形式引入关键词。比如说这里我想要支持宏TRUEFALSE,就可以这样添加:

c={...
...
...
variable:"TRUE FALSE"}, ...

如果想要支持枚举的话,也是跟刚才的操作一样。当然你也可以修改.css文件来做到支持。还有另一种办法是把风格css文件的代码添加到页面定制CSS代码一栏中,然后你就可以省略下面这句话:

<link rel="stylesheet" href="https://files.cnblogs.com/files/username/style.css">

把改好的文件上传到博客园,然后加上相应的HTML代码(如果没加过的话),就可以看到效果了。如果没有变化的话,你需要在文件上传那一页下载你的highlight.pack.js,然后在浏览器见到代码页后按右键选择重新加载(Chrome浏览器),看到代码内容发送变化即可

然后尝试用markdown编写博客,发布草稿,自行对这两个项进行测试即可。加上宏和枚举值后,最终我的测试效果如下:

HRESULT hr = S_OK;

// 创建D3D设备 和 D3D设备上下文
UINT createDeviceFlags = 0;
#if defined(DEBUG) || defined(_DEBUG)  
createDeviceFlags |= D3D11_CREATE_DEVICE_DEBUG;
#endif
// 驱动类型数组
D3D_DRIVER_TYPE driverTypes[] =
{
    D3D_DRIVER_TYPE_HARDWARE,
    D3D_DRIVER_TYPE_WARP,
    D3D_DRIVER_TYPE_REFERENCE,
};
UINT numDriverTypes = ARRAYSIZE(driverTypes);

// 特性等级数组
D3D_FEATURE_LEVEL featureLevels[] =
{
    D3D_FEATURE_LEVEL_11_1,
    D3D_FEATURE_LEVEL_11_0,
};

这样看就很像在Visual Studio里面的深色主题写代码了

而且其实不止是博客园,这种方式也可以让你在别的地方实现自定义的语法高亮效果,快动手试一下吧!

转载于:https://www.cnblogs.com/X-Jun/p/9332366.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 美国西储大学对轴承数据进行解读的研究是一个关于轴承寿命预测的重要工作。在这项研究中,他们收集了大量的轴承运行数据,并进行了详细的分析和解读。 研究表明,轴承的寿命可被分为三个阶段:初期阶段、中期阶段和末期阶段。其中,初期阶段是指轴承在运行初期的阶段,此时轴承寿命可能在较短的时间内会出现故障。而中期阶段是指轴承在运行中期的阶段,此时轴承的故障概率开始逐渐增加。最后,末期阶段是指轴承在运行末期的阶段,此时轴承的寿命即将到达结束。 此外,研究还发现轴承的寿命与一些关键参数有关。其中,轴承的转速是影响寿命的重要因素之一,较高的转速会加速轴承的磨损和疲劳,从而缩短其寿命。此外,轴承的负载也会对其寿命产生影响,较大的负载也会使轴承更容易发生故障。同时,轴承的润滑情况也是一个关键因素,良好的润滑可以减少摩擦和磨损,延长轴承的寿命。 综上所述,美国西储大学对轴承数据进行的解读研究为我们深入了解轴承的运行特性和寿命预测提供了重要依据。通过对轴承运行数据的分析,我们可以更好地了解轴承的工作状态,为轴承的维护和替换提供科学依据,从而提高设备的可靠性和使用寿命。 ### 回答2: 美国西储大学轴承数据解读是指利用西储大学提供的轴承数据,对该数据进行分析和解读的过程。轴承是一种用于支持旋转机械部件的重要元件,它在各种工业领域中都有广泛的应用。通过对轴承数据的解读,可以了解轴承的工作性能、故障原因以及预测轴承的寿命等重要信息。 在解读轴承数据时,可以从多个角度进行分析。首先,可以从轴承的振动信号入手,通过分析轴承的振动频谱、特征值等信息,判断轴承是否存在故障,并确定故障的类型和程度。同时,还可以通过分析轴承的温度变化,推断轴承的摩擦状况和润滑效果,从而评估轴承的工作状态。 其次,可以通过统计学方法对轴承数据进行分析,例如计算轴承寿命的可靠度和概率分布,预测轴承的使用寿命。此外,还可以通过对不同轴承之间的性能指标进行比较,评估不同轴承的质量和性能差异。 最后,还可以将轴承数据与其他相关数据进行关联分析,例如将轴承数据与工作环境数据、润滑剂使用情况等进行对比,找出对轴承寿命和工作性能影响较大的因素。 综上所述,美国西储大学轴承数据解读是通过对提供的轴承数据进行振动分析、统计学分析和关联分析,获得轴承工作状态、预测寿命以及评估性能等方面的信息的过程。这些解读结果可以为轴承的维护保养和优化设计提供有效参考。 ### 回答3: 美国西储大学轴承数据解读 - gshang - 博客园是一篇关于美国西储大学对轴承数据进行解读的博文。据该博文介绍,美国西储大学对轴承数据进行了详细的分析和解读,旨在揭示轴承的性能和机械故障特征,以帮助工程师和研究人员提升机械系统的可靠性和运行效率。 博文中提到,美国西储大学依靠先进的数据采集技术和大数据分析平台,对大量轴承数据进行了收集和整理。通过对数据进行统计和建模分析,研究人员得出了一些重要的结论。 首先,轴承的故障模式和故障频率进行了统计分析。通过对大量故障样本进行观察和记录,研究人员发现,轴承的常见故障模式包括磨损、疲劳和润滑不良等。在故障频率方面,研究人员发现,在特定工况下,轴承的故障频率会有显著的变化。 其次,对轴承的性能指标进行了评估和分析。通过对轴承的运行参数进行录制和分析,如速度、温度和载荷等,研究人员可以评估轴承的性能和工作状态。这些参数对于判断轴承的性能和寿命具有重要的指导意义。 此外,通过对轴承数据进行模型建立和预测分析,研究人员可以对轴承的寿命和预期故障进行估计。这对于设备维护和故障预警具有重要意义,可以帮助工程师和运维人员在故障之前采取相应的措施,降低设备损坏和停机时间。 综上所述,美国西储大学对轴承数据的解读提供了重要的参考和指导,对于轴承的设计、评估和维护有着重要的实际意义。这一研究成果有助于提升机械系统的可靠性和运行效率,减少设备故障和维修成本。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值