Skip to content

Commit

Permalink
Add badges to the details page
Browse files Browse the repository at this point in the history
  • Loading branch information
praeclarum committed Jan 27, 2019
1 parent 41807a3 commit a35e2a0
Show file tree
Hide file tree
Showing 3 changed files with 28 additions and 20 deletions.
12 changes: 6 additions & 6 deletions Controllers/BadgeController.cs
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,9 @@ public BadgeController(IHttpClientFactory httpClientFactory)
}

[Route("/packages/{id}/badge.svg")]
public async Task<ActionResult> GetBadgeAsync (string id)
public async Task<ActionResult> GetBadgeAsync (string id, string v)
{
var package = await PackageData.GetAsync (id, "", httpClientFactory.CreateClient());
var package = await PackageData.GetAsync (id, v, httpClientFactory.CreateClient());

var content = DrawBadge (package);

Expand All @@ -32,8 +32,8 @@ public async Task<ActionResult> GetBadgeAsync (string id)

string DrawBadge (PackageData package)
{
var k = "fuget package";
var v = package.Version.VersionString;
var k = "fuget";
var v = "v" + package.Version.VersionString;

var font = new Font ("DejaVu Sans,Verdana,Geneva,sans-serif", 11);
var kw = (int)Math.Round(NullPlatform.GlobalMeasureText(k, font).Width * 1.15);
Expand All @@ -45,8 +45,8 @@ string DrawBadge (PackageData package)
var c = new GraphicCanvas (new Size (w, h));

c.FillRectangle (new Rect(0, 0, w, h), new Size(3, 3), "#555");
c.FillRectangle (new Rect(kw + 2*hpad, 0, w - 2*hpad - kw, h), new Size(3,3), "#4c1");
c.FillRectangle (new Rect(kw + 2*hpad, 0, 6, h), "#4c1");
c.FillRectangle (new Rect(kw + 2*hpad, 0, w - 2*hpad - kw, h), new Size(3,3), "#5cb85c");
c.FillRectangle (new Rect(kw + 2*hpad, 0, 6, h), "#5cb85c");

var scolor = new Color(1.0 / 255.0, 0.3);
// c.FillRectangle(new Rect(hpad, 5, kw, font.Size), "#F00");
Expand Down
35 changes: 21 additions & 14 deletions Pages/packages/badges.cshtml
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@

var badges = new[] { "simple", "complex", "boring" };

var urlroot = "https://www.fuget.org";

ViewData["Title"] = title;

ViewData["meta"] = new Dictionary<string, string> {
Expand All @@ -28,17 +30,22 @@

<h1 style="margin-bottom:0.5em"><a href="/packages/@Uri.EscapeDataString(package.Id)">@package.Id</a> Badges</h1>

<ul class="media-list">
@foreach (var b in badges) {
<li class="media">
<div class="media-left">
<a href="/packages/@Uri.EscapeDataString(package.Id)">
<img src="/packages/@Uri.EscapeDataString(package.Id)/badge.svg" class="package-icon-in-list" />
</a>
</div>
<div class="media-body">
Hello
</div>
</li>
}
</ul>
<div style="margin-bottom:2em">
<a href="@urlroot/packages/@Uri.EscapeDataString(package.Id)/badge.svg">
<img src="/packages/@Uri.EscapeDataString(package.Id)/badge.svg" />
</a>
</div>

<p>Badges are SVG files that you can add to your README.md or anywhere else you want to link to fuget.org.</p>

<h3>URL</h3>
<pre><code>@urlroot/packages/@package.Id/badge.svg</code></pre>

<h3>Markdown</h3>
<pre><code>[![@package.Id on fuget.org](@urlroot/packages/@Uri.EscapeDataString(package.Id)/badge.svg)](@urlroot/packages/@Uri.EscapeDataString(package.Id))</code></pre>

<h3>Query Parameters</h3>
<dl>
<dt>v</dt>
<dd>Version to display. Defaults to the latest pre-release.</dd>
</dl>
1 change: 1 addition & 0 deletions Pages/packages/details.cshtml
Original file line number Diff line number Diff line change
Expand Up @@ -174,6 +174,7 @@
</a>
<a href="/packages/@Uri.EscapeDataString(package.Id)">@package.Id</a>
<small>by @authors</small>
<a href="/packages/@Uri.EscapeDataString(package.Id)/badges"><img src="/packages/@Uri.EscapeDataString(package.Id)/badge.svg?v=@Uri.EscapeDataString(versionSpec.VersionString)"/></a>
</h1>
<nav>
<div class="btn-group" style="display: inline-block">
Expand Down

0 comments on commit a35e2a0

Please sign in to comment.