IMO that particular boundary isn’t intended to be used separately - compile/2 is an interface for template engines to “plug into” Phoenix.Template.compile_all and similar functions, so there’s a lot of supporting code needed around it.
The underlying library, EEx has significantly better documentation and would be a better place to start.






















