Алексей Мичурин
Сборке HTML-документов по шаблонам посвящено великое множество публикаций
самого разного масштаба и качества: от небольших статей до детальных руководств
и книг, от дилетантских до весьма профессиональных. Но подавляющее большинство
авторов сосредоточивается на on-line-сборке. Ими рассматривается ситуация,
когда на сервере лежат не статические документы, а шаблоны: заготовки и части
документов. При запросе клиентом соответствующей страницы на сервере
запускается некий механизм, собирающий веб-страницу «на лету» (в реальном
масштабе времени) и отправляющий её клиенту. Для решения подобных задач
разработано множество инструментов и средств, начиная с несложных и
интегрированных глубоко в сервер (например, SSI) и заканчивая многофункциональными
самостоятельными модулями и библиотеками с очень богатыми возможностями.
Тема on-line-обработки шаблонов действительно
очень интересна и воистину неисчерпаема, поскольку в разных условиях оказываются
уместны разные подходы. Неудивительно, что так много авторов обращается именно
к этой теме. Но я хотел бы уделить немного внимания механизмам off-line-сборки.
Возможно, не слишком распространённым термином «off-line-сборка» я буду
называть процесс сборки шаблонов на локальной машине, в отсутствие серверного
ПО и не для передачи клиенту. В результате такой сборки вы получаете набор
статических документов (хотя никто не запрещает использовать, например,
SSI-инструкции), готовых к размещению на сервере. Оказывается, концепция сборки
документов по шаблону может быть весьма полезна не только при сборке документов
«на лету», но и при сборке статических документов.
Прежде чем обсудить конкретную реализацию
off-line-процессора шаблонов, нам необходимо сформулировать критерии, которым
он должен соответствовать. Но перед этим давайте определимся, в каких ситуациях
off-line-сборка может быть полезна (и для кого написана эта статья).