Это не представляется возможным из коробки. Есть два способа обойти это, о котором я могу думать: используя JavaScript, как предлагаемый вариант, или используя HTML в вашей уценке.
Например, рассмотрите приведенный выше HTML-код.
<a href="/post/cool-blog-post#some-interesting-title">
<h2 id="some-interesting-title">Some Interesting Title</h2>
</a>
Если вы поместите этот код непосредственно в уценки документа Hugo, он будет производить вид ссылки, которую вы ищете. Тем не менее, это боль, чтобы печатать каждый раз, поэтому, чтобы уменьшить вашу работу, вы можете сделать shortcode.
В layouts/shortcodes/link-heading.html
:
{{ $id := .Get 0 | lower | replaceRE "[^0-9a-z]" "-" | replaceRE "-+" "-" -}}
<a href="#{{ $id }}">
<h2 id="{{ $id }}">{{ .Get 0 }}</h2>
</a>
В вашей уценке документ:
{{< link-heading "Some Interesting Title" >}}
Я оставил базовый URL здесь, но вы можете передать его в качестве параметра из вашей уценки документа, если вы хотите , (Конечно, тогда вы должны знать, что URL-адрес, не имея Hugo делать это за вас, что не идеально.)
Этот подход имеет недостатки, что вы не можете использовать синтаксис заголовка нормального уценки, и что вы не получите Hugo's built-in resolution of duplicate anchors. Но он выполнит свою работу.
Почему downvote? Я был бы признателен за объяснение. Благодарю. –
Согласен, нисходящее было несправедливо. Я поддержал его, поэтому проблема решена :) – revelt