Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Plaster - Past, Present, and Future #366

Closed
jdhitsolutions opened this issue Feb 26, 2021 · 2 comments
Closed

Plaster - Past, Present, and Future #366

jdhitsolutions opened this issue Feb 26, 2021 · 2 comments
Assignees

Comments

@jdhitsolutions
Copy link
Contributor

jdhitsolutions commented Feb 26, 2021

Now that the Plaster module has a new home, we want to let everyone know where we are headed. First, this module has not been abandoned, although it certainly hasn't gotten much love lately. Here is what we are planning.

  • First, our goal is to bring the module up-to-date and fully compatible with Windows PowerShell 5.1 and PowerShell 7.x.
  • Next, expect to see many issues closed. There are issues going back 5 years that are most likely stale and should have been handled a long time ago. We will make notes of comments from these issues that are still relevant today.
  • Existing pull requests will be looked at, but we may not accept anything until our design review is complete. Please do not submit new pull requests at this time.
  • Finally, we want to look at this project with fresh eyes. It is possible that there will be significant design changes, if we feel they are warranted to meet our primary goal.

We intend to open up the Discussion section of this repository. Issues should be for bug and problem reporting.

@jasonchester
Copy link

jasonchester commented Mar 1, 2021

If there is an opportunity to reimagine Plaster, this might be a good time to consider if it needs its own template language or if it would be better to leverage an existing template engine. Generating text files with templates is a solved problem. Plaster can leverage an existing templating engine to reduce the footprint of the plaster code base as well as the documentation overhead.

Leveraging an existing template language would even come with the benefit of syntax hilighting plugins for vs code with no additional work.

With all the great templating tools available, it might even be worth considering support for more than one language especially if there was a desire to preserve compatibility with the existing plaster templating language.

T4

T4 would be an option as it is meant for generating code type files, technically it is a part of the visual studio SDK but mono has a port.

Razor Syntax

Razor Syntax is originally used in asp.net MVC but there are projects which have liberated it.

dotnet new

dotnet new has a template engine which would also be an option, this also has a defined the interface for prompting the parameters from the user

Liquid & Other Text-Template Engines

Liquid is a popular templating language for web developers and there are a number of C# projects which implement the spec.

@jdhitsolutions
Copy link
Contributor Author

This is good information which I will move to Discussions. You are right that now is the time to revisit the overall strategy

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants