GitHub Markdown支持哪些内联HTML样式?

56

这篇文章 相当全面地介绍了Markdown中如何解释HTML元素。但是它并不讨论样式。

到目前为止,我唯一能够做到的就是调整图片的宽度。

  1. 我无法找到接受/渲染的列表。
  2. 似乎完全忽略了 style="....." 属性。
  3. 我甚至找不到旧式样式属性的列表(与 the 样式属性 style=... 不同)

https://gist.github.com/abalter/46df1b79e9f429342972477d7c20cebc


由于在 @waylan 对 @chris 的回答下,div 是白名单中的标签,因此将 span 更改为 div

看起来 Firefox 和 Chrome 完全不再渲染任何样式属性


12
"put on hold as unclear what you're asking" 翻译成中文是“因不清楚你的问题被搁置”,意思是问答社区将问题暂时搁置,因为不清楚提问者的问题。如果您有更好的表达方式或有任何疑问,请告知。 - abalter
4
我也觉得这是一个非常清晰明了的问题。而且我同意,答案恰好切中要点。如果不知道GitHub如何过滤Markdown输出,可能会让一些人感到困惑。但是,如果你知道在问题中链接到哪里(以提供必要的上下文),那么你已经拥有了答案来源,就不需要再问这个问题了。 - Waylan
5
为什么这个问题被关闭了?我也有同样的问题,这是我通过谷歌找到唯一一个真正回答它的资源。我认为这个问题是 Stack Overflow 最好的问题。为什么这个问题已经被关闭?在我看来,这个问题是 Stack Overflow 上最好的一个,因为这是我通过谷歌找到的唯一一个真正回答它的资源。 - davnicwil
1个回答

37

在GitHub将Markdown转换为HTML之后,

HTML会经过严格的清理,删除可能对您和您的亲人造成伤害的内容,例如脚本标签、内联样式和类或id属性。

上面的摘录曾经还提到“请参阅清理过滤器以获取完整的白名单”,但该行已被删除。链接页面本身如下所述:

尽管这个项目最初是在GitHub上启动的,但他们现在不再使用它。这个宝石必须被视为独立于GitHub的独立项目。

也就是说,白名单很可能已经发生了变化。

你是对的:白名单中不包括style标签。它们会被忽略。

允许的属性因标签而异。我建议参考上面的清理过滤器链接。它指向一个相当易读的Ruby源文件。


所以,如果我正确解释了 :all => ['abbr', ...,那么"color"和"border"都应该工作。但在我的示例中,它们没有起作用。 - abalter
1
请注意元素白名单span不在该列表中。实际上,如果您检查示例中的HTML(在浏览器中使用“查看源代码”),则span将被完全剥离。只有文本内容保留下来。我建议改用白名单中的一个元素。 - Waylan
是的,Waylan说得很好。这不仅涉及到属性,还包括整个标签。 - Chris
我已将span更改为div,但仍无法获取样式。另外,img在标记列表中,但我也无法获取其样式——除了width老式内联属性。 - abalter
现在HTML呈现为<div color="red" border="10" size="48px">hello</div>,但是没有任何样式显示。 - abalter
4
嗯,看起来Firefox和Chrome不再渲染单个属性了。所以即使GitHub已经将它们列入白名单也没有用。 - abalter

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