Building Axismundi — a block theme exploring ActivityPub integration #3257
Jiwoon-Kim
started this conversation in
Show and tell
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Theme release:
https://github.com/Jiwoon-Kim/axismundi/releases/tag/theme-v0.1.1
https://themes.trac.wordpress.org/ticket/277726
TL;DR
I'm building Axismundi, a custom WordPress block theme that aims to provide a Mastodon-style microblog UX on top of the official
activitypubplugin. Looking for guidance on how far the theme can reasonably go without duplicating or fighting the plugin's architecture.The design system is already built (Material Design 3, 33-component spec, dark-first, Korean-first). What I want to validate is the service scope — which features fit cleanly as theme extensions vs. which would require fork-level modifications.
What Axismundi is
m3-blocksgeneric,axismundi-blocksdomain-specific)mediaObjectURL)activitypubplugin as the protocol layer — Axismundi handles UI / theme / domain integration only. No intent to replace or fork the plugin.Project status: design system v0.2.0 complete (14 components built, ~1,750 LOC components.css, full M3 token system). Now planning Phase 1.5 — service scope and DB integration design.
Why I'm asking before going further
Before committing to specific UI prototypes and DB schema extensions, I want to validate which features are realistic theme/companion-plugin extensions vs. which are fork-level changes that would put Axismundi outside what the official plugin can support.
I assume the plugin maintains conservative core compatibility (and wp.com infrastructure compatibility). That naturally constrains what I can build. I'd rather know the boundaries up front than discover them through breakage.
Service scope — what I want to know
I have three candidate scopes:
A. Mastodon/Lemmy-level full SNS
Custom emoji, polls, quote posts, sensitive flag with blur, Lemmy-style forum/community follow, multi-actor per user, full federation UX.
B. Blog + microblog hybrid (preferred starting point)
inReplyTomapping that the plugin already provides)C. Blog + ActivityPub publishing only
One-way publishing. External clients can follow, but minimal internal SNS UX.
My current default is B. I'd like to confirm this is realistic before building further.
Specific questions
Q1 — Where is the actual line between "theme extension" and "fork-level change"?
For each of the following, is there a clean theme/companion-plugin path, or does it require modifying the activitypub plugin itself?
inReplyTodeeper integration — the plugin already maps WP comments to ActivityPubNotereplies. I read this as "good enough" for v1. Is there a reason to go deeper (e.g. Mastodon-style threaded view with deleted-user placeholders)?Emojiobjects on remote posts? If yes, theme just needs to render them correctly. If no, this is fork territory.Questionobject) — same question. Inbound rendering vs. authoring vs. response collection — which layers does the plugin cover?quoteUrl/_misskey_quoteetc.) — fediverse-fragmented feature. Does the plugin track any of the proposed FEPs here?sensitive: trueandsummaryalready supported? Theme just renders the blur overlay?Q2 — Attachment page repurposing for
mediaObjectURLsI want to use WordPress's native attachment pages (post_type=attachment) as ActivityPub
mediaObjectpermalinks. WP 6.4 disables them by default; I'd re-enable via theme activation hook.Goals:
id(the attachment permalink)Notereplies on the mediaIs this approach compatible with how the plugin currently handles attachments? Or does the plugin already publish attachments differently?
Q3 — Custom UI surfaces and conflict avoidance
The theme provides custom templates for:
Query Loop+ custom block)axismundi_profile? or extending author archive?)For the remote actor profile specifically: does the plugin provide any URL/template hook for "render a remote actor's profile served from our site"? Or do I need to build that from scratch?
Q4 — Block theme integration patterns
Has anyone successfully built a block theme that:
theme.jsonfor the design tokensAny reference implementation, even partial, would be huge.
Q5 — FEP adoption — which to prioritize
I've been reading FEPs but the list is long and adoption-fragmented. From the plugin's perspective, which FEPs are:
That would help me prioritize which features in scope B are buildable now vs. blocked.
What I bring
axismundi) + generic blocks plugin (m3-blocks,m3/*namespace) + domain blocks plugin (axismundi-blocks,axismundi/*namespace). Generic blocks are reusable for any M3-style WP theme — could be a starting point for someone else.I'm not asking the maintainers to build anything for me. I want to know where the official plugin's architectural boundary is so I can build on top of it cleanly rather than against it.
Context links (for anyone curious)
color-mix()-based state layers, M3 spring physics motion, dark-first with auto/manual mode overrideword-break: keep-all+overflow-wrap: anywhere)Happy to share more detail on any specific piece. Looking forward to the maintainers' and community's input on what's reasonable scope.
Beta Was this translation helpful? Give feedback.
All reactions