#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. Я могу объединить их на стороне сервера, но мне это действительно не нужно. Ну, написание моего собственного сценария, как правило, кажется правильным. Я просто надеялся, что уже будет что-то для достижения этого.