Compare commits
No commits in common. "main" and "0.1.2" have entirely different histories.
2
Cargo.lock
generated
2
Cargo.lock
generated
@ -1367,7 +1367,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "karnaugh"
|
name = "karnaugh"
|
||||||
version = "0.1.4"
|
version = "0.1.2"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"axum",
|
"axum",
|
||||||
"clap",
|
"clap",
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "karnaugh"
|
name = "karnaugh"
|
||||||
version = "0.1.4"
|
version = "0.1.2"
|
||||||
edition = "2024"
|
edition = "2024"
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
@ -10,7 +10,7 @@ itertools = "0.14.0"
|
|||||||
tar = "0.4.44"
|
tar = "0.4.44"
|
||||||
time = "0.3.47"
|
time = "0.3.47"
|
||||||
tokio = { version = "1.48.0", features = ["macros", "rt-multi-thread"] }
|
tokio = { version = "1.48.0", features = ["macros", "rt-multi-thread"] }
|
||||||
tower-http = { version = "0.6.8", features = ["compression-br", "fs", "trace", "set-header"] }
|
tower-http = { version = "0.6.8", features = ["compression-br", "fs", "trace"] }
|
||||||
tracing = "0.1.43"
|
tracing = "0.1.43"
|
||||||
tracing-subscriber = "0.3.22"
|
tracing-subscriber = "0.3.22"
|
||||||
typst-html = { git = "https://github.com/mkorje/typst.git", branch = "mathml" }
|
typst-html = { git = "https://github.com/mkorje/typst.git", branch = "mathml" }
|
||||||
|
|||||||
@ -21,9 +21,9 @@
|
|||||||
rec {
|
rec {
|
||||||
packages.karnaugh = pkgs.rustPlatform.buildRustPackage (final: {
|
packages.karnaugh = pkgs.rustPlatform.buildRustPackage (final: {
|
||||||
pname = "karnaugh";
|
pname = "karnaugh";
|
||||||
version = "0.1.4";
|
version = "0.1.2";
|
||||||
src = self;
|
src = self;
|
||||||
cargoHash = "sha256-pwZOy+9cnpEskNf4HYC81UbXPJIOnUCtxEKzEVTrNyQ=";
|
cargoHash = "sha256-YRSK2Vk6I1y/PhH1ZyFAYF0E6IB55So3MTs8B5df4LM=";
|
||||||
});
|
});
|
||||||
packages.container = pkgs.dockerTools.buildImage {
|
packages.container = pkgs.dockerTools.buildImage {
|
||||||
name = "karnaugh";
|
name = "karnaugh";
|
||||||
|
|||||||
13
src/main.rs
13
src/main.rs
@ -8,7 +8,7 @@ use ::typst::syntax::VirtualPath;
|
|||||||
use axum::{
|
use axum::{
|
||||||
Router,
|
Router,
|
||||||
extract::{Path, State},
|
extract::{Path, State},
|
||||||
http::{HeaderValue, StatusCode, header::CACHE_CONTROL},
|
http::StatusCode,
|
||||||
response::{Html, IntoResponse, Response},
|
response::{Html, IntoResponse, Response},
|
||||||
routing::get,
|
routing::get,
|
||||||
};
|
};
|
||||||
@ -17,7 +17,6 @@ use itertools::Itertools;
|
|||||||
use tower_http::{
|
use tower_http::{
|
||||||
compression::CompressionLayer,
|
compression::CompressionLayer,
|
||||||
services::{ServeDir, ServeFile},
|
services::{ServeDir, ServeFile},
|
||||||
set_header::SetResponseHeaderLayer,
|
|
||||||
trace::TraceLayer,
|
trace::TraceLayer,
|
||||||
};
|
};
|
||||||
use tracing::{Level, info};
|
use tracing::{Level, info};
|
||||||
@ -98,20 +97,14 @@ async fn main() {
|
|||||||
let mut favicon = state.config.get_full_assets_path();
|
let mut favicon = state.config.get_full_assets_path();
|
||||||
favicon.push(PathBuf::from("favicon.svg"));
|
favicon.push(PathBuf::from("favicon.svg"));
|
||||||
|
|
||||||
let assets_service = ServeDir::new(state.config.get_full_assets_path());
|
|
||||||
|
|
||||||
let app = Router::new()
|
let app = Router::new()
|
||||||
.route("/", get(root_handler))
|
.route("/", get(root_handler))
|
||||||
.route("/{*path}", get(typst_handler))
|
.route("/{*path}", get(typst_handler))
|
||||||
.route_service("/favicon.ico", ServeFile::new(favicon))
|
.route_service("/favicon.ico", ServeFile::new(favicon))
|
||||||
.nest_service("/assets", assets_service)
|
.nest_service("/assets", ServeDir::new(&state.config.assets_root))
|
||||||
.with_state(state.clone())
|
.with_state(state.clone())
|
||||||
.layer(TraceLayer::new_for_http())
|
.layer(TraceLayer::new_for_http())
|
||||||
.layer(CompressionLayer::new())
|
.layer(CompressionLayer::new());
|
||||||
.layer(SetResponseHeaderLayer::overriding(
|
|
||||||
CACHE_CONTROL,
|
|
||||||
HeaderValue::from_static("public, max-age=86400, immutable"),
|
|
||||||
));
|
|
||||||
|
|
||||||
let socket = SocketAddrV4::new(Ipv4Addr::new(0, 0, 0, 0), state.config.port);
|
let socket = SocketAddrV4::new(Ipv4Addr::new(0, 0, 0, 0), state.config.port);
|
||||||
info!("Serving Karnaugh on socket {}", socket);
|
info!("Serving Karnaugh on socket {}", socket);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user