如何在 .slim 中的代码标记内换行
Posted
技术标签:
【中文标题】如何在 .slim 中的代码标记内换行【英文标题】:How To Line Break Inside Code Tag In .slim 【发布时间】:2021-05-07 09:03:24 【问题描述】:所以我一直在谷歌上上下下寻找,但一无所获。那么有人可以帮忙吗?
我的 .slim 文件已全部设置好,我正在尝试设置一个带有换行符的 pre
- code
部分...
pre
code[class="language-markup" id="copyhtml-1"]
= '<label for="name-1">Label</label>\
<input id="name-1" type="text" name="name" required>'
输出是……
<label for="name-1">Label</label>\
<input id="name-1" type="text" name="name" required>
我得到了换行符,但我得到了尾随的反斜杠。如何在没有尾部反斜杠的情况下获得链接中断?
提前致谢。
【问题讨论】:
你为什么不放一个<br>
?
A <br>
在这种情况下不起作用,因为我正在写 <pre>
标签,这样做会显示 <br>
而实际上不是换行符。
对不起,我错过了 -))
这一切都很好,我的朋友!
【参考方案1】:
其实Ruby中字符串中的换行符是"\n"
,而\n
必须放在双引号""
中,所以你可以试试这个:
= "<label for='name-1'>Label</label>\n
<input id='name-1' type='text' name='name' required>"
更新部分:
或者你可以只使用slim
语法:
label[for="name-1"]
| Label
input#name-1[type="text" name="name" required]
【讨论】:
感谢您的建议,但遗憾的是它没有奏效。编译/Users/sportas/Work Box/Markup_Library_Cut/input--text.slim:178: syntax error, unexpected end, expecting end-of-input end;end;end;end
时出现错误
@Satrop 你能用苗条的语法吗?如果可以,请检查更新部分的答案。
对不起,也不能这样做。由于代码位于code
- 标记中,当您在编译时以苗条的语法编写时,这将被视为......好吧......代码,所以在前面你看到的只是“标签”这个词它写在code
块中。非常感谢您的帮助!
以防万一,您是否尝试查看从原始代码中删除尾随反斜杠 \ 时会发生什么?你必须添加断线吗?因为最终的 HTML 应该可以在没有换行符的情况下工作。
我刚刚找到了一个html
到slim
的转换器,您可以尝试使用最终的html 来生成正确的slim 代码。 html2slim.net【参考方案2】:
听起来您可能想要启用 Slim 漂亮打印功能,该功能可在不同行上缩进嵌套标签。
对于 Rails,您可以在环境文件中进行设置。例如 config/environments/development.rb
:
# Indent html for pretty debugging and do not sort attributes
Slim::Engine.set_options pretty: true, sort_attrs: false
Slim 文档有更多信息: https://github.com/slim-template/slim#configuring-slim
【讨论】:
以上是关于如何在 .slim 中的代码标记内换行的主要内容,如果未能解决你的问题,请参考以下文章