刚从 ob 全面迁入思源,其他地方都很满意,就是代码块显示方面,思源用的 highlight.js 的代码块解析精度感觉不如 ob。同样的代码,ob 中可以解析出来为变量,类等等之类的,但 highlight.js 可能就解析出来是文字。
可以看看两者的截图对比。
同样的一段代码
static class Jackson2ObjectMapperBuilderCustomizerConfiguration { @Bean StandardJackson2ObjectMapperBuilderCustomizer standardJacksonObjectMapperBuilderCustomizer( ApplicationContext applicationContext, JacksonProperties jacksonProperties) { return new StandardJackson2ObjectMapperBuilderCustomizer(applicationContext, jacksonProperties); } }
就 @Bean
后的下一句代码,Ob 中 html 元素如下,StandardJackson2ObjectMapperBuilderCustomizer
类名和 standardJacksonObjectMapperBuilderCustomizer
方法名被解析为不同元素。
在思源中 html 元素如下,可以看出这句代码没有被解析出来,而是当成了一个字符串,接在了被解析出来的 @Bean
后面。
接下来是参数解析,对 ApplicationContext applicationContext
这句代码,
Ob 中解析如下,虽然解析出来 css 都是相同的 class,但是可以使用 css 选择器使显示出来的颜色不同,后面截图会展示。
在思源中,直接把参数的类名和变量都视为同一个元素,如下,这样无法区分,在页面上展示只能为同一种颜色。
最后,再比较下最后页面展示效果。
Ob 中代码高亮效果如下
highlight.js 高亮效果如下
能解析出来的元素越多,这样代码高亮的区别就越大,看代码相对更省力些。
并不是指望代码块高亮可以比肩 IDE,这个肯定是不可能的。但是平时做笔记,时不时都会记录些代码,如果能够提高代码高亮的解析精度,那这样在阅读复习笔记时看着会更省力些。