Implement a macro for pushing the directory.
This commit is contained in:
parent
4e0f66401d
commit
3e952ef0f4
@ -1,6 +1,7 @@
|
||||
use serde::Serialize;
|
||||
|
||||
use super::render_context::RenderContext;
|
||||
use crate::context::macros::push_file;
|
||||
use crate::error::CustomError;
|
||||
use crate::intermediate::get_web_path;
|
||||
use crate::intermediate::BlogPost;
|
||||
@ -49,12 +50,7 @@ render!(
|
||||
original,
|
||||
render_context,
|
||||
{
|
||||
render_context
|
||||
.dependency_manager
|
||||
.lock()
|
||||
.unwrap()
|
||||
.push_file(&original.page.src)?;
|
||||
let ret = (|| {
|
||||
push_file!(render_context, &original.page.src, {
|
||||
let css_files = vec![
|
||||
get_web_path(
|
||||
render_context.config,
|
||||
@ -127,12 +123,6 @@ render!(
|
||||
footnotes,
|
||||
};
|
||||
Ok(ret)
|
||||
})();
|
||||
render_context
|
||||
.dependency_manager
|
||||
.lock()
|
||||
.unwrap()
|
||||
.pop_file()?;
|
||||
ret
|
||||
})
|
||||
}
|
||||
);
|
||||
|
@ -35,3 +35,23 @@ macro_rules! 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