-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbetula_in_agora.myco
More file actions
38 lines (33 loc) · 1.8 KB
/
betula_in_agora.myco
File metadata and controls
38 lines (33 loc) · 1.8 KB
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
28
29
30
31
32
33
34
35
36
37
38
**Betula** sites want to be federated and shared, at least they pretend to. In this note I describe how Betulae can be included in [[Agora]], given no additional federation capabilities are added to Agora^^1^^.
++This document is outdated. See [[https://git.agor.ai/bouncepaw]] repos for an actual implementation, and [[https://anagora.org/@bouncepaw-betula]] and [[https://anagora.org/@bouncepaw-flancian]] to see how it looks in Agora.
= Algorithm
*. In [[Flancia]], there is a [[Betula]].
*. Daily, an unauthenticated script fetches `/cat` to see all categories. It is unauthenticated, so no private links leak. There is also a git repository set up.
*. For each category:
**. Create a file called `<category name>.myco`.
**. Write {
```myco
= <category name>
<category description>
```
}
**. For each link in category:
***. Write {
```myco
== <link title> ([[<post url> | on Betula]])
[[<link url>]]
<link description>
```
*. An Agora then fetches the repository somehow.
Note that the link description is formatted in Mycomarkup^^2^^. It can thus be inserted verbatim. But what if the Betula administrator writes descriptions that break the formatting of further links in the resulting document? So be it.
}
*. {
```sh
git add .
git commit -m `date "+%Y-%m-%d"`
git push
```
}
= Footnotes
^^1^^ Id est Agora continues to aggregate [[Git]] repositories. Currently, Agora has a poor support of [[Mycomarkup]], but [[Flancian]] wanted to improve it, and I believe he will, so I'm not considering Mycomarkup support to be an obstacle. In the future, a [[anagora>agora.yaml]] convention might arise, thus removing the need for such a script.
^^2^^ Perhaps, Betula could provide a special API for exporting categories in such Mycomarkup documents. `/cat-as-myco/` or something. Less requests is better.