awesome-repositories.com
Blog
MCP
awesome-repositories.com

Descubre los mejores repositorios open-source con nuestra búsqueda potenciada por IA.

ExplorarBúsquedas curadasAlternativas open-sourceSoftware autohospedableBlogMapa del sitio
ProyectoAcerca deCómo clasificamosPrensaServidor MCP
Aviso legalPrivacidadTérminos
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
lunet-io avatar

lunet-io/scriban

0
View on GitHub↗
3,905 estrellas·405 forks·C#·BSD-2-Clause·8 vistasscriban.github.io↗

Scriban

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 covers a broad range of capabilities, including sandboxed code execution for secure script running and a pipe-based system for data transformation. It includes comprehensive utilities for manipulating strings, arrays, dates, and mathematical operations, alongside support for JSON data conversion and regular expressions.

Developers can extend the engine through custom function binding, object integration, and customizable member name mapping.

Features

  • Dynamic Text Generation - Generates dynamic text and documents by combining static content with variables, loops, and conditional logic.
  • AOT-Compatible Libraries - Provides a reflection-free API allowing templates to execute in trimmed environments for native AOT deployment.
  • Dynamic Script Execution - Evaluates expressions and statements at runtime to produce dynamic text output.
  • Template Rendering Engines - Evaluates templates against a provided context to produce a final string output.
  • Collection Iteration - Provides language constructs for looping through arrays or numeric ranges to generate repeated content.
  • Data Transformation Filters - Implements a pipe-based system of filters to transform data before the final template is rendered.
  • Data Transformation Functions - Applies built-in transformation functions via a pipe operator to modify strings, arrays, dates, and numbers.
  • AST to Source Conversion - Converts modified abstract syntax trees back into plain text strings while preserving original formatting.
  • AOT-Compatible Rendering - Offers a reflection-free API specifically designed for high-performance execution in Native AOT trimmed environments.
  • AST-Based Template Parsing - Provides a system for converting template strings into an abstract syntax tree for structural analysis and evaluation.
  • AST Manipulation Libraries - Parses scripts into a visitable abstract syntax tree (AST) for in-memory analysis and modification before rendering.
  • Conditional Branching - Implements conditional statements that alter program flow based on boolean expressions.
  • Context-Aware Variable Resolution - Implements hierarchical variable resolution to manage lookups across nested execution scopes.
  • Embedded Scripting Languages - Provides a lightweight, embedded scripting language for executing general purpose logic within .NET applications.
  • Execution Flow Control - Uses loops and conditional logic to dynamically generate content based on provided data.
  • Pipe-Based Evaluation - Features a pipe-based system for chaining data transformations within expressions.
  • Expression Piping - Implements a pipe-based system to chain the output of expressions into subsequent functions.
  • Function Definitions - Encapsulates reusable logic and computations using parametric or anonymous function definitions.
  • Sandboxed Code Execution Environments - Provides a restricted runtime environment to safely execute user-provided scripts without exposing sensitive system resources.
  • Text Templating Engines - Implements a full text templating engine for .NET using variables, loops, and conditional logic.
  • Variable and Constant Declarations - Declares and assigns variables to store and manipulate state during template execution.
  • Scripting Sandboxes - Provides a secure execution environment that restricts access to host system classes and methods.
  • Script - Controls which objects and functions are exposed to prevent unauthorized access to sensitive system resources.
  • Abstract Syntax Tree Parsing - Parses template strings into a structured abstract syntax tree for analysis and rendering.
  • AST Visitor Patterns - Employs the visitor design pattern to traverse the abstract syntax tree and generate final text output.
  • Custom Scripting Engines - Provides an embedded scripting environment for executing custom logic and data transformations within an application.
  • Text Template Rendering - Evaluates templates containing variables, loops, and conditionals to produce a final string output.
  • Array Manipulation Utilities - Provides built-in functions for filtering, transforming, sorting, and modifying element collections.
  • Structured Data Manipulation - Enables the creation and modification of structured data using JSON-like syntax and dot notation.
  • Date Manipulation Utilities - Includes utilities for calculating date offsets, performing comparisons, and retrieving timestamps.
  • JSON Serializers - Transforms JSON strings into script objects and serializes script objects back into JSON strings.
  • Variable Output Capture - Stores the rendered result of a block of statements into a variable for later use.
  • Date Formatting Utilities - Transforms date objects into customized text strings using format modifiers and culture settings.
  • Template Syntax Debugging - Analyzes template strings for errors and provides precise line and column numbers for debugging.
  • Dynamic Template Loading - Retrieves external template files or content during execution using a custom loader.
  • Template Delimiter Escaping - Prevents the engine from evaluating specific code or text blocks by using escape delimiters.
  • Template Functions - Expands built-in capabilities by adding custom functions and behaviors to the execution context.
  • Template Whitespace Control - Removes preceding or following whitespace and newlines using greedy or non-greedy modes.
  • External Object Integrations - Scriban allows connecting external application state and custom functions to the scripting engine using a runtime interface.
  • Object Mapping - Maps .NET object properties to script variables using runtime reflection and naming conventions.
  • Template Modularization - Includes external template files or joins multiple templates using separators and delimiters.
  • Arithmetic Operations - Performs numeric calculations using standard arithmetic, rounding, and random number generation.
  • Execution Sandboxes - Restricts script access to system resources by filtering exposed objects and methods in a sandbox.
  • Object Exposure Controls - Controls which objects and properties are visible to the scripting engine using an explicit exposure model.
  • Custom Scripting Functions - Allows external logic and delegates to be bound as functions within the scripting engine to extend its capabilities.
  • Liquid - Provides a dedicated parser and conversion system to execute Liquid markup language templates.
  • Script Conversions - Translates Liquid templates into a compatible internal scripting format using a dedicated conversion tool.
  • Template Engines - Fast text templating engine.

Historial de estrellas

Gráfico del historial de estrellas de lunet-io/scribanGráfico del historial de estrellas de lunet-io/scriban

Búsqueda con IA

Explora más repositorios increíbles

Describe lo que necesitas en lenguaje sencillo: la IA clasifica miles de proyectos open-source curados por relevancia.

Start searching with AI

Alternativas open-source a Scriban

Proyectos open-source similares, clasificados según cuántas características comparten con Scriban.
  • scriban/scribanAvatar de scriban

    scriban/scriban

    3,905Ver en GitHub↗

    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

    C#handlebarsliquidmustache
    Ver en GitHub↗3,905
  • rhaiscript/rhaiAvatar de rhaiscript

    rhaiscript/rhai

    5,453Ver en GitHub↗

    Rhai is an embedded scripting engine and dynamically typed language designed for integration into Rust applications. It functions as an abstract syntax tree compiler and native interop layer, allowing developers to map Rust types and functions into a scripting environment for bidirectional communication. The project serves as a framework for creating customizable domain-specific languages. It allows for the definition of custom operators, syntax, and restricted execution environments, enabling the creation of specialized languages with tailored functional sets. The engine covers a broad rang

    Rustembeddedembedded-scripting-languageno-std
    Ver en GitHub↗5,453
  • mouredev/hello-javaAvatar de mouredev

    mouredev/hello-java

    4,304Ver en GitHub↗

    This project is a collection of instructional resources and curriculum materials designed to teach the Java language. It provides a structured programming course, a fundamentals guide, and an object-oriented programming tutorial, supported by a series of practical coding exercises and implementation challenges. The curriculum focuses on implementing object-oriented patterns, including inheritance, polymorphism, and abstraction. It covers the creation of classes, the use of interfaces to define behavioral contracts, and the application of access modifiers to control data visibility. The educa

    Javacursojavapoo
    Ver en GitHub↗4,304
  • shopify/liquidAvatar de Shopify

    Shopify/liquid

    11,811Ver en GitHub↗

    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

    Ruby
    Ver en GitHub↗11,811
Ver las 30 alternativas a Scriban→

Preguntas frecuentes

¿Qué hace lunet-io/scriban?

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.

¿Cuáles son las características principales de lunet-io/scriban?

Las características principales de lunet-io/scriban son: Dynamic Text Generation, AOT-Compatible Libraries, Dynamic Script Execution, Template Rendering Engines, Collection Iteration, Data Transformation Filters, Data Transformation Functions, AST to Source Conversion.

¿Qué alternativas de código abierto existen para lunet-io/scriban?

Las alternativas de código abierto para lunet-io/scriban incluyen: scriban/scriban — Scriban is a text templating library and .NET scripting engine used for dynamic text generation. It functions as a… rhaiscript/rhai — Rhai is an embedded scripting engine and dynamically typed language designed for integration into Rust applications.… mouredev/hello-java — This project is a collection of instructional resources and curriculum materials designed to teach the Java language.… shopify/liquid — Liquid is a secure template engine and markup language used to generate dynamic HTML or text by combining static… gopl-zh/gopl-zh.github.com — This project is a Chinese translation of a comprehensive guide to the Go programming language. It serves as a… keats/tera — Tera is a server-side rendering engine and template engine for Rust. It is designed to generate dynamic text by…