Skip to content
Chrome extension engine, - make chrome extensions with ease
Ruby
Find file
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
bin
lib
.gitignore
Gemfile
README.md
Rakefile
creng.gemspec

README.md

Creng 0.4.3

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:

  • RequireJS
  • Underscore.js
  • jQuery
  • Cajon

Installation | Examples | Flags

RubyGems page

Usage

Project initialization

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.

Project build

creng build

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>
Something went wrong with that request. Please try again.