我通常喜欢将Prettier与Visual Code结合使用。但是,Prettier在为Hugo编辑HTML模板时让我发疯,因为它不会保留读者友好的格式:
{{ with .Site.Params.author }}<meta name="author" content="{{ . }}">{{ end }}
{{ hugo.Generator }}
{{ "<!-- plugins -->" | safeHTML }}
{{ range .Site.Params.plugins.css }}
<link rel="stylesheet" href="{{ .URL | absURL }} ">
{{ end }}
{{ "<!-- Main Stylesheet -->" | safeHTML }}
{{ $styles := resources.Get "scss/style.scss" | toCSS | minify | fingerprint }}
<link rel="stylesheet" href="{{ $styles.Permalink }}" integrity="{{ $styles.Data.Integrity }}" media="screen">
相反,它被转换为:
{{ with .Site.Params.author }}
<meta name="author" content="{{ . }}" />
{{ end }} {{ hugo.Generator }} {{ "
<!-- plugins -->
" | safeHTML }} {{ range .Site.Params.plugins.css }}
<link rel="stylesheet" href="{{ .URL | absURL }} " />
{{ end }} {{ "
<!-- Main Stylesheet -->
" | safeHTML }} {{ $styles := resources.Get "scss/style.scss" | toCSS | minify
| fingerprint }}
<link
rel="stylesheet"
href="{{ $styles.Permalink }}"
integrity="{{ $styles.Data.Integrity }}"
media="screen"
/>
如何自定义Prettier以更好地处理模板逻辑? (此后,我便禁用了它。)
答案 0 :(得分:1)
更漂亮地破坏我们的GoHugo html文件也使我非常恼火。下面的插件可以解决此问题。
如果您使用的是普通的*.html
文件,则需要注意自述文件的GoHugo
部分:
要与GoHugo和基本
.html
文件一起使用,您必须覆盖.prettierrc
文件中使用的解析器:
{
"overrides": [
{
"files": ["*.html"],
"options": {
"parser": "go-template"
}
}
]
}