21const mat2 m = mat2( 1.6, 1.2, -1.2, 1.6 );
22
23// Hash function generates pseudo-random 2D vector
24vec2 hash( vec2 p ) {
25 p = vec2(dot(p,vec2(127.1,311.7)), dot(p,vec2(269.5,183.3)));
28}
29
30// Simplex noise function (gradient noise)
31float noise( vec2 p ) { // Removed 'in' qualifier for GLSL 1.0
32 const float K1 = 0.366025404; // (sqrt(3)-1)/2;
114
115// --- React Component ---
116function App() {
117 const canvasRef = useRef<HTMLCanvasElement>(null);
118 // No mouse input needed for this version
200 console.log("Position buffer created.");
201
202 // --- Resize Function ---
203 const resizeCanvasToDisplaySize = () => {
204 if (!canvas) return false;
279
280// --- Client Entry ---
281function client() {
282 const rootElement = document.getElementById("root");
283 if (!rootElement) {
298 canvas { display: block; width: 100%; height: 100%; }
299`;
300export default async function server(request: Request): Promise<Response> {
301 const valUrl = import.meta.url;
302 return new Response(
5import { BodyWrapper, Content, Footer, Header, Headline } from "../components.tsx";
6
7function getWeatherCondition(code: number): string {
8 const conditions: { [key: number]: string } = {
9 0: "Clear sky",
27}
28
29function Render({ weather }: { weather: WEATHER_FORECAST }) {
30 return (
31 <html>
54}
55
56export default async function(req: Request): Promise<Response> {
57 // You can find your coordinates here: https://www.latlong.net/
58 const latitude = 37.5296;
27};
28
29export default async function(
30 req: Request,
31 latitude: number = 37.5296,
5#### Python code for display available at https://github.com/michaelwschultz/eink-frame
6
7## Functioning Hardware
8
9| News | NASA Photo of the Day |
6
7// REQUIRES API KEY - see api/news.ts
8function Render({ news }: { news: Record<string, any> }) {
9 const line = "To be taught if fortunate";
10
33}
34
35export default async function(req: Request): Promise<Response> {
36 const data = await GetNews(req).then((res: any) => res.json());
37
3const GUARDIAN_API_KEY = Deno.env.get("GUARDIAN_API_KEY");
4
5export default async function(req: Request): Promise<Response> {
6 const url = new URL(req.url);
7 const pageSize = url.searchParams.get("pagesize");
6import generateImageFromHtml from "./generateImageFromHtml.ts";
7
8export default async function(req: Request) {
9 const url = new URL(req.url);
10 const isImageRequest = url.searchParams.get("generate") === "image";
6
7// NOTE: Hemolog.com is a medication logging app for poeople with Hemophilia, like me 👋.
8function Render({ data }: { data: HEMOLOG_TREATMENT[] }) {
9 return (
10 <html>
41}
42
43export default async function(req: Request): Promise<Response> {
44 const data: HEMOLOG_TREATMENT[] = await GetLogs(req).then((res: any) => res.json());
45 const html = renderToString(<Render data={data} />);
16};
17
18export default async function(req: Request): Promise<Response> {
19 const url = new URL(req.url);
20
3
4// TODO: Add caching of image
5export default async function generateImageFromHtml(
6 valUrl: string,
7 width: number = 800,
A helper function to build a file's email
Simple functional CSS library for Val Town
import { OpenAI } from "https://esm.town/v/std/openai";
export default async function(req: Request): Promise<Response> {
if (req.method === "OPTIONS") {
return new Response(null, {
headers: {
"Access-Control-Allow-Origin": "*",
LangChain (https://langchain.com) Ambassador, KubeSphere (https://kubesphere.io) Ambassador, CNCF OpenFunction (https://openfunction.dev) TOC Member.