Du bekommst für jede Datei eine Anforderung.
Die erste Anforderung ist eine *.html Datei.
Dazu lädst du das passende Template, jagst es durch den PageProducernd lieferst das Resultat aus.
Die nächsten Anforderungen sind dann *.css, *.js, *.jpg, ...
Die Daten/Dateien werden als Stream übertragen, ob du also erst eine Datei erzeugst und diese dann als FileStream auslieferst, oder einen MemoryStream, who cares, dem Empfänger ist es wurscht, den bekommt einen Stream und fertig.
siehe
http://docwiki.embarcadero.com/Libra....ContentStream
Natürlich kannst du die Templates fest einkompilieren, aber wenn du das nicht willst, dann eben nicht einkompilieren.