@evil_eyes

Парсинг html и замена кода, куда копать?

Всем привет! Такая ситуация: я использую в своих проектах gulp (стандартные инструменты: jade, scssm, concat, browser-sync, minify'и и т.п.).
Появилась задача: нужен плагин, что ли, который пробегал бы по всем папкам в определенной директории и обрабатывал только html файлы, а в них отыскивал определенные заданные куски кода и менял их на определенные заданные другие куски кода и перезаписывал html файлы уже с измененными кусками кода (или выплевывал их куда-то отдельно). Подозреваю, что такой плагин должен быть под gulp, но я не могу никак разобраться с обилием плагинов и, зачастую, скромным описанием оных.
И второй вопрос: я так понимаю, что можно реализовать такой парсинг тупо через консоль nodejs? При этом указывая куски кода для замены в консоли. Или я не прав, и это неверный шаг? Но для этого уже необходимо писать свой модуль именно для Ноды, насколько я понимаю.

Подводя итог: нужно пройтись по всем указанным папкам, найти каждый .html, найти в нем заданные куски кода (например:
<script src="old.js></script> <a href=http://oldlink.com"></a>
) и заменить их на другой код (
<script src="NEW.js></script> <a href=http://NEWlink.com">
, соответственно).

В общем, нужен совет, а то я уже запутался совсем.
P.S. Использую Sublime/Atom/Brackets, может есть какие-то плагины под них?
Спасибо за внимание.
-----------------------------
P.S.S. Забыл сказать, что я только учусь писать свои "конфиги" для gulp, примерно как и что должно быть я понимаю, но ни коим образом специалистом в этом вопросе не являюсь.
  • Вопрос задан
  • 269 просмотров
Решения вопроса 1
pomeo
@pomeo
Лучше бы вы написали, что у вас за os. Без всяких gulp вам бы sed решил проблему.
В гугле по запросу "gulp sed" вылезает первое https://github.com/lazd/gulp-replace
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
moserevg
@moserevg
Человек.
Если я правильно понял, вам нужен gulp-inject
Ответ написан
fdhadzh
@fdhadzh
Perfectionist with deadlines
Для такой простой задачи можете написать bash скрипт.

Пример:
for file in templates/**/*.html
do
    sed -i "s/old/NEW/g" "${file}"
done
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы