Files
emoji-suche/app.py
Markus 214afc54f3 Initial commit: Emoji-Sucher Web-App
- Flask-Backend mit Emoji-Suche implementiert
- Responsive Frontend mit modernem UI
- Mehrsprachige Suche (Deutsch/Englisch)
- Clipboard-Integration für Emoji-Kopieren
- Docker-Support mit Dockerfile und docker-compose.yml
- Vollständige Dokumentation in README.md
- .gitignore für Python-Projekt konfiguriert

Features:
- Suche nach 4733+ Emojis
- Große Emoji-Darstellung
- Ein-Klick-Kopieren in Zwischenablage
- Unicode-Anzeige für jedes Emoji
- Responsive Design für alle Geräte
2025-09-27 12:09:56 +02:00

66 lines
2.0 KiB
Python

from flask import Flask, render_template, request, jsonify
import emoji
import json
app = Flask(__name__)
# Emoji-Datenbank laden
def load_emoji_data():
"""Lädt alle verfügbaren Emojis mit ihren Namen und Unicode-Werten"""
emoji_data = []
# Alle Emojis aus der emoji-Bibliothek holen
for emoji_char, emoji_info in emoji.EMOJI_DATA.items():
# emoji_info ist ein Dictionary mit verschiedenen Sprachen
emoji_name = emoji_info.get('en', '').replace(':', '')
if emoji_name:
# Unicode für das erste Zeichen des Emojis (für zusammengesetzte Emojis)
unicode_value = ord(emoji_char[0])
emoji_data.append({
'name': emoji_name,
'char': emoji_char,
'unicode': f"U+{unicode_value:04X}",
'description': emoji_name.replace('_', ' ').title(),
'de': emoji_info.get('de', '').replace(':', '') # Deutsche Namen hinzufügen
})
return emoji_data
# Emoji-Daten beim Start laden
EMOJI_DATABASE = load_emoji_data()
@app.route('/')
def index():
return render_template('index.html')
@app.route('/search')
def search_emojis():
query = request.args.get('q', '').lower()
if not query:
return jsonify([])
# Emojis nach Suchbegriff filtern
results = []
for emoji_item in EMOJI_DATABASE:
# Suche in englischen Namen und Beschreibungen
if (query in emoji_item['name'].lower() or
query in emoji_item['description'].lower()):
results.append(emoji_item)
continue
# Suche in deutschen Namen (falls verfügbar)
if 'de' in emoji_item and query in emoji_item['de'].lower():
results.append(emoji_item)
# Ergebnisse begrenzen für bessere Performance
return jsonify(results[:50])
@app.route('/api/emojis')
def get_all_emojis():
"""API-Endpoint für alle Emojis (für Debugging)"""
return jsonify(EMOJI_DATABASE)
if __name__ == '__main__':
app.run(debug=True, host='0.0.0.0', port=5000)