docs(examples): mark page shell html boundaries
Document that remaining SafeHtml use in examples is limited to full-page shell composition of already-rendered hemplate fragments, while effect payloads use render helpers. req: html_safety/002 req: view/001
This commit is contained in:
+1
-1
@@ -558,7 +558,7 @@ what a valid business email is.
|
||||
001 Raw HTML insertion requires an explicit safe HTML type (`SafeHtml` or equivalent). Plain `String` renders as escaped text unless explicitly wrapped.
|
||||
|
||||
### req: html/002
|
||||
002 Hemplate-rendered output may be converted to `SafeHtml` by trusted render APIs. User input is never `SafeHtml` by default.
|
||||
002 Hemplate-rendered output may be converted to `SafeHtml` by trusted render APIs. User input is never `SafeHtml` by default. Full-page shell composition may pass already-rendered hemplate fragments through explicit `SafeHtml` fields; handlers should prefer slot/resource render helpers for effect payloads.
|
||||
|
||||
### req: html/003
|
||||
003 Slot render commands distinguish text payloads from HTML payloads at the type level.
|
||||
|
||||
@@ -225,6 +225,7 @@ fn parse_column(value: Option<&str>) -> usize {
|
||||
}
|
||||
|
||||
fn page_html(board: &BoardState) -> String {
|
||||
// Explicit full-page composition boundary for already-rendered hemplate fragments.
|
||||
// req: html_safety/002 req: view/001
|
||||
ui::board::lower_html(render_template(&Board {
|
||||
options: render_options(),
|
||||
|
||||
@@ -422,6 +422,8 @@ fn parse_lane(value: Option<&str>) -> usize {
|
||||
}
|
||||
|
||||
fn page_html(demo: &DemoState) -> String {
|
||||
// Explicit full-page composition boundary for already-rendered hemplate fragments.
|
||||
// req: html_safety/002 req: view/001
|
||||
render_control_center(ControlCenter {
|
||||
hero: render_hero(demo),
|
||||
board: render_board(demo),
|
||||
@@ -431,6 +433,7 @@ fn page_html(demo: &DemoState) -> String {
|
||||
}
|
||||
|
||||
fn shell(body: String) -> String {
|
||||
// Explicit full-page shell composition boundary for already-rendered hemplate fragments.
|
||||
// req: html_safety/002 req: view/001
|
||||
render_template(&AppShell { body: SafeHtml::trusted(body) })
|
||||
}
|
||||
|
||||
@@ -185,6 +185,7 @@ fn all_examples() -> String {
|
||||
}
|
||||
|
||||
fn shell(body: String) -> String {
|
||||
// Explicit full-page shell composition boundary for already-rendered hemplate fragments.
|
||||
// req: html_safety/002 req: view/001
|
||||
render_template(&AppShell {
|
||||
body: SafeHtml::trusted(body),
|
||||
|
||||
Reference in New Issue
Block a user