mirror of
https://git.joinplu.me/Plume/Plume.git
synced 2024-11-14 07:51:01 +00:00
parent
b66e8942a9
commit
092ad5b795
12 changed files with 207 additions and 9 deletions
|
@ -72,6 +72,14 @@ impl Instance {
|
|||
.len() > 0
|
||||
}
|
||||
|
||||
pub fn main_admin(&self, conn: &PgConnection) -> User {
|
||||
users::table.filter(users::instance_id.eq(self.id))
|
||||
.filter(users::is_admin.eq(true))
|
||||
.limit(1)
|
||||
.get_result::<User>(conn)
|
||||
.expect("Couldn't load admins")
|
||||
}
|
||||
|
||||
pub fn compute_box(&self, prefix: &'static str, name: String, box_name: &'static str) -> String {
|
||||
ap_url(format!(
|
||||
"{instance}/{prefix}/{name}/{box_name}",
|
||||
|
@ -96,4 +104,8 @@ impl Instance {
|
|||
)).get_result::<Instance>(conn)
|
||||
.expect("Couldn't update instance")
|
||||
}
|
||||
|
||||
pub fn count(conn: &PgConnection) -> i64 {
|
||||
instances::table.count().get_result(conn).expect("Couldn't count instances")
|
||||
}
|
||||
}
|
||||
|
|
18
po/de.po
18
po/de.po
|
@ -438,5 +438,23 @@ msgstr "Artikel geschrieben haben"
|
|||
msgid "Read the detailed rules"
|
||||
msgstr "Lies die detailierten Regeln"
|
||||
|
||||
#, fuzzy
|
||||
msgid "Delete this article"
|
||||
msgstr "Neueste Artikel"
|
||||
|
||||
msgid "And connected to"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgid "other instances"
|
||||
msgstr "Über diese Instanz"
|
||||
|
||||
#, fuzzy
|
||||
msgid "Administred by"
|
||||
msgstr "Administration"
|
||||
|
||||
msgid "Runs Plume {{ version }}"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "Your password should be at least 8 characters long"
|
||||
#~ msgstr "Das Passwort sollte mindestens 8 Zeichen lang sein"
|
||||
|
|
15
po/en.po
15
po/en.po
|
@ -430,3 +430,18 @@ msgstr ""
|
|||
|
||||
msgid "Read the detailed rules"
|
||||
msgstr ""
|
||||
|
||||
msgid "Delete this article"
|
||||
msgstr ""
|
||||
|
||||
msgid "And connected to"
|
||||
msgstr ""
|
||||
|
||||
msgid "other instances"
|
||||
msgstr ""
|
||||
|
||||
msgid "Administred by"
|
||||
msgstr ""
|
||||
|
||||
msgid "Runs Plume {{ version }}"
|
||||
msgstr ""
|
||||
|
|
29
po/fr.po
29
po/fr.po
|
@ -256,7 +256,8 @@ msgid "You need to be logged in order to edit your profile"
|
|||
msgstr "Vous devez vous connecter pour modifier votre profil"
|
||||
|
||||
msgid "By {{ link_1 }}{{ link_2 }}{{ link_3 }}{{ name | escape }}{{ link_4 }}"
|
||||
msgstr "Par {{ link_1 }}{{ link_2 }}{{ link_3 }}{{ name | escape }}{{ link_4 }}"
|
||||
msgstr ""
|
||||
"Par {{ link_1 }}{{ link_2 }}{{ link_3 }}{{ name | escape }}{{ link_4 }}"
|
||||
|
||||
msgid "{{ data }} reshared your article"
|
||||
msgstr "{{ data }} a repartagé votre article"
|
||||
|
@ -407,14 +408,16 @@ msgid "Plume is a decentralized blogging engine."
|
|||
msgstr "Plume est un moteur de blog décentralisé."
|
||||
|
||||
msgid "Authors can manage various blogs from an unique website."
|
||||
msgstr "Les auteur⋅ice⋅s peuvent gérer différents blogs au sein d'un même site."
|
||||
msgstr ""
|
||||
"Les auteur⋅ice⋅s peuvent gérer différents blogs au sein d'un même site."
|
||||
|
||||
msgid ""
|
||||
"Articles are also visible on other Plume websites, and you can interact with "
|
||||
"them directly from other platforms like Mastodon."
|
||||
msgstr ""
|
||||
"Les articles sont également visibles sur d'autres sites Plume, et vous pouvez "
|
||||
"interagir avec directement depuis d'autres plateformes telles que Mastodon."
|
||||
"Les articles sont également visibles sur d'autres sites Plume, et vous "
|
||||
"pouvez interagir avec directement depuis d'autres plateformes telles que "
|
||||
"Mastodon."
|
||||
|
||||
msgid "Create your account"
|
||||
msgstr "Créer votre compte"
|
||||
|
@ -437,5 +440,23 @@ msgstr "articles"
|
|||
msgid "Read the detailed rules"
|
||||
msgstr "Lire les règles détaillées"
|
||||
|
||||
#, fuzzy
|
||||
msgid "Delete this article"
|
||||
msgstr "Derniers articles"
|
||||
|
||||
msgid "And connected to"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgid "other instances"
|
||||
msgstr "À propos de cette instance"
|
||||
|
||||
#, fuzzy
|
||||
msgid "Administred by"
|
||||
msgstr "Administration"
|
||||
|
||||
msgid "Runs Plume {{ version }}"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "Your password should be at least 8 characters long"
|
||||
#~ msgstr "Votre mot de passe doit faire au moins 8 caractères."
|
||||
|
|
33
po/gl.po
33
po/gl.po
|
@ -68,7 +68,8 @@ msgstr "Notificacións"
|
|||
|
||||
msgid ""
|
||||
"Written by {{ link_1 }}{{ url }}{{ link_2 }}{{ name | escape }}{{ link_3 }}"
|
||||
msgstr "Escrito por {{ link_1 }}{{ url }}{{ link_2 }}{{ name | escape }}{{ link_3 }}"
|
||||
msgstr ""
|
||||
"Escrito por {{ link_1 }}{{ url }}{{ link_2 }}{{ name | escape }}{{ link_3 }}"
|
||||
|
||||
msgid "This article is under the {{ license }} license."
|
||||
msgstr "Este artigo ten licenza {{ license }}"
|
||||
|
@ -251,7 +252,8 @@ msgid "You need to be logged in order to edit your profile"
|
|||
msgstr "Debe estar conectada para editar o seu perfil"
|
||||
|
||||
msgid "By {{ link_1 }}{{ link_2 }}{{ link_3 }}{{ name | escape }}{{ link_4 }}"
|
||||
msgstr "Por {{ link_1 }}{{ link_2 }}{{ link_3 }}{{ name | escape }}{{ link_4 }}"
|
||||
msgstr ""
|
||||
"Por {{ link_1 }}{{ link_2 }}{{ link_3 }}{{ name | escape }}{{ link_4 }}"
|
||||
|
||||
msgid "{{ data }} reshared your article"
|
||||
msgstr "{{ data }} comparteu o seu artigo"
|
||||
|
@ -322,7 +324,9 @@ msgstr[0] "Unha autora en este blog: "
|
|||
msgstr[1] "{{ count }} autoras en este blog: "
|
||||
|
||||
msgid "Login or use your Fediverse account to interact with this article"
|
||||
msgstr "Conéctese ou utilice a súa conta no fediverso para interactuar con este artigo"
|
||||
msgstr ""
|
||||
"Conéctese ou utilice a súa conta no fediverso para interactuar con este "
|
||||
"artigo"
|
||||
|
||||
msgid "Optional"
|
||||
msgstr "Opcional"
|
||||
|
@ -401,8 +405,9 @@ msgstr "As autoras poden xestionar varios blogs desde un único sitio web."
|
|||
msgid ""
|
||||
"Articles are also visible on other Plume websites, and you can interact with "
|
||||
"them directly from other platforms like Mastodon."
|
||||
msgstr "Os artigos son visibles tamén en outros sitios Plume, e pode interactuar con"
|
||||
"eles desde outras plataformas como Mastadon."
|
||||
msgstr ""
|
||||
"Os artigos son visibles tamén en outros sitios Plume, e pode interactuar "
|
||||
"coneles desde outras plataformas como Mastadon."
|
||||
|
||||
msgid "Create your account"
|
||||
msgstr "Cree a súa conta"
|
||||
|
@ -424,3 +429,21 @@ msgstr "artigos"
|
|||
|
||||
msgid "Read the detailed rules"
|
||||
msgstr "Lea o detalle das normas"
|
||||
|
||||
#, fuzzy
|
||||
msgid "Delete this article"
|
||||
msgstr "Últimos artigos"
|
||||
|
||||
msgid "And connected to"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgid "other instances"
|
||||
msgstr "Sobre esta instancia"
|
||||
|
||||
#, fuzzy
|
||||
msgid "Administred by"
|
||||
msgstr "Administración"
|
||||
|
||||
msgid "Runs Plume {{ version }}"
|
||||
msgstr ""
|
||||
|
|
18
po/nb.po
18
po/nb.po
|
@ -433,5 +433,23 @@ msgstr "artikler"
|
|||
msgid "Read the detailed rules"
|
||||
msgstr "Les reglene"
|
||||
|
||||
#, fuzzy
|
||||
msgid "Delete this article"
|
||||
msgstr "Siste artikler"
|
||||
|
||||
msgid "And connected to"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgid "other instances"
|
||||
msgstr "Om denne instansen"
|
||||
|
||||
#, fuzzy
|
||||
msgid "Administred by"
|
||||
msgstr "Administrasjon"
|
||||
|
||||
msgid "Runs Plume {{ version }}"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "Your password should be at least 8 characters long"
|
||||
#~ msgstr "Passordet ditt må bestå av minst åtte tegn"
|
||||
|
|
18
po/pl.po
18
po/pl.po
|
@ -444,6 +444,24 @@ msgstr "artykuły"
|
|||
msgid "Read the detailed rules"
|
||||
msgstr "Przeczytaj szczegółowe zasady"
|
||||
|
||||
#, fuzzy
|
||||
msgid "Delete this article"
|
||||
msgstr "Najnowsze artykuły"
|
||||
|
||||
msgid "And connected to"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgid "other instances"
|
||||
msgstr "O tej instancji"
|
||||
|
||||
#, fuzzy
|
||||
msgid "Administred by"
|
||||
msgstr "Administracja"
|
||||
|
||||
msgid "Runs Plume {{ version }}"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "Your password should be at least 8 characters long"
|
||||
#~ msgstr "Twoje hasło musi składać się przynajmniej z 8 znaków"
|
||||
|
||||
|
|
12
po/plume.pot
12
po/plume.pot
|
@ -423,3 +423,15 @@ msgstr ""
|
|||
|
||||
msgid "Delete this article"
|
||||
msgstr ""
|
||||
|
||||
msgid "And connected to"
|
||||
msgstr ""
|
||||
|
||||
msgid "other instances"
|
||||
msgstr ""
|
||||
|
||||
msgid "Administred by"
|
||||
msgstr ""
|
||||
|
||||
msgid "Runs Plume {{ version }}"
|
||||
msgstr ""
|
||||
|
|
|
@ -54,6 +54,7 @@ fn main() {
|
|||
routes::instance::update_settings,
|
||||
routes::instance::shared_inbox,
|
||||
routes::instance::nodeinfo,
|
||||
routes::instance::about,
|
||||
|
||||
routes::likes::create,
|
||||
routes::likes::create_auth,
|
||||
|
|
|
@ -123,3 +123,16 @@ fn nodeinfo(conn: DbConn) -> Json<serde_json::Value> {
|
|||
"metadata": {}
|
||||
}))
|
||||
}
|
||||
|
||||
#[get("/about")]
|
||||
fn about(user: User, conn: DbConn) -> Template {
|
||||
Template::render("instance/about", json!({
|
||||
"account": user,
|
||||
"instance": Instance::get_local(&*conn),
|
||||
"admin": Instance::get_local(&*conn).map(|i| i.main_admin(&*conn).to_json(&*conn)),
|
||||
"version": "0.1.0",
|
||||
"n_users": User::count_local(&*conn),
|
||||
"n_articles": Post::count_local(&*conn),
|
||||
"n_instances": Instance::count(&*conn) - 1
|
||||
}))
|
||||
}
|
||||
|
|
|
@ -42,6 +42,13 @@ small {
|
|||
margin: 4rem 0;
|
||||
}
|
||||
|
||||
.banner {
|
||||
background: #DADADA;
|
||||
padding-top: 2em;
|
||||
padding-bottom: 1em;
|
||||
margin: 3em 0px;
|
||||
}
|
||||
|
||||
/*
|
||||
* == Header ==
|
||||
*/
|
||||
|
|
40
templates/instance/about.html.tera
Normal file
40
templates/instance/about.html.tera
Normal file
|
@ -0,0 +1,40 @@
|
|||
{% extends "base" %}
|
||||
{% import "macros" as macros %}
|
||||
|
||||
{% block title %}
|
||||
About {{ instance.name }}
|
||||
{% endblock title %}
|
||||
|
||||
{% block content %}
|
||||
<h1>{{ "About {{ instance_name }}" | _(instance_name=instance.name) }}</h1>
|
||||
<section>
|
||||
{{ instance.short_description_html | safe }}
|
||||
</section>
|
||||
<div class="banner">
|
||||
<section class="stats">
|
||||
<div>
|
||||
<p>{{ "Home to" | _ }}</p>
|
||||
<em>{{ n_users }}</em>
|
||||
<p>{{ "people" | _ }}</p>
|
||||
</div>
|
||||
<div>
|
||||
<p>{{ "Who wrote" | _ }}</p>
|
||||
<em>{{ n_articles }}</em>
|
||||
<p>{{ "articles" | _ }}</p>
|
||||
</div>
|
||||
<div>
|
||||
<p>{{ "And connected to" | _ }}</p>
|
||||
<em>{{ n_instances }}</em>
|
||||
<p>{{ "other instances" | _ }}</p>
|
||||
</div>
|
||||
<div>
|
||||
<p>{{ "Administred by" | _ }}</p>
|
||||
<p><a href="/@/{{ admin.fqn }}">{{ admin.name }}</a><small>(@{{ admin.fqn }})</small></p>
|
||||
</div>
|
||||
</section>
|
||||
<p>{{ "Runs Plume {{ version }}" | _(version=version) }}
|
||||
</div>
|
||||
<section>
|
||||
{{ instance.long_description_html | safe }}
|
||||
</section>
|
||||
{% endblock content %}
|
Loading…
Reference in a new issue