Public
Script
v16
May 24, 2024
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
function getHREF(mod) {
const url = new URL(mod);
return `https://val.town${url.pathname}`;
}
export interface BadgeOptions {
width?: number;
}
export default function GetBadgeHTML(url: string, opts: BadgeOptions = {}): string {
const href = getHREF(url);
const {
width = 160,
} = opts;
const height = width * 0.3;
return `
<a href="${href}" target="_blank" style="text-decoration:none;color:inherit">
<img src="https://jxnblk-valtownbadgesvg.web.val.run/" width="${width}" height="${height}">
</a>
`;
}
Val Town is a social website to write and deploy JavaScript.
Build APIs and schedule functions from your browser.
v16
May 24, 2024
Some reactions:
wrapper
is good. I wonder if the "vals used to create this" could be shorter, maybe just link to the image service, and that links to everything else.@stevekrouse Took a stab at inlining the html + svg to get around the perf hit of the image here: https://www.val.town/v/jxnblk/valTownBadge02
Also, slight variation in the style to try to get away from the "app store" vibes; have some other sketches I can share as well.
WRT the readme, we can probably keep this whole thing in a single val and pare down the usage to be more succinct