diff --git a/src/librustdoc/externalfiles.rs b/src/librustdoc/externalfiles.rs
index 2ecb071fcc2a4..d78f00497ca55 100644
--- a/src/librustdoc/externalfiles.rs
+++ b/src/librustdoc/externalfiles.rs
@@ -11,64 +11,79 @@
use std::fs::File;
use std::io::prelude::*;
use std::io;
-use std::path::{PathBuf, Path};
+use std::path::Path;
use std::str;
#[derive(Clone)]
pub struct ExternalHtml{
+ /// Content that will be included inline in the
section of a
+ /// rendered Markdown file or generated documentation
pub in_header: String,
+ /// Content that will be included inline between and the content of
+ /// a rendered Markdown file or generated documentation
pub before_content: String,
+ /// Content that will be included inline between the content and of
+ /// a rendered Markdown file or generated documentation
pub after_content: String
}
impl ExternalHtml {
pub fn load(in_header: &[String], before_content: &[String], after_content: &[String])
-> Option {
- match (load_external_files(in_header),
- load_external_files(before_content),
- load_external_files(after_content)) {
- (Some(ih), Some(bc), Some(ac)) => Some(ExternalHtml {
- in_header: ih,
- before_content: bc,
- after_content: ac
- }),
- _ => None
- }
+ load_external_files(in_header)
+ .and_then(|ih|
+ load_external_files(before_content)
+ .map(|bc| (ih, bc))
+ )
+ .and_then(|(ih, bc)|
+ load_external_files(after_content)
+ .map(|ac| (ih, bc, ac))
+ )
+ .map(|(ih, bc, ac)|
+ ExternalHtml {
+ in_header: ih,
+ before_content: bc,
+ after_content: ac,
+ }
+ )
}
}
-pub fn load_string(input: &Path) -> io::Result