21

我使用 gitweb。

在树视图中,我看到了我的源代码。但是这段代码都是黑色的,我喜欢配置为添加高亮

4

5 回答 5

26

要在现代 gitweb 的“blob”视图中启用语法突出显示,您需要

  1. highlight安装程序(来自“highlight”包的程序,而不是来自“source-highlight”或“src-highlight”的程序;它们是不同的程序)。

  2. 配置 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/的突出显示工具

您可以尝试挑选这两个提交:5f7b64614edcf10d

于 2010-03-30T22:09:37.107 回答
16

如果您不想更改包文件,Todochangeusername 过程的替代方法是安装 highlight 然后添加到文件底部/etc/gitweb.conf

$feature{'highlight'}{'default'} = [1];

(没有 \ 转义字符)。

于 2011-06-21T21:06:16.853 回答
3
  1. 至少安装 git 版本 1.7.5 Ubuntu:https ://launchpad.net/~git-core/+archive/ppa
  2. 安装 gitweb 和名为 highlight Ubuntu 的程序:sudo apt-get install gitweb highlight
  3. 添加到文件中:sudo vim /usr/lib/git-core/git-instaweb
    第 586 行:\$feature{'highlight'}{'default'} = [1];
于 2011-05-10T19:27:40.720 回答
0

我有一个类似的问题:语法突出显示仅在少数语言(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. 当然,您还必须根据您的情况调整文件扩展名。

于 2018-10-14T10:50:05.873 回答
-1

使用 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 转义)。

于 2016-10-04T07:34:17.837 回答