我使用 gitweb。
在树视图中,我看到了我的源代码。但是这段代码都是黑色的,我喜欢配置为添加高亮
要在现代 gitweb 的“blob”视图中启用语法突出显示,您需要
已highlight
安装程序(来自“highlight”包的程序,而不是来自“source-highlight”或“src-highlight”的程序;它们是不同的程序)。
配置 gitweb 以启用源代码突出显示。这可以通过添加以下行来完成
$feature{'highlight'}{'default'} = [1];
到您安装的 gitweb 配置文件,通常是/etc/gitweb.conf
.
请参阅 gitweb.conf手册页中的“配置 gitweb 功能”部分(以及一般说的手册页)、有关“突出显示”功能的部分或gitweb 源代码中的相关行。
注意:如果你使用 gitweb 和持久的 web 服务器环境,比如 mod_perl、FastCGI 或 PSGI,如果它被配置为只读取一次配置,你可能需要重新启动 gitweb 脚本。
它目前不受支持,但请查看我的 git/jnareb-git.git 存储库的 gitweb/web 分支- 这两个向 gitweb 添加语法突出显示的提交已发送到 git 邮件列表(如 RFC = Request For Comments 补丁)。这些补丁使用来自http://www.andre-simon.de/的突出显示工具
如果您不想更改包文件,Todochangeusername 过程的替代方法是安装 highlight 然后添加到文件底部/etc/gitweb.conf
:
$feature{'highlight'}{'default'} = [1];
(没有 \ 转义字符)。
sudo apt-get install gitweb highlight
sudo vim /usr/lib/git-core/git-instaweb
\$feature{'highlight'}{'default'} = [1];
我有一个类似的问题:语法突出显示仅在少数语言(C、Makefile 等)上启用。它不适用于 verilog,即使在命令行中使用 highlight 时它也有效。
查看 gitweb.cgi 让我意识到 gitweb 只支持一部分语言。gitweb.conf
第一个答案中提到的手册页中也提到了它。解决方案是将其添加到gitweb.conf
:
our %highlight_ext;
$highlight_ext{'v'} = 'verilog';
$highlight_ext{'ucf'} = 'verilog';
更改verilog
您想要支持的语言。可用语言的完整列表位于/etc/highlight/filetypes.conf
. 当然,您还必须根据您的情况调整文件扩展名。
使用 Git 2.11+(2016 年第四季度),您可以强制基于shebang的语法高亮语言检测(例如#!/bin/perl
:)
换句话说,语法高亮不再仅仅依赖于文件名或文件扩展名。如果被问到,它可以依赖其内容。
请参阅提交 779a206,提交 c151aa3(2016 年 9 月 24 日)由Ian Kelling ( ian-kelling
)。
(由Junio C Hamano 合并 -- gitster
--在提交 3474084中,2016 年 10 月 3 日)
gitweb
:使用highlight的shebang检测“gitweb”可以产生“highlight”以显示带有(编程)语言特定语法突出显示的 blob 内容,但前提是该语言是已知的。
然而,可以告诉“highlight”通过给它“--force
”选项来进行猜测,该选项已启用。在某些情况下,“highlight”二进制文件可以通过文件内容来确定语言类型,例如
shebang
某些脚本语言的第一行。
对 gitweb 不知道语法的文件使用此自动检测。
在这种情况下,将 blob 内容传递给“highlight --force”;需要该参数以使其始终生成 HTML 输出(包括 HTML 转义)。