tkh_admin_panel 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
data/.DS_Store ADDED
Binary file
data/.gitignore ADDED
@@ -0,0 +1,20 @@
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
+ .DS_Store
19
+ log/*.log
20
+ log/*.pid
data/CHANGELOG.md ADDED
@@ -0,0 +1,9 @@
1
+ # TkhAdminPanel
2
+
3
+
4
+ ## 0.0.1
5
+
6
+ * Hooked the layout to Twitter bootstrap
7
+ * Creation of admin.html.erb in layout folder
8
+
9
+
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # Specify your gem's dependencies in tkh_admin_panel.gemspec
4
+ gemspec
data/LICENSE ADDED
@@ -0,0 +1,22 @@
1
+ Copyright (c) 2012 Swami Atma - Ten Thousand Hours
2
+
3
+ MIT License
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining
6
+ a copy of this software and associated documentation files (the
7
+ "Software"), to deal in the Software without restriction, including
8
+ without limitation the rights to use, copy, modify, merge, publish,
9
+ distribute, sublicense, and/or sell copies of the Software, and to
10
+ permit persons to whom the Software is furnished to do so, subject to
11
+ the following conditions:
12
+
13
+ The above copyright notice and this permission notice shall be
14
+ included in all copies or substantial portions of the Software.
15
+
16
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
20
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,38 @@
1
+ # TkhAdminPanel
2
+
3
+ This is a Rails engine with an admin panel layout, assets and basic functionality.
4
+
5
+ Primarily developed for Ten Thousand Hours but we are happy to share if anybody finds it useful.
6
+
7
+ ## Installation
8
+
9
+ This gem was created in sync with Rails 3.2.6 and there is a railstie dependency of "~> 3.2". Add this line to your application's Gemfile:
10
+
11
+ gem 'tkh_admin_panel'
12
+
13
+ And then execute:
14
+
15
+ $ bundle
16
+
17
+ Or install it yourself as:
18
+
19
+ $ gem install tkh_admin_panel
20
+
21
+ ## Usage
22
+
23
+ You also need to do the following:
24
+
25
+ * add admin.js and admin.css to your config.assets.precompile in your production environment config file
26
+ * render layout: 'admin' for the controller actions you want to be linked to this layout
27
+ * Add a gem 'bootstrap-sass' line to your gemfile in the assets group and run bundle
28
+ * Restart your server
29
+
30
+ ## Contributing
31
+
32
+ Pull requests for new features and bug fixes are welcome.
33
+
34
+ 1. Fork it
35
+ 2. Create your feature branch (`git checkout -b my-new-feature`)
36
+ 3. Commit your changes (`git commit -am 'Added some feature'`)
37
+ 4. Push to the branch (`git push origin my-new-feature`)
38
+ 5. Create new Pull Request
data/Rakefile ADDED
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env rake
2
+ require "bundler/gem_tasks"
@@ -0,0 +1,10 @@
1
+ // This is a manifest file that'll be compiled into including all the files listed below.
2
+ // Add new JavaScript/Coffee code in separate files in this directory and they'll automatically
3
+ // be included in the compiled file accessible from http://example.com/assets/application.js
4
+ // It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the
5
+ // the compiled file.
6
+ //
7
+ //= require jquery
8
+ //= require jquery_ujs
9
+ //= require bootstrap
10
+ //= require custom
@@ -0,0 +1,4 @@
1
+ jQuery ->
2
+ # $("a[rel=popover]").popover()
3
+ # $(".tooltip").tooltip()
4
+ # $("a[rel=tooltip]").tooltip()
@@ -0,0 +1,172 @@
1
+ @import 'bootstrap_and_overrides.css.scss';
2
+
3
+ //body {
4
+ // margin: 0;
5
+ // padding: 0;
6
+ //}
7
+ //
8
+ //h1, h2, h3, h4, p, ul, ol { padding-left: 1%; padding-right: 2%; }
9
+ //blockquote {
10
+ // border-left: 3px solid $red;
11
+ // margin: 2em 0 2em 5%;
12
+ // padding-right: 2%;
13
+ // cite {
14
+ // font-style: italic;
15
+ // font-weight: bold;
16
+ // }
17
+ // cite:before { content:" ~ "; }
18
+ //}
19
+ //
20
+ //p, ul, ol { font-size: 1em; }
21
+ //
22
+ //h1 {
23
+ // color: $purple;
24
+ //}
25
+ //
26
+ //h2, h3, h4 {
27
+ // color: $blue;
28
+ //}
29
+ //
30
+ //ul {
31
+ // list-style-image: image_url('main/bullet.png');
32
+ //}
33
+ //
34
+ //a { text-decoration: underline; }
35
+ //
36
+ //footer {
37
+ // text-align: center;
38
+ //}
39
+ //
40
+ //.navbar { margin-bottom: 0; }
41
+ //
42
+ //.navbar, .navbar-inner {
43
+ // border-radius: 0;
44
+ // .brand {
45
+ // font-weight: bold;
46
+ // text-decoration: none;
47
+ // }
48
+ //}
49
+ //
50
+ //.navbar .nav li > a { text-decoration: underline; }
51
+ //
52
+ //.navbar .nav .active > a {
53
+ // color: #fff;
54
+ // font-weight: bold;
55
+ // text-decoration: none;
56
+ //}
57
+ //
58
+ //
59
+ //#main-content {
60
+ // padding: 1.75em 0;
61
+ // img {
62
+ // margin: 0 0 5px 3px;
63
+ // width: 40%;
64
+ // }
65
+ //}
66
+ //
67
+ //footer {
68
+ // background-color: $purple;
69
+ // color: #fff;
70
+ // margin: 0;
71
+ // padding: .33em 0 .15em;
72
+ // width: 100%;
73
+ // a {
74
+ // color: #fff;
75
+ // }
76
+ // a:hover { color: #fff; font-weight: bold; }
77
+ //}
78
+ //
79
+ //caption { // table titles
80
+ // color: $blue;
81
+ // font-size: 1.7em;
82
+ // font-weight: bold;
83
+ // padding: .2em 1em;
84
+ //}
85
+ //
86
+ //th {
87
+ // background-color: $red;
88
+ // color: $white;
89
+ //}
90
+ //
91
+ //@media (max-width: 480px) {
92
+ // #big-header {
93
+ // display: none;
94
+ // }
95
+ //}
96
+ //@media (max-width: 767px) {
97
+ // #big-header {
98
+ // margin: 0;
99
+ // padding: 0;
100
+ // img {
101
+ // width: 100%;
102
+ // }
103
+ // }
104
+ //}
105
+ //
106
+ //@media (min-width: 768px) {
107
+ // html {
108
+ // background-color: #dcd3e5;
109
+ // }
110
+ //
111
+ // body {
112
+ // margin: 0 auto 2em;
113
+ // border-radius: 0 0 10px 10px;
114
+ // width: 95%;
115
+ // @include box-shadow(5px 8px 18px 3px rgba(0,0,0,.25));
116
+ // }
117
+ //
118
+ // #big-header {
119
+ // margin: 0;
120
+ // padding: 0;
121
+ // img {
122
+ // width: 100%;
123
+ // }
124
+ // }
125
+ //
126
+ // #main-content {
127
+ // background: image_url('main/swooshes-big.jpg') top right no-repeat;
128
+ // img {
129
+ // margin: 0 0 6px 4px;
130
+ // width: 35%;
131
+ // }
132
+ // }
133
+ //
134
+ // footer { border-radius: 0 0 10px 10px; }
135
+ //
136
+ // .table-narrow {
137
+ // margin: .2em auto 1em;
138
+ // width: 50%;
139
+ // }
140
+ //
141
+ //}
142
+ //
143
+ //@media (min-width: 768px) and (max-width: 979px) {
144
+ // #main-content {
145
+ // background: image_url('main/swooshes.jpg') top right no-repeat;
146
+ // }
147
+ //}
148
+ //
149
+ //@media (min-width: 980px) {
150
+ // body { width: 84%; }
151
+ // p, ul, ol { font-size: 1.05em; }
152
+ // #main-content {
153
+ // background: image_url('main/swooshes-big.jpg') top right no-repeat;
154
+ // img {
155
+ // margin: 0 0 8px 6px;
156
+ // width: 30%;
157
+ // }
158
+ // }
159
+ //}
160
+ //
161
+ //@media (min-width: 1200px) {
162
+ // body { width: 78%; }
163
+ // p, ul, ol { font-size: 1.1em; }
164
+ // #main-content img {
165
+ // margin: 0 0 9px 7px;
166
+ // width: 21%;
167
+ // }
168
+ //}
169
+ //
170
+ //
171
+ //// generic classes
172
+ //.text-right { text-align: right; }
@@ -0,0 +1,25 @@
1
+ //// setting variables
2
+ //// some colors
3
+ //$purple: #52247f;
4
+ //$blue: #008fc5;
5
+ //$red: #ad5648;
6
+ //$purple20: #dcd3e5;
7
+ //$purple10: #ede9f2;
8
+ //$purple5: #f6f4f8;
9
+ //
10
+ //$linkColor: $purple;
11
+ //$linkColorHover: $red;
12
+ //
13
+ //// Set the correct sprite paths
14
+ //$iconSpritePath: image-path('glyphicons-halflings.png');
15
+ //$iconWhiteSpritePath: image-path('glyphicons-halflings-white.png');
16
+ //
17
+ //// navbar
18
+ //$navbarBackground: $red;
19
+ //$navbarBackgroundHighlight: #ad5648;
20
+ //$navbarText: #fff;
21
+ //$navbarLinkColor: #fff;
22
+ //$navbarLinkColorHover: $purple20;
23
+
24
+ @import "bootstrap";
25
+ @import "bootstrap-responsive";
@@ -0,0 +1,57 @@
1
+ <!DOCTYPE html>
2
+ <html lang="<%= I18n.locale.to_s || 'en' %>">
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>Admin Panel<%= " for #{SETTINGS['site_name']}" if SETTINGS['site_name'] %></title>
7
+ <!-- Le HTML5 shim, for IE6-8 support of HTML elements -->
8
+ <!--[if lt IE 9]>
9
+ <script src="http://html5shim.googlecode.com/svn/trunk/html5.js" type="text/javascript"></script>
10
+ <![endif]-->
11
+ <!-- Le styles -->
12
+ <%= stylesheet_link_tag "admin", :media => "all" %>
13
+ <!-- Le fav and touch icons -->
14
+ <%= favicon_link_tag %>
15
+ <link href="images/apple-touch-icon.png" rel="apple-touch-icon">
16
+ <link href="images/apple-touch-icon-72x72.png" rel="apple-touch-icon" sizes="72x72">
17
+ <link href="images/apple-touch-icon-114x114.png" rel="apple-touch-icon" sizes="114x114">
18
+ <%= csrf_meta_tag %>
19
+ </head>
20
+
21
+ <body>
22
+
23
+ <div class="container-fluid">
24
+ <div class="row-fluid">
25
+
26
+ <div id="main-content" class="span12">
27
+ <p>
28
+ <%= I18n.locale == :en ? link_to('switch to Spanish', locale: :es) : link_to('switch to English', locale: :en) %>
29
+ </p>
30
+ <h1>Admin Panel<%= " for #{SETTINGS['site_name']}" if SETTINGS['site_name'] %></h1>
31
+ <% flash.each do |name, msg| %>
32
+ <div class="alert alert-<%= name == :notice ? "success" : "error" %>">
33
+ <a class="close" data-dismiss="alert">×</a>
34
+ <%= msg %>
35
+ </div>
36
+ <% end %>
37
+
38
+ <%= yield %>
39
+ </div>
40
+
41
+ </div><!--/row-->
42
+ </div> <!-- /container -->
43
+
44
+ <div id="footer">
45
+ <div id="ohlala-name">
46
+ <p><%= SETTINGS['web_firm_name'] || "Ten Thousand Hours" %></p>
47
+ </div>
48
+ <p><%= SETTINGS['web_firm_short_url'] || "swami@TenThousandHours.eu" %></p>
49
+ </div>
50
+
51
+ <!-- Le javascript
52
+ ================================================== -->
53
+ <!-- Placed at the end of the document so the pages load faster -->
54
+ <%= javascript_include_tag "admin" %>
55
+
56
+ </body>
57
+ </html>
@@ -0,0 +1,9 @@
1
+ require "tkh_admin_panel/version"
2
+
3
+ module TkhAdminPanel
4
+ # I don't think this is necessary
5
+ # module Rails
6
+ class Engine < ::Rails::Engine
7
+ end
8
+ # end
9
+ end
@@ -0,0 +1,3 @@
1
+ module TkhAdminPanel
2
+ VERSION = "0.0.1"
3
+ end
data/public/.DS_Store ADDED
Binary file
Binary file
@@ -0,0 +1,21 @@
1
+ # -*- encoding: utf-8 -*-
2
+ require File.expand_path('../lib/tkh_admin_panel/version', __FILE__)
3
+
4
+ Gem::Specification.new do |gem|
5
+ gem.authors = ["Swami Atma"]
6
+ gem.email = ["swami@TenThousandHours.eu"]
7
+ gem.description = %q{Admin panel layout engine}
8
+ gem.summary = %q{A Rails admin panel engine with layout, assets, and basic functionality}
9
+ gem.homepage = ""
10
+
11
+ gem.add_dependency "railties", "~> 3.2"
12
+ gem.add_dependency "sass-rails"
13
+ gem.add_dependency "bootstrap-sass"
14
+
15
+ gem.files = `git ls-files`.split($\)
16
+ gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
17
+ gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
18
+ gem.name = "tkh_admin_panel"
19
+ gem.require_paths = ["lib"]
20
+ gem.version = TkhAdminPanel::VERSION
21
+ end
metadata ADDED
@@ -0,0 +1,110 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: tkh_admin_panel
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Swami Atma
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2012-07-24 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: railties
16
+ requirement: !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ~>
20
+ - !ruby/object:Gem::Version
21
+ version: '3.2'
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: '3.2'
30
+ - !ruby/object:Gem::Dependency
31
+ name: sass-rails
32
+ requirement: !ruby/object:Gem::Requirement
33
+ none: false
34
+ requirements:
35
+ - - ! '>='
36
+ - !ruby/object:Gem::Version
37
+ version: '0'
38
+ type: :runtime
39
+ prerelease: false
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: '0'
46
+ - !ruby/object:Gem::Dependency
47
+ name: bootstrap-sass
48
+ requirement: !ruby/object:Gem::Requirement
49
+ none: false
50
+ requirements:
51
+ - - ! '>='
52
+ - !ruby/object:Gem::Version
53
+ version: '0'
54
+ type: :runtime
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ! '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ description: Admin panel layout engine
63
+ email:
64
+ - swami@TenThousandHours.eu
65
+ executables: []
66
+ extensions: []
67
+ extra_rdoc_files: []
68
+ files:
69
+ - .DS_Store
70
+ - .gitignore
71
+ - CHANGELOG.md
72
+ - Gemfile
73
+ - LICENSE
74
+ - README.md
75
+ - Rakefile
76
+ - app/assets/javascripts/admin.js
77
+ - app/assets/javascripts/custom.js.coffee
78
+ - app/assets/stylesheets/admin.css.scss
79
+ - app/assets/stylesheets/bootstrap_and_overrides.css.scss
80
+ - app/views/layouts/admin.html.erb
81
+ - lib/tkh_admin_panel.rb
82
+ - lib/tkh_admin_panel/version.rb
83
+ - public/.DS_Store
84
+ - public/favicon.ico
85
+ - tkh_admin_panel.gemspec
86
+ homepage: ''
87
+ licenses: []
88
+ post_install_message:
89
+ rdoc_options: []
90
+ require_paths:
91
+ - lib
92
+ required_ruby_version: !ruby/object:Gem::Requirement
93
+ none: false
94
+ requirements:
95
+ - - ! '>='
96
+ - !ruby/object:Gem::Version
97
+ version: '0'
98
+ required_rubygems_version: !ruby/object:Gem::Requirement
99
+ none: false
100
+ requirements:
101
+ - - ! '>='
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ requirements: []
105
+ rubyforge_project:
106
+ rubygems_version: 1.8.23
107
+ signing_key:
108
+ specification_version: 3
109
+ summary: A Rails admin panel engine with layout, assets, and basic functionality
110
+ test_files: []