30 open-source projects similar to mde/ejs, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Ejs alternative.
Handlebars.js is a JavaScript templating engine and logic-less template library used to generate HTML or text by merging data objects with templates. It utilizes an abstract syntax tree parser to transform template strings into executable JavaScript functions. The system separates data from presentation by restricting complex logic to external helper functions rather than the template itself. It features a precompiled template compiler that converts templates into functions before deployment to increase execution speed and reduce startup latency. The engine covers a broad range of content ge
Pug is a template engine and compiler that transforms whitespace-sensitive shorthand syntax into standard HTML. It functions as both a Node.js template engine for server-side rendering and a browser-side precompiler for client-side templating. The system converts template files into executable JavaScript functions to increase rendering speed. This allows for the generation of full HTML documents by combining dynamic data and logical structures, either on a server or as standalone JavaScript files for execution directly in the browser. The engine manages the translation process through HTML t
Handlebars.js is a JavaScript templating engine used to generate HTML and other text formats by combining static templates with dynamic data. It functions as a logic-less template engine, separating presentation from business logic by restricting the complexity of expressions within templates. The project includes a precompiled template compiler that converts template strings into executable JavaScript functions. This mechanism reduces runtime overhead and improves rendering performance by shifting the compilation process to a build step. The engine provides a custom helper framework for ext
doT is a compiled JavaScript template engine and rendering system used to generate dynamic text and HTML for both browser-based interfaces and Node.js server-side environments. It transforms template strings into executable JavaScript functions to produce text output across different runtime environments. The system focuses on pre-compiling template source files into standalone JavaScript modules at build time. This process eliminates runtime compilation overhead, increases execution speed, and prevents malicious code injection. The engine supports logic-based interpolation using conditional
ejs is an embedded JavaScript template engine for Node.js that generates HTML and other text formats by embedding JavaScript logic into templates. It functions as a server-side rendering engine and HTML template processor that merges static markup with dynamic data. The system operates as a compiled template library, converting templates into JavaScript functions to enable cached rendering and faster execution. It includes built-in security to prevent cross-site scripting by automatically escaping HTML entities and special characters during the rendering process. The engine supports modular
Dustjs is a JavaScript templating engine and asynchronous template renderer. It functions as an isomorphic HTML generator, producing consistent output across both client and server environments. The system employs a logic-less template syntax to separate presentation from business logic, utilizing simple tags for iteration and conditional checks. It supports asynchronous data resolution, allowing the rendering process to pause and resume as external data sources respond. The engine provides capabilities for dynamic HTML generation, server-side rendering, and client-side templating. It utiliz
Marko is a component-based web framework and HTML-based template engine used to build reactive user interfaces. It functions as a server-side rendering framework that compiles declarative templates into optimized JavaScript for efficient browser execution. The framework utilizes virtual DOM-less rendering to map template expressions directly to DOM nodes. It employs ahead-of-time template compilation and server-side HTML streaming to send rendered fragments to the client in chunks. The system manages user interfaces through a component-based view hierarchy with reactive data binding and fine
Templ is a type-safe HTML templating engine and UI framework for Go. It provides a system for building reusable HTML components that compile into Go code for server-side rendering, ensuring type safety and compile-time validation of data and logic. The project features a dedicated language server that provides autocomplete and syntax validation for template files within supported code editors. It employs compile-time code generation to transform a custom template language into Go source code, enabling the creation of modular HTML fragments and logic blocks. The framework includes automated s
art-template is a JavaScript template engine and server-side rendering engine. It functions as an abstract syntax tree compiler that translates template source code into executable JavaScript to generate HTML or text output. The engine includes a template inheritance system that allows the definition of base layouts and reusable content blocks. It also provides a template debugging tool that maps syntax and runtime errors to exact line numbers within the source files.
art-template is a JavaScript templating engine and HTML template compiler that transforms custom syntax and script statements into optimized HTML output. It functions as a precompiled template engine that converts template source into standalone JavaScript functions to render dynamic content from data. The engine features a template inheritance framework that organizes layouts through nesting, blocks, and inclusions to create reusable components across multiple files. It incorporates automatic output sanitization and encoding to prevent cross-site scripting attacks. The system includes capab
Nunjucks is a JavaScript templating engine used for generating dynamic HTML by combining data with templates. It serves as an asynchronous template processor that allows for non-blocking execution within filters and parallel processing of iterations. The engine features a template inheritance system where base skeleton structures are defined and extended by child templates to fill specific content blocks. It includes a security utility for context-aware HTML escaping to prevent cross-site scripting during the rendering phase. The library provides capabilities for server-side rendering and da
Liquid is a secure template engine and markup language used to generate dynamic HTML or text by combining static templates with backend data. It functions as a web template renderer that transforms markup into final output while restricting available logic to prevent arbitrary code execution. The engine focuses on secure markup execution, providing a restricted environment where user-provided templates cannot access sensitive system data. It utilizes a safe evaluation sandbox to ensure that only a predefined set of instructions can be executed. The system includes capabilities for template s
hogan.js is a logic-less template compiler and Mustache templating engine. It transforms static templates into executable JavaScript functions to generate data-driven strings without using conditional or looping logic. The system focuses on precompilation to eliminate parsing overhead during runtime execution. This includes a precompiled template library and a command line interface for converting template files into optimized JavaScript. The engine handles dynamic content generation through template compilation and data rendering. It supports reusable UI fragments via partials and allows fo
Lit is a library for building lightweight, interoperable web components. It provides a base class that leverages native browser APIs to encapsulate state, logic, and styles, allowing developers to create custom elements that function consistently across any modern web project. The framework distinguishes itself through a reactive property system that automatically triggers efficient, batched DOM updates. By utilizing tagged template literals, it defines declarative UI structures that are compiled into optimized update instructions. Its architecture emphasizes modularity through a reactive con
Mustache.js is a logic-less JavaScript templating engine and implementation of the Mustache specification. It merges data objects with text templates to generate formatted output, ensuring consistent rendering across different programming languages by forbidding complex logic within the templates. The system distinguishes itself by using a logic-less approach to data binding, relying on simple variable interpolation and conditional block rendering. It supports modularity through partial template inclusion and allows for extended functionality via lambda functions that transform blocks of temp
Revel is a full-stack web framework and toolkit for building applications with the Go language. It implements a model-view-controller architecture to separate business logic from user interface rendering, providing a comprehensive system for routing, parameter binding, and session management. The project distinguishes itself with a high-productivity development environment featuring automatic code compilation and hot-reloading, which refreshes the application state and templates upon file changes without requiring manual restarts. It also employs reflection-based parameter binding to automati
This project is a comprehensive library of reference implementations and patterns for building web applications using the Go Fiber framework. It provides curated templates and implementation guides for creating REST APIs, web servers, and structured backend services. The repository serves as a practical resource for applying architectural patterns, including Clean and Hexagonal architectures, as well as port-and-adapter decoupling. It offers detailed examples for integrating common web features such as OAuth2 authentication, JWT verification, WebSockets for real-time communication, and server
This project is an implementation of React Server Components, providing a full-stack component architecture that blends server-side rendering with client-side interactivity. It enables the development of web applications where server-only components for data fetching and interactive client components coexist within a single component tree. The system focuses on server-client data orchestration, allowing for the execution of server functions and database mutations across the network boundary. It distinguishes itself through a hybrid component architecture that shifts component execution to the
Vue is a progressive, component-based JavaScript framework designed for building reactive user interfaces and single-page applications. It centers on a declarative template system that transforms HTML into efficient render functions, allowing developers to organize complex interfaces into isolated, reusable units that synchronize automatically with application state. The framework distinguishes itself through a dependency-tracking reactivity system that monitors data access during rendering to trigger precise updates. It provides a flexible architecture that supports both incremental adoption
React is a JavaScript library for building user interfaces through the composition of modular, self-contained components. It employs a declarative programming model where developers describe the desired visual state, and the library automatically manages the underlying document updates and state synchronization. By utilizing a virtual representation of the document, it calculates and applies minimal changes to the browser, ensuring efficient rendering even in complex applications. The library distinguishes itself through a sophisticated scheduling system that manages rendering work in increme
Crow is a minimalist C++ micro web framework designed for building fast web servers and REST APIs. It provides a lightweight toolkit for web development in C++, offering core routing and request handling capabilities. The framework includes a built-in JSON parser for converting strings into structured data and an HTML template engine for generating dynamic web pages on the server. It also functions as a WebSocket server library to enable bidirectional, real-time communication between servers and web clients. Additional capabilities include a middleware-based request pipeline for executing sh
Perfect is a server-side Swift framework designed for building high-performance web applications, REST APIs, and backend services. It provides an asynchronous HTTP server that handles web traffic through an event loop, alongside a web template engine for generating dynamic HTML pages. The project includes a WebSocket communication library for implementing bidirectional, real-time data exchange between clients and servers. It also provides a database connector to establish connections and exchange data between Swift applications and external database stores. The framework's capabilities cover
Leptos is a full-stack Rust web framework designed for building reactive applications that share logic and types between the server and the browser. It provides a comprehensive toolkit for developing web interfaces where specific DOM nodes update automatically in response to changes in underlying reactive signals, rather than re-rendering entire component trees. The framework distinguishes itself through a fine-grained reactivity model that tracks dependencies at the individual data point level. It utilizes compile-time template transformation to convert declarative HTML-like syntax into opti
This project is a development framework that enables the creation of cross-platform mobile mini programs using the component-based architecture and reactive data binding of Vue.js. It functions as a build system that transforms web-oriented component code into native-compatible templates and logic, allowing developers to build modular user interfaces that run within restricted mobile environments. The framework distinguishes itself through a sophisticated build pipeline that deconstructs single-file components into platform-specific templates, logic, and style files. It employs compile-time t
This project is a comprehensive sample library and implementation guide for ASP.NET Core. It provides a collection of practical examples and projects that demonstrate how to build web applications, RESTful APIs, and high-performance services. The repository focuses on a variety of architectural patterns, including the development of Minimal APIs, contract-first gRPC services, and real-time communication using WebSockets and Server-Sent Events. It includes detailed implementations for user identity and security, such as token-based authentication and CSRF protection. The codebase covers a bro
FAST is a web components framework and declarative UI library used to build adaptive user interfaces. It functions as a server-side rendering engine and design system implementation, enabling the creation of modular components based on web standards. The framework focuses on cross-framework component compatibility, allowing user interface elements to remain functional across different front-end frameworks and modern browsers. It implements a design language through a collection of pre-defined visual components to ensure consistency across professional applications. The system covers state-dr
Blazor is a .NET framework for building interactive web user interfaces using C# instead of JavaScript. It provides a component-based UI composition model where reusable, self-contained UI elements are built with C# logic and Razor markup, supporting nesting, parameters, and lifecycle events. The framework offers two primary rendering models: a client-side runtime that compiles C# to WebAssembly and executes directly in the browser, and a server-side model that renders UI on the server and sends incremental DOM updates over a persistent SignalR connection. A central capability of Blazor is it
vue-loader is a Webpack loader that compiles single-file Vue components into executable JavaScript modules for the browser. It functions as a compiler that splits templates, styles, and scripts from a single file into a bundled module, converting templates into optimized JavaScript render functions for both client and server environments. The project provides a system for routing style blocks through specialized CSS loaders to enable scoped and isolated component styling. It also includes a development utility for hot module replacement, which updates components in the browser in real-time wi
FastHTML is a full-stack Python web framework designed for building interactive web applications using pure Python. It functions as an HTMX integration framework and a Python HTML domain-specific language, allowing developers to generate HTML structures using native objects and functions instead of external templating files. The framework is distinguished by its native support for real-time bidirectional communication via WebSockets and Server-Sent Events, enabling server-side updates to be pushed to the browser without full page reloads. It further integrates identity management through OAut
htm is a build-less markup engine and JavaScript template parser that transforms template literals into element creation calls or structured objects during runtime. It serves as a hyperscript HTML template library and a utility for generating markup compatible with virtual DOM libraries. The library allows for the creation of HTML-style markup using standard JavaScript tagged template literals, removing the requirement for an external transpiler or build-step compiler. It distinguishes itself by mapping template strings to custom functions that transform types and properties into specialized