Andrey
а как ты себе это представляешь?
Влод
И в maybe ещё
ну это со временем сложилось. но Foldable и IsList я думаю примерно в одно время появлялись
Cheese
DOM-то даст
если не заточен на HTML? в лучшем случае даст AST
Евгений
Ну AST html'я и есть дом
Евгений
div (attr: ...) -> div -> и т.д.
Евгений
Только body извлеки, да и всё
Leonid 🦇
SOOOQUA нужно было офранов для servant-streaming заимпортировать. 2 часа бился головой об стол
Евгений
Не похожи они по синтаксису, в одном случае у тебя img в a, а в другом a в img
Евгений
Иерархия разная же
Алексей ayaye :)
а есть задача сохранить исходный html, за исключением некотрых тегов? или на выходе может быть эквивалентный исходному с замененными тегами? вторая задача решается без проблем, насколько мне известно (не на хаскеле)
Cheese
Cheese
SGML не знает, чем отличаются открывающие тэги от отдельно стоящих
Cheese
эту проблему исправили только в XML
Sergey
ну, на руби оно фигак фигак и готово. Nokogiri норм с этим справляется
Sergey
но надо на хаскеле
Евгений
Евгений
Что-то ты очень странное говоришь
Cheese
я проверю и вернусь с доказательствами
Евгений
И как оно тогда интерпретируется?
Ignat
ну их вкладывать друг в друга нельзя, поэтому неоднозначностей не возникает
Anonymous
Там всё просто и логично 😝
https://stackoverflow.com/questions/3558119/are-non-void-self-closing-tags-valid-in-html5
Alexander
xhtml ftw
Anonymous
переформулирую, функция принимает на вход Text, который HTML, оттуда надо выкинуть несколько тегов с определенным классом/id, и вернуть Text
Может,
https://developers.google.com/web/updates/2017/04/headless-chrome
?
Загрузить, запустить js, который удалит, что надо, и
--dump-dom
, а?
Вдруг сработает..
Alexander
хочу заметить что хедлес хром не очень стабилен, увы
Alexander
плюс можно получить javascript-бомбу
Alexander
но из обсуждаемых вариантов все равно лучший
Anonymous
Кроме Хрома, можно выбрать другой из списка:
https://en.m.wikipedia.org/wiki/Headless_browser
Alexander
мне кажется все одно фигня
Alexander
phantomjs deprecated
Alexander
так что со списком надо аккуратнее
Alexander
ну то есть главная проблема в том, что если этот html user input можно крепко обломаться
Слава
Я такого не писал, но первый же запрос в гугл "haskell html parser" выдал мне ссылку на tagsoup
Слава
Почему бы просто не воспользоваться им, не пройтись по узлам и не удалить всё ненужное?
Alexander
выше обсуждали
Евгений
Ну tagsoup работает
Слава
У меня есть еще одно предложение - вызвать какую-нибудь сишную библиотеку и написать к ней обёртку. Тормозить точно не будет.
Евгений
Только он вроде тормознутый
Andrey
тормоза убирает fast-tagsoup
Andrey
если fast-tagsoup подавать чанки на вход, то ещё быстрее будет
Евгений
Слава
Существование этих двух парсеров мне напоминает анекдот про программиста, ложащегося спать, и двух стаканах.
Евгений
Слава
Что за анекдот?
"Ложась спать программист ставит рядом на столик 2 стакана. Один с водой - если захочет пить, второй пустой - если не захочет."
Евгений
А откуда ассоциации?
Слава
А зачем два парсера - один тормозной, другой нормальный? Один - если мы avoid success at all costs, другой - если нет?
Andrey
второй - обёртка над первым, как бы
Andrey
если я ничего не путаю
Евгений
Евгений
Вообще с любым "стринглайком": http://hackage.haskell.org/package/tagsoup-0.14.6/docs/Text-StringLike.html
A64m
Alexander
Учитывая что половина фронтендов на jsx а вторая на vue в котором тоже xml шаблонизатор (и ещё 100 половин сервер рендеринг) xhtmlу пофиг на w3c
Alexander
Да и вроде как производителям браузеров тоже всё больше пофиг
Aliester
производители браузеров как бы все присутствуют в консорциуме
Alexander
ну типа если они голосуют за, а остальные против, то им пофиг
Alexander
но это не очень точная инфа
Aliester
много ли хаскелистов в w3c?
Vladimir
чего они ваяют - там одни юристы и мечтающие отомстить миру уволенные
разработчики CORBA
Слава
чего они ваяют - там одни юристы и мечтающие отомстить миру уволенные
разработчики CORBA
Тут мне недавно документ прислали, описание задачи. Docx, в нем всякое, в том числе - несколько xml в виде файлов, несколько экселевских документов.
Не то, чтобы это было совершено необходимо, но что там существует в линуксах взамен object linking and embedding? Нет,в онлайне понятное дело есть гуглодоки - для тех, кому не жаль довериться гуглу. А локальное что есть? Corba была, но вышла из моды, и что же вместо?
Leonid 🦇
мерзость какая
Leonid 🦇
локально компьютеры умерли. embrace the cloud
Leonid 🦇
всем плевать на security
Sr
Leonid 🦇
security это вообще последнее о чем думают люди.
Leonid 🦇
Крупным конторам не плевать, они могут себе позволить своё облако
Sr
P2P one 💓
Sr
Sr
Leonid 🦇
А что говорят пользователи когда им говорят об "удобстве" и цене безопасности?
Sr
Leonid 🦇
удобство продать можно, безопасность нет.
Евгений
Security для прыщавых задротов и коммунистов, бизнесу, естественно, плевать на security. Зачем нужны технические методы, когда есть адвокат?
Andrey
Надеюсь тут у вас не неделя оффтопа сейчас? Хочу спросить, как установить сабж на мак. Сабж - в смысле, подойдет и платформа, со стаком опыта не было.
Евгений
Подставь nix и из него установи
Евгений
Пользователи facebook'а не являются его клиентами, это же подопытные кролики