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
相关产品推荐
相关产品推荐

