#![feature(plugin)] #![plugin(rocket_codegen)] extern crate comrak; extern crate glob; extern crate inflector; extern crate rocket; extern crate rocket_contrib; #[macro_use] extern crate serde_derive; extern crate serde_json; mod list; mod handlers; use rocket::Rocket; use std::sync::RwLock; fn rocket() -> Rocket { let lists = list::List::load_all(); rocket::ignite() .manage(RwLock::new(lists)) .mount("/", routes![handlers::home::index, handlers::static_files::all]) .mount("/lists", routes![handlers::list::index, handlers::list::show_html, handlers::list::show_json, handlers::list::update]) .attach(rocket_contrib::Template::fairing()) } fn main() { rocket().launch(); }