Ehundu 0.7.0
An id for Markdown headings, and a contents list built from them. The new encabezados section of sitio.yml gives an id to the Markdown headings of the levels you indicate (niveles: [2], and by default from 2 to 6): the slug of their text, with -2, -3… if it repeats on the page, and seccion if nothing is left. With enlace: ¶ each one ends in a permanent link to its section, with the clase the site defines and an etiqueta for screen readers (Link to «{texto}», with one text per language on a site with several). Templates read the list in pagina.encabezados, with the nivel, texto and id of each one, to build a contents list; the pages of a collection have it too. It acts when converting the Markdown and does not afterwards walk the HTML already generated: it does not touch the headings of a shortcode that wraps content, nor those of hand-written HTML, nor those that templates put in (docs/formato.md (opens in a new tab), §2, §7.2 and §8, decision 109).
The slug knows ș and ț. The table had ş and ţ, with a cedilla, but not the Romanian letters with a comma below, so Ceaușescu gave ceau-escu. Now it gives ceausescu (§5.2).
0.6 sites build the same, file by file. The only things that change are that encabezados is a key of sitio.yml with a meaning, that encabezados is now a page variable that covers a front matter field of the same name, and the addresses or ids of texts with ș or ț.
This version on GitHub (opens in a new tab), with the ehundu.phar.