Implement a macro for pushing the directory.
This commit is contained in:
parent
4e0f66401d
commit
3e952ef0f4
@ -1,6 +1,7 @@
|
|||||||
use serde::Serialize;
|
use serde::Serialize;
|
||||||
|
|
||||||
use super::render_context::RenderContext;
|
use super::render_context::RenderContext;
|
||||||
|
use crate::context::macros::push_file;
|
||||||
use crate::error::CustomError;
|
use crate::error::CustomError;
|
||||||
use crate::intermediate::get_web_path;
|
use crate::intermediate::get_web_path;
|
||||||
use crate::intermediate::BlogPost;
|
use crate::intermediate::BlogPost;
|
||||||
@ -49,12 +50,7 @@ render!(
|
|||||||
original,
|
original,
|
||||||
render_context,
|
render_context,
|
||||||
{
|
{
|
||||||
render_context
|
push_file!(render_context, &original.page.src, {
|
||||||
.dependency_manager
|
|
||||||
.lock()
|
|
||||||
.unwrap()
|
|
||||||
.push_file(&original.page.src)?;
|
|
||||||
let ret = (|| {
|
|
||||||
let css_files = vec![
|
let css_files = vec![
|
||||||
get_web_path(
|
get_web_path(
|
||||||
render_context.config,
|
render_context.config,
|
||||||
@ -127,12 +123,6 @@ render!(
|
|||||||
footnotes,
|
footnotes,
|
||||||
};
|
};
|
||||||
Ok(ret)
|
Ok(ret)
|
||||||
})();
|
})
|
||||||
render_context
|
|
||||||
.dependency_manager
|
|
||||||
.lock()
|
|
||||||
.unwrap()
|
|
||||||
.pop_file()?;
|
|
||||||
ret
|
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
@ -35,3 +35,23 @@ macro_rules! rnoop {
|
|||||||
}
|
}
|
||||||
|
|
||||||
pub(crate) use rnoop;
|
pub(crate) use rnoop;
|
||||||
|
|
||||||
|
/// Push a file onto the render DependencyManager's file stack while inside the code block.
|
||||||
|
macro_rules! push_file {
|
||||||
|
($render_context:ident, $path:expr, $body:tt) => {{
|
||||||
|
$render_context
|
||||||
|
.dependency_manager
|
||||||
|
.lock()
|
||||||
|
.unwrap()
|
||||||
|
.push_file($path)?;
|
||||||
|
let ret = (|| $body)();
|
||||||
|
$render_context
|
||||||
|
.dependency_manager
|
||||||
|
.lock()
|
||||||
|
.unwrap()
|
||||||
|
.pop_file()?;
|
||||||
|
ret
|
||||||
|
}};
|
||||||
|
}
|
||||||
|
|
||||||
|
pub(crate) use push_file;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user