На днях разошлись в мнениях с front-end разработчиком.
Хотелось бы выяснить как нужно делать правильно.
Резюмирую:
1) Страница сверстана по правилам BEM
https://ru.bem.info/
2) Есть блок
<div class="content">
в котором находится динамический контент, например статья.
Я придерживаюсь, что все, что находится внутри блока
content должно быть clean html, т. е. без id, без классов, без лишних атрибутов.
Пример 1:<div class="content type-article">
<h1>Заголовок <small>подпись</small></h1>
<p>Текст, текст, текст.</p>
<p>Текст, текст, текст.</p>
</div>
Соответственно css внутри блока
content пишется относительно класса
.type-article (в рамках примера).
Front-end разработчик говорит, что нужно применять BEM.
Пример 2:<div class="content">
<h1 class="title">
<span class="title__main">Заголовок</span>
<span class="title__label">подпись</span>
</h1>
<article class="article">
<p class="article__p">Текст, текст, текст.</p>
<p class="article__p">Текст, текст, текст.</p>
</article>
</div>
Как мне видится проблема в том, что если html отредактирован в WYSIWYG редакторе, а потом почищен на сервере каким-нибудь инструментом по типу htmlpurifier, то воссоздавать потом BEM структуру не имеет смысла.