Simple implementation of a Twitter-Wall like grid of postings from Mastodon
| favicon.ico | ||
| index.html | ||
| LICENSE | ||
| README.md | ||
| script.js | ||
| styles.css | ||
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
-
Clone repository or download files
git clone https://codeberg.org/Tealk/fedidatewall.git cd FediLove -
Start local web server
# With Python 3 python3 -m http.server 8000 -
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:
- Fork the repository
- Create a feature branch
- Commit your changes
- 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 ❤️