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

gitweb是用perl脚本编写的,并且在perl中已经有用于markdown的插件。

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

最佳答案

您可以在sub git_summarygitweb.perl中的gitweb.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,所以这比其他任何事情都更加糟糕,但是它确实有效。

10-04 16:24