summaryrefslogtreecommitdiff
path: root/old_curriculum/src/bin/generate_readme.rs
diff options
context:
space:
mode:
Diffstat (limited to 'old_curriculum/src/bin/generate_readme.rs')
-rw-r--r--old_curriculum/src/bin/generate_readme.rs49
1 files changed, 0 insertions, 49 deletions
diff --git a/old_curriculum/src/bin/generate_readme.rs b/old_curriculum/src/bin/generate_readme.rs
deleted file mode 100644
index a502fea..0000000
--- a/old_curriculum/src/bin/generate_readme.rs
+++ /dev/null
@@ -1,49 +0,0 @@
-// This script reads README-template.md and generates the playground links
-// from the Rust source files in the various directories.
-
-// To add a new exercise, add it to the appropriate place in README-template.md
-// and then make sure to recompile this script (because the template gets
-// included at compile time and then run it to generate a new version of
-// README.md.
-
-extern crate handlebars;
-extern crate prlink;
-#[macro_use]
-extern crate serde_json;
-
-use handlebars::{Handlebars, Helper, RenderContext, RenderError};
-
-use std::fs::File;
-use std::io::prelude::*;
-use std::path::PathBuf;
-
-fn main() {
- let mut template_file = File::open("README-template.hbs").unwrap();
- let mut template = String::new();
- template_file.read_to_string(&mut template).unwrap();
-
- let autogenerated_notice = "This file was autogenerated by the script in src/bin/generate_readme.rs.
-Please edit either the script or the template in README-template.md in
-order to make changes here rather than committing the changes directly.";
-
- let mut generated_readme = File::create("README.md").unwrap();
-
- let mut hbs = Handlebars::new();
- hbs.register_helper("playground_link", Box::new(playground_link_helper));
-
- write!(
- generated_readme,
- "{}",
- hbs.render_template(
- &template,
- &json!({ "autogenerated_notice": autogenerated_notice }),
- ).unwrap()
- ).unwrap();
-}
-
-fn playground_link_helper(h: &Helper, _: &Handlebars, rc: &mut RenderContext) -> Result<(), RenderError> {
- let filename = PathBuf::from(h.param(0).unwrap().value().as_str().unwrap());
- let link = prlink::linkify_file(&filename);
- rc.writer.write(link.into_bytes().as_ref())?;
- Ok(())
-}