Найти каждый экземпляр идентификатора / класса CSS на всем сайте - PullRequest
3 голосов
/ 28 февраля 2012

Прежде чем вносить изменения в CSS, которые могут иметь непредвиденные последствия, какой хороший способ найти, где еще на всем сайте (не только на этой странице) этот идентификатор или класс, используется?(Это не должно быть исчерпывающим, и полу-ручные процессы тоже подойдут.)

Для некоторого контекста, это сайт на Joomla с большим количеством контента, и я непока знаком с большей частью этого.Идентификатор, о котором идет речь, имеет двухбуквенное имя, и я понятия не имею, где еще его можно использовать.У меня нет прямого доступа к серверу для каких-либо grep-подобных подходов.

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

Ответы [ 5 ]

3 голосов
/ 28 февраля 2012

Самый простой способ - локальный grep, но, поскольку у вас нет доступа к серверу, попробуйте загрузить его локально, используя wget:

wget -r -l --domains=http://yourdomain.com http://yourdomain.com

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

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

Я использую unused-css.com для такого рода вещей. Вы просто вставляете свою веб-страницу, и она просматривает весь сайт (включая логин) и дает вам CSS, который вы фактически используете.

Я считаю, что это на 95% правильно - но он не учитывает только такие вещи, как некоторые взломы браузера CSS и некоторые ошибки (т. Е. CSS отображается только после ошибки), поэтому он должен нормально работать для это.

Вы также можете проверить оригинальный шаблон (предполагая, что шаблон является коммерческим), чтобы увидеть, где, возможно, идентификатор должен быть (они обычно выкладывают все в своем демонстрационном шаблоне), но неиспользованный-css выиграл не скажу точно, где он используется, только если он есть или нет. Для этого я бы начал с view-source -> find на основных страницах, а затем попробовал другие упомянутые решения.

1 голос
/ 29 февраля 2012

Это на самом деле не так сложно, как кажется. Первое место, чтобы посмотреть файл index.php для шаблона. Этот файл должен быть довольно маленьким без тонны кода, если шаблон не от разработчика, который использует каркас шаблона. Если идентификатор указан там, он будет отображаться на каждой странице веб-сайта, поскольку это основа, на которой строится каждая страница.

Если его там нет, вам нужно определить, отображается ли он в позиции модуля или в области компонента. Вы сможете заметить разницу, посмотрев на файл index.php из шаблона.

Если он находится в позиции модуля, то идентификатор должен отображаться только в экземплярах этого конкретного модуля.

Если он находится в области компонента, он должен отображаться только на любых страницах, создаваемых компонентом. Это оставляет возможность повлиять на многие элементы, которые вы не хотите менять. Но для этого есть решение. Вы можете использовать суффикс класса страницы в пункте меню, чтобы добавить уникальный идентификатор / класс на страницу, которую вы хотите изменить (зависит от вашего шаблона). С этим уникальным суффиксом вы можете создать специальный селектор, который будет влиять только на страницы, которые вы хотите изменить.

0 голосов
/ 28 февраля 2012

Если вы не хотите использовать подход grep:

Идентификатор, о котором идет речь, появляется в фактической области содержимого страницы или в "окружающих" областях? Если кажется, что это не часть контента, а скорее появляется в шаблоне, вы можете найти его в файлах шаблона. Поскольку вы обновляете CSS, я собираюсь предположить, что вы, по крайней мере, можете взять файлы шаблона. Многие текстовые редакторы / IDE позволяют вам выполнять «глобальный поиск». Я загружал файлы шаблонов в TextMate (мой текстовый редактор по выбору) и выполнял «поиск в проекте» для конкретного идентификатора.

Это, по крайней мере, даст вам представление о том, где на сайте появляется этот идентификатор. Нет, это будет не каждая «страница», но вы будете знать, на какой вид страницы она отображается (что, с CMS, действительно то, что вам нужно).

Если соответствующий идентификатор появляется в контенте, то есть он был введен вручную создателями контента, вам придется пойти другим путем. У вас есть доступ к базе данных? Если вы можете получить дамп базы данных (я думаю Joomla! Основан на MySQL), вы можете открыть sql в чем-то вроде Sequel Pro и выполнить поиск в записях контента для этого идентификатора.

0 голосов
/ 28 февраля 2012

Получите исходное дерево всего сайта в IDE, например, NetBeans или Eclipse, а затем выполните рекурсивный поиск для id = "theid" в корневой папке.

Если это невозможно, как вы обновляете CSS?

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