Skip to content

Commit

Permalink
More updates to the ReadMe. Make it more readable.
Browse files Browse the repository at this point in the history
  • Loading branch information
Your Name committed Jul 2, 2018
1 parent bda4100 commit 68c8bef
Showing 1 changed file with 13 additions and 8 deletions.
21 changes: 13 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@

This is a collection of Plaster templates. In other words a plethora of Plaster templates. For your convenience and ease of use. I started this project as I was in need of a good way to share Plaster templates. Looking at the issue discussion in the Plaster project (e.g. https://github.com/PowerShell/Plaster/issues/224 or https://github.com/PowerShell/Plaster/issues/213 and there are more) I also thought that this is a general need of the PowerShell community. So here we are.

__Plaster__
__Plaster__:
Plaster is a scaffolding engine for PowerShell related projects. Like [yeoman][<http://yeoman.io/>] is for WebApps. It helps you define, via a manifest file, the structure, the included tools and so forth. Of a module to be generated with Plaster. This makes it easy to generated e.g. a new PowerShell module when you are in need of that. At the same time you don't "forget" to include logging or a specific structure of a project. You thereby indirectly free brain capacity to think about the real work at hand instead of navigating the standard details of creating 'x' coding project.

__Hopes__
__Hopes__:
I hope to kickstart a way to share Plaster templates in the PowerShell community. Doing it here on GitHub might certainly not be the perfect way. But, it is a start. I hope that as time goes by. More people will join the project. Add templates. And that we together can find a good way of sharing Plaster templates.

## Getting started with the templates
Expand All @@ -26,24 +26,28 @@ I hope to kickstart a way to share Plaster templates in the PowerShell community

The naming of a template follows this "convention" > [LANGUAGE-ProjectType+Tooling]. To which there is three parts.

- LANGUAGE = the main programming language which the generated project will be based on.
- `-` = a delimiter. Delimiting the `LANGUAGE` part and the `ProjectType` part.
- ProjectType = The type of project represented by the template. E.g. if the project is an `advanced PowerShell project` the type could be = AdvModule AKA an advanced module.
- `+` = a delimiter. Delimiting the `ProjectType` part and the `Tooling` parts of the naming convention.
- Tooling = a `+` character delimited list of tools being used in the template. E.g. `PS-AdvModule+Pester` is a template generating a advanced PowerShell module which utilizes Pester.
- LANGUAGE = the main programming language which the generated project will be based on.
- `-` = a delimiter. Delimiting the `LANGUAGE` part and the `ProjectType` part.
- ProjectType = The type of project represented by the template. E.g. if the project is an `advanced PowerShell project` the type could be = AdvModule AKA an advanced module.
- `+` = a delimiter. Delimiting the `ProjectType` part and the `Tooling` parts of the naming convention.
- Tooling = a `+` character delimited list of tools being used in the template. E.g. `PS-AdvModule+Pester` is a template generating a advanced PowerShell module which utilizes Pester.

### Folders

__Required structure__
__Required structure__:

```txt
"TEMPLATE_NAME" > The root folder
└───content > The folder containing the actual contents of the template
├───"SUB_FOLDER"
│ └───"SUB_SUB_FOLDER"
├───"SUB_FOLDER"
|───PlasterManifest.xml > the Plaster template manifest file. This is the file in which you define the specifics of the project to be generated.
```

Here is a good example of what could be the structure of a Plaster template.

```txt
PS-AdvModule+Pester > The root folder
└───content > The folder containing the actual contents of the template
├───docs
Expand All @@ -59,6 +63,7 @@ PS-AdvModule+Pester > The root folder
├───logging
├───Pester_Tests
└───PSScriptAnalyzer
```

## Various

Expand Down

0 comments on commit 68c8bef

Please sign in to comment.