Current hashtag support works fine in Mastodon's web interface, depending on the client in which these BookWyrm statuses are viewed, the hashtags are linking back to the BookWyrm instance instead of the hashtag view on the specific Fediverse server.
Having done similar debugging just today for Takahē, there are a few improvements that will get additional clients to render correctly:
Adding:
"Hashtag": "as:Hashtag" to the @context value of the ActivityPub object
rel="tag" to the anchor tags linking to hashtags
This is the same state as Takahē 0.8.0 and should give us support for Tusky and IceCubes.
It will still not work Ivory, Mona, Elk, Semaphore/Pinafore.
Adding:
class="mention hashtag" to the anchor tags linking to hashtags (we need to be careful about our HTML sanitisation for this one!)
This should probably give us Semaphore/Pinafore and Elk support, looking at their hashtag parsing logic (Semaphore, Elk).
Potentially also other clients like Ivory, Mona, and maybe others.
Given our URL structure containing the hashtag ID instead of the tag name we won't actually be able to have the hashtags detected correctly in Semaphore and Elk
Current hashtag support works fine in Mastodon's web interface, depending on the client in which these BookWyrm statuses are viewed, the hashtags are linking back to the BookWyrm instance instead of the hashtag view on the specific Fediverse server.
Having done similar debugging just today for Takahē, there are a few improvements that will get additional clients to render correctly:
Adding:
"Hashtag": "as:Hashtag"
to the@context
value of the ActivityPub objectrel="tag"
to the anchor tags linking to hashtags This is the same state as Takahē 0.8.0 and should give us support for Tusky and IceCubes. It will still not work Ivory, Mona, Elk, Semaphore/Pinafore.Adding:
class="mention hashtag"
to the anchor tags linking to hashtags (we need to be careful about our HTML sanitisation for this one!) This should probably give us Semaphore/Pinafore and Elk support, looking at their hashtag parsing logic (Semaphore, Elk). Potentially also other clients like Ivory, Mona, and maybe others.