charge/component
Types
pub type Component(a) =
#(String, fn(RenderData, element.ElementTree) -> a)
pub type RenderData {
RenderData(
source_path: option.Option(fs.Path),
site_path: fs.SitePath,
out_dir: fs.Path,
)
}
Constructors
-
RenderData( source_path: option.Option(fs.Path), site_path: fs.SitePath, out_dir: fs.Path, )
Values
pub fn new(
tag tag: b,
visit visit: fn(RenderData, element.ElementTree) -> a,
) -> #(b, fn(RenderData, element.ElementTree) -> a)
pub fn render(
source_path: option.Option(fs.Path),
site_path: fs.SitePath,
out_dir: fs.Path,
html: element.ElementTree,
components: List(
#(
String,
fn(RenderData, element.ElementTree) -> Result(
element.ElementTree,
error.ChargeError,
),
),
),
) -> Result(element.ElementTree, error.ChargeError)
Runs components over the given HTML depth-first
pub fn render_async(
source_path: option.Option(fs.Path),
site_path: fs.SitePath,
out_dir: fs.Path,
html: element.ElementTree,
component: #(
String,
fn(RenderData, element.ElementTree) -> promise.Promise(
Result(element.ElementTree, error.ChargeError),
),
),
) -> promise.Promise(
Result(element.ElementTree, error.ChargeError),
)
Visits all nodes that a component expects