radiant-rails_asset_pipeline-extension 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,60 @@
1
+ # Rails Asset Pipeline for Radiant CMS
2
+
3
+ Radiant extension adding extra tags for Rails3-like asset pipeline integration.
4
+ Based on the Michael Grosser's backport of asset pipeline functionality:
5
+ https://github.com/grosser/rails2_asset_pipeline
6
+
7
+ ## Installation
8
+
9
+ 1. Add to your Gemfile:
10
+
11
+ ```
12
+ gem "radiant-rails_asset_pipeline-extension"
13
+ ```
14
+
15
+ 2. If you want dynamic assets in development (and you do want them) - add
16
+ config.ru from [rails2_asset_pipeline](https://github.com/grosser/rails2_asset_pipeline#dynamic-assets-for-development)
17
+ to the root of your application.
18
+
19
+ Asset files can be stored in `app/assets`, or `radiant/assets` -
20
+ handy if you're also using
21
+ [file_system_resources extension](https://github.com/saturnflyer/radiant-file-system-resources-extension)
22
+ with Radiant.
23
+
24
+ ## Usage
25
+
26
+ 1. Stylesheets:
27
+
28
+ ```
29
+ <r:stylesheet_link_tag source="application" />
30
+ ```
31
+
32
+ 2. Javascripts:
33
+
34
+ ```
35
+ <r:javascript_include_tag source="application" />
36
+ ```
37
+
38
+ 3. Images:
39
+
40
+ ```
41
+ <r:image_tag source="image.png" />
42
+ ```
43
+
44
+ 4. Asset path:
45
+
46
+ ```
47
+ <r:asset_path source="application.css" />
48
+ ```
49
+
50
+ ## Tasks
51
+
52
+ All tasks from rails2_asset_pipeline are available for you. For example, if
53
+ you want to precompile all assets:
54
+
55
+ rake assets:precompile
56
+
57
+ to see all available tasks:
58
+
59
+ rake -T assets:
60
+
@@ -0,0 +1,22 @@
1
+ require 'rubygems'
2
+ require 'bundler'
3
+ Bundler.setup
4
+
5
+ # Rack Dispatcher
6
+ #
7
+ # we need to protect against multiple includes of the Rails environment (trust me)
8
+ require './config/environment' if !defined?(Rails) || !Rails.initialized?
9
+
10
+ Rails2AssetPipeline.config_ru(self)
11
+ Rails2AssetPipeline.setup do |env|
12
+ Dir[Rails.root.join("radiant", "assets", "*")].each do |folder|
13
+ env.append_path folder
14
+ end
15
+ end
16
+
17
+ map '/' do
18
+ use Rails::Rack::LogTailer unless Rails.env.test?
19
+ # use Rails::Rack::Debugger unless Rails.env.test?
20
+ use Rails::Rack::Static
21
+ run ActionController::Dispatcher.new
22
+ end
@@ -0,0 +1,7 @@
1
+ module RadiantRailsAssetPipelineExtension
2
+ VERSION = "0.1.1"
3
+ SUMMARY = "Rails Asset Pipeline for Radiant CMS"
4
+ DESCRIPTION = "Integrates Rails3-like asset pipeline into Radiant CMS project"
5
+ URL = "http://speakmy.name"
6
+ AUTHORS = ["Oleg Ivanov"]
7
+ end
@@ -0,0 +1,11 @@
1
+ require "rails2_asset_pipeline"
2
+ require "radiant-rails_asset_pipeline-extension"
3
+
4
+ Rails2AssetPipeline.setup do |env|
5
+ Dir[Rails.root.join("radiant", "assets", "*")].each do |folder|
6
+ env.append_path folder
7
+ end
8
+ end
9
+
10
+ module RailsAssetPipeline
11
+ end
@@ -0,0 +1,56 @@
1
+ require "rails2_asset_pipeline/view_helpers"
2
+
3
+ module RailsAssetPipeline::AssetTags
4
+ include Radiant::Taggable
5
+ include ActionView::Helpers::TagHelper
6
+ include ActionView::Helpers::AssetTagHelper
7
+ include ActionView::Helpers::JavaScriptHelper
8
+ include Rails2AssetPipeline::ViewHelpers
9
+
10
+ desc %{
11
+ Include pipeline-based stylesheets.
12
+
13
+ *Usage:*
14
+ <pre><code><r:stylesheet_link_tag sources="name" [other options] /></code></pre>
15
+ }
16
+ tag 'stylesheet_link_tag' do |tag|
17
+ options = tag.attr || {}
18
+ sources = options.delete('sources')
19
+ sources ||= options.delete('source')
20
+
21
+ stylesheet_link_tag(sources, options)
22
+ end
23
+
24
+ desc %{
25
+ Include pipeline-based javascripts.
26
+
27
+ *Usage:*
28
+ <pre><code><r:javascript_include_tag sources="name" [other options] /></code></pre>
29
+ }
30
+ tag 'javascript_include_tag' do |tag|
31
+ options = tag.attr || {}
32
+ sources = options.delete('sources')
33
+ sources ||= options.delete('source')
34
+
35
+ javascript_include_tag(sources, options)
36
+ end
37
+
38
+
39
+ desc %{ Renders and image tag with asset pipeline compatibility }
40
+ tag 'image_tag' do |tag|
41
+ options = tag.attr || {}
42
+ source = options["source"]
43
+ options.delete("source")
44
+
45
+ image_tag(source, options)
46
+ end
47
+
48
+ desc %{ Renders an asset path }
49
+ tag 'asset_path' do |tag|
50
+ options = tag.attr || {}
51
+ source = options["source"]
52
+ options.delete("source")
53
+ asset_path(source)
54
+ end
55
+
56
+ end
@@ -0,0 +1,2 @@
1
+ require 'rails_asset_pipeline'
2
+ require "rails2_asset_pipeline/tasks"
@@ -0,0 +1,27 @@
1
+ # -*- encoding: utf-8 -*-
2
+ $:.push File.expand_path("../lib", __FILE__)
3
+ require "radiant-rails_asset_pipeline-extension"
4
+
5
+ Gem::Specification.new do |s|
6
+ s.name = "radiant-rails_asset_pipeline-extension"
7
+ s.version = RadiantRailsAssetPipelineExtension::VERSION
8
+ s.platform = Gem::Platform::RUBY
9
+ s.authors = RadiantRailsAssetPipelineExtension::AUTHORS
10
+ s.homepage = RadiantRailsAssetPipelineExtension::URL
11
+ s.summary = RadiantRailsAssetPipelineExtension::SUMMARY
12
+ s.description = RadiantRailsAssetPipelineExtension::DESCRIPTION
13
+
14
+ # Define gem dependencies here.
15
+ # Don't include a dependency on radiant itself: it causes problems when radiant is in vendor/radiant.
16
+ s.add_dependency "rails2_asset_pipeline"
17
+
18
+ ignores = if File.exist?('.gitignore')
19
+ File.read('.gitignore').split("\n").inject([]) {|a,p| a + Dir[p] }
20
+ else
21
+ []
22
+ end
23
+ s.files = Dir['**/*'] - ignores
24
+ s.test_files = Dir['test/**/*','spec/**/*','features/**/*'] - ignores
25
+ # s.executables = Dir['bin/*'] - ignores
26
+ s.require_paths = ["lib"]
27
+ end
@@ -0,0 +1,12 @@
1
+ require 'rails_asset_pipeline'
2
+ require 'rails_asset_pipeline/asset_tags'
3
+
4
+ class RailsAssetPipelineExtension < Radiant::Extension
5
+ version RadiantRailsAssetPipelineExtension::VERSION
6
+ description RadiantRailsAssetPipelineExtension::DESCRIPTION
7
+ url RadiantRailsAssetPipelineExtension::URL
8
+
9
+ def activate
10
+ Page.send :include, RailsAssetPipeline::AssetTags
11
+ end
12
+ end
metadata ADDED
@@ -0,0 +1,68 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: radiant-rails_asset_pipeline-extension
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.1
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Oleg Ivanov
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2013-01-12 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: rails2_asset_pipeline
16
+ requirement: !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: '0'
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ! '>='
28
+ - !ruby/object:Gem::Version
29
+ version: '0'
30
+ description: Integrates Rails3-like asset pipeline into Radiant CMS project
31
+ email:
32
+ executables: []
33
+ extensions: []
34
+ extra_rdoc_files: []
35
+ files:
36
+ - config.ru
37
+ - lib/radiant-rails_asset_pipeline-extension.rb
38
+ - lib/rails_asset_pipeline/asset_tags.rb
39
+ - lib/rails_asset_pipeline.rb
40
+ - lib/tasks/rails_asset_pipeline_tasks.rake
41
+ - radiant-rails_asset_pipeline-extension.gemspec
42
+ - rails_asset_pipeline_extension.rb
43
+ - README.md
44
+ homepage: http://speakmy.name
45
+ licenses: []
46
+ post_install_message:
47
+ rdoc_options: []
48
+ require_paths:
49
+ - lib
50
+ required_ruby_version: !ruby/object:Gem::Requirement
51
+ none: false
52
+ requirements:
53
+ - - ! '>='
54
+ - !ruby/object:Gem::Version
55
+ version: '0'
56
+ required_rubygems_version: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ! '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ requirements: []
63
+ rubyforge_project:
64
+ rubygems_version: 1.8.24
65
+ signing_key:
66
+ specification_version: 3
67
+ summary: Rails Asset Pipeline for Radiant CMS
68
+ test_files: []