Add `Hashtag`
@evanp is already working on this.
Since Sep 18, 2026.
- Dominant language
- HTML
- Stars
- 313
- Forks
- 70
- PR merge metrics
- No merged PRs in 30d
Description
ActivityPub Miscellaneous Terms documents this term:
A metadata tag used for casual categorization of content. Often, a hashtag is presented inline in content prefixed with a hash symbol, "#". See https://en.wikipedia.org/wiki/Hashtag. Examples are shown in the [activitystreams-vocabulary] specification under Mentions, Tags, and Other Common Social Microsyntaxes implementation notes, without a type for tag object. Original discussion in ActivityPub issue #235.The name property MAY include an initial hash character "#".Some processors treat Hashtag objects with the same name as equivalent, with or without the initial hash character. For example, an aggregator service may list all objects with tag items of type Hashtag with the same name together, even if their href values differ.Despite the name, the Hashtag type MAY be used for metadata tags that are not implemented with inline microsyntax. See https://en.wikipedia.org/wiki/Tag_(metadata)
Extends: Link
Properties: Inherits all properties from Link.
A Note with a Hashtag in its tag array
{
"@context": [
"https://www.w3.org/ns/activitystreams",
"https://purl.archive.org/miscellany"
],
"id": "https://example.com/notes/1",
"type": "Note",
"attributedTo": "https://example.com/users/john",
"summary": "A thank-you note",
"content": "<a href='https://example.org/tags/givingthanks'>#givingthanks</a>",
"tag": [
{
"type": "Hashtag",
"href": "https://example.org/tags/givingthanks",
"name": "#givingthanks"
}
]
}
A collection of Image objects with Hashtag objects in their tag array. The images are grouped together because the hashtag name values are equivalent
{
"@context": [
"https://www.w3.org/ns/activitystreams",
"https://purl.archive.org/miscellany"
],
"id": "https://photos.example/collections/tag/eclipse2024",
"attributedTo": "https://photos.example/editors/asjt",
"to": "as:Public",
"type": "Collection",
"summary": "Images tagged with #eclipse2024",
"items": [
{
"id": "https://example.com/images/1",
"type": "Image",
"name": "Fred and Ethel watching the eclipse",
"attributedTo": "https://example.com/users/ethel",
"to": "as:Public",
"url": "https://example.com/files/image1.png",
"tag": [
{
"type": "Hashtag",
"href": "https://example.com/tags/eclipse2024",
"name": "eclipse2024"
}
]
},
{
"id": "https://social.example/users/nasa/images/2e4f8e6c.jsonld",
"type": "Image",
"url": "https://social.example/uploads/2e4f8e6c.png",
"attributedTo": "https://social.example/users/nasa",
"to": "as:Public",
"name": "Eclipse from the ISS",
"summary": "<a href='https://tags.example/eclipse2024'>#eclipse2024</a>",
"tag": [
{
"type": "Hashtag",
"href": "https://tags.example/eclipse2024",
"name": "#eclipse2024"
}
]
}
]
}
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.