Skip to content

Commit 4ca79b2

Browse files
BernieWhitevors
authored andcommitted
Fix for trailing whitespace issue #225 (#317)
* Fix to clean up trailing whitespace in during markdown generation #225 * Updated change log with reference to issue #225 * Update to fix test issues
1 parent a34bdc6 commit 4ca79b2

File tree

3 files changed

+28
-15
lines changed

3 files changed

+28
-15
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ CHANGELOG
33

44
## Not released
55

6+
* Clean up trailing whitespace during markdown generation [#225](https://github.com/PowerShell/platyPS/issues/225)
67

78
## 0.8.3
89

src/Markdown.MAML/Renderer/Markdownv2Renderer.cs

Lines changed: 23 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ private void AddYamlHeader(Hashtable yamlHeader)
9292

9393
foreach (var pair in sortedHeader)
9494
{
95-
_stringBuilder.AppendFormat("{0}: {1}{2}", pair.Key, pair.Value, Environment.NewLine);
95+
AppendYamlKeyValue(pair.Key, pair.Value);
9696
}
9797

9898
_stringBuilder.AppendFormat("---{0}{0}", Environment.NewLine);
@@ -276,7 +276,7 @@ private void AddParameter(MamlParameter parameter, MamlCommand command)
276276
{
277277
_stringBuilder.AppendFormat("```yaml{0}", Environment.NewLine);
278278

279-
_stringBuilder.AppendFormat("{0}: {1}{2}", MarkdownStrings.Type, parameter.Type, Environment.NewLine);
279+
AppendYamlKeyValue(MarkdownStrings.Type, parameter.Type);
280280

281281
string parameterSetsString;
282282
if (command.Syntax.Count == 1 || set.Item1.Count == command.Syntax.Count)
@@ -290,31 +290,43 @@ private void AddParameter(MamlParameter parameter, MamlCommand command)
290290
parameterSetsString = JoinWithComma(set.Item1);
291291
}
292292

293-
_stringBuilder.AppendFormat("{0}: {1}{2}", MarkdownStrings.Parameter_Sets, parameterSetsString, Environment.NewLine);
293+
AppendYamlKeyValue(MarkdownStrings.Parameter_Sets, parameterSetsString);
294294

295-
_stringBuilder.AppendFormat("{0}: {1}{2}", MarkdownStrings.Aliases, JoinWithComma(parameter.Aliases), Environment.NewLine);
295+
AppendYamlKeyValue(MarkdownStrings.Aliases, JoinWithComma(parameter.Aliases));
296296
if (parameter.ParameterValueGroup.Count > 0)
297297
{
298-
_stringBuilder.AppendFormat("{0}: {1}{2}", MarkdownStrings.Accepted_values, JoinWithComma(parameter.ParameterValueGroup), Environment.NewLine);
298+
AppendYamlKeyValue(MarkdownStrings.Accepted_values, JoinWithComma(parameter.ParameterValueGroup));
299299
}
300300

301301
if (parameter.Applicable != null)
302302
{
303-
_stringBuilder.AppendFormat("{0}: {1}{2}", MarkdownStrings.Applicable, JoinWithComma(parameter.Applicable), Environment.NewLine);
303+
AppendYamlKeyValue(MarkdownStrings.Applicable, JoinWithComma(parameter.Applicable));
304304
}
305305

306306
_stringBuilder.AppendLine();
307307

308-
_stringBuilder.AppendFormat("{0}: {1}{2}", MarkdownStrings.Required, set.Item2.Required, Environment.NewLine);
309-
_stringBuilder.AppendFormat("{0}: {1}{2}", MarkdownStrings.Position, set.Item2.IsNamed() ? "Named" : set.Item2.Position, Environment.NewLine);
310-
_stringBuilder.AppendFormat("{0}: {1}{2}", MarkdownStrings.Default_value, string.IsNullOrWhiteSpace(parameter.DefaultValue) ? "None" : parameter.DefaultValue, Environment.NewLine);
311-
_stringBuilder.AppendFormat("{0}: {1}{2}", MarkdownStrings.Accept_pipeline_input, parameter.PipelineInput, Environment.NewLine);
312-
_stringBuilder.AppendFormat("{0}: {1}{2}", MarkdownStrings.Accept_wildcard_characters, parameter.Globbing, Environment.NewLine);
308+
AppendYamlKeyValue(MarkdownStrings.Required, set.Item2.Required.ToString());
309+
AppendYamlKeyValue(MarkdownStrings.Position, set.Item2.IsNamed() ? "Named" : set.Item2.Position);
310+
AppendYamlKeyValue(MarkdownStrings.Default_value, string.IsNullOrWhiteSpace(parameter.DefaultValue) ? "None" : parameter.DefaultValue);
311+
AppendYamlKeyValue(MarkdownStrings.Accept_pipeline_input, parameter.PipelineInput);
312+
AppendYamlKeyValue(MarkdownStrings.Accept_wildcard_characters, parameter.Globbing.ToString());
313313

314314
_stringBuilder.AppendFormat("```{0}{0}", Environment.NewLine);
315315
}
316316
}
317317

318+
private void AppendYamlKeyValue(string key, string value)
319+
{
320+
if (string.IsNullOrEmpty(value))
321+
{
322+
_stringBuilder.AppendFormat("{0}:{1}", key, Environment.NewLine);
323+
324+
return;
325+
}
326+
327+
_stringBuilder.AppendFormat("{0}: {1}{2}", key, value, Environment.NewLine);
328+
}
329+
318330
private void AddExamples(MamlCommand command)
319331
{
320332
AddHeader(ModelTransformerBase.COMMAND_ENTRIES_HEADING_LEVEL, MarkdownStrings.EXAMPLES);

test/Markdown.MAML.Test/Renderer/MarkdownV2RendererTests.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -235,7 +235,7 @@ public void RendererProduceMarkdownV2Output()
235235
string markdown = renderer.MamlModelToString(command, metadata);
236236
Assert.Equal(@"---
237237
foo: bar
238-
null:
238+
null:
239239
schema: 2.0.0
240240
---
241241
@@ -414,7 +414,7 @@ public void RenderesAllParameterSetMoniker()
414414
```yaml
415415
Type: String
416416
Parameter Sets: (All)
417-
Aliases:
417+
Aliases:
418418
419419
Required: True
420420
Position: Named
@@ -427,7 +427,7 @@ public void RenderesAllParameterSetMoniker()
427427
```yaml
428428
Type: String
429429
Parameter Sets: FirstSyntax
430-
Aliases:
430+
Aliases:
431431
432432
Required: True
433433
Position: Named
@@ -440,7 +440,7 @@ public void RenderesAllParameterSetMoniker()
440440
```yaml
441441
Type: String
442442
Parameter Sets: SecondSyntax
443-
Aliases:
443+
Aliases:
444444
445445
Required: True
446446
Position: Named

0 commit comments

Comments
 (0)