如何用 Highlight 实现代码语法高亮?2024 超详细教程

如何用 Highlight 实现代码语法高亮?2024 超详细教程 🚀

【免费下载链接】highlight Source code to formatted text converter 【免费下载链接】highlight 项目地址: https://gitcode.com/gh_mirrors/highli/highlight

Highlight 是一款功能强大的源代码语法高亮工具,能够将代码转换为 HTML、LaTeX、SVG 等多种格式,并支持自定义主题和语言规则。无论是开发者撰写技术文档、博客分享代码片段,还是团队协作展示项目源码,Highlight 都能让代码呈现更清晰、更专业的视觉效果。

📋 核心功能一览

✨ 多格式输出,满足多样化需求

Highlight 支持 15+ 种输出格式,包括:

  • 网页格式:HTML5、XHTML、SVG
  • 文档格式:LaTeX、RTF、ODT
  • 终端格式:ANSI 转义序列、XTerm 256 色
  • 其他格式:BBCode、Pango 标记

例如,生成带行号的 HTML 代码只需一行命令:

highlight -i main.cpp -o main.html --line-numbers --style github

🎨 自定义主题,打造专属风格

项目内置 80+ 种语法主题,从简约的 github.theme 到绚丽的 neon.theme,覆盖不同场景需求。主题文件位于 themes/ 目录,你也可以通过修改 Lua 脚本创建个性化主题。

🌐 多语言支持,覆盖主流技术栈

Highlight 内置 200+ 种编程语言的语法定义,包括:

  • 主流语言:C/C++、Python、Java、JavaScript
  • 脚本语言:Bash、Lua、Perl、Ruby
  • 标记语言:HTML、CSS、Markdown、XML
  • 配置文件:JSON、YAML、INI、CMake

语言定义文件存放于 langDefs/,例如 Python 对应 langDefs/python.lang

🔌 插件扩展,增强功能灵活性

通过 plugins/ 目录下的 Lua 插件,可实现代码折叠、关键词匹配、自动生成链接等高级功能。例如:

  • outhtml_codefold.lua:为 HTML 输出添加代码折叠功能
  • cpp_ref_cplusplus_com.lua:自动为 C++ 关键词添加 cppreference 链接

📥 快速安装指南

🍧 从源码编译(Linux/macOS)

  1. 克隆仓库:
git clone https://link.gitcode.com/i/faec13285ba5266659ba89723ecb418b
cd highlight
  1. 编译并安装:
cd src
make
sudo make install

📦 预编译包(Windows)

访问项目官网下载 Windows 安装包,或通过 Chocolatey 安装:

choco install highlight

🚀 实用命令示例

1. 生成带行号和主题的 HTML

highlight example.py -O html --style solarized-dark --line-numbers --include-style
  • --include-style:将 CSS 样式嵌入 HTML,无需额外引用
  • --style solarized-dark:使用深色主题,适合夜间阅读

2. 批量转换目录下所有代码文件

highlight --batch-recursive '*.js' --outdir ./html_output --style github
  • --batch-recursive:递归处理子目录中的 .js 文件
  • --outdir:指定输出目录,避免覆盖源文件

3. 在终端中实时预览高亮效果

highlight main.cpp --out-format=xterm256 | less -R
  • xterm256 格式支持 256 色显示,配合 less -R 实现终端内滚动查看

⚙️ 高级配置技巧

🎯 自定义语言规则

若需添加新语言支持,可参考 langDefs/c.lang 创建语法定义文件,主要配置:

  • 关键词:通过 Keywords 数组定义关键字列表
  • 注释格式:通过 Comments 配置单行/块注释分隔符
  • 字符串规则:通过 Strings 定义字符串定界符和转义字符

🎨 主题定制

修改主题文件(如 themes/github.theme)可调整代码颜色、字体样式:

-- 示例:设置关键词颜色为蓝色
Keyword = { Color = "#0033b3" }
-- 设置注释为灰色斜体
Comment = { Color = "#6e7781", Italic = true }

📝 集成到自动化工作流

通过 extras/ 目录下的脚本,可将 Highlight 集成到 Pandoc、WordPress 等工具中:

📚 官方资源

💡 常见问题解答

Q:如何解决中文乱码问题?

A:指定输出编码:

highlight -u UTF-8 -i code.cpp -o code.html

Q:能否集成到 VS Code?

A:可以通过自定义任务调用 Highlight,或安装基于 Highlight 的语法高亮插件。

Q:支持哪些代码格式化风格?

A:通过 --reformat 参数选择,如 gnukr(K&R 风格)、google 等:

highlight code.cpp --reformat google -o formatted.html

🎉 总结

Highlight 凭借其丰富的格式支持、高度的可定制性和跨平台特性,成为开发者必备的代码美化工具。无论是个人博客、技术文档还是项目演示,它都能让你的代码脱颖而出。立即尝试,让代码展示更专业、更易读!

项目源码地址:gh_mirrors/highli/highlight
最后更新时间:2024 年 10 月,基于 Highlight v3.43 版本

【免费下载链接】highlight Source code to formatted text converter 【免费下载链接】highlight 项目地址: https://gitcode.com/gh_mirrors/highli/highlight

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值