Skip to content

Commit a173071

Browse files
committed
Remove HTMT and HTML <slot> references from the docs.
Drop the HTMT section from related-projects and the HTML <template>/<slot> and HTMT rows from the framework slot mappings, since neither is ready yet.
1 parent 8f70cc2 commit a173071

2 files changed

Lines changed: 1 addition & 31 deletions

File tree

‎docs/related-projects.md‎

Lines changed: 0 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -2,34 +2,6 @@
22

33
VDP is part of an ecosystem of specifications and implementations for server-driven UI rendering.
44

5-
## HTMT — HyperText Markup Templating
6-
7-
[GitHub](https://github.com/ViewDescriptorProtocol/HTMT){ .md-button }
8-
9-
A templating engine using JSONPath-based `ht-*` data attributes for dynamic data binding in HTML/HTMX. HTMT extends standard HTML with custom attributes for declarative rendering and state management directly in the markup.
10-
11-
**Key attributes:**
12-
13-
| Attribute | Description |
14-
|-----------|-------------|
15-
| `ht-bind` | Bind data to element content |
16-
| `ht-loop` | Iterate over arrays |
17-
| `ht-template` | Reusable template blocks |
18-
| `ht-attr-[name]` | Bind to HTML attributes |
19-
| `ht-show` / `ht-hide` | Conditional visibility |
20-
| `ht-switch` / `ht-case` | Switch-case rendering |
21-
| `ht-class-[name]` | Conditional CSS classes |
22-
| `ht-root-[attribute]` | Root-scoped variant of any attribute, binding against the root of the data instead of the local scope |
23-
24-
All attributes use JSONPath expressions (e.g., `$.user.name`) for data binding.
25-
26-
HTMT templates can be used as VDP template targets — VDP declares *which* HTMT templates to render, while HTMT handles the actual data binding.
27-
28-
!!! note "Status"
29-
Working Draft (Alpha)
30-
31-
---
32-
335
## js-HTF — JavaScript Hierarchical Template Framework
346

357
[GitHub](https://github.com/ViewDescriptorProtocol/js-HTF){ .md-button }

‎docs/specification.md‎

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ REST APIs return structured data (JSON, XML) that carries no presentation inform
2626

2727
- **View Descriptor**: A JSON object that describes a template tree — a root template URL and its slot assignments.
2828
- **Template URL**: A URL identifying a template resource. The URL MUST resolve to a renderable template in the client's rendering framework.
29-
- **Slot**: A named insertion point in a template where a sub-template can be composed. Slot names correspond to the template's own insertion point identifiers (e.g., Qute's `{#insert slotName}`, HTML's `<slot name="slotName">`).
29+
- **Slot**: A named insertion point in a template where a sub-template can be composed. Slot names correspond to the template's own insertion point identifiers (e.g., Qute's `{#insert slotName}`).
3030
- **View Descriptor Resource**: A standalone JSON document containing a view descriptor, addressable by its own URL, cacheable independently of the data it describes.
3131
- **Static Composition**: Composition written directly into a template's source — for example, a layout that always includes its `_head` partial. VDP does not describe static composition; it is internal to the template.
3232
- **Dynamic Composition**: Composition that changes per API response — a slot whose template is chosen by the server at request time. These are the slots a view descriptor declares.
@@ -366,8 +366,6 @@ VDP is agnostic to the template language. However, a template used with VDP MUST
366366
| Framework | Slot Mechanism | Example |
367367
|-------------------|---------------------------------|-----------------------------------------|
368368
| Qute | `{#insert slotName}{/insert}` | `{#insert mainContent}Default{/insert}` |
369-
| HTML `<template>` | `<slot name="slotName">` | `<slot name="mainContent"></slot>` |
370-
| HTMT | `ht-template="slotName"` | `<div ht-template="mainContent"></div>` |
371369
| Thymeleaf | `th:fragment` / `th:replace` | `<div th:replace="~{slotName}"></div>` |
372370
| JSX/React | `props.children` or named props | `{props.mainContent}` |
373371
| SwiftUI | `@ViewBuilder` parameters | `var mainContent: () -> Content` |

0 commit comments

Comments
 (0)