cortex-reaver 0.2.2 → 0.2.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -167,6 +167,19 @@ You can also just provide a regex for the path, in which case it is matched dire
167
167
  'jquery.hotkeys-0.7.9.js',
168
168
  'cookie.js'
169
169
  ]
170
+
171
+ define :photographs,
172
+ :desc => "Photograph configuration options.",
173
+ :default => Construct.new
174
+ photographs.define :sizes,
175
+ :desc => "What sizes of each photograph to maintain.",
176
+ :default => {
177
+ :thumbnail => '166x',
178
+ :grid => '150x150',
179
+ :small => 'x512',
180
+ :medium => 'x768',
181
+ :large => 'x1024'
182
+ }
170
183
  end
171
184
 
172
185
  def compile_views
@@ -46,6 +46,15 @@ module CortexReaver
46
46
  end
47
47
  end
48
48
 
49
+ # Photographs
50
+ c.photographs.sizes = Construct.new
51
+ request['photographs.sizes'].split("\n").each do |line|
52
+ parts = line.strip.split(' ', 2)
53
+ if parts.size > 1
54
+ c.photographs.sizes[parts.first] = parts.last
55
+ end
56
+ end
57
+
49
58
  if errors.empty?
50
59
  # Save
51
60
  CortexReaver.instance_variable_set '@config', c
@@ -4,7 +4,7 @@ module CortexReaver
4
4
  # trait :app => :cortex_reaver
5
5
  engine :Erubis
6
6
  layout :text
7
- helper :form, :auth, :navigation, :workflow, :error, :sidebar, :aspect
7
+ helper :form, :auth, :navigation, :workflow, :error, :sidebar, :aspect, :common
8
8
  end
9
9
  end
10
10
 
@@ -0,0 +1,17 @@
1
+ module Ramaze
2
+ module Helper
3
+ module Common
4
+ def flashbox
5
+ f = ''
6
+ flash.each do |k, v|
7
+ f << '<div class="flash ' + k.to_s + '">'
8
+ f << '<div class="icon"></div>'
9
+ f << '<div class="body">' + v.to_s + '</div>'
10
+ f << '<div class="clear"></div>'
11
+ f << '</div>'
12
+ end
13
+ f
14
+ end
15
+ end
16
+ end
17
+ end
@@ -16,7 +16,9 @@
16
16
 
17
17
  <%= CortexReaver::MainController.render_view('adminbox') %>
18
18
 
19
- <%= @content %>
19
+ <div class="container" style="position: relative">
20
+ <%= @content %>
21
+ </div>
20
22
 
21
23
  <%= CortexReaver::MainController.render_view('tracker') %>
22
24
 
@@ -8,15 +8,6 @@ module CortexReaver
8
8
  plugin :sequenceable
9
9
  plugin :viewable
10
10
 
11
- # Target image sizes
12
- SIZES = {
13
- :thumbnail => '166x',
14
- :grid => '150x150',
15
- :small => 'x512',
16
- :medium => 'x768',
17
- :large => 'x1024',
18
- }
19
-
20
11
  many_to_many :tags, :class => 'CortexReaver::Tag'
21
12
  many_to_one :creator, :class => 'CortexReaver::User', :key => 'created_by'
22
13
  many_to_one :updater, :class => 'CortexReaver::User', :key => 'updated_by'
@@ -110,10 +101,11 @@ module CortexReaver
110
101
 
111
102
  # Regenerates various photo sizes.
112
103
  def regenerate_sizes
104
+ sizes = CortexReaver.config.photographs.sizes
113
105
  Ramaze::Log.info "Regenerating photo sizes for #{self}"
114
106
 
115
107
  # Find existing attachments, in order of decreasing (roughly) size
116
- known_files = attachments.map{|a| a.name.sub(/\.jpg$/,'')} & (SIZES.keys.map(&:to_s) + ['original'])
108
+ known_files = attachments.map{|a| a.name.sub(/\.jpg$/,'')} & (sizes.keys.map(&:to_s) + ['original'])
117
109
  largest = attachment(
118
110
  known_files.sort_by { |f|
119
111
  File.stat(attachment("#{f}.jpg").path).size
@@ -138,12 +130,11 @@ module CortexReaver
138
130
  end
139
131
 
140
132
  # Write appropriate sizes to disk
141
- SIZES.each do |size, geometry|
133
+ sizes.each do |size, geometry|
142
134
  image.change_geometry(geometry) do |width, height|
143
135
  attachment = attachment(size.to_s + '.jpg')
144
136
  image.scale(width, height).write(attachment.local_path)
145
137
  end
146
-
147
138
  end
148
139
 
149
140
  # Yep, GC time. Gotta clear out those imagemagick stubs.
@@ -23,9 +23,10 @@ ul.actions {
23
23
  .footer .actions {
24
24
  font-size: 80%;
25
25
  }
26
- .footer .actions li:before {
27
- content: '|';
26
+
27
+ .footer .actions li {
28
+ margin-right: 0.5em;
28
29
  }
29
- .footer .actions li:first-child:before {
30
- content: none;
30
+ .footer .actions li:last-child {
31
+ margin-right: 0;
31
32
  }
@@ -6,6 +6,8 @@
6
6
  font-size: 80%;
7
7
  text-align: center;
8
8
  display: none;
9
+ -webkit-box-shadow: 0 0px 10px #000;
10
+ -moz-box-shadow: 0 0px 10px #000;
9
11
  }
10
12
 
11
13
  .admin.bar p {
@@ -1,17 +1,49 @@
1
1
  .flash {
2
- width: 700px;
3
- padding: 0.5em;
4
- margin: 10px;
2
+ padding: 0;
3
+ font-size: 14px;
4
+ -webkit-border-radius: 4px;
5
+ -moz-border-radius: 4px;
6
+ margin-bottom: 10px;
5
7
  }
6
8
 
7
- #flash_notice {
8
- border: 1px solid #00b;
9
- color: #00b;
9
+ .flash .icon {
10
+ float: left;
11
+ background-image: url('/images/admin/icons.png');
12
+ background-repeat: no-repeat;
13
+ height: 32px;
14
+ width: 32px;
15
+ margin: 6px;
16
+ }
17
+
18
+ .flash .body {
19
+ margin: 6px;
20
+ float: left;
21
+ }
22
+
23
+ .flash.notice {
24
+ color: #003;
10
25
  background: #e6e6ff;
26
+ -webkit-box-shadow: 0 1px 2px #88a;
27
+ }
28
+ body.photographs .flash.notice {
29
+ background: #3C3C54;
30
+ -webkit-box-shadow: none;
31
+ color: #fff;
32
+ }
33
+ .flash.notice .icon {
34
+ background-position: -224px -32px;
11
35
  }
12
36
 
13
- #flash_error {
14
- border: 1px solid #b00;
15
- color: #b00;
37
+ .flash.error {
38
+ color: #300;
16
39
  background: #ffe6e6;
40
+ -webkit-box-shadow: 0 1px 2px #a88;
41
+ }
42
+ body.photographs .flash.error {
43
+ background: #541C1C;
44
+ color: #fff;
45
+ -webkit-box-shadow: none;
46
+ }
47
+ .flash.error .icon {
48
+ background-position: -256px -32px;
17
49
  }
@@ -3,11 +3,16 @@ textarea {
3
3
  height: 36em;
4
4
  }
5
5
 
6
- p.small textarea {
6
+ .small textarea {
7
7
  width: 99%;
8
8
  height: 3em;
9
9
  }
10
10
 
11
+ .medium textarea {
12
+ width: 99%;
13
+ height: 10em;
14
+ }
15
+
11
16
  form p {
12
17
  clear: both;
13
18
  }
@@ -17,6 +17,10 @@
17
17
  color: #fff;
18
18
  padding: 2px 4px 2px 0;
19
19
  height: 12px;
20
+ -moz-border-radius-topright: 2px;
21
+ -moz-border-radius-bottomright: 2px;
22
+ -webkit-border-top-right-radius: 2px;
23
+ -webkit-border-bottom-right-radius: 2px;
20
24
  }
21
25
 
22
26
  .progress .percent_bar {
@@ -4,19 +4,15 @@ ul.tags {
4
4
  padding: 0px;
5
5
  background: url(/images/tag.gif) no-repeat;
6
6
  background-position: 0px 3px;
7
- padding-left: 12px;
7
+ padding-left: 14px;
8
8
  }
9
9
 
10
10
  .tags li {
11
11
  display: inline;
12
+ margin-right: 0.5em;
12
13
  }
13
-
14
- .tags li:before {
15
- content: ', '
16
- }
17
-
18
- .tags li:first-child:before {
19
- content: none;
14
+ .tags li:last-child {
15
+ margin-right: 0;
20
16
  }
21
17
 
22
18
  /* Global tags display */
@@ -1,6 +1,6 @@
1
1
  module CortexReaver
2
2
  APP_NAME = 'Cortex Reaver'
3
- APP_VERSION = '0.2.2'
3
+ APP_VERSION = '0.2.3'
4
4
  APP_AUTHOR = 'Kyle Kingsbury'
5
5
  APP_EMAIL = 'aphyr@aphyr.com'
6
6
  APP_URL = 'http://aphyr.com'
@@ -11,7 +11,10 @@
11
11
  <%= form_p 'site.description', :type => :textarea, :description => 'Description', :default => @config.site.description, :p_class => 'small' %>
12
12
 
13
13
  <h3>Navigation</h3>
14
- <%= form_p 'view.sections', :type => :textarea, :description => @config.view.schema[:sections][:desc], :default => @config.view.sections.map{ |p| p.join(' ') }.join("\n") %>
14
+ <%= form_p 'view.sections', :type => :textarea, :description => @config.view.schema[:sections][:desc], :default => @config.view.sections.map{ |p| p.join(' ') }.join("\n"), :p_class => 'medium' %>
15
+
16
+ <h3>Photographs</h3>
17
+ <%= form_p 'photographs.sizes', :type => :textarea, :description => @config.photographs.schema[:sizes][:desc], :default => @config.photographs.sizes.map { |p| p.join(' ') }.join("\n"), :p_class => 'medium' %>
15
18
 
16
19
  <input type="submit" value="Update Configuration" />
17
20
  </form>
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cortex-reaver
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.2
4
+ version: 0.2.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kyle Kingsbury
@@ -100,7 +100,7 @@ dependencies:
100
100
  requirements:
101
101
  - - ~>
102
102
  - !ruby/object:Gem::Version
103
- version: 0.1.2
103
+ version: 0.1.5
104
104
  version:
105
105
  - !ruby/object:Gem::Dependency
106
106
  name: rmagick
@@ -320,6 +320,7 @@ files:
320
320
  - lib/cortex_reaver/helper/tags.rb
321
321
  - lib/cortex_reaver/helper/auth.rb
322
322
  - lib/cortex_reaver/helper/form.rb
323
+ - lib/cortex_reaver/helper/common.rb
323
324
  - lib/cortex_reaver/helper/activity.rb
324
325
  - lib/cortex_reaver/helper/date.rb
325
326
  - lib/cortex_reaver/helper/error.rb