45 Commits

Author SHA1 Message Date
崮生(子虚)
55aa492ce0 新增 ttf 随机选择和提示 2026-04-09 12:02:37 +08:00
崮生(子虚)
e2cc7c1144 feat: 前端格式选择器组件,服务端支持能力透传
- 新增 FontSelector.tsx 独立组件,字体和输出格式并排选择
- /api/config 新增 supportedOutTypes 字段(LLRT 仅 ttf)
- 前端加载配置后自动适配可用格式

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-09 11:56:10 +08:00
崮生(子虚)
820fc71166 feat: 新增 woff2 输出格式支持,默认使用 woff2
- 后端支持 outType URL 参数(woff2/ttf),Node.js 默认 woff2,LLRT 默认 ttf
- woff2 wasm 延迟初始化,仅首次请求时加载(~8ms)
- SDK 三个入口函数支持 outType 选项,默认 woff2
- 前端 CSS、下载、使用说明适配 woff2
- 基准测试新增 woff2 测试(耗时、体积、压缩率)
- 构建脚本自动复制 woff2.wasm 到 dist 目录

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-09 11:48:07 +08:00
崮生(子虚)
6d34a5e53a feat: 标语随机使用字体展示,调整字号和位置
标语移至标题下方,每次加载随机选取字体列表中的一个字体渲染,
悬停显示字体名称,字号调至 24px。

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-09 11:34:02 +08:00
崮生(子虚)
b7a91a3a11 fix: 修正 package.json exports 条件顺序,消除 tsup 构建警告
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-09 11:23:56 +08:00
崮生(子虚)
6f0e3d8e6b fix: 修复 name 表写入偏移错误导致浏览器无法渲染字体
name.js write 函数改用 view.setUint16 后未同步 writer.offset,
导致 name 字符串覆盖 header,name 表损坏。浏览器依赖 name 表
识别字体所以无法渲染,而 Node 端渲染不依赖 name 表所以基准
测试未检测到。

同时修复 cmap sizeof 动态计算记录头大小的问题。

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-09 11:22:51 +08:00
崮生(子虚)
4acb1c1e5d docs: 添加品牌标语
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-09 10:47:48 +08:00
崮生(子虚)
2f7ce0cb72 feat: SDK 多模式架构 + 首页输入事件驱动
- 重构 webfont-sdk.js 为核心增量引擎 + 多触发器架构
- 支持 loadFont(轮询)、observeFont(MutationObserver)、loadText(手动传文本)三种模式
- 三种模式共享 loadedChars,按 fontName|family 自动去重增量加载
- loadFont interval 可从外部配置
- 首页改用 loadText 模式,输入即时触发字体加载
- textarea 高度根据文本行数动态变化

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-09 10:41:53 +08:00
崮生(子虚)
909b91a8d5 优化 2026-04-09 10:27:17 +08:00
崮生(子虚)
acfe0ca022 优化 6.3ms / 2.3ms / 11.1ms - 全面超越之前最佳性能! 2026-04-09 10:25:17 +08:00
崮生(子虚)
2aa6852dca 优化2 2026-04-09 10:21:09 +08:00
崮生(子虚)
d43255aba0 性能优化1 2026-04-09 10:17:02 +08:00
崮生(子虚)
765a301649 修改为本地引用,清理冗余文件 2026-04-09 09:50:26 +08:00
崮生(子虚)
a8fdb24de4 优化基准测试 2026-04-08 22:49:43 +08:00
崮生(子虚)
c74278cf2f 更改优先级 2026-04-08 22:35:58 +08:00
崮生(子虚)
79ee7dd3f0 内存缓存最近三个字体,避免高频的文件io 2026-04-08 22:31:53 +08:00
崮生(子虚)
b902b4e1cc 增强安全性,重构代码 2026-04-08 22:05:17 +08:00
崮生(子虚)
41c2741e3e 将 fonteditor-core 嵌入到项目中,方便后续优化 2026-04-08 21:24:56 +08:00
崮生(子虚)
3163e99534 重构上传组件为独立文件,移除 txikijs 依赖,调整布局顺序
- 提取 UploadSection 为 src/UploadSection.tsx,复用 FileUploader 组件和 useUpload hook
- 移除 @txikijs/types 包及所有相关配置引用
- 布局顺序调整:选择字体 → 预览 → CSS代码 → 上传 → 原理/SDK文档

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-08 20:55:53 +08:00
崮生(子虚)
9da270733d v1.2.0: 增量字体加载 SDK,优化预览体验
- 新增 webfont-sdk.js,支持按需增量加载字体片段,无闪烁
- 预览使用 SDK 增量加载,输入时不再重新加载已有字体
- SDK 根据元素类型(input/textarea vs 其他)正确获取文本
- SDK 支持重复调用同一选择器时自动清理旧状态
- 页面说明区分基础用法和进阶用法,提供 SDK 下载链接
- URL 改为完整域名(location.origin),方便用户直接复制使用
- 预览文本框字体大小调至 32px
- API Key 输入框改为 text 类型消除密码警告
- SEO 优化:添加 description meta,优化 title

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-08 20:48:23 +08:00
崮生(子虚)
878b54a0fd 修复上传功能、移除 tjs 运行时支持、添加 vite-plugin-pilot
- 修复 HTTP header 大小写不敏感匹配,解决浏览器上传请求体为空的问题
- 重写 createStreamAfterTarget,修复大文件上传时 body stream 数据流断裂
- 添加 chunked transfer encoding 解码支持
- 读取完 body 后 cancel stream,防止后台循环抛异常炸进程
- 修复 parseHttpRequest 中 split(":") 对含冒号 header value 的错误拆分
- 临时上传同名文件直接覆盖,不再加时间戳前缀
- 移除 tjs (txiki.js) 运行时支持及相关代码
- 安装并配置 vite-plugin-pilot 浏览器测试工具

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-08 20:31:43 +08:00
崮生(子虚)
43a1d2cf64 README 补充 TEMP_MAX_FILES 环境变量说明
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-08 17:13:45 +08:00
崮生(子虚)
e0f34c36b6 修复上传功能和服务器健壮性问题
- 修复 multipart 解析器:endDelimiter 提前检查导致循环退出
- 修复 Node.js v24 兼容:改为先读取 body 再构造 Request
- 修复 HTTP keep-alive 死锁:按 Content-Length 精确读取 body
- 修复服务器崩溃:connectionHandle 加 try-catch,单连接错误不影响全局
- 修复 URL 写死:webfont.shenzilong.com 改为 localhost
- 复制按钮加"已复制/复制失败"反馈提示
- TEMP_MAX_FILES 改为环境变量可配置
- dev 环境默认启用临时上传和管理员上传
- CSS 代码默认展示,使用技巧不再折叠

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-08 17:11:55 +08:00
崮生(子虚)
032f408f9c clear 2026-04-08 16:27:46 +08:00
崮生(子虚)
6cf0bb2bea v1.1.0
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-08 16:19:59 +08:00
崮生(子虚)
7fceccfe4d 重构前端UI,新增字体上传/下载/模糊匹配功能
- 前端UI重构:字体选择器、文本预览、CSS输出+复制、下载字体、上传区域
- 后端新增API:/api/fonts(列出字体)、/api/config(公开配置)、/api/upload(上传字体)
- 字体查找支持模糊匹配(精确 > 前缀 > 包含)
- 上传功能分两种模式:临时上传(ENV开关,FIFO上限10个)和管理员上传(API Key认证)
- 新增multipart解析器、配置模块、文件系统抽象(writeFile/readdir/mkdir/unlink)
- 后端启动时等待运行时初始化完成,确保接口可用
- dev-all.ts后端启用tsx watch模式自动重载

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-08 16:18:46 +08:00
崮生(子虚)
1a611e7e28 自行下载 llrt 2026-04-08 15:41:39 +08:00
崮生(子虚)
e5b6718ad9 优化开发体验 2026-04-08 15:35:11 +08:00
崮生(子虚)
6a5f0a72c4 升级依赖 2026-04-08 15:01:18 +08:00
zixu
1a7a131469 fix gitignore 2024-09-04 10:45:58 +08:00
zixu
4230db9058 微调接口 2024-08-29 10:00:22 +08:00
zixu
c6372ea8c3 typo 2024-08-29 09:44:00 +08:00
zixu
6b49d15eae typo 2024-08-29 09:39:37 +08:00
zixu
c6567b8948 前端界面添加防抖 2024-08-29 09:38:47 +08:00
zixu
8cff027a44 更新文档 2024-08-29 09:11:20 +08:00
zixu
935ba3fbe3 update doc 2024-08-28 20:44:17 +08:00
zixu
728e28c1c6 更新文档 2024-08-28 20:40:57 +08:00
zixu
b50f9e2423 更新文档 2024-08-28 20:40:23 +08:00
zixu
ad6d3b4649 支持 llrt 运行时 2024-08-28 19:57:20 +08:00
zixu
2477caf183 精简代码 2024-08-19 18:19:09 +08:00
zixu
a1b5502891 支持使用 tjs 运行 2024-08-19 18:10:09 +08:00
zixu
a44f978ef5 改善前端页面 2024-08-18 17:46:13 +08:00
zixu
6f49a621d3 内存占用 2024-08-18 16:33:11 +08:00
zixu
cae3bad5a9 更新文档 2024-08-18 16:29:18 +08:00
zixu
6b896d768e init 2024-08-18 15:14:50 +08:00