summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorGravatar Oliver2025-07-16 20:21:20 +0200
committerGravatar Oliver2025-07-16 20:21:20 +0200
commit3554a73aa50526631961efcca78c6c8eb2a16911 (patch)
treefc4c21a65337ab8ecb4fb00aa551ee21997faf6f /doc
parentpo/de_DE.po aktualisiert (diff)
parentUpdated RELEASE_NOTES. (diff)
downloadsnac2-3554a73aa50526631961efcca78c6c8eb2a16911.tar.gz
snac2-3554a73aa50526631961efcca78c6c8eb2a16911.tar.xz
snac2-3554a73aa50526631961efcca78c6c8eb2a16911.zip
Merge pull request 'master' (#9) from grunfink/snac2:master into master
Reviewed-on: https://codeberg.org/zen/snac2/pulls/9
Diffstat (limited to 'doc')
-rw-r--r--doc/snac.199
-rw-r--r--doc/snac.810
-rw-r--r--doc/style.css1
3 files changed, 93 insertions, 17 deletions
diff --git a/doc/snac.1 b/doc/snac.1
index 92e30b7..e905610 100644
--- a/doc/snac.1
+++ b/doc/snac.1
@@ -24,9 +24,9 @@ For file and data formats, see
24.Ss Web Interface 24.Ss Web Interface
25The web interface provided by 25The web interface provided by
26.Nm 26.Nm
27is split in two data streams: the public timeline and the 27is split in three data streams: the public timeline, the private
28private timeline. There are no other feeds like the server-scoped 28timeline and the instance timeline. There are no other feeds like
29or the federated firehoses provided by other similar ActivityPub 29the federated firehoses provided by other similar ActivityPub
30implementations like Mastodon or Pleroma. 30implementations like Mastodon or Pleroma.
31.Pp 31.Pp
32The public timeline, also called the local timeline, is what an 32The public timeline, also called the local timeline, is what an
@@ -67,9 +67,23 @@ sent to those people you mention in the post body.
67If you fill this optional text field with the URL of another one's 67If you fill this optional text field with the URL of another one's
68post, your text will be considered as a reply to it, not a 68post, your text will be considered as a reply to it, not a
69standalone one. 69standalone one.
70.It Draft
71If you set this checkbox, your text will not be sent when you
72push the Post button, but stored for later modification in
73the "Drafts" section.
74.It Scheduled post...
75This dropdown menu allows setting a date and time for the
76post publication.
77.It Attachments...
78This dropdown menu allows uploading media attachments (images,
79audio, video, etc.) to your post.
80.It Poll...
81this dropdown menu gives access to the voting options, that
82will make your post a poll. You can set the options to be
83voted, if it's a multiple choice poll and the due date.
70.El 84.El
71.Pp 85.Pp
72More options are hidden under a toggle control. They are the 86More options are hidden under dropdown menus. They are the
73following: 87following:
74.Bl -tag -offset indent 88.Bl -tag -offset indent
75.It Follow (by URL or user@host) 89.It Follow (by URL or user@host)
@@ -85,7 +99,9 @@ liked.
85This option opens the user setup dialog. 99This option opens the user setup dialog.
86.It Followed hashtags... 100.It Followed hashtags...
87Enter here the list of hashtags you want to follow, one 101Enter here the list of hashtags you want to follow, one
88per line, with or without the # symbol. 102per line, with or without the # symbol. Since version 2.78,
103URLs to RSS feeds of ActivityPub objects are also allowed
104(like e.g. https://mastodon.social/tags/bloomscrolling).
89.It Blocked hashtags... 105.It Blocked hashtags...
90Enter here the list of hashtags you want to block, one 106Enter here the list of hashtags you want to block, one
91per line, with or without the # symbol. 107per line, with or without the # symbol.
@@ -125,6 +141,10 @@ standard ntfy.sh server), fill the two provided
125fields (ntfy server/topic and, if protected, the token). 141fields (ntfy server/topic and, if protected, the token).
126You need to refer to the https://ntfy.sh web site for 142You need to refer to the https://ntfy.sh web site for
127more information on this process. 143more information on this process.
144.It Notify webhook
145If this is set to an URL, an HTTP POST will be sent to it
146whenever a new notification happens (see the 'Webhook for
147notifications' section below for more information).
128.It Maximum days to keep posts 148.It Maximum days to keep posts
129This numeric value specifies the number of days to pass before 149This numeric value specifies the number of days to pass before
130posts (yours and others') will be purged. This value overrides 150posts (yours and others') will be purged. This value overrides
@@ -264,7 +284,7 @@ Requests an object and dumps it to stdout. This is a very low
264level command that is not very useful to you. 284level command that is not very useful to you.
265.It Cm announce Ar basedir Ar uid Ar url 285.It Cm announce Ar basedir Ar uid Ar url
266Announces (boosts) a post via its URL. 286Announces (boosts) a post via its URL.
267.It Cm note Ar basedir Ar uid Ar text Op file file ... 287.It Cm note Ar basedir Ar uid Ar text Op file file ... Op -r inReplyTo
268Enqueues a Create + Note message to all followers. If the 288Enqueues a Create + Note message to all followers. If the
269.Ar text 289.Ar text
270argument is -e, the external editor defined by the EDITOR 290argument is -e, the external editor defined by the EDITOR
@@ -272,10 +292,11 @@ environment variable will be invoked to prepare a message; if
272it's - (a lonely hyphen), the post content will be read from stdin. 292it's - (a lonely hyphen), the post content will be read from stdin.
273The rest of command line arguments are treated as media files to be 293The rest of command line arguments are treated as media files to be
274attached to the post. The LANG environment variable (if defined) is used 294attached to the post. The LANG environment variable (if defined) is used
275as the post language. 295as the post language. An optional URL to a Fediverse post, prefixed by -r,
276.It Cm note_unlisted Ar basedir Ar uid Ar text Op file file ... 296can be specified for this note to be a reply to.
297.It Cm note_unlisted Ar basedir Ar uid Ar text Op file file ... Op -r inReplyTo
277Like the previous one, but creates an "unlisted" (or "quiet public") post. 298Like the previous one, but creates an "unlisted" (or "quiet public") post.
278.It Cm note_mention Ar basedir Ar uid Ar text Op file file ... 299.It Cm note_mention Ar basedir Ar uid Ar text Op file file ... Op -r inReplyTo
279Like the previous one, but creates a post only for accounts mentioned 300Like the previous one, but creates a post only for accounts mentioned
280in the post body. 301in the post body.
281.It Cm block Ar basedir Ar instance_url 302.It Cm block Ar basedir Ar instance_url
@@ -285,9 +306,9 @@ blocked without further inspection.
285.It Cm unblock Ar basedir Ar instance_url 306.It Cm unblock Ar basedir Ar instance_url
286Unblocks a previously blocked instance. 307Unblocks a previously blocked instance.
287.It Cm verify_links Ar basedir Ar uid 308.It Cm verify_links Ar basedir Ar uid
288Verifies all links stored as metadata for the given user. This verification 309Verifies all links or account handles stored as metadata for the given user.
289is done by downloading the link content and searching for a link back to 310This verification is done by downloading the link content and searching for
290the 311a link back to the
291.Nm 312.Nm
292user url that also contains a rel="me" attribute. These links are specially 313user url that also contains a rel="me" attribute. These links are specially
293marked as verified in the user's public timeline and also via the Mastodon API. 314marked as verified in the user's public timeline and also via the Mastodon API.
@@ -300,6 +321,13 @@ subdirectory inside the user directory:
300.Pa blocked_accounts.csv , 321.Pa blocked_accounts.csv ,
301.Pa lists.csv , and 322.Pa lists.csv , and
302.Pa following_accounts.csv . 323.Pa following_accounts.csv .
324.It Cm export_posts Ar basedir Ar uid
325Exports all posts written by the user to the file
326.Pa outbox.json
327inside the
328.Pa export/
329subdirectory inside the user directory. The format is compatible with the
330one generated by the equivalent option in Mastodon.
303.It Cm alias Ar basedir Ar uid Ar "@account@remotehost" 331.It Cm alias Ar basedir Ar uid Ar "@account@remotehost"
304Sets an account as an alias of this one. This is a necessary step to migrate 332Sets an account as an alias of this one. This is a necessary step to migrate
305an account to a remote Mastodon instance (see 333an account to a remote Mastodon instance (see
@@ -354,10 +382,10 @@ subdirectory of a user's directory inside the server base directory.
354Prints the name of the user created lists. 382Prints the name of the user created lists.
355.It Cm list_members Ar basedir Ar uid Ar name 383.It Cm list_members Ar basedir Ar uid Ar name
356Prints the list of actors in the named list. 384Prints the list of actors in the named list.
357.It Cm create_list Ar basedir Ar uid Ar name 385.It Cm list_create Ar basedir Ar uid Ar name
358Creates a new list. 386Creates a new list.
359.It Cm delete_list Ar basedir Ar uid Ar name 387.It Cm list_remove Ar basedir Ar uid Ar name
360Deletes an existing list. 388Removes an existing list.
361.It Cm list_add Ar basedir Ar uid Ar name Ar account 389.It Cm list_add Ar basedir Ar uid Ar name Ar account
362Adds an account (by its @name@host handle or actor URL) to a list. 390Adds an account (by its @name@host handle or actor URL) to a list.
363.It Cm list_del Ar basedir Ar uid Ar name Ar actor_url 391.It Cm list_del Ar basedir Ar uid Ar name Ar actor_url
@@ -408,6 +436,43 @@ You can obtain an API Token by connecting to the following URL:
408https://$SNAC_HOST/oauth/x-snac-get-token 436https://$SNAC_HOST/oauth/x-snac-get-token
409.Ed 437.Ed
410.Pp 438.Pp
439.Ss Webhook for notifications
440Since version 2.78, users can set the URL to a webhook that will receive
441an HTTP POST with every notification (in JSON format). This can be used to
442implement some automation whenever a new activity happens, like autorepliers,
443chatbots, interactive textual games or whatever. The
444.Pa examples/
445subdirectory contains a tiny Python program that implements an auto-follower
446for every new follow. The JSON notification object includes the following data:
447.Bl -tag -offset indent
448.It id
449a unique notification identifier
450.It actor
451the origin actor id
452.It target
453the target actor id
454.It date
455the notification date
456.It msg
457the full ActivityPub action JSON object
458.It objid
459the object identifier (extracted from msg, may be null)
460.It type
461the action type (extracted from msg)
462.It utype
463the action subtype (extracted from msg, may be null)
464.It uid
465the user identifier (account name)
466.It basedir
467the server base directory
468.It baseurl
469the server base URL
470.It account
471the origin actor object
472.It reply
473the activity this post is a reply to (may not exist)
474.El
475.Pp
411.Sh ENVIRONMENT 476.Sh ENVIRONMENT
412.Bl -tag -width Ds 477.Bl -tag -width Ds
413.It SNAC_BASEDIR 478.It SNAC_BASEDIR
@@ -422,9 +487,9 @@ Overrides the debugging level from the server 'dbglevel' configuration
422variable. Set it to an integer value. The higher, the deeper in meaningless 487variable. Set it to an integer value. The higher, the deeper in meaningless
423verbiage you'll find yourself into. 488verbiage you'll find yourself into.
424.It Ev EDITOR 489.It Ev EDITOR
425The user-preferred interactive text editor to prepare messages. 490The user-preferred interactive text editor to prepare notes.
426.It Ev LANG 491.It Ev LANG
427The language of the post when sending messages. 492The language of the post when sending notes from the command line.
428.El 493.El
429.Sh SEE ALSO 494.Sh SEE ALSO
430.Xr snac 5 , 495.Xr snac 5 ,
diff --git a/doc/snac.8 b/doc/snac.8
index 1537f89..89c00b4 100644
--- a/doc/snac.8
+++ b/doc/snac.8
@@ -207,6 +207,8 @@ fields are set (see below), they are also shown.
207The email address of the instance administrator (optional). 207The email address of the instance administrator (optional).
208.It Ic admin_account 208.It Ic admin_account
209The user name of the instance administrator (optional). 209The user name of the instance administrator (optional).
210.It Ic title
211The name of the instance (optional).
210.It Ic short_description 212.It Ic short_description
211A textual short description about the instance (optional). 213A textual short description about the instance (optional).
212.It Ic short_description_raw 214.It Ic short_description_raw
@@ -277,6 +279,14 @@ the usual one, like in smtp://mail.example.com:587.
277.It Ic smtp_user 279.It Ic smtp_user
278.It Ic smtp_password 280.It Ic smtp_password
279To be filled if the SMTP server defined by the previous directive needs credentials. 281To be filled if the SMTP server defined by the previous directive needs credentials.
282.It Ic rss_hashtag_poll_hours
283The periodic number of hours hashtag RSS are polled (default: 4). It has a minimum
284value of 1 to avoid hammering servers.
285.It Ic disable_notify_webhook
286Since version 2.78, users can set a webhook URL to receive notifications. Set this
287to true if you don't want your users to have this privilege.
288.It Ic favicon_url
289The URL to a favicon. If it's not set, the default one is used instead.
280.El 290.El
281.Pp 291.Pp
282You must restart the server to make effective these changes. 292You must restart the server to make effective these changes.
diff --git a/doc/style.css b/doc/style.css
index 027fc43..5289332 100644
--- a/doc/style.css
+++ b/doc/style.css
@@ -1,5 +1,6 @@
1body { max-width: 48em; margin: auto; line-height: 1.5; padding: 0.8em; word-wrap: break-word; } 1body { max-width: 48em; margin: auto; line-height: 1.5; padding: 0.8em; word-wrap: break-word; }
2pre { overflow-x: scroll; } 2pre { overflow-x: scroll; }
3blockquote { font-style: italic; }
3.snac-embedded-video, img { max-width: 100% } 4.snac-embedded-video, img { max-width: 100% }
4.snac-origin { font-size: 85% } 5.snac-origin { font-size: 85% }
5.snac-score { float: right; font-size: 85% } 6.snac-score { float: right; font-size: 85% }