Hugo执行hugo命令时报模板未终止引号错误如何解决?
错误原因
报错是第54行的Go模板语法不规范导致的:Hugo的模板解析器不支持双引号包裹的字符串跨多行书写,你写的{{ "后面直接换行了,解析器识别到开引号之后没有找到同一行的闭引号,就会抛出「未终止的引用字符串」错误。
修复方案
你代码里所有用{{ "注释内容" | safeHTML }}包裹HTML注释的写法完全是冗余的,HTML注释可以直接写在模板文件里,不需要套模板输出语法,直接删掉多余的模板包裹即可。
举个修改示例:
修改前的错误代码段
<!--LINE 54 -->{{ " <!-- Google Map API -->" | safeHTML }} <script src="{{ .Site.Params.gmapAPI | absURL }}"></script> {{ " <!-- JS Plugins -->" | safeHTML }} {{ range .Site.Params.plugins.js}} <script src="{{ .URL | absURL }}"></script> {{ end }} {{ " <!-- Main Script -->" | safeHTML }}
修改后的正确代码段
<!--LINE 54 --> <!-- Google Map API --> <script src="{{ .Site.Params.gmapAPI | absURL }}"></script> <!-- JS Plugins --> {{ range .Site.Params.plugins.js}} <script src="{{ .URL | absURL }}"></script> {{ end }} <!-- Main Script -->
所有类似的{{ "<!-- xxx -->" | safeHTML }}写法都按上面的规则修改,删掉多余的模板包裹,只保留纯HTML注释即可。修改完成后再运行hugo命令就不会再报该错误。
内容的提问来源于stack exchange,提问作者teamallnighter
相关产品推荐
相关产品推荐

