refinerycms-blog 2.1.0 → 3.0.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.
Files changed (84) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +9 -23
  3. data/Gemfile +15 -7
  4. data/Rakefile +0 -1
  5. data/app/assets/javascripts/refinery/blog/backend.js +18 -59
  6. data/app/assets/stylesheets/refinery/blog/backend.css.scss +4 -55
  7. data/app/assets/stylesheets/refinery/blog/frontend.css.scss +2 -2
  8. data/app/controllers/refinery/blog/admin/categories_controller.rb +6 -0
  9. data/app/controllers/refinery/blog/admin/posts_controller.rb +25 -3
  10. data/app/controllers/refinery/blog/blog_controller.rb +31 -5
  11. data/app/controllers/refinery/blog/categories_controller.rb +10 -3
  12. data/app/controllers/refinery/blog/posts_controller.rb +16 -6
  13. data/app/helpers/refinery/blog/controller_helper.rb +1 -22
  14. data/app/models/refinery/blog/categorization.rb +0 -1
  15. data/app/models/refinery/blog/category.rb +3 -6
  16. data/app/models/refinery/blog/comment.rb +15 -17
  17. data/app/models/refinery/blog/post.rb +44 -43
  18. data/app/views/refinery/blog/admin/_submenu.html.erb +1 -3
  19. data/app/views/refinery/blog/admin/categories/_category.html.erb +14 -5
  20. data/app/views/refinery/blog/admin/posts/_form.html.erb +13 -6
  21. data/app/views/refinery/blog/admin/posts/_form_part.html.erb +1 -1
  22. data/app/views/refinery/blog/admin/posts/_post.html.erb +12 -5
  23. data/app/views/refinery/blog/admin/posts/_teaser_part.html.erb +1 -1
  24. data/app/views/refinery/blog/posts/index.html.erb +2 -2
  25. data/app/views/refinery/blog/shared/_categories.html.erb +3 -3
  26. data/app/views/refinery/shared/admin/_autocomplete.html.erb +45 -0
  27. data/bin/rails +5 -0
  28. data/bin/refinerycms +62 -0
  29. data/changelog.md +4 -1
  30. data/config/locales/cs.yml +2 -2
  31. data/config/locales/en.yml +3 -0
  32. data/config/locales/fr.yml +6 -4
  33. data/config/locales/nb.yml +154 -14
  34. data/config/locales/nl.yml +21 -0
  35. data/config/locales/pl.yml +2 -2
  36. data/config/locales/ru.yml +25 -14
  37. data/config/locales/zh-CN.yml +32 -1
  38. data/config/locales/zh-TW.yml +160 -0
  39. data/config/routes.rb +6 -3
  40. data/db/migrate/20110803223522_create_blog_structure.rb +4 -4
  41. data/db/migrate/20120531113632_delete_cached_slugs.rb +2 -2
  42. data/db/migrate/20140622132537_add_missing_unique_indices.acts_as_taggable_on_engine.rb +20 -0
  43. data/db/migrate/20140622132538_add_taggings_counter_cache_to_tags.acts_as_taggable_on_engine.rb +15 -0
  44. data/db/seeds.rb +4 -4
  45. data/lib/refinery/blog.rb +1 -1
  46. data/lib/refinery/blog/configuration.rb +1 -1
  47. data/lib/refinery/blog/engine.rb +8 -3
  48. data/readme.md +21 -6
  49. data/refinerycms-blog.gemspec +9 -7
  50. data/script/rails +1 -3
  51. data/spec/controllers/refinery/blog/admin/comments_controller_spec.rb +23 -19
  52. data/spec/controllers/refinery/blog/admin/posts_controller_spec.rb +35 -0
  53. data/spec/controllers/refinery/blog/posts_controller_spec.rb +3 -3
  54. data/spec/factories/blog_posts.rb +1 -1
  55. data/spec/factories/user.rb +27 -0
  56. data/spec/features/refinery/blog/admin/categories_spec.rb +106 -104
  57. data/spec/features/refinery/blog/admin/comments_spec.rb +18 -18
  58. data/spec/features/refinery/blog/admin/menu_spec.rb +14 -8
  59. data/spec/features/refinery/blog/admin/posts_spec.rb +99 -86
  60. data/spec/features/refinery/blog/categories_spec.rb +20 -18
  61. data/spec/features/refinery/blog/posts_spec.rb +128 -124
  62. data/spec/helpers/refinery/blog/posts_helper_spec.rb +13 -13
  63. data/spec/lib/refinery/blog/engine_spec.rb +1 -11
  64. data/spec/models/refinery/blog/category_spec.rb +10 -10
  65. data/spec/models/refinery/blog/comment_spec.rb +3 -3
  66. data/spec/models/refinery/blog/post_spec.rb +59 -33
  67. data/spec/spec_helper.rb +2 -3
  68. metadata +75 -50
  69. data/app/assets/images/refinery/blog/icons/add.png +0 -0
  70. data/app/assets/images/refinery/blog/icons/cog.png +0 -0
  71. data/app/assets/images/refinery/blog/icons/comment.png +0 -0
  72. data/app/assets/images/refinery/blog/icons/comment_cross.png +0 -0
  73. data/app/assets/images/refinery/blog/icons/comment_tick.png +0 -0
  74. data/app/assets/images/refinery/blog/icons/comments.png +0 -0
  75. data/app/assets/images/refinery/blog/icons/down.gif +0 -0
  76. data/app/assets/images/refinery/blog/icons/folder.png +0 -0
  77. data/app/assets/images/refinery/blog/icons/folder_add.png +0 -0
  78. data/app/assets/images/refinery/blog/icons/folder_edit.png +0 -0
  79. data/app/assets/images/refinery/blog/icons/page.png +0 -0
  80. data/app/assets/images/refinery/blog/icons/page_add.png +0 -0
  81. data/app/assets/images/refinery/blog/icons/page_copy.png +0 -0
  82. data/app/assets/images/refinery/blog/icons/up.gif +0 -0
  83. data/spec/helpers/refinery/blog/controller_helper_spec.rb +0 -27
  84. data/todo.md +0 -5
@@ -36,7 +36,17 @@ zh-CN:
36
36
  posts:
37
37
  form:
38
38
  toggle_advanced_options: 点击进入标签详解设置和菜单选项
39
- published_at: 发布日期
39
+ published_at: 公布日期
40
+ custom_url: 自设网址
41
+ custom_url_help: 由此字句生成网志发帖,而非从标题
42
+ source_url: 来源网站
43
+ source_url_help: 记录发帖来源
44
+ source_url_title: 网址来源标题
45
+ source_url_title_help: 发帖的来源网址标题
46
+ author: 作者
47
+ author_help: 设定此用者成为作者
48
+ copy_body: 复制发帖内容至前言
49
+ copy_body_help: '复制发帖内容至前言,前言留白让系统自动生成前言。'
40
50
  index:
41
51
  no_items_yet: '目前尚未发博。 点击 "%{create}" 添加您的第一篇博文。'
42
52
  uncategorized:
@@ -74,6 +84,7 @@ zh-CN:
74
84
  moderation: 等待审核
75
85
  update_notified: 更新获得通知的人
76
86
  comments: 评论
87
+ teasers: 前言
77
88
  comment_mailer:
78
89
  notification:
79
90
  greeting: 您好
@@ -99,6 +110,8 @@ zh-CN:
99
110
  singular: 评论
100
111
  none: 没有评论
101
112
  archives: 档案
113
+ tags:
114
+ title: "标签"
102
115
  categories:
103
116
  show:
104
117
  no_posts: 此处没有文章。
@@ -124,3 +137,21 @@ zh-CN:
124
137
  archive:
125
138
  blog_archive_for: '博客存档 %{date}'
126
139
  no_blog_articles_posted: '没有发布文章 %{date}。敬请关注。'
140
+
141
+ activerecord:
142
+ models:
143
+ refinery/blog/category: 分类
144
+ refinery/blog/comment: 评论
145
+ refinery/blog/post: 博文发帖
146
+ attributes:
147
+ refinery/blog/category:
148
+ title: 标题
149
+ refinery/blog/comment:
150
+ name: 姓名
151
+ email: 电邮
152
+ message: 信息
153
+ refinery/blog/post:
154
+ title: Title
155
+ body: 标题
156
+ teaser: 前言
157
+
@@ -0,0 +1,160 @@
1
+ zh-TW:
2
+ refinery:
3
+ plugins:
4
+ refinerycms_blog:
5
+ title: 博客
6
+ blog:
7
+ admin:
8
+ categories:
9
+ category:
10
+ edit: 編輯此類別
11
+ delete: 永久删除此類別
12
+ index:
13
+ no_items_yet: '沒有此類別。 點擊 "%{create}" 添加第一次類別。'
14
+ comments:
15
+ approved: '評論來自 "%{author}" 已被審批。'
16
+ comment:
17
+ view_live_html: '查看此評論 <br/><em>(opens in a new window)</em>'
18
+ read: 閱讀此評論
19
+ reject: 駁回此評論
20
+ approve: 批准此評論
21
+ rejected: '評論來自 "%{author}" 已被駁回。'
22
+ index:
23
+ no_items_yet: '沒有 %{type} 評論。'
24
+ show:
25
+ comment: 評論
26
+ blog_post: 發博客
27
+ from: 發佈由
28
+ date: 發佈在
29
+ message: 評論
30
+ details: 詳情
31
+ age: 年齡
32
+ actions: 行動
33
+ back: 返回至所有評論
34
+ reject: 駁回此評論
35
+ approve: 批准此評論
36
+ posts:
37
+ form:
38
+ toggle_advanced_options: 按此存取關鍵字標簽及菜單選項
39
+ published_at: 公佈日期
40
+ custom_url: 自設網址
41
+ custom_url_help: 由此字句生成網誌發帖,而非從標題
42
+ source_url: 來源網站
43
+ source_url_help: 記錄發帖來源
44
+ source_url_title: 網址來源標題
45
+ source_url_title_help: 發帖的來源網址標題
46
+ author: 作者
47
+ author_help: 設定此用者成為作者
48
+ copy_body: 複製發帖內容至前言
49
+ copy_body_help: '複製發帖內容至前言。前言留白讓系統自動生成前言。'
50
+ index:
51
+ no_items_yet: '目前尚未發博客。點擊 "%{create}" 添加您的第一篇博客。'
52
+ uncategorized:
53
+ no_items_yet: '沒有未歸類的博客。'
54
+ post:
55
+ view_live_html: '查看此博客 <br/><em>(opens in a new window)</em>'
56
+ edit: 編輯此博客
57
+ delete: 永久删除此博客
58
+ settings:
59
+ notification_recipients:
60
+ value: 發送通知
61
+ explanation: '每次有人發表評論,發送郵件告知有新評論。'
62
+ hint: '增加新評論時,將會發送郵件告知您。'
63
+ example: "輸入您的郵件地址,如: jack@work.com, jill@office.com"
64
+ updated: '通知收件人已被設為 "%{recipients}"'
65
+ submenu:
66
+ categories:
67
+ title: 分類
68
+ manage: 管理
69
+ new: 創建新的類別
70
+ comments:
71
+ title: 評論
72
+ title_with_count: '評論 (%{new_count} new)'
73
+ new: 新
74
+ unmoderated: 新
75
+ approved: 批准
76
+ rejected: 駁回
77
+ posts:
78
+ title: 題目
79
+ manage: 管理博客
80
+ new: 創建新博客
81
+ uncategorized: 未歸類博客
82
+ settings:
83
+ title: 設置
84
+ moderation: 等待審核
85
+ update_notified: 更新獲得通知的人
86
+ comments: 評論
87
+ teasers: 前言
88
+ comment_mailer:
89
+ notification:
90
+ greeting: 您好
91
+ you_recieved_new_comment: 您剛收到來自網站的一條新評論
92
+ comment_starts: --- 評論開始 ---
93
+ comment_ends: --- 評論結束 ---
94
+ from: 來自
95
+ email: 郵件
96
+ message: 信息
97
+ closing_line: 親切問候
98
+ ps: '備註: 您所有的評論也會備存於「博客」部份的「評論」菜單下。您以後隨時可以再閱讀。'
99
+ shared:
100
+ categories:
101
+ title: 分類
102
+ rss_feed:
103
+ title: RSS源
104
+ subscribe: 訂閱
105
+ posts:
106
+ other: 其他博客
107
+ created_at: '發表於 %{when}'
108
+ read_more: 閱讀更多
109
+ comments:
110
+ singular: 評論
111
+ none: 没有評論
112
+ archives: 檔案
113
+ tags:
114
+ title: "標簽"
115
+ categories:
116
+ show:
117
+ no_posts: 此處沒有文章。
118
+ posts:
119
+ post:
120
+ filled_in: 用戶體驗
121
+ comment: 評論
122
+ comments:
123
+ by: '發佈由 %{who}'
124
+ time_ago: '%{time} 之前'
125
+ thank_you: '感謝您的評論。'
126
+ thank_you_moderated: '感謝您的評論。您的信息已被列入等待審核隊列,並會在短期內出現。'
127
+ index:
128
+ no_blog_articles_yet: 尚未發布文章。敬請關注。
129
+ show:
130
+ blog_home: 博客首頁
131
+ by: 作者
132
+ categories: 標簽
133
+ category: 標簽
134
+ comments:
135
+ title: 評論
136
+ add: 發表評論
137
+ other: 其他博客
138
+ filled_in: 用戶體驗
139
+ source: 來自
140
+ submit: 發送評論
141
+ tagged: 標簽
142
+ archive:
143
+ blog_archive_for: '博客存檔 %{date}'
144
+ no_blog_articles_posted: '沒有發布文章 %{date}。敬請關注。'
145
+ activerecord:
146
+ models:
147
+ refinery/blog/category: 分類
148
+ refinery/blog/comment: 評論
149
+ refinery/blog/post: 博文發帖
150
+ attributes:
151
+ refinery/blog/category:
152
+ title: 標題
153
+ refinery/blog/comment:
154
+ name: 姓名
155
+ email: 電郵
156
+ message: 信息
157
+ refinery/blog/post:
158
+ title: Title
159
+ body: 標題
160
+ teaser: 前言
@@ -3,9 +3,9 @@ Refinery::Core::Engine.routes.draw do
3
3
  root :to => "posts#index"
4
4
  resources :posts, :only => [:show]
5
5
 
6
- match 'feed.rss', :to => 'posts#index', :as => 'rss_feed', :defaults => {:format => "rss"}
7
- match 'categories/:id', :to => 'categories#show', :as => 'category'
8
- match ':id/comments', :to => 'posts#comment', :as => 'comments'
6
+ get 'feed.rss', :to => 'posts#index', :as => 'rss_feed', :defaults => {:format => "rss"}
7
+ get 'categories/:id', :to => 'categories#show', :as => 'category'
8
+ post ':id/comments', :to => 'posts#comment', :as => 'comments'
9
9
  get 'archive/:year(/:month)', :to => 'posts#archive', :as => 'archive_posts'
10
10
  get 'tagged/:tag_id(/:tag_name)' => 'posts#tagged', :as => 'tagged_posts'
11
11
  end
@@ -20,6 +20,9 @@ Refinery::Core::Engine.routes.draw do
20
20
  get :uncategorized
21
21
  get :tags
22
22
  end
23
+ member do
24
+ post :delete_translation
25
+ end
23
26
  end
24
27
 
25
28
  resources :categories
@@ -1,7 +1,7 @@
1
1
  class CreateBlogStructure < ActiveRecord::Migration
2
2
 
3
3
  def up
4
- create_table :refinery_blog_posts, :id => true do |t|
4
+ create_table :refinery_blog_posts do |t|
5
5
  t.string :title
6
6
  t.text :body
7
7
  t.boolean :draft
@@ -11,7 +11,7 @@ class CreateBlogStructure < ActiveRecord::Migration
11
11
 
12
12
  add_index :refinery_blog_posts, :id
13
13
 
14
- create_table :refinery_blog_comments, :id => true do |t|
14
+ create_table :refinery_blog_comments do |t|
15
15
  t.integer :blog_post_id
16
16
  t.boolean :spam
17
17
  t.string :name
@@ -24,14 +24,14 @@ class CreateBlogStructure < ActiveRecord::Migration
24
24
  add_index :refinery_blog_comments, :id
25
25
  add_index :refinery_blog_comments, :blog_post_id
26
26
 
27
- create_table :refinery_blog_categories, :id => true do |t|
27
+ create_table :refinery_blog_categories do |t|
28
28
  t.string :title
29
29
  t.timestamps
30
30
  end
31
31
 
32
32
  add_index :refinery_blog_categories, :id
33
33
 
34
- create_table :refinery_blog_categories_blog_posts, :id => true do |t|
34
+ create_table :refinery_blog_categories_blog_posts do |t|
35
35
  t.integer :blog_category_id
36
36
  t.integer :blog_post_id
37
37
  end
@@ -1,6 +1,6 @@
1
1
  class DeleteCachedSlugs < ActiveRecord::Migration
2
2
  def change
3
- remove_column Refinery::Blog::Category.table_name, :cached_slug
4
- remove_column Refinery::Blog::Post.table_name, :cached_slug
3
+ remove_column Refinery::Blog::Category.table_name, :cached_slug, :string
4
+ remove_column Refinery::Blog::Post.table_name, :cached_slug, :string
5
5
  end
6
6
  end
@@ -0,0 +1,20 @@
1
+ # This migration comes from acts_as_taggable_on_engine (originally 2)
2
+ class AddMissingUniqueIndices < ActiveRecord::Migration
3
+ def self.up
4
+ add_index :tags, :name, unique: true
5
+
6
+ remove_index :taggings, :tag_id
7
+ remove_index :taggings, [:taggable_id, :taggable_type, :context]
8
+ add_index :taggings,
9
+ [:tag_id, :taggable_id, :taggable_type, :context, :tagger_id, :tagger_type],
10
+ unique: true, name: 'taggings_idx'
11
+ end
12
+
13
+ def self.down
14
+ remove_index :tags, :name
15
+
16
+ remove_index :taggings, name: 'taggings_idx'
17
+ add_index :taggings, :tag_id
18
+ add_index :taggings, [:taggable_id, :taggable_type, :context]
19
+ end
20
+ end
@@ -0,0 +1,15 @@
1
+ # This migration comes from acts_as_taggable_on_engine (originally 3)
2
+ class AddTaggingsCounterCacheToTags < ActiveRecord::Migration
3
+ def self.up
4
+ add_column :tags, :taggings_count, :integer, default: 0
5
+
6
+ ActsAsTaggableOn::Tag.reset_column_information
7
+ ActsAsTaggableOn::Tag.find_each do |tag|
8
+ ActsAsTaggableOn::Tag.reset_counters(tag.id, :taggings)
9
+ end
10
+ end
11
+
12
+ def self.down
13
+ remove_column :tags, :taggings_count
14
+ end
15
+ end
@@ -5,15 +5,15 @@ Refinery::User.all.each do |user|
5
5
  end
6
6
  end if defined?(Refinery::User)
7
7
 
8
- if defined?(Refinery::Page) and !Refinery::Page.exists?(:link_url => '/blog')
8
+ if defined?(Refinery::Page) and !Refinery::Page.exists?(:link_url => (url = Refinery::Blog.page_url))
9
9
  page = Refinery::Page.create(
10
10
  :title => "Blog",
11
- :link_url => "/blog",
11
+ :link_url => url,
12
12
  :deletable => false,
13
- :menu_match => "^/blogs?(\/|\/.+?|)$"
13
+ :menu_match => "^#{url}?(\/|\/.+?|)$"
14
14
  )
15
15
 
16
16
  Refinery::Pages.default_parts.each_with_index do |default_page_part, index|
17
- page.parts.create(:title => default_page_part, :body => nil, :position => index)
17
+ page.parts.create(:title => default_page_part[:title], :slug => default_page_part[:slug], :body => nil, :position => index)
18
18
  end
19
19
  end
@@ -1,8 +1,8 @@
1
1
  require 'refinerycms-core'
2
2
  require 'refinerycms-settings'
3
- require 'filters_spam'
4
3
  require 'rails_autolink'
5
4
  require 'friendly_id'
5
+ require 'jquery-ui-rails'
6
6
 
7
7
  module Refinery
8
8
  autoload :BlogGenerator, 'generators/refinery/blog/blog_generator'
@@ -26,7 +26,7 @@ module Refinery
26
26
  end
27
27
 
28
28
  def user_class
29
- class_name = @@user_class_name || 'Refinery::User'
29
+ class_name = @@user_class_name || "Refinery::Authentication::Devise::User"
30
30
  begin
31
31
  Object.const_get(class_name)
32
32
  rescue NameError
@@ -5,14 +5,19 @@ module Refinery
5
5
 
6
6
  isolate_namespace Refinery::Blog
7
7
 
8
- initializer "register refinerycms_blog plugin" do
8
+ before_inclusion do
9
9
  Refinery::Plugin.register do |plugin|
10
10
  plugin.pathname = root
11
11
  plugin.name = "refinerycms_blog"
12
12
  plugin.url = proc { Refinery::Core::Engine.routes.url_helpers.blog_admin_posts_path }
13
- plugin.menu_match = /refinery\/blog\/?(posts|comments|categories)?/
14
- plugin.activity = { :class_name => :'refinery/blog/post' }
13
+ plugin.menu_match = %r{refinery/blog/?(posts|comments|categories)?}
15
14
  end
15
+
16
+ Rails.application.config.assets.precompile += %w(
17
+ refinery/blog/backend.css
18
+ refinery/blog/frontend.css
19
+ refinery/blog/**/*.css
20
+ )
16
21
  end
17
22
 
18
23
  config.after_initialize do
data/readme.md CHANGED
@@ -1,8 +1,8 @@
1
- # Refinery CMS Blog
1
+ # Refinery CMS Blog [![Build Status](https://travis-ci.org/refinery/refinerycms-blog.svg?branch=master)](https://travis-ci.org/refinery/refinerycms-blog)
2
2
 
3
3
  Simple blog engine for [Refinery CMS](http://refinerycms.com). It supports posts, categories and comments.
4
4
 
5
- This version of `refinerycms-blog` supports Rails 3.2.x. To use Rails 2.3.x use the [refinerycms-blog "Rails 2.3.x stable branch"](http://github.com/refinery/refinerycms-blog/tree/rails2-stable).
5
+ This version of `refinerycms-blog` supports Refinery 3.x and Rails 4.1.x. To use Rails 3.x / Refinery 2.1.x use the [refinerycms-blog "Refinery CMS 2-1 stable branch"](http://github.com/refinery/refinerycms-blog/tree/2-1-stable).
6
6
 
7
7
  Options:
8
8
 
@@ -11,16 +11,19 @@ Options:
11
11
 
12
12
  ## Requirements
13
13
 
14
- Refinery CMS version 2.1.0 or above.
14
+ Refinery CMS version 3.0.0 or above.
15
15
 
16
16
  ## Install
17
17
 
18
- Open up your ``Gemfile`` and add at the bottom this line:
18
+ Open up your ``Gemfile`` and at the bottom, add this line:
19
+
19
20
 
20
21
  ```ruby
21
- gem 'refinerycms-blog', '~> 2.1.0'
22
+ gem 'refinerycms-blog', git: 'https://github.com/refinery/refinerycms-blog', branch: 'master'
22
23
  ```
23
24
 
25
+ Note: if the [refinerycms-page-images](https://github.com/refinery/refinerycms-page-images) extension is also installed, make sure `gem refinerycms-blog` comes before `gem 'refinerycms-page-images'`.
26
+
24
27
  Now, run ``bundle install``
25
28
 
26
29
  Next, to install the blog plugin run:
@@ -35,6 +38,18 @@ Finally seed your database and you're done.
35
38
 
36
39
  rake db:seed
37
40
 
41
+ ## Visual Editor
42
+
43
+ By default, this extension does not require any particular visual editor.
44
+ Previously, Refinery was coupled to WYMeditor but this has been extracted to an
45
+ extension, [refinerycms-wymeditor](https://github.com/parndt/refinerycms-wymeditor).
46
+
47
+ If you want to use `refinerycms-wymeditor`, simply place it in your Gemfile:
48
+
49
+ ```ruby
50
+ gem 'refinerycms-wymeditor', ['~> 1.0', '>= 1.0.6']
51
+ ```
52
+
38
53
  ## Developing & Contributing
39
54
 
40
55
  The version of Refinery to develop this engine against is defined in the gemspec. To override the version of refinery to develop against, edit the project Gemfile to point to a local path containing a clone of refinerycms.
@@ -56,7 +71,7 @@ Or just with rake spec
56
71
  ## Additional Features
57
72
  * To limit rss feed length, use the 'max_results' parameter
58
73
 
59
- http://test.host/blog/feed.rss?max_results=10
74
+ http://test.host/blog/feed.rss?max_results=10
60
75
 
61
76
  ## More Information
62
77
  * Check out our [Website](http://refinerycms.com/)