Слияние CSS-файлов с импортом - PullRequest
1 голос
/ 19 июля 2010

У меня есть около 40 «тем», каждая из которых была скопирована и вставлена ​​из темы «по умолчанию» и была уникально изменена. С течением времени каждая из этих тем приобрела свою собственную форму, еще больше, иногда меньше.

Мне нужно сделать URL-адрес @import (default.css); чтобы при внесении изменений в настройки по умолчанию мне не нужно было каскадировать все темы.

Каждая тема и по умолчанию составляет около 2000 строк. Я пытался использовать оптимизатор CSS, но я не мог заставить его работать. (Возможно, я делаю что-то не так?) Сейчас я просто использую diff, чтобы построчно вносить все изменения, и это кропотливо и займет у меня недели за неделями.

Как мне сделать это быстро? Должен быть способ.

Ответы [ 2 ]

0 голосов
/ 20 июля 2010

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

selector1,selector2 {
  instruction1;
  instruction2;
}

став

selector1 { instruction1; }
selector2 { instruction1; }
selector1 { instruction2; }
selector2 { instruction2; }

Это позволит вам быстрее использовать diff и, наконец, объединить их с оптимизатором ...

Кроме этого:

  • Я бы попробовал PSPad (условно-бесплатное, не бесплатное для коммерческого использования), чтобы получить однострочные правила CSS (меню HTML, формат CSS inline ). Это будет сортировать команды, связанные с их селектором правил, когда вы используете diff.
  • Затем используйте такие программы, как Diffuse , чтобы сравнить набор файлов (GPL) или DiffMerge (бесплатно на 30 дней) или KDiff3 (GPL) для сравнения файлов 3 на 3
  • и получите таблицу стилей по умолчанию и 40 более коротких таблиц стилей

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

0 голосов
/ 19 июля 2010

может быть, вам нужно решить эту проблему с чем-то вроде этого: Отдельные файлы CSS.

создать базовый файл.

таким образом, вещи, которые являются общими для всех тем, будут в основе. и вещи, которые являются независимыми, должны быть помещены в каждый из 40 файлов avcorse.

...