如何在Github的README.md中展示HTML内容?

121

我是Github的新手,在README.md中想要使用Iframe或其他方法来显示HTML内容,这可能吗?

我尝试过的是创建除了锚点之外的HTML标签,但这似乎不起作用。


重复问题中的其他建议:https://dev59.com/-1YM5IYBdhLWcg3wxSN_ - Martin Smith
3个回答

60

Github的Markdown解释器可以包含HTML。然而, HTML所能实现的有限。我建议查看这篇文章,其中提供了更多可以使用的标签信息。个人而言,我从未使用超过换行符、水平线等内容……不幸的是,文章中没有提到Iframes。


22
他们积极地删除可能对用户有害的HTML代码,例如脚本。iframe就属于这一类,因为你可以在GitHub上直接为人们提供任何东西,甚至是恶意软件。 - s1h4d0w

57
根据mjgpy3的回答,你可以包含HTML代码 - 不需要<html>标签,但在显示之前会进行清理,只允许使用this whitelist中列出的标签。
目前允许使用的标签有: h1 h2 h3 h4 h5 h6 h7 h8 br b i strong em a pre code img tt div ins del sup sub p ol ul table thead tbody tfoot blockquote dl dt dd kbd q samp var hr ruby rt rp li tr td th s strike summary details caption figure figcaption abbr bdo cite dfn mark small span time wbr 但不允许使用iframe标签。

1
lazysoundsystem发布的列表已更改,请查看第46、47、48行以获取允许使用的HTML标签:GitHub-HTML-pipeline-sanitization_filter.rb,我已验证并发现链接正确,目前为止。不允许使用的标签包括:script、style、iframe、span等,但是div、table等部分标签是允许的。GitHub还会删除/过滤在标签内使用的许多属性。由于GitHub可以对标签和属性应用过滤器,因此他们应该允许在过滤器开启的情况下使用<style>、<script>等标签,以允许至少一些安全的CSS+JS属性/命令。 - atErik

18

您可以使用 SVG 解决问题,以下是示例代码(./path/example.svg):

<svg width="100" height="100" xmlns="http://www.w3.org/2000/svg">
<foreignObject width="100" height="100">
    <div xmlns="http://www.w3.org/1999/xhtml">
        <ul>
            <li>text</li>
        </ul>
        <!-- Other embed HTML element/text into SVG -->
    </div>
</foreignObject>
</svg>

然后使用图片插入的方式在任何其他的Markdown文件中嵌入SVG文件,像这样:

![](./path/example.svg)

回答正文是什么。 - SefaUn
谢谢您挽救了我的理智!我现在可以创建在Github上看起来不会太乱糟糕的表格了! - Ted Lyngmo
非常感谢你拯救了我的理智!现在我可以在GitHub上创建不那么糟糕的表格了! - undefined

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接