TravisEz13 / Poshstache

Mustache Powershell implementation

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Poshstache PowerShell module

Build status Test Coverage Poshstache License: MIT

Module Poshstache is a Powershell implementation of Mustache. Mustache is logic-less templates. The module support both PowerShell Core and Windows PowerShell.

Version 0.1.2 of the module is based on the Nustache, a .NET Mustache implementation. Newer versions implement Nustache Stubble for both Windows PowerShell and PowerShell Core versions.

Usage

Simple example with an input string and parameters:

Install-Module Poshstache
ConvertTo-PoshstacheTemplate -InputString "Hi {{name}}!" -ParametersObject "{name:'bob'}"

Applying a JSON config to a template file:

$jsonConfig = @"
{
key1: 'setting1',
key2: 'C:\\Logs\\'
}
"@
ConvertTo-PoshstacheTemplate -InputFile "C:\Templates\template.config" -ParametersObject $jsonConfig

Applying parameters from a JSON file to a template file:

$jsonConfigFile = "C:\Settings\config.json"
$jsonConfig = Get-Content $jsonConfigFile | Out-String
ConvertTo-PoshstacheTemplate -InputFile "C:\Templates\template.config" -ParametersObject $jsonConfig

Applying parameters from a JSON file to a template file and saving to a new output file in UTF8:

$jsonConfigFile = "C:\Settings\config.json"
$jsonConfig = Get-Content $jsonConfigFile | Out-String
ConvertTo-PoshstacheTemplate -InputFile "C:\Templates\template.config" -ParametersObject $jsonConfig | Out-File "C:\WebSite\Web.config" -Force -Encoding "UTF8"

About Mustache

Release note

v 0.1.10 - add -HashTable parameter
v 0.1.9 - add -ValidJSON parameter
v 0.1.8 - Windows PowerShell migrate to stubble
v 0.1.7 - Update stubble and add missing dependencies
v 0.1.6 - Support complex input object
v 0.1.5 - Add support for PowerShell Core
v 0.1.4 - Rollback to Nustache; will create a new module for Stubble
v 0.1.3 - Replace Nustache with Stubble
v 0.1.2 - Bugfix
v 0.1.1 - Add Pester tests
v 0.1.0 - First release \

About

Mustache Powershell implementation

License:MIT License


Languages

Language:PowerShell 98.1%Language:HTML 1.0%Language:JavaScript 0.5%Language:Dockerfile 0.5%