73 lines
		
	
	
	
		
			2.9 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			73 lines
		
	
	
	
		
			2.9 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
@use crate::{config::{Config, UrlKind}, templates::statics::index_css, data::Node};
 | 
						|
 | 
						|
@(nodes: &[Node], config: &Config)
 | 
						|
 | 
						|
<!doctype html>
 | 
						|
<html>
 | 
						|
    <head lang="en">
 | 
						|
        <meta charset="utf-8"/>
 | 
						|
        <title>@config.hostname() | ActivityPub Relay</title>
 | 
						|
        <link rel="stylesheet" href="/static/@index_css.name" type="text/css" />
 | 
						|
    </head>
 | 
						|
    <body>
 | 
						|
        <header>
 | 
						|
            <h1>Welcome to @config.software_name() on @config.hostname()</h1>
 | 
						|
        </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(domain) = node.base.as_url().domain() {
 | 
						|
                                <li>
 | 
						|
                                    <p><a href="@node.base">@domain</a></p>
 | 
						|
                                    @if let Some(info) = node.info.as_ref() {
 | 
						|
                                        <p>Running @info.software version @info.version</p>
 | 
						|
                                        @if info.reg {
 | 
						|
                                            <p>Registration is open</p>
 | 
						|
                                        } else {
 | 
						|
                                            <p>Registration is closed</p>
 | 
						|
                                        }
 | 
						|
                                    }
 | 
						|
                                </li>
 | 
						|
                            }
 | 
						|
                        }
 | 
						|
                    </ul>
 | 
						|
                }
 | 
						|
            </section>
 | 
						|
            <section>
 | 
						|
                <h3>Joining</h3>
 | 
						|
                <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>
 | 
						|
            </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>
 |