Слушайте, я понимаю, что это мелочно, но если кто-то действительно хочет гемифицировать урлификатор — это было бы прямо круто. Там вообще довольно много всяких вещей надо сделать по-хорошему — например, тесты. #mokum-dev
для нужд Мокума (а также на самом деле всех) нужно сделать две вещи — callback для выяснения, какие атрибуты надо доставить на <a> — требуется как минимум target=_blank и rel="nofollow", в зависимости от того, чей текст мы парсим; а также нужно сделать коллбэк для специфических синтаксисов, типа поддержки собака-юзернеймов. ‎- псы в рапиде
также надо все же сделать опцию для обработки facebook.com, давайте признаем этот факт. ‎- псы в рапиде
Всё что есть — в том gist? Или у тебя где-то тест кейсы лежат ещё? ‎- а меня почему-то забыли
ебать вы звери ‎- всё это хуйня
это гипербола. вместо "мимими, зверёк" ‎- опасность наледи, миледи
Почти все в том гисте. Есть еще несколько кейсов, но они сугубо вторичны по отношению к этому. ‎- псы в рапиде
подтверди README, пожалуйста, и человек сделает остальное. ‎- а меня почему-то забыли
Как насчет поддержки embed.ly прямо из урлификатора? Нужен коллбэк на полную замену найденого URL, а не просто атрибуты для <а> ‎- туктуктук наноробот
а) ack б) MIT License ok; в) убери ссылки на mokum.ru пока что; г) non-ascii domains — это называется скорее https://en.wikipedia.org/wiki/Internationalized_resource_iden... д) что делать, если я указал @nosuchuser? е) большое спасибо! ‎- псы в рапиде
там где про гугл — там фишка в том, что там кавычка и запятая. в старой версии кода я немного криво делал, и именно из-за того, что там кавычка перед запятой — был ад. теперь там нормально, и этот кейс имеет смысл тестить отдельно может быть только из уважения к истории. хотя вроде как раз TDD так и работает — все пойманные ошибки тестируются, даже если потом их root cause был устранен. ‎- псы в рапиде
@ayoshi, такие вещи все всегда делают non-obrtrusively. реально править html для этого не надо. ‎- псы в рапиде
э, а гист-то обнови? то что там сейчас, не все спеки отсюда проходит: https://mokum.ru/squadette/4120 ‎- а меня почему-то забыли
Дай плз commit access. ‎- псы в рапиде
Погоди полчаса. ‎- а меня почему-то забыли
(также утром спросонья я почти час читал текст как "геймифицировать урлификатор" и охуевал, до чего техника дошла) ‎- всё это хуйня
добавил @squadette в Collaborators ‎- а меня почему-то забыли
ХНЫК. убил полтора часа, а мной никто не восхищяется! ‎- а меня почему-то забыли
Потому что это behind-the-scenes magic :) На самом деле, вполне восхищаемся ‎- USS Magey
Круто вы геймифицировали! ‎- абонплата за листопад
@squadette - в смысле unobtrusively? где то тебе придется заменить URL на его <embed code>. Скажем ты задетектил линк на youtube, ты его хочешь поменять на embedding. Может быть в другом месте? тогда ты просто проделаешь две замены . Или я чего то не понял? Расскажи, интересно. ‎- туктуктук наноробот
Я об этом, например думаю примерно так: У тебя потенциально есть несколько трансформ на двух этапах: а) После POST/PUT б) Перед GET ( лучше наверное даже перед помещением в кэш, чтобы не платить цену трансформации для каждого клиента, хотя некоторые фичи потребуют трансфомации после кэша). Трансформы примерно следующие ( с заделом на будущее и поддержкой маркапов ): 1) HTML Sanitization 2) Markup->HTML conversion ( включая урлификацию, это в принципе implicit markup 3) URL Autoembedding ( авоматически подменить юрл с youtube на ембед код, если пользователь вставил линк.) Где то тебе придется заплатить каждую цену как минимум по разу, в зависимости от того как ты решишь хранить данные. ‎- туктуктук наноробот
^^^^^ — поставил звёздочку! ‎- адский хардлайн в засаде
Случай а) потенциально содержит еще один этап: если когда нибудь ты захочешь temporary persistance layer ( чтобы потом все закидывать в DB батчем, то появится еще одно возможное место. В случае б) у тебя есть прe/пост кэш. ‎- туктуктук наноробот
Где ты хочешь платить каждую цену? Или я что то упустил? ‎- туктуктук наноробот
Есть еще возможность делать некоторые операции в оффлайн, и если вдруг пользователь запросил запись которая еще не обработана, то делать обработку inline, и это тоже вариант. Просто интересно, если конечно у тебя есть время. ‎- туктуктук наноробот
Еще, некоторую цену можно платить в браузере. Так будет и с auto-embedding? Тогда и урлификацию можно там делать, это эквивалентно по стоимости. Ну все, сейчас меня съест любопытство. ‎- туктуктук наноробот
@ayoshi: то, что вбивает юзер в форму, без изменений помещается в первичную таблицу постов. При конструировании ривера этот текст урлифицируется и помещается в ривер в соответствующее поле JSON ("text_as_html"). При рендеринге страницы этот HTML помещается на страницу. Я не до конца разобрался, как работает oembed/embed.ly, но у меня ощущение, что их можно активировать скриптом на клиенте (если он этого хочет). Я вообще не до конца понимаю, почему embedly нельзя имплементить в качестве Chrome Extension (причем, такое есть). Видимо, потому что ему нужно сказать, в какой DOM-контейнер запихать видос. ‎- псы в рапиде
^ есть плагин для jquery https://github.com/embedly/embedly-jquery. мне не нравится что он открывает API key, но он работает. Парни из embedly предлагают вот следующее: http://blog.embed.ly/post/45149991032/securing-keys ‎- туктуктук наноробот
аааа, там еще и ключи. ну, значит, на сервере... охренеть у них конечно на блоге скриншоты выглядят. ‎- псы в рапиде

2015-2016 Mokum.place