all repos — honk @ master

my fork of honk

docs/activitypub.7 (view raw)

 1
 2
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
 100
 101
 102
 103
 104
 105
 106
 107
 108
 109
 110
 111
 112
 113
 114
 115
 116
 117
 118
 119
 120
 121
 122
 123
 124
 125
 126
 127
 128
 129
 130
 131
 132
 133
 134
 135
 136
 137
 138
 139
 140
 141
 142
 143
 144
 145
 146
 147
 148
 149
 150
 151
 152
 153
 154
 155
 156
 157
 158
 159
 160
 161
 162
 163
 164
 165
 166
 167
 168
 169
 170
 171
 172
 173
 174
 175
.\"
.\" Copyright (c) 2019 Ted Unangst
.\"
.\" Permission to use, copy, modify, and distribute this software for any
.\" purpose with or without fee is hereby granted, provided that the above
.\" copyright notice and this permission notice appear in all copies.
.\"
.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
.\"
.Dd $Mdocdate$
.Dt ACTIVITYPUB 7
.Os
.Sh NAME
.Nm activitypub
.Nd notes about the honk implementation
.Sh DESCRIPTION
The
.Xr honk 1
utility processes status updates and other microblog activities using the
.Nm ActivityPub
protocol to exchange messages with other servers.
The specification is subject to interpretation, and not all implementations
behave in the same way.
This document attempts to clarify honk's behavior.
It is not intended to be a complete description of
.Nm ActivityPub ,
but may be useful as a guide to other implementors looking to interoperate.
.Ss OBJECTS
The following object or document types are supported.
.Bl -tag -width tenletters
.It Vt Note
Fully supported.
The default object type for honk.
.It Vt Article
Fully supported.
.It Vt Page
Supported.
.It Vt Question
Read only support.
Appears similar to a Note.
.It Vt Event
Supported.
Appears similar to a Note.
Can be both created and received, but
.Vt Invite
activities are ignored.
.It Vt Video
Limited support.
.It Vt Audio
Limited Support.
.It Vt GuessWord
Guess the word game.
(Unofficial extension.)
The solution is stored in
.Fa content
with the possible words, one per line, in a file located at
.Fa wordlist .
.El
.Pp
Honk primarily supports HTML content, not markdown or other formats,
with a wide range of permitted HTML tags in object
.Fa content
fields.
The following tags are supported.
.Bd -literal -offset indent
a, img, span,
div, h1, h2, h3, h4, h5, h6, hr,
table, thead, tbody, tfoot, th, tr, td, colgroup, col,
p, br, pre, code, blockquote, q,
caption, kbd, time, wbr, aside,
ruby, rtc, rb, rt, details, summary,
samp, mark, ins, dfn, cite, abbr, address,
strong, em, b, i, s, u, sub, sup, del, tt, small,
ol, ul, li, dl, dt, dd
.Ed
.Pp
The following tag attributes are permitted.
.Bd -literal -offset indent
href, src, alt, colspan, rowspan
.Ed
.Pp
The following class names are used for syntax highlighting code blocks.
.Bd -literal -offset indent
kw, bi, st, nm, tp, op, cm, al, dl
.Ed
.Ss ACTIVITIES
The following activities are supported.
.Bl -tag -width tenletters
.It Vt Create
Fully supported.
.It Vt Announce
Supported with share semantics.
.It Vt Read
Supported.
Primarily used to acknowledge replies and complete threads.
Can be interpreted to mean reply is approved, if not endorsed.
.It Vt Add
Works with collections.
.It Vt Follow
Supported.
Can follow both actors and collections.
.It Vt Update
Supported.
Honk sends and receives
.Vt Update
activities.
.It Vt Delete
Does what it can.
.It Vt Like
Don't be ridiculous.
.It Vt EmojiReact
Be ridiculous.
.El
.Ss METADATA
The following additional object types are supported, typically as
.Fa tag
or
.Fa attachment .
.Bl -tag -width tenletters
.It Mention
Pretty @ machine.
.It Emoji
Inline text :emoji: with image replacement.
.It Place
Included as a
.Fa location .
Supports
.Fa name ,
.Fa url ,
.Fa latitude ,
and
.Fa longitude .
.It Document
Plain text and images in jpeg, gif, png, and webp formats are supported.
Other formats are linked to origin.
.El
.Pp
The
.Fa replies
array will be populated with a list of acknowledged replies.
.Ss EXTENSIONS
Honk also supports a
.Vt Ping
activity and will respond with a
.Vt Pong
activity.
This is useful for debugging networking connectivity issues without
visible side effects.
See ping.txt for details.
.Ss SECURITY
Honk uses http signatures.
.Ss WEBFINGER
Honk implements the
.Vt webfinger
end point and will use it for @mention resolution.
It is not required for federation.
.Ss LD-JSON
Not really.
.Sh SEE ALSO
.Xr intro 1 ,
.Xr honk 1
.Sh STANDARDS
.Pp
.Lk https://www.w3.org/TR/activitypub/ "ActivityPub"
.Pp
.Lk https://www.w3.org/TR/activitystreams-vocabulary/ "Activity Vocabulary"
.Sh CAVEATS
The ActivityPub standard is subject to interpretation, and not all
implementations are as enlightened as honk.