feat(templates): Add syntax highlighting for code via highlight.js
Includes a static distribution of highlight.js for syntax highlighting. A sane set of languages has been chosen.
This commit is contained in:
parent
ab3f7d888a
commit
cda66c4cd3
4 changed files with 115 additions and 0 deletions
11
src/main.rs
11
src/main.rs
|
|
@ -78,6 +78,7 @@ use oidc::OidcExecutor;
|
|||
use rand::{OsRng, Rng};
|
||||
use render::Renderer;
|
||||
use std::env;
|
||||
use std::path::PathBuf;
|
||||
use tera::Tera;
|
||||
|
||||
fn config(name: &str) -> String {
|
||||
|
|
@ -173,6 +174,15 @@ fn start_http_server(base_url: String,
|
|||
let bind_host = config_default("CONVERSE_BIND_HOST", "127.0.0.1:4567");
|
||||
let key = gen_session_key();
|
||||
let require_login = config_default("REQUIRE_LOGIN", "true".into()) == "true";
|
||||
let static_dir = env::var("CONVERSE_STATIC_DIR")
|
||||
.map(PathBuf::from)
|
||||
.or_else(|_| env::current_dir().map(|mut p| {
|
||||
p.push("static");
|
||||
p
|
||||
}))
|
||||
.expect("Could not determine static file directory");
|
||||
|
||||
info!("Serving static files from {:?}", static_dir);
|
||||
|
||||
server::new(move || {
|
||||
let state = AppState {
|
||||
|
|
@ -191,6 +201,7 @@ fn start_http_server(base_url: String,
|
|||
let app = App::with_state(state)
|
||||
.middleware(Logger::default())
|
||||
.middleware(identity)
|
||||
.handler("/static", fs::StaticFiles::new(static_dir.clone()))
|
||||
.resource("/", |r| r.method(Method::GET).with(forum_index))
|
||||
.resource("/thread/new", |r| r.method(Method::GET).with(new_thread))
|
||||
.resource("/thread/submit", |r| r.method(Method::POST).with3(submit_thread))
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue