awesome-repositories.com
Blog
awesome-repositories.com

Descoperă cele mai bune repository-uri open source cu căutare AI.

ExploreazăCăutări recomandateAlternative open-sourceSoftware self-hostedBlogHartă site
ProiectDespreCum realizăm clasamentulPresăServer MCP
LegalConfidențialitateTermeni
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
scriban avatar

scriban/scriban

0
View on GitHub↗
3,905 stele·405 fork-uri·C#·BSD-2-Clause·4 vizualizăriscriban.github.io↗

Scriban

Scriban este o bibliotecă de șabloane text și un motor de scripting .NET utilizat pentru generarea dinamică de text. Funcționează ca un procesor de șabloane și un sandbox de scripting sigur, oferind un mediu de execuție securizat care restricționează expunerea obiectelor pentru a preveni execuția neautorizată de cod. Proiectul include, de asemenea, un parser de șabloane cu arbore sintactic abstract (AST) care permite analiza și modificarea programatică a șabloanelor.

Motorul dispune de un motor de șabloane Liquid dedicat și mod de compatibilitate, permițându-i să parseze, execute și convertească șabloane scrise în sintaxa Liquid. Se distinge printr-un sistem de filtrare a expunerii membrilor care permite dezvoltatorilor să redenumească, ascundă sau filtreze proprietățile obiectelor pentru a controla modul în care datele sunt accesate în șabloane.

Biblioteca acoperă o gamă largă de capabilități, inclusiv randarea asincronă a șabloanelor, logica condiționată și iterarea colecțiilor. Oferă utilitare integrate pentru manipularea datelor, cum ar fi operațiuni matematice, conversie JSON, aritmetică de dată și oră și procesare extinsă de text folosind expresii regulate. Dezvoltatorii pot extinde motorul prin definirea de funcții personalizate și integrarea claselor externe.

Proiectul oferă o suprafață API sigură pentru a susține publicarea ca binar nativ prin Native AOT.

Features

  • Dynamic Text Generation - Uses a .NET scripting engine to produce flexible text output based on data and custom logic.
  • .NET Scripting Engines - Implements a lightweight scripting engine for executing custom logic and dynamic expressions within .NET applications.
  • Template Rendering Engines - Evaluates compiled templates against data contexts to produce final dynamic text output.
  • Template - Converts source text into a visitable abstract syntax tree for programmatic template analysis and modification.
  • Runtime Member Visibility Filtering - Uses boolean rules to determine which public instance fields and properties are visible to the template engine.
  • Template AST Analysis - Converts text templates into abstract syntax trees for programmatic analysis and modification.
  • AST-Based Template Parsing - Converts template source text into a visitable abstract syntax tree for programmatic analysis and round-trip text generation.
  • Embedded Scripting Logic - Runs scripts containing variables and blocks to manipulate data and control text flow.
  • Function Definitions - Enables the creation of anonymous or parametric functions to encapsulate reusable logic and computations within templates.
  • Text Templating Engines - Renders text templates using conditional logic, loops, and data-binding expressions.
  • Execution Sandboxes - Provides a secure execution environment that restricts object exposure to prevent unauthorized code execution.
  • Object Exposure Controls - Limits access to host objects using sanitized data structures to prevent unauthorized code execution within the sandbox.
  • Scripting Sandboxes - Provides a secure execution environment that restricts host system access via whitelists to prevent unauthorized code execution.
  • Runtime Access Controls - Controls which properties and methods are accessible within the sandbox for safe evaluation.
  • Liquid - Evaluates templates written in legacy Liquid syntax to support migration without requiring manual rewriting.
  • Text Template Rendering - Processes templates with logic and expressions to produce dynamic text output.
  • Template Logic Customization - Extends the engine with proprietary functions and filtered object exposure to control rendering.
  • Data Manipulation - Transforms strings, arrays, and dates using built-in functions for data processing.
  • Collection Iteration - Loops through arrays or numeric ranges using for and while statements within templates.
  • Structured Data Manipulation - Creates and modifies objects and arrays using dot notation and zero-based indexing.
  • JSON Serializers - Serializes objects to JSON format and transforms JSON strings back into objects.
  • AST to Source Conversion - Generates a textual representation from a syntax tree while preserving or removing whitespace.
  • External Class Bindings - Integrates external classes and delegates to extend the functional capabilities of the template engine.
  • AOT-Compatible Libraries - Provides a restricted API surface that avoids dynamic reflection to enable publishing as a native binary via Native AOT.
  • AOT-Compatible Rendering - Provides a safe API surface that avoids runtime reflection to support native ahead-of-time compilation.
  • Template Extensions - Expands available template capabilities by adding custom logic and functions to the execution context.
  • Conditional Logic - Controls execution flow using boolean comparisons, if-else statements, and switch blocks.
  • Data Type Manipulators - Processes strings, arrays, dates, and numbers using built-in functions for calculations.
  • Runtime Template Expressions - Executes custom logic within templates using code blocks and expression statements.
  • Expression Piping - Implements a pipe operator that passes the output of one expression directly into another for sequential data transformations.
  • Multi-Syntax Parsing Support - Parses scripts using different language specifications to enable migration and compatibility between formats.
  • Object Reflection Utilities - Retrieves keys, values, and types from data objects to determine their structure.
  • Script Variable Management - Stores and retrieves data using global and local variables to pass information through scripts.
  • Scripting Environment Extensions - Binds external functions and objects into the execution environment to add specialized capabilities.
  • Scoped Execution Contexts - Resolves variables against a specific object using scoped blocks to change the current execution context.
  • General Array Operations - Provides functions for sorting, reversing, and joining array elements within templates.
  • Arithmetic Operations - Performs basic arithmetic, rounding, and random number generation.
  • Abstract Syntax Tree Parsing - Converts source text into a visitable abstract syntax tree for programmatic analysis and modification.
  • Asynchronous Execution Models - Implements non-blocking operations during template processing to maintain responsiveness during high-latency data fetches.
  • Dynamic Expression Evaluators - Evaluates runtime expressions by resolving variables and components to produce dynamic output.
  • Template Control Flow - Executes loops and conditional logic to dynamically determine which content to render.
  • Template Value Piping - Manipulates template values using built-in operations chained through a pipe operator.
  • Compatibility Mode Parsing - Supports interchangeable parsing modes to maintain compatibility with legacy scripts and different language specifications.
  • Asynchronous Template Rendering - Processes templates using non-blocking operations to maintain stability during heavy concurrent traffic.
  • Script Conversions - Provides a dedicated conversion tool to transform scripts from Liquid format to Scriban syntax.

Istoric stele

Graficul istoricului de stele pentru scriban/scribanGraficul istoricului de stele pentru scriban/scriban

Căutare AI

Explorează mai multe repository-uri excelente

Descrie ce ai nevoie în limbaj simplu — AI-ul sortează mii de proiecte open source selectate în funcție de relevanță.

Start searching with AI

Alternative open-source pentru Scriban

Proiecte open-source similare, clasificate după numărul de funcționalități comune cu Scriban.
  • lunet-io/scribanAvatar lunet-io

    lunet-io/scriban

    3,905Vezi pe GitHub↗

    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

    C#
    Vezi pe GitHub↗3,905
  • mouredev/hello-javaAvatar mouredev

    mouredev/hello-java

    4,304Vezi pe 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
    Vezi pe GitHub↗4,304
  • gopl-zh/gopl-zh.github.comAvatar gopl-zh

    gopl-zh/gopl-zh.github.com

    4,958Vezi pe GitHub↗

    This project is a Chinese translation of a comprehensive guide to the Go programming language. It serves as a localized educational resource and technical manual designed to provide guidance on language syntax, design, and software development. The resource covers a broad range of Go language education, including the implementation of programming patterns and system design. It includes translated lessons and examples that focus on core language features such as concurrency and the use of interfaces. The content spans various capability areas, including language fundamentals, data modeling, r

    Goprogramming-language
    Vezi pe GitHub↗4,958
  • rhaiscript/rhaiAvatar rhaiscript

    rhaiscript/rhai

    5,453Vezi pe 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
    Vezi pe GitHub↗5,453
Vezi toate cele 30 alternative pentru Scriban→

Întrebări frecvente

Ce face scriban/scriban?

Scriban este o bibliotecă de șabloane text și un motor de scripting .NET utilizat pentru generarea dinamică de text. Funcționează ca un procesor de șabloane și un sandbox de scripting sigur, oferind un mediu de execuție securizat care restricționează expunerea obiectelor pentru a preveni execuția neautorizată de cod. Proiectul include, de asemenea, un parser de șabloane cu arbore sintactic abstract (AST) care permite analiza și modificarea programatică a șabloanelor.

Care sunt principalele funcționalități ale scriban/scriban?

Principalele funcționalități ale scriban/scriban sunt: Dynamic Text Generation, .NET Scripting Engines, Template Rendering Engines, Template, Runtime Member Visibility Filtering, Template AST Analysis, AST-Based Template Parsing, Embedded Scripting Logic.

Care sunt câteva alternative open-source pentru scriban/scriban?

Alternativele open-source pentru scriban/scriban includ: lunet-io/scriban — Scriban is a .NET text templating engine and embedded scripting language used for dynamic text generation. It… mouredev/hello-java — This project is a collection of instructional resources and curriculum materials designed to teach the Java language.… 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… rhaiscript/rhai — Rhai is an embedded scripting engine and dynamically typed language designed for integration into Rust applications.… inkle/ink — Ink is an interactive narrative scripting language, a JSON narrative compiler, and a narrative engine runtime. It… janet-lang/janet — Janet is a Lisp-based dynamic programming language featuring a register-based bytecode virtual machine and an…