ruby 我怎么能强迫kramdown(或Nanoc)生成< br>而不是< br />因为线路中断

pexxcrt2  于 12个月前  发布在  Ruby
关注(0)|答案(1)|浏览(102)

我使用kramdown和静态站点生成器Nanoc从Markdown生成HTML。
默认情况下,kramdown生成的Markdown双空格是XHTML友好的<br />,而不是HTML5的<br>,所以HTML5验证器会“通知”这一点:
信息:void元素上的尾随斜杠没有效果,并且与未加引号的属性值交互不良。
从行...(等)
text_here. <br />
是否有kramdown或Nanoc选项/命令来强制<br>而不是<br />,用于在行尾用双空格表示的换行符?

fcy6dtqo

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 />。(imghr)以及kramdown在Markdown文件中解析原始HTML中自关闭标签的地方-只是用>替换了/>,小心,现在得到了验证器喜欢的漂亮的HTML5输出。
您可以在kramdown GitHub repo上看到HTML转换器。
但是,我假设对kramdown gem的任何更新都会覆盖它-所以如果有人知道如何使本地kramdown gem永久更改,欢迎提供建议。

相关问题