Getting ready for 1.2 & new site release
- improved support for serving static resources from the binary, now supporting images - added new logo - changed save button - fixed footer attribution text, it is not true anymore that MicroBin is made by myself - replaced footer GitHub link with microbin.eu link
This commit is contained in:
parent
44b55ae08e
commit
2198cbdff9
13 changed files with 149 additions and 68 deletions
|
@ -33,7 +33,7 @@ pub async fn info(data: web::Data<AppState>) -> HttpResponse {
|
|||
args: &ARGS,
|
||||
pastas: &pastas,
|
||||
status: &String::from(status),
|
||||
version_string: &String::from("1.2.0-20221029"),
|
||||
version_string: &String::from("1.2.0-20221101"),
|
||||
message: &String::from(message),
|
||||
}
|
||||
.render()
|
||||
|
|
|
@ -1,36 +1,63 @@
|
|||
use actix_web::{get, web, HttpResponse};
|
||||
use askama::Template;
|
||||
use std::marker::PhantomData;
|
||||
use actix_web::{web, App, HttpResponse, HttpServer, Responder};
|
||||
use mime_guess::from_path;
|
||||
use rust_embed::RustEmbed;
|
||||
|
||||
#[derive(Template)]
|
||||
#[template(path = "water.css", escape = "none")]
|
||||
struct WaterCSS<'a> {
|
||||
_marker: PhantomData<&'a ()>,
|
||||
}
|
||||
#[derive(RustEmbed)]
|
||||
#[folder = "templates/assets/"]
|
||||
struct Asset;
|
||||
|
||||
#[derive(Template)]
|
||||
#[template(path = "favicon.svg", escape = "none")]
|
||||
struct Favicon<'a> {
|
||||
_marker: PhantomData<&'a ()>,
|
||||
}
|
||||
|
||||
#[get("/static/{resource}")]
|
||||
pub async fn static_resources(resource_id: web::Path<String>) -> HttpResponse {
|
||||
match resource_id.into_inner().as_str() {
|
||||
"water.css" => HttpResponse::Ok().content_type("text/css").body(
|
||||
WaterCSS {
|
||||
_marker: Default::default(),
|
||||
}
|
||||
.render()
|
||||
.unwrap(),
|
||||
),
|
||||
"favicon.svg" => HttpResponse::Ok().content_type("image/svg+xml").body(
|
||||
Favicon {
|
||||
_marker: Default::default(),
|
||||
}
|
||||
.render()
|
||||
.unwrap(),
|
||||
),
|
||||
_ => HttpResponse::NotFound().content_type("text/html").finish(),
|
||||
fn handle_embedded_file(path: &str) -> HttpResponse {
|
||||
match Asset::get(path) {
|
||||
Some(content) => HttpResponse::Ok()
|
||||
.content_type(from_path(path).first_or_octet_stream().as_ref())
|
||||
.body(content.data.into_owned()),
|
||||
None => HttpResponse::NotFound().body("404 Not Found"),
|
||||
}
|
||||
}
|
||||
|
||||
#[actix_web::get("/static/{_:.*}")]
|
||||
async fn static_resources(path: web::Path<String>) -> impl Responder {
|
||||
handle_embedded_file(path.as_str())
|
||||
}
|
||||
|
||||
// #[derive(Template)]
|
||||
// #[template(path = "water.css", escape = "none")]
|
||||
// struct WaterCSS<'a> {
|
||||
// _marker: PhantomData<&'a ()>,
|
||||
// }
|
||||
|
||||
// // #[derive(Template)]
|
||||
// // #[template(path = "logo.png", escape = "none")]
|
||||
// struct LogoPNG<'a> {
|
||||
// _marker: PhantomData<&'a ()>,
|
||||
// }
|
||||
|
||||
// #[derive(Template)]
|
||||
// #[template(path = "favicon.svg", escape = "none")]
|
||||
// struct Favicon<'a> {
|
||||
// _marker: PhantomData<&'a ()>,
|
||||
// }
|
||||
|
||||
// #[get("/static/{resource}")]
|
||||
// pub async fn static_resources(resource_id: web::Path<String>) -> HttpResponse {
|
||||
// match resource_id.into_inner().as_str() {
|
||||
// "water.css" => HttpResponse::Ok().content_type("text/css").body(
|
||||
// WaterCSS {
|
||||
// _marker: Default::default(),
|
||||
// }
|
||||
// .render()
|
||||
// .unwrap(),
|
||||
// ),
|
||||
// "logo.png" => HttpResponse::Ok()
|
||||
// .content_type("image/png")
|
||||
// .body(Ok(EmbedFile::open("templates/logo.png")?)),
|
||||
// "favicon.svg" => HttpResponse::Ok().content_type("image/svg+xml").body(
|
||||
// Favicon {
|
||||
// _marker: Default::default(),
|
||||
// }
|
||||
// .render()
|
||||
// .unwrap(),
|
||||
// ),
|
||||
// _ => HttpResponse::NotFound().content_type("text/html").finish(),
|
||||
// }
|
||||
// }
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue