1 <div id="pageData-name" class="pageData">Tutorial: Getting Started (Hello, World!)</div> 2 <div id="pageData-showTOC" class="pageData">true</div> 3 4 <p> 5 This tutorial walks you through creating a simple extension. 6 You'll add an icon to Google Chrome 7 that, when clicked, displays an automatically generated page. 8 The icon and page will look something like this: 9 </p> 10 11 <img src="images/hello-world-small.png" 12 width="300" height="221" 13 alt="a window with a grid of images related to HELLO WORLD" /> 14 15 <p> 16 You can develop extensions using any release of Google Chrome, 17 on Windows, Mac, or Linux. 18 </p> 19 20 <h2 id="load">Create and load an extension</h2> 21 <p> 22 In this section, you'll write an extension 23 that adds a <em>browser action</em> 24 to the toolbar of Google Chrome. 25 </p> 26 27 <ol> 28 <li> 29 Create a folder somewhere on your computer to contain your extension's code. 30 </li> 31 <li> 32 Inside your extension's folder, 33 create a text file called <strong><code>manifest.json</code></strong>, 34 and put this in it: 35 <pre>{ 36 "name": "My First Extension", 37 "version": "1.0", 38 "description": "The first extension that I made.", 39 "browser_action": { 40 "default_icon": "icon.png" 41 }, 42 "permissions": [ 43 "http://api.flickr.com/" 44 ] 45 }</pre> 46 </li> 47 <li> 48 Copy this icon to the same folder:<br> 49 <table cellpadding="0" cellspacing="0" style="border:0"> 50 <tr> 51 <td style="text-align:center; border:0;"><a 52 href="examples/tutorials/getstarted/icon.png" 53 ><img src="examples/tutorials/getstarted/icon.png" 54 width="19" height="19" border="0"></a><br> 55 <a href="examples/tutorials/getstarted/icon.png" 56 >Download icon.png</a></td> 57 </tr> 58 </table> 59 </li> 60 <li id="load-ext"> Load the extension. 61 <ol type="a"> 62 <li style="margin-top:0" /> 63 Bring up the extensions management page 64 by clicking the wrench icon 65 <img src="images/toolsmenu.gif" width="29" height="29" alt="" 66 style="margin-top:0" /> 67 and choosing <b>Tools > Extensions</b>. 68 </li> 69 70 <li> 71 If <b>Developer mode</b> has a + by it, 72 click the + to add developer information to the page. 73 The + changes to a -, 74 and more buttons and information appear. 75 </li> 76 77 <li> 78 Click the <b>Load unpacked extension</b> button. 79 A file dialog appears. 80 </li> 81 82 <li> 83 In the file dialog, 84 navigate to your extension's folder 85 and click <b>OK</b>. 86 </li> 87 </ol> </li> 88 </ol> 89 90 <p> 91 If your extension is valid, 92 its icon appears next to the address bar, 93 and information about the extension 94 appears in the extensions page, 95 as the following screenshot shows. 96 </p> 97 98 <p> 99 <a href="images/load_after.png"><img 100 src="images/load_after_small.png" 101 width="300" height="132" /></a> 102 </p> 103 104 <h2 id="code">Add code to the extension</h2> 105 <p> In this step, you'll make your extension <em>do</em> something besides just look good. </p> 106 <ol> 107 <li> 108 <p> Edit <code>manifest.json</code> to add the following line:</p> 109 <pre> 110 ... 111 "browser_action": { 112 "default_icon": "icon.png"<b>, 113 "popup": "popup.html"</b> 114 }, 115 ... 116 </pre> 117 <p> Inside your extension's folder, 118 create a text file called <strong><code>popup.html</code></strong>, 119 and add the following code to it:</p> 120 <blockquote> <a href="http://src.chromium.org/viewvc/chrome/trunk/src/chrome/common/extensions/docs/examples/tutorials/getstarted/popup.html?content-type=text/plain" 121 target="_blank">CSS 122 and JavaScript code for hello_world</a></blockquote> 123 </li> 124 <li> 125 Return to the extensions management page, 126 and click the <b>Reload</b> button 127 to load the new version of the extension.</li> 128 <li>Click the extension's icon. 129 A popup should appear that displays the contents of 130 <code>popup.html</code>. </li> 131 </ol> 132 <p> It should look something like this:</p> 133 134 <img src="images/hello-world.png" 135 width="500" height="369" 136 alt="a popup with a grid of images related to HELLO WORLD" /> 137 138 <p> If you don't see the popup, 139 try the instructions again, 140 following them exactly. 141 Don't try loading an HTML file that isn't in the extension's folder — 142 it won't work! </p> 143 144 <h2 id="summary">Now what?</h2> 145 146 <!-- [PENDING: Summarize what we did, what it means, what else we would've done if this were a real extension (e.g. package/zip it), and where to find more information.] --> 147 148 <p> 149 Here are some suggestions for what to read next: 150 </p> 151 152 <ul> 153 <li> 154 The <a href="overview.html">Overview</a>, 155 which has important conceptual and practical information 156 </li> 157 <li> 158 The 159 <a href="tut_debugging.html">debugging tutorial</a>, 160 which starts where this tutorial leaves off 161 </li> 162 <li> 163 The <a href="hosting.html">hosting</a> page, 164 which tells you about options for distributing your extension 165 </li> 166 </ul> 167 168 <p> 169 If you don't feel like reading, try these: 170 </p> 171 <ul> 172 <li> 173 Keep up to date with the latest news: 174 <a href="http://groups.google.com/a/chromium.org/group/chromium-extensions/subscribe">subscribe to chromium-extensions</a> 175 </li> 176 <li> 177 Look at some 178 <a href="samples.html">sample extensions</a> 179 </li> 180 <li> 181 Watch some 182 <a href="http://www.youtube.com/view_play_list?p=CA101D6A85FE9D4B">videos</a>, such as 183 <a href="http://www.youtube.com/watch?v=e3McMaHvlBY&feature=PlayList&p=CA101D6A85FE9D4B&index=3">How to build an extension</a> 184 </li> 185 </ul> 186