![]() |
VOOZH | about |
dotnet add package Didot.Core --version 0.33.17
NuGet\Install-Package Didot.Core -Version 0.33.17
<PackageReference Include="Didot.Core" Version="0.33.17" />
<PackageVersion Include="Didot.Core" Version="0.33.17" />Directory.Packages.props
<PackageReference Include="Didot.Core" />Project file
paket add Didot.Core --version 0.33.17
#r "nuget: Didot.Core, 0.33.17"
#:package Didot.Core@0.33.17
#addin nuget:?package=Didot.Core&version=0.33.17Install as a Cake Addin
#tool nuget:?package=Didot.Core&version=0.33.17Install as a Cake Tool
Transform your structured YAML, JSON, XML, CSV or FrontMatter data into beautiful, fully-customized HTML pages or plain text in seconds with Didot. This command-line tool seamlessly generates renders from data files using your preferred templates through Scriban, Handlebars, DotLiquid, Fluid, StringTemplate or SmartFormat. Whether you're building static sites, documentation, or reporting tools, Didot makes it easy to turn raw data into polished, web-ready content.
About | Installing | Quickstart
Social media: π website
π twitter badge
Releases: π GitHub releases
π nuget
π Docker Image Version
π GitHub Release Date
π licence badge
Dev. activity: π GitHub last commit
π Still maintained
π GitHub commit activity
Continuous integration builds: π Build status
π Tests
π CodeFactor
π codecov
Status: π stars badge
π Bugs badge
π Top language
A .NET global tool is a console application that you can install and run from any directory on your machine. Hereβs a guide on how to perform a global installation of a .NET tool:
Before installing a .NET global tool, you must have the .NET SDK installed on your machine. You can check if it's installed by running the following command in your terminal or Command Prompt:
dotnet --version
If .NET is not installed, download it from Microsoft's official website.
To install a .NET global tool, you use the dotnet tool install command. This command installs a tool for all users globally on your system.
dotnet tool install -g Didot-cli
-g: This flag tells the dotnet command to install the tool globally.
After installing the tool, you can verify that it's available globally by running it from any directory.
didot --version
This command will display the installed toolβs version if the installation was successful.
To update a globally installed .NET tool, use the dotnet tool update command:
dotnet tool update -g Didot-cli
Docker Installed: Ensure that Docker is installed and running on your system. You can download Docker from Docker's official site.
A pre-built Docker image is available on Docker Hub, you can pull it using the following command:
docker pull seddryck/didot:latest
Once you have the Docker image, you can run Didot using Docker in PowerShell.
<sub>CMD:</sub>
docker run --rm -v %cd%:/files didot -t <template-file> -s <source-file> -o <output-file>
<sub>PowerShell:</sub>
docker run --rm -v ${pwd}:/files didot -t <template-file> -s <source-file> -o <output-file>
--rm: Automatically removes the container after it finishes executing.-v ${pwd}:/files: Mounts the current directory (${pwd} in PowerShell or Bash, %cd% in CMD) to /files inside the Docker container, so Didot can access your local files.-t <template-file>: Specifies the path to the template file inside the /files directory.-s <source-file>: Specifies the path to the source file (YAML, JSON, or XML).-o <output-file>: Specifies the path to the output file that Didot will generate. If omitted, it will display the result on the host console../templates/template-01.hbs./data/data.jsondocker run --rm -v ${pwd}:/files didot -t /files/templates/template-01.hbs -s /files/data/data.json -o /files/output/output.txt
To update to the latest version of Didot, either pull the new Docker image
docker pull seddryck/didot:latest
.zip file containing the executable from the desired release.Example:
https://github.com/Seddryck/Didot/releases/latest/
.zip file and choose Extract All.C:\Program Files\Didot.Tip: Choose a path that is easy to remember and doesn't contain special characters.
To run the executable from any location in the command line, you need to add its folder to your system's PATH.
C:\Program Files\Didot.didot.exe) and hit Enter.Didot is a command-line tool designed for generating files based on templating. It supports YAML, JSON, and XML as source data formats and provides flexibility in templating through both Scriban, Liquid, Handlebars, StringTemplate and SmartFormat templates languages. With Didot, you can easily automate file generation by combining structured data from YAML, JSON, or XML files with customizable templates using Scriban or Liquid.
.yaml or .yml extension are parsed using a YAML source parser..json extension are parsed using a JSON source parser..xml extension are parsed using an XML source parser..csv extension are parsed using an CSV source parser. The CSV dialect can be described using the -P option (see below)..md extension are parsed using an YAML parser for the FrontMatter and the Markdown content is added in the entry content.Didot utilizes some templating engines, which allow for powerful and flexible templating.
.scriban extension are parsed using a Scriban template engine. Scriban is a lightweight and fast template engine with rich support for multiple output formats.
.liquid extension are parsed using a dotLiquid template engine. DotLiquid is a .NET port of the Liquid templating engine used by platforms like Shopify.
.hbs extension are parsed using a Handlebars template engine. Handlebars C# port of the popular JavaScript Handlebars templating engine.
.smart extension are parsed using a SmartFormat template engine. SmartFormat.Net is a A lightweight templating engine primarily used for string formatting.
.st and .stg extension are parsed using the StringTemplate engine. StringTemplate is a powerful template engine specifically designed to enforce strict separation of logic from presentation.
The command to run Didot is simply didot. When executing it, you need to provide three required arguments:
-t, --template (required): Specifies the path to the Scriban, Liquid, Handlebars, StringTemplate or SmartFormat template file.-s, --source: Specifies the path to the source data file, which can be in YAML, JSON, or XML format. If this argument is not provided, the data will be read from the console input. In such cases, the -r, --parser option becomes mandatory.-o, --output: Specifies the path to the output file where the generated content will be saved. If not provided, the output will be displayed directly in the console.Example:
didot -t template.scriban -s data.yaml -o page.html
In this example:
template.scriban is the Scriban template file.data.yaml is the source file containing the structured data in YAML format.page.html is the output file that will contain the generated content.-t--template-t path/to/template or --template=path/to/template-e--engine-e fluid or --engine=fluid-x--engine-extension-x txt:handlebars;liquid:fluid or --engine-extension=.txt:handlebars;liquid:fluid-s--source--StdIn-s path/to/source or --source=path/to/source or --source=foo:path/to/source1;bar:path/to/source1-r--parser--stdin is specified. When omitted Didot will select the parser based on the extension of the source file-r YAML or --parser=YAML-X--parser-extension-X txt:yaml;dat:json or --parser-extension=txt:yaml;dat:json-P--parser-parameter@).-P csv@delimiter=^;csv@commentChar=#-i--stdin--source and must specified to false when --source is not provided.-i or --stdin or --stdin false-o--output-o path/to/output or --output=path/to/outputdidot -t template.scriban -s data.yaml -o page.html
In this example:
template.scriban is the Scriban template file.data.yaml is the source file containing the structured data in YAML format.page.html is the output file that will contain the generated content.<sub>CMD:</sub>
type "data.json" | didot --stdin -t template.hbs -r json
<sub>PowerShell:</sub>
Get-Content data.json | didot --stdin -t template.hbs -r json
<sub>Bash:</sub>
cat data.json | didot --stdin -t template.hbs -r json
In this example:
template.hbs is the Handlebars template file.json is the parser of input data.Make sure that the template file and source file are correctly formatted and aligned with your data model to produce the desired result.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 net8.0 is compatible. net8.0-android net8.0-android was computed. net8.0-browser net8.0-browser was computed. net8.0-ios net8.0-ios was computed. net8.0-maccatalyst net8.0-maccatalyst was computed. net8.0-macos net8.0-macos was computed. net8.0-tvos net8.0-tvos was computed. net8.0-windows net8.0-windows was computed. net9.0 net9.0 is compatible. net9.0-android net9.0-android was computed. net9.0-browser net9.0-browser was computed. net9.0-ios net9.0-ios was computed. net9.0-maccatalyst net9.0-maccatalyst was computed. net9.0-macos net9.0-macos was computed. net9.0-tvos net9.0-tvos was computed. net9.0-windows net9.0-windows was computed. net10.0 net10.0 is compatible. net10.0-android net10.0-android was computed. net10.0-browser net10.0-browser was computed. net10.0-ios net10.0-ios was computed. net10.0-maccatalyst net10.0-maccatalyst was computed. net10.0-macos net10.0-macos was computed. net10.0-tvos net10.0-tvos was computed. net10.0-windows net10.0-windows was computed. |
Showing the top 2 NuGet packages that depend on Didot.Core:
| Package | Downloads |
|---|---|
|
DubUrl
DubUrl provides a standardized URL-style mechanism for providing database connection information and opening a DbConnection in the .NET ecosystem |
|
|
DubUrl.Schema
DubUrl provides a standardized URL-style mechanism for providing database connection information and opening a DbConnection in the .NET ecosystem |
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.33.17 | 43 | 6/17/2026 |
| 0.33.16 | 61 | 6/16/2026 |
| 0.33.13 | 79 | 6/12/2026 |
| 0.33.12 | 86 | 6/12/2026 |
| 0.33.11 | 92 | 6/12/2026 |
| 0.33.9 | 99 | 6/12/2026 |
| 0.33.8 | 92 | 6/9/2026 |
| 0.33.6 | 92 | 5/15/2026 |
| 0.33.3 | 97 | 5/15/2026 |
| 0.33.2 | 98 | 5/15/2026 |
| 0.33.1 | 94 | 5/15/2026 |
| 0.33.0 | 99 | 5/15/2026 |
| 0.32.43 | 94 | 5/15/2026 |
| 0.32.42 | 93 | 5/14/2026 |
| 0.32.39 | 96 | 5/14/2026 |
| 0.32.38 | 101 | 5/14/2026 |
| 0.32.36 | 200 | 12/29/2025 |
| 0.32.35 | 239 | 12/14/2025 |
| 0.32.34 | 373 | 11/13/2025 |
| 0.32.32 | 367 | 11/12/2025 |