We're developing a new web template engine with a standout feature: it's language-agnostic. This means the same web template will work on any system and with any programming language. Other key features include:
- Safe
- Language-agnostic
- Modular
- Parameterizable
How It Works
Neutral TS integrates with other programming languages in two main ways:
- In Rust: You can use Neutral TS as a library by downloading the crate.
- In Other Programming Languages: Inter-Process Communication (IPC) is required, similar to how databases like MariaDB function.
Think of it like a database: A database has a server, and different programming languages access the data through a client. This means that if you run a "SELECT ..." query from any programming language, the result will always be the same.
Similarly, Neutral TS has an IPC server, and each programming language has a client. No matter where you run the template, the result will always be consistent.
Thanks to its modular and parameterizable design, you can create utilities or plugins that work universally. For example, you can develop tools to create forms or form fields and build your own libraries of "snippets" for repetitive tasks. You won't have to create the same form twice, you can even share it.
This is an example of a template:
{:*
comment
*:}
{:locale; locale.json :}
{:include; theme-snippets.ntpl :}
<!DOCTYPE html>
<html lang="{:lang;:}">
<head>
<title>{:trans; Site title :}</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
{:snippet; current-theme:head :}
<link rel="stylesheet" href="bootstrap.min.css">
</head>
<body class="{:;body-class:}">
{:snippet; current-theme:body_begin :}
{:snippet; current-theme:body-content :}
{:snippet; current-theme:body-footer :}
<script src="jquery.min.js"></script>
</body>
</html>
Here is the crate: crates.io: Rust Package Registry