Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(4700)

Unified Diff: chrome/common/extensions/docs/server2/templates/articles/match_patterns.html

Issue 10832042: Extensions Docs Server: Doc conversion script (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: everything but svn stuff Created 8 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/common/extensions/docs/server2/templates/articles/match_patterns.html
diff --git a/chrome/common/extensions/docs/server2/templates/articles/match_patterns.html b/chrome/common/extensions/docs/server2/templates/articles/match_patterns.html
new file mode 100644
index 0000000000000000000000000000000000000000..d0b5cb06ce8e81899c5ccc2fb80f1b47da217e9e
--- /dev/null
+++ b/chrome/common/extensions/docs/server2/templates/articles/match_patterns.html
@@ -0,0 +1,261 @@
+<h1>Match Patterns</h1>
+
+<p>
+<a href="content_scripts.html">Content scripts</a> operate on
+a set of URLs defined by match patterns.
+You can put one or more match patterns
+in the <code>"matches"</code> part of
+a content script's section of the manifest,
+as well as in the <code>"exclude_matches"</code> section.
+This page describes the match pattern syntax &mdash;
+the rules you need to follow when you specify
+which URLs your content script affects.
+</p>
+
+<p>
+A match pattern is essentially a URL
+that begins with a permitted scheme (<code>http</code>,
+<code>https</code>, <code>file</code>, <code>ftp</code>, or
+<code>chrome-extension</code>),
+and that can contain '<code>*</code>' characters.
+The special pattern
+<code>&lt;all_urls&gt;</code> matches any URL
+that starts with a permitted scheme.
+Each match pattern has 3 parts:</p>
+</p>
+
+<ul>
+ <li> <em>scheme</em> &mdash;
+ for example, <code>http</code> or <code>file</code>
+ or <code>*</code>
+ <p class="note">
+ <b>Note:</b>
+ Access to <code>file</code> URLs isn't automatic.
+ The user must visit the extensions management page
+ and opt in to <code>file</code> access for each extension that requests it.
+ </p>
+ </li>
+ <li> <em>host</em> &mdash;
+ for example, <code>www.google.com</code>
+ or <code>*.google.com</code>
+ or <code>*</code>;
+ if the scheme is <code>file</code>,
+ there is no <em>host</em> part
+ </li>
+ <li> <em>path</em> &mdash;
+ for example, <code>/*</code>, <code>/foo* </code>,
+ or <code>/foo/bar </code>
+ </li>
+</ul>
+
+<p>Here's the basic syntax:</p>
+
+<pre>
+<em>&lt;url-pattern&gt;</em> := <em>&lt;scheme&gt;</em>://<em>&lt;host&gt;</em><em>&lt;path&gt;</em>
+<em>&lt;scheme&gt;</em> := '*' | 'http' | 'https' | 'file' | 'ftp' | 'chrome-extension'
+<em>&lt;host&gt;</em> := '*' | '*.' <em>&lt;any char except '/' and '*'&gt;</em>+
+<em>&lt;path&gt;</em> := '/' <em>&lt;any chars&gt;</em>
+</pre>
+
+<p>
+The meaning of '<code>*</code>' depends on whether
+it's in the <em>scheme</em>, <em>host</em>, or <em>path</em> part.
+If the <em>scheme</em> is <code>*</code>,
+then it matches either <code>http</code> or <code>https</code>.
+If the <em>host</em> is just <code>*</code>,
+then it matches any host.
+If the <em>host</em> is <code>*.<em>hostname</em></code>,
+then it matches the specified host or any of its subdomains.
+In the <em>path</em> section,
+each '<code>*</code>' matches 0 or more characters.
+The following table shows some valid patterns.
+</p>
+
+<table class="columns">
+<tbody>
+<tr>
+ <th style="margin-left:0; padding-left:0">Pattern</th>
+ <th style="margin-left:0; padding-left:0">What it does</th>
+ <th style="margin-left:0; padding-left:0">Examples of matching URLs</th>
+</tr>
+
+<tr>
+ <td>
+ <code>http://*/*</code>
+ </td>
+
+ <td>Matches any URL that uses the <code>http</code> scheme</td>
+
+ <td>
+ http://www.google.com/<br>
+ http://example.org/foo/bar.html
+ </td>
+</tr>
+
+<tr>
+ <td>
+ <code>http://*/foo*</code>
+ </td>
+
+ <td>
+ Matches any URL that uses the <code>http</code> scheme, on any host,
+ as long as the path starts with <code>/foo</code>
+ </td>
+
+ <td>
+ http://example.com/foo/bar.html<br>
+ http://www.google.com/foo<b></b>
+ </td>
+</tr>
+
+<tr>
+ <td>
+ <code>https://*.google.com/foo*bar </code>
+ </td>
+
+ <td>
+ Matches any URL that uses the <code>https</code> scheme,
+ is on a google.com host
+ (such as www.google.com, docs.google.com, or google.com),
+ as long as the path starts with <code>/foo</code>
+ and ends with <code>bar</code>
+ </td>
+
+ <td>
+ http://www.google.com/foo/baz/bar<br>
+ http://docs.google.com/foobar
+ </td>
+</tr>
+
+<tr>
+ <td>
+ <code>http://example.org/foo/bar.html </code>
+ </td>
+
+ <td>Matches the specified URL</td>
+
+ <td>
+ http://example.org/foo/bar.html
+ </td>
+</tr>
+
+<tr>
+ <td>
+ <code>file:///foo*</code>
+ </td>
+
+ <td>Matches any local file whose path starts with <code>/foo</code>
+ </td>
+
+ <td>
+ file:///foo/bar.html<br>
+ file:///foo
+ </td>
+</tr>
+
+<tr>
+ <td>
+ <code>http://127.0.0.1/*</code>
+ </td>
+
+ <td>
+ Matches any URL that uses the <code>http</code> scheme
+ and is on the host 127.0.0.1
+ </td>
+ <td>
+ http://127.0.0.1/<br>
+ http://127.0.0.1/foo/bar.html
+ </td>
+</tr>
+
+<tr>
+ <td>
+ <code>*://mail.google.com/* </code>
+ </td>
+
+ <td>
+ Matches any URL that starts with
+ <code>http://mail.google.com</code> or
+ <code>https://mail.google.com</code>.
+ </td>
+
+ <td>
+ http://mail.google.com/foo/baz/bar<br>
+ https://mail.google.com/foobar
+ </td>
+</tr>
+
+<tr>
+ <td>
+ <code>chrome-extension://*/* </code>
+ </td>
+
+ <td>
+ Matches any URL pointing to an extension (the first <code>*</code>
+ represents a filter for extension IDs, the second for paths).
+ </td>
+
+ <td>
+ chrome-extension://askla...asdf/options.html
+ </td>
+</tr>
+
+<tr>
+ <td>
+ <code>&lt;all_urls&gt;</code>
+ </td>
+
+ <td>
+ Matches any URL that uses a permitted scheme.
+ (See the beginning of this section for the list of permitted
+ schemes.)
+ </td>
+ <td>
+ http://example.org/foo/bar.html<br>
+ file:///bar/baz.html
+ </td>
+</tr>
+</tbody>
+</table>
+
+<p>
+Here are some examples of <em>invalid</em> pattern matches:
+</p>
+
+<table class="columns">
+<tbody>
+<tr>
+ <th style="margin-left:0; padding-left:0">Bad pattern</th>
+ <th style="margin-left:0; padding-left:0">Why it's bad</th>
+</tr>
+
+<tr>
+ <td><code>http://www.google.com</code></td>
+ <td>No <em>path</em></td>
+</tr>
+
+<tr>
+ <td><code>http://*foo/bar</code></td>
+ <td>'*' in the <em>host</em> can be followed only by a '.' or '/'</td>
+</tr>
+
+<tr>
+ <td><code>http://foo.*.bar/baz&nbsp; </code></td>
+ <td>If '*' is in the <em>host</em>, it must be the first character</td>
+ </tr>
+
+<tr>
+ <td><code>http:/bar</code></td>
+ <td>Missing <em>scheme</em> separator ("/" should be "//")</td>
+</tr>
+
+<tr>
+ <td><code>foo://*</code></td>
+ <td>Invalid <em>scheme</em></td>
+</tr>
+</tbody>
+</table>
+
+<p>
+Some schemes are not supported in all contexts.
+</p>

Powered by Google App Engine
This is Rietveld 408576698