adapt webmanifest (#36)
This commit is contained in:
parent
c18c0adf34
commit
889573b4e7
6 changed files with 48 additions and 21 deletions
|
@ -47,7 +47,7 @@ async fn main() -> Result<()> {
|
|||
.service(agreements::security)
|
||||
.service(agreements::humans)
|
||||
.service(agreements::robots)
|
||||
.service(agreements::sitemap)
|
||||
.service(agreements::webmanifest)
|
||||
.service(blog::index)
|
||||
.service(blog::rss)
|
||||
.service(blog::page)
|
||||
|
|
|
@ -71,8 +71,29 @@ fn build_robotstxt() -> String {
|
|||
"User-agent: * Allow: /".into()
|
||||
}
|
||||
|
||||
#[get("/sitemap.xml")]
|
||||
async fn sitemap() -> impl Responder {
|
||||
// TODO
|
||||
actix_web::web::Redirect::to("/")
|
||||
#[get("/app.webmanifest")]
|
||||
async fn webmanifest(config: web::Data<Config>) -> impl Responder {
|
||||
HttpResponse::Ok()
|
||||
.content_type(ContentType("application/manifest+json".parse().unwrap()))
|
||||
.body(build_webmanifest(config.get_ref().to_owned()))
|
||||
}
|
||||
|
||||
#[derive(Content, Debug)]
|
||||
struct WebManifestTemplate {
|
||||
name: String,
|
||||
description: String,
|
||||
url: String,
|
||||
}
|
||||
|
||||
#[once(time = 60)]
|
||||
fn build_webmanifest(config: Config) -> String {
|
||||
config.tmpl.render(
|
||||
"app.webmanifest",
|
||||
WebManifestTemplate {
|
||||
name: config.fc.clone().app_name.unwrap(),
|
||||
description: "Easy WebPage generator".to_owned(),
|
||||
url: get_url(config.fc),
|
||||
},
|
||||
Infos::default(),
|
||||
)
|
||||
}
|
||||
|
|
|
@ -1,15 +0,0 @@
|
|||
{
|
||||
"name": "Site Anri K.",
|
||||
"short_name": "Site Anri K.",
|
||||
"icons": [
|
||||
{
|
||||
"src": "android-chrome-192x192.png",
|
||||
"sizes": "192x192",
|
||||
"type": "image/png"
|
||||
}
|
||||
],
|
||||
"theme_color": "#2a2424",
|
||||
"background_color": "#2a2424",
|
||||
"start_url": "https://www.mylloon.fr/",
|
||||
"display": "standalone"
|
||||
}
|
21
templates/app.webmanifest
Normal file
21
templates/app.webmanifest
Normal file
|
@ -0,0 +1,21 @@
|
|||
{
|
||||
"name": "{{#data}}{{name}}{{/data}}",
|
||||
"start_url": "{{#data}}{{url}}{{/data}}",
|
||||
"display": "standalone",
|
||||
"background_color": "#2a2424",
|
||||
"description": "{{#data}}{{description}}{{/data}}",
|
||||
"icons": [
|
||||
{
|
||||
"src": "/icons/android-chrome-192x192.png",
|
||||
"sizes": "192x192",
|
||||
"type": "image/png"
|
||||
}
|
||||
],
|
||||
"theme_color": "#2a2424",
|
||||
"related_applications": [
|
||||
{
|
||||
"platform": "source",
|
||||
"url": "https://git.mylloon.fr/Anri/mylloon.fr"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -3,6 +3,7 @@
|
|||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<link rel="author" href="/humans.txt" />
|
||||
<link rel="manifest" href="/app.webmanifest" />
|
||||
|
||||
{{>icons.html}} {{>metadata.html}}
|
||||
|
||||
|
|
|
@ -16,7 +16,6 @@
|
|||
sizes="16x16"
|
||||
href="/icons/favicon-16x16.png"
|
||||
/>
|
||||
<link rel="manifest" href="/icons/site.webmanifest" />
|
||||
<link rel="mask-icon" href="/icons/safari-pinned-tab.svg" color="#5bbad5" />
|
||||
<link rel="shortcut icon" href="/icons/favicon.ico" />
|
||||
<meta name="msapplication-TileColor" content="#ffffff" />
|
||||
|
|
Loading…
Reference in a new issue