Офлайн-шаблоны HTML

Я разрабатываю простой веб-сайт без динамического контента, который я хочу быть легким и портативным. Никаких PHP-скриптов или других серверных скриптов не требуется или не требуется. Я сталкиваюсь с вопросом, который у меня был несколько раз раньше.

Мне бы хотелось, чтобы один раз записывали общие элементы (голова, нога, навигация) и записывали отдельные страницы на сайте только с содержимым, а затем запускали эту загадочную утилиту для компиляции всего этого в набор готовых HTML файлов для загрузки. Страница может быть написана следующим образом:

Title: Our Services
Top Navigation: Yes
Scripts: jquery, lightbox

<p>
    Example, Inc. offers a wide range of…

Было бы здорово, если бы у механизма также была логика, позволяющая включать или исключать элементы (например, Top Navigation выше) с каждой страницы и автоматизировать задачи, такие как маркировка текущей страницы на навигационной панели:

<a href="/services"{page == 'services' ? ' class="current"' : ""}>Services</a>

Есть ли там такие двигатели?

Ответ 1

Я бы направился прямо к Template-Toolkit для этого. Он поставляется с утилитой ttree для создания статического сайта.

Вы можете обрабатывать последнюю часть своего вопроса:

[% 
    INCLUDE 'navbar.tt' 
    page = 'services'
%]

Ответ 2

Честно говоря, здесь есть что-то вроде PHP... включить общие элементы

Вариант 1: Используйте язык и наслаждайтесь им.

Вариант 2: используйте язык для создания сайта... но затем укажите искателя на своем сайте, чтобы захватить сгенерированный "статический" контент. например WinHTTPTrack

Ответ 3

Webby является фантастическим для этого.

Еще один отличный вариант - Jekyll.

Ответ 4

Adobe Dreamweaver Templates делают все, что вам нужно, если для вас бесплатный инструмент.

В основном вы создаете страницу шаблона, в которой вы определяете, какие части доступны для редактирования, затем вы создаете все свои страницы на основе шаблона. Если вы измените шаблон и сохраните его, все связанные страницы будут обновлены.

Система шаблонов также имеет возможность определять атрибуты по умолчанию и изменять их на определенной странице. Вы можете использовать это для маркировки текущей страницы, хотя для этого IMHO несколько строк кода jquery намного лучше.

Ответ 5

Вы можете написать программу на любом языке, который вам знаком, который выводит статические html файлы. У вас может быть базовая структура, а затем для настраиваемого материала, вы включаете его из отдельного файла.