找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 13858|回复: 10

【油猴脚本】最佳论坛代码高亮工具!

[复制链接]
发表于 2019-11-2 23:59:54 | 显示全部楼层 |阅读模式
本帖最后由 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/ 复制你需要的语言的地址 (注意版本号要与油猴中的版本号对应)
然后仿造已有的语言添加到油猴中, 就可以了

效果预览

评分

参与人数 4技术 +4 收起 理由
老刘1号 + 1 666
ivor + 1 感谢分享
523066680 + 1 斯国一
codegay + 1 1

查看全部评分

 楼主| 发表于 2019-11-3 00:11:46 | 显示全部楼层
本帖最后由 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. }
复制代码

评分

参与人数 1技术 +1 收起 理由
xczxczxcz + 1 万恶的梯子,N年末去过墙外了

查看全部评分

 楼主| 发表于 2019-11-3 00:16:49 | 显示全部楼层
行号的宽度似乎有点奇怪...不管了, 我的前端水平太菜了 (
发表于 2019-11-3 10:27:45 | 显示全部楼层
本帖最后由 老刘1号 于 2019-11-3 10:55 编辑

回复 2# bailong360


    第三个宽度突破天际
环境:Violentmonkey+2.的脚本+4.(Install style as userscript)(没装Stylus)
emm,今日安装1,总安装1这也太真实了
 楼主| 发表于 2019-11-3 10:58:24 | 显示全部楼层
回复 4# 老刘1号

修复了, 给 .hljs-ln-code 增加一个 width: 100% 就行了

评分

参与人数 1技术 +1 收起 理由
老刘1号 + 1 舒服了

查看全部评分

 楼主| 发表于 2019-11-3 11:00:54 | 显示全部楼层
回复 4# 老刘1号
或许我应该给它改名 Discuz! 代码高亮工具, 然后安装量应该就上来了 (
发表于 2019-11-3 11:14:18 | 显示全部楼层
不支持VB系列的样子,emm
要是能结合下http://www.bathome.net/thread-47323-1-1.html就好了

评分

参与人数 1技术 +1 收起 理由
bailong360 + 1 感谢发现问题

查看全部评分

 楼主| 发表于 2019-11-3 11:31:48 | 显示全部楼层
回复 7# 老刘1号

其实是支持的, 但是自动语言推断太垃圾了, 总是把 VB 系的判定为 sql...
发表于 2019-11-3 11:37:49 | 显示全部楼层
回复 8# bailong360


    这样啊,我看demo里面没有,而且几个vbs显示都有毛病,以为不支持
不知道有没有解决方案
 楼主| 发表于 2019-11-3 12:11:15 | 显示全部楼层
本帖最后由 bailong360 于 2019-11-3 12:26 编辑

回复 9# 老刘1号

好像是我的错...highlight.min.js 竟然只包括了一部分语言, 其他语言需要自己手动引入= =
加上去就没问题了, 已更新油猴脚本

评分

参与人数 1技术 +1 收起 理由
老刘1号 + 1 舒服了 x 2

查看全部评分

发表于 2019-11-4 01:33:13 | 显示全部楼层
回复 5# bailong360

试了一下 谷歌浏览器98%刚好,100%会重叠。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 03:10 , Processed in 0.024416 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表