rust-cssparser
inlyne
rust-cssparser | inlyne | |
---|---|---|
5 | 8 | |
682 | 974 | |
1.2% | 2.0% | |
7.2 | 9.0 | |
9 days ago | 6 days ago | |
Rust | Rust | |
Mozilla Public License 2.0 | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
rust-cssparser
-
Looking for this. html + css rendering through wgpu.
If you were to implement this yourself, i'd look into either swash or cosmic-text for the text rendering stack (this is one of the things you really don't want to write from the ground up). For accessibility, AccessKit has quickly become the standard for communicating with crossplatform accessibility APIs in rust GUI. lightningcss (or its lower level counterpart cssparser) are both decent options for CSS parsing. Taffy handles some of what browsers offer for a layout engine, but is still being worked on.
-
We're building a browser when it's supposed to be impossible
Libraries for a lot of this stuff exist (albeit in many cases not very mature yet):
- https://github.com/pop-os/cosmic-text does text layout (which Taffy explicitly considers out of scope)
- https://github.com/AccessKit/accesskit does accessibility
- https://github.com/servo/rust-cssparser does value-agnostic CSS parsing (it will parse the general syntax but leaves value parsing up to the user, meaning you can easily add support for whatever properties you what). Libraries like https://github.com/parcel-bundler/lightningcss implement parsing for the standard css properties.
- There are crates like https://github.com/BurntSushi/bstr and https://docs.rs/wtf8/latest/wtf8/ for working with non-unicode text
We are planning to add a C API to Taffy, but tbh I feel like C is not very good for this kind of modularised approach. You really want to be able to expose complex APIs with enforced type safety and this isn't possible with C.
- Parcel CSS: A new CSS parser, compiler, and minifier
- Can't handle cssparser's ParseError
inlyne
-
Servo announces grant from the NLnet Foundation
The closest thing currently is probably https://github.com/trimental/inlyne which differs in two ways: it only support markdown not arbitrary HTML, and it renders to screen rather to an image. But it's a good start.
IMO the main blocker for web rendering in Rust right now is better text layout, and in particular support for embedding non-text content within text ala `display: inline-block`. If/when that is implemented I think we'll be able to do a decent job of rendering basic web pages.
-
Looking for this. html + css rendering through wgpu.
Specifically the conversion happens here
-
clap_completion help requested
Using a cargo-xtask task to generate them as a manual step (inlyne currently does this)
- Inlyne - a GPU powered, browserless, markdown + html viewer
-
[Media] Version 0.3 of Inlyne - An interactive markdown renderer written entirely in Rust
Checkout github.com/trimental/inlyne if you're interested in this project or try it yourself with cargo install inlyne. Happy to answer any questions.
- a crate for rendering HTML to an image buffer?
- Show HN: Inlyne, a GPU powered, browser-less, Markdown previewer
-
[Media] I created a gpu-powered markdown & basic html renderer using comrade, winit & wgpu
If you wanna know more check the [GitHub homepage](https://github.com/trimental/inlyne) or play with cargo install inlyne
What are some alternatives?
lightningcss - An extremely fast CSS parser, transformer, bundler, and minifier written in Rust.
vim-markdown-composer - An asynchronous markdown preview plugin for Vim and Neovim.
swc - Rust-based platform for the Web
to-html - Utilities for making the colo documentation
cosmic-text - Pure Rust multi-line text handling
rustic - rustic - fast, encrypted, and deduplicated backups powered by Rust
css-modules - Documentation about css-modules
bevy_ui_dsl
icss - Interoperable CSS — a standard for loadable, linkable CSS
cef - Safe Wrapper Around the Chromium Embedded Framework (WIP)
hound - Lightning fast code searching made easy
blitz - High performance HTML and CSS renderer powered by WGPU