pub fn from_file<P: AsRef<Path>>(
        path: P,
        config: &Config,
        base_path: &PathBuf,
    ) -> Result<Section> {
        let path = path.as_ref();
        let content = read_file(path)?;
        let mut section = Section::parse(path, &content, config, base_path)?;

        let parent_dir = path.parent().unwrap();
        let assets = find_related_assets(parent_dir);

        if let Some(ref globset) = config.ignored_content_globset {
            // `find_related_assets` only scans the immediate directory (it is not recursive) so our
            // filtering only needs to work against the file_name component, not the full suffix. If
            // `find_related_assets` was changed to also return files in subdirectories, we could
            // use `PathBuf.strip_prefix` to remove the parent directory and then glob-filter
            // against the remaining path. Note that the current behaviour effectively means that
            // the `ignored_content` setting in the config file is limited to single-file glob
            // patterns (no "**" patterns).
            section.assets = assets
                .into_iter()
                .filter(|path| match path.file_name() {
                    None => false,
                    Some(file) => !globset.is_match(file),
                })
                .collect();
        } else {
            section.assets = assets;
        }

        section.serialized_assets = section.serialize_assets();

        Ok(section)
    }
/// Read and parse a .md file into a Section struct
Read and parse a .md file into a Section struct
Read and parse a . md file into a Section struct
pub fn from_file<P: AsRef<Path>>(
        path: P,
        config: &Config,
        base_path: &PathBuf,
    ) -> Result<Section> {
        let path = path.as_ref();
        let content = read_file(path)?;
        let mut section = Section::parse(path, &content, config, base_path)?;
        let parent_dir = path.parent().unwrap();
        let assets = find_related_assets(parent_dir);
        if let Some(ref globset) = config.ignored_content_globset {
            // `find_related_assets` only scans the immediate directory (it is not recursive) so our
            // filtering only needs to work against the file_name component, not the full suffix. If
            // `find_related_assets` was changed to also return files in subdirectories, we could
            // use `PathBuf.strip_prefix` to remove the parent directory and then glob-filter
            // against the remaining path. Note that the current behaviour effectively means that
            // the `ignored_content` setting in the config file is limited to single-file glob
            // patterns (no "**" patterns).
            section.assets = assets
                .into_iter()
                .filter(|path| match path.file_name() {
                    None => false,
                    Some(file) => !globset.is_match(file),
                })
                .collect();
        } else {
            section.assets = assets;
        }
        section.serialized_assets = section.serialize_assets();
        Ok(section)
    }
pub fn from_file < P : AsRef < Path > > ( path : P , config : & Config , base_path : & PathBuf , ) -> Result < Section > { let path = path . as_ref ( ) ; let content = read_file ( path ) ? ; let mut section = Section :: parse ( path , & content , config , base_path ) ? ; let parent_dir = path . parent ( ) . unwrap ( ) ; let assets = find_related_assets ( parent_dir ) ; if let Some ( ref globset ) = config . ignored_content_globset { // `find_related_assets` only scans the immediate directory (it is not recursive) so our // filtering only needs to work against the file_name component, not the full suffix. If // `find_related_assets` was changed to also return files in subdirectories, we could // use `PathBuf.strip_prefix` to remove the parent directory and then glob-filter // against the remaining path. Note that the current behaviour effectively means that // the `ignored_content` setting in the config file is limited to single-file glob // patterns (no "**" patterns). section . assets = assets . into_iter ( ) . filter ( | path | match path . file_name ( ) { None => false , Some ( file ) => ! globset . is_match ( file ) , } ) . collect ( ) ; } else { section . assets = assets ; } section . serialized_assets = section . serialize_assets ( ) ; Ok ( section ) }
Read and parse a .md file into a Section struct
Read and parse a . md file into a Section struct
path
P
config
&Config
base_path
&PathBuf