removed attempt at rewriting in other template system, it's not that important for now
This commit is contained in:
parent
1f2589976d
commit
353cb5dfde
5 changed files with 2 additions and 120 deletions
22
Cargo.lock
generated
22
Cargo.lock
generated
|
@ -1266,27 +1266,6 @@ dependencies = [
|
||||||
"cfg-if",
|
"cfg-if",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "markup"
|
|
||||||
version = "0.13.1"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "bd9196a235d499738d04f6a2466ce2610bf6b84730610efea8bee1b90d028b0d"
|
|
||||||
dependencies = [
|
|
||||||
"itoa",
|
|
||||||
"markup-proc-macro",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "markup-proc-macro"
|
|
||||||
version = "0.13.1"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "1a927f0e237dcbdd8c1a8ab03c4e1e8b1999804c448ebf06ff3b5512506c8150"
|
|
||||||
dependencies = [
|
|
||||||
"proc-macro2",
|
|
||||||
"quote",
|
|
||||||
"syn",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "memchr"
|
name = "memchr"
|
||||||
version = "2.5.0"
|
version = "2.5.0"
|
||||||
|
@ -1321,7 +1300,6 @@ dependencies = [
|
||||||
"lazy_static",
|
"lazy_static",
|
||||||
"linkify",
|
"linkify",
|
||||||
"log",
|
"log",
|
||||||
"markup",
|
|
||||||
"mime_guess",
|
"mime_guess",
|
||||||
"qrcode-generator",
|
"qrcode-generator",
|
||||||
"rand",
|
"rand",
|
||||||
|
|
|
@ -35,7 +35,6 @@ qrcode-generator = "4.1.6"
|
||||||
rust-embed = "6.4.2"
|
rust-embed = "6.4.2"
|
||||||
mime_guess = "2.0.4"
|
mime_guess = "2.0.4"
|
||||||
harsh = "0.2"
|
harsh = "0.2"
|
||||||
markup = "0.13"
|
|
||||||
|
|
||||||
[profile.release]
|
[profile.release]
|
||||||
lto = true
|
lto = true
|
||||||
|
|
|
@ -14,7 +14,7 @@
|
||||||
{
|
{
|
||||||
defaultPackage = naersk-lib.buildPackage ./.;
|
defaultPackage = naersk-lib.buildPackage ./.;
|
||||||
devShell = with pkgs; mkShell {
|
devShell = with pkgs; mkShell {
|
||||||
buildInputs = [ cargo rustc rustfmt pre-commit rustPackages.clippy ];
|
buildInputs = [ cargo rustc rustfmt pre-commit rustPackages.clippy cargo-watch ];
|
||||||
RUST_SRC_PATH = rustPlatform.rustLibSrc;
|
RUST_SRC_PATH = rustPlatform.rustLibSrc;
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
|
|
17
src/main.rs
17
src/main.rs
|
@ -7,21 +7,18 @@ use crate::endpoints::{
|
||||||
use crate::pasta::Pasta;
|
use crate::pasta::Pasta;
|
||||||
use crate::util::dbio;
|
use crate::util::dbio;
|
||||||
use actix_web::middleware::Condition;
|
use actix_web::middleware::Condition;
|
||||||
use actix_web::{middleware, web, App, HttpServer, HttpResponse, get};
|
use actix_web::{middleware, web, App, HttpServer};
|
||||||
use actix_web_httpauth::middleware::HttpAuthentication;
|
use actix_web_httpauth::middleware::HttpAuthentication;
|
||||||
use chrono::Local;
|
use chrono::Local;
|
||||||
use env_logger::Builder;
|
use env_logger::Builder;
|
||||||
use futures::lock::Mutex;
|
use futures::lock::Mutex;
|
||||||
use log::LevelFilter;
|
use log::LevelFilter;
|
||||||
use templates::BasePage;
|
|
||||||
use std::fs;
|
use std::fs;
|
||||||
use std::io::Write;
|
use std::io::Write;
|
||||||
|
|
||||||
pub mod args;
|
pub mod args;
|
||||||
pub mod pasta;
|
pub mod pasta;
|
||||||
|
|
||||||
pub mod templates;
|
|
||||||
|
|
||||||
pub mod util {
|
pub mod util {
|
||||||
pub mod pasta_id_converter;
|
pub mod pasta_id_converter;
|
||||||
pub mod auth;
|
pub mod auth;
|
||||||
|
@ -111,7 +108,6 @@ async fn main() -> std::io::Result<()> {
|
||||||
.wrap(middleware::Logger::default())
|
.wrap(middleware::Logger::default())
|
||||||
.service(remove::remove)
|
.service(remove::remove)
|
||||||
.service(pastalist::list)
|
.service(pastalist::list)
|
||||||
.service(testtemplate)
|
|
||||||
.wrap(Condition::new(
|
.wrap(Condition::new(
|
||||||
ARGS.auth_username.is_some(),
|
ARGS.auth_username.is_some(),
|
||||||
HttpAuthentication::basic(util::auth::auth_validator),
|
HttpAuthentication::basic(util::auth::auth_validator),
|
||||||
|
@ -122,14 +118,3 @@ async fn main() -> std::io::Result<()> {
|
||||||
.run()
|
.run()
|
||||||
.await
|
.await
|
||||||
}
|
}
|
||||||
|
|
||||||
#[get("/testtemplate")]
|
|
||||||
async fn testtemplate() -> HttpResponse {
|
|
||||||
HttpResponse::Ok()
|
|
||||||
.content_type("text/html")
|
|
||||||
.body(BasePage {
|
|
||||||
body: markup::new! {
|
|
||||||
p "Test content!"
|
|
||||||
}
|
|
||||||
}.to_string())
|
|
||||||
}
|
|
||||||
|
|
|
@ -1,80 +0,0 @@
|
||||||
use crate::args::ARGS;
|
|
||||||
|
|
||||||
markup::define!{
|
|
||||||
Create() {
|
|
||||||
@BasePage {
|
|
||||||
body: markup::new! {
|
|
||||||
form [
|
|
||||||
id = "pasta-form",
|
|
||||||
action = "upload",
|
|
||||||
method = "POST",
|
|
||||||
enctype = "multipart/form-data",
|
|
||||||
] {
|
|
||||||
br;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
BasePage<Body: markup::Render>( body: Body ) {
|
|
||||||
@markup::doctype()
|
|
||||||
html {
|
|
||||||
head {
|
|
||||||
title { @ARGS.title }
|
|
||||||
meta[charset = "utf-8"];
|
|
||||||
meta[
|
|
||||||
name = "viewport",
|
|
||||||
content = "width=device-width, initial-scale=1.0"
|
|
||||||
];
|
|
||||||
link[
|
|
||||||
rel = "stylesheet",
|
|
||||||
href = if let Some(custom_css_url) = ARGS.custom_css.as_ref() {
|
|
||||||
custom_css_url.clone()
|
|
||||||
} else {
|
|
||||||
format!("{}/static/water.css", ARGS.public_path)
|
|
||||||
}
|
|
||||||
];
|
|
||||||
}
|
|
||||||
body[
|
|
||||||
style = format!(
|
|
||||||
"margin:auto;padding-left: 0.5rem;padding-right: 0.5rem;line-height:1.5;font-size: 1.1em;{}",
|
|
||||||
if ARGS.wide { "1080px" } else { "800px" }
|
|
||||||
)
|
|
||||||
] {
|
|
||||||
br;
|
|
||||||
b[ style = "margin-right: 0.5rem" ] {
|
|
||||||
@if !ARGS.hide_logo {
|
|
||||||
a[ href = format!("{}/", ARGS.public_path) ] {
|
|
||||||
img[
|
|
||||||
width = 26,
|
|
||||||
style = "margin-bottom: -6px; margin-right: 0.5rem;",
|
|
||||||
src = format!("{}/static/logo.png", ARGS.public_path)
|
|
||||||
];
|
|
||||||
}
|
|
||||||
@ARGS.title
|
|
||||||
}
|
|
||||||
}
|
|
||||||
a[ href = format!("{}/", ARGS.public_path), style = "margin-right: 0.5rem; margin-left: 0.5rem" ] "New"
|
|
||||||
a[ href = format!("{}/pastalist", ARGS.public_path), style = "margin-right: 0.5rem; margin-left: 0.5rem" ] "List"
|
|
||||||
a[ href = format!("{}/info", ARGS.public_path), style = "margin-right: 0.5rem; margin-left: 0.5rem" ] "Info"
|
|
||||||
hr;
|
|
||||||
|
|
||||||
@body
|
|
||||||
|
|
||||||
hr;
|
|
||||||
// TODO: footer text but like with proper markdown and customizability
|
|
||||||
p[ style = "font-size:smaller" ] {
|
|
||||||
@if let Some(footer_text) = ARGS.footer_text.as_ref() {
|
|
||||||
@footer_text
|
|
||||||
} else {
|
|
||||||
a[ href = "https://microbin.eu" ] "MicroBin"
|
|
||||||
" by Dániel Szabó and the FOSS Community."
|
|
||||||
"Let's keep the Web "
|
|
||||||
b "compact" ", "
|
|
||||||
b "accessible" " and "
|
|
||||||
b "humane" "!"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
Loading…
Reference in a new issue