Files
database_render/config/templates.yaml
2025-08-07 20:03:53 +08:00

215 lines
3.9 KiB
YAML

# 模板配置文件
# 支持自定义模板类型和字段渲染器配置
# 模板定义配置
templates:
articles:
name: "文章列表"
type: "list"
description: "技术文章列表视图"
fields:
id: "number"
title: "string"
content: "markdown"
category: "category"
tags: "tag"
created_at: "time"
config:
page_size: 15
show_pagination: true
show_search: true
show_sort: true
logs:
name: "系统日志"
type: "table"
description: "系统日志表格视图"
fields:
id: "number"
level: "tag"
message: "string"
timestamp: "time"
config:
page_size: 50
show_filter: true
show_export: true
users:
name: "用户管理"
type: "card"
description: "用户卡片视图"
fields:
id: "number"
username: "string"
email: "email"
role: "tag"
avatar: "image"
created_at: "time"
config:
page_size: 12
show_avatar: true
show_actions: true
projects:
name: "项目管理"
type: "timeline"
description: "项目进度时间轴视图"
fields:
id: "number"
name: "string"
description: "markdown"
status: "tag"
progress: "progress"
start_date: "time"
end_date: "time"
config:
page_size: 20
show_progress: true
# 模板类型配置
template_types:
list:
layout: "table"
fields:
default: "raw"
time: "time"
markdown: "markdown"
tag: "tag"
category: "category"
email: "email"
image: "image"
progress: "progress"
options:
striped: true
hover: true
border: true
responsive: true
card:
layout: "grid"
fields:
default: "raw"
time: "relative"
markdown: "excerpt"
tag: "badge"
category: "chip"
email: "email"
image: "avatar"
progress: "circle"
options:
columns: "3"
spacing: "lg"
shadow: "md"
timeline:
layout: "timeline"
fields:
default: "raw"
time: "relative"
markdown: "summary"
tag: "status"
category: "timeline"
email: "link"
image: "thumbnail"
progress: "bar"
options:
direction: "vertical"
alignment: "left"
alternating: false
table:
layout: "table"
fields:
default: "raw"
time: "time"
markdown: "preview"
tag: "tag"
category: "category"
email: "link"
image: "thumbnail"
progress: "bar"
options:
striped: true
hover: true
border: true
pagination: true
export: true
# 字段类型配置
field_types:
string:
type: "text"
renderer: "text"
options:
max_length: 100
ellipsis: true
validation:
required: false
number:
type: "number"
renderer: "number"
options:
thousand_separator: true
validation:
min: 0
time:
type: "datetime"
renderer: "time"
options:
format: "2006-01-02 15:04:05"
relative: true
formatting:
locale: "zh-CN"
markdown:
type: "text"
renderer: "markdown"
options:
max_length: 500
excerpt: true
validation:
sanitize: true
tag:
type: "enum"
renderer: "badge"
options:
style: "rounded"
size: "sm"
validation:
allowed_values: []
category:
type: "string"
renderer: "chip"
options:
style: "outlined"
size: "md"
email:
type: "email"
renderer: "link"
options:
mailto: true
validation:
email: true
image:
type: "url"
renderer: "image"
options:
width: 50
height: 50
fit: "cover"
progress:
type: "number"
renderer: "progress"
options:
show_percentage: true
color: "primary"
formatting:
unit: "%"
max: 100