Daymark releases
Personal Site Publisher Mode for WordPress.
Install
The author publishes release zips, so WP-CLI can install straight from GitHub:
wp plugin install https://github.com/jeffpaul/daymark/releases/download/0.14.0/daymark.zipReadme
Daymark

Personal Site Publisher Mode for WordPress.
Mission: Make publishing to your own WordPress site feel as joyful, immediate, and effortless as posting to the best mobile social apps, while ensuring everything you create remains yours.
Overview
Daymark is a phone-first publishing experience for WordPress — a "Personal Site
Publisher Mode" that makes posting to your own site as fast as a social app. A
logged-in user visits /daymark, picks media from the camera roll or types a
note, optionally runs AI Assist, and publishes a standard WordPress post. The
site stays the canonical source of truth; social networks are optional, additive
destinations.
Every Mark is a normal post — no custom post type — so your content stays
portable and works with standard themes, feeds, comments, and exports. Around
that, Daymark adds:
- a mobile app shell at
/daymark, installable to the home screen as a PWA; - a REST API for creating and listing Marks;
- optional AI Assist for captions, tags, and per-image alt text via the WordPress 7.0 AI Client (no provider, no AI UI — and publishing never depends on it);
- conversation backflow that brings social replies back as native WordPress comments and surfaces them in an in-app notifications screen.
Publishing outward happens through the WordPress plugins you already trust — publicize-style and federation plugins — rather than Daymark reimplementing network APIs. See the FAQ for how that works.
Extending Daymark? The full action and filter reference is published at https://jeffpaul.github.io/daymark/.
Requirements
- WordPress 7.0+ (the bundled AI Client powers optional AI Assist; publishing never requires a configured AI provider)
- PHP 8.1+
Using Daymark Like a Phone App
Activate the plugin, then visit /daymark on a phone-sized viewport while logged
in:
wp plugin activate daymark
Daymark is designed to sit on your phone's home screen like a native app. The URL pattern is always:
https://[yoursite]/daymark
For example: https://example.com/daymark (log in first, or you will be
redirected to the WordPress login screen and then back to Daymark).
iOS (Safari)
- Open
https://[yoursite]/daymarkin Safari. - Tap the Share button.
- Tap Add to Home Screen.
- Confirm the name "Daymark" and tap Add.
Android (Chrome)
- Open
https://[yoursite]/daymarkin Chrome. - Tap the ⋮ menu.
- Tap Add to Home Screen (or Install App when Chrome offers it).
What to expect
- The home-screen icon launches Daymark as a browser shortcut. Full
standalone display (
display: standalonein the manifest, no browser chrome) requires HTTPS. - Local demo note: the local dev site (
http://wp70.local) is HTTP-only, so iOS will open the shortcut in regular Safari and Chrome will not offer "Install App". That is expected for local demos — on any HTTPS site the same URL installs as a standalone app. - A conservative service worker (
assets/daymark-sw.js, cachedaymark-v1, scope limited to the pluginassets/directory) caches only the app's staticapp.cssandapp.js. It never caches REST responses, nonces, HTML, media, or anything under/wp-admin/. There is no offline publishing mode.
FAQ
How do I publish to social networks?
A Mark is a standard WordPress post, so the leanest path is to let a publishing plugin you already trust share it. Daymark is built to cooperate with those rather than reimplement them:
- Publicize-style plugins (Jetpack Social, Share on Mastodon, ATmosphere, XPoster, Autoshare for Twitter, …) already share your Daymark when it publishes. Daymark detects them and shows an awareness note on the publish screen. For plugins that expose a per-post control, Daymark turns that into an in-app on/off toggle per Mark — currently Share on Mastodon, Autoshare for Twitter, and ATmosphere (for Bluesky, when it's connected and auto-publishing).
- Federation plugins (ActivityPub, ATmosphere, Webmention) make your site itself the account; replies they receive land as native WordPress comments and appear in Daymark notifications automatically (see below).
Daymark also keeps an open connector interface
(daymark_register_connectors) so a plugin can register a first-class
destination — appearing on the publish screen and syndicating through
Daymark's own pipeline, with replies imported via
daymark_import_network_responses — without any change to Daymark core. No
such connector ships in this repo; the hook is the integration point.
If nothing is set up, "Your Site" is simply the only destination — publishing to your own site always works, and everything social is additive.
Why don't I see any social networks on the publish screen?
Daymark only offers destinations that can actually publish (and pull replies back): a network appears once a connector plugin registers it as a destination. With nothing connected, "Your Site" is the only destination — publishing to your own site always works; social networks are strictly additive. The same rule applies to AI: the AI Assist button only appears when a WordPress AI provider is actually configured. (Publicize-style plugins are separate — they show up as the awareness note or a per-Mark toggle, described above, not as destinations.)
When connectors are present, Daymark remembers your routing habits per Mark type: once you publish, say, an image Mark to a specific set of networks, the next image Mark preselects the same set (per user).
How are Marks filed into categories?
The publish screen has a File under picker for your site's existing categories. Like destinations, the choice is remembered per Mark type — file image Marks under "Photos" once and the next image Mark preselects it (per user) — and you can change it for any single Mark. The picker only appears when your site has categories beyond its default one; otherwise Marks file into the default category as usual. Selections are validated against your existing categories (Daymark never creates new ones) and stored natively, so they behave like any other post's categories.
What social network connectors could work?
Daymark's adapter layer (daymark_register_connectors +
daymark_import_network_responses) is open to any network. Feasibility
by platform:
| Network | Publish | Reply backflow | Notes |
|---|---|---|---|
| Bluesky | via ATmosphere | via ATmosphere / Bridgy | Covered today by the ATmosphere plugin; AT Protocol is open, no app review |
| Mastodon | via Share on Mastodon | via ActivityPub | Covered today by existing plugins; open API, no app review |
| Threads | plausible | plausible | Official API exists; requires a Meta app + review |
| X | plausible | limited | API v2 posting works; free tier is heavily rate-limited, replies effectively need a paid tier |
| hard | hard | Graph API requires a Business/Creator account, app review, and media hosted at public URLs | |
| YouTube | plausible | plausible | Data API v3 upload + commentThreads; OAuth app + quota management |
| TikTok | hard | hard | Content Posting API requires developer-program approval and audited scopes |
| Pixelfed / micro.blog / Nostr | plausible | varies | Open/self-hostable protocols, similar shape to Mastodon |
The pattern is consistent: open protocols (AT, ActivityPub) are weekend-sized connectors; platforms with app-review gates are projects.
Do ActivityPub, ATmosphere, or Webmention work with Daymark?
Yes — they're the push-based way replies come back. Those plugins deliver social replies as native WordPress comments, which is exactly Daymark's backflow storage, so replies they import appear in Daymark notifications automatically — labeled with honest source context (Daymark recognizes each plugin's comment markers):
| Plugin | Covers | Notification label |
|---|---|---|
| ActivityPub | Fediverse (Mastodon, Threads, Pixelfed, …) | Reply from the Fediverse |
| ATmosphere | Bluesky / AT Protocol | Reply from Bluesky |
| Webmention | IndieWeb + Bridgy backfeed | Reply via Webmention |
There are two identity models, and both are valid: a publicize-style plugin posts a copy to your personal account on the network, while ActivityPub/ATmosphere make your site itself the account (people follow your domain; replies arrive by push, live, no syncing). Reactions (likes/reposts) that those plugins store as comments are kept out of Daymark notifications — replies only.
Daymark also renders IndieWeb u-syndication markup on Mark posts
("Also on: …" links to the syndicated copies), which is what Bridgy needs
to backfeed replies from those copies as webmentions — so publicize-style
syndication and webmention backfeed compose.
Every Mark's own permalink page carries full outbound h-entry/h-card
microformats2 markup too, and Users → Your Profile has a rel=me field
that renders as a rel="me" link next to your h-card — so IndieWeb tools
(readers, IndieAuth, Bridgy) can read a Mark correctly without any of this
plugin's own APIs.
Replying to a subscribed post works the same way. Tap "Reply" on an
expanded Timeline card and Daymark opens the composer seeded to that post
— write your reply, publish it as a normal Mark, done. The published
Mark's permalink carries a u-in-reply-to link to the source, and if you
have the Webmention plugin installed and active, it notifies the source
automatically the moment your reply goes live — Daymark itself never
sends, receives, or verifies a Webmention; it just makes sure the markup
a Webmention plugin looks for is there. For the best Daymark + IndieWeb
experience, install Webmention
(and ActivityPub/ATmosphere, per the table above) so replies and mentions
from across the web show up in your Notifications automatically. Settings
-> Daymark's Connectors tab lists all three with an Install/Activate button
right there, so you don't need to leave wp-admin to set any of them up.
Don't want to install the ActivityPub plugin at all? Bridgy
Fed (a different project from the classic Bridgy
above, despite the name) is a free, hosted bridge rather than a plugin: it
gives your site a fediverse and Bluesky presence through the same
Webmention support, translating your posts into ActivityPub/AT Protocol
activities and replies/likes/reposts back into webmentions your site
already knows how to receive. The tradeoff versus the ActivityPub plugin is
identity — Bridgy Fed bridges you in under an auto-generated handle on its
own domain (@yourdomain@web.brid.gy), while the ActivityPub plugin gives
your site its own native handle on your own domain — so most sites want
one or the other, not both. It's listed on the Connectors tab too, right
alongside the plugin options.
Does Daymark work with the Friends plugin?
Yes. If you already follow someone through the Friends plugin, subscribing to their site in Daymark reads their posts straight from Friends' own cache instead of independently re-fetching their site a second time — Friends already does the real fetching, parsing, and post-format classification for a friend, so Daymark just reuses it. This only ever applies to a friend you've already added in Friends' own UI; Daymark doesn't add friends on Friends' behalf, and a site Friends doesn't yet follow subscribes exactly as it always has (via its RSS/Atom feed, WordPress REST API, or microformats2 markup).
Read the full README on GitHub →
Releases
| Tag | Published | Asset | Downloads |
|---|---|---|---|
| 0.14.0 | Sep 9, 2026 | daymark.zip | 1 |
| 0.13.0 | Sep 8, 2026 | daymark.zip | 1 |
| 0.12.0 | Sep 7, 2026 | daymark.zip | 1 |
| 0.11.0 | Sep 5, 2026 | daymark.zip | 2 |
| 0.10.0 | Sep 4, 2026 | daymark.zip | 2 |
| 0.9.0 | Sep 2, 2026 | daymark.zip | 1 |
| 0.8.0 | Aug 31, 2026 | daymark.zip | 0 |
| 0.7.0 | Aug 7, 2026 | daymark.zip | 2 |
| 0.6.1 | Aug 5, 2026 | daymark.zip | 4 |
| 0.6.0 | Aug 4, 2026 | daymark.zip | 2 |
| 0.5.0 | Aug 3, 2026 | moment.zip | 1 |
| 0.4.0 | Jul 29, 2026 | moment.zip | 1 |
| 0.3.0 | Jul 22, 2026 | moment.zip | 1 |
| 0.2.0 | Jul 16, 2026 | moment.zip | 1 |
| 0.1.1 | Jul 15, 2026 | moment.zip | 1 |
| 0.1.0 | Jul 10, 2026 | moment.zip | 0 |