helbvtynec
Full Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Модификация оригинального фильтра для tumblr. Поддерживает оба стиля Url и добавляет показ галереей текстовых постов. Код: { "Tumblr": { "useimg": 1, "link": "(?:tumblr\\.com\\/)?((?<=tumblr\\.com\\/)[^/]{4,70}|[^/]{4,70}(?=\\/image|\\/post))(?:\\/image|\\/post)?\\/(\\d{8,18})\\/[\\w-]+(?:[?#].+)?", "url": "https://api.tumblr.com/v2/blog/$1/posts?id=$2&filter=raw&api_key=4AjWu4k7xrMxAqiJjppAHatW1QLQGxZ2NKo2XdTlcov4i8qZuw", "res": ":\n$._ = JSON.parse($._)\nif ($._.meta.status != 200)\n\treturn null\n$ = $._.response.posts[0];\nvar t = $.caption || $.summary || '';\nswitch ($.type) {\ncase 'photo':\n\treturn $.photos.map( (x, i) => {\n\t\tvar c = x.caption || '';\n\t\treturn [x.alt_sizes[0].url, (!i && t ? (c ? '[' + t + '] ' : t) : '') + c]\n\t});\n\tbreak;\ncase 'text':\n\tvar urls = [...$.body.matchAll(/ srcset=\\\\?\"([^\\\\\"]+)\\\\?\"/gi)];\n\tif (urls.length) {\n\t\treturn urls.map(x => {\n\t\t\tlet a = x[1].split(/ \\d+w,? ?/);\n\t\t\treturn [a[a.length-2], t]\n\t\t});\n\t} else {\n\t\turls = [...$.body.matchAll(/img.+?src=\\\\?\"([^\\\\\"]+)\\\\?\"/gi)];\n\t\treturn urls.length ? urls.map(x => [x[1], t]) : !1\n\t}\n\tbreak;\ncase 'video':\n\tif ($.video_url)\n\t\treturn [$.video_url, t]\n\telse if ($.permalink_url)\n\t\treturn {loop: $.permalink_url}\n}\nreturn !1", "img": "^(?:((?:\\d\\d\\.)?media)|data)(\\.tumblr\\.com/(?:[\\da-f]{32}/)?tumblr_\\w+_)((?:\\d{2,4}|raw)\\.(?!gif)|frame\\d*\\.jpg)", "to": ":\nreturn $[4][0]=='f' ? 'vt'+$[2]+'.mp4' : '//'+($[1]||'78.media')+$[2]+'#1280 500 400#.'" } } | Если надо чтобы на урезанном адресе, заканчивающемся цифрами, срабатывало, в линке можно после {8,18}) хвост удалить, если так же в низах правило будет. |