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.
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"
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 \