Размышляя о своей последней идее по наполнению контентом сайтов и о том как собственно из этого контента сайт генерировать, каким образом описывать HTML шаблон, вдруг подумал - а нужны ли нам HTML шаблоны вообще? Да, в интернете полно бесплатных HTML шаблонов, очень симпатичных и функциональных, но для того чтоб подключить его к своему сайту, нужно использовать один из готовых шаблонизаторов либо использовать свой язык, как я это сделал в своей программе для генерации HTML сайтов WebProject. Там я решил не изобретать сложностей с языком итераторов в шаблоне (правда условную вставку все же пришлось добавить), а сделал все достаточно жёстко. В комментах HTML пишем что-то типа <!--menu--><ul><!--items--><li><a href="{url}">{name}</a></li><!--/--></ul><!--/--> - это и есть итератор по пунктам меню. Таким образом берем готовый HTML шаблон и прописываем метки-комментарии для шаблонизатора, а уж он сам организует цикл с проходом по пунктам меню и прочим. В итоге - можно подключить любой шаблон, нужно только подготовить его к использованию в программе - прописать в нужных местах нужные метки.
А что стоит за реализацией такого подхода с точки зрения программиста: пишем парсер шаблонов, который разбивает исходный текст на блоки, заполняет определенную структуру с именами элементов. Далее при сборке выполняет подстановку в нужные места нужных данных и вызывает при встрече определенных макросов и ключевых слов функции-итераторы которые находят нужный формат элементов из распарсенного шаблона и выполняет проход по элементам сайта и выполняет необходимые подстановки. В конечном итоге получается что мы работаем с текстом, сначала мы переводим шаблон из текстового формата во внутренний формат, выполняем текстовые подстановки и затем формируем конечный текстовый HTML файл. Зато можем использовать практически любой шаблон. Однако, на практике удачных и правильно организованных как с точки зрения HTML так и SEO шаблонов очень мало, чтобы подправить шаблон под свои нужды я вынужден использовать HTML редактор (я использую Dreamweaver). Правлю шаблон в редакторе, а затем смотрю на результат в WebProject - какое-то половинчатое решение получается. Тут нужен какой-то конструктор шаблонов, подумал я.
Однако задумался, хочется удобный визуальный инструмент для дизайна, но нужен ли мне этап перевода элементов моего дизайна в текстовый язык шаблонов, чтоб потом опять из текстового формата все перевести в свой внутренний формат, выполнить проходы по всем нужным элементам для заполнения структур данными, чтоб опять все перевести все в текст? А может этап с языком шаблонов лишний и можно сразу из элемента дизайна формировать HTML код (или любой другой код языка описания интерфейсов)? В любом случае пока это просто идея на уровне догадки, но меня эта мысль заинтриговала. Вводить такой подход в WebProject я наверное не буду, а вот в проекте WebFlow это может пригодиться.
А что стоит за реализацией такого подхода с точки зрения программиста: пишем парсер шаблонов, который разбивает исходный текст на блоки, заполняет определенную структуру с именами элементов. Далее при сборке выполняет подстановку в нужные места нужных данных и вызывает при встрече определенных макросов и ключевых слов функции-итераторы которые находят нужный формат элементов из распарсенного шаблона и выполняет проход по элементам сайта и выполняет необходимые подстановки. В конечном итоге получается что мы работаем с текстом, сначала мы переводим шаблон из текстового формата во внутренний формат, выполняем текстовые подстановки и затем формируем конечный текстовый HTML файл. Зато можем использовать практически любой шаблон. Однако, на практике удачных и правильно организованных как с точки зрения HTML так и SEO шаблонов очень мало, чтобы подправить шаблон под свои нужды я вынужден использовать HTML редактор (я использую Dreamweaver). Правлю шаблон в редакторе, а затем смотрю на результат в WebProject - какое-то половинчатое решение получается. Тут нужен какой-то конструктор шаблонов, подумал я.
Однако задумался, хочется удобный визуальный инструмент для дизайна, но нужен ли мне этап перевода элементов моего дизайна в текстовый язык шаблонов, чтоб потом опять из текстового формата все перевести в свой внутренний формат, выполнить проходы по всем нужным элементам для заполнения структур данными, чтоб опять все перевести все в текст? А может этап с языком шаблонов лишний и можно сразу из элемента дизайна формировать HTML код (или любой другой код языка описания интерфейсов)? В любом случае пока это просто идея на уровне догадки, но меня эта мысль заинтриговала. Вводить такой подход в WebProject я наверное не буду, а вот в проекте WebFlow это может пригодиться.