Gitweb: how to display markdown file in html format automatically like github

前端 未结 4 1947
既然无缘
既然无缘 2021-02-06 01:01

Markdown is important for documentation, it is very nice to see README.md can be automatically show in html format in github like https://github.com/twitter/bootstr

4条回答
  •  野的像风
    2021-02-06 01:33

    Here's something you can stick somewhere under sub git_summary in your gitweb.perl or gitweb.cgi. Note that it depends on an external markdown executable.

    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 "
    readme
    \n"; print "
    "; # 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 () { print $_; } close(FOO); print "
    "; } }

    I don't really know Perl, so this is a dirty hack more than anything else, but it works.

提交回复
热议问题