c80_news 0.1.0.7 → 0.1.0.8

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 9a77d657ac65b724ecd4b4dc2bebecc359a5beea
4
- data.tar.gz: 2b9d5f3135bab897568d8b2b7b35586173a4ce14
3
+ metadata.gz: c7236cbf01606e5e6f0a3003beb3e610348a8d9e
4
+ data.tar.gz: edd2b9cb56bc7827883145b18c3ffa90b3247d7f
5
5
  SHA512:
6
- metadata.gz: c6dc4a3d2d18eb95fdc47db553dc5312ef5e00963eab0cf10dfbeb96bab0c3a3a12f76abe883e77f0fc9916015f1929f16f5c94971f5b9c23048497fe312ff90
7
- data.tar.gz: 2fd613fee6a4523fa9fe9e70862ab1d58e8a87f0b40a495846ca180aa0dbd16b2593f753f2070aae93073e44eb3f164837fe1d6e550b0ad20de5b88e1ac9a32d
6
+ metadata.gz: 20978ec66e5dc60bd22e75ce6a351aae177c36c23e9b3f59862d59caca2d667638028a863aab7ee0d2da4b4452d16ef38fb536ef2fb0ab37c3513b305c42f956
7
+ data.tar.gz: 53d60ef6cf83304d7fe88785068b34dcf8ba1c86f3b9902afa09f594e4c2be366c6eaed712dd88ae189d791a33d582495a992cc84d546d3a58c92e43cc8f07d9
data/README.md CHANGED
@@ -40,13 +40,26 @@ mount C80News::Engine => '/'
40
40
  ```
41
41
  6) Add this line to `application.scss`:
42
42
  ```
43
- @import "c80_news/application";
43
+ @import "c80_news";
44
44
  ```
45
45
  7) Add this line to `application_controller.rb`:
46
46
  ```
47
47
  helper C80News::Engine.helpers
48
48
  ```
49
49
 
50
+ 20161009:
51
+ ```
52
+ scout@scout-VirtualBox:~/git/bitbucket
53
+ $ grep c80_news . -r --include=Gemfile
54
+ ./vape_store/Gemfile:gem 'c80_news'#, '0.1.0.4', :github => 'c80_news/c80_news', :branch => 'master'
55
+ ./sass_seo/Gemfile:gem 'c80_news'#, '0.1.0.4', :github => 'c80_news/c80_news', :branch => 'master'
56
+ ./techz/Gemfile:gem 'c80_news_tz', '0.1.1.26'#, :github => 'c80_news_tz/c80_news_tz', :branch => 'feature_list_companies'
57
+ ./real_estate/Gemfile:gem 'c80_news', '0.1.0.6'
58
+ ./photostudio/Gemfile:gem 'c80_news', '0.1.0.7', :github => 'c80_news/c80_news', :branch => 'master'
59
+ ./patron/Gemfile:gem 'c80_news'#, '0.1.0.4', :github => 'c80_news/c80_news', :branch => 'master'
60
+ ```
61
+
62
+
50
63
  ## Available helper methods
51
64
 
52
65
  ```
@@ -9,7 +9,7 @@ var fNewsStartWillPaginateAjax;
9
9
  var fNewsProcessBlocks; // при клике по preview-картинке новости будет происходить переход на просмотр новости
10
10
 
11
11
  $(function () {
12
- if ($("body#news").length == 1) {
12
+ if ($(".news_block").length) {
13
13
 
14
14
  fNewsBindHistoryAdapter = function () {
15
15
  History.Adapter.bind(window,'statechange',function(){ // Note: We are using statechange instead of popstate
@@ -30,10 +30,18 @@ $(function () {
30
30
  };
31
31
 
32
32
  fNewsdoAjaxRequest = function (page/*integer*/,callback/*function*/) {
33
+
34
+ var $ajax_div = $('.ajax_div'); // к этому контейнеру изначально прикреплены кое-какие данные
35
+
33
36
  $.ajax({
34
37
  url: "/news_guru",
35
38
  type: "POST",
36
- data: {page: page},
39
+ data: {
40
+ page: page,
41
+ is_render_paginator: $ajax_div.data('is_render_paginator'), // эти переменные
42
+ partial_name: $ajax_div.data('partial_name'), // уходят транзитом
43
+ css_class_news_block: $ajax_div.data('css_class_news_block') // на render_news_block
44
+ },
37
45
  dataType: "script"
38
46
  }).done(callback);
39
47
  };
@@ -0,0 +1 @@
1
+ #= require_tree ./c80_news
@@ -0,0 +1,127 @@
1
+ @mixin style_photostudio {
2
+
3
+ div.news_list {
4
+
5
+ div.fact {
6
+ height: 362px;
7
+ overflow: hidden;
8
+
9
+ a.h5 {
10
+
11
+ h5 {
12
+ padding-right: 14px;
13
+ font-size: 20px;
14
+ }
15
+
16
+ }
17
+
18
+ p.short {
19
+ padding-right: 14px;
20
+ color: #747474;
21
+ }
22
+
23
+ }
24
+
25
+ }
26
+
27
+ &.is_news_page {
28
+
29
+ div.fact {
30
+ height: 360px;
31
+ position: relative;
32
+
33
+ a.h5 {
34
+ position: relative;
35
+ display: block;
36
+
37
+ h5 {
38
+ /* разместим поверх картинки на полупрозрачном фоне */
39
+ color: #ffffff;
40
+ position: absolute;
41
+ top: -102px;
42
+ padding: 19px 6px 6px 15px;
43
+ background-color: rgba(0, 0, 0, 0.2);
44
+ height: 67px;
45
+ font-size: 18px;
46
+ text-shadow: 0 0 5px rgba(0, 0, 0, 0.4);
47
+ }
48
+ }
49
+
50
+ p {
51
+ font-size: 16px;
52
+ }
53
+
54
+ p.date {
55
+ position: absolute;
56
+ height: 25px;
57
+ margin: 0;
58
+ top: 192px;
59
+ padding: 3px 5px 6px 16px;
60
+ background-color: rgba(255, 255, 0, 0.31);
61
+ width: 89px !important;
62
+ /*border-bottom: 1px solid rgba(255,255,255,0.9);*/
63
+ }
64
+
65
+ p.short {
66
+ color: #212121;
67
+ }
68
+ }
69
+
70
+ }
71
+
72
+ div.div_will_paginate {
73
+ clear: both;
74
+
75
+ div.pagination {
76
+
77
+ span {
78
+ &.previous_page {
79
+ display: none;
80
+ }
81
+ &.next_page {
82
+ display: none;
83
+ }
84
+ &.disabled {
85
+
86
+ }
87
+ }
88
+
89
+ em {
90
+
91
+ display: inline-block;
92
+ background-color: #fafaff;
93
+ line-height: 29px;
94
+ width: 30px;
95
+ height: 30px;
96
+ text-align: center;
97
+ font-weight: bold !important;
98
+
99
+ &.current {
100
+ border: 1px solid #cbcbcf;
101
+ }
102
+
103
+ }
104
+
105
+ a {
106
+ display: inline-block;
107
+ border: 1px solid #cbcbcf;
108
+ background-color: #E4E4E9;
109
+ color: #292B3A;
110
+ line-height: 29px;
111
+ width: 30px;
112
+ height: 30px;
113
+ text-align: center;
114
+ font-family: arial, sans-serif;
115
+ text-decoration: none;
116
+
117
+ &.next_page {
118
+ display: none;
119
+ }
120
+
121
+ }
122
+
123
+ }
124
+ }
125
+
126
+ }
127
+
@@ -0,0 +1,49 @@
1
+ div.news_block {
2
+
3
+ div.news_list {
4
+ position: relative; /** Needed to ensure items are laid out relative to this container **/
5
+ padding: 0;
6
+ margin: 0;
7
+
8
+ div.fact {
9
+ display: block;
10
+ float: left;
11
+ /*width: 229px;*/
12
+ /*max-height: 350px;*/
13
+ overflow: hidden;
14
+ margin-bottom: 25px;
15
+
16
+ img {
17
+ margin-bottom: 15px;
18
+ max-width: 100%;
19
+ }
20
+
21
+ }
22
+
23
+ &.per_row_3 {
24
+ .fact {
25
+ width: 33.33333%;
26
+ }
27
+ }
28
+
29
+ &.per_row_4 {
30
+ .fact {
31
+ width: 25%;
32
+ }
33
+ }
34
+
35
+ &.is_news_page {
36
+
37
+ div.fact {
38
+
39
+ }
40
+
41
+ }
42
+
43
+ }
44
+
45
+ &.style_photostudio {
46
+ @include style_photostudio;
47
+ }
48
+
49
+ }
@@ -2,4 +2,4 @@
2
2
  *= require_self
3
3
  */
4
4
 
5
- @import "facts_wookmark";
5
+ @import "c80_news/**/*";
@@ -1,6 +1,10 @@
1
+ require "c80_lazy_images"
2
+
1
3
  module C80News
2
4
  class ApplicationController < ActionController::Base
3
5
 
6
+ helper C80LazyImages::Engine.helpers
7
+
4
8
  def guru
5
9
  respond_to do |format|
6
10
  format.js
@@ -4,33 +4,66 @@ module C80News
4
4
 
5
5
  include LocalTimeHelper
6
6
 
7
- def render_news_block(is_news_page=false,page=1)
7
+ def render_news_block(is_news_page=false, page=1, options={})
8
8
 
9
+ # 1. на странице НОВОСТИ выводим per_page новостей, в виджете выводим per_widget новостей
10
+ # 2. на странице НОВОСТИ div.news_block имеет класс is_news_page
11
+ # 3. к div.news_block можно дописать стиль, типа style_photostudio
9
12
 
13
+ per_page = Prop.first.per_widget
14
+ css_class_news_block = ''
10
15
  if is_news_page
11
- per_page = C80News::Prop.first.per_page
12
- news = Fact.paginate(:page => page,:per_page => per_page)
13
- else
14
- per_widget = C80News::Prop.first.per_widget
15
- news = Fact.limit(per_widget)
16
+ css_class_news_block = 'is_news_page'
17
+ per_page = Prop.first.per_page
16
18
  end
19
+ per_block_row = Prop.first.per_widget
20
+
21
+ #
22
+ if options[:css_class_news_block].present?
23
+ css_class_news_block += " #{options[:css_class_news_block]}"
24
+ end
25
+
26
+ news = Fact.paginate(:page => page, :per_page => per_page)
17
27
 
18
28
  render :partial => "shared/news_block",
19
29
  :locals => {
20
30
  :news_list => news,
21
- :is_news_page => is_news_page
31
+ :is_news_page => is_news_page,
32
+ :per_block_row => per_block_row,
33
+ :partial_name => options[:partial_name],
34
+ :is_render_paginator => options[:is_render_paginator],
35
+ :thumb_size => options[:thumb_size],
36
+ :css_class_news_block => css_class_news_block
22
37
  }
23
38
  end
24
39
 
25
- def render_one_fact(fact)
26
- render :partial => "shared/fact",
40
+ def render_one_fact(fact, partial_name='fact',thumb_size='thumb_md')
41
+
42
+
43
+ unless thumb_size.present?
44
+ thumb_size = 'thumb_md'
45
+ end
46
+
47
+ Rails.logger.debug "[TRACE] <render_one_fact> thumb_size: #{thumb_size}"
48
+
49
+ # свойства модуля
50
+ p = Prop.first
51
+
52
+ # чтобы вёрстка не прыгала - зафиксируем размер картинки
53
+ w = p.send("#{thumb_size}_width")
54
+ h = p.send("#{thumb_size}_width")
55
+
56
+ render :partial => "shared/#{partial_name}",
27
57
  :locals => {
28
- fact: fact
58
+ fact: fact,
59
+ css_common_width_height: "width:#{w}px;height:#{h}px",
60
+ css_common_width: "width:#{w}px;",
61
+ thumb_size:thumb_size
29
62
  }
30
63
  end
31
64
 
32
65
  def url_for_fact(fact)
33
- "news/#{fact.slug}"
66
+ "/news/#{fact.slug}"
34
67
  end
35
68
 
36
69
  end
@@ -36,5 +36,37 @@ module C80News
36
36
 
37
37
  end
38
38
 
39
+ def thumb_sm
40
+ s = ''
41
+ if fphotos.count > 0
42
+ s = fphotos.first.image.thumb_sm
43
+ end
44
+ s
45
+ end
46
+
47
+ def thumb_md
48
+ s = ''
49
+ if fphotos.count > 0
50
+ s = fphotos.first.image.thumb_md
51
+ end
52
+ s
53
+ end
54
+
55
+ def thumb_lg
56
+ s = ''
57
+ if fphotos.count > 0
58
+ s = fphotos.first.image.thumb_lg
59
+ end
60
+ s
61
+ end
62
+
63
+ def thumb_preview
64
+ s = ''
65
+ if fphotos.count > 0
66
+ s = fphotos.first.image.thumb_preview
67
+ end
68
+ s
69
+ end
70
+
39
71
  end
40
72
  end
@@ -1,53 +1,45 @@
1
1
  module C80News
2
2
  class FphotoUploader < BaseFileUploader
3
3
 
4
- # NOTE:: ~FphotoUploader,PageArtUploader,BaseArtUploader~
5
- # NOTE:: содержит много повторяющегося кода
6
- # NOTE:: т.к. не прокатило наследование
7
- # NOTE:: от BaseArtUploader: не переопределяется def store_dir
4
+ # ограничение оригинальной картинки
5
+ process :resize_to_limit => [1600,1600]
8
6
 
9
- include CarrierWave::MiniMagick
10
-
11
- storage :file
7
+ def store_dir
8
+ "uploads/news/#{format("%02d", model.fact_id)}"
9
+ end
12
10
 
13
- # При загрузке картинок генерим два thumb:
14
- # - thumb_big (resize_to_limit),
15
- # - thumb_small (resize_to_limit: w = page_content*1/3).
11
+ # ---[ идут в контент новости ]---[ размер зависит от SiteProps.page_content_width ]--------------------------------------------------------------------------------------------------------------------
16
12
 
17
13
  version :thumb_big do
18
- process :resize_to_limit_big
14
+ process :resize_to_thumb_big
19
15
  end
20
16
 
21
17
  version :thumb_small do
22
- process :resize_to_limit_small
18
+ process :resize_to_thumb_small
23
19
  end
24
20
 
25
- version :thumb_preview do
26
- process :resize_to_fill => [229, 152]
27
- end
21
+ # ------------------------------------------------------------------------------------------------------------------------
28
22
 
29
- def store_dir
30
- "uploads/news/#{format("%02d", model.fact_id)}"
23
+ version :thumb_preview do
24
+ p = C80News::Prop.first
25
+ process :resize_to_fill => [p.thumb_preview_width, p.thumb_preview_height]
31
26
  end
32
27
 
33
- def extension_white_list
34
- %w(jpg jpeg gif png)
28
+ version :thumb_lg do
29
+ process :resize_to_lg
35
30
  end
36
31
 
37
- def filename
38
- if original_filename
39
- "photo_#{secure_token(4)}.#{file.extension}"
40
- end
32
+ version :thumb_md do
33
+ process :resize_to_md
41
34
  end
42
35
 
43
- protected
44
- def secure_token(length=16)
45
- var = :"@#{mounted_as}_secure_token"
46
- model.instance_variable_get(var) or model.instance_variable_set(var, SecureRandom.hex(length/2))
36
+ version :thumb_sm do
37
+ process :resize_to_sm
47
38
  end
48
39
 
40
+ # --[ идут в контент новости ]--------------------------------------------------------------------------------------
49
41
 
50
- def resize_to_limit_big
42
+ def resize_to_thumb_big
51
43
  # puts "<PageArtUploader.resize_to_limit_big>"
52
44
  manipulate! do |img|
53
45
 
@@ -61,11 +53,11 @@ module C80News
61
53
  end
62
54
  end
63
55
 
64
- def resize_to_limit_small
56
+ def resize_to_thumb_small
65
57
  # puts "<PageArtUploader.resize_to_limit_small>"
66
58
  manipulate! do |img|
67
59
 
68
- w = SiteProp.first.page_content_width/3
60
+ w = SiteProp.first.page_content_width/2
69
61
  h = calc_height_of_image(w)
70
62
 
71
63
  img.resize "#{w}x#{h}>"
@@ -75,6 +67,67 @@ module C80News
75
67
  end
76
68
  end
77
69
 
70
+ # ------------------------------------------------------------------------------------------------------------------------
71
+
72
+ def resize_to_lg
73
+
74
+ manipulate! do |img|
75
+
76
+ w = C80News::Prop.first.thumb_lg_width
77
+ h = C80News::Prop.first.thumb_lg_height
78
+
79
+ img.resize "#{w}x#{h}^"
80
+ img.gravity 'center'
81
+ img.extent "#{w}x#{h}"
82
+ img = yield(img) if block_given?
83
+ img
84
+
85
+ end
86
+
87
+ end
88
+
89
+ def resize_to_md
90
+
91
+ manipulate! do |img|
92
+
93
+ w = C80News::Prop.first.thumb_md_width
94
+ h = C80News::Prop.first.thumb_md_height
95
+
96
+ img.resize "#{w}x#{h}^"
97
+ img.gravity 'center'
98
+ img.extent "#{w}x#{h}"
99
+ img = yield(img) if block_given?
100
+ img
101
+
102
+ end
103
+
104
+ end
105
+
106
+ def resize_to_sm
107
+
108
+ manipulate! do |img|
109
+
110
+ w = C80News::Prop.first.thumb_sm_width
111
+ h = C80News::Prop.first.thumb_sm_height
112
+
113
+ img.resize "#{w}x#{h}^"
114
+ img.gravity 'center'
115
+ img.extent "#{w}x#{h}"
116
+ img = yield(img) if block_given?
117
+ img
118
+
119
+ end
120
+
121
+ end
122
+
123
+ # ------------------------------------------------------------------------------------------------------------------------
124
+
125
+ protected
126
+ def secure_token(length=16)
127
+ var = :"@#{mounted_as}_secure_token"
128
+ model.instance_variable_get(var) or model.instance_variable_set(var, SecureRandom.hex(length/2))
129
+ end
130
+
78
131
  private
79
132
 
80
133
  def calc_height_of_image(w)
@@ -1,10 +1,16 @@
1
- var $cc = $(".ajax_div");
2
- var html_str = "<%= j render_news_block(true,params[:page]) %>";
1
+ var $cc = $(".ajax_div").parent();
2
+ var html_str = "<%= j render_news_block(true,params[:page], {
3
+ :partial_name => params[:partial_name],
4
+ :is_render_paginator => params[:is_render_paginator],
5
+ :css_class_news_block => params[:css_class_news_block]
6
+ })
7
+ %>";
8
+
9
+ $('.ajax_div').remove();
10
+ $cc.append(html_str);
3
11
 
4
- $cc.html(html_str);
5
12
  Holder.run(".ajax_div img");
6
13
  fLazyStart();
7
14
 
8
15
  fNewsProccessPaginateLinks();
9
16
  fNewsProcessBlocks();
10
- $('.div_facts').wookmark({ align:"left", offset:20 });
@@ -0,0 +1,20 @@
1
+ <div class="fact">
2
+ <%= render_image_link_lazy({
3
+ :alt_image => fact.title,
4
+ :image => fact.send(thumb_size),
5
+ :a_href => url_for_fact(fact),
6
+ :a_class => '',
7
+ :a_style => css_common_width_height,
8
+ :a_rel => 'nofollow'
9
+ }) %>
10
+ <%= link_to(url_for_fact(fact), class: 'h5') do %>
11
+ <h5 style="<%= css_common_width %>"><%= fact.title %></h5>
12
+ <% end %>
13
+ <p class="date" style="<%= css_common_width %>">
14
+ <%= local_time(fact[:created_at], format: '%e.%m.%Y') %>
15
+ </p>
16
+ <p class="short" style="<%= css_common_width %>">
17
+ <%= fact[:short].html_safe %>
18
+ </p>
19
+ <div class="white_shadow"></div>
20
+ </div>
@@ -1,8 +1,15 @@
1
- <div class="ajax_div">
1
+ <div class="ajax_div news_block <%= css_class_news_block %>"
2
+ data-partial_name="<%= partial_name %>"
3
+ data-css_class_news_block="<%= css_class_news_block %>"
4
+ data-is_render_paginator="<%= is_render_paginator %>">
2
5
  <%= render :partial => "shared/news_list",
3
6
  :locals => {
4
7
  :news_list => news_list,
5
- :is_news_page => is_news_page
8
+ :is_news_page => is_news_page,
9
+ :per_row => per_block_row,
10
+ :partial_name => partial_name,
11
+ :is_render_paginator => is_render_paginator,
12
+ :thumb_size => thumb_size
6
13
  }
7
14
  %>
8
15
  </div>
@@ -1,11 +1,11 @@
1
- <div class="div_facts">
1
+ <div class="news_list clearfix per_row_<%=per_row%>">
2
2
  <% news_list.each do |fact| %>
3
3
 
4
- <%= check_preview(render_one_fact(fact).to_s, fact.fphotos, fact.title) %>
4
+ <%= render_one_fact(fact, partial_name, thumb_size).to_s %>
5
5
 
6
6
  <% end %>
7
7
  </div>
8
- <% if is_news_page %>
8
+ <% if is_news_page || is_render_paginator %>
9
9
  <div class="div_will_paginate">
10
10
  <%= will_paginate news_list %>
11
11
  </div>
data/c80_news.gemspec CHANGED
@@ -24,4 +24,5 @@ Gem::Specification.new do |spec|
24
24
  spec.add_dependency 'activesupport', ['>= 3.0.0']
25
25
  spec.add_dependency "rails", "~> 4.2.0"
26
26
  spec.add_dependency "local_time"
27
+ spec.add_dependency "c80_lazy_images"
27
28
  end
@@ -3,6 +3,14 @@ class CreateNewsProps < ActiveRecord::Migration
3
3
  create_table :c80_news_props, :options => 'COLLATE=utf8_unicode_ci' do |t|
4
4
  t.integer :per_page
5
5
  t.integer :per_widget
6
+ t.integer :thumb_preview_width
7
+ t.integer :thumb_preview_height
8
+ t.integer :thumb_sm_width
9
+ t.integer :thumb_sm_height
10
+ t.integer :thumb_md_width
11
+ t.integer :thumb_md_height
12
+ t.integer :thumb_lg_width
13
+ t.integer :thumb_lg_height
6
14
  t.timestamps
7
15
  end
8
16
  end
@@ -0,0 +1,19 @@
1
+ # rake db:seed:c80_news_01_fill_props
2
+
3
+ C80News::Prop.delete_all
4
+ C80News::Prop.create!({
5
+ thumb_lg_width: 640,
6
+ thumb_lg_height: 400,
7
+
8
+ thumb_md_width: 320,
9
+ thumb_md_height: 200,
10
+
11
+ thumb_sm_width: 80,
12
+ thumb_sm_height: 50,
13
+
14
+ per_widget: 3,
15
+ per_page: 6,
16
+ preview_width: 250,
17
+ preview_height: 164
18
+
19
+ })
@@ -0,0 +1,24 @@
1
+ # rake db:seed:c80_news_02_fill_facts
2
+
3
+ C80News::Fact.delete_all
4
+ C80News::Fact.create!([
5
+ {
6
+ title: "Постоянная акция, каждый 11й час в подарок",
7
+ short: "Это акция без срока и ограничений, набирите 10 часов и получите час в подарок в любом зале",
8
+ full: "<p>Это акция без срока и ограничений, набирите 10 часов и получите час в подарок в любом зале при следующем бронировании. Эта возможность есть у каждого клиента! С любовью, Фотостудия Life.</p>\r\n"
9
+ },
10
+ {
11
+ title: "Добро пожаловать на сайт фотостудии LIFE",
12
+ short: "Рады приветствовать Вас на сайте Авторской фото-студии LIFE",
13
+ full: "<p>[[1]] А Вы уже успели воспользоваться нашей осенней Акцией?!</p>\r\n\r\n<p>Напоминаем! До конца сентября в модельном зале фотостудии LIFE действует акция &quot;Бархатный сентябрь&quot;.</p>\r\n\r\n<p>Цена на аренду зала с его разнообразными декорациями и профессинальным оборудованием всего 600р/час!</p>\r\n"
14
+ },
15
+ {
16
+ title: "Разыгрываем подарки!",
17
+ short: "ВНИМАНИЕ! ВНИМАНИЕ! Фотостудия LIFE проводит РОЗЫГРЫШ!",
18
+ full: "<p>[[1]] Вы можете стать счастливым обладателем крутых призов!</p>\r\n\r\n<p>Напоминаем! До конца сентября в модельном зале фотостудии LIFE действует акция &quot;Бархатный сентябрь&quot;.</p>\r\n\r\n<p>Цена на аренду зала с его разнообразными декорациями и профессинальным оборудованием всего 600р/час!</p>\r\n"
19
+ },
20
+ {
21
+ title: "У нас открылся новый зал",
22
+ short: "Размер зала (55м2) и самой аквазоны (3 на 3 метра) позволяет снимать всё что вздумается",
23
+ full: "<p>[[1]] Размер зала (55м2) и самой аквазоны (3 на 3 метра) позволяет снимать всё что вздумается и с разным количеством людей. Уникальное матовое чёрное нескользящее покрытие, не видно в кадре, создаёт хорошую глубину воды и можно прыгать как угодно, не скользя. Несколько вариантов включения воды: передняя стенка, задняя и центральная улитка для активного дождя на модель, включаются в любых комбинациях и по отдельности. Специальный замораживающий свет для воды (капли не летят вверх как в других студиях), возможность повесить полотна и кольцо над водой (и свои полотна в наличии), пилон в аквазоне (сейчас устанавливается), ну и плюс мягкие черные фоны и вообще чёрный зал с пилоном без окон для любых съёмок, обращайтес 8(926)762-50-56</p>\r\n"}
24
+ ])
@@ -0,0 +1,7 @@
1
+ # rake db:seed:c80_album_gallery_recreate_versions
2
+
3
+ C80AlbumGallery::Gallery.all.each do |gallery|
4
+ gallery.gphotos.each do |gphoto|
5
+ gphoto.image.recreate_versions!
6
+ end
7
+ end
@@ -1,3 +1,3 @@
1
1
  module C80News
2
- VERSION = "0.1.0.7"
2
+ VERSION = "0.1.0.8"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: c80_news
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0.7
4
+ version: 0.1.0.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - C80609A
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-09-22 00:00:00.000000000 Z
11
+ date: 2016-10-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -80,6 +80,20 @@ dependencies:
80
80
  - - ">="
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: c80_lazy_images
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :runtime
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
83
97
  description: Gem adds news to site
84
98
  email:
85
99
  - c080609a@gmail.com
@@ -96,11 +110,12 @@ files:
96
110
  - Rakefile
97
111
  - app/admin/c80_news/facts.rb
98
112
  - app/assets/images/c80_news/.keep
113
+ - app/assets/javascripts/c80_news.coffee
99
114
  - app/assets/javascripts/c80_news/application.js.coffee
100
115
  - app/assets/javascripts/c80_news/facts_ajax.js
101
- - app/assets/javascripts/c80_news/facts_wookmark.js
102
- - app/assets/stylesheets/c80_news/application.scss
103
- - app/assets/stylesheets/c80_news/facts_wookmark.scss
116
+ - app/assets/stylesheets/c80_news.scss
117
+ - app/assets/stylesheets/c80_news/_mixins/style_photostudio.scss
118
+ - app/assets/stylesheets/c80_news/news_block.scss
104
119
  - app/controllers/c80_news/application_controller.rb
105
120
  - app/helpers/c80_news/application_helper.rb
106
121
  - app/models/c80_news/fact.rb
@@ -111,6 +126,7 @@ files:
111
126
  - app/views/c80_news/application/guru.js.erb
112
127
  - app/views/layouts/c80_news/application.html.erb
113
128
  - app/views/shared/_fact.html.erb
129
+ - app/views/shared/_fact_inverted.html.erb
114
130
  - app/views/shared/_news_block.html.erb
115
131
  - app/views/shared/_news_list.html.erb
116
132
  - bin/console
@@ -120,6 +136,9 @@ files:
120
136
  - db/migrate/20151213202020_create_news_fact.rb
121
137
  - db/migrate/20151213203030_create_news_fphotos.rb
122
138
  - db/migrate/20151214133030_create_news_props.rb
139
+ - db/seeds/c80_news_01_fill_props.rb
140
+ - db/seeds/c80_news_02_fill_facts.rb
141
+ - db/seeds/c80_news_recreate_versions.rb
123
142
  - lib/c80_news.rb
124
143
  - lib/c80_news/engine.rb
125
144
  - lib/c80_news/version.rb
@@ -1,10 +0,0 @@
1
- var facts_wookmark_options;
2
-
3
- $(function () {
4
- if (facts_wookmark_options == undefined) {
5
- facts_wookmark_options = { align:"left", offset:20 };
6
- }
7
- setTimeout(function () {
8
- $('.div_facts').wookmark(facts_wookmark_options);
9
- },100);
10
- });
@@ -1,27 +0,0 @@
1
- /**
2
- * Grid container
3
- */
4
- .div_facts {
5
- position: relative; /** Needed to ensure items are laid out relative to this container **/
6
- padding: 0;
7
- margin: 0;
8
- display: none;
9
-
10
- .fact {
11
- display: block;
12
- float: left;
13
- width: 229px;
14
- max-height: 350px;
15
- overflow: hidden;
16
- margin-bottom: 20px;
17
-
18
- img {
19
- margin-bottom: 10px;
20
- }
21
- }
22
-
23
- }
24
-
25
- div.news_widget {
26
- background-color: #b0b0b0;
27
- }