Changeset 10939
- Timestamp:
- 05/02/08 17:06:43 (5 years ago)
- Files:
-
- 1 modified
-
lang/javascript/userscripts/ldrprefav.user.js (modified) (17 diffs)
Legend:
- Unmodified
- Added
- Removed
-
lang/javascript/userscripts/ldrprefav.user.js
r10432 r10939 24 24 const filters = { 25 25 "FeedBurner - Unburn, raw feeds" : function(f) { 26 var re = /<a(?: [^>]+?)? href=" \s*http:\/\/[^\/]+\/~\w\/[^>]+>[\s\S]+?<\/a>|<img(?: [^>]+?)? src="\s*http:\/\/[^\/]+\/~\w\/[^>]+>(?:<\/img>)?/g;26 var re = /<a(?: [^>]+?)? href="[ \t\r\n]*http:\/\/[^\/]+\/~\w\/[^>]+>[\s\S]+?<\/a>|<img(?: [^>]+?)? src="[ \t\r\n]*http:\/\/[^\/]+\/~\w\/[^>]+>(?:<\/img>)?/g; 27 27 if (! /^http:\/\/feeds\.feedburner\.(?:com|jp)\//.test(f.channel.feedlink) && 28 28 ! (f.items[0] && … … 33 33 foreach(f.items, function(i) { 34 34 i.body = i.body.replace(re, ""); 35 if ((PREFILTER & 8) < 1 || ! truePermalinks[i.link]) return;35 if ((PREFILTER & 1 << 3) < 1 || ! truePermalinks[i.link]) return; 36 36 var link = i.link; 37 37 i.link = truePermalinks[i.link]; … … 46 46 47 47 filter(f.items, function(i) { return i.title.indexOf("AD: ") != 0 }); 48 var re = /<img(?: [^>]+?)? src=" \s*http:\/\/www\.pheedo\.jp\/(?:img\.phdo|feeds\/tracker\.php)\?[^>]+>(?:<\/img>)?/g;48 var re = /<img(?: [^>]+?)? src="[ \t\r\n]*http:\/\/www\.pheedo\.jp\/(?:img\.phdo|feeds\/tracker\.php)\?[^>]+>(?:<\/img>)?/g; 49 49 foreach(f.items, function(i) { 50 50 i.body = i.body.replace(re, ""); 51 if ((PREFILTER & 1 6) < 1 || ! truePermalinks[i.link]) return;51 if ((PREFILTER & 1 << 4) < 1 || ! truePermalinks[i.link]) return; 52 52 var link = i.link; 53 53 i.link = truePermalinks[i.link]; … … 58 58 //filter(f.items, function(i) { return i.author != "rssad.jp" }); 59 59 filter(f.items, function(i) { return i.title.indexOf("PR: ") != 0 }); 60 var re = /<a(?: [^>]+?)? href=" \s*http:\/\/rss\.rssad\.jp\/[^>]+>[\s\S]+?<\/a>|<img(?: [^>]+?)? src="\s*http:\/\/rss\.rssad\.jp\/[^>]+>(?:<\/img>)?/g;60 var re = /<a(?: [^>]+?)? href="[ \t\r\n]*http:\/\/rss\.rssad\.jp\/[^>]+>[\s\S]+?<\/a>|<img(?: [^>]+?)? src="[ \t\r\n]*http:\/\/rss\.rssad\.jp\/[^>]+>(?:<\/img>)?/g; 61 61 foreach(f.items, function(i) { 62 62 i.body = i.body.replace(re, ""); 63 if ((PREFILTER & 32) < 1 || ! truePermalinks[i.link]) return;63 if ((PREFILTER & 1 << 5) < 1 || ! truePermalinks[i.link]) return; 64 64 var link = i.link; 65 65 i.link = truePermalinks[i.link]; … … 75 75 if (f.channel.link != "http://news.nationalgeographic.com") return; 76 76 77 var RE_THMB = /(?=(<img)(?: [^>]+?)?( src=" \s*http:\/\/news\.nationalgeographic\.com\/news\/)(images\/)thumbs\/([^"]+?_)\d+x\d+(\.jpg")[^>]*(>(?:<\/img>)?))/;77 var RE_THMB = /(?=(<img)(?: [^>]+?)?( src="[ \t\r\n]*http:\/\/news\.nationalgeographic\.com\/news\/)(images\/)thumbs\/([^"]+?_)\d+x\d+(\.jpg")[^>]*(>(?:<\/img>)?))/; 78 78 foreach(f.items, function(i) { 79 79 if (i.title.indexOf("VIDEO: ") == 0 || i.title.indexOf("PHOTOS:") > -1) return; … … 115 115 if (! /^http:\/\/[^.]+\.blogspot\.com\//.test(f.channel.link)) return; 116 116 117 var re1 = /(<img(?: [^>]+?)? src=" \s*http:\/\/bp\d\.blogger\.com\/_[^"]+?\/s)\d{1,4}(?=\/[^"]+?\.(?:jpe?g|gif|png)")/ig;117 var re1 = /(<img(?: [^>]+?)? src="[ \t\r\n]*http:\/\/bp\d\.blogger\.com\/_[^"]+?\/s)\d{1,4}(?=\/[^"]+?\.(?:jpe?g|gif|png)")/ig; 118 118 var re2 = /(<img(?: [^>]+?)?) (?:width|height)="\d+"/g; 119 119 foreach(f.items, function(i) { … … 148 148 }, 149 149 "TinyURL - UnTinyURL" : function(f) { 150 if ((PREFILTER & 64) < 1) return;150 if ((PREFILTER & 1 << 6) < 1) return; 151 151 152 152 var re = /http:\/\/(?:preview\.)?tinyurl\.com\/[a-z0-9]+/g; … … 179 179 180 180 var re1 = /\/(?:B(?=log\/)|L(?=ists\/))/g; 181 var re2 = /<img(?: [^>]+?)? src=" \s*http:\/\/c\.(?:services\.spaces\.)?live.com\/(?:CollectionWebService\/)?c\.gif\?[^"]+"[^>]*>(?:<\/img>)?/g;181 var re2 = /<img(?: [^>]+?)? src="[ \t\r\n]*http:\/\/c\.(?:services\.spaces\.)?live.com\/(?:CollectionWebService\/)?c\.gif\?[^"]+"[^>]*>(?:<\/img>)?/g; 182 182 foreach(f.items, function(i) { 183 183 i.link = i.link.replace(re1, function(m) { return m.toLowerCase() }); … … 185 185 }); 186 186 }, 187 "Twitter - Remove insistent username prefixes and body text" : function(f) { 188 var re1 = /^\w+:/; 189 if (f.channel.feedlink.indexOf("http://twitter.com/statuses/user_timeline/") != 0 || 190 ! f.items[0] || ! re1.test(f.items[0].title)) return; 191 192 var re2 = /https?:\/\/[-\w!#$%&'()*+,.\/:;=?@~]+/g; 193 foreach(f.items, function(i) { 194 var body = i.body; 195 i.title = i.title.replace(re1, ""); 196 i.body = ""; 197 while (re2.test(body)) { 198 i.body += '<a href="' + RegExp.lastMatch + '">' + RegExp.lastMatch + "</a> "; 199 } 200 }); 201 }, 202 "Remove bodies same as its title" : function(f) { 203 foreach(f.items, function(i) { if (i.body == i.title) i.body = ""; }); 204 }, 187 205 "CR LF TO BR" : function(f) { 188 206 if (! f.items[0] || /<(?:p|br)[> ]/.test(f.items[0].body)) return; 189 207 190 var re = /(? =\r?\n|\r)/g;191 foreach(f.items, function(i) { 192 i.body = "<p>" + i.body.replace(re, "< p>");208 var re = /(?:\r?\n|\r)+/g; 209 foreach(f.items, function(i) { 210 i.body = "<p>" + i.body.replace(re, "</p><p>") + "</p>"; 193 211 }); 194 212 }, … … 205 223 //i.body = i.body.replace(/<br(?: [^>]+)?>(?:<\/br>)?\s*(?=<br(?: [^>]+)?>(?:<\/br>)?)|(^|<[ap](?: [^>]+)?>|<\/p>)(?:\s+|<br(?: [^>]+)?>(?:<\/br>)?)+|(?:\s+|<br(?: [^>]+)?>(?:<\/br>)?)+(?=$|<\/[ap]>|<p(?: [^>]+)?>)|<a(?: [^>]+)?>(?:\s+|<br(?: [^>]+)?>(?:<\/br>)?)*<\/a>/g, "$1") // BUG? hanged up... 206 224 i.body = i.body.replace(/<br(?: [^>]+)?>(?:<\/br>)?\s*(?=<br(?: [^>]+)?>(?:<\/br>)?)|(^|<[ap](?: [^>]+)?>|<\/p>)(?:\s|<br(?: [^>]+)?>(?:<\/br>)?)+|(?:\s|<br(?: [^>]+)?>(?:<\/br>)?)+(?=$|<\/[ap]>|<p(?: [^>]+)?>)|<a(?: [^>]+)?>(?:\s+|<br(?: [^>]+)?>(?:<\/br>)?)*<\/a>/g, "$1") 207 .replace(/<(p(?:re)? )(?: [^>]+)?>(?:\s|<br(?: [^>]+)?>(?:<\/br>)?)*<\/\1>/g, "");225 .replace(/<(p(?:re)?|div)(?: [^>]+)?>(?:\s|<br(?: [^>]+)?>(?:<\/br>)?)*<\/\1>/g, ""); 208 226 }); 209 227 } … … 213 231 "FeedBurner - Resolve permalink" : function(f) { 214 232 var re = /^http:\/\/[^\/]+\/~r\/[^~]+?\/~\d\//; 215 if ((PREFILTER & 8) < 1 ||233 if ((PREFILTER & 1 << 3) < 1 || 216 234 ! (f.items[0] && re.test(f.items[0].link))) return; 217 235 … … 219 237 }, 220 238 "Pheedo - Resolve permalink" : function(f) { 221 if ((PREFILTER & 1 6) < 1) return;239 if ((PREFILTER & 1 << 4) < 1) return; 222 240 var item; 223 241 for (var i = 0; item = f.items[i++];) … … 231 249 }, 232 250 "RSS Ad - Resolve permalink" : function(f) { 233 if ((PREFILTER & 32) < 1) return;251 if ((PREFILTER & 1 << 5) < 1) return; 234 252 var item; 235 253 for (var i = 0; item = f.items[i++];) … … 243 261 }, 244 262 "TinyURL - Resolve" : function(f) { 245 if ((PREFILTER & 64) < 1) return;263 if ((PREFILTER & 1 << 6) < 1) return; 246 264 247 265 foreach(f.items, function(i) { … … 251 269 }, 252 270 "Flickr - Prefetch thumbnails" : function(f) { // http://userscripts.org/scripts/show/14809 253 if ((PREFILTER & 1 ) < 1 ||271 if ((PREFILTER & 1 << 0) < 1 || 254 272 ! /^http:\/\/(?:api|www)\.flickr\.com\//.test(f.channel.feedlink)) return; 255 273 … … 260 278 }, 261 279 "4U - Prefetch thumbnails" : function(f) { 262 if ((PREFILTER & 2) < 1 ||280 if ((PREFILTER & 1 << 1) < 1 || 263 281 f.channel.feedlink != "http://4u.straightline.jp/rss") return; 264 282 … … 269 287 }, 270 288 "Prefetch Images from secure sites" : function(f) { 271 if ((PREFILTER & 4) < 1) return;289 if ((PREFILTER & 1 << 2) < 1) return; 272 290 var link = f.channel.link; 273 291 if (link.indexOf("http://ffffound.com/") != 0 &&
![(please configure the [header_logo] section in trac.ini)](/share/chrome/site/your_project_logo.png)