A starter kit for Chrome extension and theme development.
This is a directory tree of links to various Chrome developer pages.
- Extensions
- Learn Basics
- Getting Started Tutorial
- Sample Extensions
- Develop Extensions
- Distribute Extensions
- Chrome Platform APIs
- Help
The official documentation is quite extensive and up to date. Some recommendations:
- The tutorials and docs to guide the learning process for developing extensions is ordered logically in a top down format. Start at the top and drill into details as you move down.
- The Sample Extensions page is a great resource that provides many working extension examples. The main page is a long list so it's best to choose a few of the Chrome APIs you would like to work with and narrow down the search.
All extension samples (as zip files) are available on the samples page. A few that I found useful are included (unzipped) in the ext-samples folder. The API calls used in each sample are noted in parentheses.
- NTP prototyping extension (magic8ball) - An extension for creating New Tab extensions. (topSites)
- Google Mail Checker (gmail) - An extension for Google Mail Checker. (alarms, browserAction, i18n, runtime, tabs, webNavigation, windows)
- My Bookmarks (basic-bookmarks) - An extension using the Bookmarks API. (bookmarks, tabs)
- Sample Extension Commands extension (commands) - An extension to open the browser action popup or send an event. (commands)
- Context Menus Sample (basic-context) - An extension for basic features. (contextMenus, extension)
- Imageinfo (imageinfo) - An extension to get image info for images, including EXIF data. (contextMenus, tabs, windows)
- JavaScript pause/resume (js-pause-resume) - An extension to pause/resume JavaScript execution. (browserAction, debugger, runtime)
- Desktop Capture Example (desktop-capture) - An extension that shows desktop media picker UI. (desktopCapture, runtime)
- Download Selected Links (download-links) - An extension that allows selecting links on a page and downloading them. (downloads, extension, tabs, windows)
- Omnibox Example (simple-omnibox) - An extension where user can type 'omnix' plus a search term into the Omnibox. (omnibox)
- Keep Awake (power) - An extension to override system power-saving settings. (browserAction, i18n, power, runtime, storage)
- A browser action with a popup that changes the page color (set-page-color) - An extension that changes the current page color. (tabs)
- Stylizr (stylizr) - An extension to change pages with custom CSS. (extension, runtime, storage, tabs)
General template for Chrome extensions.
- manifest.json
- icon.png
- popup.html
- popup.js
Documentation on creating themes is a bit limited so referencing the Chromium (which Chrome is built on) source is helpful https://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/themes/
- manifest.json
- images
>500 users - The published Dark Theme - Charcoal is available on the Chrome Web Store.
>800 users - The published Unicorn Theme is available on the Chrome Web Store.
GitHub: nchah/newtab-memo-extension
~100 users - The published NewTab Memo extension is available on the Chrome Web Store.
~20 users - The published DarkEdit New Tab extension is available on the Chrome Web Store.
The Developer Dashboard in the Chrome Web Store allows for easy tracking and maintenance of extensions and themes.
CSV dumps of all 'Installations', 'Impressions', and 'Total Current Users' stats to date are available for each theme or extension.