Maud: A Rust macro for writing HTML

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
  • maud

    :pencil: Compile-time HTML templates for Rust

  • whichever-compiles

    You can't build an IDE that definitely just "understands Rust macros" since procedural macros in particular are in effect modifying your compiler. Maud is a proc macro.

    Mara's whichever_compiles! macro for example: https://github.com/m-ou-se/whichever-compiles -- that macro is forking your compiler to try out all the branches and throwing away branches which caused a compile error.

    Clearly your IDE should throw its hands up and say, I don't understand what this does, I give up.

    In general doing something useful with Rust macros is a more tractable problem for an IDE than say the C pre-processor, because Rust's macros have a stronger syntax, but the proc macro is potentially much too powerful / dangerous to try to evaluate.

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

  • A Tour of Scala

    The standard Scala XML library

  • xhp

    XHP extension for PHP

  • FaxJs

    Fax Javascript Ui Framework

    That's actually the heritage of JSX!

    XHP was launched in 2010 (https://www.facebook.com/notes/10158791323777200/)

    The first version of FaxJs (the precursor to React) was launched in 2011, being directly inspired from XHP (https://github.com/jordwalke/FaxJs)

    React was made in 2012 by the same person who made FaxJs, taking the best ideas from FaxJs and creating React.

    So yeah, JSX actually comes from the idea of XHP :)

  • xhp-php5-extension

    Discontinued A PHP5 extension that augments the syntax of the language such that XML document fragments become valid PHP expressions.

  • htmlgo

    Type safe and modularize way to generate html on server side. (by theplant)

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

  • rust-analyzer

    A Rust compiler front-end for IDEs

    However, this breaks rust-analyzer's ability to rename variables [1].

    [1]: https://github.com/rust-lang/rust-analyzer/issues/11260#

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts