tijs_org
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.
Viewing readonly version of main branch: v122View latest version
A modern React website for tijs.org with server-side rendering, optimized for hosting on val.town.
- š± Responsive Design - Grid layouts optimized for desktop (3 columns) and mobile (1 column)
- š Dynamic Blog Posts - Fetches latest posts from Leaflet publication JSON feed
- š AT Protocol Integration - Displays book updates from Bookhive via AT Protocol records
- ā” Server-Side Rendering - Fast initial page loads with React SSR
- šļø Smart Caching - 1-hour server-side cache for external data sources
- šØ Component-Based Architecture - Clean, reusable React components
- š§ Environment Configuration - Configurable via environment variables
index.tsx
- Main server handler with SSR, data fetching, and cachingApp.tsx
- Root app component with global stylescomponents/
- Reusable React components:ProfileHeader.tsx
- Profile image and personal infoPostsSection.tsx
- Latest blog posts with Leaflet themeBookSection.tsx
- Recent book updates with Bookhive themeAppsSection.tsx
- Personal app showcaseOpenSourceSection.tsx
- GitHub project highlightsExternalLinks.tsx
- Social media and contact links
Configure these in your val.town environment:
ATPROTO_HANDLE
- Your AT Protocol handle for book records (default: "tijs.org")LEAFLET_PUB_JSON
- Your Leaflet publication JSON feed URL (default: "https://tijs.leaflet.pub/json")
- Blog Posts: Fetched from Leaflet publication JSON feed
- Book Updates: Retrieved via AT Protocol from Bookhive records
- GitHub Projects: Curated list with links to repositories
- Apps: Static showcase of personal applications
Uses Deno with automated deployment:
deno task deploy # Runs lint, format, and val.town push
- React 18 with server-side rendering
- Deno runtime environment
- AT Protocol API for decentralized data
- TypeScript for type safety
- CSS-in-JS for component styling
- Val.town for hosting and deployment
- Main Site: Purple/pink theme (#ff0066, #6a0066, #934790, #e8d4b7)
- Blog Posts: Leaflet publication colors (blue accents)
- Book Updates: Bookhive colors (warm cream/brown theme)
The site uses a hybrid approach:
- Server-side rendering for fast initial loads
- Component-level caching for external API calls
- Responsive grid layouts for optimal viewing on all devices
- Environment-based configuration for easy customization