delete the widows feature; line breaking is CSS
The human asked whether widow prevention belonged in the backend at all. It did not, and it broke two rules already written down: the theme contract says the engine decides nothing about how something looks, and ADR-0034 says authored body text is the author's — while this inserted U+00A0 into that text. The practical harm follows from the layer error rather than from a coding mistake. The engine cannot see the line box, so joining the last two words is a guess that can overflow a narrow viewport, and a reader copying the paragraph gets a non-breaking space in their clipboard. `text-wrap: pretty` and `text-wrap: balance` in the reference stylesheet know the line box and need no bytes in the content. 108 lines of engine deleted for one CSS declaration. The typographer stays: turning `--` into an en dash is a text transformation no stylesheet can express, which is exactly the distinction the new layer test draws. Also worth recording: this took the Extensions counter from 3 back to 2. A threshold reached by a feature that should not have existed was never a threshold.
This commit is contained in:
@@ -125,6 +125,13 @@ the document head, which is what a reader looks for:
|
||||
|
||||
Only with a declared `base`: without one there is no feed to point at.
|
||||
|
||||
## Typography is the theme's
|
||||
|
||||
The engine transforms text where no stylesheet could — smart quotes, dashes, ellipses — and stops there. How
|
||||
text *lays out* is the theme's, done in CSS: the reference stylesheet sets `text-wrap: pretty` on body copy and
|
||||
`text-wrap: balance` on headings, which is where widow and orphan control belongs (ADR-0045). The engine will
|
||||
not insert characters into an author's prose to influence line breaking.
|
||||
|
||||
## The stability rule
|
||||
|
||||
Fields and names are **added, never renamed or removed**. Absence is always legal: a template reading a
|
||||
|
||||
Reference in New Issue
Block a user