perl - Gitweb:如何像github一样自动以html格式显示markdown文件

标签 perl markdown gitweb

Markdown 对文档很重要,很高兴看到 README.md可以在github中自动以html格式显示,如https://github.com/twitter/bootstrap/blob/master/README.md

gitweb 是用 perl 脚本编写的,而且 perl 中已经有 Markdown 插件了。

我想检查是否有插件/解决方案让gitweb自动显示markdown格式的html文件。

最佳答案

这是您可以在 sub git_summary 下的某处粘贴的内容在您的 gitweb.perlgitweb.cgi .请注意,它取决于外部 markdown可执行。

if (!$prevent_xss) {
    $file_name = "README.md";
    my $proj_head_hash = git_get_head_hash($project);
    my $readme_blob_hash = git_get_hash_by_path($proj_head_hash, "README.md", "blob");

    if ($readme_blob_hash) { # if README.md exists                                                                                                                                                      
        print "<div class=\"header\">readme</div>\n";
        print "<div class=\"readme page_body\">"; # TODO find/create a better CSS class than page_body                                                                                                  

        my $cmd_markdownify = $GIT . " " . git_cmd() . " cat-file blob " . $readme_blob_hash . " | markdown |";
        open FOO, $cmd_markdownify or die_error(500, "Open git-cat-file blob '$hash' failed");
        while (<FOO>) {
            print $_;
        }
        close(FOO);

        print "</div>";
    }
}

我真的不了解 Perl,所以这比其他任何东西都更脏,但它有效。

关于perl - Gitweb:如何像github一样自动以html格式显示markdown文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8321649/

相关文章:

python - 编写自学音乐制作程序

perl - 在 perl 中发送多部分邮件

r - 无法在 kable 表中呈现引文

子目录的 gitweb 快照

git - 使用 nginx 设置 git instaweb

perl - 如何限制 IIS 中 Perl 脚本的执行时间?

perl - 只需要在一个文件中匹配一个模式出现一次

html - Markdown 和图像对齐

markdown - 在 .rst 文件中渲染 Markdown 文件的输出

http-authentication - 在没有 LDAP 身份验证的情况下使用 Gitosis 对 Gitweb 进行身份验证?