Skip to content

Commit f24b944

Browse files
joeyaiellovors
authored andcommitted
clean up CONTRIBUTING.md (#258)
1 parent d48da3f commit f24b944

File tree

1 file changed

+38
-34
lines changed

1 file changed

+38
-34
lines changed

CONTRIBUTING.md

Lines changed: 38 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -8,50 +8,54 @@ git clone https://github.com/PowerShell/platyPS
88

99
There are two parts:
1010

11-
- .NET library `Markdown.MAML.dll` written in C#. It does heavy lifting, like parsing markdown, transforming it into xml and so on.
12-
You can open `.\Markdown.MAML.sln` in Visual Studio 2015.
13-
- PowerShell scripts in `.\src\platyPS`. They provide user interface.
11+
- `Markdown.MAML.dll`, a .NET library written in C#.
12+
It does the heavy lifting, like parsing Markdown, transforming it into XML, and so on.
13+
You can open `.\Markdown.MAML.sln` in Visual Studio 2015.
14+
- A PowerShell module in `.\src\platyPS`.
15+
This module provides the user CLI.
1416

1517
## First-time setup
1618

17-
Restore nuget packages.
18-
You can do it from visual studio, or from command line
19+
Restore NuGet packages.
20+
You can do this from Visual Studio, or from the command line.
1921

2022
```
2123
.\.nuget\NuGet.exe restore
2224
```
2325

2426
## Build
2527

26-
To build the whole project, use helper `build.ps1` script
28+
To build the whole project, use the `build.ps1` helper script.
2729

2830
```
2931
.\build.ps1
3032
```
31-
As part of build, module generate help for itself.
32-
The result of the build would be in `out\platyPS` folder.
33+
As part of the build, platyPS generates help for itself.
34+
The output of the build is placed in `out\platyPS`.
3335

34-
`build.ps1` also imports the module from `out\platyPS` and generates help for the tool itself.
36+
`build.ps1` also imports the module from `out\platyPS` and generates help itself.
3537

36-
**Note**: if you changed C# code, script will try to overwrite a dll in-use.
37-
You would need to re-open your powershell session. If you know a better workflow, please suggest it in the issues.
38+
**Note**: if you changed C# code, `build.ps1` will try to overwrite a DLL in use.
39+
You will then need to re-open your PowerShell session.
40+
If you know a better workflow, please suggest it in the Issues.
3841

3942
## Tests
4043

41-
There are two part of projects and two test sets.
44+
Each part of the project has a test set:
4245

43-
- C# part with xUnit tests. You can run them with XUnit runner from the visual studio.
44-
- PowerShell part with [Pester](https://github.com/pester/Pester) tests
46+
- The C# part has xUnit tests.
47+
You can run them with xUnit from Visual Studio.
48+
- The PowerShell part has [Pester](https://github.com/pester/Pester) tests.
49+
You can run them using:
50+
```
51+
Invoke-Pester
52+
```
4553

46-
```
47-
Invoke-Pester
48-
```
49-
50-
**Note**: Pester tests always force-import module from the output ___location of `.\build.ps1`.
54+
**Note**: Pester tests always force-import the module from the output ___location of `.\build.ps1`.
5155

5256
## Schema
5357

54-
If you have ideas or concerns about markdown schema feel free to open a GitHub issue to discuss it.
58+
If you have ideas or concerns about the Markdown schema, feel free to open a GitHub Issue to discuss it.
5559

5660
## Repo structure
5761

@@ -64,11 +68,12 @@ If you have ideas or concerns about markdown schema feel free to open a GitHub i
6468
## Data transformations
6569

6670
Data transformations are the core of platyPS.
67-
User has content in some form and she wants to transform it into another form.
68-
I.e. transform existing module help to markdown and use it in future to generate the external help and static html for online references.
71+
A user has content in some form and she wants to transform it into another form.
72+
E.g. transform existing module help (in MAML) to Markdown and use it in the future to generate the external help (MAML) and static HTML for online references.
6973

70-
PlatyPS PowerShell module provide APIs in the form of cmdlets for the end-user scenarios.
71-
This scenarios are assembled from the simple transformations. Chart below describes this simple transformations.
74+
platyPS provides APIs in the form of cmdlets for end-user scenarios.
75+
These scenarios are assembled from simple transformations.
76+
This chart describes these simple transformations:
7277

7378
```
7479
+----------+
@@ -102,28 +107,27 @@ This scenarios are assembled from the simple transformations. Chart below descri
102107

103108
##### Example `New-MarkdownHelp`
104109

105-
User creates a platyPS markdown for the first time for the command
110+
A user creates a platyPS Markdown for the first time with `New-MarkdownHelp`:
106111

107112
```
108-
New-MarkdownHelp -command New-MyCommandHelp
113+
New-MarkdownHelp -Command New-MyCommandHelp
109114
```
110115

111-
Under the hood, following tranformations happens
116+
Under the hood, the following tranformations happen:
112117

113118
[MAML XML file] --> [Help Object + Get-Command object] --> [MAML Model] --> [Markdown file]
114119

115-
116-
# Making a release
120+
# Making a new release
117121

118122
1. Make sure that `CHANGELOG.md` is up-to-date, move section from `UNRELEASED` to new section `<release name>`.
119123
1. Make sure platyPS help itself (content in .\docs folder) is up to date.
120124
`Update-MarkdownHelp -Path .\docs` should result in no changes.
121125
1. From master, tag the release.
122126
1. Push tag to GitHub.
123-
1. Find the corresponding build on AppVeyor
124-
1. Download zip archive with the module from artifacts tab.
125-
1. Unblock the zip archive, copy content to one of the `$env:PSMODULEPATH` locations, so it's available to `Publish-Module`.
126-
1. Use `Publish-Module -RequiredVersion <version> -Verbose -NuGetApiKey $apiKey`
127+
1. Find the corresponding build on AppVeyor.
128+
1. Download ZIP archive with the module from Appveyor's Artifacts tab.
129+
1. Unblock the ZIP archive (`Unblock-File foo.zip`), and copy the ZIP's contents to `$env:PSMODULEPATH` so it's available to `Publish-Module`.
130+
1. Publish the module to the Gallery: `Publish-Module -RequiredVersion <version> -Verbose -NuGetApiKey $apiKey`.
127131
10. Check that https://www.powershellgallery.com/packages/platyPS/ updated.
128132

129-
Congratulations! You just made a release.
133+
Congratulations! You just made a release.

0 commit comments

Comments
 (0)