added optional social media buttons

This commit is contained in:
Leonard Lorenz 2020-11-21 22:35:36 +01:00
parent bfcf1a22e6
commit 5017fa536e
5 changed files with 56 additions and 1 deletions

2
site/Cargo.lock generated
View file

@ -561,7 +561,7 @@ checksum = "8aebca1129a03dc6dc2b127edd729435bbc4a37e1d5f4d7513165089ceb02634"
[[package]]
name = "crablog"
version = "0.2.0"
version = "0.2.1"
dependencies = [
"actix-files",
"actix-web",

View file

@ -21,6 +21,21 @@ pub static CONFIG_MAP: Lazy<RwLock<HashMap<String, String>>> = Lazy::new(|| {
config.insert(String::from("USERNAME"), env::var("USERNAME").expect("USERNAME variable not set."));
config.insert(String::from("EMAIL"), env::var("EMAIL").expect("EMAIL variable not set."));
config.insert(String::from("BIND_PORT"), env::var("BIND_PORT").expect("BIND_PORT variable not set."));
if let Ok(acc) = env::var("GITHUB_ACCOUNT") {
config.insert(String::from("GITHUB_ACCOUNT"), acc.clone());
}
if let Ok(acc) = env::var("TWITTER_ACCOUNT") {
config.insert(String::from("TWITTER_ACCOUNT"), acc.clone());
}
if let Ok(acc) = env::var("MASTODON_ACCOUNT") {
config.insert(String::from("MASTODON_ACCOUNT"), acc.clone());
}
if let Ok(acc) = env::var("DISCORD_ACCOUNT") {
config.insert(String::from("DISCORD_ACCOUNT"), acc.clone());
}
if let Ok(acc) = env::var("REDDIT_ACCOUNT") {
config.insert(String::from("REDDIT_ACCOUNT"), acc.clone());
}
RwLock::new(config)
});

View file

@ -38,6 +38,21 @@ async fn root(tmpl: web::Data<tera::Tera>) -> Result<HttpResponse, Error> {
let mut context = Context::new();
context.insert("username", CONFIG_MAP.read().unwrap().get("USERNAME").unwrap());
context.insert("email", CONFIG_MAP.read().unwrap().get("EMAIL").unwrap());
if let Some(acc) = CONFIG_MAP.read().unwrap().get("GITHUB_ACCOUNT") {
context.insert("github_account", acc);
}
if let Some(acc) = CONFIG_MAP.read().unwrap().get("TWITTER_ACCOUNT") {
context.insert("twitter_account", acc);
}
if let Some(acc) = CONFIG_MAP.read().unwrap().get("MASTODON_ACCOUNT") {
context.insert("mastodon_account", acc);
}
if let Some(acc) = CONFIG_MAP.read().unwrap().get("DISCORD_ACCOUNT") {
context.insert("discord_account", acc);
}
if let Some(acc) = CONFIG_MAP.read().unwrap().get("REDDIT_ACCOUNT") {
context.insert("reddit_account", acc);
}
let result = tmpl.render("index.html", &context)
.map_err(|e| error::ErrorInternalServerError(format!("Template error\n{}", e)))?;