如何在 .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>

我得到了换行符,但我得到了尾随的反斜杠。如何在没有尾部反斜杠的情况下获得链接中断?

提前致谢。

【问题讨论】:

你为什么不放一个&lt;br&gt; A &lt;br&gt; 在这种情况下不起作用,因为我正在写 &lt;pre&gt; 标签,这样做会显示 &lt;br&gt; 而实际上不是换行符。 对不起,我错过了 -)) 这一切都很好,我的朋友! 【参考方案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 应该可以在没有换行符的情况下工作。 我刚刚找到了一个htmlslim 的转换器,您可以尝试使用最终的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 中的代码标记内换行的主要内容,如果未能解决你的问题,请参考以下文章

如何在 <td> 内换行没有空格的文本?

通过jQuery在textarea占位符内换行

如何去掉HTML中换行造成的空格

JS代码仅在第一组文本的范围内换行,其余部分不这样做[重复]

是否可以使文本在边框内换行? WPF

LaTeX:表格内换行与各种居中完美解决