Skip to content

First Release of XTML

Latest

Choose a tag to compare

@Andy16823 Andy16823 released this 15 Nov 16:34
· 6 commits to main since this release
6c65467

XTML 1.0 Release Notes

Overview

XTML is a lightweight DSL for creating HTML-based content with embedded logic and function calls. This first official release allows combining HTML structures, variables, and functions seamlessly.

New Features

  • Variables and Data Types

    • Support for strings, numbers, booleans, and arrays.
    • Static definitions (xtmldef) for reusable content.
  • Functions

    • User-defined function declaration and invocation.
    • Return HTML blocks or other data types.
    • Supports recursive calls.
  • Control Flow

    • if, else if, else statements.
    • while and for loops.
    • break and continue for loop control.
    • return for function output.
  • HTML Integration

    • Embed HTML directly using <xtml> blocks.
    • Placeholders {{@variable}} for dynamic variable output.
  • Native Functions

    • Access to built-in functions like std::randStr and std::get for arrays.
  • Expressions

    • expr blocks for evaluating and returning complex values.

Improvements

  • Clear separation between output (output) and evaluated value (value).
  • Better handling of arrays and data types.
  • Consistent error reporting with descriptive messages.

Known Limitations

  • Placeholders in xtmldef blocks are static; later changes do not affect previously defined blocks.
  • Debug symbols are only in .pdb; the .exe is sufficient for end users.

Included Files

  • xtml.exe – executable file.
  • functions.xtml – example and utility functions.

Notes

This version is targeted at developers and testers. Feedback on syntax and functionality is welcome.