feat: H1 to H2 setting with the admin save conversion (tracer)

- content_h1_to_h2 and generic_anchors on the settings row (migration
  202610280001), Headings and links tab, config key
  golem15.journal.content_h1_to_h2 used when no settings row exists
- classes.ConvertH1 on the x/net/html tokenizer; the Blog Editor types
  convert while the setting is on and answer editor.h1_converted
- GET /posts/{slug} reports content_h1_to_h2 (additive key)
This commit is contained in:
Jakub Zych
2026-11-04 09:44:58 +01:00
parent f7bfb3313b
commit 305f94afd9
15 changed files with 553 additions and 7 deletions

10
config/config.yaml Normal file
View File

@@ -0,0 +1,10 @@
# golem15.journal defaults, read as golem15.journal.<key>.
#
# content_h1_to_h2 is the H1 setting used when the Journal settings row
# (Settings › Journal, Headings and links) does not exist; the row's own
# value decides otherwise. On, every H1 saved in Journal rich text (post
# content and category pillar text) becomes an H2 and the editor offers
# H2 to H4. Off, H1 headings are stored as written and the editor offers
# H1 to H4. Changing it never rewrites stored content; journal:fix-headings
# --apply does.
content_h1_to_h2: true