3 个不稳定版本

0.5.0-alpha.02024年2月23日
0.4.3 2023年12月7日
0.4.0 2023年8月1日

#1160 in GUI


用于 dioxus-tui

MIT/Apache

760KB
16K SLoC

Plasmo

一个美丽的 Rust 终端用户界面库。


利用 CSS、HTML 和 Rust 构建美丽、便携的终端用户界面。Plasmo 是一个跨框架库,为 Dioxus-TUI 提供动力

demo app

背景

你可以在你的基于文本的用户界面应用程序中使用类似 Html 的语义,包括内联样式、树形结构、组件等。

Plasmo 实质上是 Ink 的移植,但针对 Rust。Plasmo 不依赖于 Node.js 或任何其他 JavaScript 运行时,因此你的二进制文件是便携的且美观。

限制

  • Html 的子集 终端只能渲染 Html 的子集。我们支持尽可能多的功能。
  • 特定的前端设计 终端和浏览器看起来和功能都不同。因此,相同的设计可能不是同时适用于两种渲染器的最佳选择。

状态

警告:Plasmo 目前正在建设中!

Dom 渲染正常,但小部件生态系统尚未准备好。此外,flexbox 实现中的一些错误可能会偶尔出现。

功能

Plasmo 功能

  • 基于 Flexbox 的布局系统
  • CSS 选择器
  • 内联 CSS 支持
  • 内置聚焦系统
  • 小部件
  • 支持事件、钩子和回调1
  • Html 标签2

1 基本的键盘、鼠标和聚焦事件已实现。 2 目前,大多数 Html 标签在 Plasmo 中没有任何意义,也没有额外的功能。所以一个 input 元素 没有任何意义,也没有任何额外的功能。

依赖

~23–34MB
~461K SLoC