all repos — honk @ c5f785f4dfcbfaabd6595a25e381c296310824fa

my fork of honk

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 specification is subject to interpretation, and not all implementations
 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
 52activities are ignored.
 53.It Vt Video
 54Limited support.
 55.It Vt Audio
 56Limited Support.
 57.It Vt GuessWord
 58Guess the word game.
 59(Unofficial extension.)
 60The solution is stored in
 61.Fa content
 62with the possible words, one per line, in a file located at
 63.Fa wordlist .
 64.El
 65.Pp
 66Honk primarily supports HTML content, not markdown or other formats,
 67with a wide range of permitted HTML tags in object
 68.Fa content
 69fields.
 70The following tags are supported.
 71.Bd -literal -offset indent
 72a, img, span,
 73div, h1, h2, h3, h4, h5, h6, hr,
 74table, thead, tbody, tfoot, th, tr, td, colgroup, col,
 75p, br, pre, code, blockquote, q,
 76caption, kbd, time, wbr, aside,
 77ruby, rtc, rb, rt, details, summary,
 78samp, mark, ins, dfn, cite, abbr, address,
 79strong, em, b, i, s, u, sub, sup, del, tt, small,
 80ol, ul, li, dl, dt, dd
 81.Ed
 82.Pp
 83The following tag attributes are permitted.
 84.Bd -literal -offset indent
 85href, src, alt, colspan, rowspan
 86.Ed
 87.Pp
 88The following class names are used for syntax highlighting code blocks.
 89.Bd -literal -offset indent
 90kw, bi, st, nm, tp, op, cm, al, dl
 91.Ed
 92.Ss ACTIVITIES
 93The following activities are supported.
 94.Bl -tag -width tenletters
 95.It Vt Create
 96Fully supported.
 97.It Vt Announce
 98Supported with share semantics.
 99.It Vt Read
100Supported.
101Primarily used to acknowledge replies and complete threads.
102Can be interpreted to mean reply is approved, if not endorsed.
103.It Vt Add
104Works with collections.
105.It Vt Follow
106Supported.
107Can follow both actors and collections.
108.Vt Accept
109and
110.Vt Undo
111require that the original request be quoted, not referred to by URI.
112.It Vt Update
113Supported.
114Honk sends and receives
115.Vt Update
116activities.
117.It Vt Delete
118Does what it can.
119.It Vt Like
120Don't be ridiculous.
121.It Vt EmojiReact
122Be ridiculous.
123.El
124.Ss METADATA
125The following additional object types are supported, typically as
126.Fa tag
127or
128.Fa attachment .
129.Bl -tag -width tenletters
130.It Mention
131Pretty @ machine.
132.It Emoji
133Inline text :emoji: with image replacement.
134.It Place
135Included as a
136.Fa location .
137Supports
138.Fa name ,
139.Fa url ,
140.Fa latitude ,
141and
142.Fa longitude .
143.It Document
144Plain text and images in jpeg, gif, png, and webp formats are supported.
145Other formats are linked to origin.
146.El
147.Pp
148The
149.Fa replies
150array will be populated with a list of acknowledged replies.
151.Ss EXTENSIONS
152Honk also supports a
153.Vt Ping
154activity and will respond with a
155.Vt Pong
156activity.
157This is useful for debugging networking connectivity issues without
158visible side effects.
159See ping.txt for details.
160.Ss SECURITY
161Honk uses http signatures.
162.Ss WEBFINGER
163Honk implements the
164.Vt webfinger
165end point and will use it for @mention resolution.
166It is not required for federation.
167.Ss LD-JSON
168Not really.
169.Sh SEE ALSO
170.Xr intro 1 ,
171.Xr honk 1
172.Sh STANDARDS
173.Pp
174.Lk https://www.w3.org/TR/activitypub/ "ActivityPub"
175.Pp
176.Lk https://www.w3.org/TR/activitystreams-vocabulary/ "Activity Vocabulary"
177.Sh CAVEATS
178The ActivityPub standard is subject to interpretation, and not all
179implementations are as enlightened as honk.