Здравствуйте.
Предисловие (как я до такого докатился).В свое время занимался таким извращением, как "верстка сайтов на svg"... но это - немного не тот случай.
Тогда все делалось, ясное дело, ради эксперимента и весьма удачного, хочу заметить. Но нынешняя моя проблема немного в другом.
Сначала все было лампово: обычный html, обычный css... но затем мне стало чего-то не хватать - БЭМ, вот тогда-то мы и встретились. Далее познакомился с другими вариантами структуризации кода, но в душу запал AMCSS. Боковым зрением заметил в одной из статей упоминание того, что будущее за "custom tags", мол, гугл их использует и ссылка с чем-то вроде этого в контексте: <my-button class="block black"></my-button>
Использовав AMCSS на практике, я был дико разочарован, как и после использования БЭМ: все было крайне скомкано и... превращая div в модалку, я испытывал нехватку делания этого с помощью увиденного тогда my-modal
и подобных кастомных тегов для элементов дизайна, которые часто встречаются. Это и называется кастомными тегами, впрочем, удивляться нечему.
Мы все отлично знаем (или нет), что кастомные теги, по сути, браузерами не особо поддерживаются. По крайней мере, это касается
любимого мною IE8. Не знаю, как обстоят дела с мобильными.
Также нашел этот ответ на
stackoverflow. Неплохо, но об альтернативе, кроме "втыкания js", ничего неизвестно. Плюс... мелочь, но без "сброса" стилей у тех же button-тегов и т.п. я не смогу их "красиво" использовать (тараканы в голове).
Следовательно, для поддержки сего, как скажут многие,
извращения, требуется JS, причем... думаю, для каждого подобного элемента придется писать отдельные "правила" (упоминать их в js, т.е.) - это мне и не понравилось.
Тут я и вспомнил про XML. Найдя редкие упоминания о верстке, еще реже видел именно то, что хотел, но чаще это были "XML Sitemap", "XML Database" и прочее.
С горем пополам относительно убедился, что
верстать на XML можно, только чем это нам грозит?
Сразу в голову пришли минусы сего:
- "Плохая" индексация поисковиками (а так ли это?);
- Плохая поддержка сборщиками проектов (Gulp, Grunt и т.п., не проверял, сам использую Brunch);
- Плохая поддержка браузерами (возможно ли это, будет, например, "запустить" на IE и как обстоит дело с
сотовыми?).
Заранее спасибо.
Крайне надеюсь на нормальный ответ или указание на другой путь для использования кастомных тегов.
P.S. И да, немного моего незнания: нужно писать кастомный DTD, как я понимаю? Какие варианты?