about summary refs log tree commit diff
diff options
context:
space:
mode:
authorAlex Crichton <alex@alexcrichton.com>2015-04-07 11:23:14 -0700
committerAlex Crichton <alex@alexcrichton.com>2015-04-07 17:54:34 -0700
commit947f1b66cb1d061bf91410abd5d9ccd9d9b38f7b (patch)
treea477503978cdc609349f276031298fc20e4a9890
parent0f3183f42b02aee06e920dec18b0f4d1c93e6a77 (diff)
downloadrust-947f1b66cb1d061bf91410abd5d9ccd9d9b38f7b.tar.gz
rust-947f1b66cb1d061bf91410abd5d9ccd9d9b38f7b.zip
book: Emit links to play.rust-lang.org to run examples
Had to fix a bug in `--markdown-playground-url` for markdown files in rustdoc as
well as adding some necessary JS to the rustbook output as well.

Closes #21553
-rw-r--r--src/librustdoc/markdown.rs2
-rw-r--r--src/rustbook/build.rs9
-rw-r--r--src/rustbook/javascript.rs2
3 files changed, 12 insertions, 1 deletions
diff --git a/src/librustdoc/markdown.rs b/src/librustdoc/markdown.rs
index 8c75364d941..6541564d8e2 100644
--- a/src/librustdoc/markdown.rs
+++ b/src/librustdoc/markdown.rs
@@ -59,7 +59,7 @@ pub fn render(input: &str, mut output: PathBuf, matches: &getopts::Matches,
     let input_str = load_or_return!(input, 1, 2);
     let playground = matches.opt_str("markdown-playground-url");
     if playground.is_some() {
-        markdown::PLAYGROUND_KRATE.with(|s| { *s.borrow_mut() = None; });
+        markdown::PLAYGROUND_KRATE.with(|s| { *s.borrow_mut() = Some(None); });
     }
     let playground = playground.unwrap_or("".to_string());
 
diff --git a/src/rustbook/build.rs b/src/rustbook/build.rs
index f06290b27cb..62926c28d71 100644
--- a/src/rustbook/build.rs
+++ b/src/rustbook/build.rs
@@ -135,6 +135,7 @@ fn render(book: &Book, tgt: &Path) -> CliResult<()> {
             format!("-o{}", out_path.display()),
             format!("--html-before-content={}", prelude.display()),
             format!("--html-after-content={}", postlude.display()),
+            format!("--markdown-playground-url=http://play.rust-lang.org"),
             format!("--markdown-css={}", item.path_to_root.join("rust-book.css").display()),
             "--markdown-no-toc".to_string(),
         ];
@@ -148,6 +149,14 @@ fn render(book: &Book, tgt: &Path) -> CliResult<()> {
 
     // create index.html from the root README
     try!(fs::copy(&tgt.join("README.html"), &tgt.join("index.html")));
+
+    // Copy some js for playpen
+    let mut jquery = try!(File::create(tgt.join("jquery.js")));
+    let js = include_bytes!("../librustdoc/html/static/jquery-2.1.0.min.js");
+    try!(jquery.write_all(js));
+    let mut playpen = try!(File::create(tgt.join("playpen.js")));
+    let js = include_bytes!("../librustdoc/html/static/playpen.js");
+    try!(playpen.write_all(js));
     Ok(())
 }
 
diff --git a/src/rustbook/javascript.rs b/src/rustbook/javascript.rs
index 6ee8230e9f8..d5483593aa8 100644
--- a/src/rustbook/javascript.rs
+++ b/src/rustbook/javascript.rs
@@ -71,4 +71,6 @@ document.addEventListener("DOMContentLoaded", function(event) {
 
 });
 </script>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="playpen.js"></script>
 "#;