4
5// Parse front matter from markdown content
6function parseFrontMatter(content: string): { metadata: BlogPostMetadata; content: string } {
7 const frontMatterRegex = /^---\n([\s\S]*?)\n---\n([\s\S]*)$/;
8 const match = content.match(frontMatterRegex);
33
34// Get all blog posts
35export async function getBlogPosts(): Promise<BlogPost[]> {
36 try {
37 const files = await listFiles(import.meta.url);
72
73// Get a specific blog post by slug
74export async function getBlogPost(slug: string): Promise<BlogPost | null> {
75 try {
76 const filePath = `/posts/${slug}.md`;
1export function isAdmin(password: string | null): boolean {
2 if (password) return password == Deno.env.get("PONDIVERSE_STORE_ADMIN_PASSWORD");
3 else return false;
12const isProd = false;
13
14export async function redditAlert({ lastRunAt }: Interval) {
15 if (!SERP_API_KEY || !DISCORD_API_KEY) {
16 console.error("Missing SERP_API_KEY or Discord webhook URL. Exiting.");
42 - Value: Your SERP API key.
43
44Without this key, the val will not function correctly.
45
46---
58- Key: `mentionsDiscord`
59- Value: Your Discord webhook URL.
60Notifications will be sent using this function:
61```
62 await discordWebhook({
8 * Val Town HTTP val – returns the mask-editor page.
9 */
10export default async function(req: Request): Promise<Response> {
11 const body = "<!DOCTYPE html>" + render(<HTML />);
12 return new Response(body, {
3import { useEffect, useRef, useState } from "npm:preact/hooks";
4
5export default function App() {
6 const [imageSrc, setImageSrc] = useState<string | null>(null);
7 const [ready, setReady] = useState(false);
4// import { h } from "preact";
5
6export function HTML() {
7 return (
8 <html>
4import { TABLE_NAME } from "./updateTable";
5
6export default async function(req: Request): Promise<Response> {
7 // body contains:
8 // - title (string)
2
3export const TABLE_NAME = "pondiverse_creations_v5";
4export default async function(req: Request): Promise<Response> {
5 await sqlite.execute(
6 `CREATE TABLE IF NOT EXISTS ${TABLE_NAME} (
1// main.tsx
2
3export default async function(req: Request): Promise<Response> {
4 const url = new URL(req.url);
5
A helper function to build a file's email
Simple functional CSS library for Val Town
LangChain (https://langchain.com) Ambassador, KubeSphere (https://kubesphere.io) Ambassador, CNCF OpenFunction (https://openfunction.dev) TOC Member.
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": "*",