# twitter-tweet
@before(<iframe>, \
src, ".//a[starts-with(@href, \"https://twitter.com/\")][contains(@href, \"/status/\") or contains(@href, \"/statuses/\")]/@href", \
class, "twitter-tweet" \
): $body//blockquote[has-class("twitter-tweet")]
@remove
# twitter-video
@before(<iframe>, \
src, ".//a[starts-with(@href, \"https://twitter.com/\")][contains(@href, \"/status/\") or contains(@href, \"/statuses/\")]/@href", \
class, "twitter-video" \
): $body//blockquote[has-class("twitter-video")]
@remove
# facebook post
$fb_post: $body//div[has-class("fb-post")][@data-href]
@urlencode: $fb_post/@data-href
@set_attr(data-src, "https://www.facebook.com/plugins/post.php?href=", @data-href, "&show_text=", @data-show-text, "&width=640"): $fb_post
@before(<iframe>, src, @data-src, class, "fb-post"): $fb_post
@remove
# facebook video
$fb_video: $body//div[has-class("fb-video")][@data-href]
@urlencode: $fb_video/@data-href
@set_attr(data-src, "https://www.facebook.com/plugins/video.php?href=", @data-href, "&show_text=", @data-show-text, "&width=640"): $fb_video
@before(<iframe>, src, @data-src, class, "fb-video"): $fb_video
@remove
# aparat
$aparat_video: $body//script[starts-with(@src, "https://www.aparat.com/embed/")]
@set_attr(data-hash, @src)
@match("^https://www.aparat.com/embed/([^?]+)", 1): $@
@set_attr(data-src, "https://www.aparat.com/video/video/embed/videohash/", @data-hash, "\\/vt/frame"): $aparat_video
@before(<iframe>, src, @data-src, class, "aparat"): $aparat_video
@remove
# instagram
@before(<iframe>, \
src, ".//a[contains(@href, \"instagram.com/p/\")]/@href", \
class, "instagram" \
): $body//blockquote[has-class("instagram-media")]
@remove
# github
<iframe>: $body//script[starts-with(@src,"https://gist.github.com/")]
# telegram
$tg_post: $body//*[self::script or self::blockquote][@data-telegram-post]
@set_attr(data-src, "https://t.me/", @data-telegram-post, "?embed=1"): $tg_post
@set_attr(data-src, @data-src, "&userpic=", @data-userpic): $tg_post[@data-userpic]
@set_attr(data-src, @data-src, "&single=1"): $tg_post[@data-single]
@before(<iframe>, src, @data-src, class, "telegram-post"): $tg_post
@remove
https://telegra.ph/embed/youtube?url=https://www.youtube.com/watch?v=HpXHdegMTtw
https://telegra.ph/embed/twitter?url=https://twitter.com/norimyxxxo/status/1460182801794404357
Если break нет, то выполнение пойдёт ниже по следующим case, при этом остальные проверки игнорируются.
Конечно, это же куча опытных разработчиков, которые много лет пилят V8, допустили такой "баг".
for (let i = 0; i < 3; i++) { // выведет 0, затем 1, затем 2
console.log(i);
}
for (let i = 0; i < 3; i++) {
console.log(i);
if (i = 3) {
break;
}
}
Есть онлайн сервисы по подбору пароля по его хешу.
И да, хорошую статью написать гораздо сложнее, чем записать видос. Занимался и тем и тем. Статью ты обдумываешь и редактируешь, а в видосе просто болтаешь.