pomdtr avatar
pomdtr
tinybase_example_server
HTTP
@jsxImportSource npm:hono/jsx
0
vladimyr avatar
vladimyr
valshot
HTTP
Val Shot Generate val source code screenshot using sourcecodeshots.com ⚠️ This service is offered for personal use under a reasonable usage policy as stated here: https://sourcecodeshots.com/docs 📣 Special thanks to @pomdtr for their help and contributions! Usage https://vladimyr-valshot.web.val.run/v/<author>/<val> Example https://vladimyr-valshot.web.val.run/v/vladimyr/valshot https://vladimyr-valshot.web.val.run/v/pomdtr/readme
11
pomdtr avatar
pomdtr
sqliteTable
Script
Sqlite Table Usage: Fork this Val Replace the existing migrations by your own table The table name will match the val name. To update the table, just add new items to the migrations array, and re-run the val
0
vladimyr avatar
vladimyr
activityPubAgent
HTTP
// SPDX-License-Identifier: 0BSD
0
ttodosi avatar
ttodosi
infiniteSVGGraph
HTTP
Forked from maxm/infiniteSVGGraph
0
saolsen avatar
saolsen
telemetry
Script
Telemetry For Vals. Telemetry is a library that lets you trace val town executions with opentelemetry. All traces are stored in val.town sqlite and there is an integrated trace viewer to see them. Quickstart Instrument an http val like this. import { init, tracedHandler, } from "https://esm.town/v/saolsen/telemetry"; // Set up tracing by passing in `import.meta.url`. // be sure to await it!!! await init(import.meta.url); async function handler(req: Request): Promise<Response> { // whatever else you do. return } export default tracedHandler(handler); This will instrument the http val and trace every request. Too add additional traces see this widgets example . Then, too see your traces create another http val like this. import { traceViewer } from "https://esm.town/v/saolsen/telemetry"; export default traceViewer; This val will serve a UI that lets you browse traces. For example, you can see my UI here . Tracing By wrapping your http handler in tracedHandler all your val executions will be traced. You can add additional traces by using the helpers. trace lets you trace a block of syncronous code. import { trace } from "https://esm.town/v/saolsen/telemetry"; trace("traced block", () => { // do something }); traceAsync lets you trace a block of async code. import { traceAsync } from "https://esm.town/v/saolsen/telemetry"; await traceAsync("traced block", await () => { // await doSomething(); }); traced wraps an async function in tracing. import { traceAsync } from "https://esm.town/v/saolsen/telemetry"; const myTracedFunction: () => Promise<string> = traced( "myTracedFunction", async () => { // await sleep(100); return "something"; }, ); fetch is a traced version of the builtin fetch function that traces the request. Just import it and use it like you would use fetch . sqlite is a traced version of the val town sqlite client. Just import it and use it like you would use https://www.val.town/v/std/sqlite attribute adds an attribute to the current span, which you can see in the UI. event adds an event to the current span, which you can see in the UI.
6
tmcw avatar
tmcw
valSession
HTTP
Forked from maxm/valSession
0
pomdtr avatar
pomdtr
bluesky
Email
Forked from stevekrouse/forwarder
0
pomdtr avatar
pomdtr
val_town_cmdk
HTTP
Open Command
0
pps avatar
pps
sqlitePublic
HTTP
Forked from postpostscript/sqlitePublic
0
tmcw avatar
tmcw
thankfulTurquoiseParrot
HTTP
Forked from maxm/valSession
0
pomdtr avatar
pomdtr
blog
HTTP
Val Town Blog A blog written, developed and hosted on val.town. How ? Each article on this blog is contained single val, with a #blog tag. See this example article . // #blog // title: Example Post import { article } from "https://esm.town/v/pomdtr/article"; import { extractValInfo } from "https://esm.town/v/pomdtr/extractValInfo"; import { html } from "https://esm.town/v/stevekrouse/html?v=5"; export async function examplePost(req: Request) { const { author, name } = extractValInfo(import.meta.url); return html(await article(author, name)); } Each of these post work on it's own . This val is able to: list them with the /v1/search api (with a #blog query) post with different author than the owner of this val will be filtered out only public vals will be listed render the readme of those vals using remark (with github styling) This process run each time a user visit the web endpoint , so the blog is always up to date. You can get your own instance of the blog by just forking this val .
3
13
Next
Updated: January 8, 2025