跳转到内容

ETAF

在 Emacs 里构建完整的文本应用:声明式组件、级联样式与增量更新。

声明式组件

用命名绑定与响应式状态组合可复用组件,重渲染、身份和生命周期由运行时负责。

级联与计算样式

用选择器、优先级和级联给主体写样式,再读回计算样式,而不是手工设置 face。

Box、Flex 与 Grid 布局

用盒模型、常规流、Flex 与 Grid 排布文本,精确到像素。

增量更新

保留式渲染只发布变化的部分,更新的代价取决于改动的大小,而不是整屏重绘。

Emacs 里的网易云音乐播放器
etaf-ncm:我喜欢的音乐、歌词与播放队列
Emacs 里的微信读书客户端
etaf-weread:书架,以及选中书的进度、目录与笔记
Emacs 里并排显示 Markdown 原文与渲染
etaf-md-preview:左边原文,右边渲染
Emacs 里的 Telegram 客户端
etaf-telega:会话列表与频道的实时消息
ETAF Desktop 窗口管理器
etaf-desktop:窗口、工作区与启动器
Emacs 里的视频播放器
etaf-video-player:清晰图像帧加声音播放视频
Emacs 里的字符视频
etaf-ascii-video:把视频渲染成字符
Emacs 里的纸牌接龙
etaf-solitaire:Verdant,K+ Klondike 纸牌接龙
楚河中国象棋
etaf-xiangqi:矢量棋盘上的中国象棋
钢铁洪流坦克战
etaf-tanks:Iron Tide 实时坦克战
Salvage Station 游戏
etaf-salvage:Salvage Station 实时探索与回收

这里收录 ecss、ekp、ebox、etaf、etaf-ui 与 etaf-db 的全部公共接口,以及它们背后的机制。先读引言,也可以直接跳到样式属性参考、UI 总论、术语表与符号索引。