]> git.huck.website - metaforge.git/commitdiff
fixed: ignore header crashes rest of site
authorHuck Boles <huck@huck.website>
Tue, 23 May 2023 23:24:37 +0000 (18:24 -0500)
committerHuck Boles <huck@huck.website>
Tue, 23 May 2023 23:24:37 +0000 (18:24 -0500)
src/lib.rs
src/metafile/dir.rs
src/metafile/file.rs

index 379d1421b6c627e1586bedb01883bed41047b80b..86a4eb2a06a92e3ca79f256914cb8287ea83923b 100644 (file)
@@ -52,7 +52,12 @@ pub fn build_site(opts: &Options) -> Result<()> {
     );
 
     let mut source = DirNode::build(opts.source.clone(), opts)?;
-    let global_init = MetaFile::new(opts);
+
+    let global_init = if source.path.join("default.meta").exists() {
+        MetaFile::build(source.path.join("default.meta"), &opts)?
+    } else {
+        MetaFile::new(&opts)
+    };
 
     source.map(&global_init)?;
     source.build_dir()
index 447c46bd2c633b5e9f554f7a6de2ab77019b9f6c..4b80825b0724ed79d25a8c9626a90019003e393c 100644 (file)
@@ -6,11 +6,11 @@ use super::*;
 
 #[derive(Debug, Clone)]
 pub struct DirNode<'a> {
-    path: PathBuf,
-    opts: &'a Options,
-    global: MetaFile<'a>,
-    files: Vec<MetaFile<'a>>,
-    dirs: Vec<DirNode<'a>>,
+    pub path: PathBuf,
+    pub opts: &'a Options,
+    pub global: MetaFile<'a>,
+    pub files: Vec<MetaFile<'a>>,
+    pub dirs: Vec<DirNode<'a>>,
 }
 
 impl<'a> DirNode<'a> {
@@ -39,8 +39,6 @@ impl<'a> DirNode<'a> {
     // parses all contained files and directories and pushes
     // parsed structures into the files and directories vectors
     pub fn map(&mut self, global: &'a MetaFile) -> Result<()> {
-        if self.opts.parallel {}
-
         for f in fs::read_dir(&self.path)? {
             let file = f?.path();
 
@@ -57,6 +55,8 @@ impl<'a> DirNode<'a> {
             }
         }
 
+        eprintln!("{:#?}", self);
+
         Ok(())
     }
 
index bfe86b40008fbaa95c3cf57794acac4aeba86c40..37a822365117a50f9eed396f13afaa90cf167aca 100644 (file)
@@ -46,10 +46,6 @@ impl<'a> MetaFile<'a> {
         };
         let mut metafile = parse_string(str, opts)?;
 
-        if metafile.header.ignore {
-            return Err(MetaError::Ignored.into());
-        }
-
         metafile.path = path;
         Ok(metafile)
     }