Skip to content

Pipeline XML Reference

The pipeline definition file (pipeline.xml) describes the processing graph for your project.

Root Element

xml
<?xml version="1.0" encoding="UTF-8"?>
<?xml-model href="efes-ng.rng" type="application/xml" schematypens="http://relaxng.org/ns/structure/1.0"?>
<?xml-model href="efes-ng.rng" type="application/xml" schematypens="http://purl.oclc.org/dsdl/schematron"?>
<pipeline xmlns="urn:efes-ng:pipeline" name="Project Name">
  <meta siteDir="_output"/>
  <!-- nodes -->
</pipeline>
AttributeRequiredDescription
nameYesDisplay name for the pipeline

<meta>

AttributeRequiredDescription
siteDirYesDirectory containing the final site output, used by the live preview server

Output Configuration

Most nodes accept an <output> element to control where results are written:

xml
<output to="_assembly/en/inscriptions"
        stripPrefix="source/inscriptions"
        extension=".html"
        filename="result.json"/>
AttributeDescription
toTarget directory (relative to project root)
stripPrefixRemove this prefix from input paths when deriving output paths
extensionChange the output file extension
filenameUse a fixed output filename (for single-file outputs)

TIP

If all consumers reference this node via <from>, you don't need <output>. The node writes to its default build directory (.efes-build/{nodeName}/).

Common Patterns

Chaining Nodes

xml
<xsltTransform name="extract-metadata">
  <sourceFiles><files>source/inscriptions/*.xml</files></sourceFiles>
  <stylesheet><files>source/stylesheets/lib/extract-metadata.xsl</files></stylesheet>
</xsltTransform>

<xsltTransform name="generate-data">
  <sourceFiles><from node="extract-metadata" output="transformed"/></sourceFiles>
  <stylesheet><files>source/stylesheets/lib/create-11ty-data.xsl</files></stylesheet>
  <output to="_assembly/en/inscriptions" extension=".11tydata.json"/>
</xsltTransform>

Collecting Into a Directory

xml
<eleventyBuild name="eleventy-build">
  <sourceDir><collect>_assembly</collect></sourceDir>
  <output to="_output"/>
</eleventyBuild>

The <collect> input creates an implicit dependency on all nodes that write to _assembly/.

v0.1.0 · ea5ffa5 · Documentation under CC BY 4.0