FeaturesTemplatesShowcaseTownie
AI
BlogDocsPricing
Log inSign up
paulkinlan
paulkinlanpostherous
https://posthero.us - an email powered blogging system
Public
Like
6
postherous
Home
Code
5
backend
3
frontend
4
shared
2
README.md
E
email.ts
Branches
1
Pull requests
Remixes
4
History
Environment variables
9
Val Town is a collaborative website to build and scale JavaScript apps.
Deploy APIs, crons, & store data – all from the browser, and deployed in milliseconds.
Sign up now
Code
/
README.md
Code
/
README.md
Search
7/10/2025
Viewing readonly version of main branch: v21
View latest version
README.md

Email Blog Platform

A modern blog platform inspired by Posterous that allows publishing posts via email.

Features

  • Email-to-Publish: Send an email to publish posts instantly
  • Multi-format Support: HTML and plain text posts
  • RSS Feed: Full RSS 2.0 support for syndication
  • WebSub: Real-time feed updates via WebSub protocol
  • ActivityPub: Federated social networking support
  • AT Protocol: Bluesky integration for cross-platform syndication
  • SEO Friendly: Clean URLs with slugified titles
  • Responsive Design: Mobile-first responsive interface

Architecture

Backend (/backend/)

  • index.ts - Main Hono server with API routes
  • database/ - SQLite schema and query functions
  • routes/ - Modular route handlers
  • services/ - External service integrations (WebSub, ActivityPub, AT Protocol)

Frontend (/frontend/)

  • index.html - Main blog interface
  • components/ - React components for blog UI
  • style.css - Custom styling

Email Handler (/email.ts)

  • Email trigger handler for processing incoming posts

Usage

  1. Publishing via Email: Send an email to the configured address

    • Subject becomes the post title
    • Body becomes the post content (HTML preferred)
    • From address becomes the author
  2. Viewing Posts: Visit the main site to see all published posts

  3. RSS Feed: Access /rss for the RSS feed

  4. Individual Posts: Access posts via /post/[slug]

Environment Variables

  • WEBSUB_HUB_URL - WebSub hub URL (optional)
  • ACTIVITYPUB_DOMAIN - Domain for ActivityPub federation (optional)
  • ATPROTO_HANDLE - AT Protocol handle (optional)
  • ATPROTO_PASSWORD - AT Protocol app password (optional)
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.