GitHub - andymacxx/Mortar · GitHub
Skip to content
andymacxxPublic
forked from JustinGrote/Mortar

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

 
 

Repository files navigation

Mortar

A templating engine for Powershell leveraging the dotnet templating engine, inspired by Plaster.

Objectives and Guiding Principles

  1. Don't reinvent the wheel, templating has been done by dotnet and is mature, long term supported, and stable.
  2. Make interaction with the dotnet templating engine as comfortable for a casual Powershell user who has little to no .NET knowledge as possible.
  3. Friendly functions to consume templates in .nupkg format from the Powershell Gallery (and potentially nuget.org). Align with PSGet 3.0 as much as possible for methodology.

Non-Goals

  1. Adding extensive advanced templating functionality above and beyond what the dotnet templating engine offers. This is basically a transpiler to template.json. See Pulumi and Bicep for inspiration.

First Release Deliverables

  1. Install dotnet templates from a local directry
  2. Discover and install mechanism for templates on the PowerShell gallery
  3. Deploy/Apply templates via New-MortarProject

Future

  1. Support template.yaml transparently
  2. Custom template provider at the template .NET level rather than using PS
  3. DSL maybe? Worth the effort over existing json tooling? Probably not
  4. Plaster "Shim" so that Mortar can maybe be used with the vscode plaster deployment. Alternatively, just make a new action for mortar templates using same flow as C# extension
  5. PSD1 to template.json transpiler, probably not worth it, most PS people are comfortable with json these days.
  6. There is a JSON schema for the templating engine (https://json.schemastore.org/template), use QuickType to generate C# classes to build/validate a config maybe?
  7. Wrap the quicktype generator with powershell functions that would be familiar to someone who has used new-modulemanifest.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages