Слушайте, я понимаю, что это мелочно, но если кто-то действительно хочет гемифицировать урлификатор — это было бы прямо круто. Там вообще довольно много всяких вещей надо сделать по-хорошему — например, тесты. #mokum-dev
для нужд Мокума (а также на самом деле всех) нужно сделать две вещи — callback для выяснения, какие атрибуты надо доставить на <a> — требуется как минимум target=_blank и rel="nofollow", в зависимости от того, чей текст мы парсим; а также нужно сделать коллбэк для специфических синтаксисов, типа поддержки собака-юзернеймов. ‎· псы в рапиде
также надо все же сделать опцию для обработки facebook.com, давайте признаем этот факт. ‎· псы в рапиде
Всё что есть — в том gist? Или у тебя где-то тест кейсы лежат ещё? ‎· и без тоски ль я
ебать вы звери ‎· всё это хуйня
это гипербола. вместо "мимими, зверёк" ‎· оселъ на чучело
Почти все в том гисте. Есть еще несколько кейсов, но они сугубо вторичны по отношению к этому. ‎· псы в рапиде
подтверди README, пожалуйста, и человек сделает остальное. ‎· и без тоски ль я
Как насчет поддержки embed.ly прямо из урлификатора? Нужен коллбэк на полную замену найденого URL, а не просто атрибуты для <а> ‎· snowflake herder
а) 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 :) На самом деле, вполне восхищаемся ‎· Count Caturday
Круто вы геймифицировали! ‎· toro de lidia
@squadette - в смысле unobtrusively? где то тебе придется заменить URL на его <embed code>. Скажем ты задетектил линк на youtube, ты его хочешь поменять на embedding. Может быть в другом месте? тогда ты просто проделаешь две замены . Или я чего то не понял? Расскажи, интересно. ‎· snowflake herder
Я об этом, например думаю примерно так: У тебя потенциально есть несколько трансформ на двух этапах: а) После POST/PUT б) Перед GET ( лучше наверное даже перед помещением в кэш, чтобы не платить цену трансформации для каждого клиента, хотя некоторые фичи потребуют трансфомации после кэша). Трансформы примерно следующие ( с заделом на будущее и поддержкой маркапов ): 1) HTML Sanitization 2) Markup->HTML conversion ( включая урлификацию, это в принципе implicit markup 3) URL Autoembedding ( авоматически подменить юрл с youtube на ембед код, если пользователь вставил линк.) Где то тебе придется заплатить каждую цену как минимум по разу, в зависимости от того как ты решишь хранить данные. ‎· snowflake herder
^^^^^ — поставил звёздочку! ‎· адский хардлайн в засаде
Случай а) потенциально содержит еще один этап: если когда нибудь ты захочешь temporary persistance layer ( чтобы потом все закидывать в DB батчем, то появится еще одно возможное место. В случае б) у тебя есть прe/пост кэш. ‎· snowflake herder
Где ты хочешь платить каждую цену? Или я что то упустил? ‎· snowflake herder
Есть еще возможность делать некоторые операции в оффлайн, и если вдруг пользователь запросил запись которая еще не обработана, то делать обработку inline, и это тоже вариант. Просто интересно, если конечно у тебя есть время. ‎· snowflake herder
Еще, некоторую цену можно платить в браузере. Так будет и с auto-embedding? Тогда и урлификацию можно там делать, это эквивалентно по стоимости. Ну все, сейчас меня съест любопытство. ‎· snowflake herder
@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 ‎· snowflake herder
аааа, там еще и ключи. ну, значит, на сервере... охренеть у них конечно на блоге скриншоты выглядят. ‎· псы в рапиде