Mercurial > silorider
annotate README.rst @ 60:b7da3d97ea99
Add profile URL handlers
Silos register these handlers so that everybody knows if a hyperlink is
a mention to another user on a particular social network. If any handler
matches, silos not related to that social media will skip that link.
It's possible than in rare cases we want that link everywhere, but so
far I haven't needed it, compared to all the times I didn't want these
links.
author | Ludovic Chabant <ludovic@chabant.com> |
---|---|
date | Sat, 28 Oct 2023 11:57:04 -0700 |
parents | 678278cb85b1 |
children |
rev | line source |
---|---|
0 | 1 |
2 SiloRider | |
3 ========= | |
4 | |
5 SiloRider is a command-line utility that lets you implement the `POSSE`_ model | |
6 on a website. This is how it works: | |
7 | |
8 - It reads your website's main page (or whatever URL you supply) and looks for | |
9 `Microformats`_ markup. | |
10 - It reads a configuration file where you describe which "silos" (*i.e.* | |
11 external services) you want to post your content to. | |
12 - It reads a local cache file to figure out which content has already been | |
13 posted where, so it only posts new content. | |
14 - It actually posts that content to each silo. | |
15 | |
16 | |
17 Supported Silos | |
18 --------------- | |
19 | |
20 Right now, the following silos are supported: | |
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 | 24 - Print: a debug silo that just prints entries in the console. |
25 | |
26 | |
17
678278cb85b1
Add installation steps in README.
Ludovic Chabant <ludovic@chabant.com>
parents:
15
diff
changeset
|
27 Installation |
678278cb85b1
Add installation steps in README.
Ludovic Chabant <ludovic@chabant.com>
parents:
15
diff
changeset
|
28 ------------ |
678278cb85b1
Add installation steps in README.
Ludovic Chabant <ludovic@chabant.com>
parents:
15
diff
changeset
|
29 |
678278cb85b1
Add installation steps in README.
Ludovic Chabant <ludovic@chabant.com>
parents:
15
diff
changeset
|
30 You can install SiloRider like any other Python tool:: |
678278cb85b1
Add installation steps in README.
Ludovic Chabant <ludovic@chabant.com>
parents:
15
diff
changeset
|
31 |
678278cb85b1
Add installation steps in README.
Ludovic Chabant <ludovic@chabant.com>
parents:
15
diff
changeset
|
32 pip install silorider |
678278cb85b1
Add installation steps in README.
Ludovic Chabant <ludovic@chabant.com>
parents:
15
diff
changeset
|
33 |
678278cb85b1
Add installation steps in README.
Ludovic Chabant <ludovic@chabant.com>
parents:
15
diff
changeset
|
34 You can then check it installed correctly with:: |
678278cb85b1
Add installation steps in README.
Ludovic Chabant <ludovic@chabant.com>
parents:
15
diff
changeset
|
35 |
678278cb85b1
Add installation steps in README.
Ludovic Chabant <ludovic@chabant.com>
parents:
15
diff
changeset
|
36 silorider -h |
678278cb85b1
Add installation steps in README.
Ludovic Chabant <ludovic@chabant.com>
parents:
15
diff
changeset
|
37 |
678278cb85b1
Add installation steps in README.
Ludovic Chabant <ludovic@chabant.com>
parents:
15
diff
changeset
|
38 You can also install from source by cloning the Git or Mercurial repository and |
678278cb85b1
Add installation steps in README.
Ludovic Chabant <ludovic@chabant.com>
parents:
15
diff
changeset
|
39 running:: |
678278cb85b1
Add installation steps in README.
Ludovic Chabant <ludovic@chabant.com>
parents:
15
diff
changeset
|
40 |
678278cb85b1
Add installation steps in README.
Ludovic Chabant <ludovic@chabant.com>
parents:
15
diff
changeset
|
41 pip install -e /path/to/silorider/repo |
678278cb85b1
Add installation steps in README.
Ludovic Chabant <ludovic@chabant.com>
parents:
15
diff
changeset
|
42 |
678278cb85b1
Add installation steps in README.
Ludovic Chabant <ludovic@chabant.com>
parents:
15
diff
changeset
|
43 |
0 | 44 Quickstart |
45 ---------- | |
46 | |
15
cb1dc5c864d8
Specify URLs in the config file instead of in the CLI.
Ludovic Chabant <ludovic@chabant.com>
parents:
6
diff
changeset
|
47 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
|
48 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
|
49 and to specify the url to one of your personal websites:: |
0 | 50 |
51 [silo:my_mastodon] | |
52 type: mastodon | |
53 url: https://mastodon.social | |
54 | |
15
cb1dc5c864d8
Specify URLs in the config file instead of in the CLI.
Ludovic Chabant <ludovic@chabant.com>
parents:
6
diff
changeset
|
55 [urls] |
cb1dc5c864d8
Specify URLs in the config file instead of in the CLI.
Ludovic Chabant <ludovic@chabant.com>
parents:
6
diff
changeset
|
56 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
|
57 |
cb1dc5c864d8
Specify URLs in the config file instead of in the CLI.
Ludovic Chabant <ludovic@chabant.com>
parents:
6
diff
changeset
|
58 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
|
59 your blog at ``your.website.com``. |
0 | 60 |
61 You can then run:: | |
62 | |
63 silorider auth my_mastodon | |
64 | |
15
cb1dc5c864d8
Specify URLs in the config file instead of in the CLI.
Ludovic Chabant <ludovic@chabant.com>
parents:
6
diff
changeset
|
65 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
|
66 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
|
67 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
|
68 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
|
69 silo. |
0 | 70 |
71 Once authenticated, you can run:: | |
72 | |
15
cb1dc5c864d8
Specify URLs in the config file instead of in the CLI.
Ludovic Chabant <ludovic@chabant.com>
parents:
6
diff
changeset
|
73 silorider populate |
0 | 74 |
15
cb1dc5c864d8
Specify URLs in the config file instead of in the CLI.
Ludovic Chabant <ludovic@chabant.com>
parents:
6
diff
changeset
|
75 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
|
76 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
|
77 entries in one go. |
0 | 78 |
79 Later, when you post something new, you can then run:: | |
80 | |
15
cb1dc5c864d8
Specify URLs in the config file instead of in the CLI.
Ludovic Chabant <ludovic@chabant.com>
parents:
6
diff
changeset
|
81 silorider process |
0 | 82 |
15
cb1dc5c864d8
Specify URLs in the config file instead of in the CLI.
Ludovic Chabant <ludovic@chabant.com>
parents:
6
diff
changeset
|
83 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
|
84 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
|
85 it to the configured silos. If not, it will just exit. |
0 | 86 |
87 | |
88 .. _POSSE: https://indieweb.org/POSSE | |
89 .. _Microformats: http://microformats.org/ | |
90 .. _Mastodon: https://joinmastodon.org/ | |
6
6dc64a419a71
Add Twitter to list of support silos.
Ludovic Chabant <ludovic@chabant.com>
parents:
0
diff
changeset
|
91 .. _Twitter: https://twitter.com/ |
0 | 92 .. _INI: https://en.wikipedia.org/wiki/INI_file |
93 |