Index: locales/en/filter-cheatsheet.json |
=================================================================== |
--- a/locales/en/filter-cheatsheet.json |
+++ b/locales/en/filter-cheatsheet.json |
@@ -48,468 +48,537 @@ |
"message": "This rule blocks:" |
}, |
"s16": { |
+ "message": "http://example.com/banner/foo/img" |
+ }, |
+ "s17": { |
+ "message": "http://example.com/banner/foo/bar/img?param" |
+ }, |
+ "s18": { |
+ "message": "http://example.com/banner//img/foo" |
+ }, |
+ "s19": { |
"message": "This rule doesn't block:" |
}, |
- "s17": { |
+ "s20": { |
+ "message": "http://example.com/banner/img" |
+ }, |
+ "s21": { |
+ "message": "http://example.com/banner/foo/imgraph" |
+ }, |
+ "s22": { |
+ "message": "http://example.com/banner/foo/img.gif" |
+ }, |
+ "s23": { |
"message": "Example 2: Blocking by domain name" |
}, |
- "s18": { |
+ "s24": { |
"message": "Domain name anchor" |
}, |
- "s19": { |
+ "s25": { |
"message": "The following text must be the domain name of the address." |
}, |
- "s20": { |
- "message": "Verbatim text" |
- }, |
- "s21": { |
- "message": "This text must be present in the address to be blocked." |
- }, |
- "s22": { |
- "message": "Separator" |
- }, |
- "s23": { |
+ "s29": { |
"message": "A separator character has to follow that will indicate the end of the domain name, e.g. / or :." |
}, |
- "s24": { |
+ "s30": { |
"message": "||" |
}, |
- "s25": { |
+ "s31": { |
"message": "ads.example.com" |
}, |
- "s26": { |
- "message": "^" |
+ "s34": { |
+ "message": "http://ads.example.com/foo.gif" |
}, |
- "s27": { |
- "message": "This rule blocks:" |
+ "s35": { |
+ "message": "http://server1.ads.example.com/foo.gif" |
}, |
- "s28": { |
- "message": "This rule doesn't block:" |
+ "s36": { |
+ "message": "https://ads.example.com:8000/" |
}, |
- "s29": { |
+ "s38": { |
+ "message": "http://ads.example.com.ua/foo.gif" |
+ }, |
+ "s39": { |
+ "message": "http://example.com/redirect/http://ads.example.com/" |
+ }, |
+ "s40": { |
"message": "Example 3: Blocking exact address" |
}, |
- "s30": { |
+ "s41": { |
"message": "Start anchor" |
}, |
- "s31": { |
+ "s42": { |
"message": "The following text must be the beginning of the address." |
}, |
- "s32": { |
- "message": "Verbatim text" |
- }, |
- "s33": { |
- "message": "This text must be present in the address to be blocked." |
- }, |
- "s34": { |
+ "s45": { |
"message": "End anchor" |
}, |
- "s35": { |
+ "s46": { |
"message": "The preceding text must be the end of the address." |
}, |
- "s36": { |
+ "s47": { |
"message": "|" |
}, |
- "s37": { |
+ "s48": { |
"message": "http://example.com/" |
}, |
- "s38": { |
- "message": "|" |
+ "s53": { |
+ "message": "http://example.com/foo.gif" |
}, |
- "s39": { |
- "message": "This rule blocks:" |
+ "s54": { |
+ "message": "http://example.info/redirect/http://example.com/" |
}, |
- "s40": { |
- "message": "This rule doesn't block:" |
- }, |
- "s41": { |
+ "s55": { |
"message": "Options in blocking rules" |
}, |
- "s42": { |
+ "s56": { |
"message": "Blocking rules can have a number of options to fine-tune their behavior." |
}, |
- "s43": { |
+ "s57": { |
"message": "Address to be blocked" |
}, |
- "s44": { |
+ "s58": { |
"message": "This part of the rule defines which addresses it is applied to." |
}, |
- "s45": { |
+ "s59": { |
"message": "Option separator" |
}, |
- "s46": { |
+ "s60": { |
"message": "This character indicates that the following text defines filter option." |
}, |
- "s47": { |
+ "s61": { |
"message": "Type option" |
}, |
- "s48": { |
+ "s62": { |
"message": "Type options define request types to be blocked. Common type options are" |
}, |
- "s49": { |
- "message": "script" |
- }, |
- "s50": { |
- "message": "or" |
- }, |
- "s51": { |
- "message": "image" |
- }, |
- "s52": { |
- "message": "indicating that only\n scripts/images should be blocked. The inverse type option" |
- }, |
- "s53": { |
- "message": "~script" |
- }, |
- "s54": { |
- "message": "means that the filter should not be applied to scripts." |
- }, |
- "s55": { |
- "message": "Domain option" |
- }, |
- "s56": { |
- "message": "Domain option restricts the filter to a set of domains (here" |
- }, |
- "s57": { |
- "message": "example.com" |
- }, |
- "s58": { |
- "message": ").\n It also allows to disable the rule on dome domains (here on" |
- }, |
- "s59": { |
- "message": "foo.example.com" |
- }, |
- "s60": { |
- "message": ")." |
- }, |
- "s61": { |
- "message": "||ads.example.com^" |
- }, |
- "s62": { |
- "message": "$" |
- }, |
"s63": { |
"message": "script" |
}, |
"s64": { |
- "message": "," |
+ "message": "or" |
}, |
"s65": { |
"message": "image" |
}, |
"s66": { |
+ "message": "indicating that only scripts/images should be blocked. The inverse type option" |
+ }, |
+ "s67": { |
+ "message": "~script" |
+ }, |
+ "s68": { |
+ "message": "means that the filter should not be applied to scripts." |
+ }, |
+ "s69": { |
+ "message": "Domain option" |
+ }, |
+ "s70": { |
+ "message": "Domain option restricts the filter to a set of domains (here" |
+ }, |
+ "s71": { |
+ "message": "example.com" |
+ }, |
+ "s72": { |
+ "message": "). It also allows to disable the rule on dome domains (here on" |
+ }, |
+ "s73": { |
+ "message": "foo.example.com" |
+ }, |
+ "s74": { |
+ "message": ")." |
+ }, |
+ "s75": { |
+ "message": "||ads.example.com^" |
+ }, |
+ "s76": { |
+ "message": "$" |
+ }, |
+ "s78": { |
"message": "," |
}, |
- "s67": { |
+ "s81": { |
"message": "domain=example.com|~foo.example.info" |
}, |
- "s68": { |
+ "s82": { |
"message": "This rule blocks" |
}, |
- "s69": { |
+ "s84": { |
"message": "only if the following conditions are met:" |
}, |
- "s70": { |
+ "s85": { |
"message": "This address is being loaded as a script or an image." |
}, |
- "s71": { |
+ "s86": { |
"message": "The page loading it comes from" |
}, |
- "s72": { |
+ "s88": { |
"message": "domain (for example" |
}, |
- "s73": { |
- "message": "itself\n or" |
+ "s90": { |
+ "message": "itself or" |
}, |
- "s74": { |
+ "s91": { |
+ "message": "subdomain.example.com" |
+ }, |
+ "s92": { |
"message": ") but not from" |
}, |
- "s75": { |
+ "s94": { |
"message": "or its subdomains." |
}, |
- "s76": { |
+ "s95": { |
"message": "Exception rules" |
}, |
- "s77": { |
+ "s96": { |
"message": "Exception rules are built the same as blocking rules, they define which addresses should be allowed even if matching blocking rules exists." |
}, |
- "s78": { |
+ "s97": { |
"message": "Example 1: Exception for particular requests" |
}, |
- "s79": { |
+ "s98": { |
"message": "Exception rule" |
}, |
- "s80": { |
+ "s99": { |
"message": "Rules starting like this are exceptions, they will override blocking rules." |
}, |
- "s81": { |
+ "s100": { |
"message": "Address to be allowed" |
}, |
- "s82": { |
+ "s101": { |
"message": "This part of the rule defines which addresses it is applied to, it is structured the same as for <a>blocking rules</a>." |
}, |
- "s83": { |
- "message": "Type option" |
- }, |
- "s84": { |
+ "s103": { |
"message": "This type option prevents the exception from being applied to scripts." |
}, |
- "s85": { |
+ "s104": { |
"message": "@@" |
}, |
- "s86": { |
+ "s105": { |
"message": "||ads.example.com/notbanner^" |
}, |
- "s87": { |
- "message": "$" |
- }, |
- "s88": { |
- "message": "~script" |
- }, |
- "s89": { |
+ "s108": { |
"message": "Example 2: Exception for an entire site" |
}, |
- "s90": { |
- "message": "Exception rule" |
- }, |
- "s91": { |
- "message": "Rules starting like this are exceptions, they will override blocking rules." |
- }, |
- "s92": { |
- "message": "Address to be allowed" |
- }, |
- "s93": { |
- "message": "This part of the rule defines which addresses it is applied to, it is structured the same as for <a>blocking rules</a>." |
- }, |
- "s94": { |
- "message": "Type option" |
- }, |
- "s95": { |
+ "s114": { |
"message": "This special type option indicates that Adblock Plus should be completely disabled on pages that this rule applies to." |
}, |
- "s96": { |
- "message": "@@" |
- }, |
- "s97": { |
+ "s116": { |
"message": "||example.com^" |
}, |
- "s98": { |
- "message": "$" |
- }, |
- "s99": { |
+ "s118": { |
"message": "document" |
}, |
- "s100": { |
+ "s119": { |
"message": "Comments" |
}, |
- "s101": { |
+ "s120": { |
"message": "Comment" |
}, |
- "s102": { |
+ "s121": { |
"message": "An exclamation mark at the beginning of the rule indicates a comment." |
}, |
- "s103": { |
+ "s122": { |
"message": "Comment text" |
}, |
- "s104": { |
+ "s123": { |
"message": "This text will not be used for blocking, you can write anything you want." |
}, |
- "s105": { |
+ "s124": { |
"message": "!" |
}, |
- "s106": { |
+ "s125": { |
"message": "This is a comment" |
}, |
- "s107": { |
+ "s126": { |
"message": "Filter options" |
}, |
- "s108": { |
+ "s127": { |
"message": "Option" |
}, |
- "s109": { |
+ "s128": { |
"message": "Purpose" |
}, |
- "s110": { |
+ "s129": { |
"message": "Types" |
}, |
- "s111": { |
+ "s132": { |
"message": "Include or exclude JavaScript files" |
}, |
- "s112": { |
+ "s134": { |
+ "message": "~image" |
+ }, |
+ "s135": { |
"message": "Include or exclude image files" |
}, |
- "s113": { |
+ "s136": { |
+ "message": "stylesheet" |
+ }, |
+ "s137": { |
+ "message": "~stylesheet" |
+ }, |
+ "s138": { |
"message": "Include or exclude stylesheets (CSS files)" |
}, |
- "s114": { |
+ "s139": { |
+ "message": "object" |
+ }, |
+ "s140": { |
+ "message": "~object" |
+ }, |
+ "s141": { |
"message": "Include or exclude content handled by browser plugins like Flash or Java" |
}, |
- "s115": { |
+ "s142": { |
+ "message": "object-subrequest" |
+ }, |
+ "s143": { |
+ "message": "~object-subrequest" |
+ }, |
+ "s144": { |
"message": "Include or exclude files loaded by browser plugins" |
}, |
- "s116": { |
+ "s145": { |
+ "message": "subdocument" |
+ }, |
+ "s146": { |
+ "message": "~subdocument" |
+ }, |
+ "s147": { |
"message": "Include or exclude pages loaded within pages (frames)" |
}, |
- "s117": { |
+ "s148": { |
"message": "Exceptions" |
}, |
- "s118": { |
+ "s150": { |
"message": "Used to whitelist the page itself (e.g." |
}, |
- "s119": { |
+ "s151": { |
+ "message": "@@||example.com^$document" |
+ }, |
+ "s152": { |
"message": ")" |
}, |
- "s120": { |
+ "s153": { |
+ "message": "elemhide" |
+ }, |
+ "s154": { |
"message": "Used to prevent element rules from applying on a page (e.g." |
}, |
- "s121": { |
- "message": ")" |
+ "s155": { |
+ "message": "@@||example.com^$elemhide" |
}, |
- "s122": { |
+ "s157": { |
"message": "Domains" |
}, |
- "s123": { |
+ "s158": { |
+ "message": "domain=" |
+ }, |
+ "s159": { |
"message": "Specify a list of domains, separated by bar lines (|), on which a filter should be active. A filter may be prevented from being activated on a domain by preceding the domain name with a tilde (~)." |
}, |
- "s124": { |
+ "s160": { |
+ "message": "third-party" |
+ }, |
+ "s161": { |
+ "message": "~third-party" |
+ }, |
+ "s162": { |
"message": "Specify whether a filter should be active on third-party or first domains" |
}, |
- "s125": { |
+ "s163": { |
"message": "Less frequently used options, including" |
}, |
- "s126": { |
- "message": "," |
+ "s164": { |
+ "message": "dtd" |
}, |
- "s127": { |
- "message": "," |
+ "s166": { |
+ "message": "ping" |
}, |
- "s128": { |
- "message": "," |
+ "s168": { |
+ "message": "xbl" |
}, |
- "s129": { |
- "message": "," |
+ "s170": { |
+ "message": "xmlhttprequest" |
}, |
- "s130": { |
- "message": "," |
+ "s172": { |
+ "message": "other" |
}, |
- "s131": { |
- "message": "," |
+ "s174": { |
+ "message": "collapse" |
}, |
- "s132": { |
+ "s176": { |
+ "message": "donottrack" |
+ }, |
+ "s177": { |
"message": "and" |
}, |
- "s133": { |
+ "s178": { |
+ "message": "match-case" |
+ }, |
+ "s179": { |
"message": "are explained in the <a>full documentation</a>." |
}, |
- "s134": { |
+ "s180": { |
"message": "Element hiding" |
}, |
- "s135": { |
+ "s181": { |
"message": "It is generally recommended that users install the <a>Element Hiding Helper for Adblock Plus</a> to assist them in the generation of element hiding rules." |
}, |
- "s136": { |
+ "s182": { |
"message": "Domain selection" |
}, |
- "s137": { |
+ "s183": { |
+ "message": "##selector" |
+ }, |
+ "s184": { |
"message": "is used as a placeholder for <a>element selectors</a>." |
}, |
- "s138": { |
+ "s185": { |
"message": "Example rules" |
}, |
- "s139": { |
- "message": "Domain selection" |
- }, |
- "s140": { |
+ "s188": { |
"message": "Active on:" |
}, |
- "s141": { |
+ "s189": { |
"message": "All domains, including:" |
}, |
- "s142": { |
+ "s191": { |
+ "message": "https://example.net/" |
+ }, |
+ "s192": { |
+ "message": "ftp://example.edu/" |
+ }, |
+ "s193": { |
"message": "Not active on:" |
}, |
- "s143": { |
+ "s194": { |
"message": "Not applicable" |
}, |
- "s144": { |
+ "s195": { |
+ "message": "example.com##selector" |
+ }, |
+ "s196": { |
"message": "Active on, for example:" |
}, |
- "s145": { |
- "message": "Not active on:" |
+ "s198": { |
+ "message": "ftp://subdomain.example.com/" |
}, |
- "s146": { |
+ "s200": { |
"message": "All other domains, including" |
}, |
- "s147": { |
- "message": "Active on:" |
+ "s201": { |
+ "message": "http://example.edu/" |
}, |
- "s148": { |
- "message": "All other domains, including" |
+ "s202": { |
+ "message": "ftp://example.net/" |
}, |
- "s149": { |
+ "s203": { |
+ "message": "~example.com##selector" |
+ }, |
+ "s208": { |
"message": "Not active on, for example:" |
}, |
- "s150": { |
- "message": "Active on, for example:" |
+ "s211": { |
+ "message": "example.com,example.edu##selector" |
}, |
- "s151": { |
- "message": "Not active on:" |
+ "s214": { |
+ "message": "https://subdomain.example.com/" |
}, |
- "s152": { |
+ "s217": { |
"message": "All other domains, including:" |
}, |
- "s153": { |
- "message": "Active on:" |
+ "s218": { |
+ "message": "http://example.net/" |
}, |
- "s154": { |
- "message": "Not active on:" |
+ "s219": { |
+ "message": "example.com,~mail.example.com#selector" |
}, |
- "s155": { |
+ "s222": { |
+ "message": "https://adverts.example.com/" |
+ }, |
+ "s223": { |
+ "message": "ftp://subdomain.example.edu/" |
+ }, |
+ "s225": { |
+ "message": "http://mail.example.com/" |
+ }, |
+ "s226": { |
"message": "All other domains" |
}, |
- "s156": { |
+ "s227": { |
"message": "Element selection" |
}, |
- "s157": { |
+ "s228": { |
"message": "Selector" |
}, |
- "s158": { |
- "message": "Purpose" |
+ "s230": { |
+ "message": "###advert" |
}, |
- "s159": { |
+ "s231": { |
"message": "Matches the element with the unique id \"advert\"" |
}, |
- "s160": { |
+ "s232": { |
+ "message": "##.advert" |
+ }, |
+ "s233": { |
"message": "Matches elements with the class \"advert\"" |
}, |
- "s161": { |
+ "s234": { |
+ "message": "##table[height=\"100\"][width=\"100\"]" |
+ }, |
+ "s235": { |
"message": "Matches a table with a height of 100 and a width of 100" |
}, |
- "s162": { |
+ "s236": { |
+ "message": "##a[href=\"http://example.com/\"]" |
+ }, |
+ "s237": { |
"message": "Matches links to http://example.com/" |
}, |
- "s163": { |
+ "s238": { |
+ "message": "##div[style=\"width:300px;height:250px;\"]" |
+ }, |
+ "s239": { |
"message": "Matches div elements that have exactly the style specified" |
}, |
- "s164": { |
+ "s240": { |
+ "message": "###advert > .link" |
+ }, |
+ "s241": { |
"message": "Matches elements with the class \"link\" that are enclosed within elements with the id \"advert\"" |
}, |
- "s165": { |
+ "s242": { |
+ "message": "###advert + .link" |
+ }, |
+ "s243": { |
"message": "Matches elements with the class \"link\" that are immediately preceded by elements with the id \"advert\"" |
}, |
- "s166": { |
+ "s244": { |
+ "message": "##a[href^=\"http://example.com/\"]" |
+ }, |
+ "s245": { |
"message": "Matches links to any pages hosted on http://example.com/" |
}, |
- "s167": { |
+ "s246": { |
+ "message": "##div[style^=\"width:300px;height:250px;\"]" |
+ }, |
+ "s247": { |
"message": "Matches div elements that start with the style specified" |
}, |
- "s168": { |
+ "s248": { |
+ "message": "##div[style$=\"width:300px;height:250px;\"]" |
+ }, |
+ "s249": { |
"message": "Matches div elements that end the style specified" |
}, |
- "s169": { |
+ "s250": { |
+ "message": "##div[style*=\"width:300px;height:250px;\"]" |
+ }, |
+ "s251": { |
"message": "Matches div elements that containing the style specified" |
}, |
- "s170": { |
+ "s252": { |
"message": "The above filters are only examples of valid element hiding rules. Any <a>CSS selector</a> supported by Firefox can be used for element hiding." |
} |
} |