Re[4]: Какое же всё-таки говно стала студия
От: Alekzander  
Дата: 23.09.24 09:03
Оценка: :)
Здравствуйте, Marty, Вы писали:

M>HTML — сам по себе способ отделить разметку от текста. Твой вопрос звучит так: "как в языке, отделяющем разметку от текста отделить разметку от текста?"


Ну-ну.

Отдели от разметки текст лицензии на 28 языках.

Сейчас есть три способа это сделать.

1. JS (.textContent/.createTextNode).
2. CSS (content)
3. Манипулирование строками из бизнес-логики (для классической связки фронт-бэк это SSR, для webview-приложений это string format на языке хоста).

И все три способа, разумеется, говно. Даже если разбить лицензию на параграфы, один параграф может занимать страницу юридического текста. Ты её засунешь в литерал? И отдашь джаваскрипт юристам на вычитку? Ещё смешнее пихать её в таблицу стилей среди анимаций и прочих бордер-радиусов. А при манипуляциях строками ты даже не сможешь посмотреть макет с рыбой.

А ведь есть ещё и безопасность. Для JS и инлайнового текста возможны BiDi-инъекции. Для манипулирования строками из бизнес-логики возможны все остальные виды инъекций. Суки из Гугла, заседающие в W3C, по просьбам трудящихся и из соображений безопасности запретили локальные модули, хотя никто ещё ни разу не привёл ни один пример такой атаки. А то, что инъекции, включая новомодные BiDi, происходят реально, никак их не мотивирует на изменения.

Я не архитектор, но вынес бы контент в отдельный DSL (оставив для совместимости нынешнюю инлайновую форму), на котором можно было при помощи языка селекторов привязывать к нодам plaintext- и markdown-секции (и, может быть, шаблоны (<template>), но я не уверен насчёт безопасности). markdown тут потому, что контент это очень часто мини-разметка.
I'm a sewer mutant, and my favorite authors are Edgar Allan Poo, H.G. Smells and George R.R. Martin.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.