Как создать СУХОЙ HTML?

#html #templates #dry

#HTML #шаблоны #сухой

Вопрос:

У меня небольшой статический веб-сайт, и на каждой странице этого сайта есть меню и нижний колонтитул.

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

Я ищу какую-то простую систему шаблонов, которая позволяет мне объединять файлы вместе.

Я немного изучил файлы ruby .erb, но они кажутся слишком сложными для того, чего я хочу достичь, поскольку мне пришлось бы установить rails и разрешить моему веб-серверу использовать это.

Комментарии:

1. Какие технологии вы можете использовать?

2. В моем распоряжении компьютер Debian. Так что я могу использовать все, что может быть установлено там.

3. Вы можете попробовать Jade . полностью на основе клиента.

Ответ №1:

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

 <!-- #include virtual="/footer.html" -->
  

инструкция в правильном месте. Поскольку вы находитесь на сервере Debian, я уверен, что Apache уже включит это по умолчанию.

Это может показаться устаревшим, но моя жена работает в компании, которая занимается большим обслуживанием небольших веб-сайтов, и они все еще используют этот подход, и он работает просто отлично.

Если ваш сайт занимает более 10 страниц, я бы посоветовал изучить некоторые системы шаблонов, просто чтобы не забывать добавлять свой SSI на каждую новую страницу, которую вы создаете.

Ответ №2:

вы могли бы взглянуть на некоторые системы веб-шаблонов и принять решение в зависимости от языка / платформы, с которыми вы знакомы

Ответ №3:

Я использую Octopress. Это статический генератор сайтов, построенный поверх Jekyll, который использует markdown для разметки контента и специальный язык шаблонов для построения страниц. Итак, если вам нужен сайт с несколькими страницами, вам следует попробовать jekyll.

Для вашей системы требуется ruby, поскольку вся генерация сайта выполняется на стороне клиента, а затем сайт развертывается через rsync.

Ответ №4:

Попробуйте поискать в Интернете static site generator . Это дает дюжину решений на всех языках: Python, Ruby, PHP, Haskell, Sh, Bash…

Ответ №5:

Вам нужно объединить их на стороне сервера?

Для небольшого статического сайта я просто создал небольшой локальный скрипт (я использовал PowerShell, но не стесняйтесь использовать все, что вы хотите или имеете в своем распоряжении), который выполняет развертывание из локальных исходных файлов, представляющих шаблоны. Хотя, возможно, это не так гибко на стороне шаблонов, как полномасштабные движки шаблонов, это просто, быстро и хорошо работает довольно долго. Кроме того, он работает локально и не нуждается ни в чем, кроме простого веб-сервера на стороне сервера, сокращая потенциальные уязвимости.

Комментарии:

1. Я могу объединить их на стороне сервера, но мне это действительно не нужно. Ну, написание моего собственного сценария, как правило, кажется правильным. Я просто надеялся, что уже будет что-то для достижения этого.

Ответ №6:

Я годами использовал WML («Метаязык веб-сайта»; ПРИМЕЧАНИЕ: ничего общего с WML, связанным с мобильными устройствами и WAP!) в Debian для поддержания единообразного шаблонного шаблона заголовка / боковой панели / нижнего колонтитула для страниц на статическом хостинге моего интернет-провайдера.