slowdon
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.
main.tsx
https://keheliya--32288bf827b211f0aecd569c3dd06744.web.val.run
A minimalist, high-contrast, and read-only Mastodon client specifically optimized for e-ink displays (like the Kindle Scribe, Onyx Boox, etc.) and slow connections.
- High Contrast Design: Strictly monochrome (black & white) UI to prevent ghosting and improve readability.
- Typography: Prioritizes e-ink friendly fonts like Bookerly and Amazon Ember.
- Touch-First: Large touch targets (min 50px) and dedicated "Page Up" / "Page Down" side buttons for easy navigation on devices without physical page-turn buttons.
- Instant Scrolling: Disabled smooth scrolling to prevent e-ink refresh lag and motion sickness.
- Lightweight: Built with vanilla HTML/CSS/JS. No heavy frameworks.
- Smart Caching: Posts are cached in memory to allow instant toggling of view settings without re-fetching data.
- Bandwidth Friendly: Media is hidden by default (configurable) to save data and speed up loading.
- Media Toggles:
- Global "IMG/TXT" toggle to show or hide all images.
- Per-post "Show Media" buttons when in text-only mode.
- Tap-to-Hide: Tap any open image to collapse it back to a button.
- Emoji Support:
- Full support for Custom Mastodon Emojis.
- Twemoji integration (using PNGs) ensures standard emojis render correctly on devices with limited font support.
- Clean Layout: Links are simplified to show only the domain name. Relative timestamps (e.g., "2h", "now") keep the interface uncluttered.
The application requires the following environment variables to be set in your Val Town environment:
MASTODON_TOKEN: Your Mastodon API access token.MASTODON_INSTANCE: The domain of your Mastodon instance (e.g.,fosstodon.org).
Built on Val Town using Deno.