-
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathREADME.mess
27 lines (20 loc) · 1.66 KB
/
README.mess
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
# About Multiposter
This is an application that lets you post to multiple web services at once.
## How To
While you can use Multiposter from the REPL, it also has a convenient command line interface. To build a binary, simply run ``sbcl --eval '(asdf:make :multiposter)'``.
The following services are supported:
- "Cohost"(https://cohost.org)
- File (just writes to disk)
- Git (commits and pushes)
- "Lichat"(https://shirakumo.github.io/lichat)
- "Mastodon"(https://mastodon.social)
- "Pixiv"(https://pixiv.net)
- "Reader"(https://github.com/shirakumo/reader)
- "Studio"(https://github.com/shirakumo/studio)
- "Tumblr"(https://tumblr.com)
- WebDAV
On the command line you can simply run ``multiposter`` and it should show you a nice help text with all the available options and commands.
## Creating New Clients
If you'd like to contribute another client to Multiposter, it's not too hard. Simply create a new client class with ``define-client``, and ensure all the properties that should be persisted for it are returned from an ``initargs`` method. Then implement methods for the ``post``, ``ready-p`` and ``setup`` functions.
If your service supports undoing/deleting a post, you should also create a ``result`` subclass and implement the ``undo`` method for it. Your ``post`` methods should then return a result instance on success, such that the post can be removed again later if desired.
For the ``setup`` function, make sure you implement the following logic: if ``&rest args`` are passed, reinitialise your client to use those initargs. Otherwise, if your client is not yet ``ready-p``, perform an interactive setup using ``query`` to prompt the user for the necessary options.