all repos — honk @ 7ace81cff1db29a6a887a6f43443157aa74cec64

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 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
 52activities 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
 96Supported.
 97Honk sends and receives
 98.Vt Update
 99activities.
100.It Vt Delete
101Does what it can.
102.It Vt Like
103Don't be ridiculous.
104.El
105.Ss METADATA
106The following additional object types are supported as
107.Fa tag
108or
109.Fa attachment .
110.Bl -tag -width tenletters
111.It Mention
112Pretty @ machine.
113.It Emoji
114Inline text :emoji: with image replacement.
115.It Place
116Attached as a
117.Fa tag
118to
119.Vt Note
120and
121.Fa location
122to
123.Vt Event .
124Supports
125.Fa name ,
126.Fa url ,
127.Fa latitude ,
128and
129.Fa longitude .
130.It Document
131Plain text and images in jpeg, gif, png, and webp formats are supported.
132Other formats are linked to origin.
133.El
134.Ss EXTENSIONS
135Honk also supports a
136.Vt Ping
137activity and will respond with a
138.Vt Pong
139activity.
140This is useful for debugging networking connectivity issues without
141visible side effects.
142See ping.txt for details.
143.Ss SECURITY
144Honk uses http signatures.
145.Ss WEBFINGER
146Honk implements the
147.Vt webfinger
148end point and will use it for @mention resolution.
149It is not required for federation.
150.Ss LD-JSON
151Not really.
152.Sh SEE ALSO
153.Xr intro 1 ,
154.Xr honk 1
155.Sh STANDARDS
156.Pp
157.Lk https://www.w3.org/TR/activitypub/ "ActivityPub"
158.Pp
159.Lk https://www.w3.org/TR/activitystreams-vocabulary/ "Activity Vocabulary"
160.Sh CAVEATS
161The ActivityPub standard is subject to interpretation, and not all
162implementations are as enlightened as honk.