Chromium Code Reviews| Index: chrome/common/extensions/docs/templates/articles/getstarted.html |
| diff --git a/chrome/common/extensions/docs/templates/articles/getstarted.html b/chrome/common/extensions/docs/templates/articles/getstarted.html |
| index f02365b2f4a15da76ec00d2d51b4823f7b6983fa..e8503f9d7eca317f2fab7dc8bdd62107ed6b7858 100644 |
| --- a/chrome/common/extensions/docs/templates/articles/getstarted.html |
| +++ b/chrome/common/extensions/docs/templates/articles/getstarted.html |
| @@ -6,22 +6,22 @@ |
| technologies that you're already familiar with from web development: HTML, |
| CSS, and JavaScript. If you've ever built a web page, you should feel right at |
| home with extensions pretty quickly; we'll put that to the test right now by |
| - walking through the construction of a simple extension that will give you |
| - one-click access to pictures of kittens. Kittens! |
| + walking through the construction of a simple extension that will fetch an |
| + image from Google using the current page's URL as search term. |
|
mkearney1
2015/01/07 22:30:23
"as search term" should be "as a search term".
robwu
2015/01/07 23:40:54
Done.
|
| </p> |
| <p> |
| We'll do so by implementing a UI element we call a |
| <a href="browserAction">browser action</a>, which allows us to place a |
| clickable icon right next to Chrome's Omnibox for easy access. Clicking that |
| - icon will open a popup window filled with kittenish goodness, which will look |
| - something like this: |
| + icon will open a popup window filled with an image derived from the current |
| + page, which will look something like this: |
| </p> |
| -<img src="{{static}}/images/gettingstarted-1.jpg" |
| - width="600" |
| - height="420" |
| - alt="Chrome, with an extension's popup open and displaying many kittens."> |
| +<img src="{{static}}/images/gettingstarted-preview" |
| + width="558" |
| + height="264" |
| + alt="Chrome with an extension's popup open."> |
| <p> |
| If you'd like to follow along at home (and you should!), create a shiny new |
| @@ -33,35 +33,37 @@ |
| <p> |
| The very first thing we'll need to create is a <dfn>manifest file</dfn> named |
| - <code>manifest.json</code>. The manifest is nothing more than a JSON-formatted |
| - table of contents, containing properties like your extension's name and |
| - description, its version number, and so on. At a high level, we'll use it to |
| + <code>manifest.json</code>. This manifest is nothing more than a metadata file |
| + in JSON format that contains properties like your extension's name, |
| + description, version number and so on. At a high level, we will use it to |
| declare to Chrome what the extension is going to do, and what permissions it |
| - requires in order to do those things. |
| + requires in order to do those things. To learn more about the manifest, read |
| + the <a href="manifest">documentation of manifest.json</a>. |
|
mkearney1
2015/01/07 22:30:23
Instead of "documentation of manifest.json", repla
robwu
2015/01/07 23:40:54
Done.
|
| </p> |
| <p> |
| - In order to display kittens, we'll want to tell Chrome that we'd like to |
| - create a browser action, and that we'd like free-reign to access kittens from |
| - a particular source on the net. A manifest file containing those instructions |
| - looks like this: |
| + For our example, we will declare a <a href="browserAction">browser action</a>, |
|
mkearney1
2015/01/07 22:30:23
Replace "For our example" with "In our example's m
robwu
2015/01/07 23:40:54
Done.
|
| + the <a href="activeTab">activeTab permission</a> to see the URL of the current |
| + tab, and the host <a href="declare_permissions">permission</a> to access the |
| + external Google Image search API. |
| </p> |
| <pre data-filename="manifest.json"> |
| { |
| "manifest_version": 2, |
| - "name": "One-click Kittens", |
| - "description": "This extension demonstrates a browser action with kittens.", |
| + "name": "Getting started example", |
| + "description": "This extension shows a Google Image search result for the current page", |
| "version": "1.0", |
| - "permissions": [ |
| - "https://secure.flickr.com/" |
| - ], |
| "browser_action": { |
| "default_icon": "icon.png", |
| "default_popup": "popup.html" |
| - } |
| + }, |
| + "permissions": [ |
|
mkearney1
2015/01/07 22:30:23
Add comments in the sample code that call out the
robwu
2015/01/07 23:40:54
Done.
mkearney1
2015/01/08 23:00:34
I still don't see the comments. Weird.
On 2015/01/
robwu
2015/01/08 23:09:03
I added a comment to popup.html that explained the
robwu
2015/01/14 16:09:19
I just tested again (14 jan 2015), and the Chrome
|
| + "activeTab", |
| + "https://ajax.googleapis.com/" |
| + ] |
| } |
| </pre> |
| @@ -73,35 +75,6 @@ |
| </a>. |
| </p> |
|
mkearney1
2015/01/07 22:30:23
Is there a reason you dropped line-by-line breakdo
robwu
2015/01/07 23:40:54
name/description/version are obvious. The first th
|
| -<h3 id="manifest">What does it mean?</h3> |
| - |
| -<p> |
| - The attribute names are fairly self-descriptive, but let's walk through the |
| - manifest line-by-line to make sure we're all on the same page. |
| -</p> |
| - |
| -<p> |
| - The first line, which declares that we're using version 2 of the manifest file |
| - format, is mandatory (version 1 is old, deprecated, and generally not |
| - awesome). |
| -</p> |
| - |
| -<p> |
| - The next block defines the extension's name, description, and version. These |
| - will be used both inside of Chrome to show a user which extensions you have |
| - installed, and also on the Chrome Web Store to display your extension to |
| - potentially new users. The name should be short and snappy, and the |
| - description no longer than a sentence or so (you'll have more room for a |
| - detailed description later). |
| -</p> |
| - |
| -<p> |
| - The final block first requests permission to work with data on |
| - <code>https://secure.flickr.com/</code>, and declares that this extension |
| - implements a browser action, assigning it a default icon and popup in the |
| - process. |
| -</p> |
| - |
| <h2 id="resources">Resources</h2> |
| <p> |
| @@ -117,9 +90,10 @@ |
| <img src="{{static}}/images/gettingstarted-icon.png" |
| width="127" |
| height="127" |
| + style="float:right" |
| alt="The popup's icon will be displayed right next to the Omnibox."> |
| <code>icon.png</code> will be displayed next to the Omnibox, waiting for |
| - user interaction. Download a copy of icon.png from our sample repository, |
| + user interaction. |
| <a href="examples/tutorials/getstarted/icon.png" download="icon.png"> |
| Download a copy of <code>icon.png</code> from our sample repository |
| </a>, and save it into the directory you're working in. You could also |
| @@ -128,25 +102,21 @@ |
| </li> |
| <li> |
| <p> |
| - <img src="{{static}}/images/gettingstarted-popup.jpg" |
| - width="165" |
| - height="200" |
| - alt="The popup's HTML will be rendered directly below the icon when clicked."> |
| <code>popup.html</code> will be rendered inside the popup window that's |
| created in response to a user's click on the browser action. It's a |
| standard HTML file, just like you're used to from web development, giving |
| you more or less free reign over what the popup displays. |
| <a href="examples/tutorials/getstarted/popup.html" download="popup.html"> |
| Download a copy of <code>popup.html</code> from our sample repository |
| - </a>, and save it into |
| - the directory you're working in. |
| + </a>, and save it into the directory you're working in. |
| </p> |
| <p> |
| - <code>popup.html</code> requires an additional JavaScript file in order to |
| - do the work of grabbing kitten images from the web and loading them into |
| - the popup. To save you some effort, just |
| + The actual logic of rendering the content of the popup is implemented by |
| + <a href="examples/tutorials/getstarted/popup.js">popup.js</a>. You are |
| + encouraged to read the elaborate comments in this file to learn more |
| + about the logic.<br> |
| <a href="examples/tutorials/getstarted/popup.js" download="popup.js"> |
| - download a copy of <code>popup.js</code> from our sample repository |
| + Download a copy of <code>popup.js</code> from our sample repository |
| </a>, and save it into the directory you're working in. |
| </p> |
| </li> |
| @@ -219,40 +189,58 @@ |
| <p> |
| Now that you've got your first extension up and running, let's fiddle with |
| things so that you have an idea what your development process might look like. |
| - As a trivial example, let's change the data source to search for pictures of |
| - puppies instead of kittens. |
| + <br> |
|
mkearney1
2015/01/07 22:30:23
Remove this <br>.
robwu
2015/01/07 23:40:54
Done.
|
| + For example, let's set a tooltip on the browser action button. According to |
|
mkearney1
2015/01/07 22:30:23
End paragraph after "For example, let's set a tool
robwu
2015/01/07 23:40:54
Done.
|
| + the browserAction documentation, tooltips can be set by specifying the |
| + <code>default_title</code> key in the manifest file. So open |
|
mkearney1
2015/01/07 22:30:23
Remove 'So' and start sentence with 'Open'.
robwu
2015/01/07 23:40:54
Done.
|
| + <code>manifest.json</code>, and add this property to <code>browser_action</code>. |
|
mkearney1
2015/01/07 22:30:23
Change 'this property' to 'the default_title to th
robwu
2015/01/07 23:40:54
Done.
|
| + Make sure that the JSON is valid, so quote the key and add a comma where necessary. |
| </p> |
| -<p> |
| - Hop into <code>popup.js</code>, and edit line 11 from |
| - <code>var QUERY = 'kittens';</code> to read |
| - <code>var QUERY = 'puppies';</code>, and save your changes. |
| -</p> |
| +<pre data-filename="manifest.json"> |
| +{ |
| + ... |
| + "browser_action": { |
| + "default_icon": "icon.png", |
| + "default_popup": "popup.html", |
| + "default_title": "Click here!" |
| + }, |
| + ... |
| +} |
| +</pre> |
| <p> |
| - If you click on your extension's browser action again, you'll note that your |
| - change hasn't yet had an effect. You'll need to let Chrome know that something |
| - has happened, either explicitly by going back to the extension page |
| + The manifest file is only parsed when the extension is loaded. If you want to |
| + see the previous changes in action, the extension has to be reloaded. This can |
|
mkearney1
2015/01/07 22:30:23
The last two sentences in this paragraph are wordy
robwu
2015/01/07 23:40:54
At the left of the omnibox.
|
| + be done by visiting the extension page |
| (<strong>chrome://extensions</strong>, or |
| <strong>Tools > Extensions</strong> under the Chrome menu), and clicking |
| - <strong>Reload</strong> under your extension, or by reloading the extensions |
| - page itself (either via the reload button to the left of the Omnibox, or by |
| - hitting F5 or Ctrl-R). |
| + <strong>Reload</strong> under your extension. The extension can can also be |
| + reload by reloading the extension page, e.g. by clicking on the reload button, |
| + or by hitting <kbd>F5<kbd> or <kbd>Ctrl</kbd>-<kbd>R</kbd>. |
| </p> |
| <p> |
| - Once you've reloaded the extension, click the browser action icon again. |
| - Puppies galore! |
| + Once you've reloaded the extension, hover over the browser action badge to see |
| + the new tooltip!<br> |
| + <img src="{{static}}/images/gettingstarted-tooltip-before.png" |
| + width="160" |
| + height="120" |
| + alt=""Getting started example" tooltip."> |
| + |
| + <img src="{{static}}/images/gettingstarted-tooltip-after.png" |
| + width="160" |
| + height="120" |
| + alt=""Click here!" tooltip, after modifying manifest.json and reloading the extension."> |
| </p> |
| <h2 id="next-steps">What next?</h2> |
| <p> |
| You now know about the manifest file's central role in bringing things |
| - together, and you've mastered the basics of declaring a browser action, and |
| - rendering some kittens (or puppies!) in response to a user's click. That's a |
| - great start, and has hopefully gotten you interested enough to explore |
| - further. There's a lot more out there to play around with. |
| + together, and you've mastered the basics of declaring a browser action. |
| + That's a great start, and has hopefully gotten you interested enough to |
| + explore further. There's a lot more out there to play around with. |
| </p> |
| <ul> |