Now vibe coding, so learning hammer FE ?
《hucre:零依赖的电子表格引擎》

标签:
#Web开发 #TypeScript #电子表格 #Xlsx #Csv #Ods #数据转换 #零依赖 #流式处理 #数据验证 #无障碍访问

总结:

文章要点:
1. 核心定位:一个纯 TypeScript 编写的零依赖电子表格引擎,支持读写 XLSX、CSV、ODS、JSON、NDJSON、XML、HTML 等多种格式,可在 Node.js、Deno、Bun、浏览器、Cloudflare Workers 等任意平台运行
2. 极致轻量:完全支持 Tree Shaking,按需导入,CSV 模块仅 3.7KB gzip,完整库 129KB gzip,远小于 SheetJS(300KB)和 ExcelJS(500KB)
3. 多格式统一 API:通过 read() 自动检测格式,write() 支持 9 种输出格式(XLSX、ODS、CSV、TSV、JSON、NDJSON、XML、HTML、Markdown),大幅降低多格式处理的心智负担
4. 流式处理:支持 XLSX、CSV、NDJSON、ODS、XML 的流式读写,可处理百万级数据而不爆内存;300万行 XLSX 流式写入峰值内存仅 70MB,而增量写入器需要 1GB+
5. 功能全面:支持单元格样式、条件格式(13 种)、数据验证、超链接、图片(含 SVG)、图表(柱状/折线/饼图等)、数据透视表、迷你图、冻结窗格、密码保护、Excel 2024 原生复选框、模板引擎等
6. 往返保真:openXlsx/saveXlsx 路径可保留图表、VBA 宏、切片器、时间线过滤器等 hucre 不原生建模的部分,实现无损编辑他人文件
7. 数据验证与无障碍:内置 Schema 验证(类型强制、正则、枚举、范围),以及 WCAG 2.1 AA 无障碍审计(对比度检查、缺失替代文本、表头检测等)
8. 遗留格式支持:可读取 XLS(Excel 97-2003)和 XLSB(二进制 Excel)文件,自动检测格式
9. 开发体验友好:提供 Builder API 链式调用、对象简写读写(readObjects/writeObjects)、CLI 工具(格式转换、检查、验证)、单元格工具函数(行列转换、范围解析)
10. 明确的能力边界:不实现公式计算引擎、不支持 XLS/XLSB 写入、部分高级图表类型(气泡图/雷达图等)仅支持读取和往返、流式 ODS 写入不带样式

URL:https://github.com/productdevbook/hucre GitHub - productdevbook/hucre: Zero-dependency spreadsheet engine. Read & write XLSX, CSV, ODS. Pure TypeScript, works everywhere.
《Microcharts:一句话里就能塞下的React微图表库》

标签:#前端 #React #数据可视化 #图表库 #性能优化 #无障碍 #ServerComponents

总结:
Microcharts是一个专为React设计的微图表库,提供106种图表类型,单个图表gzip后仅2.18-7KB(中位数5.25KB),零依赖。它主打"词级图表"理念——图表小到可以嵌入句子、表格单元格和KPI卡片中,无需坐标轴和图例,由上下文文字承载含义。支持服务端组件静态渲染(0KB客户端JS)、自动生成无障碍alt文本、单色系主题系统,并能在错误数据下优雅降级。

文章要点:
1. 小到离谱:中位数图表仅5.25KB gzip,最大7KB,零运行时依赖,React只是peer dependency,比通用图表库(如Recharts 106KB共享内核)轻了整整101KB
2. 一句话装得下:图表设计为"词级尺寸",可以直接嵌入正文、表格单元格、KPI卡片甚至打印报告,读者不用离开句子就能理解数字
3. 106种图表统一API:传一个data数组就搞定,domain、color、title在每个图表里含义一致,TypeScript类型完备,编辑器能自动补全
4. 静态渲染零负担:在Server Component里渲染时完全不产生客户端JS,hydrate成本为0,对性能敏感场景极其友好
5. 坏数据也能优雅处理:NaN、空数组、单一数值都不会报错,会自动渲染成点、空白或水平线,不用写try/catch兜底
6. 无障碍开箱即用:自动生成alt文本(如"趋势上升27%,范围128到163"),每个图表一个tab焦点,支持方向键浏览,色盲安全配色和RTL都内置
7. 单色系主题系统:给一个accent主色就能自动推导出完整配色(包括正负色、分类色、暗色模式),整个页面一键换肤

URL:https://microcharts.dev/ microcharts — Word-sized charts for React.
《用 Web Components 构建框架无关的设计系统(实践指南)》

标签:#前端 #WebComponents #设计系统 #Elena #VitePress #CSS #无障碍

总结:
本文是一份超详细的实战教程,手把手教你用 Web Components(通过 Elena 库)和 VitePress 搭建一个框架无关、可发布的设计系统。核心思路是"最低可行层级"——用 web 标准直接写原子组件,避免框架锁定;组件保持"最笨"状态,把复杂业务逻辑留给应用层。文章涵盖 monorepo 结构搭建、Elena 组件脚手架、条件渲染、@scope 样式隔离、CSS 自定义属性主题化,以及通过 JSDoc + Custom Elements Manifest 自动生成 Props 表格的文档工作流。最终产出的是一个可独立发布的组件包 + 可部署的静态文档站。

文章要点:
1. 设计系统从第一天就绑定特定框架(如 React)是"令人费解的"——web 标准组件才是可移植、可组合、经得起时间考验的选择
2. Elena 是"刚好够用的抽象":处理跨框架的 prop/attribute 同步、事件委托等脏活,但不掩盖 web 标准本质
3. 组件应保持"最笨"——被告知显式状态和内容的声明式组件,比内置复杂状态管理的"聪明"组件更健康
4. 设计决策应该在代码中而非 Figma 中完成:现代色彩空间、相对单位、对数排版比例等,设计工具只能模拟浏览器的很小一部分能力
5. 用 @scope 实现样式隔离 + 组件级 CSS 自定义属性作为"最终层 token",既保证封装又有主题化回退
6. JSDoc 注释即文档:Elena 自动生成 custom-elements.json,VitePress 通过 data loader 直接渲染 PropsTable 和 ComponentHeader
7. 文档即测试场:在 VitePress 中实时预览组件,确保跨框架可移植性;开发时 concurrent 运行 watch + docs:dev 实现热更新
8. 条件渲染示例:同一个组件通过 href prop 自动切换 button/a 标签,CTA 链接按钮的常见需求也能语义化实现

URL:https://piccalil.li/blog/framework-agnostic-design-systems-part-1/ Framework-agnostic design systems: a practical approach to web components
 
 
Back to Top