docs/activitypub.7 (view raw)
1.\"
2.\" Copyright (c) 2019 Ted Unangst
3.\"
4.\" Permission to use, copy, modify, and distribute this software for any
5.\" purpose with or without fee is hereby granted, provided that the above
6.\" copyright notice and this permission notice appear in all copies.
7.\"
8.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15.\"
16.Dd $Mdocdate$
17.Dt ACTIVITYPUB 7
18.Os
19.Sh NAME
20.Nm activitypub
21.Nd notes about the honk implementation
22.Sh DESCRIPTION
23The
24.Xr honk 1
25utility processes status updates and other microblog activities using the
26.Nm ActivityPub
27protocol to exchange messages with other servers.
28The implementation is subject to interpretation, and not all implemntations
29behave in the same way.
30This document attempts to clarify honk's behavior.
31It is not intended to be a complete description of
32.Nm ActivityPub ,
33but may be useful as a guide to other implementors looking to interoperate.
34.Ss OBJECTS
35The following object or document types are supported.
36.Bl -tag -width tenletters
37.It Vt Note
38Fully supported.
39The default object type for honk.
40.It Vt Article
41Fully supported.
42.It Vt Page
43Supported.
44.It Vt Question
45Read only support.
46Appears similar to a Note.
47.It Vt Event
48Supported.
49Appears similar to a Note.
50Can be both created and received, but
51.Vt Invite
52ativities are ignored.
53.It Vt Video
54Limited support.
55.It Vt Audio
56Limited Support.
57.El
58.Pp
59Honk primarily supports HTML content, not markdown or other formats,
60with a wide range of permitted HTML tags in object
61.Fa content
62fields.
63The following tags are supported.
64.Bd -literal -offset indent
65a, img, span,
66div, h1, h2, h3, h4, h5, h6, hr,
67table, thead, tbody, th, tr, td, colgroup, col,
68p, br, pre, code, blockquote, q,
69samp, mark, ins, dfn, cite, abbr, address,
70strong, em, b, i, s, u, sub, sup, del, tt, small,
71ol, ul, li, dl, dt, dd
72.Ed
73.Pp
74The followin tag attributes are permitted.
75.Bd -literal -offset indent
76href, src, alt, colspan, rowspan
77.Ed
78.Ss ACTIVITIES
79The following activities are supported.
80.Bl -tag -width tenletters
81.It Vt Create
82Fully supported.
83.It Vt Announce
84Supported with share semantics.
85.It Vt Read
86Supported.
87Primarily used to acknowledge replies and complete threads, without
88additional semantics.
89.It Vt Follow
90Supported.
91.Vt Accept
92and
93.Vt Undo
94require that the original request be quoted, not referred to by URI.
95.It Vt Update
96Honk sends and receives
97.Vt Update
98activities.
99.It Vt Delete
100Does what it can.
101.It Vt Like
102Don't be ridiculous.
103.El
104.Ss METADATA
105The following additional object types are supported as
106.Fa tag
107or
108.Fa attachment .
109.Bl -tag -width tenletters
110.It Mention
111.It Emoji
112Inline text :emoji: with image replacement.
113.It Place
114Attached as a
115.Fa tag
116to
117.Vt Note
118and
119.Fa location
120to
121.Vt Event .
122Supports
123.Fa name ,
124.Fa url ,
125.Fa latitude ,
126and
127.Fa longitude .
128.It Document
129Plain text and images in jpeg, gif, png, and webp formats are supported.
130.El
131.Ss SECURITY
132Honk uses http signatures.
133.Ss WEBFINGER
134Honk implements the
135.Vt webfinger
136end point and will use it for @mention resolution.
137It is not required for federation.
138.Sh SEE ALSO
139.Xr honk 1
140.Sh STANDARDS
141.Pp
142.Lk https://www.w3.org/TR/activitypub/ "ActivityPub"
143.Pp
144.Lk https://www.w3.org/TR/activitystreams-vocabulary/ "Activity Vocabulary"