For a static site generator for web content, the strongest matches are twitter/hogan.js (Hogan), linkedin/dustjs (Dustjs is a logic-less JavaScript templating engine that supports) and shopify/liquid (Liquid is a robust, secure template engine that excels). olado/dot and janl/mustache.js round out the shortlist. Each is ranked by relevance to your query, popularity and recent activity.
Find the best static site generators for your project. We compare top open-source tools by features and activity to help you pick the right one.
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
Hogan.js is a logic-less template engine that enables dynamic data binding and includes a CLI for precompilation, fitting the core requirements for a template generation tool.
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
Dustjs is a logic-less JavaScript templating engine that supports dynamic data binding and asynchronous rendering, making it a direct fit for generating content from templates.
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
Liquid is a robust, secure template engine that excels at merging dynamic data with templates, offering the core logic-less syntax and rendering capabilities required for flexible document and content generation.
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
doT is a high-performance JavaScript template engine that enables dynamic content generation by compiling templates into executable functions, fitting the core requirements for data binding and template rendering.
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
Mustache.js is a logic-less templating engine that excels at merging data with templates, though it functions primarily as a library for integration rather than a standalone document generation tool with a built-in CLI.
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
Handlebars.js is a logic-less templating engine that excels at binding dynamic data to templates for various text formats, though it functions primarily as a library rather than a standalone CLI-based document generation tool.
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
Slim is a template engine for the Ruby ecosystem that supports dynamic data binding and provides a command-line interface for generating HTML and XML documents.
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
Handlebars.js is a widely-used logic-less templating engine that excels at merging data with templates for both server-side and client-side environments, though it lacks a built-in CLI interface.
ReLaXed is a document workflow and compilation system that transforms Markdown, JSON data, and HTML/CSS into print-ready PDF files. It utilizes a headless browser engine to render web technologies into final documents, serving as a build system for technical documentation and dynamic reports. The project features a pipeline that automates asset generation, allowing scripts to produce images, charts, and tables from raw data files during the build process. It supports the integration of LaTeX formulas for mathematical equations and converts CSV files into formatted HTML tables. The system inc
ReLaXed is a document generation tool that merges data with templates to produce PDFs, fitting the category by using web technologies to automate the creation of dynamic, data-driven reports.
Middleman is a Ruby-based static site generator and web framework used to transform templates and assets into standalone HTML, CSS, and JavaScript files. It functions as a multi-engine template processor and build tool, converting source markup into production-ready websites that can be hosted on any web server. The system is distinguished by a comprehensive asset pipeline that handles compression, minification, and fingerprinting to optimize web delivery. It features an extensible architecture with lifecycle hooks and a middleware-based request interception layer, allowing for the programmat
Middleman is a static site generator that functions as a template engine by merging data and markup into static files, fitting the category despite its primary focus on website building rather than general-purpose document generation.
Pandoc is a universal document converter that translates content between a wide range of markup and binary formats. It functions by parsing input documents into a unified intermediate abstract syntax tree, which serves as the foundation for consistent manipulation and transformation across diverse output types. The system is distinguished by its modular reader-writer pipeline, which decouples input parsing from output generation to allow for granular control over document structure. Users can programmatically manipulate this intermediate tree through a robust filter system, supporting both ex
Pandoc is a powerful document transformation engine that supports complex template-based generation and data binding, making it a highly capable tool for converting and assembling structured content across many formats.
Typst is a programmable, markup-based typesetting engine designed for professional document creation. It functions as a scriptable publishing toolchain that transforms plain text and code into complex, paginated outputs. By utilizing a high-performance compiler, the system automates document assembly, mathematical rendering, and dynamic content generation, providing a unified workflow for academic and technical authoring. The engine distinguishes itself through a declarative layout framework that uses cascading rules to manage document structure and visual styling. Unlike traditional systems,
Typst is a programmable typesetting engine that enables dynamic document generation by merging data and logic with markup templates, serving as a powerful alternative to traditional document generation tools.
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
Pug is a robust template engine that enables dynamic data binding and server-side rendering, though it is specifically optimized for generating HTML rather than general-purpose document formats.
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
Nunjucks is a robust JavaScript templating engine that provides dynamic data binding and template inheritance, making it a strong choice for server-side document and HTML generation.
Twig is a PHP template engine and compiled rendering library designed to separate business logic from presentation. It functions as a secure template language that generates HTML output by combining dynamic data with reusable layouts. The system emphasizes security through a focus on preventing cross-site scripting attacks via automatic output escaping and content sanitization. To ensure execution efficiency, it compiles templates into optimized PHP code and utilizes a caching mechanism to bypass parsing on subsequent requests. The engine provides comprehensive tools for template composition
Twig is a robust PHP template engine that excels at merging dynamic data with templates, though it is primarily focused on HTML rendering rather than general-purpose document generation.
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
EJS is a versatile JavaScript templating engine that enables dynamic data binding and modular template composition, fitting the category well despite its primary focus on HTML output rather than general-purpose document generation.
This library provides a framework for building custom template systems and rendering dynamic content within web applications. It offers a set of standardized interfaces and tools designed to handle the parsing of template files, the transformation of data into structured output, and the management of template loading from various storage locations. The component distinguishes itself through a modular architecture that supports incremental output streaming, which processes content in chunks to reduce memory usage and improve response times. It also includes integrated security features that au
This component provides the core infrastructure for building template systems with support for data binding and logic-based rendering, serving as a foundational tool for document generation within the PHP ecosystem.
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
This is a JavaScript template engine that enables dynamic content generation by binding data to templates, fitting the core requirements for a templating tool despite lacking a native CLI.
Docxtemplater is an office document generation engine designed to automate the creation of personalized business documents, presentations, and spreadsheets. By manipulating the underlying XML structure of office files, the framework replaces placeholders within pre-designed templates with dynamic data, enabling the programmatic production of reports, invoices, and complex data-driven documents. The project distinguishes itself through a modular extension architecture that allows developers to integrate custom logic for handling images, charts, and specialized formatting. It supports advanced
This library enables dynamic document generation by merging JSON data into Microsoft Office templates, providing the core templating functionality required for automated reporting.
Docx-templates is a library designed for the programmatic generation of Word documents by merging dynamic data with predefined template files. It functions as a template engine that processes embedded instructions directly within the document structure to produce customized, data-driven output. The engine distinguishes itself by allowing the execution of arbitrary JavaScript expressions and custom data resolvers during the generation process. This enables complex conditional logic, iterative loops, and the dynamic injection of diverse content types, including images, HTML fragments, and raw X
This tool enables dynamic document generation by merging data into Microsoft Word templates, providing the core functionality required for template-based reporting despite its specific focus on the docx format.
Eleventy is a JavaScript-based static site generator designed to transform templates, data files, and markdown into optimized HTML. It functions as a versatile template rendering engine and content management framework, allowing developers to aggregate data from diverse sources—including local files, databases, and external APIs—to populate structured web content. The project is distinguished by its template-engine-agnostic pipeline, which decouples the build process from specific rendering languages. This allows users to integrate multiple template formats, such as Liquid, Nunjucks, Handleba
Eleventy is a versatile template rendering engine that supports multiple formats and dynamic data binding, making it a strong fit for generating content from templates even though it is primarily packaged as a static site generator.
Overview dotnet new Template Content Repositories How to author the templates Template Samples Contributing How to build, run & debug Trademarks
This tool provides the core engine for the .NET ecosystem's template-based project and file generation, allowing you to bind dynamic data to predefined templates via a CLI interface.
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
This is a JavaScript-based template engine that enables dynamic content generation by compiling templates into functions, though it is primarily focused on HTML output rather than general-purpose document generation.
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.
This is a JavaScript template engine that supports dynamic data binding and template inheritance, providing a robust solution for generating text or HTML output from data.
| Repository | Stars | Language | License | Last push |
|---|---|---|---|---|
| twitter/hogan.js | 5.1K | JavaScript | Apache-2.0 | |
| linkedin/dustjs | 2.9K | JavaScript | mit | |
| shopify/liquid | 11.8K | Ruby | MIT | |
| olado/dot | 5K | JavaScript | NOASSERTION | |
| janl/mustache.js | 16.7K | JavaScript | MIT | |
| wycats/handlebars.js | 18.7K | JavaScript | MIT | |
| slim-template/slim | 5.4K | Ruby | MIT | |
| handlebars-lang/handlebars.js | 18.6K | JavaScript | MIT | |
| relaxedjs/relaxed | 11.8K | JavaScript | ISC | |
| middleman/middleman | 7.1K | Ruby | MIT |