Board logo

标题: 【油猴脚本】最佳论坛代码高亮工具! [打印本页]

作者: bailong360    时间: 2019-11-2 23:59     标题: 【油猴脚本】最佳论坛代码高亮工具!

本帖最后由 bailong360 于 2019-11-3 12:12 编辑

前几天写了个利用 bbcode 实现代码高亮的工具: http://www.bathome.net/thread-54136-1-1.html
但是这个工具一来用起来麻烦, 二来太浪费论坛空间了.

于是我一番冷静分析以后最终完成了这个脚本, 它利用 highlight.js 直接在前端实现代码高亮, 并且能自动判断语言(支持 bat, js, vbs, powershell, python, perl, rust 等超多语言)(虽然准确性有待加强...)

下面是使用教程:

1. 安装一个油猴类插件, 我建议使用 Tampermonkey: https://www.tampermonkey.net/
当然理论上其他猴子(Greasemonkey, Violentmonkey)也可以, 不过我没测试过

2. 访问 https://greasyfork.org/zh-CN/scr ... 1%E9%AB%98%E4%BA%AE 安装脚本

3. 安装一个 Stylish 类插件, 我建议使用 Stylus: https://add0n.com/stylus.html, 因为 Stylish 曾被爆出有隐私泄露问题

4. 访问 https://userstyles.org/styles/176869/bathome 安装主题
理论上只用油猴就可以解决问题, 但是我觉得这不优雅, 而且不方便修改主题

完成了! 刷新一下页面看看效果
  1. :: 非常节约空间, 这次 Batcher 不会打我了
  2. @echo off
  3. setlocal enabledelayedexpansion
  4. set n=0
  5. for /l %%i in (1 1 100) do (
  6.     set /a n+=1
  7.     echo !n!
  8. )
  9. echo %n%
  10. pause&exit
复制代码
如何更换主题:
首先访问 https://github.com/highlightjs/h ... e/master/src/styles 复制你喜欢的主题的代码 ( 可以先到 https://highlightjs.org/static/demo/ 体验一下
然后点击 Stylus 图标, 选择管理样式, 然后选择"bathome 代码高亮主题"
你会看到有两份 css, 用上面复制的代码覆盖掉第一份就可以了

如何增加语言:
访问 https://www.bootcdn.cn/highlight.js/ 复制你需要的语言的地址 (注意版本号要与油猴中的版本号对应)
然后仿造已有的语言添加到油猴中, 就可以了

效果预览

作者: bailong360    时间: 2019-11-3 00:11

本帖最后由 bailong360 于 2019-11-3 00:15 编辑

多来几种语言测试一下
  1. #!/usr/bin/python
  2. def sum(n: int) -> int:
  3.     return n + sum(n - 1) if n > 1 else 1
  4. if __name__ == '__main__':
  5.     print(sum(100))
复制代码
  1. function sum(n) {
  2.   return n > 1 ? n + sum(n - 1) : 1;
  3. }
  4. console.log(sum(100));
复制代码
  1. fn sum(n: u32) -> u32 {
  2.     if n > 1 {
  3.         n + sum(n - 1)
  4.     } else {
  5.         1
  6.     }
  7. }
  8. fn main() {
  9.     println!("{}", sum(100));
  10. }
复制代码

作者: bailong360    时间: 2019-11-3 00:16

行号的宽度似乎有点奇怪...不管了, 我的前端水平太菜了 (
作者: 老刘1号    时间: 2019-11-3 10:27

本帖最后由 老刘1号 于 2019-11-3 10:55 编辑

回复 2# bailong360


    第三个宽度突破天际
环境:Violentmonkey+2.的脚本+4.(Install style as userscript)(没装Stylus)
emm,今日安装1,总安装1这也太真实了
作者: bailong360    时间: 2019-11-3 10:58

回复 4# 老刘1号

修复了, 给 .hljs-ln-code 增加一个 width: 100% 就行了
作者: bailong360    时间: 2019-11-3 11:00

回复 4# 老刘1号
或许我应该给它改名 Discuz! 代码高亮工具, 然后安装量应该就上来了 (
作者: 老刘1号    时间: 2019-11-3 11:14

不支持VB系列的样子,emm
要是能结合下http://www.bathome.net/thread-47323-1-1.html就好了
作者: bailong360    时间: 2019-11-3 11:31

回复 7# 老刘1号

其实是支持的, 但是自动语言推断太垃圾了, 总是把 VB 系的判定为 sql...
作者: 老刘1号    时间: 2019-11-3 11:37

回复 8# bailong360


    这样啊,我看demo里面没有,而且几个vbs显示都有毛病,以为不支持
不知道有没有解决方案
作者: bailong360    时间: 2019-11-3 12:11

本帖最后由 bailong360 于 2019-11-3 12:26 编辑

回复 9# 老刘1号

好像是我的错...highlight.min.js 竟然只包括了一部分语言, 其他语言需要自己手动引入= =
加上去就没问题了, 已更新油猴脚本
作者: holley    时间: 2019-11-4 01:33

回复 5# bailong360

试了一下 谷歌浏览器98%刚好,100%会重叠。




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2