我使用kramdown和静态站点生成器Nanoc从Markdown生成HTML。默认情况下,kramdown生成的Markdown双空格是XHTML友好的<br />,而不是HTML5的<br>,所以HTML5验证器会“通知”这一点:信息:void元素上的尾随斜杠没有效果,并且与未加引号的属性值交互不良。从行...(等)text_here. <br />是否有kramdown或Nanoc选项/命令来强制<br>而不是<br />,用于在行尾用双空格表示的换行符?
<br />
<br>
fcy6dtqo1#
我在HTML转换器的第267行找到了相关代码的位置:“/usr/local/lib/ruby/gems/3.2.0/gems/kramdown-2.4.0/lib/kramdown/converter/html.rb”(我的Ruby是Homebrew安装的)和(sudo)编辑<br />到<br>与Micro(命令行编辑器:brew install micro),以保留文件的权限和所有权。然后重新编译了一个带有双空格换行符的Markdown文件,现在我看到的是<br>而不是<br />。(img和hr)以及kramdown在Markdown文件中解析原始HTML中自关闭标签的地方-只是用>替换了/>,小心,现在得到了验证器喜欢的漂亮的HTML5输出。您可以在kramdown GitHub repo上看到HTML转换器。但是,我假设对kramdown gem的任何更新都会覆盖它-所以如果有人知道如何使本地kramdown gem永久更改,欢迎提供建议。
brew install micro
img
hr
>
/>
1条答案
按热度按时间fcy6dtqo1#
编辑(...)/gems/kramdown/中的html.rb文件
我在HTML转换器的第267行找到了相关代码的位置:
“/usr/local/lib/ruby/gems/3.2.0/gems/kramdown-2.4.0/lib/kramdown/converter/html.rb”(我的Ruby是Homebrew安装的)
和(sudo)编辑
<br />
到<br>
与Micro(命令行编辑器:brew install micro
),以保留文件的权限和所有权。然后重新编译了一个带有双空格换行符的Markdown文件,现在我看到的是
<br>
而不是<br />
。(img
和hr
)以及kramdown在Markdown文件中解析原始HTML中自关闭标签的地方-只是用>
替换了/>
,小心,现在得到了验证器喜欢的漂亮的HTML5输出。您可以在kramdown GitHub repo上看到HTML转换器。
但是,我假设对kramdown gem的任何更新都会覆盖它-所以如果有人知道如何使本地kramdown gem永久更改,欢迎提供建议。