In Jekyll, you’re able to set custom classes for sections within Markdown itself.
For example, if I wanted to add a special ‘warning’ class to a block quote I could do:
> Beware!
{: .warning}
And it would render into
<blockquote class="warning">
Beware!
</blockquote>
Is something similar possible within Hugo?
You should look into Hugo shortcodes. Be aware Hugo does not process shortcodes in frontmatter only the main content of a .md doc. That threw me off for a while.
You could do something like
{{<warning "beware" "Beware!">}}
and have shortcode called warning.html
<blockquote class="{{ .Get 0 }}">
{{ .Get 1 }}
</blockquote>
Hugo has moved to Goldmark as default Markdown processor.
And as per today Goldmark supports adding classes, id and custom attributes to heading only. With more to come in future.
## heading ## {#id .className attrName=attrValue class="class1 class2"}
## heading {#id .className attrName=attrValue class="class1 class2"}
You can read about goldmark custom attribute support on their github readme.