Trending Vals

181
stevekrouse avatar
switchbot_party
@stevekrouse
HTTP (deprecated)
Forked from stevekrouse/switchbot
182
pomdtr avatar
pwa
@pomdtr
Script
Add a pwa manifest to an http val (to open in as an app in iOS). See https://developer.mozilla.org/en-US/docs/Web/Progressive_web_apps for available fields. Usage import handler from "https://esm.town/v/maxm/staticChess"; import { pwa } from "https://esm.town/v/pomdtr/pwa"; export default pwa(handler, { name: "Static Chess", display: "standalone", background_color: "#ffffff", start_url: "/", });
183
harveyfullstack avatar
phpServe
@harveyfullstack
HTTP (deprecated)
Serve a REST API in PHP syntax using php-wasm and Val Town.
184
dglazkov avatar
discordBot
@dglazkov
Script
A simple Discord Bot scaffolding, a slight rev on the one in the valtown guide . The discordBot function takes in an object where each key is a Discord command and the value is a function to handle the command. If the function returns a Promise , it will be handled as a deferred interaction with a followup message . Usage: import { discordBot } from "https://esm.town/v/dglazkov/discordBot"; const echo = async (data) => { await new Promise((r) => setTimeout(r, 5000)); return { type: 4, data: { content: data.data.options[0].value, }, }; }; export default discordBot({ ping: () => ({ type: 4, data: { content: `Pong! It is ${new Date()}`, }, }) echo, });
185
roadlabs avatar
extractValInfo
@roadlabs
Script
Forked from pomdtr/extractValInfo
186
iamseeley avatar
convertResume
@iamseeley
HTTP (deprecated)
convert your resume content to the json resume standard
187
neverstew avatar
blobDirList
@neverstew
Script
List things in a blob directory Blobs can be organised using "directories" e.g. /animals all-animals.txt /dogs sausage.txt /cats tom.txt is really only three files: /animals/all-animals.txt , /animals/dogs/sausage.txt and /animals/cats/tom.txt because directories don't really exist, we're just making longer filenames. When you want to list things only "in a directory" and none of the child "directories", you can use this val. import { blobDirList } from "https://esm.town/v/neverstew/blobDirList"; console.log(await blobDirList("/animals")); // returns only "/animals/all-animals.txt"
188
rizoadev avatar
sqliteExplorerApp
@rizoadev
Script
Forked from nbbaier/sqliteExplorerApp
189
yawnxyz avatar
lucia_adapter_valtown
@yawnxyz
Script
Forked from stevekrouse/lucia_adapter
190
postpostscript avatar
blog
@postpostscript
HTTP (deprecated)
@postpostscript 's Val Town Blog Blog Posts: Ideas 2024-03-06 - Auth for Val Town 2024-03-09 - sqliteUniverse: Make SQLite Queries Against Multiple Endpoints in Deno (Val Town) (Part 1) 2024-03-09 - sqliteUniverse: Make SQLite Queries Against Multiple Endpoints in Deno (Val Town) (Part 2) Other Projects: 2024-02-25 - moduleHighlightValueLink: Link to a Val With a Value or Method's Code Highlighted 2024-02-28 - provideBlob: Return Response Quickly and Poll for the Expensive Parts 2024-03-02 - MyFooter: my footer component which shares random vals I've liked! 2024-03-16 - readmeManager: Edit Val Readmes With Persistent Drafts 2024-04-09 - reactiveStateBlob: wrap blob state in a proxy to autosave it on changes 2024-04-24 - lock: lock that releases when it leaves the execution context 2024-04-25 - fetchWorker: communicate with a worker over a fetch-like interface
191
maxm avatar
phpServe
@maxm
HTTP (deprecated)
Forked from harveyfullstack/phpServe
192
raylu avatar
flightRadar24
@raylu
Script
usage: async function example() { const discordUserId = "713159744516259880"; await @raylu.flightRadar24( "bf721", "01 Jan 2023", "America/Los_Angeles", discordUserId, ); }
193
pomdtr avatar
gfm
@pomdtr
Script
Markdown to html (with github styling)
194
postpostscript avatar
readmeManager
@postpostscript
HTTP (deprecated)
Forked from pomdtr/codemirror_demo
195
iamseeley avatar
resumeHandler
@iamseeley
HTTP (deprecated)
šŸ“„ hello, resume Creating, customizing, and hosting resumes can get complicated and time-consuming. This project aims to simplify that process and maybe make it a little more enjoyable. Follow the steps in your resumeConfig to get started . Happy job hunting! šŸ’¼āœØ Thanks to @nbbaier for the great feedback and resumeValidator ! Also, big thanks to Thomas Davis for JSON Resume Standard!
196
iamseeley avatar
resumeDetails
@iamseeley
HTTP (deprecated)
šŸ’¼ Thomas Seeley's resume in the JSON Resume standard
197
pomdtr avatar
uptime
@pomdtr
Cron
Forked from stevekrouse/uptime
198
jamiedubs avatar
glifs
@jamiedubs
HTTP (deprecated)
returns the last 100 featured glifs on Glif but with a simplified response shape; I use this in other glifs with the WebFetcher block use like: https://jamiedubs-glifs.web.val.run/ to fetch info for a single glif, try @jamiedubs/glifJson #glif #glifs
199
iamseeley avatar
starterTheme
@iamseeley
Script
šŸ starter theme for hello, resume
200
iamseeley avatar
oceanTheme
@iamseeley
Script
šŸŒŠ šŸŸ An under the sea resume theme šŸš šŸ™
201
postpostscript avatar
html
@postpostscript
Script
html: create sanitized HTML using tagged templates Examples import { html } from "https://esm.town/v/postpostscript/html" const unsafeInput = "<script>alert(1)</script>" console.log(html`Value: ${unsafeInput}`) // Value: &lt;script&gt;alert(1)&lt;/script&gt; These can be combined -- HTML marked as safe (instance is RawHTML ) will be directly inserted: const scripts = html`<script>alert(1)</script>` console.log(html`<head> ${scripts} </head>`.toString()) // <head> // <script>alert(1)</script> // </head> To easily create HTTP Response outputs like @stevekrouse/html, use the htmlResponse utility: import { html, htmlResponse } from "https://esm.town/v/postpostscript/html"; export default function(req: Request) { return htmlResponse` Request URL: ${decodeURIComponent(req.url)} `; } Tests: @postpostscript/htmlTest
202
snptrs avatar
extractValInfo
@snptrs
Script
Forked from pomdtr/extractValInfo
203
neverstew avatar
readableHtml
@neverstew
Script
Forked from nbbaier/readabilityHTTPProxy
204
maxm avatar
excalidrawPass
@maxm
HTTP (deprecated)
Forked from all/excalidrawPass
205
janpaul123 avatar
reacttldraw
@janpaul123
HTTP (deprecated)
Forked from tfayyaz/react_tldraw
206
substrate avatar
hackerNewsRAG
@substrate
HTTP (deprecated)
Forked from substrate/similarSites
207
tmcw avatar
whenfilmed
@tmcw
HTTP
A game where you guess when a movie was released. Man, those Disney movies are ancient !
208
maxm avatar
animatedReadmeSVG
@maxm
HTTP (deprecated)
Fancy animated SVGs in readmes, along with centering and image sizing. <div align="center"><img width=200 src="https://gpanders.com/img/DEC_VT100_terminal.jpg"></div> <p align="center"> <img src="https://maxm-animatedreadmesvg.web.val.run/comet.svg" /> </p> <p align="center"> <img src="https://maxm-animatedreadmesvg.web.val.run/custom text!" /> </p>
209
vladimyr avatar
valshot
@vladimyr
HTTP (deprecated)
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
210
stevekrouse avatar
fileInputUploadExample
@stevekrouse
HTTP (deprecated)
Example of an HTML Form with a File Upload, handled by the server The key step was setting enctype="multipart/form-data" on the <form> element. If you skip that step, you'll only get the file's name on the server. Limitation on files > 1mb Currently (as of 4/14/24) this only works for small files (< 1mb). For larger files you get an error: {"statusCode":413,"error":"Payload Too Large","message":"request entity too large"} . A workaround is to upload to another service client-side, send the URL from that service to your Val Town server, and then fetch the file server-side (helper: @stevekrouse/uploadTo0x0).