Restored to '7aa09373aacdcc1083018c718e608e30b6be2b33'
Replit-Restored-To: 7aa09373aa
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
# news.folx.tv - MSN-Style News Portal
|
||||
# news.folx.tv - Blog Platform
|
||||
|
||||
## Overview
|
||||
A professional MSN-style news portal for Folx Music Television (news.folx.tv). Dark-themed bento grid layout with content for folk music (Volksmusik/Schlager) fans. Features articles, videos, photo gallery, horoscope widget + subpage, recipe widget + subpage, Google News feed, and integrated AdSense ads. All content is hardcoded in seed for production deployments.
|
||||
A clean, modern blog/news platform for Folx Music Television (news.folx.tv). Dark-themed, content-first design inspired by Medium and The Verge, with support for video embeds from bunny.net, Facebook, Instagram, and TikTok.
|
||||
|
||||
## Architecture
|
||||
- **Frontend**: React + Vite + TailwindCSS + shadcn/ui (dark mode)
|
||||
@@ -10,17 +10,14 @@ A professional MSN-style news portal for Folx Music Television (news.folx.tv). D
|
||||
- **Routing**: wouter (frontend), Express (backend API)
|
||||
|
||||
## Key Features
|
||||
- MSN-style bento grid homepage with mixed article/widget layout
|
||||
- FeaturedCarousel with 5 article pages (page 2 = wide layout) + gallery page
|
||||
- Photo gallery widget (547 Dropbox images) with fullscreen lightbox carousel
|
||||
- Horoscope widget with element colors, star ratings, full /horoskop subpage
|
||||
- Recipe widget + full /rezepte subpage (21 recipes across 5 regions: Österreich, Bayern, Schwaben/Baden, Südtirol/Alpen, Norddeutschland) with AI-generated images
|
||||
- Google News RSS widget (Volksmusik/Schlager news, 5 items, auto-rotate)
|
||||
- Google AdSense integration (ca-pub-4465464714854276)
|
||||
- Article listing with featured carousel and category filtering
|
||||
- Article listing with featured carousel, grid layout, and popular sidebar
|
||||
- Individual article pages with full HTML content rendering
|
||||
- Category filtering (News, Star-News)
|
||||
- HTML content supports embedded iframes (bunny.net, YouTube, Facebook, Instagram, TikTok)
|
||||
- DOMPurify sanitization for safe HTML rendering
|
||||
- Image upload endpoint (multer) for article images
|
||||
- Responsive design with mobile navigation
|
||||
- SEO meta tags
|
||||
|
||||
## Data Model
|
||||
- `articles`: id (serial), title, slug (unique), excerpt, content (HTML), coverImage, category, author, featured, views, publishedAt
|
||||
@@ -35,57 +32,27 @@ A professional MSN-style news portal for Folx Music Television (news.folx.tv). D
|
||||
- `PATCH /api/articles/:id` - Update article
|
||||
- `DELETE /api/articles/:id` - Delete article
|
||||
- `POST /api/upload` - Upload image file
|
||||
- `GET /api/gallery` - Shuffled Dropbox gallery images
|
||||
- `GET /api/news-feed` - Google News RSS feed for Volksmusik/Schlager
|
||||
- `GET /api/videos` - BunnyCDN video list
|
||||
- `GET /api/videos/:guid` - BunnyCDN video details
|
||||
|
||||
## File Structure
|
||||
- `shared/schema.ts` - Drizzle schema + Zod validation
|
||||
- `server/db.ts` - Database connection
|
||||
- `server/storage.ts` - Storage interface + DatabaseStorage
|
||||
- `server/routes.ts` - API routes + gallery + news feed
|
||||
- `server/seed.ts` - Hardcoded seed data (articles)
|
||||
- `server/gallery-data.json` - 547 Dropbox gallery images
|
||||
- `client/src/pages/home.tsx` - MSN-style bento grid homepage
|
||||
- `server/db.ts` - Database connection (pg Pool)
|
||||
- `server/storage.ts` - Storage interface + DatabaseStorage implementation
|
||||
- `server/routes.ts` - API routes + file upload (multer)
|
||||
- `server/seed.ts` - Seed data for initial articles
|
||||
- `client/src/pages/home.tsx` - Homepage
|
||||
- `client/src/pages/article.tsx` - Article detail page
|
||||
- `client/src/pages/category.tsx` - Category listing page
|
||||
- `client/src/pages/videos.tsx` - Videos page
|
||||
- `client/src/pages/gallery.tsx` - Full gallery page
|
||||
- `client/src/pages/horoscope.tsx` - Full horoscope page (12 signs, love/career/health, weekly/monthly)
|
||||
- `client/src/pages/recipes.tsx` - Full recipes page (21 recipes, 5 regions, AI-generated images)
|
||||
- `client/src/lib/horoscope-data.ts` - Shared horoscope data (signs, texts, helpers)
|
||||
- `client/src/components/header.tsx` - Header with nav (Start, News, Video, Galerie, Horoskop, Rezepte)
|
||||
- `client/src/components/footer.tsx` - Footer with links
|
||||
- `client/src/components/photo-gallery.tsx` - Gallery widget + lightbox carousel
|
||||
- `client/src/components/horoscope-widget.tsx` - Horoscope widget with element colors
|
||||
- `client/src/components/recipe-widget.tsx` - Recipe widget with modal
|
||||
- `client/src/components/news-widget.tsx` - Google News RSS widget
|
||||
- `client/src/components/adsense.tsx` - AdSense ad components
|
||||
- `client/src/components/header.tsx` - Site header with nav
|
||||
- `client/src/components/footer.tsx` - Site footer
|
||||
|
||||
## Homepage Layout (MSN Bento Grid)
|
||||
- Row 1: FeaturedCarousel (hero + side articles + TopStorys, page 2 = wide hero)
|
||||
- Row 2: 2 articles + PhotoGalleryWidget + RecipeWidget (mixed)
|
||||
- Row 3: HoroscopeWidget + 2 articles + NewsWidget (mixed)
|
||||
- Row 4: 3 articles + NativeAdCard
|
||||
- Row 5: 3 articles + NativeAdCard
|
||||
## Video Embeds
|
||||
Article content (HTML) supports iframe embeds. Allowed domains:
|
||||
- iframe.mediadelivery.net / video.bunny.net (Bunny.net)
|
||||
- www.facebook.com, www.instagram.com, www.tiktok.com
|
||||
- www.youtube.com, player.vimeo.com
|
||||
|
||||
## Branding
|
||||
- Dark theme (class="dark" on html)
|
||||
- Primary/brand color: crimson/red (RGB 218,35,77)
|
||||
- Background: 0 0% 5%, Card: 0 0% 9%
|
||||
- Dark theme by default (class="dark" on html)
|
||||
- Primary color: crimson/red (hsl 342 85% 53% light, hsl 9 75% 61% dark)
|
||||
- Font: Poppins
|
||||
- Logo: folx_MT_poz_b_1772296729169.png
|
||||
|
||||
## External Services
|
||||
- Bunny.net: Library 476412, CDN vz-7982dfc4-cc8.b-cdn.net (NO autoplay)
|
||||
- Google AdSense: ca-pub-4465464714854276
|
||||
- Dropbox: Gallery image thumbnails (547 images from 16 folders)
|
||||
- Google News RSS: Volksmusik/Schlager news feed
|
||||
|
||||
## Important Notes
|
||||
- Tailwind `object-[center_25%]` does NOT work — must use inline `style={{ objectPosition: "center 25%" }}`
|
||||
- Horoscope widget navigates to /horoskop on click (no modal)
|
||||
- News widget external links open in new tab (target="_blank")
|
||||
- FeaturedCarousel: page 1 = wide (5 cols, no side cards), last page = gallery
|
||||
- All images use `objectPosition: "center 25%"` for better face cropping
|
||||
- Logo: Folx TV branding image in header
|
||||
|
||||
Reference in New Issue
Block a user