Val Town Code SearchReturn to Val Town

API Access

You can access search results via JSON API by adding format=json to your query:

https://codesearch.val.run/...?q=image&page=16&format=json

For typeahead suggestions, use the /typeahead endpoint:

https://codesearch.val.run/typeahead?q=image

Returns an array of strings in format "username" or "username/projectName"

Found 9932 results for "image"(4673ms)

stevensDemoassets.ts6 matches

@jeffvincent•Updated 3 days ago
2 // Background
3 BACKGROUND:
4 "https://imagedelivery.net/iHX6Ovru0O7AjmyT5yZRoA/8b501664-722e-4be8-cf71-83aab7756e00/public",
5
6 // Stevens
7 STEVENS_FRONT:
8 "https://imagedelivery.net/iHX6Ovru0O7AjmyT5yZRoA/8b8432bb-add2-44ad-bb12-44b8ea215500/public",
9 STEVENS_BACK:
10 "https://imagedelivery.net/iHX6Ovru0O7AjmyT5yZRoA/e28da8ab-7710-4b82-8e32-8fdf65c2ed00/public",
11 STEVENS_WALKING:
12 "https://imagedelivery.net/iHX6Ovru0O7AjmyT5yZRoA/bd7b9997-09b2-4b35-6eb9-9975a85bb700/public",
13
14 // Mailman
15 MAILMAN_STANDING:
16 "https://imagedelivery.net/iHX6Ovru0O7AjmyT5yZRoA/20a6493d-cc31-475e-aa83-ac97d317e400/public",
17 MAILMAN_WALKING:
18 "https://imagedelivery.net/iHX6Ovru0O7AjmyT5yZRoA/61604576-8a83-4d85-d5e4-8e8e26641700/public",
19};
20

stevensDemoApp.tsx25 matches

@jeffvincent•Updated 3 days ago
82 const [cookieAndTeaMode, setCookieAndTeaMode] = useState(false);
83
84 // Fetch images from backend instead of blob storage directly
85 useEffect(() => {
86 // Set default background color in case image doesn't load
87 if (document.body) {
88 document.body.style.backgroundColor = "#2D1700"; // Dark brown leather color
89 }
90
91 // Fetch avatar image
92 fetch("/api/images/stevens.jpg")
93 .then((response) => {
94 if (response.ok) return response.blob();
95 throw new Error("Failed to load avatar image");
96 })
97 .then((imageBlob) => {
98 const url = URL.createObjectURL(imageBlob);
99 setAvatarUrl(url);
100 })
104
105 // Fetch wood background
106 fetch("/api/images/wood.jpg")
107 .then((response) => {
108 if (response.ok) return response.blob();
109 throw new Error("Failed to load wood background");
110 })
111 .then((imageBlob) => {
112 const url = URL.createObjectURL(imageBlob);
113 setWoodUrl(url);
114
115 // Apply wood background to body
116 if (document.body) {
117 document.body.style.backgroundImage = `url(${url})`;
118 }
119 })
362 return {
363 position: SCENE_ELEMENTS.DESK_SITTING,
364 image: ASSETS.STEVENS_FRONT,
365 highlightElement: SCENE_ELEMENTS.DESK,
366 animationClass: "no-animation",
372 return {
373 position: SCENE_ELEMENTS.DESK_SITTING,
374 image: ASSETS.STEVENS_FRONT,
375 highlightElement: null,
376 animationClass: "no-animation",
387 y: SCENE_ELEMENTS.MAILBOX.y - 20,
388 },
389 image: ASSETS.STEVENS_BACK,
390 highlightElement: SCENE_ELEMENTS.MAILBOX,
391 animationClass: "walk-to-mailbox",
398 y: SCENE_ELEMENTS.CALENDAR.y + 30,
399 },
400 image: ASSETS.STEVENS_BACK,
401 highlightElement: SCENE_ELEMENTS.CALENDAR,
402 animationClass: "walk-to-calendar",
409 y: SCENE_ELEMENTS.TELEGRAM.y + 10,
410 },
411 image: ASSETS.STEVENS_BACK,
412 highlightElement: SCENE_ELEMENTS.TELEGRAM,
413 animationClass: "walk-to-telegram",
417 return {
418 position: SCENE_ELEMENTS.OUTSIDE,
419 image: ASSETS.STEVENS_FRONT,
420 highlightElement: null,
421 animationClass: "walk-to-outside",
425 return {
426 position: SCENE_ELEMENTS.DESK_SITTING,
427 image: ASSETS.STEVENS_FRONT,
428 highlightElement: SCENE_ELEMENTS.DESK,
429 animationClass: "walk-to-desk",
623 box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.4),
624 0 3px 8px rgba(0, 0, 0, 0.5);
625 image-rendering: pixelated;
626 cursor: pointer;
627 transition: transform 0.2s;
634 .notebook-pages {
635 background-color: #f8f1e0;
636 background-image: linear-gradient(#d6c6a5 1px, transparent 1px);
637 background-size: 100% 16px;
638 box-shadow: inset 0 0 8px rgba(0, 0, 0, 0.3);
639 image-rendering: pixelated;
640 }
641
652
653 .pixel-character {
654 image-rendering: pixelated;
655 position: absolute;
656 transition: left 0.7s ease-in-out, top 0.7s ease-in-out;
763 className="w-[512px] h-[512px] mx-auto relative"
764 style={{
765 backgroundImage: `url(${ASSETS.BACKGROUND})`,
766 backgroundSize: "cover",
767 backgroundPosition: "center",
768 imageRendering: "pixelated",
769 }}
770 >
799 {/* Stevens character */}
800 <img
801 src={stevensState.image}
802 alt="Stevens"
803 className={`pixel-character ${

PerspectivologyMVPindex.tsx4 matches

@hxseidman•Updated 3 days ago
179 </div>
180
181 {/* Right Column - Image */}
182 <div className="flex justify-center lg:justify-end">
183 <div className="relative">
187 className="w-80 lg:w-96 xl:w-[500px] h-auto object-contain filter drop-shadow-2xl"
188 onError={(e) => {
189 // Fallback to a CSS-based crystal if image fails
190 e.target.style.display = 'none';
191 e.target.nextElementSibling.style.display = 'block';
488 </div>
489
490 {/* Right Side - 40% width - 3D Image */}
491 <div className="w-full lg:w-2/5 flex items-center justify-center">
492 <div className="relative">
496 className="w-full h-96 object-cover rounded-2xl opacity-80"
497 onError={(e) => {
498 // Fallback to CSS design if image fails
499 e.target.style.display = 'none';
500 e.target.nextElementSibling.style.display = 'block';

Teamapi.ts1 match

@glance•Updated 3 days ago
23 <div class="user-card" style="border: 1px solid #ccc; padding: 20px; margin: 10px; border-radius: 8px;">
24 <h2><a href="${user.url}" target="_blank">${user.username}</a></h2>
25 <img src="${user.profileImageUrl}" alt="${user.username}" style="width: 100px; height: 100px; object-fit: cover; border-radius: 50%;" />
26 <p>${user.bio || ""}</p>
27 <!-- <pre>${JSON.stringify(user.vals.data, null, 2)}</pre> -->

MiniAppStarterindex.tsx3 matches

@Prass•Updated 3 days ago
5import * as db from "./db.ts";
6import { embedMetadata, handleFarcasterEndpoints, name } from "./farcaster.ts";
7import { handleImageEndpoints } from "./image.tsx";
8
9const app = new Hono();
10
11handleImageEndpoints(app);
12handleFarcasterEndpoints(app);
13
44 <meta name="fc:frame" content={JSON.stringify(embedMetadata(baseUrl, path))} />
45 <link rel="icon" href={baseUrl + "/icon"} />
46 <meta property="og:image" content={baseUrl + "/image"} />
47 </head>
48 <body class="bg-white text-black dark:bg-black dark:text-white">

MiniAppStarterimage.tsx12 matches

@Prass•Updated 3 days ago
5import satori from 'npm:satori'
6
7export function handleImageEndpoints(app: Hono) {
8 const headers = {
9 'Content-Type': 'image/png',
10 'cache-control': 'public, max-age=86400',
11 }
12 app.get('/image', async (c) => {
13 return c.body(await homeImage(), 200, headers)
14 })
15 app.get('/icon', async (c) => {
16 const rounded = !!c.req.query('rounded')
17 return c.body(await iconImage(rounded), 200, headers)
18 })
19}
20
21export async function homeImage() {
22 return await ogImage(
23 <div tw="w-full h-full flex justify-start items-end text-[100px] bg-black text-white p-[50px]">
24 <div tw="flex flex-col items-start">
32}
33
34export async function iconImage(rounded = false) {
35 const roundedClass = rounded ? 'rounded-[96px]' : ''
36 return await ogImage(
37 <div
38 tw={`w-full h-full flex justify-center items-center text-[100px] bg-[#7c65c1] text-white p-[50px] ${roundedClass}`}
49//////////
50
51export async function ogImage(body, options = {}) {
52 const svg = await satori(body, {
53 width: 945,
59 if (code === 'emoji') {
60 const unicode = segment.codePointAt(0).toString(16).toUpperCase()
61 return `data:image/svg+xml;base64,` + btoa(await loadEmoji(unicode))
62 }
63 return ''
95 const base64 = Buffer.from(svg).toString('base64')
96 // console.log('getIconDataUrl', name, svg, base64)
97 return `data:image/svg+xml;base64,${base64}`
98}
99

MiniAppStarterfarcaster.ts4 matches

@Prass•Updated 3 days ago
5export const name = "Mini App Demo";
6// export const iconUrl = "https://imgur.com/TrJLlwp.png";
7// export const ogImageUrl = "https://imgur.com/xKVOVUE.png";
8
9export function embedMetadata(baseUrl: string, path: string = "/") {
10 return {
11 version: "next",
12 imageUrl: baseUrl + "/image",
13 button: {
14 title: name,
17 name: name,
18 url: baseUrl + path,
19 splashImageUrl: baseUrl + "/icon",
20 splashBackgroundColor: "#111111",
21 },
55 "iconUrl": baseUrl + "/icon",
56 "homeUrl": baseUrl,
57 "splashImageUrl": baseUrl + "/icon?rounded=1",
58 "splashBackgroundColor": "#111111",
59 "primaryCategory": "developer-tools",

stevensDemoREADME.md1 match

@kvrt•Updated 3 days ago
3It's common to have code and types that are needed on both the frontend and the backend. It's important that you write this code in a particularly defensive way because it's limited by what both environments support:
4
5![shapes at 25-02-25 11.57.13.png](https://imagedelivery.net/iHX6Ovru0O7AjmyT5yZRoA/75db1d51-d9b3-45e0-d178-25d886c10700/public)
6
7For example, you *cannot* use the `Deno` keyword. For imports, you can't use `npm:` specifiers, so we reccomend `https://esm.sh` because it works on the server & client. You *can* use TypeScript because that is transpiled in `/backend/index.ts` for the frontend. Most code that works on the frontend tends to work in Deno, because Deno is designed to support "web-standards", but there are definitely edge cases to look out for.

stevensDemoREADME.md1 match

@kvrt•Updated 3 days ago
21## `favicon.svg`
22
23As of this writing Val Town only supports text files, which is why the favicon is an SVG and not an .ico or any other binary image format. If you need binary file storage, check out [Blob Storage](https://docs.val.town/std/blob/).
24
25## `components/`

stevensDemoindex.ts15 matches

@kvrt•Updated 3 days ago
73});
74
75// --- Blob Image Serving Routes ---
76
77// GET /api/images/:filename - Serve images from blob storage
78app.get("/api/images/:filename", async (c) => {
79 const filename = c.req.param("filename");
80
81 try {
82 // Get image data from blob storage
83 const imageData = await blob.get(filename);
84
85 if (!imageData) {
86 return c.json({ error: "Image not found" }, 404);
87 }
88
90 let contentType = "application/octet-stream"; // Default
91 if (filename.endsWith(".jpg") || filename.endsWith(".jpeg")) {
92 contentType = "image/jpeg";
93 } else if (filename.endsWith(".png")) {
94 contentType = "image/png";
95 } else if (filename.endsWith(".gif")) {
96 contentType = "image/gif";
97 } else if (filename.endsWith(".svg")) {
98 contentType = "image/svg+xml";
99 }
100
101 // Return the image with appropriate headers
102 return new Response(imageData, {
103 headers: {
104 "Content-Type": contentType,
107 });
108 } catch (error) {
109 console.error(`Error serving image ${filename}:`, error);
110 return c.json(
111 { error: "Failed to load image", details: error.message },
112 500,
113 );

girocode2 file matches

@fxfr•Updated 11 hours ago
Returns EPC QR codes (aka GiroCode) as images
compare-images

compare-images2 file matches

@eeeps•Updated 3 days ago
Compare two images and show some metadata about ’em
Chrimage
Atiq
"Focal Lens with Atig Wazir" "Welcome to my photography journey! I'm Atiq Wazir, a passionate photographer capturing life's beauty one frame at a time. Explore my gallery for stunning images, behind-the-scenes stories, and tips & tricks to enhance your own