Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/baldator/Poshstache
Mustache Powershell implementation
https://github.com/baldator/Poshstache
Last synced: 3 months ago
JSON representation
Mustache Powershell implementation
- Host: GitHub
- URL: https://github.com/baldator/Poshstache
- Owner: baldator
- License: mit
- Created: 2017-07-29T13:48:53.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2021-05-11T18:21:26.000Z (over 3 years ago)
- Last Synced: 2024-05-11T04:34:41.791Z (6 months ago)
- Language: PowerShell
- Size: 712 KB
- Stars: 34
- Watchers: 4
- Forks: 4
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
- jimsghstars - baldator/Poshstache - Mustache Powershell implementation (PowerShell)
README
# Poshstache PowerShell module
[![Build status](https://ci.appveyor.com/api/projects/status/gbqt5h9mat4124vr?svg=true)](https://ci.appveyor.com/project/baldator/poshstache)
![Test Coverage](https://img.shields.io/badge/coverage-84%25-yellow.svg?maxAge=60)
[![Poshstache](https://img.shields.io/powershellgallery/v/Poshstache.svg?style=flat-square&label=Poshstache)](https://www.powershellgallery.com/packages/Poshstache/)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/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](https://github.com/jdiamond/Nustache).
Newer versions implement Nustache [Stubble](https://github.com/StubbleOrg/Stubble) for both Windows PowerShell and PowerShell Core versions.## Usage
Simple example with an input string and parameters:
```Powershell
Install-Module Poshstache
ConvertTo-PoshstacheTemplate -InputString "Hi {{name}}!" -ParametersObject "{name:'bob'}"
```Applying a JSON config to a template file:
```Powershell
$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:
```Powershell
$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:
```Powershell
$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
* [Mustache webpage](https://mustache.github.io/)
* [Mustache demo](https://mustache.github.io/#demo)
* [Mustache syntax reference](https://mustache.github.io/mustache.5.html)## 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 \