lexborisov/Modest logo

lexborisov/Modest

Free

Modest is a fast HTML renderer implemented as a pure C99 library with no outside dependencies.

FreeFree tier
Type
Open Source

About lexborisov/Modest

Modest is a fast HTML renderer implemented as a pure C99 library with no outside dependencies. It is part of a modular architecture that includes MyCORE, MyHTML, MyCSS, MyENCODING, MyFONT, MyURL, MyPORT, and Modest itself. MyHTML provides an HTML parser compliant with specifications, MyCSS provides CSS parsing, MyENCODING handles character encodings, MyFONT works with font metrics, MyURL parses URLs, and MyPORT contains system-dependent code (threads, memory, IO, timers). Modest focuses on calculating, comparing, and rendering HTML. The library is released under the LGPL-2.1 license and was created by Alexander Borisov. Important: the author recommends using the successor project lexbor for a stable, feature-rich alternative.

Key Features

Pure C99 implementation with zero external dependencies
Modular architecture: MyCORE, MyHTML, MyCSS, MyENCODING, MyFONT, MyURL, MyPORT, Modest
HTML parser compliant with W3C specifications
CSS parser and module system by specification
Character encoding detection and conversion (MyENCODING)
Font metrics and size calculation (MyFONT)
URL parsing (MyURL)
Cross-platform system code for threads, memory, I/O, timers (MyPORT)
Fast rendering and calculation of HTML layouts
External language bindings available: Crystal, Python, Elixir/Erlang, Perl 5, D

Pros & Cons

Pros
  • Very fast due to pure C99 implementation
  • No external dependencies, easy to integrate
  • Modular design allows picking only needed components
  • Comprehensive coverage of HTML/CSS specifications
  • LGPL license permits use in proprietary software
  • Multiple language bindings for wider usability
Cons
  • Deprecated in favor of lexbor (more stable and feature-rich)
  • Current version 0.0.6 - devel indicates unfinished/unstable state
  • Limited documentation beyond the README and examples
  • No official releases or packages available
  • C99 requirement may not suit all modern C projects

Best For

HTML rendering in C/C++ applicationsBuilding high-performance HTML/CSS parsersEmbedded systems requiring a lightweight rendering engineServer-side HTML rendering without full browser enginesEducational projects to understand HTML rendering internals

FAQ

What is Modest?
Modest is a fast HTML renderer library written in pure C99 with no external dependencies. It is composed of several modules including HTML and CSS parsers, encoding handling, font metrics, URL parsing, and system-dependent code.
Why should I use lexbor instead of Modest?
The author deprecated Modest and recommends using lexbor, which is stable, has more features, and is very fast.
Is Modest free to use?
Yes, Modest is open source under the LGPL-2.1 license, allowing free use and modification.
What programming languages can I use Modest with?
Modest is written in C, but has bindings for Crystal, Python, Elixir/Erlang, Perl 5, and D.