当前位置: 首页 > 知识库问答 >
问题:

在HAML中的前/代码标签中嵌入代码

璩正志
2023-03-14

我试图得到一些代码语法高亮我写的一些文档,我使用HAML和Highlight.js这将适用于像这样的单行Ruby代码(虽然高亮不是很好):

   %pre
     %code
       \=link_to('link name on page', 'link destiation', :class => 'class-name', :icon => 'clock-o', :icon_last => true)

但是如果我尝试在< code>pre和< code>code标记中编写一些CSS,就像这样:

  %pre
    %code
      ul {
        li {
          Background: red;
        }
      }

我得到“非法嵌套:纯文本嵌套是非法的。”错误,由于CSS末尾的括号。

有人知道使用HAML在网页上编写代码示例(主要是SASS、Ruby、HAML、Coffeescript)的插件/方法吗?不仅仅是在一行上写所有的css。我的目标是这样的结果——CSS技巧

共有1个答案

闻人嘉悦
2023-03-14

您可以使用<code>:preserve</code>过滤器:

%pre
  %code
    :preserve
      ul {
        li {
          Background: red;
        }
      }

这可以防止缩进的代码被解析为 Haml,并将换行符转换为实体,以便代码按预期显示,没有额外的空格。

如果仅使用:丑陋选项,则可以改用:plain过滤器。这不会将换行转换为实体,但会阻止解析为Haml。

 类似资料:
  • 我必须使用REST Api获取数据,而我的响应是在JSON中。在解码响应是一个数组后,我必须在网页中显示它,这样数组中的每一个响应都以特定的显示格式显示(就像twitter中的tweets以特定的框类型格式显示一样)。如何在php中循环遍历数组并显示它?我找到的唯一解决方案是使用echo将HTML嵌入到php中,但这并不奏效,调试器也没有太大帮助。我错过了什么? 请指教该怎么做。 下面是我的代码:

  • 除了通过JSP表达式在JSP页面中嵌入Java代码外,还可以通过<% ... %>在JSP页面中直接嵌入Java代码。所有写在<% ... %>之间的内容JSP编译器都会将其认为是Java代码,并直接将其插入由JSP页面生成的Servlet类的_jspService方法中,如下面的JSP代码: <% int n = (3 + 4) * 5; %> 上面的代码在JSP页面中嵌入了一行非常简单

  • 问题内容: 我们如何在JavaScript中使用PHP代码? 喜欢 请提出一个更好的方法。 问题答案: 如果您的整个JavaScript代码都由PHP处理,那么您可以这样做。 如果您有单个文件,并且您不希望PHP处理它们(例如,出于缓存原因),则可以在JavaScript中传递变量。 例如,在您(或您指定布局的任何地方)中,您将执行以下操作: 然后,您可以在JavaScript文件中使用。 除了简

  • 问题内容: 在Java代码的标签中使用break语句时出现错误。这正在显示。编写这样的代码是错误的。请协助我正确使用它。提前致谢。 问题答案: 带标签的A 与声明不同。Java没有声明。 标签标记了其后的语句。您可以使用它来突破该语句,并且只能脱离该语句。流的控制权将始终转移到标记语句的末尾。 那你这里有什么? 由于if后的分号,实际上这是整个标记的语句。因此,您根本不在其范围内。如果您没有该分号

  • WebGL着色器代码在JavaScript中以字符串的形式存在,编写代码比较麻烦,为了编写方便,可以把着色器代码写在script或者其他HTML元素标签中,然后通过元素.innerText属性获得元素中的字符串,也就是着色器的代码。 在原来WebGL绘制一个点的代码基础上进行更改 <!-- 顶点着色器源码 --> <script id="vertexShader" type="x-shader/x

  • 问题内容: 我正在尝试在JSX内部使用pre标签。当您在JSX中使用pre标签时,它根本不格式化。为什么?为了使用pre标签,我需要执行以下操作: 为什么? 问题答案: 使用模板文字 模板文字允许使用多行字符串,以保留前导/尾随空格和换行符。