annotate README.rst @ 16:025e6a5bb5a3

Added tag 0.2.0 for changeset cb1dc5c864d8
author Ludovic Chabant <ludovic@chabant.com>
date Mon, 30 Jul 2018 00:00:30 -0700
parents cb1dc5c864d8
children 678278cb85b1
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
a1b7a459326a Initial commit.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
1
a1b7a459326a Initial commit.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
2 SiloRider
a1b7a459326a Initial commit.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
3 =========
a1b7a459326a Initial commit.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
4
a1b7a459326a Initial commit.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
5 SiloRider is a command-line utility that lets you implement the `POSSE`_ model
a1b7a459326a Initial commit.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
6 on a website. This is how it works:
a1b7a459326a Initial commit.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
7
a1b7a459326a Initial commit.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
8 - It reads your website's main page (or whatever URL you supply) and looks for
a1b7a459326a Initial commit.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
9 `Microformats`_ markup.
a1b7a459326a Initial commit.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
10 - It reads a configuration file where you describe which "silos" (*i.e.*
a1b7a459326a Initial commit.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
11 external services) you want to post your content to.
a1b7a459326a Initial commit.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
12 - It reads a local cache file to figure out which content has already been
a1b7a459326a Initial commit.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
13 posted where, so it only posts new content.
a1b7a459326a Initial commit.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
14 - It actually posts that content to each silo.
a1b7a459326a Initial commit.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
15
a1b7a459326a Initial commit.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
16
a1b7a459326a Initial commit.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
17 Supported Silos
a1b7a459326a Initial commit.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
18 ---------------
a1b7a459326a Initial commit.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
19
a1b7a459326a Initial commit.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
20 Right now, the following silos are supported:
a1b7a459326a Initial commit.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
21
6
6dc64a419a71 Add Twitter to list of support silos.
Ludovic Chabant <ludovic@chabant.com>
parents: 0
diff changeset
22 - `Mastodon`_: an open, federated social network and microblogging service.
6dc64a419a71 Add Twitter to list of support silos.
Ludovic Chabant <ludovic@chabant.com>
parents: 0
diff changeset
23 - `Twitter`_: a proprietary social network and microblogging service.
0
a1b7a459326a Initial commit.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
24 - Print: a debug silo that just prints entries in the console.
a1b7a459326a Initial commit.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
25
a1b7a459326a Initial commit.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
26
a1b7a459326a Initial commit.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
27 Quickstart
a1b7a459326a Initial commit.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
28 ----------
a1b7a459326a Initial commit.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
29
15
cb1dc5c864d8 Specify URLs in the config file instead of in the CLI.
Ludovic Chabant <ludovic@chabant.com>
parents: 6
diff changeset
30 SiloRider will need to read a configuration file in `INI`_ format. The minimum
cb1dc5c864d8 Specify URLs in the config file instead of in the CLI.
Ludovic Chabant <ludovic@chabant.com>
parents: 6
diff changeset
31 requirement is to define at least one "silo" using a ``silo:<name>`` section,
cb1dc5c864d8 Specify URLs in the config file instead of in the CLI.
Ludovic Chabant <ludovic@chabant.com>
parents: 6
diff changeset
32 and to specify the url to one of your personal websites::
0
a1b7a459326a Initial commit.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
33
a1b7a459326a Initial commit.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
34 [silo:my_mastodon]
a1b7a459326a Initial commit.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
35 type: mastodon
a1b7a459326a Initial commit.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
36 url: https://mastodon.social
a1b7a459326a Initial commit.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
37
15
cb1dc5c864d8 Specify URLs in the config file instead of in the CLI.
Ludovic Chabant <ludovic@chabant.com>
parents: 6
diff changeset
38 [urls]
cb1dc5c864d8 Specify URLs in the config file instead of in the CLI.
Ludovic Chabant <ludovic@chabant.com>
parents: 6
diff changeset
39 my_blog: https://your.website.com
cb1dc5c864d8 Specify URLs in the config file instead of in the CLI.
Ludovic Chabant <ludovic@chabant.com>
parents: 6
diff changeset
40
cb1dc5c864d8 Specify URLs in the config file instead of in the CLI.
Ludovic Chabant <ludovic@chabant.com>
parents: 6
diff changeset
41 This defines one Mastodon silo to which you want to cross-post entries from
cb1dc5c864d8 Specify URLs in the config file instead of in the CLI.
Ludovic Chabant <ludovic@chabant.com>
parents: 6
diff changeset
42 your blog at ``your.website.com``.
0
a1b7a459326a Initial commit.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
43
a1b7a459326a Initial commit.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
44 You can then run::
a1b7a459326a Initial commit.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
45
a1b7a459326a Initial commit.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
46 silorider auth my_mastodon
a1b7a459326a Initial commit.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
47
15
cb1dc5c864d8 Specify URLs in the config file instead of in the CLI.
Ludovic Chabant <ludovic@chabant.com>
parents: 6
diff changeset
48 This command will authenticate your Mastodon account and provide SiloRider with
cb1dc5c864d8 Specify URLs in the config file instead of in the CLI.
Ludovic Chabant <ludovic@chabant.com>
parents: 6
diff changeset
49 the permission to post to your timeline. The authorization tokens are stored in
cb1dc5c864d8 Specify URLs in the config file instead of in the CLI.
Ludovic Chabant <ludovic@chabant.com>
parents: 6
diff changeset
50 a cache file that defaults to ``silorider.db``, next to the configuration file.
cb1dc5c864d8 Specify URLs in the config file instead of in the CLI.
Ludovic Chabant <ludovic@chabant.com>
parents: 6
diff changeset
51 Later, this cache will also contain the list of entries already posted to each
cb1dc5c864d8 Specify URLs in the config file instead of in the CLI.
Ludovic Chabant <ludovic@chabant.com>
parents: 6
diff changeset
52 silo.
0
a1b7a459326a Initial commit.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
53
a1b7a459326a Initial commit.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
54 Once authenticated, you can run::
a1b7a459326a Initial commit.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
55
15
cb1dc5c864d8 Specify URLs in the config file instead of in the CLI.
Ludovic Chabant <ludovic@chabant.com>
parents: 6
diff changeset
56 silorider populate
0
a1b7a459326a Initial commit.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
57
15
cb1dc5c864d8 Specify URLs in the config file instead of in the CLI.
Ludovic Chabant <ludovic@chabant.com>
parents: 6
diff changeset
58 This will populate the cache with the existing entries, since you probably
cb1dc5c864d8 Specify URLs in the config file instead of in the CLI.
Ludovic Chabant <ludovic@chabant.com>
parents: 6
diff changeset
59 don't want the first run of SiloRider to cross-post your last dozen or so
cb1dc5c864d8 Specify URLs in the config file instead of in the CLI.
Ludovic Chabant <ludovic@chabant.com>
parents: 6
diff changeset
60 entries in one go.
0
a1b7a459326a Initial commit.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
61
a1b7a459326a Initial commit.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
62 Later, when you post something new, you can then run::
a1b7a459326a Initial commit.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
63
15
cb1dc5c864d8 Specify URLs in the config file instead of in the CLI.
Ludovic Chabant <ludovic@chabant.com>
parents: 6
diff changeset
64 silorider process
0
a1b7a459326a Initial commit.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
65
15
cb1dc5c864d8 Specify URLs in the config file instead of in the CLI.
Ludovic Chabant <ludovic@chabant.com>
parents: 6
diff changeset
66 This will pick up the new entries and post them to Mastodon. You can run this
cb1dc5c864d8 Specify URLs in the config file instead of in the CLI.
Ludovic Chabant <ludovic@chabant.com>
parents: 6
diff changeset
67 command again regularly... if there's something new, SiloRider will cross-post
cb1dc5c864d8 Specify URLs in the config file instead of in the CLI.
Ludovic Chabant <ludovic@chabant.com>
parents: 6
diff changeset
68 it to the configured silos. If not, it will just exit.
0
a1b7a459326a Initial commit.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
69
a1b7a459326a Initial commit.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
70
a1b7a459326a Initial commit.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
71 .. _POSSE: https://indieweb.org/POSSE
a1b7a459326a Initial commit.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
72 .. _Microformats: http://microformats.org/
a1b7a459326a Initial commit.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
73 .. _Mastodon: https://joinmastodon.org/
6
6dc64a419a71 Add Twitter to list of support silos.
Ludovic Chabant <ludovic@chabant.com>
parents: 0
diff changeset
74 .. _Twitter: https://twitter.com/
0
a1b7a459326a Initial commit.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
75 .. _INI: https://en.wikipedia.org/wiki/INI_file
a1b7a459326a Initial commit.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
76