macbury-metro-ui-rails 0.15.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (62) hide show
  1. data/.gitignore +21 -0
  2. data/.gitmodules +3 -0
  3. data/Gemfile +4 -0
  4. data/README.md +44 -0
  5. data/Rakefile +74 -0
  6. data/lib/generators/metro/layout/layout_generator.rb +19 -0
  7. data/lib/generators/metro/layout/templates/layout.html.erb +92 -0
  8. data/lib/metro/ui/rails/engine.rb +16 -0
  9. data/lib/metro/ui/rails/metro.rb +2 -0
  10. data/lib/metro/ui/rails/version.rb +7 -0
  11. data/lib/metro-ui-rails.rb +10 -0
  12. data/metro-ui-rails.gemspec +20 -0
  13. data/vendor/assets/fonts/metro-ui/iconFont.eot +0 -0
  14. data/vendor/assets/fonts/metro-ui/iconFont.svg +2005 -0
  15. data/vendor/assets/fonts/metro-ui/iconFont.ttf +0 -0
  16. data/vendor/assets/fonts/metro-ui/iconFont.woff +0 -0
  17. data/vendor/assets/javascripts/metro-ui/accordion.js +44 -0
  18. data/vendor/assets/javascripts/metro-ui/buttonset.js +34 -0
  19. data/vendor/assets/javascripts/metro-ui/carousel.js +368 -0
  20. data/vendor/assets/javascripts/metro-ui/dropdown.js +95 -0
  21. data/vendor/assets/javascripts/metro-ui/input-control.js +103 -0
  22. data/vendor/assets/javascripts/metro-ui/pagecontrol.js +64 -0
  23. data/vendor/assets/javascripts/metro-ui/rating.js +249 -0
  24. data/vendor/assets/javascripts/metro-ui/slider.js +248 -0
  25. data/vendor/assets/javascripts/metro-ui/tile-drag.js +332 -0
  26. data/vendor/assets/javascripts/metro-ui/tile-slider.js +196 -0
  27. data/vendor/assets/javascripts/metro-ui.js +10 -0
  28. data/vendor/toolkit/metro-ui/accordion.less +69 -0
  29. data/vendor/toolkit/metro-ui/bricks.less +59 -0
  30. data/vendor/toolkit/metro-ui/buttons.less +434 -0
  31. data/vendor/toolkit/metro-ui/cards.less +113 -0
  32. data/vendor/toolkit/metro-ui/carousel.less +109 -0
  33. data/vendor/toolkit/metro-ui/code.less +47 -0
  34. data/vendor/toolkit/metro-ui/colors.less +115 -0
  35. data/vendor/toolkit/metro-ui/forms.less +434 -0
  36. data/vendor/toolkit/metro-ui/grid.less +115 -0
  37. data/vendor/toolkit/metro-ui/hero.less +18 -0
  38. data/vendor/toolkit/metro-ui/icons.less +1168 -0
  39. data/vendor/toolkit/metro-ui/images.less +121 -0
  40. data/vendor/toolkit/metro-ui/jqgrid.less +12 -0
  41. data/vendor/toolkit/metro-ui/layout.less +287 -0
  42. data/vendor/toolkit/metro-ui/listview.less +143 -0
  43. data/vendor/toolkit/metro-ui/menus.less +249 -0
  44. data/vendor/toolkit/metro-ui/modern-responsive-max480.less +147 -0
  45. data/vendor/toolkit/metro-ui/modern-responsive-max767.less +241 -0
  46. data/vendor/toolkit/metro-ui/modern-responsive-max979.less +97 -0
  47. data/vendor/toolkit/metro-ui/modern-responsive-min1200.less +28 -0
  48. data/vendor/toolkit/metro-ui/modern-responsive.less +13 -0
  49. data/vendor/toolkit/metro-ui/modern.less +35 -0
  50. data/vendor/toolkit/metro-ui/notices.less +185 -0
  51. data/vendor/toolkit/metro-ui/pagecontrol.less +100 -0
  52. data/vendor/toolkit/metro-ui/progress.less +22 -0
  53. data/vendor/toolkit/metro-ui/rating.less +80 -0
  54. data/vendor/toolkit/metro-ui/reset.less +504 -0
  55. data/vendor/toolkit/metro-ui/routines.less +141 -0
  56. data/vendor/toolkit/metro-ui/sidebar.less +136 -0
  57. data/vendor/toolkit/metro-ui/slider.less +67 -0
  58. data/vendor/toolkit/metro-ui/tables.less +164 -0
  59. data/vendor/toolkit/metro-ui/theme-dark.less +54 -0
  60. data/vendor/toolkit/metro-ui/tiles.less +285 -0
  61. data/vendor/toolkit/metro-ui/typography.less +347 -0
  62. metadata +139 -0
data/.gitignore ADDED
@@ -0,0 +1,21 @@
1
+ *.gem
2
+ *.rbc
3
+ .bundle
4
+ .config
5
+ .yardoc
6
+ Gemfile.lock
7
+ InstalledFiles
8
+ _yardoc
9
+ coverage
10
+ doc/
11
+ lib/bundler/man
12
+ pkg
13
+ rdoc
14
+ spec/reports
15
+ test/tmp
16
+ test/version_tmp
17
+ tmp
18
+ .idea
19
+ .DS_Store
20
+ .rbenv-version
21
+ *.un~
data/.gitmodules ADDED
@@ -0,0 +1,3 @@
1
+ [submodule "Metro-UI-CSS"]
2
+ path = Metro-UI-CSS
3
+ url = git://github.com/olton/Metro-UI-CSS.git
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # Specify your gem's dependencies in metro-ui-rails.gemspec
4
+ gemspec
data/README.md ADDED
@@ -0,0 +1,44 @@
1
+ # Metro UI for Rails 3.1 Asset Pipeline
2
+
3
+ This gem integrates [Metro-UI-CSS](https://github.com/olton/Metro-UI-CSS) toolkit into Rails 3.1 Asset Pipeline.
4
+
5
+ [![Code Climate](https://codeclimate.com/badge.png)](https://codeclimate.com/github/ViliusLuneckas/metro-ui-rails)
6
+
7
+ ## Installation
8
+
9
+ Add this line to your application's Gemfile:
10
+
11
+ gem 'metro-ui-rails'
12
+
13
+ And then execute:
14
+
15
+ $ bundle
16
+
17
+ ## Installing to Rails project:
18
+
19
+ Require metro-ui/metro.less in your application.less:
20
+
21
+ @import 'metro-ui/modern.less';
22
+ @import 'metro-ui/modern-responsive.less'; // for responsive design
23
+
24
+ And then require metro-ui in your js or coffee application file:
25
+
26
+ #= require metro-ui
27
+
28
+
29
+ ## Layout generator
30
+
31
+ You can generate Metro UI compatible .erb layout.
32
+
33
+ Usage:
34
+
35
+ rails generate metro:layout [LAYOUT_NAME]
36
+
37
+ Example:
38
+
39
+ rails generate metro:layout application
40
+
41
+ ## License
42
+
43
+ This project only integrates [Metro-UI-CSS](https://github.com/olton/Metro-UI-CSS),
44
+ thus all credits go to Sergey Pimenov, see his [license](https://github.com/olton/Metro-UI-CSS).
data/Rakefile ADDED
@@ -0,0 +1,74 @@
1
+ require "bundler/gem_tasks"
2
+ require "pathname"
3
+ require "fileutils"
4
+
5
+ task :submodule do
6
+ sh "git submodule update --init" unless File.exist?('Metro-UI-CSS/README.md')
7
+ end
8
+
9
+ desc "Remove the vendor directory"
10
+ task :clean do
11
+ FileUtils.rm_rf 'vendor'
12
+ end
13
+
14
+ desc "Copy stylesheets files from submodule"
15
+ task :stylesheets do
16
+ images_path = 'vendor/assets/images/metro-ui/'
17
+ FileUtils.mkdir_p 'vendor/toolkit/metro-ui/'
18
+ FileUtils.mkdir_p images_path
19
+
20
+ Dir.glob("Metro-UI-CSS/less/*.less").each do |path|
21
+ less = File.read(path)
22
+
23
+ regexp = /url\(..\/images\/([-_.a-zA-Z0-9]+)\)/
24
+
25
+ # copy only required images
26
+ less.scan(regexp).each do |images|
27
+ FileUtils.cp "Metro-UI-CSS/public/images/#{images.first}", images_path
28
+ end
29
+
30
+ # fix for image paths
31
+ less.gsub! regexp, "image-url('metro-ui/\\1')"
32
+
33
+
34
+ regexp = /url\(\'..\/fonts\/([-_.a-zA-Z0-9]+)(\?\#iefix|\#iconFont)?'\)/
35
+
36
+ # fix for font paths
37
+ less.gsub! regexp, "font-url('metro-ui/\\1')"
38
+
39
+ basename = Pathname.new(path).basename
40
+ destination_file = "vendor/toolkit/metro-ui/#{basename}"
41
+
42
+ File.write(destination_file, less)
43
+ end
44
+ end
45
+
46
+ desc "Copy javascripts files from submodule"
47
+ task :javascripts do
48
+ path = 'vendor/assets/javascripts/metro-ui'
49
+ FileUtils.mkdir_p path
50
+ js_files = Dir.glob("Metro-UI-CSS/javascript/*.js")
51
+ FileUtils.cp js_files, path
52
+
53
+ File.open('vendor/assets/javascripts/metro-ui.js', 'w') do |output|
54
+ js_files.each do |f|
55
+ js_file = Pathname.new(f).basename.to_s.gsub('.js', '')
56
+ output.write "//= require metro-ui/#{js_file}\n"
57
+ end
58
+ end
59
+ end
60
+
61
+ desc "Copy font files from submodule"
62
+ task :fonts do
63
+ path = 'vendor/assets/fonts/metro-ui'
64
+ FileUtils.mkdir_p path
65
+ image_types = %w(eot svg ttf woff)
66
+ font_files = Dir.glob("Metro-UI-CSS/fonts/*.{#{image_types.join(',')}}")
67
+ FileUtils.cp font_files, path
68
+ end
69
+
70
+ desc "Clean and then generate everything (default)"
71
+ task :assets => [:clean, :stylesheets, :javascripts, :fonts]
72
+
73
+ task :default => :assets
74
+
@@ -0,0 +1,19 @@
1
+ require 'rails/generators'
2
+
3
+ module Metro
4
+ module Generators
5
+ class LayoutGenerator < ::Rails::Generators::Base
6
+ source_root File.expand_path("../templates", __FILE__)
7
+ desc "This generator generates layout file with navigation."
8
+ argument :layout_name, :type => :string, :default => "application"
9
+
10
+ attr_reader :app_name
11
+
12
+ def generate_layout
13
+ app = ::Rails.application
14
+ @app_name = app.class.to_s.split("::").first
15
+ template "layout.html.erb", "app/views/layouts/#{layout_name}.html.erb"
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,92 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1">
6
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
7
+ <title><%%= content_for?(:title) ? yield(:title) : "<%= app_name %>" %></title>
8
+ <%%= csrf_meta_tags %>
9
+
10
+ <!-- Le HTML5 shim, for IE6-8 support of HTML elements -->
11
+ <!--[if lt IE 9]>
12
+ <script src="http://html5shim.googlecode.com/svn/trunk/html5.js" type="text/javascript"></script>
13
+ <![endif]-->
14
+
15
+ <%%= stylesheet_link_tag "application", :media => "all" %>
16
+
17
+ <!-- For third-generation iPad with high-resolution Retina display: -->
18
+ <!-- Size should be 144 x 144 pixels -->
19
+ <%%= favicon_link_tag 'images/apple-touch-icon-144x144-precomposed.png', :rel => 'apple-touch-icon-precomposed', :type => 'image/png', :sizes => '144x144' %>
20
+
21
+ <!-- For iPhone with high-resolution Retina display: -->
22
+ <!-- Size should be 114 x 114 pixels -->
23
+ <%%= favicon_link_tag 'images/apple-touch-icon-114x114-precomposed.png', :rel => 'apple-touch-icon-precomposed', :type => 'image/png', :sizes => '114x114' %>
24
+
25
+ <!-- For first- and second-generation iPad: -->
26
+ <!-- Size should be 72 x 72 pixels -->
27
+ <%%= favicon_link_tag 'images/apple-touch-icon-72x72-precomposed.png', :rel => 'apple-touch-icon-precomposed', :type => 'image/png', :sizes => '72x72' %>
28
+
29
+ <!-- For non-Retina iPhone, iPod Touch, and Android 2.1+ devices: -->
30
+ <!-- Size should be 57 x 57 pixels -->
31
+ <%%= favicon_link_tag 'images/apple-touch-icon-precomposed.png', :rel => 'apple-touch-icon-precomposed', :type => 'image/png' %>
32
+
33
+ <!-- For all other devices -->
34
+ <!-- Size should be 32 x 32 pixels -->
35
+ <%%= favicon_link_tag 'images/favicon.ico', :rel => 'shortcut icon' %>
36
+ </head>
37
+
38
+ <body class="modern-ui">
39
+ <div class="page">
40
+ <div class="nav-bar">
41
+ <div class="nav-bar-inner padding10">
42
+ <span class="pull-menu"></span>
43
+
44
+ <a href="/">
45
+ <span class="element brand">
46
+ <span class="metro-ui-logo place-left"></span>
47
+ <span class="name"><%= app_name %></span>
48
+ </span>
49
+ </a>
50
+
51
+ <ul class="menu">
52
+ <li><%%= link_to "Home", "/" %></li>
53
+
54
+ <li data-role="dropdown">
55
+ <a href="#">Menu</a>
56
+ <ul class="dropdown-menu">
57
+ <li><%%= link_to "Link1", "/path1" %></li>
58
+ <li><%%= link_to "Link2", "/path2" %></li>
59
+ <li class="divider"></li>
60
+ <li><%%= link_to "Link3", "/path3" %></li>
61
+ </ul>
62
+ </li>
63
+ </ul>
64
+ </div>
65
+ </div>
66
+
67
+ <div class="page-region">
68
+ <div class="page-region-content">
69
+ <div class="grid">
70
+ <div class="row">
71
+ <%%= yield %>
72
+ </div>
73
+ </div>
74
+ </div>
75
+ </div>
76
+
77
+
78
+ <div class="nav-bar">
79
+ <div class="nav-bar-inner" style="padding: 10px 10px 5px;">
80
+ <span class="element">&copy; Company 2012</span>
81
+ </div>
82
+ </div>
83
+
84
+ </div>
85
+
86
+ <!-- Javascripts
87
+ ================================================== -->
88
+ <!-- Placed at the end of the document so the pages load faster -->
89
+ <%%= javascript_include_tag "application" %>
90
+
91
+ </body>
92
+ </html>
@@ -0,0 +1,16 @@
1
+ require 'rails'
2
+
3
+ module Metro
4
+ module Ui
5
+ module Rails
6
+ class Engine < ::Rails::Engine
7
+ initializer 'metro-ui-rails.setup',
8
+ :after => 'less-rails.after.load_config_initializers',
9
+ :group => :all do |app|
10
+ app.config.less.paths << File.join(config.root, 'vendor', 'toolkit')
11
+ app.config.assets.paths << File.join(config.root, 'vendor', 'fonts')
12
+ end
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,2 @@
1
+ require 'metro/ui/rails/engine'
2
+ require 'metro/ui/rails/version'
@@ -0,0 +1,7 @@
1
+ module Metro
2
+ module Ui
3
+ module Rails
4
+ VERSION = "0.15.9"
5
+ end
6
+ end
7
+ end
@@ -0,0 +1,10 @@
1
+ module Metro
2
+ module Ui
3
+ module Rails
4
+ require 'metro/ui/rails/engine' if defined?(Rails)
5
+ end
6
+ end
7
+ end
8
+
9
+ require 'less-rails'
10
+ require 'metro/ui/rails/metro' if defined?(Rails)
@@ -0,0 +1,20 @@
1
+ # -*- encoding: utf-8 -*-
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require 'metro/ui/rails/version'
5
+
6
+ Gem::Specification.new do |gem|
7
+ gem.name = "macbury-metro-ui-rails"
8
+ gem.version = Metro::Ui::Rails::VERSION
9
+ gem.authors = ["Vilius Luneckas"]
10
+ gem.email = ["vilius.luneckas@gmail.com"]
11
+ gem.description = %q{metro-ui-rails project integrates Metro-UI CSS toolkit for Rails 3.1 Asset Pipeline}
12
+ gem.summary = %q{Metro-UI CSS toolkit for Rails 3.1 Asset Pipeline}
13
+ gem.homepage = "https://github.com/viliusluneckas/metro-ui-rails"
14
+
15
+ gem.files = `git ls-files`.split($/)
16
+ gem.require_paths = ["lib"]
17
+
18
+ gem.add_runtime_dependency 'less-rails', '~> 2.2.3'
19
+ gem.add_development_dependency 'rails', '>= 3.1'
20
+ end