docs(requirements): split htmx equivalent coverage
Split htmx_equivalents/002 into core interaction, navigation/live-update, gallery, and component-shape rows. req: htmx_equivalents/002 req: htmx_equivalents/004 req: htmx_equivalents/005 req: htmx_equivalents/006
This commit is contained in:
@@ -57,7 +57,7 @@ Keep it stable. Prefer pointers to canonical sources over copied structure, file
|
|||||||
- hemx core stays small: effects, typed ids, registries, and wire schema only.
|
- hemx core stays small: effects, typed ids, registries, and wire schema only.
|
||||||
- Routing, auth, sessions, transport, transitions, sync, and storage belong in integration/user crates.
|
- Routing, auth, sessions, transport, transitions, sync, and storage belong in integration/user crates.
|
||||||
- Public examples and beginner APIs should use generated resources and `IntoEffect`, not raw ids or runtime opcodes.
|
- Public examples and beginner APIs should use generated resources and `IntoEffect`, not raw ids or runtime opcodes.
|
||||||
- `examples/html_examples` is the copy-paste HTML pattern gallery for htmx-style examples; keep exact htmx URL slugs visible while translating behavior to boring `.heml`, generated resources, and server-owned Rust state. req: htmx_equivalents/001 req: htmx_equivalents/002 req: examples/001
|
- `examples/html_examples` is the copy-paste HTML pattern gallery for htmx-style examples; keep exact htmx URL slugs visible while translating behavior to boring `.heml`, generated resources, and server-owned Rust state. req: htmx_equivalents/001 req: htmx_equivalents/005 req: examples/001
|
||||||
- Use `cargo run -p hemx-xtask -- app new PATH` for the generic page/form/keyed-row/notice starter, and `cargo run -p hemx-xtask -- app new --mobile PATH` for the phone-first starter with host capabilities, recovery truth, and release-kit commands. req: ceremony/005 req: ceremony/006
|
- Use `cargo run -p hemx-xtask -- app new PATH` for the generic page/form/keyed-row/notice starter, and `cargo run -p hemx-xtask -- app new --mobile PATH` for the phone-first starter with host capabilities, recovery truth, and release-kit commands. req: ceremony/005 req: ceremony/006
|
||||||
- The public component-reuse explanation lives in `docs/recipes/reusable-partials.md`; do not grow a client component framework to explain partial composition.
|
- The public component-reuse explanation lives in `docs/recipes/reusable-partials.md`; do not grow a client component framework to explain partial composition.
|
||||||
- The stable public `.heml` authoring surface lives in `docs/hemplate-syntax.md`; Hemlate examples must use that real hemplate syntax, not Vue/Handlebars sketches.
|
- The stable public `.heml` authoring surface lives in `docs/hemplate-syntax.md`; Hemlate examples must use that real hemplate syntax, not Vue/Handlebars sketches.
|
||||||
|
|||||||
@@ -160,7 +160,7 @@ See `docs/versioning.md`.
|
|||||||
CRUD/form/search/load UX patterns. It proves the hemx idiom for click-to-edit,
|
CRUD/form/search/load UX patterns. It proves the hemx idiom for click-to-edit,
|
||||||
edit row, delete row, inline validation, click-to-load, and active search with
|
edit row, delete row, inline validation, click-to-load, and active search with
|
||||||
`.heml`, generated resources, server-owned Rust state, and tiny runtime
|
`.heml`, generated resources, server-owned Rust state, and tiny runtime
|
||||||
behavior. req: htmx_equivalents/001 req: htmx_equivalents/002 req: examples/001
|
behavior. req: htmx_equivalents/001 req: htmx_equivalents/005 req: examples/001
|
||||||
- `examples/saas`: compile-tested v1 tutorial app covering auth/session,
|
- `examples/saas`: compile-tested v1 tutorial app covering auth/session,
|
||||||
CSRF-safe mutation, local persistence, generated swaps, page/push shape, plain
|
CSRF-safe mutation, local persistence, generated swaps, page/push shape, plain
|
||||||
CSS, and one explicit island without provider-heavy platform scope. Read the
|
CSS, and one explicit island without provider-heavy platform scope. Read the
|
||||||
|
|||||||
+10
-1
@@ -197,7 +197,16 @@ client app state framework.
|
|||||||
001 hemx replaces common HTMX use-cases through typed equivalents, not HTMX syntax.
|
001 hemx replaces common HTMX use-cases through typed equivalents, not HTMX syntax.
|
||||||
|
|
||||||
### req: htmx/002
|
### req: htmx/002
|
||||||
002 Easy equivalents must exist for: generated target replacement, append/prepend/remove, boosted links/forms, page swap, form submit, loading indicators, confirmation, debounce/throttle, polling, history navigation, multi-target updates, response events, SSE/push, validation errors, modals, toasts, table rows, SVG fragments, and form error regions. The copy-paste HTML pattern gallery must cover the core CRUD/form/search/load patterns through boring `.heml`, generated targets/forms/handles, and server-owned Rust state before adding plugin-shaped or browser-policy-heavy patterns. [north_star]
|
002 Easy equivalents must exist for generated target replacement, append/prepend/remove, form submit, loading indicators, confirmation, debounce/throttle, drag/drop payloads, validation errors, and form error regions. [north_star]
|
||||||
|
|
||||||
|
### req: htmx/006
|
||||||
|
006 Easy component-shape equivalents must exist for modals, toasts, table rows, and SVG fragments. [north_star]
|
||||||
|
|
||||||
|
### req: htmx/004
|
||||||
|
004 Navigation and live-update equivalents must exist for boosted links/forms, page swap, polling, history navigation, multi-target updates, response events, and SSE/push. [north_star]
|
||||||
|
|
||||||
|
### req: htmx/005
|
||||||
|
005 The copy-paste HTML pattern gallery must cover core CRUD/form/search/load patterns through boring `.heml`, generated targets/forms/handles, and server-owned Rust state before adding plugin-shaped or browser-policy-heavy patterns. [north_star]
|
||||||
|
|
||||||
### req: htmx/003
|
### req: htmx/003
|
||||||
003 hemx core deliberately does not clone selector-based HTMX features: `hx-target` selectors, `hx-select`, `hx-include` selectors, `closest/find/this` target strings, or trigger mini-languages. Equivalent patterns use generated targets, typed params, forms, explicit handlers, and page/push adapters around partial swaps.
|
003 hemx core deliberately does not clone selector-based HTMX features: `hx-target` selectors, `hx-select`, `hx-include` selectors, `closest/find/this` target strings, or trigger mini-languages. Equivalent patterns use generated targets, typed params, forms, explicit handlers, and page/push adapters around partial swaps.
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
A copy-pasteable pattern gallery for the boring HTML UX patterns popularized by
|
A copy-pasteable pattern gallery for the boring HTML UX patterns popularized by
|
||||||
htmx. The point is not to clone htmx attributes; it is to show the hemx idiom:
|
htmx. The point is not to clone htmx attributes; it is to show the hemx idiom:
|
||||||
plain `.heml`, generated resources, server-owned Rust state, keyed partials, and
|
plain `.heml`, generated resources, server-owned Rust state, keyed partials, and
|
||||||
tiny runtime behavior. req: htmx_equivalents/001 req: htmx_equivalents/002 req: examples/001
|
tiny runtime behavior. req: htmx_equivalents/001 req: htmx_equivalents/005 req: examples/001
|
||||||
|
|
||||||
Run it:
|
Run it:
|
||||||
|
|
||||||
|
|||||||
@@ -53,7 +53,7 @@ impl Drop for HtmlExamplesServer {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fn run_html_examples_smoke() -> ExitCode {
|
fn run_html_examples_smoke() -> ExitCode {
|
||||||
// req: examples/001 req: htmx_equivalents/002 req: test/006
|
// req: examples/001 req: htmx_equivalents/005 req: test/006
|
||||||
let port = match pick_unused_port() {
|
let port = match pick_unused_port() {
|
||||||
Ok(port) => port,
|
Ok(port) => port,
|
||||||
Err(code) => return code,
|
Err(code) => return code,
|
||||||
|
|||||||
Reference in New Issue
Block a user