Слияние файлов HTML - PullRequest
       8

Слияние файлов HTML

4 голосов
/ 02 марта 2010

Я хочу объединить один файл HTML в другой. Не только включить, но и объединить .

Пример

master.html:

<!DOCTYPE html>
<html>
  <head>
    <title>My cat</title>
  </head>
  <body>
    <h1>My cat is awesome!</h1>
  </body>
</html>

_index.html:

<!DOCTYPE html>
<html>
  <body>
    <p><img src="cat.jpg"/></p>
  </body>
</html>

Теперь я объединяю _index.html с master.html.

$ html_merge master.html _index.html > result.html

result.html

<!DOCTYPE html>
<html>
  <head>
    <title>My cat</title>
  </head>
  <body>
    <h1>My cat is awesome!</h1>
    <p><img src="cat.jpg"/></p>
  </body>
</html>

html_merge - это скрипт, который я ищу. Я буду использовать его для создания статических сайтов.

Я бы хотел использовать Ruby, но это не обязательно.

Обновление

Я не хочу изобретать еще один язык шаблонов. Существует множество языков шаблонов с поддержкой операторов include / yield и частичной поддержкой. жидкость , усы и так далее. Я использую их для разных задач. Теперь мне нужно объединить HTML-файлы, ничего более.

Ответы [ 4 ]

1 голос
/ 02 марта 2010

Может ли это помочь? (Это на Java, хотя ...)

http://www.javaworld.com/javaworld/jw-07-2007/jw-07-xmlmerge.html

0 голосов
/ 03 марта 2010

Это замечательно похоже на отношение макета / шаблона в Rails. Хотя это может показаться немного сложным, но у вас будет макет, в который вы хотите, чтобы контент сливался в:

application.html.erb

<html>
  <head></head>
  <body>
    Some content before hand.
    <%= yield %>
    Some content "after hand"
  </body>
</html>

index.html.erb

<strong>This is my cat: <%= image_tag "cat.jpg" %></strong>.

Если вы хотите получать статические страницы с этой страницы, вы можете сгенерировать кэшированные версии страницы.

0 голосов
/ 02 марта 2010

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

Я использовал http://www.cheetahtemplate.org/ в некоторых проектах, но это может быть немного излишним для ваших нужд.

0 голосов
/ 02 марта 2010

Тщательно продумайте, как будет выглядеть такой скрипт, и, в частности, как вам нужно написать отдельные html-файлы, чтобы их можно было объединить. Как бы вы связали узлы? по имени divs? убедившись, что каждый из них имеет параллельную структуру?

...