diff --git a/Makefile b/Makefile
index 5025b34..86067a6 100644
--- a/Makefile
+++ b/Makefile
@@ -12,7 +12,7 @@ build:
mkdocs build
serve:
- mkdocs serve -a 0.0.0.0:8000
+ mkdocs serve --livereload -a 0.0.0.0:8000 -w overrides
clean:
rm -rf site .env
diff --git a/docs/assets/screenshots/bbc/bbc-article1-basic.png b/docs/assets/screenshots/bbc/bbc-article1-basic.png
deleted file mode 100644
index fff2ab7..0000000
Binary files a/docs/assets/screenshots/bbc/bbc-article1-basic.png and /dev/null differ
diff --git a/docs/assets/screenshots/bbc/bbc-article1-expanded.png b/docs/assets/screenshots/bbc/bbc-article1-expanded.png
deleted file mode 100644
index c1d6f17..0000000
Binary files a/docs/assets/screenshots/bbc/bbc-article1-expanded.png and /dev/null differ
diff --git a/docs/assets/screenshots/bbc/bbc-article2-basic.png b/docs/assets/screenshots/bbc/bbc-article2-basic.png
deleted file mode 100644
index 5fc76e7..0000000
Binary files a/docs/assets/screenshots/bbc/bbc-article2-basic.png and /dev/null differ
diff --git a/docs/assets/screenshots/bbc/bbc-article2-expanded.png b/docs/assets/screenshots/bbc/bbc-article2-expanded.png
deleted file mode 100644
index 5d95c04..0000000
Binary files a/docs/assets/screenshots/bbc/bbc-article2-expanded.png and /dev/null differ
diff --git a/docs/assets/screenshots/bbc/bbc-portal.jpg b/docs/assets/screenshots/bbc/bbc-portal.jpg
deleted file mode 100644
index 5572e4a..0000000
Binary files a/docs/assets/screenshots/bbc/bbc-portal.jpg and /dev/null differ
diff --git a/docs/assets/screenshots/bbc/portal-hover.png b/docs/assets/screenshots/bbc/portal-hover.png
deleted file mode 100644
index 1d474f5..0000000
Binary files a/docs/assets/screenshots/bbc/portal-hover.png and /dev/null differ
diff --git a/docs/assets/screenshots/lmstudio-rtx3060.png b/docs/assets/screenshots/lmstudio-rtx3060.png
index 61d7f11..e0854b7 100644
Binary files a/docs/assets/screenshots/lmstudio-rtx3060.png and b/docs/assets/screenshots/lmstudio-rtx3060.png differ
diff --git a/docs/assets/screenshots/portal/apollo-news.png b/docs/assets/screenshots/portal/apollo-news.png
index f843d81..3b564d5 100644
Binary files a/docs/assets/screenshots/portal/apollo-news.png and b/docs/assets/screenshots/portal/apollo-news.png differ
diff --git a/docs/assets/screenshots/portal/apollo-news_article1.png b/docs/assets/screenshots/portal/apollo-news_article1.png
new file mode 100644
index 0000000..36c69e8
Binary files /dev/null and b/docs/assets/screenshots/portal/apollo-news_article1.png differ
diff --git a/docs/assets/screenshots/portal/apollo-news_article2.png b/docs/assets/screenshots/portal/apollo-news_article2.png
new file mode 100644
index 0000000..78d944f
Binary files /dev/null and b/docs/assets/screenshots/portal/apollo-news_article2.png differ
diff --git a/docs/assets/screenshots/portal/bbc.png b/docs/assets/screenshots/portal/bbc.png
deleted file mode 100644
index df11300..0000000
Binary files a/docs/assets/screenshots/portal/bbc.png and /dev/null differ
diff --git a/docs/assets/screenshots/portal/heise.png b/docs/assets/screenshots/portal/heise.png
deleted file mode 100644
index 18dd889..0000000
Binary files a/docs/assets/screenshots/portal/heise.png and /dev/null differ
diff --git a/docs/assets/screenshots/portal/nypost.png b/docs/assets/screenshots/portal/nypost.png
new file mode 100644
index 0000000..1a192ad
Binary files /dev/null and b/docs/assets/screenshots/portal/nypost.png differ
diff --git a/docs/assets/screenshots/portal/nypost_article1.png b/docs/assets/screenshots/portal/nypost_article1.png
new file mode 100644
index 0000000..fd64c26
Binary files /dev/null and b/docs/assets/screenshots/portal/nypost_article1.png differ
diff --git a/docs/assets/screenshots/portal/nypost_article2.png b/docs/assets/screenshots/portal/nypost_article2.png
new file mode 100644
index 0000000..248b8a6
Binary files /dev/null and b/docs/assets/screenshots/portal/nypost_article2.png differ
diff --git a/docs/assets/screenshots/portal/nypost_context.png b/docs/assets/screenshots/portal/nypost_context.png
new file mode 100644
index 0000000..02902f3
Binary files /dev/null and b/docs/assets/screenshots/portal/nypost_context.png differ
diff --git a/docs/assets/screenshots/portal/nypost_lifecycle.png b/docs/assets/screenshots/portal/nypost_lifecycle.png
new file mode 100644
index 0000000..289e2d7
Binary files /dev/null and b/docs/assets/screenshots/portal/nypost_lifecycle.png differ
diff --git a/docs/assets/screenshots/portal/nypost_tag_cloud.png b/docs/assets/screenshots/portal/nypost_tag_cloud.png
new file mode 100644
index 0000000..47b4701
Binary files /dev/null and b/docs/assets/screenshots/portal/nypost_tag_cloud.png differ
diff --git a/docs/assets/screenshots/portal/nypost_vs_washington_post.png b/docs/assets/screenshots/portal/nypost_vs_washington_post.png
new file mode 100644
index 0000000..63b218d
Binary files /dev/null and b/docs/assets/screenshots/portal/nypost_vs_washington_post.png differ
diff --git a/docs/assets/screenshots/portal/nytimes.png b/docs/assets/screenshots/portal/nytimes.png
index 83a0b23..f5cb8cc 100644
Binary files a/docs/assets/screenshots/portal/nytimes.png and b/docs/assets/screenshots/portal/nytimes.png differ
diff --git a/docs/assets/screenshots/portal/nytimes_article1.png b/docs/assets/screenshots/portal/nytimes_article1.png
new file mode 100644
index 0000000..6d94fed
Binary files /dev/null and b/docs/assets/screenshots/portal/nytimes_article1.png differ
diff --git a/docs/assets/screenshots/portal/nytimes_article2.png b/docs/assets/screenshots/portal/nytimes_article2.png
new file mode 100644
index 0000000..3a963de
Binary files /dev/null and b/docs/assets/screenshots/portal/nytimes_article2.png differ
diff --git a/docs/assets/screenshots/portal/spiegel.png b/docs/assets/screenshots/portal/spiegel.png
deleted file mode 100644
index 308b6d7..0000000
Binary files a/docs/assets/screenshots/portal/spiegel.png and /dev/null differ
diff --git a/docs/assets/screenshots/portal/tagesschau.png b/docs/assets/screenshots/portal/tagesschau.png
index bd2b429..1cd0a83 100644
Binary files a/docs/assets/screenshots/portal/tagesschau.png and b/docs/assets/screenshots/portal/tagesschau.png differ
diff --git a/docs/assets/screenshots/portal/tagesschau_article1.png b/docs/assets/screenshots/portal/tagesschau_article1.png
new file mode 100644
index 0000000..02097c3
Binary files /dev/null and b/docs/assets/screenshots/portal/tagesschau_article1.png differ
diff --git a/docs/assets/screenshots/portal/tagesschau_article2.png b/docs/assets/screenshots/portal/tagesschau_article2.png
new file mode 100644
index 0000000..f1ed3f0
Binary files /dev/null and b/docs/assets/screenshots/portal/tagesschau_article2.png differ
diff --git a/docs/assets/screenshots/portal/tagesschau_context.png b/docs/assets/screenshots/portal/tagesschau_context.png
new file mode 100644
index 0000000..89ed65f
Binary files /dev/null and b/docs/assets/screenshots/portal/tagesschau_context.png differ
diff --git a/docs/assets/screenshots/portal/tagesschau_lifecycle.png b/docs/assets/screenshots/portal/tagesschau_lifecycle.png
new file mode 100644
index 0000000..f8e4314
Binary files /dev/null and b/docs/assets/screenshots/portal/tagesschau_lifecycle.png differ
diff --git a/docs/assets/screenshots/portal/tagesschau_tag_cloud.png b/docs/assets/screenshots/portal/tagesschau_tag_cloud.png
new file mode 100644
index 0000000..bd646b7
Binary files /dev/null and b/docs/assets/screenshots/portal/tagesschau_tag_cloud.png differ
diff --git a/docs/assets/screenshots/portal/tagesschau_vs_apollo-news.png b/docs/assets/screenshots/portal/tagesschau_vs_apollo-news.png
new file mode 100644
index 0000000..10b6d1a
Binary files /dev/null and b/docs/assets/screenshots/portal/tagesschau_vs_apollo-news.png differ
diff --git a/docs/assets/screenshots/rss-feed/updated.jpg b/docs/assets/screenshots/rss-feed/deframed.jpg
similarity index 100%
rename from docs/assets/screenshots/rss-feed/updated.jpg
rename to docs/assets/screenshots/rss-feed/deframed.jpg
diff --git a/docs/assets/screenshots/tagesschau/tagesschau-article1-basic.png b/docs/assets/screenshots/tagesschau/tagesschau-article1-basic.png
index feaf7e2..6cd00d2 100644
Binary files a/docs/assets/screenshots/tagesschau/tagesschau-article1-basic.png and b/docs/assets/screenshots/tagesschau/tagesschau-article1-basic.png differ
diff --git a/docs/assets/screenshots/tagesschau/tagesschau-article1-expanded.png b/docs/assets/screenshots/tagesschau/tagesschau-article1-expanded.png
index 4960b20..8e52ff6 100644
Binary files a/docs/assets/screenshots/tagesschau/tagesschau-article1-expanded.png and b/docs/assets/screenshots/tagesschau/tagesschau-article1-expanded.png differ
diff --git a/docs/assets/screenshots/tagesschau/tagesschau-article2-basic.png b/docs/assets/screenshots/tagesschau/tagesschau-article2-basic.png
index 6e2d3f8..dc2a988 100644
Binary files a/docs/assets/screenshots/tagesschau/tagesschau-article2-basic.png and b/docs/assets/screenshots/tagesschau/tagesschau-article2-basic.png differ
diff --git a/docs/assets/screenshots/tagesschau/tagesschau-article2-expanded.png b/docs/assets/screenshots/tagesschau/tagesschau-article2-expanded.png
index d8cfaa2..543d659 100644
Binary files a/docs/assets/screenshots/tagesschau/tagesschau-article2-expanded.png and b/docs/assets/screenshots/tagesschau/tagesschau-article2-expanded.png differ
diff --git a/docs/assets/social.png b/docs/assets/social.png
index 2d58199..ee6ba0a 100644
Binary files a/docs/assets/social.png and b/docs/assets/social.png differ
diff --git a/docs/de/index.md b/docs/de/index.md
index 5bdde09..8dc9f68 100644
--- a/docs/de/index.md
+++ b/docs/de/index.md
@@ -1,54 +1,61 @@
# News Deframer
-> :mega: **Hinweis:** Wir suchen einen [Sponsor](sponsors.md), um dieses Projekt in den USA zu hosten. :flag_us: :statue_of_liberty:
+> **Hinweis:** Wir suchen einen [Sponsor](sponsors.md), um dieses Projekt in den USA zu hosten.
-Der "News Deframer" ist ein sprachliches Analysetool, für alle Ihre präferierten Nachrichtenseiten. Mit Hilfe von LLMs analysiert es die Nachrichten Schlagzeilen. Die Anwendung besitzt zwei Verwendungsmöglichkeiten: einen **RSS-Feed-Proxy** und ein **Browser-Plugin**.
+Der „News Deframer“ ist ein sprachliches Analysetool für Ihre bevorzugten Nachrichtenseiten. Mithilfe von LLMs analysiert es Schlagzeilen und formuliert sie in neutraler Sprache neu.
-## Video
+> Ein Werbeblocker blockiert unerwünschte Werbung. Der News Deframer reduziert die mentale Wirkung von Clickbait, indem er die Portalseite großer Nachrichtenangebote durch neutral formulierte Inhalte ersetzt.
-[{ width="500" }](https://www.youtube.com/watch?v=flORP9WqgSw&vq=hd1080 "News Deframer Promo"){ .glightbox data-width="100%" data-height="100%" }
+## Was wir tun
-[:fontawesome-brands-youtube: Auf YouTube anschauen](https://www.youtube.com/watch?v=flORP9WqgSw){ target="_blank" }
+* Wir [ersetzen](showcases/index.md) die Portalseite.
+* Jede Schlagzeile wird in neutrale Sprache überführt (Reduktion von Clickbait, Reizüberflutung, Suggestion und Framing).
+* Integrierte [Trendanalyse](trends/index.md) zur Erkennung von Talking Points.
+* Vergleich verschiedener Nachrichtenportale, z. B. "Tagesschau" mit "Apollo News" oder "Bild" mit dem "Bayerischen Rundfunk".
+* Per Klick gelangen Sie zurück zum Originalartikel bzw. zur ursprünglichen Portalseite.
-## Wir ersetzen die Portalseite
+| | |
+| :---------------------------------------------------------------------------------: | :-----------------------------------------------------------------------------------: |
+|
|
|
+| [Showcase: Tagesschau](showcases/tagesschau.md) | [Showcase: Apollo News](showcases/apollo-news.md) |
-Ein Werbeblocker blockiert Werbung, die Sie nicht wollen. Der News Deframer neutralisiert die mentale Wirkung von Clickbait, indem er die Portalseite jedes großen Nachrichtennetzwerks durch neutrale Sprache ersetzt.
+## Video
-Ein Wert von 50% oder höher deutet auf signifikantes Framing durch Sprache hin. Mit anderen Worten: Sehr wahrscheinlich versucht ein geschulter Journalist Sie mit Worte zu manipulieren und die KI sagt wo und wie. Der Titel oder die Beschreibung sind Clickbait, Framing, Reizüberflutung oder dient einer Agenda.
+[{ width="500" }](https://www.youtube.com/watch?v=flORP9WqgSw&vq=hd1080 "News Deframer Promo"){ .glightbox data-width="100%" data-height="100%" }
-| | |
-| :---: | :---: |
-| **Apollo News** | **Heise** |
-|
|
|
-| **BBC** | **Tagesschau** |
-|
|
|
-| **Spiegel** | **NY Times** |
-|
|
|
+[Auf YouTube ansehen](https://www.youtube.com/watch?v=flORP9WqgSw){ target="_blank" }
-## Was dieses Projekt ist und was nicht
+## Was dieses Projekt ist – und was nicht
-- Es handelt sich **nicht** um einen Fake-News-Detektor! Es findet keine inhaltliche Überprüfung der Nachrichten statt.
-- Dieses Projekt verwendet ein LLM, das als neutraler Journalist operiert, um Inhalte auf Voreingenommenheit zu prüfen und die Einhaltung neutraler Sprache zu analysieren.
-- Wir verwenden offene [Prompts](https://github.com/deframer/news-deframer/blob/main/pkg/think/prompts) die auf jedem LLM ausgeführt werden können.
+* **Kein** Fake-News-Detektor: Es findet keine inhaltliche Faktenprüfung statt.
+* Ein LLM agiert als neutraler Journalist und analysiert Inhalte hinsichtlich sprachlicher Voreingenommenheit und Neutralität.
+* Es werden offene [Prompts](https://github.com/deframer/news-deframer/blob/main/pkg/think/prompts) verwendet, die mit unterschiedlichen LLMs ausgeführt werden können.
-## Warum ist eine Sprachanalyse geboten und effektiv
+## Sprachanalyse
-- Wir möchten dabei helfen, die emotionale Wirkung von Schlagzeilen zu vermindern.
-- Desinformation und Spekulation beruhen oft auf "Dark Patterns, Clickbait und emotionalen Triggern".
-- Autoren von Desinformation verwenden häufig verschleiernde, reißerische und vage Sprachmittel, um rechtliche Konsequenzen zu vermeiden, aber einen bestimmten Effekt beim Leser hervorzurufen.
+Warum Sprachanalyse wirksam ist:
-**Hinweis**: Es kann zu falsch-positiven / falsch-negativen Ergebnissen kommen.
+* Ziel ist es, die emotionale Wirkung von Schlagzeilen zu reduzieren.
+* Desinformation und Spekulation basieren häufig auf Dark Patterns, Clickbait und emotionalen Triggern.
+* Verfasser von Desinformation nutzen oft reißerische, vage oder verschleiernde Formulierungen, um rechtliche Konsequenzen zu vermeiden und dennoch eine bestimmte Wirkung zu erzielen.
+
+**Warnung:** Durch den Einsatz eines LLMs kann es zu falsch-positiven oder falsch-negativen Ergebnissen kommen. Im ungünstigsten Fall wird ein qualitativ hochwertiger Artikel übersehen oder ein Clickbait-Artikel nicht erkannt.
## Installation
Richten Sie Ihre eigene [Instanz](https://github.com/deframer/news-deframer/blob/main/docs/SETUP.md){ target="_blank" } ein.
-## Chrome Erweiterung
+## Funktionsweise
+
+Der News Deframer fungiert als RSS-Feed-Proxy. Die Schlagzeilen werden aus dem [RSS](rss-feed.md) eines Portals bezogen.
+Der Feed wird verarbeitet und durch neutral formulierte Schlagzeilen ersetzt. Diese aktualisierten Daten werden zudem vom **Browser-Plugin** verwendet, das die Portalseite der jeweiligen Nachrichtenquelle ersetzt.
+
+## Chrome-Erweiterung
-Installation der [Chrome Erweiterung](https://chromewebstore.google.com/detail/ffpibngfmnagagggbjpgjbmehhilfinp){ target="_blank" }.
+Installation der [Chrome-Erweiterung](https://chromewebstore.google.com/detail/ffpibngfmnagagggbjpgjbmehhilfinp){ target="_blank" }.
## Ressourcen
-- [Quellcode](https://github.com/deframer/news-deframer/)
-- [Fehlerbericht](https://github.com/deframer/news-deframer/issues)
-- [Lizenz](https://github.com/deframer/news-deframer/blob/main/LICENSE)
+* [Quellcode](https://github.com/deframer/news-deframer/)
+* [Fehler melden](https://github.com/deframer/news-deframer/issues)
+* [Lizenz](https://github.com/deframer/news-deframer/blob/main/LICENSE)
diff --git a/docs/de/screenshots/rss-feed.md b/docs/de/rss-feed.md
similarity index 85%
rename from docs/de/screenshots/rss-feed.md
rename to docs/de/rss-feed.md
index ab3b598..0e31b47 100644
--- a/docs/de/screenshots/rss-feed.md
+++ b/docs/de/rss-feed.md
@@ -4,15 +4,15 @@ Dieses Beispiel stammt aus dem Feed `https://rss.nytimes.com/services/xml/rss/ny
## Screenshots
-Es wurde `freshrss` verwendet um die Screenshots zu erzeugen. Der "News Deframer" neutralisiert den Ton jedes Artikels und stellt sicher, dass er sich als objektive Nachricht liest.
+Es wurde [freshrss](https://www.freshrss.org/){ target="_blank" } verwendet um die Screenshots zu erzeugen. Der "News Deframer" neutralisiert den Ton jedes Artikels und stellt sicher, dass er sich als objektive Nachricht liest.
-| Aktualisiert | Original |
+| Deframed | Original |
| :---: | :---: |
-|
|
|
+|
|
|
## Proxy XML-Feed
-Die KI analysiert den Upstream-Inhalt, liefert eine Begründung für ihre Bewertung und führt notwendige Ersetzungen durch, um die Sprache zu entschärfen.
+Die KI analysiert den Feed, liefert eine Begründung für ihre Bewertung und erzeugt eine neue Schlagzeile, um die Sprache zu entschärfen.
```xml
-
diff --git a/docs/de/screenshots/bbc.md b/docs/de/screenshots/bbc.md
deleted file mode 100644
index f9f30b7..0000000
--- a/docs/de/screenshots/bbc.md
+++ /dev/null
@@ -1,41 +0,0 @@
-# BBC
-
-- RSS-Feed `https://feeds.bbci.co.uk/news/world/rss.xml`
-
-## Portal
-
-Das Plugin überlagert die ursprüngliche Webseite, ohne den Inhalt zu verändern, und so eine ablenkungsfreie Darstellung zu schaffen.
-
-**Hauptmerkmale:**
-
-- **Neutralisierter Inhalt**: Sie sehen nicht die ursprünglichen, potenziell emotional aufgeladenen Titel oder Beschreibungen. Stattdessen generiert die KI neutrale Zusammenfassungen, die Sie informieren, anstatt Sie zu provozieren, zu empören oder anderweitig zu einer Tendenz zu bewegen.
-- **Sensations-Score**: Die Prozentanzeige stellt das Niveau des erkannten Sensationalismus oder der Voreingenommenheit im jeweiligen Artikel bzw. dessen Überschrift dar. Ein roter Indikator deutet auf ein relativ hohes Maß an Manipulation, Framing, Voreingenommenheit oder Fehlinformationen etc. hin.
-
-**Empfehlung**: Ein Score von 50 % oder höher deutet auf eine wenig vorliegende neutrale Berichterstattung hin. Wir empfehlen dann eine alternative Informationsquellen zum jeweiligen Thema zu suchen, um eine ausgewogenere Perspektive zu erhalten.
-
-
-
-**Schnelle Einblicke**: Wenn Sie mit dem Mauszeiger über die Prozentanzeige fahren, wird die detailliertere Analyse des "News Deframers" angezeigt. So können Sie weitere Informationen über die eingesetzten Sprachmittel und Absichten des Autors erfahren. Dies bietet mehr Anhalte dahingehend zu entscheiden, ob der vorliegende Artikel vollständig konsumiert oder aber übersprungen werden soll.
-
-
-
-## Artikel
-
-Sie behalten so die volle Kontrolle über Ihr Leseerlebnis. Das Plugin fängt die Navigation zu Artikel-URLs ab. Unabhängig davon, ob Sie über das Portal oder einen direkten Link auf den Artikel zugreifen, präsentiert der "News Deframer" immer zuerst die Analysevorschau, um Sie zu schützen.
-
-**Wichtiger Hinweis**: Das Plugin analysiert derzeit nur die Metadaten des RSS-Feeds (Titel und Beschreibung). Der Inhalt des Artikels bleibt unberührt. Zukünftige Updates können eine Volltext-KI-Analyse integrieren.
-
-- **"Verstecken"-Button**: Das schließt das Deframer-Overlay, um den ursprünglichen Artikel auf der Website des Herausgebers unverändert anzuzeigen.
-- **Geschützte Ansicht**: Standardmäßig sind dabei der ursprüngliche Titel und die Beschreibung ausgeblendet, um die emotionale Wirkung zu reduzieren. Sie können die Ansicht erweitern, um die Bewertung der KI und den Originaltext zu sehen.
-
-Artikel 1
-
-| Einfach | Erweitert |
-| :---: | :---: |
-|
|
|
-
-Artikel 2
-
-| Einfach | Erweitert |
-| :---: | :---: |
-|
|
|
diff --git a/docs/de/screenshots/tagesschau.md b/docs/de/screenshots/tagesschau.md
deleted file mode 100644
index d52f04c..0000000
--- a/docs/de/screenshots/tagesschau.md
+++ /dev/null
@@ -1,23 +0,0 @@
-# Tagesschau
-
-- RSS-Feed `https://www.tagesschau.de/index~rss2.xml`
-
-## Portal
-
-**Empfehlung**: Ein Score von 50 % oder höher dient als Warnung. Er deutet auf die Verwendung von Spekulationen, Framing oder Sensationslust hin. Wir empfehlen, den ursprünglichen Titel und die Beschreibung vollständig zu meiden und eine objektivere Quellen zu suchen. Dies deutet darauf hin, dass professionelle Techniken absichtlich eingesetzt werden, um Ihre Wahrnehmung zu manipulieren.
-
-
-
-## Artikel
-
-Artikel 1
-
-| Einfach | Erweitert |
-| :---: | :---: |
-|
|
|
-
-Artikel 2
-
-| Einfach | Erweitert |
-| :---: | :---: |
-|
|
|
diff --git a/docs/de/showcases/apollo-news.md b/docs/de/showcases/apollo-news.md
new file mode 100644
index 0000000..bc30220
--- /dev/null
+++ b/docs/de/showcases/apollo-news.md
@@ -0,0 +1,41 @@
+# Apollo News
+
+* RSS-Feed: `https://apollo-news.net/feed/`
+
+# Portal
+
+
+
+* **Portal-Ersatz**: Die Standard-Startseite wird vollständig durch die benutzerdefinierte Portalansicht ersetzt.
+* **Ausblenden-Button**: Mit dem Ausblenden-Button kann die ursprüngliche Startseite wieder angezeigt werden.
+
+## Artikel
+
+Artikel 1
+
+
+
+Artikel 2
+
+
+
+* **Artikel-Ersatz**: Wird die Artikel-URL erkannt, wird die komplette Artikelseite durch die benutzerdefinierte Ansicht ersetzt.
+* **Ausblenden-Button**: Mit dem Ausblenden-Button kann zur ursprünglichen Artikelseite zurückgekehrt werden.
+
+## Trendanalyse
+
+
+
+* **Tag-Cloud**: Zeigt die häufigsten Themen und Schlagwörter im ausgewählten Zeitraum.
+
+
+
+* **Lebenszyklus**: Nach Auswahl eines Trends aus der Tag-Cloud wird dessen zeitlicher Verlauf im gewählten Zeitraum dargestellt.
+
+
+
+* **Kontext**: Nach Auswahl eines Trends werden die zugehörigen Verben angezeigt, die verdeutlichen, wie der Begriff verwendet wird.
+
+
+
+* **Vergleich**: Eine bekannte Quelle in der gewählten Sprache kann mit einer anderen Quelle verglichen werden. Die Ansicht zeigt zentrale Themen, identifiziert blinde Flecken einer Quelle und hebt gemeinsame Schwerpunkte beider Quellen hervor.
diff --git a/docs/de/screenshots/index.md b/docs/de/showcases/index.md
similarity index 84%
rename from docs/de/screenshots/index.md
rename to docs/de/showcases/index.md
index aa48a40..da5fe3b 100644
--- a/docs/de/screenshots/index.md
+++ b/docs/de/showcases/index.md
@@ -1,9 +1,7 @@
-# Screenshots
+# Showcases
-## Browser-Plugin
-
-- [BBC](bbc.md)
- [Tagesschau](tagesschau.md)
+- [Apollo News](apollo-news.md)
## RSS Feed
@@ -14,8 +12,8 @@
Die folgende Konfiguration wurde verwendet, um diese Beispiele zu erstellen:
- **Hardware**: Mac Mini M1 (16GB RAM), unter macOS Tahoe 26.2
-- **Software**: [LM Studio](https://lmstudio.ai/) 0.3.39
-- **Modell**: [meta-llama-3.1-8b-instruct](https://huggingface.co/lmstudio-community/Meta-Llama-3.1-8B-Instruct-GGUF)
+- **Software**: [LM Studio](https://lmstudio.ai/) 0.4.2
+- **Modell**: [ministral-3-3b](https://huggingface.co/lmstudio-community/Ministral-3-3B-Instruct-2512-GGUF)
Das System verwendet diese [Prompts](https://github.com/deframer/news-deframer/tree/main/pkg/think/prompts/).
diff --git a/docs/de/showcases/tagesschau.md b/docs/de/showcases/tagesschau.md
new file mode 100644
index 0000000..f348f2a
--- /dev/null
+++ b/docs/de/showcases/tagesschau.md
@@ -0,0 +1,41 @@
+# Tagesschau
+
+* RSS-Feed: `https://www.tagesschau.de/infoservices/alle-meldungen-100~rss2.xml`
+
+# Portal
+
+
+
+* **Portal-Ersatz**: Die Standard-Startseite wird vollständig durch die benutzerdefinierte Portalansicht ersetzt.
+* **Ausblenden-Button**: Mit dem Ausblenden-Button kann die ursprüngliche Startseite wieder angezeigt werden.
+
+## Artikel
+
+Artikel 1
+
+
+
+Artikel 2
+
+
+
+* **Artikel-Ersatz**: Wird die Artikel-URL erkannt, wird die komplette Artikelseite durch die benutzerdefinierte Ansicht ersetzt.
+* **Ausblenden-Button**: Mit dem Ausblenden-Button kann zur ursprünglichen Artikelseite zurückgekehrt werden.
+
+## Trendanalyse
+
+
+
+* **Tag-Cloud**: Zeigt die häufigsten Themen und Schlagwörter im ausgewählten Zeitraum.
+
+
+
+* **Lebenszyklus**: Nach Auswahl eines Trends aus der Tag-Cloud wird dessen zeitlicher Verlauf im gewählten Zeitraum dargestellt.
+
+
+
+* **Kontext**: Nach Auswahl eines Trends werden die zugehörigen Verben angezeigt, die verdeutlichen, wie der Begriff verwendet wird.
+
+
+
+* **Vergleich**: Eine bekannte Quelle in der gewählten Sprache kann mit einer anderen Quelle verglichen werden. Die Ansicht zeigt zentrale Themen, identifiziert blinde Flecken einer Quelle und hebt gemeinsame Schwerpunkte beider Quellen hervor.
diff --git a/docs/de/trends/index.md b/docs/de/trends/index.md
new file mode 100644
index 0000000..18f5aed
--- /dev/null
+++ b/docs/de/trends/index.md
@@ -0,0 +1,17 @@
+# Trend Analyse
+
+
+
+* **Tag-Cloud**: Zeigt die häufigsten Themen und Schlagwörter im ausgewählten Zeitraum.
+
+
+
+* **Lebenszyklus**: Nach Auswahl eines Trends aus der Tag-Cloud wird dessen zeitlicher Verlauf im gewählten Zeitraum dargestellt.
+
+
+
+* **Kontext**: Nach Auswahl eines Trends werden die zugehörigen Verben angezeigt, die verdeutlichen, wie der Begriff verwendet wird.
+
+
+
+* **Vergleich**: Eine bekannte Quelle in der gewählten Sprache kann mit einer anderen Quelle verglichen werden. Die Ansicht zeigt zentrale Themen, identifiziert blinde Flecken einer Quelle und hebt gemeinsame Schwerpunkte beider Quellen hervor.
diff --git a/docs/en/index.md b/docs/en/index.md
index cef64a4..1a86c1e 100644
--- a/docs/en/index.md
+++ b/docs/en/index.md
@@ -1,52 +1,61 @@
+
# News Deframer
> :mega: **Note:** We are looking for a [Sponsor](sponsors.md) to host this project in the US. :flag_us: :statue_of_liberty:
-News Deframer will detect journalistic neutrality and framing in news articles. By leveraging Large Language Models (LLMs), it analyzes the news headlines. It can act as an **RSS Feed Proxy** or as a **browser plugin**.
+News Deframer analyzes journalistic neutrality and framing in news articles. By leveraging Large Language Models (LLMs), it evaluates and reformulates headlines in neutral language.
-## Video
+> An ad blocker removes unwanted advertisements. News Deframer reduces the mental impact of clickbait by replacing the portal page of major news networks with neutral wording.
-[{ width="500" }](https://www.youtube.com/watch?v=japh9-H29qY&vq=hd1080 "News Deframer Promo"){ .glightbox data-width="100%" data-height="100%" }
+## What we do
-[:fontawesome-brands-youtube: Watch on YouTube](https://www.youtube.com/watch?v=japh9-H29qY){ target="_blank" }
+- We [replace](showcases/index.md) the portal page.
+- Every headline is reformulated in neutral language (reducing clickbait, overstimulation, persuasion, and framing).
+- Built-in [trend analysis](trends/index.md) for detecting recurring talking points.
+- Comparison of major news outlets, e.g., "The New York Times" and the "New York Post" or CNN and Fox News.
+- One click restores the original article or the original portal page.
-## We replace the portal page
+| | |
+| :---: | :---: |
+|
|
|
+| [Open Showcase: The New York Times](showcases/nytimes.md) | [Open Showcase: New York Post](showcases/nypost.md) |
-An Ad-Blocker blocks ads you don't want. The News Deframer vaporizes the mental impact of clickbait by replacing the portal page of any major news network with neutral language.
+## Video
-A score of 50% or higher suggests significant bias. In other words: A trained professional journalist is using words to mess with you and the AI will telly you where and how. The title or the description is clickbait, framing, hyper stimulus or pushing an agenda.
+[{ width="500" }](https://www.youtube.com/watch?v=japh9-H29qY&vq=hd1080 "News Deframer Promo"){ .glightbox data-width="100%" data-height="100%" }
-| | |
-| :---: | :---: |
-| **Apollo News** | **Heise** |
-|
|
|
-| **BBC** | **Tagesschau** |
-|
|
|
-| **Spiegel** | **NY Times** |
-|
|
|
+[:fontawesome-brands-youtube: Watch on YouTube](https://www.youtube.com/watch?v=japh9-H29qY){ target="_blank" }
+
+## What this project is — and is not
-## What this project is and is not
+- This is **not** a fake news detector.
+- The system uses an LLM acting as a neutral journalist to assess linguistic bias and adherence to neutral language.
+- Open and transparent [prompts](https://github.com/deframer/news-deframer/blob/main/pkg/think/prompts) are used and can be executed with any compatible LLM.
-- This is **not** a fake news detector!
-- This project uses an LLM acting as a neutral journalist to analyze content for bias and adherence to neutral language.
-- We use open transparent [prompts](https://github.com/deframer/news-deframer/blob/main/pkg/think/prompts) that can be run on any LLM.
+## Language analysis
-## Why is language analysis effective
+Why language analysis is effective:
-- We aim to help you avoid engaging with questionable headlines.
+- It helps reduce engagement with emotionally manipulative headlines.
- Misinformation and speculation often rely on dark patterns, clickbait, and emotional triggers.
-- Authors of misinformation often use disguise and vague language to avoid legal repercussions.
+- Authors of misleading content frequently use vague or sensational language to avoid legal consequences while shaping perception.
-**WARNING**: We can have false positives / negatives.
+**Warning:** False positives and false negatives may occur. In the worst case, a valuable article may be filtered out or a clickbait article may pass through.
## Installation
Set up your own [instance](https://github.com/deframer/news-deframer/blob/main/docs/SETUP.md){ target="_blank" }.
+## How it works
+
+News Deframer functions as a drop-in RSS feed proxy. It retrieves headlines from a portal’s [RSS](rss-feed.md) feed, processes them, and replaces them with neutralized versions.
+
+The updated data is also used by the **browser plugin**, which replaces the portal page of the corresponding news source.
+
## Chrome Extension
Install the [Chrome Extension](https://chromewebstore.google.com/detail/ffpibngfmnagagggbjpgjbmehhilfinp){ target="_blank" }.
@@ -54,5 +63,5 @@ Install the [Chrome Extension](https://chromewebstore.google.com/detail/ffpibngf
## Resources
- [Source Code](https://github.com/deframer/news-deframer/)
-- [Bug Report](https://github.com/deframer/news-deframer/issues)
+- [Bug Reports](https://github.com/deframer/news-deframer/issues)
- [License](https://github.com/deframer/news-deframer/blob/main/LICENSE)
diff --git a/docs/en/screenshots/rss-feed.md b/docs/en/rss-feed.md
similarity index 90%
rename from docs/en/screenshots/rss-feed.md
rename to docs/en/rss-feed.md
index 17be77f..a8c1373 100644
--- a/docs/en/screenshots/rss-feed.md
+++ b/docs/en/rss-feed.md
@@ -4,11 +4,11 @@ This example is derived from the `https://rss.nytimes.com/services/xml/rss/nyt/W
## Screenshots
-The item is rendered by `freshrss`. Deframer neutralizes the tone of every article, ensuring it reads like objective news.
+The item is rendered by [freshrss](https://www.freshrss.org/){ target="_blank" }. Deframer neutralizes the tone of every article, ensuring it reads like objective news.
-| Updated | Original |
+| Deframed | Original |
| :---: | :---: |
-|
|
|
+|
|
|
## Proxy XML Feed
diff --git a/docs/en/screenshots/bbc.md b/docs/en/screenshots/bbc.md
deleted file mode 100644
index 3c4d6aa..0000000
--- a/docs/en/screenshots/bbc.md
+++ /dev/null
@@ -1,41 +0,0 @@
-# BBC
-
-- RSS feed `https://feeds.bbci.co.uk/news/world/rss.xml`
-
-## Portal
-
-The plugin overlays the original web page to provide a distraction-free environment.
-
-**Key Features:**
-
-- **Neutralized Content**: You will not see the original, potentially emotionally charged titles or descriptions. Instead, the AI generates neutral summaries designed to inform rather than provoke.
-- **Sensationalism Score**: The percentage indicator reveals the level of detected sensationalism or bias. A red indicator suggests high levels of manipulation, framing, bias, or misinformation.
-
-**Recommendation**: A score of 50% or higher suggests significant bias. We recommend seeking alternative sources for a more balanced perspective.
-
-
-
-**Quick Insights**: Hovering over the percentage bar reveals the detailed analysis from the News Deframer. This often provides enough context to skip the full article.
-
-
-
-## Article
-
-You retain full control over your reading experience. The plugin intercepts navigation to article URLs. Regardless of whether you access the article via the portal or a direct link, News Deframer always presents the analysis preview first to protect you.
-
-**Important Note**: The plugin currently analyzes only the RSS feed metadata (title and description). The body of the article remains untouched. Future updates may include full-text AI analysis triggered via human trusted flaggers.
-
-- **"Hide" Button**: Dismisses the Deframer overlay to reveal the original article on the publisher's site.
-- **Protected Viewing**: By default, the original title and description are hidden to reduce emotional impact. You can choose to expand the view to see the AI's reasoning and the original text.
-
-Article 1
-
-| Basic | Expanded |
-| :---: | :---: |
-|
|
|
-
-Article 2
-
-| Basic | Expanded |
-| :---: | :---: |
-|
|
|
diff --git a/docs/en/screenshots/tagesschau.md b/docs/en/screenshots/tagesschau.md
deleted file mode 100644
index 01c7ddd..0000000
--- a/docs/en/screenshots/tagesschau.md
+++ /dev/null
@@ -1,23 +0,0 @@
-# Tagesschau
-
-- RSS feed `https://www.tagesschau.de/index~rss2.xml`
-
-## Portal
-
-**Recommendation**: A score of 50% or higher serves as a warning. It indicates the use of speculation, framing, or sensationalism. We recommend avoiding the original title and description entirely and seeking more objective sources. This suggests that professional techniques are being intentionally employed to manipulate your perception.
-
-
-
-## Article
-
-Article 1
-
-| Basic | Expanded |
-| :---: | :---: |
-|
|
|
-
-Article 2
-
-| Basic | Expanded |
-| :---: | :---: |
-|
|
|
diff --git a/docs/en/screenshots/index.md b/docs/en/showcases/index.md
similarity index 82%
rename from docs/en/screenshots/index.md
rename to docs/en/showcases/index.md
index 37cfba6..4ca529f 100644
--- a/docs/en/screenshots/index.md
+++ b/docs/en/showcases/index.md
@@ -2,8 +2,8 @@
## Browser Plugin
-- [BBC](bbc.md)
-- [Tagesschau](tagesschau.md)
+- [The New York Times](nytimes.md)
+- [New York Post](nypost.md)
## RSS Feed
@@ -14,8 +14,8 @@
The following setup was used to generate these examples:
- **Hardware**: Mac Mini M1 (16GB RAM), running macOS Tahoe 26.2
-- **Software**: [LM Studio](https://lmstudio.ai/) 0.3.39
-- **Model**: [meta-llama-3.1-8b-instruct](https://huggingface.co/lmstudio-community/Meta-Llama-3.1-8B-Instruct-GGUF)
+- **Software**: [LM Studio](https://lmstudio.ai/) 0.4.2
+- **Modell**: [ministral-3-3b](https://huggingface.co/lmstudio-community/Ministral-3-3B-Instruct-2512-GGUF)
The system utilizes these [Prompts](https://github.com/deframer/news-deframer/tree/main/pkg/think/prompts/).
diff --git a/docs/en/showcases/nypost.md b/docs/en/showcases/nypost.md
new file mode 100644
index 0000000..4ade109
--- /dev/null
+++ b/docs/en/showcases/nypost.md
@@ -0,0 +1,41 @@
+# New York Post
+
+* RSS feed: `https://nypost.com/feed/`
+
+# Portal
+
+
+
+* **Portal Replacement**: The default homepage is fully replaced by the custom portal view.
+* **Hide Button**: The hide button restores access to the original homepage.
+
+## Article
+
+Article 1
+
+
+
+Article 2
+
+
+
+* **Article Replacement**: When the article URL is recognized, the entire article page is replaced by the custom view.
+* **Hide Button**: The hide button allows you to return to the original article page.
+
+## Trend Mining
+
+
+
+* **Tag Cloud**: Displays the most frequent talking points for the selected time period.
+
+
+
+* **Lifecycle**: Selecting a trend item from the tag cloud reveals its lifecycle within the chosen period.
+
+
+
+* **Context**: Selecting a trend item also shows the contextual verbs associated with it, illustrating how it is used.
+
+
+
+* **Compare**: Compare any known source in the selected language with another source. The view highlights key talking points, identifies blind spots where one source is silent, and shows overlapping themes between both sources.
diff --git a/docs/en/showcases/nytimes.md b/docs/en/showcases/nytimes.md
new file mode 100644
index 0000000..0ccbaa2
--- /dev/null
+++ b/docs/en/showcases/nytimes.md
@@ -0,0 +1,41 @@
+# The New York Times
+
+* RSS feed: `https://rss.nytimes.com/services/xml/rss/nyt/World.xml`
+
+# Portal
+
+
+
+* **Portal Replacement**: The default homepage is fully replaced by the custom portal view.
+* **Hide Button**: The hide button restores access to the original homepage.
+
+## Article
+
+Article 1
+
+
+
+Article 2
+
+
+
+* **Article Replacement**: When the article URL is recognized, the entire article page is replaced by the custom view.
+* **Hide Button**: The hide button allows you to return to the original article page.
+
+## Trend Mining
+
+
+
+* **Tag Cloud**: Displays the most frequent talking points for the selected time period.
+
+
+
+* **Lifecycle**: Selecting a trend item from the tag cloud reveals its lifecycle within the chosen period.
+
+
+
+* **Context**: Selecting a trend item also shows the contextual verbs associated with it, illustrating how it is used.
+
+
+
+* **Compare**: Compare any known source in the selected language with another source. The view highlights key talking points, identifies blind spots where one source is silent, and shows overlapping themes between both sources.
diff --git a/docs/en/trends/index.md b/docs/en/trends/index.md
new file mode 100644
index 0000000..14f0685
--- /dev/null
+++ b/docs/en/trends/index.md
@@ -0,0 +1,19 @@
+# Trend Mining
+
+We detect Trends, Talking Points and Blindspots (probably created by selection of the news source).
+
+
+
+- **Tag Cloud**: Displays the most frequent talking points for the selected time period.
+
+
+
+- **Lifecycle**: Selecting a trend item from the tag cloud reveals its lifecycle within the chosen period.
+
+
+
+- **Context**: Selecting a trend item also shows the contextual verbs associated with it, illustrating how it is used.
+
+
+
+- **Compare**: Compare any known source in the selected language with another source. The view highlights key talking points, identifies blind spots where one source is silent, and shows overlapping themes between both sources.
diff --git a/mkdocs.yml b/mkdocs.yml
index 37805c6..4251d40 100644
--- a/mkdocs.yml
+++ b/mkdocs.yml
@@ -44,8 +44,10 @@ plugins:
build: true
nav:
- News Deframer: index.md
- - Screenshots: screenshots/index.md
+ - Showcases: showcases/index.md
+ - Trends: trends/index.md
- Status: todo.md
+ - RSS Proxy: rss-feed.md
- Sponsors: sponsors.md
- Links: links.md
- License: license.md
@@ -55,8 +57,10 @@ plugins:
build: true
nav:
- News Deframer: index.md
- - Screenshots: screenshots/index.md
+ - Showcases: showcases/index.md
+ - Trends: trends/index.md
- Status: todo.md
+ - RSS Proxy: rss-feed.md
- Sponsoren: sponsors.md
- Links: links.md
- Lizenz: license.md
diff --git a/overrides/js/language-detect.js b/overrides/js/language-detect.js
index a5911de..c2e78ac 100644
--- a/overrides/js/language-detect.js
+++ b/overrides/js/language-detect.js
@@ -1,19 +1,19 @@
-(function() {
- var langs = ['de'], def = 'en', p = location.pathname, s = localStorage;
- var browser = (navigator.language || '').slice(0, 2);
+(function () {
+ // var langs = ['de'], def = 'en', p = location.pathname, s = localStorage;
+ // var browser = (navigator.language || '').slice(0, 2);
- for (var i = 0; i < langs.length; i++) {
- if (p.indexOf('/' + langs[i] + '/') === 0) return s.setItem('lp', langs[i]);
- }
+ // for (var i = 0; i < langs.length; i++) {
+ // if (p.indexOf('/' + langs[i] + '/') === 0) return s.setItem('lp', langs[i]);
+ // }
- if (p === '/' || p === '/index.html') {
- for (var i = 0; i < langs.length; i++) {
- if (document.referrer.indexOf('/' + langs[i] + '/') !== -1) return s.setItem('lp', def);
- }
+ // if (p === '/' || p === '/index.html') {
+ // for (var i = 0; i < langs.length; i++) {
+ // if (document.referrer.indexOf('/' + langs[i] + '/') !== -1) return s.setItem('lp', def);
+ // }
- var target = s.getItem('lp');
- if (!target && langs.indexOf(browser) !== -1) target = browser;
+ // var target = s.getItem('lp');
+ // if (!target && langs.indexOf(browser) !== -1) target = browser;
- if (target && target !== def) location.href = '/' + target + '/';
- }
+ // if (target && target !== def) location.href = '/' + target + '/';
+ // }
})();