forked from mirrors/relay
81 lines
3.1 KiB
HTML
81 lines
3.1 KiB
HTML
@use crate::{
|
|
config::{Config, UrlKind},
|
|
data::Node,
|
|
templates::{info, instance, statics::index_css},
|
|
};
|
|
|
|
@(nodes: &[Node], config: &Config)
|
|
|
|
<!doctype html>
|
|
<html>
|
|
<head lang="en">
|
|
<meta charset="utf-8" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
<title>@config.hostname() | ActivityPub Relay</title>
|
|
<link rel="stylesheet" href="/static/@index_css.name" type="text/css" />
|
|
</head>
|
|
<body>
|
|
<header>
|
|
<div class="header-text">
|
|
<h1>@Config::software_name()<span class="smaller">@Config::software_version()</span></h1>
|
|
<p>on @config.hostname()</p>
|
|
</div>
|
|
</header>
|
|
<main>
|
|
<section>
|
|
<h3>Connected Servers</h3>
|
|
@if nodes.is_empty() {
|
|
<p>There are no connected servers at this time.</p>
|
|
} else {
|
|
<ul>
|
|
@for node in nodes {
|
|
@if let Some(inst) = node.instance.as_ref() {
|
|
<li>
|
|
@:instance(inst, node.info.as_ref().map(|info| { info.software.as_ref() }), node.contact.as_ref(), &node.base)
|
|
</li>
|
|
} else {
|
|
@if let Some(inf) = node.info.as_ref() {
|
|
<li>
|
|
@:info(&inf, &node.base)
|
|
</li>
|
|
}
|
|
}
|
|
}
|
|
</ul>
|
|
}
|
|
</section>
|
|
<section>
|
|
<h3>Joining</h3>
|
|
<article class="joining">
|
|
<p>
|
|
If you are the admin of a server that supports activitypub relays, you can add
|
|
this relay to your server.
|
|
</p>
|
|
<h4>Mastodon</h4>
|
|
<p>
|
|
Mastodon admins can add this relay by adding
|
|
<pre>@config.generate_url(UrlKind::Inbox)</pre> in their relay settings.
|
|
</p>
|
|
<h4>Pleroma</h4>
|
|
<p>
|
|
Pleroma admins can add this relay by adding
|
|
<pre>@config.generate_url(UrlKind::Actor)</pre>
|
|
to their relay settings (I don't actually know how pleroma handles adding
|
|
relays, is it still a mix command?).
|
|
</p>
|
|
<h4>Others</h4>
|
|
<p>
|
|
Consult the documentation for your server. It's likely that it follows either
|
|
Mastodon or Pleroma's relay formatting.
|
|
</p>
|
|
</article>
|
|
</section>
|
|
</main>
|
|
<footer>
|
|
<p>
|
|
The source code for this project can be found at
|
|
<a href="@config.source_code()">@config.source_code()</a>
|
|
</p>
|
|
</footer>
|
|
</body>
|
|
</html>
|