为什么Github使用代码块的HTML内容呈现除第一个之外的所有行都缩进?

问题描述:

我使用Github API来获取文档的内容并将其显示在我的页面上。这是我使用的代码:为什么Github使用代码块的HTML内容呈现除第一个之外的所有行都缩进?

@contents = Octokit.contents "user/repo", path: "/readme.md", accept: 'application/vnd.github.v3.html' 

然后我打电话.html_safe后显示视图里面的内容。

问题是,一切工作正常,但属于代码块的行都是缩进,除了第一个。

了解如何出现的:

enter image description here

这是不对的,当然。请注意,从Github Web界面查看时,原始内容显示正确。

原来的内容是这样的:

https://gist.github.com/pmatsinopoulos/87f81d7125124190e0c8

是否有人有线索如何解决呢?

请注意,如果这与问题有任何关系,我正在使用Ruby on Rails v4。

+0

你是如何显示的?显示代码 –

+0

您正在使用HAML,对不对? –

+0

“然后我显示内容” - 你是谁显示的东西,你为什么责备github? :) –

您可能会在<pre>标记中显示该内容,并且您使用的是HAML。你看,<pre>标签是空间保留的,HAML是空间敏感的。

前段时间我有类似的问题。 IIRC,haml缩进级别以某种方式添加到所有正在呈现的内容行中。

我的记忆是在细节上模糊,但这是什么似乎有固定的我,HAML的find_and_preserve helper

= find_and_preserve(item['content']).html_safe