Simple implementation of a Twitter-Wall like grid of postings from Mastodon
Find a file
2025-09-23 22:27:51 +02:00
favicon.ico add favicon 2025-09-23 22:27:51 +02:00
index.html add favicon 2025-09-23 22:27:51 +02:00
LICENSE init 2025-09-23 21:43:46 +02:00
README.md rename to FediLove 2025-09-23 21:58:16 +02:00
script.js optimization API call 2025-09-23 22:22:49 +02:00
styles.css drop comments in css 2025-09-23 22:16:42 +02:00

FediLove - Dating Hashtag Wall

A modern, responsive web application for displaying dating posts from the Fediverse (Mastodon) based on specific hashtags.

📋 Overview

FediLove displays dating posts from Mastodon in a clean multi-column layout. Each column represents a specific dating category based on the #XSeeksY schema, where X and Y represent different gender identities.

Features

🎨 Design & UX

  • Responsive Design - Works on desktop, tablet, and mobile
  • Dark/Light/Auto Mode - Automatic system theme adaptation or manual selection
  • Bootstrap 5.3 - Modern UI components
  • Smooth Animations - Hover effects and transitions

🔄 Updates

  • Automatic Refresh - Configurable intervals (1-30 minutes)
  • Manual Refresh - Instant refresh button
  • Status Display - Shows last and next update times
  • Persistent Settings - Saves preferences in browser

📊 Functionality

  • Post Counter - Shows number of posts per hashtag
  • Color Coding - Different colors for better overview
  • Clickable Posts - Opens original post on Mastodon
  • Error Handling - Graceful error handling for API issues

🚀 Installation & Setup

Prerequisites

  • Modern web browser (Chrome 112+, Firefox 117+, Safari 16.5+)
  • Local web server (recommended for API access)

Quick Start

  1. Clone repository or download files

    git clone https://codeberg.org/Tealk/fedidatewall.git
    cd FediLove
    
  2. Start local web server

    # With Python 3
    python3 -m http.server 8000
    
  3. Open in browser

    http://localhost:8000
    

File Structure

FediLove/
├── index.html          # Main HTML file
├── script.js           # JavaScript logic
├── styles.css          # Custom CSS styles
├── README.md           # This file
└── LICENSE             # MIT License

⚙️ Configuration

Hashtag Configuration

Hashtags can be customized in script.js within the hashtagConfig array:

hashtagConfig: [
  {
    tag: "WSuchtM",
    label: "#WSuchtM",
    color: "primary",
    description: "Women seeking Men",
  },
  // Additional hashtags...
];

Server Configuration

By default, mastodon.social is used. This can be changed:

serverUrl: "https://your-mastodon-instance.com";

Additional Settings

postsPerHashtag: 30,    // Number of posts per hashtag
apiDelay: 1000,         // Delay between API calls (ms)

🎛️ User Interface

Theme Selection

  • ☀️ Light - Light mode
  • 🌓 Auto - Follows system theme
  • 🌙 Dark - Dark mode

Refresh Interval

  • 1-30 minutes - Automatic refresh
  • Disabled - Manual refresh only
  • Instant Button - Manual refresh

🔧 Technical Details

Technologies Used

  • HTML5 - Semantic structure
  • CSS3 - Native CSS Nesting, Custom Properties
  • JavaScript (ES6+) - Modern JavaScript features
  • Bootstrap 5.3 - UI framework with Dark Mode
  • Bootstrap Icons - Icon set
  • Mastodon API - Data source

API Usage

The application uses the public Mastodon API:

GET /api/v1/timelines/tag/{hashtag}?limit={limit}

🤝 Contributing

Contributions are welcome! Please:

  1. Fork the repository
  2. Create a feature branch
  3. Commit your changes
  4. Create a pull request

Development Guidelines

  • Use modern JavaScript features
  • Keep CSS minimal (Bootstrap first)
  • Document new features
  • Test across different browsers

📄 License

This project is licensed under the MIT License. See MIT-LICENSE for details.


FediLove - Connecting people in the Fediverse ❤️