Извлечь общий HTML-контент в отдельные файлы для повторного использования

Я создал веб-сайт (используя страницы GitHub), который содержит множество подстраниц. Почти каждая из этих страниц содержит один и тот же контент, например. нижняя часть, как это:

<footer id="content-info" class="container" role="contentinfo">
    ...
</footer>

Мой вопрос: как извлечь эту общую часть в отдельный файл для повторного использования? Тогда я могу просто каким-то образом включить этот файл везде, где мне нужно содержать часть нижнего колонтитула. Если это возможно, я могу легко отредактировать эту часть один раз, и все страницы, содержащие ее, изменятся автоматически.


person herohuyongtao    schedule 15.07.2014    source источник


Ответы (3)


GitHub Pages поддерживает Jekyll, генератор статических сайтов. Jekyll использует шаблоны Liquid под капотом. Вы должны иметь возможность использовать шаблоны даже без создания статического сайта.

Вот дополнительная информация о Jekyll: http://jekyllrb.com/docs/home/

Чтобы заставить Jekyll работать с GitHub Pages, вам, вероятно, потребуется добавить файл _config.yml. Подробнее об этом здесь: http://jekyllrb.com/docs/configuration/

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

Пример:

<!-- html here -->
{% include footer.html %}
<!-- more html here -->

Это будет включать содержимое _includes/footer.html по умолчанию. Дополнительная информация о шаблоне содержится здесь: http://jekyllrb.com/docs/templates/#includes

Надеюсь, это поможет!

person Will Klein    schedule 15.07.2014
comment
Спасибо за правки, @herohuyontao! Я обычно форматирую такие вещи, так что спасибо! - person Will Klein; 17.07.2014

Вы можете просто скопировать содержимое div в файл php или html и вызывать его с каждой страницы, используя

<?php include 'footer.php'; ?>

Таким образом, когда вы измените файл footer.php, он будет обновляться по всему сайту.

person GazEcc    schedule 15.07.2014
comment
Как обсуждалось здесь, GitHub не поддерживает PHP. Любая идея обойти? - person herohuyongtao; 15.07.2014

Вы в значительной степени правы на деньги, возьмите фрагменты кода, которые хотите использовать повторно, и сохраните их в виде отдельных файлов.

Затем используйте

<?php include_once ("file location/filename.extension"); ?> 

включить этот файл :D

##### html file
<html>
<head>
<title>Title</title>
</head>

<body>
<p>content here</p>
<?php include_once ("file location/filename.extension"); ?>
</body>
</html>
##### include file
<p>copyright by me<p>
person lil_bugga    schedule 15.07.2014
comment
Спасибо. Но это не работает для меня. Связано ли это со страницами GitHub, которые я использую для создания своего веб-сайта? Может он не поддерживает PHP? - person herohuyongtao; 15.07.2014
comment
У вас есть основные страницы, сохраненные как html или php. Это может быть просто вопрос неправильного формата файла. Если не указано расширение .php, я не думаю, что это сработает. - person lil_bugga; 15.07.2014
comment
Страницы сохраняются в формате HTML. GitHub не поддерживает PHP, как обсуждалось здесь. Печальные новости :( Любая идея обойти? - person herohuyongtao; 15.07.2014
comment
Похоже, у вас осталось не так уж много вариантов. Предлагаю посмотреть кадры. Раньше я создавал сайты с фреймами, и у каждого фрейма была отдельная страница, управляющая им. Я думаю, что фреймы были заменены IFrame, поэтому, возможно, стоит взглянуть на них. - person lil_bugga; 15.07.2014
comment
Спасибо. Я проверю это. - person herohuyongtao; 15.07.2014
comment
Были ли у вас успехи с фреймами или фреймами? - person lil_bugga; 17.07.2014