Skip to content

Commit

Permalink
Parse release notes as Markdown (bagetter#81)
Browse files Browse the repository at this point in the history
* parse release notes as markdown

* update dependency Markdig

* PR feedback
  • Loading branch information
FroggieFrog authored Feb 26, 2024
1 parent 1bbbb9e commit bebc997
Show file tree
Hide file tree
Showing 3 changed files with 17 additions and 2 deletions.
2 changes: 1 addition & 1 deletion Directory.Packages.props
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
<PackageVersion Include="Microsoft.AspNetCore.Mvc.Testing" Version="8.0.0" />
<PackageVersion Include="coverlet.collector" Version="6.0.0" />
<PackageVersion Include="Humanizer" Version="2.14.1" />
<PackageVersion Include="Markdig" Version="0.33.0" />
<PackageVersion Include="Markdig" Version="0.35.0" />
<PackageVersion Include="Microsoft.EntityFrameworkCore.SqlServer" Version="8.0.1" />
<PackageVersion Include="Microsoft.Data.SqlClient" Version="[5.1.3,)" />
<PackageVersion Include="Npgsql.EntityFrameworkCore.PostgreSQL" Version="8.0.0" />
Expand Down
2 changes: 1 addition & 1 deletion src/BaGetter.Web/Pages/Package.cshtml
Original file line number Diff line number Diff line change
Expand Up @@ -117,7 +117,7 @@ else
@if (!string.IsNullOrEmpty(Model.Package.ReleaseNotes))
{
ExpandableSection("Release Notes", "ms-Icon--ReadingMode", expanded: false,
@<div class="package-release-notes">@Model.Package.ReleaseNotes</div>);
@<div class="package-release-notes">@Model.ParsedReleaseNotes</div>);
}

@{ ExpandableSection("Dependencies", "ms-Icon--Packages", expanded: false,
Expand Down
15 changes: 15 additions & 0 deletions src/BaGetter.Web/Pages/Package.cshtml.cs
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,8 @@ public PackageModel(

public HtmlString Readme { get; private set; }

public HtmlString ParsedReleaseNotes { get; private set; }

public string IconUrl { get; private set; }
public string LicenseUrl { get; private set; }
public string PackageDownloadUrl { get; private set; }
Expand Down Expand Up @@ -103,6 +105,8 @@ public async Task OnGetAsync(string id, string version, CancellationToken cancel
Readme = await GetReadmeHtmlStringOrNullAsync(Package.Id, packageVersion, cancellationToken);
}

ParsedReleaseNotes = ParseReleaseNotes();

IconUrl = Package.HasEmbeddedIcon
? _url.GetPackageIconDownloadUrl(Package.Id, packageVersion)
: Package.IconUrlString;
Expand Down Expand Up @@ -208,6 +212,17 @@ private async Task<HtmlString> GetReadmeHtmlStringOrNullAsync(
return new HtmlString(readmeHtml);
}

private HtmlString ParseReleaseNotes()
{
if (string.IsNullOrWhiteSpace(Package.ReleaseNotes))
{
return HtmlString.Empty;
}

var releseNotesHtml = Markdown.ToHtml(Package.ReleaseNotes, MarkdownPipeline);
return new HtmlString(releseNotesHtml);
}

public class DependencyGroupModel
{
public string Name { get; set; }
Expand Down

0 comments on commit bebc997

Please sign in to comment.