Как превратить большие группы похожих дрянных HTML-страниц в качественные CSS-страницы? - PullRequest
2 голосов
/ 27 апреля 2009

Каков лучший способ программно трансформировать большие пакеты очень похожих веб-страниц в новый макет на основе CSS?

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

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

Какой, по вашему мнению, лучший способ сделать это? Страницы в основном различаются в зависимости от того, какой файл .jpg используется для изображения, или от того, сколько групп heading-image-text существует на этой конкретной странице

РЕДАКТИРОВАТЬ: я не могу использовать любой другой тип файла, кроме .html, так как это все, что мне разрешено делать. Есть предложения?

РЕДАКТИРОВАТЬ 2: В идеале, я также мог бы сделать это достаточно универсальным, чтобы я мог использовать его для многих различных групп HTML-файлов, просто переключая несколько движущихся частей.

ОБРАЗЕЦ ТИПИЧНОЙ СТРАНИЦЫ

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

  • мета-тег описания
  • различные заголовки, особенно основной заголовок
  • почти каждое изображение на странице будет новым
  • текст для каждого видео будет уникальным, но они будут сгруппированы в похожие куски
  • видеофайлы и размеры видео будут уникальными

Все остальное такое же, и формат страниц также тот же.

РЕДАКТИРОВАТЬ3: Если есть сомнения, еще одна вещь, которая может быть полезна, это написать код, который будет писать для меня страницы. Мне просто нужно вырезать части оригиналов, которые являются переменными, и поместить их в файл данных, который читается и используется для написания новых версий.

Ответы [ 5 ]

1 голос
/ 27 апреля 2009

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

Однако, если вам нужно сделать это программно, я бы предложил разобрать html для извлечения контента. Или очистить его. Если у вас есть доступ к нему, вы можете использовать Expression Web, который я использовал для аналогичной задачи, вы можете очистить HTML и оставить только теги заголовка, абзац и т. Д., Затем вы можете применить к нему CSS для форматирования в дизайне вы хотите.

Однако для написания кода может потребоваться больше времени, чем для ручного выполнения. Иногда нет ничего быстрее, чем от руки.

Удачи

1 голос
/ 27 апреля 2009

Это зависит от того, насколько похожим «очень похоже» на самом деле. Если вы имеете в виду, что они эффективно используют несколько шаблонов, то я бы, вероятно, создал бы новые шаблоны для нового дизайна, используя Template-Toolkit и высасывал данные, используя Template :: Extract . Возможно сохранение данных в локальной базе данных, чтобы упростить восстановление страниц в будущем.

0 голосов
/ 27 апреля 2009

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

Звучит ужасно, не правда ли?

Если серьезно, если вы получаете мощный редактор, который поддерживает поиск по нескольким файлам и / или регулярным выражениям, который может удалить большую часть неприятного кода. По меньшей мере, это не идеальная наука, и некоторые ручные манипуляции могут понадобиться, чтобы привести ее в «полезную» форму, но это отнимает большую часть работы по очистке.

0 голосов
/ 27 апреля 2009

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

0 голосов
/ 27 апреля 2009

Хотя это может показаться немного легкомысленным, лучший реальный вариант, который я мог бы предложить, был бы Rent-A-Coder

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...