Ruby gem for simple chrome extension development
The aim of project to make development of chrome extensions more simple, giving to user time-tested tools and development patterns. It includes last versions of following frameworks/libs:
creng init <projectname>
This command creates dir with name of and generates skeleton of application by creatin in it files, needed for first build of extension. Also, it fetches last versions of libraries, needed to correct work of extension. So now, you can start your development in dev folder.
Must be executed in root folder of projectname. It builds entire project to build folder, executing following actions:
- Automatically managing frameworks dependencies (vendor/content folder frameworks will be added to content scripts in manifest file, vendor/background to background file (if it exists), vendor/ - to both)
- Auto-wrap code into define statements (no more same code constructions needed for work of RequireJS)
- Creng keeps an eye on "web_accessible_resources" for you (automatically manage it, so no more routine with writing all files)
- Easy background page management, just remove it and creng will build extension without it. Want to use event background page? Simply rename background_persistent.html to background.html and build it!
- Tracking of build version, auto-incrementation after every build x.x.x.buildversion
- Handling of options page, just create options.html in html folder to start working with it.
- Automatical handling of extension type. Just create html/browser_action.html for browser action type, html/page_action.html for page action type or delete those files (if created) to switch for hidden type extension. Title of popup will be parsed from tag in those html files</li> <li>Override new tab, bookmarks and history pages simply by creating html files with the same name (more at <a href="https://github.com/traa/creng/wiki/Examples">examples page</a>)</li> <li>Cut in build version marked blocks of code ( blocks marked with <code>//devblock_begin</code> and <code>//devblock_end</code>.</li> <li><p>Automatically removing all console.* calls in build. </p></li> <li><p>And more to come! It's just an early version of gem, so i plan to constantly increase number of features</p> <h2>Adding features</h2> <p><code>creng feature add webrequest</code></p> <p>Adding <a href="https://developer.chrome.com/extensions/webRequest.html">webRequest</a> functionality in a few seconds.</p></li> </ul>