LynxJournal is a WordPress plugin for managing and publishing curated link digests. Save interesting links, organise them by category, and publish them as blog post digests.
Features:
The LynxJournal dashboard (LynxJournal › Dashboard) gives you an at-a-glance overview:
Manually (full form): Go to LynxJournal › Add Link. Fill in:
Quick add: Use the Quick Add box on the Dashboard for a bare-minimum title + URL entry.
Via Chrome extension: Browse to any page and click the extension icon. The title and URL are pre-filled; add a description, pick a category, and click Save Link.
LynxJournal › All Links shows every saved link in a table:
Individual post: Click Publish on any link in All Links. A new WordPress post is created with the link’s title, description, and a “Read more” link to the source URL.
Roundup post: Click Publish on the Dashboard. All unpublished links are bundled into one post, grouped by category. Enter a custom title or leave the default (“Links Roundup – [date]”). Choose to publish immediately or save as draft.
Both flows support draft mode — use the Draft toggle before confirming.
LynxJournal › Schedule lets automatic roundup publishing run without manual action. Open LynxJournal › Schedule, choose a mode, set at least one Execution Time, and click Save Schedule. The next time that moment arrives, LynxJournal publishes a roundup post from all unpublished links. To trigger a run immediately, use the Run Now button on the dashboard. To stop all automation, switch to Manual mode.
Modes
Execution Times
Applies to all modes except Manual. Specify one or more 24-hour times (HH:MM) at which the scheduler wakes up. Click + Add time to add a row; click ✕ to remove one. At least one time must remain. Duplicate values are rejected on save. Adding multiple times means the scheduler can publish more than once per day.
Previewing upcoming runs
In Daily, Weekly, and Monthly modes the Next 10 Schedules sidebar panel lists the next ten wake-up dates based on your current (unsaved) settings. Use it to verify your recurrence pattern before saving.
Saving the schedule
Click Save Schedule at the bottom of the settings column. On save, any previously pending cron event is cancelled and a new one is scheduled for the next matching time.
Running the schedule immediately
The Run Now button on the LynxJournal dashboard triggers an immediate publish run. It respects the same publish condition as the automatic schedule. In every mode, the run is silently skipped when there are no unpublished links — no empty roundup is ever created. The automatic schedule is unaffected.
What a roundup post looks like
Each run creates one WordPress post titled Links: [Full Date] (e.g. Links: April 28, 2026), published immediately as a standard post. The body contains one section per category, each with a list of links. Each link shows its title (linked to the saved URL, opening in a new tab) and, optionally, a description below it. Uncategorised links appear in their own section at the end. Every included link is marked as published and excluded from future digests.
Edge cases and caveats
lynxjournal_schedule option. To clean up, run wp option delete lynxjournal_schedule before reinstalling.Server-side cron setup
WP-Cron only fires when a visitor hits the site. For reliable scheduling:
wp-config.php: define( 'DISABLE_WP_CRON', true );Add a system cron entry that runs every minute:
Or with WP-CLI: * * * * * cd /path/to/wordpress && wp cron event run --due-now > /dev/null 2>&1
WP-CLI usage
LynxJournal does not register custom WP-CLI commands, but the standard cron commands work:
wp cron event list | grep lynxjournal — list pending LynxJournal cron eventswp cron event run lynxjournal_execute_schedule — force an immediate run (equivalent to Run Now)wp option get lynxjournal_schedule --format=json — inspect the saved schedulewp option delete lynxjournal_schedule — delete the schedule configurationLogging and observability
The scheduler does not write to a custom log. To verify a run happened, check: Posts › All Posts (a new “Links: …” post appears on each successful run); the WP Crontrol plugin; or wp cron event list for the next-scheduled timestamp. The Next 10 Schedules panel on the Schedule page shows upcoming times for time-based modes.
Capabilities
Viewing the Schedule page, saving the schedule, and triggering Run Now all require the manage_options capability (administrator role by default). To delegate to other roles, grant the capability using a tool such as the User Role Editor plugin or add_cap() in your own code.
The production JavaScript assets in schedule/schedule.js are compiled from React components.
The unminified source code, build scripts, and configuration files are publicly maintained at:
https://github.com/Latz/lynxjournal