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

Entdecke die besten Open-Source-Repositories mit KI-gestützter Suche.

EntdeckenKuratierte SuchenOpen-Source-AlternativenSelf-hosted SoftwareBlogSitemap
ProjektÜber unsRanking-MethodikPresseMCP-Server
RechtlichesDatenschutzAGB
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
lunet-io avatar

lunet-io/scriban

0
View on GitHub↗
3,905 Stars·405 Forks·C#·BSD-2-Clause·8 Aufrufescriban.github.io↗

Scriban

Scriban ist eine .NET-Text-Templating-Engine und eine eingebettete Skriptsprache zur dynamischen Textgenerierung. Sie fungiert als Tool zur Manipulation abstrakter Syntaxbäume und als Template-Parser, der die Umwandlung von Skripten in visitierbare Bäume zur Analyse, Modifikation und zum Rendering ermöglicht.

Die Engine ist speziell auf Native-AOT-Kompatibilität ausgelegt und nutzt eine reflection-freie API, um Templates in getrimmten Umgebungen auszuführen. Sie bietet zudem einen dedizierten Parser und Konvertierungssystem für Liquid-Templates, was die Migration und Ausführung von Liquid-Skripten innerhalb von .NET ermöglicht.

Das Projekt deckt ein breites Spektrum an Funktionen ab, einschließlich sandboxed Code-Ausführung für sicheres Skript-Running und ein pipe-basiertes System zur Datentransformation. Es enthält umfassende Utilities zur Manipulation von Strings, Arrays, Datumsangaben und mathematischen Operationen, neben Unterstützung für JSON-Datenkonvertierung und reguläre Ausdrücke.

Entwickler können die Engine durch benutzerdefinierte Funktionsbindungen, Objektintegration und anpassbares Member-Name-Mapping erweitern.

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.

Star-Verlauf

Star-Verlauf für lunet-io/scribanStar-Verlauf für lunet-io/scriban

KI-Suche

Entdecke weitere awesome Repositories

Beschreibe in einfachen Worten, was du brauchst — die KI bewertet tausende kuratierte Open-Source-Projekte nach Relevanz.

Start searching with AI

Open-Source-Alternativen zu Scriban

Ähnliche Open-Source-Projekte, sortiert nach der Anzahl der gemeinsamen Funktionen mit Scriban.
  • scriban/scribanAvatar von scriban

    scriban/scriban

    3,905Auf GitHub ansehen↗

    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
    Auf GitHub ansehen↗3,905
  • rhaiscript/rhaiAvatar von rhaiscript

    rhaiscript/rhai

    5,453Auf GitHub ansehen↗

    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
    Auf GitHub ansehen↗5,453
  • mouredev/hello-javaAvatar von mouredev

    mouredev/hello-java

    4,304Auf GitHub ansehen↗

    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
    Auf GitHub ansehen↗4,304
  • shopify/liquidAvatar von Shopify

    Shopify/liquid

    11,811Auf GitHub ansehen↗

    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
    Auf GitHub ansehen↗11,811
Alle 30 Alternativen zu Scriban anzeigen→

Häufig gestellte Fragen

Was macht lunet-io/scriban?

Scriban ist eine .NET-Text-Templating-Engine und eine eingebettete Skriptsprache zur dynamischen Textgenerierung. Sie fungiert als Tool zur Manipulation abstrakter Syntaxbäume und als Template-Parser, der die Umwandlung von Skripten in visitierbare Bäume zur Analyse, Modifikation und zum Rendering ermöglicht.

Was sind die Hauptfunktionen von lunet-io/scriban?

Die Hauptfunktionen von lunet-io/scriban sind: Dynamic Text Generation, AOT-Compatible Libraries, Dynamic Script Execution, Template Rendering Engines, Collection Iteration, Data Transformation Filters, Data Transformation Functions, AST to Source Conversion.

Welche Open-Source-Alternativen gibt es zu lunet-io/scriban?

Open-Source-Alternativen zu lunet-io/scriban sind unter anderem: 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…