30 open-source projects similar to wycats/handlebars.js, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Handlebars.js 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
EJS is a JavaScript templating engine used to generate HTML by embedding executable JavaScript logic and dynamic data into template files. It functions as both a server-side template processor and a client-side rendering engine, allowing for the creation of dynamic markup in both backend and frontend environments. The engine supports the creation of modular web layouts through partial template inclusion, where smaller reusable components are inserted into parent pages. Users can modify the template syntax by defining custom delimiters to avoid conflicts with other languages. The project cove
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
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
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
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
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
Template.js is a JavaScript template engine designed for parsing and rendering dynamic HTML content in both browser and server-side environments. It functions as a frontend logic library that manages complex user interfaces through data injection, template composition, and extensible rendering logic. The engine distinguishes itself by prioritizing performance through build-time template compilation, which transforms template files into executable modules or functions to minimize runtime overhead. It also incorporates a secure execution sandbox that restricts template logic to a controlled sco
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
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
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
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
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
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
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
This project is a Webpack HTML generator and template engine that creates HTML files and automatically injects compiled script and style bundles. It functions as an asset injection tool and build process minifier to automate the production of web pages. The tool differentiates itself through a customizable template system that supports dynamic variable injection, programmatic content generation, and the ability to generate multiple distinct HTML entry points for multi-page applications. It also provides a hook-based lifecycle pipeline, allowing for the modification of assets and tags before t
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
Ripple is a full-stack TypeScript web framework and reactive UI library used for building interfaces with server-side rendering. It organizes user interfaces into a hierarchy of reusable, scoped components with built-in state management and client-side hydration. The framework is distinguished by its fine-grained reactivity, which updates specific DOM elements without requiring full component re-renders. It integrates server-side logic and client-side components within a single TypeScript codebase, enabling a unified full-stack development workflow. The system covers a broad range of capabil
This project is a technical study guide and architectural analysis of the Vue.js framework. It serves as an educational resource for understanding the implementation of a reactive framework, providing source code analysis and architectural visualizations to explain the internal workings of the Model-View-ViewModel pattern. The project focuses on the mechanics of reactive framework implementation, specifically how dependency tracking, getters, and setters are used to synchronize state with a user interface. It includes detailed examinations of the virtual DOM and the process of reconciling ele
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
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
Slim is a concise, indentation-based template language and markup engine for generating HTML and XML. Designed for the Ruby ecosystem, it converts shorthand syntax into well-formed documents without the need for traditional closing tags. The engine functions as a multi-engine wrapper, allowing the integration of external rendering engines such as Markdown and Sass within a single template file. It also provides a command line interface for rendering templates and converting them between different markup formats. The system supports dynamic content generation through embedded Ruby logic, incl
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
Scriban is a text templating library and .NET scripting engine used for dynamic text generation. It functions as a template processor and a safe scripting sandbox, providing a secure execution environment that restricts object exposure to prevent unauthorized code execution. The project also includes an abstract syntax tree template parser that allows for programmatic template analysis and modification. The engine features a dedicated Liquid template engine and compatibility mode, allowing it to parse, execute, and convert templates written in Liquid syntax. It distinguishes itself through a
Haml is a Ruby HTML template engine and server-side rendering library. It functions as an HTML markup preprocessor that transforms a concise, indentation-based shorthand syntax into standard HTML and XHTML markup. The system uses hierarchical whitespace instead of explicit closing tags to define the structure of documents, reducing boilerplate during markup authoring. It integrates Ruby logic directly into templates to evaluate conditional statements, process dynamic data, and interpolate values. The engine provides tools for managing element attributes through hashes, controlling output whi
Vapor is a comprehensive server-side web framework designed for building scalable, high-performance applications and APIs in Swift. It provides a non-blocking, event-loop-based runtime that manages concurrent task processing, background job queues, and asynchronous request handling. The framework is built around a dependency injection container that manages the lifecycle and resolution of services, configurations, and database connections throughout the request pipeline. The framework distinguishes itself through a protocol-oriented design that emphasizes type safety across all layers of the
Scriban is a .NET text templating engine and embedded scripting language used for dynamic text generation. It functions as an abstract syntax tree manipulation tool and a template parser, allowing for the conversion of scripts into visitable trees for analysis, modification, and rendering. The engine is specifically designed for Native AOT compatibility, utilizing a reflection-free API to execute templates in trimmed environments. It also provides a dedicated parser and conversion system for Liquid templates, enabling the migration and execution of Liquid scripts within .NET. The project cov
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