simple-rsx-macros 0.1.1

Procedural macros for simple-rsx, providing JSX-like syntax for Rust
Documentation
simple-rsx-macros-0.1.1 has been yanked.

Simple RSX

A lightweight and intuitive JSX-like syntax implementation for Rust, enabling HTML-like templating with the full power of Rust's type system.

Features

  • JSX-like syntax support in Rust
  • Self-closing tags (<div />)
  • Element attributes
  • Nested elements
  • String literals as children
  • Fragment support (<></>)
  • Basic error handling and validation
  • Tag matching validation
  • Procedural macro implementation
  • Basic HTML element rendering
  • Expression support in braces ({expr})
  • Props validation
  • Event handling
  • Conditional rendering
  • Looping
  • List rendering
  • Custom components
  • State management
  • Lifecycle hooks
  • Server-side rendering
  • Server-side rendering with hydration

Installation

Add this to your Cargo.toml:

[dependencies]
simple-rsx = "0.1"

Usage

use simple_rsx::*;

// Self-closing tag with attributes
let element = jsx!(<div class="container" id="app" />);

// Nested elements with text content
let nested = jsx!(
    <div class="container" id="app">
        <p>"Hello, world!"</p>
    </div>
);

// Fragment syntax
let fragment = jsx!(
    <>
        <h1>"Title"</h1>
        <p>"Content"</p>
    </>
);

Project Structure

  • simple-rsx: Main library crate
  • simple-rsx-macros: Procedural macros implementation

Development Status

This project is currently in active development. While basic JSX syntax is supported, many advanced features are still in progress. Contributions are welcome!

License

MIT License