https://github.com/jupre003/mbsoftlab.templateengine.core
String TemplateEngine for .netCore
https://github.com/jupre003/mbsoftlab.templateengine.core
csharp netcore string-manipulation stringtemplate templateengine
Last synced: 29 days ago
JSON representation
String TemplateEngine for .netCore
- Host: GitHub
- URL: https://github.com/jupre003/mbsoftlab.templateengine.core
- Owner: jupre003
- License: mit
- Created: 2020-12-05T20:17:28.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2025-12-06T16:11:44.000Z (4 months ago)
- Last Synced: 2026-01-14T07:44:03.120Z (3 months ago)
- Topics: csharp, netcore, string-manipulation, stringtemplate, templateengine
- Language: C#
- Homepage:
- Size: 155 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# MbSoftLab.TemplateEngine.Core
[](https://github.com/mbsoftlab/MbSoftLab.TemplateEngine.Core/actions)
[](https://github.com/mbsoftlab/MbSoftLab.TemplateEngine.Core/actions)
[](https://github.com/mbsoftlab/MbSoftLab.TemplateEngine.Core/actions)
[](https://www.codefactor.io/repository/github/mbsoftlab/mbsoftlab.templateengine.core)
[](https://www.nuget.org/packages/MbSoftLab.TemplateEngine.Core/)
[](LICENSE)
> Eine leistungsstarke und flexible Template-Engine für .NET 8.0 mit Unterstützung für einfache String-Templates und komplexe Razor-Templates.
---
## 🚀 Schnellstart
### Installation
```bash
dotnet add package MbSoftLab.TemplateEngine.Core
```
### Einfaches Beispiel
```csharp
using MbSoftLab.TemplateEngine.Core;
var person = new { FirstName = "Max", LastName = "Mustermann" };
var engine = new TemplateEngine(person, "Hallo ${FirstName} ${LastName}!");
string result = engine.CreateStringFromTemplate();
// Output: "Hallo Max Mustermann!"
```
### Razor-Template-Beispiel (optional)
Installieren Sie zusätzlich das optionale Paket:
```bash
dotnet add package MbSoftLab.TemplateEngine.Core.Razor
```
```csharp
public class Person : TemplateDataModel
{
public string FirstName { get; set; }
public List Tags { get; set; }
}
var person = new Person {
FirstName = "Anna",
Tags = new List { "Developer", "Designer" }
};
// Razor steht erst nach Installation von MbSoftLab.TemplateEngine.Core.Razor zur Verfügung
var engine = new RazorTemplateEngine();
engine.TemplateString = @"
@Model.FirstName
- @tag
@foreach(var tag in Model.Tags) {
}
string html = engine.CreateStringFromTemplate(person);
```
---
## ✨ Features
### Zwei leistungsstarke Engines
- **TemplateEngine** - Schnell und einfach für String-basierte Templates
- Property-Platzhalter: `${PropertyName}`
- Methoden-Aufrufe: `${MethodName()}`
- Anpassbare Delimiters
- Kultur-spezifische Formatierung
- **RazorTemplateEngine** - Flexibel für komplexe HTML-Templates
- Volle Razor-Syntax
- Listen und Collections
- Bedingungen und Schleifen
- Verschachtelte Objekte
### Unterstützte Datentypen
✅ String, Byte, Short, Int, Long, Decimal, Double, DateTime, Boolean
❌ Collections (nur mit RazorTemplateEngine)
---
## 📚 Dokumentation
**Vollständige Dokumentation verfügbar unter [`/docs`](/docs):**
| Dokument | Beschreibung |
|----------|--------------|
| [📖 Übersicht](/docs/README.md) | Dokumentations-Einstieg |
| [🏗️ Architektur](/docs/architecture.md) | System-Design und Komponenten |
| [📋 API-Referenz](/docs/api.md) | Vollständige API-Dokumentation |
| [💡 Beispiele](/docs/examples.md) | 16+ praktische Code-Beispiele |
| [👨💻 Entwickler-Leitfaden](/docs/development.md) | Contribution Guidelines |
| [📝 CHANGELOG](/CHANGELOG.md) | Versions-Historie |
| [🎉 Release Notes](/RELEASENOTES.md) | Aktuelle Version 1.0.8-preview2 |
---
## 💡 Verwendungsbeispiele
### Template aus Datei laden
```csharp
var engine = new TemplateEngine(customer);
engine.LoadTemplateFromFile("email-template.txt");
string email = engine.CreateStringFromTemplate();
```
### JSON-Daten verwenden
```csharp
string jsonData = "{\"Name\":\"Lisa\",\"Email\":\"lisa@example.com\"}";
var engine = new TemplateEngine();
engine.TemplateString = "Kunde: ${Name}, E-Mail: ${Email}";
string result = engine.CreateStringFromTemplateWithJson(jsonData);
```
### Custom Delimiters
```csharp
var engine = new TemplateEngine(person, "[[FirstName]] [[LastName]]");
engine.OpeningDelimiter = "[[";
engine.CloseingDelimiter = "]]";
```
### NULL-Werte behandeln
```csharp
var engine = new TemplateEngine(customer, "${Email}");
engine.NullStringValue = "Keine Angabe";
```
Weitere Beispiele und Tutorials finden Sie in der [Beispiele-Dokumentation](/docs/examples.md).
---
## 🔧 Hauptfunktionen
### TemplateEngine
| Feature | Beschreibung |
|---------|--------------|
| Property-Binding | `${PropertyName}` für einfache Werte |
| Methoden-Aufrufe | `${MethodName()}` für parameterlose Methoden |
| Custom Delimiters | Anpassbare Start-/End-Zeichen |
| NULL-Behandlung | Konfigurierbarer NULL-String |
| Formatierung | Kultur-spezifisch (CultureInfo) |
| JSON-Support | Direkte Deserialisierung |
| File-Loading | Templates aus Dateien laden |
### RazorTemplateEngine
| Feature | Beschreibung |
|---------|--------------|
| Razor-Syntax | Volle C#-Unterstützung in Templates |
| Collections | Listen, Arrays, IEnumerable |
| Kontrollstrukturen | `@if`, `@foreach`, `@for`, `@switch` |
| Verschachtelung | Komplexe Objekthierarchien |
| Type-Safety | Generische Typisierung |
---
## 📦 NuGet Package
```bash
# .NET CLI
dotnet add package MbSoftLab.TemplateEngine.Core
# Package Manager
Install-Package MbSoftLab.TemplateEngine.Core
# PackageReference
```
**NuGet Gallery:** https://www.nuget.org/packages/MbSoftLab.TemplateEngine.Core/
---
## 🤝 Contributing
Wir freuen uns über Beiträge! Bitte lesen Sie unseren [Entwickler-Leitfaden](/docs/development.md) für:
- Entwicklungsumgebung einrichten
- Code-Konventionen
- Branch-Strategie
- Pull Request Prozess
---
## 📄 Lizenz
Dieses Projekt ist unter der [MIT-Lizenz](LICENSE) lizenziert.
Copyright © 2021 MbSoftLab
---
## 🔗 Links
- **GitHub Repository:** https://github.com/mbsoftlab/MbSoftLab.TemplateEngine.Core
- **Issues/Feedback:** https://github.com/mbsoftlab/MbSoftLab.TemplateEngine.Core/issues
- **NuGet Package:** https://www.nuget.org/packages/MbSoftLab.TemplateEngine.Core/
---
## 🆕 Version 1.0.8-preview2
**Highlights:**
- ✨ RazorTemplateEngine für komplexe HTML-Templates
- ✨ Erweiterte Methoden-Aufrufe in Templates
- 🔧 Verbesserter Build- und Release-Prozess
- 📚 Umfassende deutsche Dokumentation
Siehe [Release Notes](/RELEASENOTES.md) für Details.
---
Built with ❤️ by MbSoftLab