me-site/src/main.rs
2023-09-18 19:44:17 +02:00

46 lines
1.4 KiB
Rust

mod config;
mod msg;
mod notification;
mod pages;
use actix_web::{web, App};
#[actix_web::main]
async fn main() -> std::io::Result<()> {
std::env::set_var("RUST_LOG", "info");
std::env::set_var("RUST_BACKTRACE", "1");
env_logger::init();
let conf = config::Config::new();
web_base::bootstrap::cache_bootstrap().await;
let manifest = web_base::Manifest::new(&conf.name().unwrap())
.set_short_name(&conf.name().unwrap())
.set_start_url("/")
.set_background_color(&conf.bg_color().unwrap())
.add_icon("/assets/me.png", "2000x2000", "image/png")
.set_display(web_base::ManifestDisplay::MinimalUI);
web_base::map!(
web_base::Site::new()
.enable_bootstrap(true)
.enable_scaling(true)
.enable_favicon("/assets/me".to_string())
.add_manifest(manifest),
|x: App<_>| {
x.app_data(web::Data::new(conf.clone()))
.service(pages::index::index)
// Assets
.service(pages::assets::wallpaper)
.service(pages::assets::me_img)
.service(pages::assets::me_img_png)
.service(pages::index::public_key)
.service(pages::index::mirrors)
.service(pages::index::message_page)
.service(pages::index::message_post)
}
)
.bind(("0.0.0.0", 8080))?
.run()
.await
}