mirror of
https://github.com/zhenxun-org/zhenxun_bot.git
synced 2026-10-08 13:20:01 +08:00
♻️ refactor: 统一图片渲染架构并引入通用UI组件系统
🎨 **渲染服务重构** - 统一图片渲染入口,引入主题系统支持 - 优化Jinja2环境管理,支持主题覆盖和插件命名空间 - 新增UI缓存机制和主题重载功能 ✨ **通用UI组件系统** - 新增 zhenxun.ui 模块,提供数据模型和构建器 - 引入BaseBuilder基类,支持链式调用 - 新增多种UI构建器:InfoCard, Markdown, Table, Chart, Layout等 - 新增通用组件:Divider, Badge, ProgressBar, UserInfoBlock 🔄 **插件迁移** - 迁移9个内置插件至新渲染系统 - 移除各插件中分散的图片生成工具 - 优化数据处理和渲染逻辑 💥 **Breaking Changes** - 移除旧的图片渲染接口和模板路径 - TEMPLATE_PATH 更名为 THEMES_PATH - 插件需适配新的RendererService和zhenxun.ui模块
This commit is contained in:
@@ -1,3 +1,4 @@
|
||||
import re
|
||||
from typing import overload
|
||||
|
||||
from nonebot.adapters import Bot
|
||||
@@ -120,3 +121,17 @@ class SqlUtils:
|
||||
if not_null:
|
||||
sql += " NOT NULL"
|
||||
return sql
|
||||
|
||||
|
||||
def format_usage_for_markdown(text: str) -> str:
|
||||
"""
|
||||
智能地将Python多行字符串转换为适合Markdown渲染的格式。
|
||||
- 将单个换行符替换为Markdown的硬换行(行尾加两个空格)。
|
||||
- 保留两个或更多的连续换行符,使其成为Markdown的段落分隔。
|
||||
"""
|
||||
if not text:
|
||||
return ""
|
||||
text = re.sub(r"\n{2,}", "<<PARAGRAPH_BREAK>>", text)
|
||||
text = text.replace("\n", " \n")
|
||||
text = text.replace("<<PARAGRAPH_BREAK>>", "\n\n")
|
||||
return text
|
||||
|
||||
Reference in New Issue
Block a user