use sable_vault::{File, ItemPathBuf};

use crate::{IntoDiagnostic as _, Renderer, RendererError};

impl Renderer {
    pub fn render_htmls(&self) {
        let vault = self.vault.read();

        for (path, file) in vault.files.iter().filter(|(_, file)| file.kind.is_html()) {
            if let Err(err) = self.render_html(path, file).into_diagnostic() {
                tracing::error!(path=%path, "failed to render custom page");
                eprint!("{err:?}");
            }
        }
    }

    fn render_html(&self, path: &ItemPathBuf, _file: &File) -> Result<(), RendererError> {
        tracing::warn!(path=?path.relative, "html vault file rendering is not implemented yet");

        Ok(())
    }
}
