Clean up the extension documentation regarding creating rubygems. Closes GH-231
This commit is contained in:
parent
a86a94e4c2
commit
5acbfc4879
@ -88,6 +88,7 @@ The compass_init.rb file takes priority, so that extensions that want to work
|
|||||||
differently as compass extensions than they do as normal ruby libraries,
|
differently as compass extensions than they do as normal ruby libraries,
|
||||||
have a way of targeting compass.
|
have a way of targeting compass.
|
||||||
|
|
||||||
|
<a name="registration"></a>
|
||||||
### Stylesheet and Template Locations
|
### Stylesheet and Template Locations
|
||||||
|
|
||||||
If you'd like to store your stylesheets and/or templates in a non-standard location within your extension,
|
If you'd like to store your stylesheets and/or templates in a non-standard location within your extension,
|
||||||
@ -241,9 +242,13 @@ design and to get the user started off with working product.
|
|||||||
Distributing Extensions as Ruby Gems
|
Distributing Extensions as Ruby Gems
|
||||||
------------------------------------
|
------------------------------------
|
||||||
|
|
||||||
How to build and distribute ruby gems is outside the scope of this document.
|
Rubygems is a flexible, easy-to-use system for distributing ruby software.
|
||||||
But delivering an extension as a ruby gem makes it easier to manage software
|
If you have any questions about rubygems, I suggest that you start looking
|
||||||
dependencies, install, and uninstall.
|
for help [here](http://help.rubygems.org/).
|
||||||
|
|
||||||
|
The big advantages of using rubygems to distribute your extension is that
|
||||||
|
it allows your extension to be a dependency for other projects and that each
|
||||||
|
install is versioned, which makes supporting your extension easier.
|
||||||
|
|
||||||
Tips for Developing Extensions
|
Tips for Developing Extensions
|
||||||
------------------------------
|
------------------------------
|
||||||
@ -271,9 +276,17 @@ Before you begin, please ensure you have gem version `1.3.6` or greater. `gem -v
|
|||||||
1. Define your gemspec file at the top of your extension. Here's [an example of
|
1. Define your gemspec file at the top of your extension. Here's [an example of
|
||||||
one](http://github.com/ericam/compass-css-lightbox/blob/master/css-lightbox.gemspec).
|
one](http://github.com/ericam/compass-css-lightbox/blob/master/css-lightbox.gemspec).
|
||||||
The gemspec should have the same name as your gem.
|
The gemspec should have the same name as your gem.
|
||||||
2. Build a gem: `gem build my_extension.gemspec`. This will build your gem file and
|
2. Register your framework by adding `lib/my_extension.rb` and registering it:
|
||||||
|
|
||||||
|
require 'compass'
|
||||||
|
extension_path = File.expand_path(File.join(File.dirname(__FILE__), ".."))
|
||||||
|
Compass::Frameworks.register('my_extension', :path => extension_path)
|
||||||
|
|
||||||
|
This is how compass knows where to find your extension's files when a user requires it.
|
||||||
|
For more options, go back up and read about [Stylesheet and Template Locations](#registration).
|
||||||
|
3. Build a gem: `gem build my_extension.gemspec`. This will build your gem file and
|
||||||
add the current version to the name. E.g. `my_extension-0.0.1.gem`
|
add the current version to the name. E.g. `my_extension-0.0.1.gem`
|
||||||
3. Test your gem by installing it locally: `gem install my_extension-0.0.1.gem`
|
4. Test your gem by installing it locally: `gem install my_extension-0.0.1.gem`
|
||||||
|
|
||||||
### Releasing a Gem
|
### Releasing a Gem
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user