refinerycms-blog 1.3.2 → 1.4.0

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 (39) hide show
  1. data/app/controllers/blog/posts_controller.rb +14 -1
  2. data/app/models/blog_post.rb +15 -9
  3. data/app/models/categorization.rb +2 -0
  4. data/app/views/admin/blog/posts/_form.html.erb +8 -1
  5. data/app/views/blog/posts/_post.html.erb +2 -4
  6. data/app/views/blog/posts/archive.html.erb +1 -2
  7. data/app/views/blog/posts/index.html.erb +1 -0
  8. data/app/views/blog/posts/show.html.erb +1 -0
  9. data/app/views/blog/posts/tagged.html.erb +22 -0
  10. data/app/views/blog/shared/_post.html.erb +7 -3
  11. data/app/views/blog/shared/_tags.html.erb +8 -0
  12. data/changelog.md +6 -1
  13. data/config/locales/cs.yml +128 -0
  14. data/config/locales/en.yml +5 -0
  15. data/config/locales/nb.yml +7 -0
  16. data/config/locales/nl.yml +120 -10
  17. data/config/locales/pt-BR.yml +3 -0
  18. data/config/locales/sk.yml +128 -0
  19. data/config/locales/zh-CN.yml +128 -0
  20. data/config/routes.rb +2 -1
  21. data/db/migrate/3_acts_as_taggable_on_migration.rb +28 -0
  22. data/db/migrate/4_create_seo_meta_for_blog.rb +25 -0
  23. data/db/seeds/refinerycms_blog.rb +18 -14
  24. data/features/authors.feature +4 -4
  25. data/features/support/factories/blog_categories.rb +2 -1
  26. data/features/support/factories/blog_comments.rb +2 -4
  27. data/features/support/factories/blog_posts.rb +3 -0
  28. data/features/support/step_definitions/tags_steps.rb +11 -0
  29. data/features/tags.feature +26 -0
  30. data/lib/gemspec.rb +12 -6
  31. data/lib/refinery/blog/version.rb +17 -0
  32. data/lib/refinerycms-blog.rb +10 -9
  33. data/readme.md +1 -1
  34. data/spec/models/blog_category_spec.rb +41 -0
  35. data/spec/models/{blog_comments_spec.rb → blog_comment_spec.rb} +0 -0
  36. data/spec/models/blog_post_spec.rb +187 -0
  37. metadata +53 -10
  38. data/spec/models/blog_categories_spec.rb +0 -41
  39. data/spec/models/blog_posts_spec.rb +0 -176
@@ -2,6 +2,7 @@ class Blog::PostsController < BlogController
2
2
 
3
3
  before_filter :find_all_blog_posts, :except => [:archive]
4
4
  before_filter :find_blog_post, :only => [:show, :comment, :update_nav]
5
+ before_filter :find_tags
5
6
 
6
7
  respond_to :html, :js, :rss
7
8
 
@@ -16,7 +17,7 @@ class Blog::PostsController < BlogController
16
17
  @blog_comment = BlogComment.new
17
18
 
18
19
  respond_with (@blog_post) do |format|
19
- format.html { present(@page) }
20
+ format.html { present(@blog_post) }
20
21
  format.js { render :partial => 'post', :layout => false }
21
22
  end
22
23
  end
@@ -65,6 +66,14 @@ class Blog::PostsController < BlogController
65
66
  respond_with (@blog_posts)
66
67
  end
67
68
 
69
+ def tagged
70
+ @tag_name = params[:tag_name]
71
+ @blog_posts = BlogPost.tagged_with(@tag_name.titleize).paginate({
72
+ :page => params[:page],
73
+ :per_page => RefinerySetting.find_or_set(:blog_posts_per_page, 10)
74
+ })
75
+ end
76
+
68
77
  protected
69
78
 
70
79
  def find_blog_post
@@ -84,4 +93,8 @@ protected
84
93
  })
85
94
  end
86
95
 
96
+ def find_tags
97
+ @tags = BlogPost.tag_counts_on(:tags)
98
+ end
99
+
87
100
  end
@@ -1,12 +1,18 @@
1
+ require 'acts-as-taggable-on'
2
+ require 'seo_meta'
3
+
1
4
  class BlogPost < ActiveRecord::Base
2
-
5
+
6
+ is_seo_meta if self.table_exists?
7
+
3
8
  default_scope :order => 'published_at DESC'
4
9
  #.first & .last will be reversed -- consider a with_exclusive_scope on these?
5
-
10
+
6
11
  belongs_to :author, :class_name => 'User', :foreign_key => :user_id
7
-
12
+
8
13
  has_many :comments, :class_name => 'BlogComment', :dependent => :destroy
9
-
14
+ acts_as_taggable
15
+
10
16
  has_many :categorizations
11
17
  has_many :categories, :through => :categorizations, :source => :blog_category
12
18
 
@@ -20,7 +26,7 @@ class BlogPost < ActiveRecord::Base
20
26
  scope :by_archive, lambda { |archive_date|
21
27
  where(['published_at between ? and ?', archive_date.beginning_of_month, archive_date.end_of_month])
22
28
  }
23
-
29
+
24
30
  scope :by_year, lambda { |archive_year|
25
31
  where(['published_at between ? and ?', archive_year.beginning_of_year, archive_year.end_of_year])
26
32
  }
@@ -31,7 +37,7 @@ class BlogPost < ActiveRecord::Base
31
37
 
32
38
  scope :previous, lambda { |i| where(["published_at < ? and draft = ?", i.published_at, false]).limit(1) }
33
39
  # next is now in << self
34
-
40
+
35
41
  def next
36
42
  BlogPost.next(self).first
37
43
  end
@@ -56,13 +62,13 @@ class BlogPost < ActiveRecord::Base
56
62
  where(["published_at > ? and draft = ?", current_record.published_at, false]).order("published_at ASC")
57
63
  end
58
64
  end
59
-
65
+
60
66
  def comments_allowed?
61
67
  RefinerySetting.find_or_set(:comments_allowed, true, {
62
68
  :scoping => 'blog'
63
69
  })
64
70
  end
65
-
71
+
66
72
  def uncategorized
67
73
  BlogPost.live.reject { |p| p.categories.any? }
68
74
  end
@@ -71,7 +77,7 @@ class BlogPost < ActiveRecord::Base
71
77
  module ShareThis
72
78
  DEFAULT_KEY = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
73
79
 
74
- class << self
80
+ class << self
75
81
  def key
76
82
  RefinerySetting.find_or_set(:share_this_key, BlogPost::ShareThis::DEFAULT_KEY, {
77
83
  :scoping => 'blog'
@@ -1,5 +1,7 @@
1
1
  class Categorization < ActiveRecord::Base
2
+
2
3
  set_table_name 'blog_categories_blog_posts'
3
4
  belongs_to :blog_post
4
5
  belongs_to :blog_category
6
+
5
7
  end
@@ -14,6 +14,12 @@
14
14
  <%= f.label :body -%>
15
15
  <%= f.text_area :body, :rows => 20, :class => 'wymeditor widest' -%>
16
16
  </div>
17
+
18
+ <div class='field'>
19
+ <%= f.label :tag_list, "Tags" -%>
20
+ <%= f.text_field :tag_list, :class => 'larger' -%>
21
+ </div>
22
+
17
23
  <div id='more_options_field'>
18
24
  <p>
19
25
  <%= link_to t('.advanced_options'), "#",
@@ -40,10 +46,11 @@
40
46
  </li>
41
47
  <% end %>
42
48
  </ul>
43
- <h3><%= t('admin.blog.posts.form.published_at') %></h3>
49
+ <h3><%= t('.published_at') %></h3>
44
50
  <%= f.datetime_select :published_at %>
45
51
  </div>
46
52
  <div class='hemisquare right_side'>
53
+ <%= render :partial => '/seo_meta/form', :locals => {:form => f} %>
47
54
  </div>
48
55
  </div>
49
56
  <%= render :partial => "/shared/admin/form_actions",
@@ -14,7 +14,7 @@
14
14
  <aside class='filed_in'>
15
15
  <%= t('blog.posts.show.filed_in') %>
16
16
  <% categories.each_with_index do |category, index| %>
17
- <%= link_to category.title, blog_category_url(category) -%><%= ',' if index < ((categories.length) - 1) %>
17
+ <%= link_to category.title, blog_category_url(category) -%><%= ',' if index < ((categories.length) - 1) %>
18
18
  <% end %>
19
19
  </aside>
20
20
  <% end %>
@@ -27,6 +27,4 @@
27
27
  <% end %>
28
28
  </article>
29
29
  <%= render :partial => '/shared/draft_page_message' unless @blog_post.nil? or @blog_post.live? -%>
30
- <% if next_or_previous?(@blog_post) -%>
31
- <%= render 'nav' %>
32
- <% end -%>
30
+ <%= render 'nav' if next_or_previous?(@blog_post) %>
@@ -1,5 +1,4 @@
1
1
  <% content_for :body_content_left do %>
2
- <%= @page[Page.default_parts.first.to_sym] %>
3
2
  <h1><%= t('.blog_archive_for', :date => @archive_date.strftime('%B %Y')) %></h1>
4
3
  <% if @blog_posts.any? %>
5
4
  <section id="blog_posts">
@@ -11,8 +10,8 @@
11
10
  <% end %>
12
11
 
13
12
  <% content_for :body_content_right do %>
14
- <%= @page[Page.default_parts.second.to_sym] %>
15
13
  <%= render :partial => "/blog/shared/categories" %>
14
+ <%= render :partial => "/blog/shared/tags" %>
16
15
  <%= render :partial => "/blog/shared/rss_feed" %>
17
16
  <%= blog_archive_list %>
18
17
  <% end %>
@@ -15,6 +15,7 @@
15
15
  <%=raw @page[Page.default_parts.second.to_sym] if Page.default_parts.many? %>
16
16
 
17
17
  <%= render :partial => "/blog/shared/categories" %>
18
+ <%= render :partial => "/blog/shared/tags" %>
18
19
  <%= render :partial => "/blog/shared/rss_feed" %>
19
20
  <%= blog_archive_list %>
20
21
  <% end %>
@@ -49,6 +49,7 @@
49
49
 
50
50
  <% content_for :body_content_right do %>
51
51
  <%= render :partial => "/blog/shared/categories" %>
52
+ <%= render :partial => "/blog/shared/tags" %>
52
53
  <%= render :partial => "/blog/shared/posts" %>
53
54
  <%= render :partial => "/blog/shared/rss_feed" %>
54
55
  <%= blog_archive_list %>
@@ -0,0 +1,22 @@
1
+ <% content_for :body_content_title, "Posts tagged &#8220;#{@tag_name.titleize}&#8221;".html_safe -%>
2
+
3
+ <% content_for :body_content_left do %>
4
+ <% if @blog_posts.any? %>
5
+ <section id="blog_posts">
6
+ <%= render :partial => "/blog/shared/post", :collection => @blog_posts %>
7
+ <%= will_paginate @blog_posts %>
8
+ </section>
9
+ <% else %>
10
+ <p><%= t('.no_blog_articles_yet') %></p>
11
+ <% end %>
12
+ <% end %>
13
+
14
+ <% content_for :body_content_right do %>
15
+ <%= render :partial => "/blog/shared/categories" %>
16
+ <%= render :partial => "/blog/shared/tags" %>
17
+ <%= render :partial => "/blog/shared/rss_feed" %>
18
+ <%= blog_archive_list %>
19
+ <% end %>
20
+
21
+ <%= render :partial => "/shared/content_page" %>
22
+ <% content_for :stylesheets, stylesheet_link_tag('refinerycms-blog') %>
@@ -9,9 +9,13 @@
9
9
  <% if (categories = post.categories).any? %>
10
10
  <aside class='filed_in'>
11
11
  <%= t('filed_in', :scope => 'blog.posts.show') %>
12
- <% categories.each_with_index do |category, index| %>
13
- <%= link_to category.title, blog_category_url(category) -%><%= ',' if index < ((categories.length) - 1) %>
14
- <% end %>
12
+ <%=raw categories.collect { |category| link_to category.title, blog_category_url(category) }.to_sentence %>
13
+ </aside>
14
+ <% end %>
15
+ <% if (tags = post.tag_list).any? %>
16
+ <aside class='tagged'>
17
+ <%= t('tagged', :scope => 'blog.posts.show') %>
18
+ <%=raw tags.collect { |tag| link_to tag, tagged_posts_path(tag.parameterize) }.to_sentence %>
15
19
  </aside>
16
20
  <% end %>
17
21
  </details>
@@ -0,0 +1,8 @@
1
+ <% unless @tags.nil? %>
2
+ <h2><%= t('.title') %></h2>
3
+ <nav id='tags'>
4
+ <% tag_cloud(@tags, %w(tag1 tag2 tag3 tag4)) do |tag, css_class| %>
5
+ <%= link_to tag.name, tagged_posts_path(tag.name.parameterize), :class => css_class %>
6
+ <% end %>
7
+ </nav>
8
+ <% end %>
@@ -1,7 +1,12 @@
1
- ## 1.4 [UNRELEASED]
1
+ ## 1.4 [26 May 2011]
2
2
 
3
3
  * Spanish language fixes [scambra](https://github.com/scambra)
4
4
  * Bug fixes [scambra](https://github.com/scambra)
5
+ * Tags [joemsak](https://github.com/joemsak)
6
+ * Tagged posts route / view [joemsak](https://github.com/joemsak)
7
+ * Tag cloud in sidebar
8
+ * Czech & slovak translations [karem](https://github.com/keram)
9
+ * SEO fields and migration [parndt](https://github.com/parndt) [ugisozols](https://github.com/ugisozols)
5
10
  * [See full list](https://github.com/resolve/refinerycms-blog/compare/1.3...1.4)
6
11
 
7
12
  ## 1.3 [03 March 2011]
@@ -0,0 +1,128 @@
1
+ cs:
2
+ plugins:
3
+ refinerycms_blog:
4
+ title: Blog
5
+ admin:
6
+ blog:
7
+ categories:
8
+ category:
9
+ edit: Upravit kategorii
10
+ delete: Smazat kategorii
11
+ index:
12
+ no_items_yet: 'Nejsou zde žádné kategorie. Klikni na "%{create}" pro přidání první.'
13
+ comments:
14
+ approved: 'Komentář od "%{author}" byl schválen.'
15
+ comment:
16
+ view_live_html: 'Zobrazit živý náhled <br/><em>(otevře nové okno)</em>'
17
+ read: Zobrazit komentář
18
+ reject: Zamítnout komentář
19
+ approve: Schválit
20
+ rejected: 'Komentář od "%{author}" byl zamítnut.'
21
+ index:
22
+ no_items_yet: 'Nejsou zde žádné %{type} komentáře.'
23
+ show:
24
+ comment: Komentář
25
+ blog_post: Blog článek
26
+ from: Odeslal
27
+ date: Datum
28
+ message: Komentář
29
+ details: Detaily
30
+ age: Věk
31
+ actions: Akce
32
+ back: Zpět na seznam komentářů
33
+ reject: Zamítnout komentář
34
+ approve: Schváliť komentář
35
+ posts:
36
+ form:
37
+ advanced_options: Pokročilé nastavení
38
+ toggle_advanced_options: Klikni pro přístup k nastavením meta tagů a menu
39
+ save_as_draft: Uložit jako koncept
40
+ published_at: Datum publikování
41
+ index:
42
+ no_items_yet: 'Nejsou žádné články na blogu. Klikni na "%{create}" pro přidání prvního.'
43
+ uncategorized:
44
+ no_items_yet: 'Nejsou žádné nekategorizované články.'
45
+ post:
46
+ view_live_html: 'Zobrazit článek <br/><em>(otevře jej v novém okně)</em>'
47
+ edit: Upravit článek
48
+ delete: Smazat článek
49
+ settings:
50
+ notification_recipients:
51
+ value: Poslat notifikaci pro
52
+ explanation: 'Vždycky když někdo přidá komentář, Refinery zašle oznámení.'
53
+ hint: 'Vždycky když někdo přidá komentář, Refinery ti pošle oznámení.'
54
+ example: "Zadej tvou emailovou adresu(y) jako například: jack@work.com, jill@office.com"
55
+ updated: 'Seznam příjemců notifikací "%{recipients}"'
56
+ submenu:
57
+ categories:
58
+ title: Kategorie
59
+ manage: Spravovat
60
+ new: Nová kategórie
61
+ comments:
62
+ title: Komentáře
63
+ title_with_count: 'Komentáře (%{new_count} nových)'
64
+ new: Nový
65
+ unmoderated: Nový
66
+ approved: Schválený
67
+ rejected: Zamítnutý
68
+ posts:
69
+ title: Články
70
+ manage: Spravovat články
71
+ new: Vytvořit nový článek
72
+ uncategorized: Nekategorizované články
73
+ settings:
74
+ title: Nastavení
75
+ moderation: Moderování
76
+ update_notified: Upravit seznam notifikovaných
77
+ comments: Komentáře
78
+ blog:
79
+ comment_mailer:
80
+ notification:
81
+ greeting: Ahoj
82
+ you_recieved_new_comment: Máš nový komentář na stránce
83
+ comment_starts: --- začátek komentáře ---
84
+ comment_ends: --- konec komentáře ---
85
+ from: Od
86
+ email: Email
87
+ message: Zpráva
88
+ closing_line: S pozdravem
89
+ ps: 'P.S. Všechny komentáře jsou uloženy v sekci "Blog" pod záložkou "Komentáře" v případě pokud by je bylo třeba zobrazit později.'
90
+ shared:
91
+ categories:
92
+ title: Kategorie
93
+ rss_feed:
94
+ title: RSS zdroj článků
95
+ subscribe: Přihlásit k odběru
96
+ posts:
97
+ other: Další články
98
+ created_at: 'Publikován %{when}'
99
+ read_more: Celý článek
100
+ comments:
101
+ singular: komentář
102
+ none: žiadne komentáře
103
+ archives: Archiv
104
+ categories:
105
+ show:
106
+ no_posts: Nejsou zde žádné články.
107
+ posts:
108
+ post:
109
+ filed_in: Podaný
110
+ comment: komentář
111
+ comments:
112
+ by: 'Odeslal %{who}'
113
+ time_ago: '%{time} zpět'
114
+ thank_you: 'Díky za komentář.'
115
+ thank_you_moderated: 'Děkujeme za Váš komentář. Vaše zpráva čeká na schválení a objeví se v nejbližší době.'
116
+ index:
117
+ no_blog_articles_yet: Právě nejsou žádné články na blogu. Zůstaňte naladěni.
118
+ show:
119
+ blog_home: Hlavní stránka blogu
120
+ comments:
121
+ title: Komentáře
122
+ add: Přidat komentář
123
+ other: Další články
124
+ filed_in: Podaný
125
+ submit: Odeslat komentář
126
+ archive:
127
+ blog_archive_for: 'Blog archiv pro %{date}'
128
+ no_blog_articles_posted: 'Nejsou žádné články publikované %{date}.'
@@ -101,6 +101,8 @@ en:
101
101
  singular: comment
102
102
  none: no comments
103
103
  archives: Archives
104
+ tags:
105
+ title: "Tags"
104
106
  categories:
105
107
  show:
106
108
  no_posts: There are no posts here yet.
@@ -122,7 +124,10 @@ en:
122
124
  add: Make a Comment
123
125
  other: Other Blog Posts
124
126
  filed_in: Filed in
127
+ tagged: Tagged
125
128
  submit: Send comment
129
+ tagged:
130
+ no_blog_articles_yet: There are no blog articles posted yet. Stay tuned.
126
131
  archive:
127
132
  blog_archive_for: 'Blog Archive for %{date}'
128
133
  no_blog_articles_posted: 'There are no blog articles posted for %{date}. Stay tuned.'
@@ -5,6 +5,13 @@ nb:
5
5
  admin:
6
6
  blog:
7
7
  posts:
8
+ form:
9
+ seo_override_title: Nettleser tittel
10
+ seo_override_title_help: Skriv inn en tittel på 5-10 ord som oppsummerer innholdet på siden.
11
+ meta_keywords_title: Meta stikkord
12
+ meta_keywords_help: Skriv inn 5-10 stikkord som relaterer til denne siden. Separer stikkordene med komma.
13
+ meta_description_title: Meta beskrivelse
14
+ meta_description_help: Skriv en kort beskrivelse på to eller tre setninger som forteller hva denne siden inneholder.
8
15
  index:
9
16
  no_items_yet: 'Det er ingen Blog Posts enda. Klikk på "Lag en ny Blog Posts" for å legge til din første blog posts.'
10
17
  post:
@@ -4,20 +4,130 @@ nl:
4
4
  title: Blog
5
5
  admin:
6
6
  blog:
7
+ categories:
8
+ category:
9
+ edit: Bewerk deze categorie
10
+ delete: Verwijder deze categorie definitief
11
+ index:
12
+ no_items_yet: 'Er zijn momenteel geen categori�n. Klik op "%{create}" om uw eerste categorie toe te voegen.'
13
+ comments:
14
+ approved: 'De reactie van "%{author}" is goedgekeurd.'
15
+ comment:
16
+ view_live_html: 'Bekijk deze reactie op de website <br/><em>(opent in een nieuw venster)</em>'
17
+ read: Lees deze reactie
18
+ reject: Keur deze reactie af
19
+ approve: Keur deze reactie goed
20
+ rejected: 'De reactie van "%{author}" is afgekeurd.'
21
+ index:
22
+ no_items_yet: 'Er zijn geen %{type} reacties.'
23
+ show:
24
+ comment: Reactie
25
+ blog_post: Blogpost
26
+ from: Gepost door
27
+ date: Gepost op
28
+ message: Reactie
29
+ details: Details
30
+ age: Leeftijd
31
+ actions: Acties
32
+ back: Terug naar alle reacties
33
+ reject: Keur deze reactie af
34
+ approve: Keur deze reactie goed
7
35
  posts:
36
+ form:
37
+ advanced_options: Geavanceerde eigenschappen
38
+ toggle_advanced_options: Klik voor toegang tot meta tag instellingen en menu opties
39
+ save_as_draft: Sla op als concept
40
+ published_at: Publicatiedatum
8
41
  index:
9
- no_items_yet: Er zijn nog geen Blog Post. Druk op 'Maak een nieuwe Blog Post' om de eerste aan te maken.
42
+ no_items_yet: 'Er zijn momenteel geen blogposts. Klik op "%{create}" om uw eerste blogpost toe te voegen.'
43
+ uncategorized:
44
+ no_items_yet: 'Er zijn geen ongecategoriseerde blogposts.'
10
45
  post:
11
- view_live: 'Bekijk deze blog posts op de website <br/><em>(opent een nieuw venster)</em>'
12
- edit: Bewerk deze blog post
13
- delete: Verwijder deze blog post voor eeuwig
46
+ view_live_html: 'Bekijk deze blogpost op de website <br/><em>(opent in een nieuw venster)</em>'
47
+ edit: Bewerk deze blogpost
48
+ delete: Verwijder deze blogpost definitief
49
+ settings:
50
+ notification_recipients:
51
+ value: Stuur notificaties naar
52
+ explanation: 'Bij elke nieuwe reactie op een blogpost stuurt Refinery u een e-mail om dit te melden.'
53
+ hint: 'Als er een reactie is toegevoegd stuurt Refinery een e-mail notificatie naar u.'
54
+ example: "Voer uw e-mailadres(sen) in, bijvoorbeeld: jack@work.com, jill@office.com"
55
+ updated: 'De ontvanger(s) van notificaties is/zijn gewijzigd naar "%{recipients}"'
14
56
  submenu:
57
+ categories:
58
+ title: Categori�n
59
+ manage: Beheren
60
+ new: Voeg een nieuwe categorie toe
15
61
  comments:
16
- new: Nieuwe
62
+ title: Reacties
63
+ title_with_count: 'Reacties (%{new_count} nieuwe)'
64
+ new: Nieuw
65
+ unmoderated: Nieuw
66
+ approved: Goedgekeurd
67
+ rejected: Afgekeurd
17
68
  posts:
18
- new: Maak een nieuwe post
69
+ title: Posts
70
+ manage: Beheer posts
71
+ new: Voeg een nieuwe post toe
72
+ uncategorized: Ongecategoriseerde posts
19
73
  settings:
20
- update_notified: Wijzig wie een notificatie ontvangt
21
- blog_posts:
22
- show:
23
- other: Andere Blog Post
74
+ title: Instellingen
75
+ moderation: Stuur notificaties
76
+ update_notified: Wijzig wie notificaties ontvangt
77
+ comments: Reacties
78
+ blog:
79
+ comment_mailer:
80
+ notification:
81
+ greeting: Hallo
82
+ you_recieved_new_comment: Er is zojuist een reactie geplaatst op uw website.
83
+ comment_starts: --- begin reactie ---
84
+ comment_ends: --- einde reactie ---
85
+ from: Van
86
+ email: E-mail
87
+ message: Bericht
88
+ closing_line: Met vriendelijke groet
89
+ ps: 'P.S. Alle reacties worden opgeslagen in de "Blog" sectie van Refinery onder het submenu "Comments", voor als u deze reacties later wilt bekijken.'
90
+ shared:
91
+ categories:
92
+ title: Categori�n
93
+ rss_feed:
94
+ title: RSS Feed
95
+ subscribe: Aanmelden
96
+ posts:
97
+ other: Andere posts
98
+ created_at: 'Gepost op %{when}'
99
+ read_more: Lees verder
100
+ comments:
101
+ singular: Reactie
102
+ none: Geen reacties
103
+ archives: Archief
104
+ tags:
105
+ title: "Tags"
106
+ categories:
107
+ show:
108
+ no_posts: Er zijn momenteel geen posts.
109
+ posts:
110
+ post:
111
+ filed_in: Toegevoegd aan
112
+ comment: Reactie
113
+ comments:
114
+ by: 'Gepost door %{who}'
115
+ time_ago: '%{time} geleden'
116
+ thank_you: 'Bedankt voor uw reactie.'
117
+ thank_you_moderated: 'Bedankt voor uw reactie. Uw reactie is in de wachtrij geplaatst en zal binnenkort verschijnen.'
118
+ index:
119
+ no_blog_articles_yet: Er zijn momenteel nog geen blogposts. Neem regelmatig een kijkje.
120
+ show:
121
+ blog_home: Blog Home
122
+ comments:
123
+ title: Reacties
124
+ add: Plaats een reactie
125
+ other: Andere blogposts
126
+ filed_in: Toegevoegd aan
127
+ tagged: Tagged
128
+ submit: Verstuur reactie
129
+ tagged:
130
+ no_blog_articles_yet: Er zijn momenteel nog geen blogposts. Neem regelmatig een kijkje.
131
+ archive:
132
+ blog_archive_for: 'Blog archief voor %{date}'
133
+ no_blog_articles_posted: 'Er zijn geen blogposts voor %{date}. Neem regelmatig een kijkje.'