#![feature(proc_macro_hygiene, decl_macro)] #[macro_use] extern crate rocket; extern crate rand; extern crate rocket_contrib; use rand::Rng; use rocket_contrib::serve::StaticFiles; use rocket_contrib::templates::Template; use std::collections::HashMap; const TITLES: [&str; 4] = ["/* {} */", "# {}", "// {}", ""]; #[get("/")] fn index() -> Template { let mut rng = rand::thread_rng(); let mut context = HashMap::new(); let title_fmt = TITLES[rng.gen_range(0, TITLES.len())]; let title = str::replace(title_fmt, "{}", "CódigoComentado"); context.insert("title", title); Template::render("index", context) } fn main() { rocket::ignite() .attach(Template::fairing()) .mount("/", routes![index]) .mount("/static", StaticFiles::from("static")) .launch(); }