Unlisted
Like
valTownBadgeExample
Val Town is a collaborative website to build and scale JavaScript apps.
Deploy APIs, crons, & store data – all from the browser, and deployed in milliseconds.
Viewing readonly version of main branch: v17View latest version
Example of how to add a Val Town badge to your val
Demo: https://jxnblk-valtownbadgeexample.web.val.run/
- Wrap your HTTP response handler with https://www.val.town/v/jxnblk/valTownBadgeMiddleware 1
import wrapper from "https://esm.town/v/jxnblk/valTownBadgeMiddleware";
async function handler(req: Request): Promise<Response> {
const html = `
<h1>Hello, world</h1>
`;
return new Response(html, {
headers: {
"Content-Type": "text/html; charset=utf-8",
},
});
}
export default wrapper(handler, import.meta.url);
- Get the HTML string for the badge using https://www.val.town/v/jxnblk/valTownBadge
- Add the HTML to your response's HTML string wherever you like
import valTownBadge from "https://esm.town/v/jxnblk/valTownBadge";
export default async function(req: Request): Promise<Response> {
const badge = valTownBadge(import.meta.url);
const html = `
<h1>Hello, world</h1>
${badge}
`;
return new Response(html, {
headers: {
"Content-Type": "text/html; charset=utf-8",
},
});
}
You can also edit the snippet below to manually add the badge in HTML
<a href="https://www.val.town/v/jxnblk/valTownBadgeExample" target="_blank" style="text-decoration:none;color:inherit"> <img src="https://jxnblk-valtownbadgesvg.web.val.run/" width="160" height="160"> </a>
Or markdown:
[](https://www.val.town/v/jxnblk/valTownBadgeExample)
Migrated from folder: _LEAVE_AS_IS/badge_LEAVE_AS_IS/valTownBadgeExample
-
Middleware is not recommended when using client-side hydration in apps like React or when returning a full, valid HTML response ↩