User avatar

Публикуем исходники Мокума (не все): https://gist.github.com/squadette/a0a115f14087921ec3c9 прошу прощения за конский if там. понятно, что надо рефакторить. Update: переехали на Linkhum.parse() #mokum-dev

Comment

http://slashdot.org/, http://lwn.net/ и другие. может быть, http://opensource.org/?

 ‎· псы в рапиде
Comment

есть такой фильм: https://en.wikipedia.org/wiki/Hours_(2013_film) но просто в скобках все работает (https://www.youtube.com/watch?v=Q9Dv4Hmf_O8)

 ‎· псы в рапиде
Comment

https://пивбар-хмель.рф/ о, кстати

 ‎· псы в рапиде
Comment

http://www.booking.com/searchresults.html?sid=79b5eeb441120b08fcd3ebe467b0a0b8;dcid=1;bb_asr=2&class_interval=1&csflt={}&dest_id=-2167973&dest_type=city&dtdisc=0&group_adults=2&group_children=0&hlrd=0&hyb_red=0&idf=1&inac=0&nha_red=0&no_rooms=1&offset=0&redirected_from_city=0&redirected_from_landmark=0&redirected_from_region=0&review_score_group=empty&score_min=0&si=ai,co,ci,re,di&src=index&ss=Lisbon, Lisbon Region, Portugal&ss_all=0&ss_raw=Lisbon&ssb=empty&sshis=0&

 ‎· псы в рапиде
Comment

http://squadette.ru/foo?bar=1&baz=2 амперсенды в урле

 ‎· псы в рапиде
Comment

XSS: http://example.com/foo?">here.</a><script>window.alert("wow");</script>

 ‎· псы в рапиде
Comment

попроще, для проверки: <script>window.alert('wow');</script>

 ‎· псы в рапиде
Comment

пойду на http://lurkmore.to/!

 ‎· псы в рапиде
Comment

ты вот говоришь "зайди на http://google.com/", как будто это что-то плохое! (этот кейс кстати мне душу выел)

 ‎· псы в рапиде
Comment

@alice, привет! но при этом: https://medium.com/@alice

 ‎· псы в рапиде
Comment

http://mokum.ru/about открывается в том же окне

 ‎· псы в рапиде
Comment

одинокий http://

 ‎· псы в рапиде
Comment

айпишники: http://127.0.0.1:3000/

 ‎· псы в рапиде
Comment

вот это вообще жесть: http://wow%%%%%ddd

 ‎· псы в рапиде
Comment

https://ru.wikipedia.org/wiki/Эффект_Даннинга_—_Крюгера

 ‎· псы в рапиде
Comment

но при этом если скопировать предыдущий урл из окна браузера, то получаем: https://ru.wikipedia.org/wiki/Эффект_Даннинга_—_Крюгера

 ‎· псы в рапиде
Comment

^ следовало бы раскодировать для целей представления [Update: 08.11.2015: раскодировано :)]

 ‎· псы в рапиде
Comment

uri = Addressable::URI.parse("http://www.詹姆斯.com/"), что уж там

 ‎· псы в рапиде
Comment

какие еще мы знаем кейсы?

 ‎· псы в рапиде
Comment

Для целей представления его неплохо статусбар раскодирует, в принципе. chrome://settings

 ‎· Count Caturday
Comment

не, понятно, что в статус-баре видно. но и в тексте должно быть видно.

 ‎· псы в рапиде
Comment

^^ не, обрабатывается только http/https. надо бы сделать mailto и ftp, потому что мы пожилые люди.

 ‎· псы в рапиде
Comment

а по :// выделять подозреваемых сильно затейливо получается?

 ‎· Count Caturday
Comment

а) есть много неиерархических схем. то есть какой-нибудь magnet:?xt=urn:sha1:YNCKHTQCWBTRNJIV4WNAE52SJUQCZO5C в принципе можно сделать whitelist известных схем.

 ‎· псы в рапиде
Comment

Так и до интентов можно добраться. Типа foursquare://mylovelypub.

 ‎· blackout drunk
Comment

^ ну вот я-то как раз был бы рад поддерживать такие интеграции. itunes, например. а есть примеры такого для форсквера?

 ‎· псы в рапиде
Comment

"It's said that Magdalen College's deer were reclassified as 'vegetables' (on the grounds they are herbivores) during WWII to avoid appropriation by the Ministry of Food." [http://www.visitoxfordandoxfordshire.com/be-inspired/Traditions-and-triva.aspx]

 ‎· Taivo Lints
Comment

анкоры: https://github.com/octopress/ink#usage

 ‎· псы в рапиде
Comment

Fictious examples of the literal IPv6 address format in URL's syntax from the RFC 2732 (https://www.ietf.org/rfc/rfc2732.txt): http://[FEDC:BA98:7654:3210:FEDC:BA98:7654:3210]:80/index.html, http://[1080:0:0:0:8:800:200C:417A]/index.html, http://[3ffe:2a00:100:7031::1], http://[1080::8:800:200C:417A]/foo, http://[::192.9.5.5]/ipng, http://[::FFFF:129.144.52.38]:80/index.html, http://[2010:836B:4179::836B:4179].

 ‎· Taivo Lints
Comment

^ да за standards compliant я не беспокоюсь. меня скорее интересуют человеческие кейсы

 ‎· псы в рапиде
Comment

немножко более человеческий вариант: "Привычный loopback адрес http://127.0.0.1, да, но это так только в IPv4 — в IPv6 это http://[::1].". но да, в общем IPv6 пока ещё не так актуален.

 ‎· Taivo Lints
Comment

@squadette Android и сам понимает, что может ссылку в приложении открыть (если оно установлено, конечно), а вот iOS хочет URL scheme для application specific links. Краткий список вот тут есть http://pureoxygenlabs.com/10-app-url-schemes-for-marketers/. Но овчинка выделки по-моему не стоит. Намного интереснее выглядит тема с embedded видосами из YouTube и фоточками из Instagram. Ну и далее по тексту: твиты-швиты, фб-посты и т.д.

 ‎· blackout drunk
Comment

http://wow%%%%%ddd а что это вообще?

 ‎· liquidgold
Comment

@liquidgold это попытка сломать систему. и она удалась — мне пришлось писать исправление для этого случая.

 ‎· псы в рапиде
Comment

я не поняла, а почему тогда оно подсвечено?

 ‎· liquidgold
Comment

ну я не говорил, что все кейсы верны. собираем weirdness пока, потом будем править.

 ‎· псы в рапиде
Comment

market://search?q=pname:com.example.package market://details?id=com.example.package — (это ссылки на андроидные маркеты, амазон или гуглеплей).

 ‎· адский хардлайн в засаде
Comment

https://www.dropbox.com/s/fh0y9zarr8h4pup/Screen Shot 2015-06-25 at 12.41.20.png?dl=0 – при том, что урл валидный! (google "poopla" for proofs) Но я планирую это пережить.

 ‎· zrslv
Comment

EMOJI не поддерживаются пока. Я думаю об этом, это просто технически, но мне надо еще подумать. стандартная ссылка: http://instagram-engineering.tumblr.com/post/118304328152/emojineering-part-2-implementing-hashtag-emoji

 ‎· псы в рапиде
Comment

Надо URL-парсер уже в гем выделять.

 ‎· blackout drunk
Comment

о, интересно, а такое как будет, в телеграме выделяется ссылкой и БЕСИТ DNS:*.example.com

 ‎· адский хардлайн в засаде
Comment

А скайпобаг, интересно, как себя будет чувствовать http://:

 ‎· Count Caturday
Comment

лол, прикольно.

 ‎· псы в рапиде
Comment

http://mokumRru/ - unescaped dot in regex, link opens in the same window

 ‎· godegisel
Comment

^ nice catch.

 ‎· псы в рапиде
Comment

HTTP://GOOGLE.COM

 ‎· godegisel
Comment

^ An implementation should accept uppercase letters as equivalent to lowercase in scheme names (e.g., allow "HTTP" as well as "http") for the sake of robustness but should only produce lowercase scheme names for consistency. Спасибо!

 ‎· псы в рапиде
Comment

//google.com/?q=mokum - пример network-path reference (RFC 3986 - 4.2. Relative Reference), который, впрочем, вряд ли стоит url-фицировать...

 ‎· godegisel
Comment

^ да, здесь речь про human-readable парсинг. есть очевидный вопрос, нужно ли детектить facebook.com, но мне кажется, что это кривая дорожка: https://mokum.ru/liquidgold/2259

 ‎· псы в рапиде
Comment

так, исправил а) скайпобаг б) uppercase; в) точку в регексе.

 ‎· псы в рапиде
Comment

А http://заквасочка.com.ua норм?

 ‎· просто варежка
Comment

http://yandex.jobs

 ‎· а ×
Comment

^ без http:// работать полюбасу не будет, см. выше.

 ‎· псы в рапиде
Comment

ок!

 ‎· а ×
Comment

www.cnn.com, www.hui.voine/ тоже по идее должно определяться.

 ‎· for hysterical raisins
Comment

LinkHum.urlify('ftp://mirror.yandex.ru/centos/') # => "<a href='ftp://mirror.yandex.ru/centos/'>ftp://mirror.yandex.ru/centos/</a>"

 ‎· просто варежка
Comment

переехали на linkhum. (временно откатили, завтра переедем)

 ‎· псы в рапиде
Comment

битый (специально) URL-encoding: https://yandex.ru/search/?text=%D1%80%D1%83%D1%81%D1%81%D0%B\A%D0%B8%D0%B9%20%D0%BF%D0%BE%D0%B8%D1%81%D0%BA&redircnt=1446932001.1

 ‎· псы в рапиде

1 2 3 4 5 6 7 8 9 10