FeaturesTemplatesShowcaseTownie
AI
BlogDocsPricing
Log inSign up
pomdtr
pomdtrblog
Public
Like
3
blog
Home
Code
2
README.md
H
main.tsx
Branches
1
Pull requests
Remixes
1
History
Environment variables
Settings
Val Town is a collaborative website to build and scale JavaScript apps.
Deploy APIs, crons, & store data – all from the browser, and deployed in miliseconds.
Sign up now
Code
/
Code
/
Search
main.tsx
https://pomdtr--62ea6492277f11f0b46e569c3dd06744.web.val.run
README.md

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.

HTTP
  • main.tsx
    pomdtr--62…44.web.val.run
Code
README.md
H
main.tsx
Go to top
X (Twitter)
Discord community
GitHub discussions
YouTube channel
Bluesky
Product
FeaturesPricing
Developers
DocsStatusAPI ExamplesNPM Package Examples
Explore
ShowcaseTemplatesNewest ValsTrending ValsNewsletter
Company
AboutBlogCareersBrandhi@val.town
Terms of usePrivacy policyAbuse contact
© 2025 Val Town, Inc.