The table of contents is generated automatically from this page’s headings.

Lynxjournal

LynxJournal ist ein WordPress-Plugin zum Verwalten und Veröffentlichen kuratierter Link-Sammlungen. Speichere interessante Links, organisiere sie nach Kategorien und veröffentliche sie als Blogbeitrag.

Beschreibung

Funktionen:

  • Links mit Titel, URL, Beschreibung, Kategorien und Tags speichern
  • Links nach Kategorien organisieren (inspiriert von frankysnotes.com)
  • REST-API zur Integration mit Browser-Erweiterungen
  • Automatische Veröffentlichung (täglich, wöchentlich, monatlich oder nach Anzahl/Alter)
  • Unterstützung für Chrome-/Firefox-Erweiterung

Installation

  1. Lade die Plugin-Dateien in das Verzeichnis /wp-content/plugins/lynxjournal hoch, oder installiere das Plugin direkt über die WordPress-Plugin-Seite.
  2. Aktiviere das Plugin über die „Plugins“-Seite in WordPress.
  3. Nutze das LynxJournal-Menü im Admin-Dashboard, um Links hinzuzufügen.

Verwendung

Dashboard

Das LynxJournal-Dashboard (LynxJournal › Dashboard) bietet einen Überblick über die gespeicherten Links:

  • Statistikleiste — Gesamtzahl der Links, Kategorien, veröffentlichte und unveröffentlichte Links
  • Schnell hinzufügen — gib einen Titel und eine URL ein, um einen Link zu speichern
  • Kürzlich unveröffentlicht — die letzten fünf unveröffentlichten Links
  • Kürzlich veröffentlicht — die letzten fünf veröffentlichten Sammelbeiträge mit ihrem Status

Manuell (vollständiges Formular): Gehe zu LynxJournal › Link hinzufügen. Fülle aus:

  • Titel (erforderlich)
  • URL (erforderlich)
  • Beschreibung (Rich-Text)
  • Kategorien — einer oder mehreren bestehenden Kategorien zuweisen
  • Tags — durch Komma getrennte Schlagwörter

Schnell hinzufügen: Nutze das Feld „Schnell hinzufügen“ im Dashboard für eine minimale Eingabe aus Titel + URL.

Über die Chrome-/Firefox-Erweiterung: Rufe eine beliebige Seite auf und klicke auf das Erweiterungssymbol. Titel und URL werden vorausgefüllt; füge eine Beschreibung hinzu, wähle eine Kategorie und klicke auf „Link speichern“.

LynxJournal › Alle Links zeigt jeden gespeicherten Link in einer Tabelle an:

  • Status-Badges — Unveröffentlicht, Entwurf oder Veröffentlicht
  • Veröffentlichen — erstellt sofort einen WordPress-Beitrag für diesen einzelnen Link
  • Löschen — entfernt den Link dauerhaft (zeigt zuerst eine Inline-Bestätigung an)

Veröffentlichen

Einzelner Beitrag: Klicke auf „Veröffentlichen“ bei einem beliebigen Link unter „Alle Links“. Ein neuer WordPress-Beitrag wird mit dem Titel, der Beschreibung und einem „Weiterlesen“-Link zur Quell-URL des Links erstellt.

Sammelbeitrag: Klicke auf „Veröffentlichen“ im Dashboard. Alle unveröffentlichten Links werden zu einem Beitrag gebündelt, gruppiert nach Kategorie. Gib einen eigenen Titel ein oder belasse die Standardvorgabe („Links Roundup – [Datum]“). Wähle, ob sofort veröffentlicht oder als Entwurf gespeichert werden soll.

Beide Abläufe unterstützen den Entwurfsmodus — verwende den Entwurf-Schalter vor der Bestätigung.

Zeitplanung

LynxJournal › Zeitplan ermöglicht die automatische Veröffentlichung von Sammelbeiträgen ohne manuellen Eingriff. Öffne LynxJournal › Zeitplan, wähle einen Modus, lege mindestens eine Ausführungszeit fest und klicke auf Zeitplan speichern. Sobald dieser Zeitpunkt erreicht ist, veröffentlicht LynxJournal einen Sammelbeitrag aus allen unveröffentlichten Links. Um eine Veröffentlichung sofort auszulösen, nutze die Schaltfläche Jetzt ausführen im Dashboard. Um die gesamte Automatisierung zu stoppen, wechsle in den manuellen Modus.

Modi

  • Täglich — Veröffentlicht zu einer festen Zeit jeden Tag, sofern mindestens ein unveröffentlichter Link vorhanden ist.
  • Wöchentlich — Veröffentlicht an bestimmten Wochentagen. Aktiviere eine beliebige Kombination von Mo–So. Mindestens ein Tag muss ausgewählt sein.
  • Monatlich — Veröffentlicht an von dir festgelegten Tagen, jeden Monat. Jeder „Tageseintrag“ ist entweder ein fester Kalendertag (1–31) oder ein ordinaler Wochentag („der erste Montag“). Mehrere Einträge erzeugen mehrere Läufe pro Monat. Ist ein Monat kürzer als der konfigurierte Tag (z. B. der 31. in einem 30-tägigen Monat), wird dieser Eintrag für diesen Monat übersprungen.
  • Nach Anzahl — Veröffentlicht, wenn die Anzahl unveröffentlichter Links einen Schwellenwert erreicht oder überschreitet. Die Prüfung erfolgt bei jeder konfigurierten Ausführungszeit.
  • Nach Alter — Veröffentlicht, wenn der älteste unveröffentlichte Link älter als N Tage ist. Die Prüfung erfolgt bei jeder konfigurierten Ausführungszeit.
  • Manuell — Deaktiviert jede automatische Veröffentlichung. Nutze Jetzt ausführen oder das Veröffentlichungsformular im Dashboard, um bei Bedarf zu veröffentlichen.

Ausführungszeiten

Gilt für alle Modi außer Manuell. Gib eine oder mehrere Uhrzeiten im 24-Stunden-Format (HH:MM) an, zu denen der Scheduler aktiv wird. Klicke auf + Zeit hinzufügen, um eine Zeile hinzuzufügen; klicke auf ×, um eine zu entfernen. Mindestens eine Zeit muss erhalten bleiben. Doppelte Werte werden beim Speichern abgelehnt. Mehrere Zeiten bedeuten, dass der Scheduler mehr als einmal pro Tag veröffentlichen kann.

Vorschau kommender Läufe

In den Modi Täglich, Wöchentlich und Monatlich listet das Seitenpanel Nächste 10 Zeitpläne die nächsten zehn Aktivierungstermine basierend auf deinen aktuellen (ungespeicherten) Einstellungen auf. Nutze es, um dein Wiederholungsmuster vor dem Speichern zu überprüfen.

Zeitplan speichern

Klicke unten in der Einstellungsspalte auf Zeitplan speichern. Beim Speichern wird jedes zuvor ausstehende Cron-Ereignis abgebrochen und ein neues für den nächsten passenden Zeitpunkt geplant.

Zeitplan sofort ausführen

Die Schaltfläche Jetzt ausführen im LynxJournal-Dashboard löst einen sofortigen Veröffentlichungslauf aus. Sie berücksichtigt dieselbe Veröffentlichungsbedingung wie der automatische Zeitplan. In jedem Modus wird der Lauf stillschweigend übersprungen, wenn keine unveröffentlichten Links vorhanden sind — es wird niemals ein leerer Sammelbeitrag erstellt. Der automatische Zeitplan bleibt davon unberührt.

Benachrichtigungen

Wie ein Sammelbeitrag aussieht

Jeder Lauf erstellt einen WordPress-Beitrag mit dem Titel Links: [Vollständiges Datum] (z. B. Links: 28. April 2026), der sofort als Standardbeitrag veröffentlicht wird. Der Inhalt enthält einen Abschnitt pro Kategorie, jeweils mit einer Liste von Links. Jeder Link zeigt seinen Titel (verlinkt zur gespeicherten URL, öffnet in einem neuen Tab) und optional eine Beschreibung darunter. Nicht kategorisierte Links erscheinen am Ende in einem eigenen Abschnitt. Jeder enthaltene Link wird als veröffentlicht markiert und aus zukünftigen Digests ausgeschlossen.

Randfälle und Hinweise

  • WP-Cron-Timing — WordPress‘ eingebauter Cron wird ausgelöst, wenn ein Besucher eine Seite lädt. Auf Websites mit wenig Traffic kann der tatsächliche Lauf um einige Minuten verzögert sein. Für präzises Timing richte einen echten System-Cronjob ein (siehe Server-seitige Cron-Einrichtung unten).
  • Zeitzone und Sommerzeit — Ausführungszeiten verwenden die Zeitzone deiner WordPress-Website (Einstellungen › Allgemein › Zeitzone). Bei der Umstellung auf Sommerzeit können Läufe um ~1 Stunde verzögert werden; bei der Umstellung auf Winterzeit wird ein Lauf einmalig beim ersten Auftreten der wiederholten Ortszeit ausgelöst.
  • Nachholen nach Ausfallzeit — Verpasste Ereignisse werden nicht nachgeholt. Sobald WordPress wieder läuft, wird ein einzelner Nachhollauf ausgeführt und der nächste Zeitpunkt anhand der aktuellen Zeit berechnet. Nutze Jetzt ausführen, um ein Nachholen sofort zu erzwingen.
  • Plugin deaktivieren — Die Deaktivierung bricht automatisch jedes ausstehende Cron-Ereignis ab. Es wird kein Ereignis erneut registriert, bis du den Zeitplan nach der Reaktivierung wieder speicherst.
  • Plugin deinstallieren — Die Deinstallation löscht weder gespeicherte Links noch die Option lynxjournal_schedule. Um aufzuräumen, führe wp option delete lynxjournal_schedule vor einer Neuinstallation aus.

Server-seitige Cron-Einrichtung

WP-Cron wird nur ausgelöst, wenn ein Besucher die Website aufruft. Für zuverlässige Zeitplanung:

  1. Deaktiviere WP-Cron in wp-config.php: define( 'DISABLE_WP_CRON', true );
  2. Füge einen System-Cron-Eintrag hinzu, der jede Minute läuft: * * * * * curl -sS https://example.com/wp-cron.php?doing_wp_cron > /dev/null 2>&1
    Oder mit WP-CLI: * * * * * cd /path/to/wordpress && wp cron event run --due-now > /dev/null 2>&1

WP-CLI-Nutzung

LynxJournal registriert keine eigenen WP-CLI-Befehle, aber die Standard-Cron-Befehle funktionieren:

  • wp cron event list | grep lynxjournal — listet ausstehende LynxJournal-Cron-Ereignisse auf
  • wp cron event run lynxjournal_execute_schedule — erzwingt einen sofortigen Lauf (entspricht „Jetzt ausführen“)
  • wp option get lynxjournal_schedule --format=json — den gespeicherten Zeitplan einsehen
  • wp option delete lynxjournal_schedule — die Zeitplan-Konfiguration löschen

Protokollierung und Beobachtbarkeit

Der Scheduler schreibt kein eigenes Protokoll. Um zu prüfen, ob ein Lauf stattgefunden hat: Beiträge › Alle Beiträge (nach jedem erfolgreichen Lauf erscheint ein neuer „Links: …“-Beitrag); das WP-Crontrol-Plugin; oder wp cron event list für den nächsten geplanten Zeitstempel. Das Panel Nächste 10 Zeitpläne auf der Zeitplan-Seite zeigt kommende Zeiten für zeitbasierte Modi an.

Berechtigungen

Das Anzeigen der Zeitplan-Seite, das Speichern des Zeitplans und das Auslösen von „Jetzt ausführen“ erfordern alle die Fähigkeit manage_options (standardmäßig die Administratorrolle). Um dies an andere Rollen zu delegieren, weise die Fähigkeit über ein Tool wie das Plugin User Role Editor oder add_cap() in eigenem Code zu.

Chrome-Erweiterung

  1. Installiere die Chrome-Erweiterung „LynxJournal“ aus dem Chrome Web Store.
  2. Gehe in WordPress zu LynxJournal › Einstellungen, erzeuge einen API-Schlüssel und kopiere die API-Endpunkt-URL sowie den Schlüssel.
  3. Klicke auf das Erweiterungssymbol › Einstellungen, füge beide Werte ein und speichere.
  4. Ab sofort genügt ein Klick auf das Erweiterungssymbol auf einer beliebigen Seite, um die aktuelle URL direkt in deiner WordPress-Website zu speichern.

Quellcode & Build-Tools

Die produktiven JavaScript-Assets in schedule/schedule.js werden aus React-Komponenten kompiliert. Der unminifizierte Quellcode, Build-Skripte und Konfigurationsdateien werden öffentlich gepflegt unter: https://github.com/Latz/lynxjournal

Änderungsprotokoll

1.0.2

  • Erstveröffentlichung.
  • Den Ein-/Ausblenden-Schalter des Slack-Felds in das Eingabefeld verschoben, statt daneben.