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

前端之家收集整理的这篇文章主要介绍了perl – Gitweb:如何像github一样自动以html格式显示markdown文件前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
Markdown对于文档非常重要,很高兴看到README.md可以在 github中以html格式自动显示,如 https://github.com/twitter/bootstrap/blob/master/README.md

gitweb是用perl脚本编写的,perl中有markdown插件.

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

解决方法

这是你可以在你的gitweb.perl或gitweb.cgi中的sub git_summary下面的东西.请注意,它取决于外部降价可执行文件.
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相关文章