Closed oprypin closed 6 months ago
By the way, please don't solve this by lowering the priority of the toc
extension, so much stuff I made already depends on its precise priority 🥲
I didn't have much involvement in the smarty extension, which was added much later than TOC. I wonder why it was given a lower priority. @mitya57 do you recall? I seem to recall you being involved in the development of the smarty extension.
I ask why because, barring any good reason not to, I have no object in raising the priority to be before TOC.
When I added smarty treeprocessor in 47ec0cb1ea31125da1481fb82319f0a1cdfd20e1, I probably just pushed it to the end without thinking too much.
The tests pass when changing its priority, so I think it's fine to do that. Submitted PR as #1440.
Current actual result:
Expected result:
Background where I discovered this: https://github.com/mkdocs/mkdocs/issues/3357#issuecomment-1925446505
This happens because
smarty
runs at a lower priority thantoc
(unlike most other treeprocessors) and it doesn't have a chance to kick in.This other extension is presumably affected in the same way, probably among others: https://github.com/facelessuser/pymdown-extensions/blob/8f5283f71e8833f1ba0fa0bbe2680e1ad2c6cb19/pymdownx/smartsymbols.py#L167
Something should be done so that all the rest of the treeprocessors are also applied before saving the title. Maybe postprocessors too, rather than applying the unescape functionality out-of-band.