You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

HAML如何拆分文本字符串满足lint规范且无多余显示字符?

HAML长文本无|换行拆分方案

注意:不要使用逗号拆分文本行,逗号是HAML中用来分隔标签属性的语法,放在文本行位置会被直接渲染为普通字符输出。

以下三种方案均不需要使用|换行符,也不会产生多余渲染字符,符合常规项目规范要求:

  • 字符串拼接法

    在%p标签后使用=输出用+拼接的多行字符串,每行放置一部分文本:

    %p.alert.alert-warning= "这是超过140字符的Bootstrap提示文本第一部分,包含所有需要展示的提示信息内容" +
      "这是长文本的第二部分,可根据行长度限制自由拆分,不会产生多余输出字符" +
      "这是长文本的第三部分,可根据需求继续增加拆分行"
    

    渲染后字符串拼接处会自动保留单个空格,无多余符号。

  • 引号内直接换行法

    将完整文本放在单/双引号内部,直接在引号内换行拆分,Ruby会自动将换行转换为单个空格:

    %p.alert.alert-info= "这是超过140字符的Bootstrap提示文本第一部分,包含所有需要展示的提示信息内容
      这是长文本的第二部分,可根据行长度限制自由拆分,不会产生多余输出字符
      这是长文本的第三部分,可根据需求继续增加拆分行"
    

    拆分的文本行需要保持符合HAML规则的缩进层级。

  • plain过滤器法

    针对纯静态文本场景,在%p标签下嵌套:plain过滤器,直接在过滤器内拆分多行文本:

    %p.alert.alert-danger
      :plain
        这是超过140字符的Bootstrap提示文本第一部分,包含所有需要展示的提示信息内容
        这是长文本的第二部分,可根据行长度限制自由拆分,不会产生多余输出字符
        这是长文本的第三部分,可根据需求继续增加拆分行
    

    该方式完全不需要额外语法符号,适配所有纯文本拆分场景。

内容的提问来源于stack exchange,提问作者itinneed

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 16:36:00