tkh_content 0.1 → 0.1.1

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.
data/CHANGELOG.md CHANGED
@@ -2,6 +2,19 @@
2
2
 
3
3
 
4
4
 
5
+
6
+ ## 0.1.1
7
+
8
+ * Creation of blog section
9
+ * Page title in h1 in show view only for blog posts
10
+ * Refactored meta_title generation
11
+ * Added short title page attribute mostly used for menus
12
+ * Pages act as a tree to build menu system
13
+ * Pages are either published or draft according to published_at attribute
14
+ * Needs a shared/menus partial or the tkh_menus gem
15
+ * Cleaned up some locale files and added the German locale but it's not translated yet
16
+
17
+
5
18
  ## 0.1
6
19
 
7
20
  * Reverted pages show route to that one of a normal resource
data/README.md CHANGED
@@ -4,7 +4,7 @@ This Rails engine puts the C in CMS. It provides the pages and the blog section.
4
4
 
5
5
  Primarily developed for Ten Thousand Hours but we are happy to share if anybody finds it useful.
6
6
 
7
- It's still embryonic but many improvements to come. The blog is not in yet.
7
+ It's still embryonic but many improvements to come. The blog is now coming bit by bit.
8
8
 
9
9
 
10
10
 
@@ -14,6 +14,7 @@ It's still embryonic but many improvements to come. The blog is not in yet.
14
14
  The following things are needed:
15
15
 
16
16
  * Ruby 1.9.2 or later
17
+ * A shared/menus view partial or the tkh_menus gem
17
18
 
18
19
 
19
20
  ## Installation
@@ -0,0 +1,94 @@
1
+ class BlogController < ApplicationController
2
+
3
+ def index
4
+ @posts = Page.for_blog.published.order('updated_at').offset(60).limit(30)
5
+ render :layout => 'blog'
6
+ end
7
+
8
+ def update_data
9
+
10
+ @count = 0
11
+ @pages = Array.new
12
+
13
+ Page.all.each do |page|
14
+ # determine whether page contains path
15
+ if page.body.match /src="\/system\/photos\/.*\.jpg/
16
+ # extract string to be changed
17
+ # match_data = page.body.match /src="\/system\/photos\/.*\.jpg/
18
+ # # extract an image name with jpg extension in the blog/2006 section
19
+ # extracted_image = match_data.to_s.sub("src=\"/images/photos/", '')
20
+ # # find the corresponding illustration
21
+ # illustration = Illustration.find_by_name(extracted_image)
22
+ # if illustration
23
+ # # change the image path
24
+ # page.body = page.body.sub("/images/blog/2007/", "/system/images/illustration/#{illustration.id}/large_")
25
+ # # save the page with new path
26
+ # page.save
27
+ # end
28
+ @count += 1
29
+ @pages << page
30
+
31
+ end
32
+ end
33
+
34
+ # @list_of_files = Array.new
35
+
36
+ # @count = 0
37
+
38
+ # Illustration.all.each do |illustration|
39
+ #
40
+ # if illustration.name == 'No name given'
41
+ #
42
+ # illustration.destroy
43
+ # @count += 1
44
+ #
45
+ # end
46
+ #
47
+ # # # extract an image name with jpg extension in the blog/2006 section
48
+ # # extracted_image = page.body.match(/src="\/images\/blog\/2006\/.*\.jpg/).to_s.sub("src=\"/images/blog/2006/", '')
49
+ # #
50
+ # # if extracted_image
51
+ # #
52
+ # # # find the corresponding illustration
53
+ # # @illustration = Illustration.find_by_image(File.basename("/Users/swamiatma/Documents/railsapps/aya/public/images/blog/2006/#{extracted_image}"))
54
+ # #
55
+ # # if @illustration
56
+ # # # change the path of the image
57
+ # # page.body = page.body.sub("/images/blog/2006/", "/system/images/illustration/#{@illustration.id}/large_")
58
+ # # # save the page with new path
59
+ # # page.save
60
+ # #
61
+ # # count += 1
62
+ # # extracted_image = nil
63
+ # # end
64
+ # #
65
+ # # end
66
+ #
67
+ # end
68
+
69
+ # # take a blog post as an example
70
+ # @page = Page.find(9)
71
+
72
+
73
+ # redirect_to blog_path, notice: "#{count} wp images have been detected"
74
+ #
75
+ # count = 0
76
+ #
77
+ # Dir["/Users/swamiatma/Documents/railsapps/aya/public/images/photos/*.*"].each do |file|
78
+ #
79
+ # illustration = Illustration.new
80
+ # illustration.image = File.open(file)
81
+ # illustration.name = "photos-#{File.basename(file)}"
82
+ # illustration.save
83
+ #
84
+ # count += 1
85
+ #
86
+ # end
87
+ #
88
+ #
89
+ # redirect_to illustrations_path, notice: "#{count} new illustrations should be uploaded"
90
+
91
+
92
+ end
93
+
94
+ end
@@ -48,4 +48,25 @@ class PagesController < ApplicationController
48
48
  redirect_to pages_url, notice: t('pages.destroy.notice')
49
49
  end
50
50
 
51
+ def publish
52
+ page = Page.find(params[:id])
53
+ page.published_at = Time.now
54
+ page.save
55
+ redirect_to pages_path, notice: 'The page has been published'
56
+ end
57
+
58
+ def unpublish
59
+ page = Page.find(params[:id])
60
+ page.published_at = nil
61
+ page.save
62
+ redirect_to pages_path, notice: "The page has been unpublished. It's a draft again."
63
+ end
64
+
65
+ def toggle_for_blog
66
+ page = Page.find(params[:id])
67
+ page.for_blog? ? page.for_blog = false : page.for_blog = true
68
+ page.save
69
+ redirect_to pages_path notice: "The blog status of the page has been changed"
70
+ end
71
+
51
72
  end
data/app/models/page.rb CHANGED
@@ -7,19 +7,54 @@ class Page < ActiveRecord::Base
7
7
 
8
8
  belongs_to :author, class_name: 'User', foreign_key: 'author_id'
9
9
 
10
- attr_accessible :body, :description, :title, :blog_post, :for_blog
10
+ attr_accessible :title, :short_title, :description, :body, :for_blog, :parent_id
11
11
 
12
12
  validates_presence_of :title
13
13
  validates_presence_of :description
14
14
  validates_presence_of :body
15
15
  validates_presence_of :author_id
16
16
 
17
- translates :title, :description, :body
17
+ translates :title, :short_title, :description, :body
18
18
 
19
19
  def to_param
20
20
  title ? "#{id}-#{title.to_url}" : id
21
21
  end
22
22
 
23
- scope :by_recent, :order => 'updated_at desc'
23
+ scope :by_recent, order('updated_at desc')
24
+ scope :for_blog, where('for_blog = ?', true)
25
+ scope :not_for_blog, where('for_blog = ?', false)
26
+ scope :published, where('published_at IS NOT ?', nil)
27
+ scope :by_recently_published, order('published_at desc')
28
+ # tree scopes
29
+ scope :orphans, where('parent_id IS ?', nil)
30
+ scope :with_parent_id, lambda { |id| where('parent_id = ?', id) }
31
+
32
+ def nickname
33
+ short_title || title
34
+ end
35
+
36
+ def orphan?
37
+ parent_id == nil
38
+ end
39
+
40
+ def has_children?
41
+ Page.with_parent_id(id).count >= 1
42
+ end
43
+
44
+ def children
45
+ Page.with_parent_id(id)
46
+ end
47
+
48
+ def parent
49
+ Page.find(parent_id)
50
+ end
51
+
52
+ def has_siblings?
53
+ Page.with_parent_id(parent_id).count >= 1
54
+ end
55
+
56
+ def siblings
57
+ Page.with_parent_id(parent_id)
58
+ end
24
59
 
25
60
  end
@@ -0,0 +1,16 @@
1
+ <% content_for :meta_title, 'Blog' %>
2
+
3
+ <% unless @posts.blank? %>
4
+ <% for post in @posts %>
5
+ <h1><%= link_to post.title, post %></h1>
6
+ <p><%= link_to 'edit post', edit_page_path(post) %></p>
7
+ <p>
8
+ by <%= post.author.name %> on <%= l post.published_at, format: :default %> | <%= link_to 'Permalink.', post %>
9
+ </p>
10
+ <%= raw post.body %>
11
+ <% end %>
12
+ <% end %>
13
+
14
+
15
+
16
+
@@ -2,10 +2,12 @@
2
2
  <%= f.error_notification %>
3
3
 
4
4
  <div class="form-inputs">
5
- <%= f.input :title %><br /><br />
6
- <%= f.input :for_blog %><br /><br />
7
- <%= f.input :description, :input_html => { :rows => 5 } %><br /><br />
8
- <%= f.input :body, :input_html => { :rows => 30 } %>
5
+ <%= f.input :title, hint: 'nice and descriptive' %><br />
6
+ <%= f.input :short_title, hint: 'ideally one word only, used for the menu' %><br />
7
+ <%= f.input :parent_id %><br />
8
+ <%= f.input :for_blog %><br />
9
+ <%= f.input :description, :input_html => { :rows => 3 } %>
10
+ <%= f.input :body, :input_html => { :rows => 25 } %>
9
11
  </div>
10
12
 
11
13
  <div class="form-actions">
@@ -18,8 +18,17 @@
18
18
  <td><%= link_to page.title, page %></td>
19
19
  <td><%= truncate page.description, length: 55, separator: ' ...' %></td>
20
20
  <td><%= page.author.name %></td>
21
- <td><%= page.for_blog? ? '✓' : 'X' %></td>
22
- <td><%= page.published_at ? '✓ ' + l( page.published_at.to_date, format: :long) : 'X' %></td>
21
+ <td>
22
+ <%= page.for_blog? ? "<span class=\"label label-success\">✓</span>".html_safe : "<span class=\"label label-important\">X</span>".html_safe %>
23
+ <%= link_to 'toggle', toggle_for_blog_page_path(page), class: 'btn btn-mini', method: :post %>
24
+ </td>
25
+ <td>
26
+ <% if page.published_at %>
27
+ <span class="label label-success">✓</span> <%= link_to 'unpublish', unpublish_page_path(page), class: 'btn btn-mini', method: :post %>
28
+ <% else %>
29
+ <span class="label label-important">X</span> <%= link_to 'publish', publish_page_path(page), class: 'btn btn-mini btn-primary', method: :post %>
30
+ <% end -%>
31
+ </td>
23
32
  <td><%= link_to t('edit'), edit_page_path(page), class: 'btn btn-mini' %>
24
33
  <%= link_to t('delete'), page, method: :delete, data: { confirm: t('are_you_sure') }, class: 'btn btn-mini btn-danger' %></td>
25
34
  </tr>
@@ -1,6 +1,9 @@
1
- <% @meta_title = @page.title %>
2
- <% @meta_description = @page.description %>
1
+ <% content_for :meta_title, @page.title %>
2
+ <% content_for :meta_description, @page.description %>
3
3
 
4
- <h1><%= @page.title %></h1>
4
+ <%= content_tag(:h1, @page.title) if @page.for_blog? %>
5
5
 
6
- <%= raw @page.body %>
6
+ <%= raw @page.body %>
7
+
8
+ <%# partial in tkh_menus gem or has to be added in host app %>
9
+ <%= render './shared/menus' %>
data/config/routes.rb CHANGED
@@ -1,5 +1,12 @@
1
1
  Rails.application.routes.draw do
2
2
  scope "(:locale)", locale: /#{I18n.available_locales.join("|")}/ do
3
- resources :pages
3
+ resources :pages do
4
+ member do
5
+ post :publish
6
+ post :unpublish
7
+ post :toggle_for_blog
8
+ end
9
+ end
10
+ match 'blog' => 'blog#index'
4
11
  end
5
12
  end
@@ -0,0 +1,30 @@
1
+ de:
2
+
3
+ are_you_sure: 'are you sure?'
4
+ delete: 'delete'
5
+ edit: 'edit'
6
+ pages: 'pages'
7
+ sections: 'sections'
8
+
9
+ activerecord:
10
+ attributes:
11
+ pages:
12
+ title: "titre"
13
+ short_title: 'titre raccourci'
14
+ description: "description"
15
+ body: "texte principal"
16
+ for_the_blog: 'pour le blog'
17
+
18
+ pages:
19
+ author: 'author'
20
+ create_new: 'create new page'
21
+ published: 'published?'
22
+
23
+ create:
24
+ notice: 'The page was successfully created.'
25
+ warning: 'There was a problem saving the page'
26
+ update:
27
+ notice: 'The page was successfully updated.'
28
+ warning: 'There was a problem saving the page'
29
+ destroy:
30
+ notice: 'The page was deleted'
@@ -1,18 +1,4 @@
1
- # Sample localization file for English. Add more files in this directory for other locales.
2
- # See http://github.com/svenfuchs/rails-i18n/tree/master/rails%2Flocale for starting points.
3
-
4
1
  en:
5
- date:
6
- formats:
7
- simple_date: "%B %d"
8
- time:
9
- formats:
10
- informal: "at %H:%M"
11
- default: "%a. %b. %d, '%y at %H:%M"
12
- just_time: "%I:%M %p"
13
- long: "%A %d %B %Y at %H:%M"
14
- # custom sections - the obove is provided by rails
15
- language_name: English
16
2
 
17
3
  are_you_sure: 'are you sure?'
18
4
  delete: 'delete'
@@ -33,5 +19,3 @@ en:
33
19
  warning: 'There was a problem saving the page'
34
20
  destroy:
35
21
  notice: 'The page was deleted'
36
-
37
-
@@ -1,5 +1,4 @@
1
1
  es:
2
- language_name: "Español"
3
2
 
4
3
  are_you_sure: '¿estás seguro?'
5
4
  delete: 'borrar'
@@ -11,9 +10,10 @@ es:
11
10
  attributes:
12
11
  pages:
13
12
  title: "título"
13
+ short_title: 'título breve'
14
14
  description: "descripción"
15
15
  body: "parte principal"
16
- para el blog: 'contraseña'
16
+ for_the_blog: 'contraseña'
17
17
 
18
18
  pages:
19
19
  author: 'autor'
@@ -1,184 +1,4 @@
1
1
  fr:
2
- date:
3
- formats:
4
- short: "%e %b"
5
- long: "%e %B %Y"
6
- only_day: "%e"
7
- simple_date: "%d %B"
8
- day_names: [dimanche, lundi, mardi, mercredi, jeudi, vendredi, samedi]
9
- abbr_day_names: [dim, lun, mar, mer, jeu, ven, sam]
10
- month_names: [~, janvier, février, mars, avril, mai, juin, juillet, août, septembre, octobre, novembre, décembre]
11
- abbr_month_names: [~, jan., fév., mar., avr., mai, juin, juil., août, sept., oct., nov., déc.]
12
- order:
13
- - :day
14
- - :month
15
- - :year
16
- time:
17
- formats:
18
- informal: "à %H:%M"
19
- default: "%a. %d %b %Y à %H:%M"
20
- short: "%d %b %H:%M"
21
- long: "%A %d %B %Y à %H:%M"
22
- just_time: "%H:%M"
23
-
24
- am: 'am'
25
- pm: 'pm'
26
-
27
- datetime:
28
- distance_in_words:
29
- half_a_minute: "une demi-minute"
30
- less_than_x_seconds:
31
- zero: "moins d'une seconde"
32
- one: "moins d'une seconde"
33
- other: "moins de %{count} secondes"
34
- x_seconds:
35
- one: "1 seconde"
36
- other: "%{count} secondes"
37
- less_than_x_minutes:
38
- zero: "moins d'une minute"
39
- one: "moins d'une minute"
40
- other: "moins de %{count} minutes"
41
- x_minutes:
42
- one: "1 minute"
43
- other: "%{count} minutes"
44
- about_x_hours:
45
- one: "environ une heure"
46
- other: "environ %{count} heures"
47
- x_days:
48
- one: "1 jour"
49
- other: "%{count} jours"
50
- about_x_months:
51
- one: "environ un mois"
52
- other: "environ %{count} mois"
53
- x_months:
54
- one: "1 mois"
55
- other: "%{count} mois"
56
- about_x_years:
57
- one: "environ un an"
58
- other: "environ %{count} ans"
59
- over_x_years:
60
- one: "plus d'un an"
61
- other: "plus de %{count} ans"
62
- almost_x_years:
63
- one: "presqu'un an"
64
- other: "presque %{count} ans"
65
- prompts:
66
- year: "Année"
67
- month: "Mois"
68
- day: "Jour"
69
- hour: "Heure"
70
- minute: "Minute"
71
- second: "Seconde"
72
-
73
- number:
74
- format:
75
- separator: ","
76
- delimiter: " "
77
- precision: 3
78
- significant: false
79
- strip_insignificant_zeros: false
80
- currency:
81
- format:
82
- format: "%n %u"
83
- unit: "€"
84
- separator: ","
85
- delimiter: " "
86
- precision: 2
87
- significant: false
88
- strip_insignificant_zeros: false
89
- percentage:
90
- format:
91
- delimiter: ""
92
- precision:
93
- format:
94
- delimiter: ""
95
- human:
96
- format:
97
- delimiter: ""
98
- precision: 2
99
- significant: true
100
- strip_insignificant_zeros: true
101
- storage_units:
102
- format: "%n %u"
103
- units:
104
- byte:
105
- one: "octet"
106
- other: "octets"
107
- kb: "ko"
108
- mb: "Mo"
109
- gb: "Go"
110
- tb: "To"
111
- decimal_units:
112
- format: "%n %u"
113
- units:
114
- unit: ""
115
- thousand: "millier"
116
- million: "million"
117
- billion: "milliard"
118
- trillion: "billion"
119
- quadrillion: "million de milliards"
120
-
121
- support:
122
- array:
123
- words_connector: ", "
124
- two_words_connector: " et "
125
- last_word_connector: " et "
126
- select:
127
- prompt: "Veuillez sélectionner"
128
-
129
- helpers:
130
- select:
131
- prompt: "Veuillez sélectionner"
132
- submit:
133
- create: "Créer un %{model}"
134
- update: "Modifier ce %{model}"
135
- submit: "Enregistrer ce %{model}"
136
-
137
- attributes:
138
- created_at: "Créé le"
139
- updated_at: "Modifié le"
140
-
141
- errors:
142
- format: "Le %{attribute} %{message}"
143
- messages: &errors_messages
144
- inclusion: "n'est pas inclus(e) dans la liste"
145
- exclusion: "n'est pas disponible"
146
- invalid: "n'est pas valide"
147
- confirmation: "ne concorde pas avec la confirmation"
148
- accepted: "doit être accepté(e)"
149
- empty: "doit être rempli(e)"
150
- blank: "doit être rempli(e)"
151
- too_long: "est trop long (pas plus de %{count} caractères)"
152
- too_short: "est trop court (au moins %{count} caractères)"
153
- wrong_length: "ne fait pas la bonne longueur (doit comporter %{count} caractères)"
154
- not_a_number: "n'est pas un nombre"
155
- not_an_integer: "doit être un nombre entier"
156
- greater_than: "doit être supérieur à %{count}"
157
- greater_than_or_equal_to: "doit être supérieur ou égal à %{count}"
158
- equal_to: "doit être égal à %{count}"
159
- less_than: "doit être inférieur à %{count}"
160
- less_than_or_equal_to: "doit être inférieur ou égal à %{count}"
161
- odd: "doit être impair"
162
- even: "doit être pair"
163
- template: &errors_template
164
- header:
165
- one: "Impossible d'enregistrer ce %{model} : 1 erreur"
166
- other: "Impossible d'enregistrer ce %{model} : %{count} erreurs"
167
- body: "Veuillez vérifier les champs suivants : "
168
-
169
- activerecord:
170
- errors:
171
- messages:
172
- taken: "n'est pas disponible"
173
- record_invalid: "La validation a échoué : %{errors}"
174
- <<: *errors_messages
175
- template:
176
- <<: *errors_template
177
- full_messages:
178
- format: "%{attribute} %{message}"
179
-
180
- # custom sections - the obove is provided by rails
181
- language_name: Français
182
2
 
183
3
  are_you_sure: 'êtes vous sûr ?'
184
4
  delete: 'supprimer'
@@ -190,9 +10,10 @@ fr:
190
10
  attributes:
191
11
  pages:
192
12
  title: "titre"
13
+ short_title: 'titre raccourci'
193
14
  description: "description"
194
15
  body: "texte principal"
195
- para el blog: 'pour le blog'
16
+ for_the_blog: 'pour le blog'
196
17
 
197
18
  pages:
198
19
  author: 'auteur'
@@ -201,9 +22,9 @@ fr:
201
22
 
202
23
  create:
203
24
  notice: 'La page a été créée.'
204
- warning: "Il y'a eu un problem et la page n'a pas été sauvegardée"
25
+ warning: "Il y'a eu un probleme et la page n'a pas été sauvegardée"
205
26
  update:
206
27
  notice: 'Les changements de cette page ont été sauvegardés'
207
- warning: "Il y'a eu un problem et les changements de cette page n'ont pas été sauvegardés"
28
+ warning: "Il y'a eu un probleme et les changements de cette page n'ont pas été sauvegardés"
208
29
  destroy:
209
30
  notice: 'La page a été supprimée'
@@ -20,6 +20,7 @@ module TkhContent
20
20
  migration_template "create_pages.rb", "db/migrate/create_pages.rb"
21
21
  migration_template "add_author_to_pages.rb", "db/migrate/add_author_to_pages.rb"
22
22
  migration_template "add_parent_id_to_pages.rb", "db/migrate/add_parent_id_to_pages.rb"
23
+ migration_template "add_short_title_to_pages.rb", "db/migrate/add_short_title_to_pages.rb"
23
24
  end
24
25
 
25
26
  end
@@ -0,0 +1,6 @@
1
+ class AddShortTitleToPages < ActiveRecord::Migration
2
+ def change
3
+ add_column :pages, :short_title, :string
4
+ add_column :page_translations, :short_title, :string
5
+ end
6
+ end
data/lib/tkh_content.rb CHANGED
@@ -1,4 +1,5 @@
1
1
  require "tkh_content/version"
2
+ require 'bootstrap-sass'
2
3
  require 'simple_form'
3
4
  require 'stringex'
4
5
  require 'globalize3'
@@ -1,3 +1,3 @@
1
1
  module TkhContent
2
- VERSION = "0.1"
2
+ VERSION = "0.1.1"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tkh_content
3
3
  version: !ruby/object:Gem::Version
4
- version: '0.1'
4
+ version: 0.1.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-08-13 00:00:00.000000000 Z
12
+ date: 2012-09-04 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rails
@@ -43,6 +43,22 @@ dependencies:
43
43
  - - ~>
44
44
  - !ruby/object:Gem::Version
45
45
  version: '1.4'
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: '2.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: '2.0'
46
62
  - !ruby/object:Gem::Dependency
47
63
  name: simple_form
48
64
  requirement: !ruby/object:Gem::Requirement
@@ -98,8 +114,10 @@ executables: []
98
114
  extensions: []
99
115
  extra_rdoc_files: []
100
116
  files:
117
+ - app/controllers/blog_controller.rb
101
118
  - app/controllers/pages_controller.rb
102
119
  - app/models/page.rb
120
+ - app/views/blog/index.html.erb
103
121
  - app/views/pages/_form.html.erb
104
122
  - app/views/pages/edit.html.erb
105
123
  - app/views/pages/index.html.erb
@@ -110,12 +128,14 @@ files:
110
128
  - lib/generators/tkh_content/create_or_update_files/create_or_update_files_generator.rb
111
129
  - lib/generators/tkh_content/create_or_update_files/templates/blog.html.erb
112
130
  - lib/generators/tkh_content/create_or_update_locales/create_or_update_locales_generator.rb
131
+ - lib/generators/tkh_content/create_or_update_locales/templates/de.yml
113
132
  - lib/generators/tkh_content/create_or_update_locales/templates/en.yml
114
133
  - lib/generators/tkh_content/create_or_update_locales/templates/es.yml
115
134
  - lib/generators/tkh_content/create_or_update_locales/templates/fr.yml
116
135
  - lib/generators/tkh_content/create_or_update_migrations/create_or_update_migrations_generator.rb
117
136
  - lib/generators/tkh_content/create_or_update_migrations/templates/add_author_to_pages.rb
118
137
  - lib/generators/tkh_content/create_or_update_migrations/templates/add_parent_id_to_pages.rb
138
+ - lib/generators/tkh_content/create_or_update_migrations/templates/add_short_title_to_pages.rb
119
139
  - lib/generators/tkh_content/create_or_update_migrations/templates/create_pages.rb
120
140
  - lib/tasks/tkh_content_tasks.rake
121
141
  - lib/tkh_content/version.rb
@@ -168,7 +188,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
168
188
  version: '0'
169
189
  segments:
170
190
  - 0
171
- hash: -3666386950165349341
191
+ hash: -2576848684436899421
172
192
  required_rubygems_version: !ruby/object:Gem::Requirement
173
193
  none: false
174
194
  requirements:
@@ -177,7 +197,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
177
197
  version: '0'
178
198
  segments:
179
199
  - 0
180
- hash: -3666386950165349341
200
+ hash: -2576848684436899421
181
201
  requirements: []
182
202
  rubyforge_project:
183
203
  rubygems_version: 1.8.23