搜索

PythonReactSEOPDF
GitHub Skill

templ-components

Create reusable templ UI components with props, children, and composition patterns. Use when building UI components, creating component libraries, mentions 'button component', 'card component', or 'reusable templ components'.

Xe☆ 718 仓库 Stars117 仓库 Forks

安装与使用

请根据来源仓库和你的 AI 工具说明安装此技能。先阅读技能文件和依赖要求,再添加到工作流。

查看来源 ↗使用指南

技能说明

Templ Components

Use progressive disclosure: solve with Level 1 first, then pull deeper guidance only if complexity requires it.

Level 1: Component Checklist

Use this skill for reusable templ UI components.

  1. Define a small, single-purpose component.
  2. Prefer typed props (structs for complex APIs).
  3. Support composition with { children... }.
  4. Keep variants explicit and predictable.
  5. Extract shared layout wrappers instead of duplicating markup.
type ButtonProps struct {
    Label    string
    Variant  string
    Disabled bool
}

templ Button(props ButtonProps) {
    <button class={ "btn btn-" + props.Variant } disabled?={ props.Disabled }>
        { props.Label }
    </button>
}

Level 2: API Design Rules

  • Small surface area: avoid giant prop lists.
  • Typed options: enums/constants beat free-form strings for critical variants.
  • Composition first: prefer wrappers (Card, Modal, Layout) over monolith components.
  • No hidden side effects: components render; handlers/loaders do data work.
  • Stable contracts: avoid breaking prop shape without migration.

Level 3: Reusable Patterns

templ Card(title string) {
    <article class="card">
        <header><h3>{ title }</h3></header>
        <div class="card-body">{ children... }</div>
    </article>
}

templ WithError(err error) {
    if err != nil {
        <p class="error">{ err.Error() }</p>
    } else {
        { children... }
    }
}

Escalate to Other Skills

  • Need syntax details: use templ-syntax.
  • Need HTTP routing/rendering: use templ-http.
  • Need partial updates/interactions: use templ-htmx.

References

使用示例

查看来源仓库中的使用示例与配置说明。

查看来源 ↗

来源历史

收录时间
2026-03-11
索引更新时间
2026-03-11
Branch
main

收录与同步日期属于本站记录。源码修改历史请查看来源仓库。

GitHub ↗

chat Comments (0)

chat_bubble_outline

No comments yet. Be the first to share your thoughts!