You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: STATUS.md
+19-19Lines changed: 19 additions & 19 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -18,23 +18,23 @@ Template composition (`WP_HTML_Template` as replacement value) works for text co
18
18
**4. Compile-once Design**
19
19
Lazy compilation with cached edits (`$edits` array) is efficient for template reuse.
20
20
21
+
**5. Boolean Attribute Support**
22
+
Supply `true` to create a boolean attribute (`disabled="</%d>"` + `true` → `disabled`), or `false`/`null` to remove an attribute entirely. Only works for whole-attribute placeholders—partial placeholders reject boolean values.
23
+
21
24
---
22
25
23
26
### What's Missing from the Ticket Requirements
24
27
25
28
**1. No URL Escaping (Ticket TODO)**
26
29
The ticket explicitly says "does not escape URLs differently than other attributes." The XSS test shows `javascript:alert("xss")` only escapes quotes—no `esc_url()` equivalent. This is a security gap for `href`/`src` attributes.
27
30
28
-
**2. Boolean Attributes Not Implemented**
29
-
Ticket promises: "supply true to create a boolean attribute or false/null remove an attribute." The current implementation only handles string and Template replacement values. No boolean support visible.
30
-
31
-
**3. No Attribute Spread**
31
+
**2. No Attribute Spread**
32
32
Ticket comment 9 discusses "spread" attributes for making tags placeholders. Not implemented.
33
33
34
-
**4. Missing Output Format Methods**
34
+
**3. Missing Output Format Methods**
35
35
Ticket TODO lists `->final_output_to_browser()`, `->final_output_to_plaintext()`, `->final_output_to_markdown()`, etc. None exist.
36
36
37
-
**5. Embed Replacement in Tag Processor (Ticket TODO)**
37
+
**4. Embed Replacement in Tag Processor (Ticket TODO)**
38
38
The ticket wants replacement embedded in the Tag Processor. Current implementation uses a separate class with its own parsing pass.
39
39
40
40
---
@@ -102,17 +102,17 @@ The ticket's philosophy is "prefer trust and safety over features"—valid, but
0 commit comments