from pprint import pprint组件扩展
对标准HTML组件的简单扩展,例如添加合理的默认值
A
A (*c, hx_get=None, target_id=None, hx_swap=None, href='#', hx_vals=None, hx_target=None, id=None, cls=None, title=None, style=None, accesskey=None, contenteditable=None, dir=None, draggable=None, enterkeyhint=None, hidden=None, inert=None, inputmode=None, lang=None, popover=None, spellcheck=None, tabindex=None, translate=None, hx_post=None, hx_put=None, hx_delete=None, hx_patch=None, hx_trigger=None, hx_swap_oob=None, hx_include=None, hx_select=None, hx_select_oob=None, hx_indicator=None, hx_push_url=None, hx_confirm=None, hx_disable=None, hx_replace_url=None, hx_disabled_elt=None, hx_ext=None, hx_headers=None, hx_history=None, hx_history_elt=None, hx_inherit=None, hx_params=None, hx_preserve=None, hx_prompt=None, hx_request=None, hx_sync=None, hx_validate=None, **kwargs)
一个A标签; href 默认为‘#’以便与HTMX更简洁地使用
A('text', ht_get='/get', target_id='id')<a href="#" ht-get="/get" hx-target="#id">text</a>轴
AX (txt, hx_get=None, target_id=None, hx_swap=None, href='#', hx_vals=None, hx_target=None, id=None, cls=None, title=None, style=None, accesskey=None, contenteditable=None, dir=None, draggable=None, enterkeyhint=None, hidden=None, inert=None, inputmode=None, lang=None, popover=None, spellcheck=None, tabindex=None, translate=None, hx_post=None, hx_put=None, hx_delete=None, hx_patch=None, hx_trigger=None, hx_swap_oob=None, hx_include=None, hx_select=None, hx_select_oob=None, hx_indicator=None, hx_push_url=None, hx_confirm=None, hx_disable=None, hx_replace_url=None, hx_disabled_elt=None, hx_ext=None, hx_headers=None, hx_history=None, hx_history_elt=None, hx_inherit=None, hx_params=None, hx_preserve=None, hx_prompt=None, hx_request=None, hx_sync=None, hx_validate=None, **kwargs)
只有一个文本子节点的A标签,允许hx_get、target_id和hx_swap作为位置参数
AX('text', '/get', 'id')<a href="#" hx-get="/get" hx-target="#id">text</a>表单
表单
Form (*c, enctype='multipart/form-data', target_id=None, hx_vals=None, hx_target=None, id=None, cls=None, title=None, style=None, accesskey=None, contenteditable=None, dir=None, draggable=None, enterkeyhint=None, hidden=None, inert=None, inputmode=None, lang=None, popover=None, spellcheck=None, tabindex=None, translate=None, hx_get=None, hx_post=None, hx_put=None, hx_delete=None, hx_patch=None, hx_trigger=None, hx_swap=None, hx_swap_oob=None, hx_include=None, hx_select=None, hx_select_oob=None, hx_indicator=None, hx_push_url=None, hx_confirm=None, hx_disable=None, hx_replace_url=None, hx_disabled_elt=None, hx_ext=None, hx_headers=None, hx_history=None, hx_history_elt=None, hx_inherit=None, hx_params=None, hx_preserve=None, hx_prompt=None, hx_request=None, hx_sync=None, hx_validate=None, **kwargs)
一个表单标签;与普通 ft_hx 版本相同,除了默认 enctype='multipart/form-data'
复选框X
CheckboxX (checked:bool=False, label=None, value='1', id=None, name=None, target_id=None, hx_vals=None, hx_target=None, cls=None, title=None, style=None, accesskey=None, contenteditable=None, dir=None, draggable=None, enterkeyhint=None, hidden=None, inert=None, inputmode=None, lang=None, popover=None, spellcheck=None, tabindex=None, translate=None, hx_get=None, hx_post=None, hx_put=None, hx_delete=None, hx_patch=None, hx_trigger=None, hx_swap=None, hx_swap_oob=None, hx_include=None, hx_select=None, hx_select_oob=None, hx_indicator=None, hx_push_url=None, hx_confirm=None, hx_disable=None, hx_replace_url=None, hx_disabled_elt=None, hx_ext=None, hx_headers=None, hx_history=None, hx_history_elt=None, hx_inherit=None, hx_params=None, hx_preserve=None, hx_prompt=None, hx_request=None, hx_sync=None, hx_validate=None, **kwargs)
一个可选的复选框在标签内,前面是一个与名称匹配的 Hidden
show(CheckboxX(True, 'Check me out!'))脚本
Script (code:str='', id=None, cls=None, title=None, style=None, attrmap=None, valmap=None, ft_cls=None, **kwargs)
一个不转义其代码的脚本标签
样式
Style (*c, id=None, cls=None, title=None, style=None, attrmap=None, valmap=None, ft_cls=None, **kwargs)
一个不会转义其代码的样式标签
样式和脚本模板
双重括号
double_braces (s)
如果在特殊字符或换行符旁边,将单括号转换为双括号
去重括号
undouble_braces (s)
如果在特殊字符或换行符旁边,将双大括号转换为单大括号
宽松格式
loose_format (s, **kw)
使用 kw 格式化 s 字符串,而不严格要求模板参数外的括号
脚本X
ScriptX (fname, src=None, nomodule=None, type=None, _async=None, defer=None, charset=None, crossorigin=None, integrity=None, **kw)
一个从 fname 读取内容的 script 元素
替换CSS变量
replace_css_vars (css, pre='tpl', **kwargs)
如果名称前缀匹配 pre,则用 kwargs 替换 var(--) CSS 变量
风格X
StyleX (fname, **kw)
一个从 fname 读取内容并从 kw 替换变量的 style 元素
空格
Nbsp ()
不间断空格
超现实与JS
超现实
Surreal (code:str)
将 code 包裹在 domReadyExecute 中,并设置 m=me() 和 p=me('-')
开启
On (code:str, event:str='click', sel:str='', me=True)
一个异步 surreal.js 脚本块事件处理程序,用于选择器 sel,p,可获取父级 p、事件 ev 和目标 e
上一个
Prev (code:str, event:str='click')
一个用于event的异步 surreal.js 脚本块事件处理程序,具有与 On 相同的变量
现在
Now (code:str, sel:str='')
在选择器 me(sel) 上的异步 surreal.js 脚本块
任何时间
AnyNow (sel:str, code:str)
在选择器 any(sel) 上的异步 surreal.js 脚本块
运行_js
run_js (js, id=None, **kw)
运行 js 脚本,如果需要,基于调用者的名称自动生成 id ,并对任何 kw 参数进行 js 转义
HtmxOn
HtmxOn (eventname:str, code:str)
jsd
jsd (org, repo, root, path, prov='gh', typ='script', ver=None, esm=False, **kwargs)
jsdelivr Script 或 CSS Link 标签,或 URL
其他帮助工具
标题
Titled (title:str='FastHTML app', *args, cls='container', target_id=None, hx_vals=None, hx_target=None, id=None, style=None, accesskey=None, contenteditable=None, dir=None, draggable=None, enterkeyhint=None, hidden=None, inert=None, inputmode=None, lang=None, popover=None, spellcheck=None, tabindex=None, translate=None, hx_get=None, hx_post=None, hx_put=None, hx_delete=None, hx_patch=None, hx_trigger=None, hx_swap=None, hx_swap_oob=None, hx_include=None, hx_select=None, hx_select_oob=None, hx_indicator=None, hx_push_url=None, hx_confirm=None, hx_disable=None, hx_replace_url=None, hx_disabled_elt=None, hx_ext=None, hx_headers=None, hx_history=None, hx_history_elt=None, hx_inherit=None, hx_params=None, hx_preserve=None, hx_prompt=None, hx_request=None, hx_sync=None, hx_validate=None, **kwargs)
一个包含Title、H1和任何提供的子元素的HTML片段
网站图标
Favicon (light_icon, dark_icon)
浅色和深色的favicon头部
清除
clear (id)
带_sid
with_sid (app, dest, path='/')
社交媒体
OG和Twitter社交卡片头部
来源