mcms_blog 0.0.2

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 (216) hide show
  1. data/MIT-LICENSE +20 -0
  2. data/README.rdoc +3 -0
  3. data/Rakefile +40 -0
  4. data/app/assets/images/icons/accept.png +0 -0
  5. data/app/assets/images/icons/add.png +0 -0
  6. data/app/assets/images/icons/ajax-loader.gif +0 -0
  7. data/app/assets/images/icons/application_edit.png +0 -0
  8. data/app/assets/images/icons/application_go.png +0 -0
  9. data/app/assets/images/icons/arrow_left.png +0 -0
  10. data/app/assets/images/icons/arrow_switch.png +0 -0
  11. data/app/assets/images/icons/arrow_up.png +0 -0
  12. data/app/assets/images/icons/bin.png +0 -0
  13. data/app/assets/images/icons/bin_closed.png +0 -0
  14. data/app/assets/images/icons/cancel.png +0 -0
  15. data/app/assets/images/icons/cog_add.png +0 -0
  16. data/app/assets/images/icons/cog_edit.png +0 -0
  17. data/app/assets/images/icons/cross.png +0 -0
  18. data/app/assets/images/icons/delete.png +0 -0
  19. data/app/assets/images/icons/doc.png +0 -0
  20. data/app/assets/images/icons/down.gif +0 -0
  21. data/app/assets/images/icons/edit.png +0 -0
  22. data/app/assets/images/icons/email.png +0 -0
  23. data/app/assets/images/icons/email_edit.png +0 -0
  24. data/app/assets/images/icons/email_go.png +0 -0
  25. data/app/assets/images/icons/email_open.png +0 -0
  26. data/app/assets/images/icons/eye.png +0 -0
  27. data/app/assets/images/icons/folder_page_white.png +0 -0
  28. data/app/assets/images/icons/image_add.png +0 -0
  29. data/app/assets/images/icons/image_edit.png +0 -0
  30. data/app/assets/images/icons/img.png +0 -0
  31. data/app/assets/images/icons/information.png +0 -0
  32. data/app/assets/images/icons/layout_add.png +0 -0
  33. data/app/assets/images/icons/layout_edit.png +0 -0
  34. data/app/assets/images/icons/music.png +0 -0
  35. data/app/assets/images/icons/page_add.png +0 -0
  36. data/app/assets/images/icons/page_edit.png +0 -0
  37. data/app/assets/images/icons/page_white_edit.png +0 -0
  38. data/app/assets/images/icons/page_white_gear.png +0 -0
  39. data/app/assets/images/icons/page_white_put.png +0 -0
  40. data/app/assets/images/icons/pdf.png +0 -0
  41. data/app/assets/images/icons/ppt.png +0 -0
  42. data/app/assets/images/icons/star.png +0 -0
  43. data/app/assets/images/icons/tick.png +0 -0
  44. data/app/assets/images/icons/up.gif +0 -0
  45. data/app/assets/images/icons/user_add.png +0 -0
  46. data/app/assets/images/icons/user_comment.png +0 -0
  47. data/app/assets/images/icons/user_edit.png +0 -0
  48. data/app/assets/images/icons/xls.png +0 -0
  49. data/app/assets/images/icons/zip.png +0 -0
  50. data/app/assets/images/icons/zoom.png +0 -0
  51. data/app/assets/images/page_bg.png +0 -0
  52. data/app/assets/images/rails.png +0 -0
  53. data/app/assets/javascripts/admin/blog/mcms-blog-submenu.js +50 -0
  54. data/app/assets/javascripts/contrib/ui.core.js +519 -0
  55. data/app/assets/javascripts/contrib/ui.tabs.js +688 -0
  56. data/app/assets/javascripts/posts.js +3 -0
  57. data/app/assets/stylesheets/blog_global.css +1587 -0
  58. data/app/assets/stylesheets/blog_home.css +1432 -0
  59. data/app/assets/stylesheets/home.css +1429 -0
  60. data/app/assets/stylesheets/images/back_ui-bg_gloss-wave_55_5c9ccc_500x100.png +0 -0
  61. data/app/assets/stylesheets/images/spellayt.gif +0 -0
  62. data/app/assets/stylesheets/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  63. data/app/assets/stylesheets/images/ui-bg_flat_55_fbec88_40x100.png +0 -0
  64. data/app/assets/stylesheets/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
  65. data/app/assets/stylesheets/images/ui-bg_glass_100_f6f6f6_1x400.png +0 -0
  66. data/app/assets/stylesheets/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
  67. data/app/assets/stylesheets/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
  68. data/app/assets/stylesheets/images/ui-bg_glass_75_d0e5f5_1x400.png +0 -0
  69. data/app/assets/stylesheets/images/ui-bg_glass_75_dadada_1x400.png +0 -0
  70. data/app/assets/stylesheets/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
  71. data/app/assets/stylesheets/images/ui-bg_glass_85_dfeffc_1x400.png +0 -0
  72. data/app/assets/stylesheets/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
  73. data/app/assets/stylesheets/images/ui-bg_gloss-wave_55_5c9ccc_500x100.png +0 -0
  74. data/app/assets/stylesheets/images/ui-bg_green.png +1 -0
  75. data/app/assets/stylesheets/images/ui-bg_highlight-soft_100_eeeeee_1x100.png +0 -0
  76. data/app/assets/stylesheets/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
  77. data/app/assets/stylesheets/images/ui-bg_inset-hard_100_f5f8f9_1x100.png +0 -0
  78. data/app/assets/stylesheets/images/ui-bg_inset-hard_100_fcfdfd_1x100.png +0 -0
  79. data/app/assets/stylesheets/images/ui-icons_217bc0_256x240.png +0 -0
  80. data/app/assets/stylesheets/images/ui-icons_222222_256x240.png +0 -0
  81. data/app/assets/stylesheets/images/ui-icons_2e83ff_256x240.png +0 -0
  82. data/app/assets/stylesheets/images/ui-icons_454545_256x240.png +0 -0
  83. data/app/assets/stylesheets/images/ui-icons_469bdd_256x240.png +0 -0
  84. data/app/assets/stylesheets/images/ui-icons_6da8d5_256x240.png +0 -0
  85. data/app/assets/stylesheets/images/ui-icons_888888_256x240.png +0 -0
  86. data/app/assets/stylesheets/images/ui-icons_cd0a0a_256x240.png +0 -0
  87. data/app/assets/stylesheets/images/ui-icons_d8e7f3_256x240.png +0 -0
  88. data/app/assets/stylesheets/images/ui-icons_f9bd01_256x240.png +0 -0
  89. data/app/assets/stylesheets/jquery-ui-1.8.6.custom.css +572 -0
  90. data/app/assets/stylesheets/submenu.css.scss +32 -0
  91. data/app/controllers/admin/blog/categories_controller.rb +47 -0
  92. data/app/controllers/admin/blog/comments_controller.rb +64 -0
  93. data/app/controllers/admin/blog/posts_controller.rb +80 -0
  94. data/app/controllers/admin/blog/settings_controller.rb +67 -0
  95. data/app/controllers/application_controller.rb +29 -0
  96. data/app/controllers/blog/categories_controller.rb +34 -0
  97. data/app/controllers/blog/comments_controller.rb +34 -0
  98. data/app/controllers/blog/posts_controller.rb +123 -0
  99. data/app/controllers/blog_controller.rb +31 -0
  100. data/app/helpers/application_helper.rb +5 -0
  101. data/app/helpers/blog_helper.rb +66 -0
  102. data/app/helpers/notification_hepler.rb +5 -0
  103. data/app/helpers/settings_helper.rb +38 -0
  104. data/app/mailers/blog/comment_mailer.rb +12 -0
  105. data/app/models/blog_category.rb +29 -0
  106. data/app/models/blog_comment.rb +109 -0
  107. data/app/models/blog_post.rb +121 -0
  108. data/app/models/categorization.rb +16 -0
  109. data/app/models/ckeditor/asset.rb +6 -0
  110. data/app/models/ckeditor/attachment_file.rb +12 -0
  111. data/app/models/ckeditor/picture.rb +13 -0
  112. data/app/models/setting.rb +59 -0
  113. data/app/views/admin/blog/_submenu.html.erb +89 -0
  114. data/app/views/admin/blog/categories/_category.html.erb +20 -0
  115. data/app/views/admin/blog/categories/_form.html.erb +21 -0
  116. data/app/views/admin/blog/categories/_sortable_list.html.erb +3 -0
  117. data/app/views/admin/blog/categories/edit.html.erb +1 -0
  118. data/app/views/admin/blog/categories/index.html.erb +23 -0
  119. data/app/views/admin/blog/categories/new.html.erb +2 -0
  120. data/app/views/admin/blog/comments/_comment.html.erb +27 -0
  121. data/app/views/admin/blog/comments/_sortable_list.html.erb +11 -0
  122. data/app/views/admin/blog/comments/index.html.erb +12 -0
  123. data/app/views/admin/blog/comments/show.html.erb +70 -0
  124. data/app/views/admin/blog/posts/_form.css.erb +22 -0
  125. data/app/views/admin/blog/posts/_form.html.erb +92 -0
  126. data/app/views/admin/blog/posts/_form.js.erb +34 -0
  127. data/app/views/admin/blog/posts/_form_part.html.erb +10 -0
  128. data/app/views/admin/blog/posts/_post.html.erb +26 -0
  129. data/app/views/admin/blog/posts/_sortable_list.html.erb +3 -0
  130. data/app/views/admin/blog/posts/_teaser_part.html.erb +11 -0
  131. data/app/views/admin/blog/posts/edit.html.erb +1 -0
  132. data/app/views/admin/blog/posts/index.html.erb +29 -0
  133. data/app/views/admin/blog/posts/new.html.erb +13 -0
  134. data/app/views/admin/blog/settings/notification_recipients.html.erb +23 -0
  135. data/app/views/blog/categories/show.html.erb +17 -0
  136. data/app/views/blog/posts/_comment.html.erb +17 -0
  137. data/app/views/blog/posts/_nav.html.erb +18 -0
  138. data/app/views/blog/posts/_post.html.erb +25 -0
  139. data/app/views/blog/posts/archive.html.erb +17 -0
  140. data/app/views/blog/posts/index.html.erb +15 -0
  141. data/app/views/blog/posts/show.html.erb +64 -0
  142. data/app/views/blog/posts/tagged.html.erb +20 -0
  143. data/app/views/blog/shared/_categories.html.erb +19 -0
  144. data/app/views/blog/shared/_post.html.erb +34 -0
  145. data/app/views/blog/shared/_posts.html.erb +17 -0
  146. data/app/views/blog/shared/_rss_feed.html.erb +2 -0
  147. data/app/views/blog/shared/_tags.html.erb +17 -0
  148. data/app/views/layouts/_javascript.html.erb +3 -0
  149. data/app/views/layouts/_scripts.html.erb +6 -0
  150. data/app/views/layouts/_stylesheets.html.erb +6 -0
  151. data/app/views/layouts/admin.html.erb +25 -0
  152. data/app/views/layouts/application.html.erb +38 -0
  153. data/app/views/layouts/home.html.erb +38 -0
  154. data/app/views/shared/_footer.html.erb +3 -0
  155. data/app/views/shared/_head.html.erb +4 -0
  156. data/app/views/shared/_header.html.erb +7 -0
  157. data/app/views/shared/_javascripts.html.erb +3 -0
  158. data/app/views/shared/_menu.html.erb +9 -0
  159. data/app/views/shared/_stylesheets.html.erb +6 -0
  160. data/app/views/shared/admin/_error_messages.html.erb +16 -0
  161. data/app/views/shared/admin/_form_actions.html.erb +34 -0
  162. data/config/locales/en.yml +192 -0
  163. data/config/routes.rb +65 -0
  164. data/db/migrate/20120606150655_create_mcms_assets.rb +26 -0
  165. data/db/migrate/20120608071959_create_blog_categories.rb +9 -0
  166. data/db/migrate/20120608072013_create_blog_comments.rb +14 -0
  167. data/db/migrate/20120608072027_create_blog_posts.rb +16 -0
  168. data/db/migrate/20120612055745_create_categorizations.rb +9 -0
  169. data/db/migrate/20120618104134_add_index_in_blog_comments.rb +5 -0
  170. data/db/migrate/20120618105246_add_custom_index_in_mcms_blog_comments.rb +5 -0
  171. data/db/migrate/20120618105511_add_custom_index_in_mcms_blog_posts.rb +5 -0
  172. data/db/migrate/20120619094143_create_settings.rb +12 -0
  173. data/db/migrate/20120627063009_acts_as_taggable_on_migration.rb +28 -0
  174. data/db/migrate/20120629065434_add_slug_to_blog_post.rb +6 -0
  175. data/db/migrate/20120629113457_add_slug_to_mcms_blog_category.rb +6 -0
  176. data/db/seeds.rb +26 -0
  177. data/lib/generators/mcms_blog/USAGE +8 -0
  178. data/lib/generators/mcms_blog/mcms_blog_generator.rb +60 -0
  179. data/lib/generators/mcms_blog/templates/asset_manager.rb +107 -0
  180. data/lib/generators/mcms_blog/templates/ckeditor.rb +18 -0
  181. data/lib/mcms_blog/engine.rb +18 -0
  182. data/lib/mcms_blog/version.rb +3 -0
  183. data/lib/mcms_blog.rb +4 -0
  184. data/lib/tasks/mcms_blog_tasks.rake +4 -0
  185. data/test/dummy/README.rdoc +261 -0
  186. data/test/dummy/Rakefile +7 -0
  187. data/test/dummy/app/assets/javascripts/application.js +15 -0
  188. data/test/dummy/app/assets/stylesheets/application.css +13 -0
  189. data/test/dummy/app/controllers/application_controller.rb +3 -0
  190. data/test/dummy/app/helpers/application_helper.rb +2 -0
  191. data/test/dummy/app/views/layouts/application.html.erb +14 -0
  192. data/test/dummy/config/application.rb +59 -0
  193. data/test/dummy/config/boot.rb +10 -0
  194. data/test/dummy/config/database.yml +25 -0
  195. data/test/dummy/config/environment.rb +5 -0
  196. data/test/dummy/config/environments/development.rb +37 -0
  197. data/test/dummy/config/environments/production.rb +67 -0
  198. data/test/dummy/config/environments/test.rb +37 -0
  199. data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
  200. data/test/dummy/config/initializers/inflections.rb +15 -0
  201. data/test/dummy/config/initializers/mime_types.rb +5 -0
  202. data/test/dummy/config/initializers/secret_token.rb +7 -0
  203. data/test/dummy/config/initializers/session_store.rb +8 -0
  204. data/test/dummy/config/initializers/wrap_parameters.rb +14 -0
  205. data/test/dummy/config/locales/en.yml +5 -0
  206. data/test/dummy/config/routes.rb +58 -0
  207. data/test/dummy/config.ru +4 -0
  208. data/test/dummy/public/404.html +26 -0
  209. data/test/dummy/public/422.html +26 -0
  210. data/test/dummy/public/500.html +25 -0
  211. data/test/dummy/public/favicon.ico +0 -0
  212. data/test/dummy/script/rails +6 -0
  213. data/test/integration/navigation_test.rb +10 -0
  214. data/test/mcms_blog_test.rb +7 -0
  215. data/test/test_helper.rb +15 -0
  216. metadata +403 -0
@@ -0,0 +1,22 @@
1
+ <!--
2
+ @Name: admin/blog/post/_form.css.erb
3
+ @Use: This is a css file for the form partial
4
+ @Created date: 08-06-2012
5
+ @Modified Date: 12-06-2012
6
+ @Company: Mindfire Solutions
7
+ -->
8
+ <style type='text/css'>
9
+ ul.blog_categories, ul.blog_categories li {
10
+ list-style: none;
11
+ margin: 0px;
12
+ padding: 0px;
13
+ }
14
+ a#copy_body_link {
15
+ background: url("/images/refinery/icons/add.png") no-repeat scroll 0 6px transparent;
16
+ border-bottom: 0 none;
17
+ display: inline;
18
+ line-height: 29px;
19
+ margin-top: 0;
20
+ padding-left: 20px;
21
+ }
22
+ </style>
@@ -0,0 +1,92 @@
1
+ <!--
2
+ @Name: admin/blog/post/_form.html.erb
3
+ @Use: Opening form for taking input for posts
4
+ @Created date: 08-06-2012
5
+ @Modified Date: 12-06-2012
6
+ @Company: Mindfire Solutions
7
+ -->
8
+ <%=render 'form.js'%>
9
+ <%= form_for [:admin, @blog_post] do |f| %>
10
+ <%= render :partial => "/shared/admin/error_messages",
11
+ :locals => {
12
+ :object => f.object,
13
+ :include_object_name => true
14
+ } %>
15
+
16
+ <div class='field'>
17
+ <%= f.label :title -%>
18
+ <%= f.text_field :title, :class => 'larger widest' %>
19
+ </div>
20
+
21
+ <div class='field'>
22
+ <div id='page-tabs' class='clearfix ui-tabs ui-widget ui-widget-content ui-corner-all form-tabs'>
23
+
24
+ <ul id='page-parts'>
25
+ <li class='ui-state-default ui-state-active'>
26
+ <%= link_to "Body", "#page-part-body" %>
27
+
28
+ </li>
29
+ <li class='ui-state-default'>
30
+ <%= link_to "Teaser", "#page-part-teaser" %>
31
+
32
+ </li>
33
+ </ul>
34
+
35
+ <div id="page-part-body">
36
+ <%= f.cktext_area :body, :input_html => { :value=> @blog_post.body }, :toolbar => 'Full', :width => 900, :height => 300 %>
37
+ </div>
38
+ <div id="page-part-teaser">
39
+
40
+ <%= f.cktext_area :cached_slug, :input_html => { :value=> @blog_post.cached_slug }, :toolbar => 'Full', :width => 900, :height => 300 %>
41
+ </div>
42
+ </div>
43
+ </div>
44
+
45
+ <div class='field'>
46
+ <%= f.label :tag_list, "Tags" -%>
47
+ <%= f.text_field :tag_list, :class => 'larger' -%>
48
+ </div>
49
+
50
+ <div id='more-options-field'>
51
+ <p>
52
+ <%= link_to t('.advanced_options'), "javascript:void(0);",
53
+ :id => 'toggle-advanced-options',
54
+ :title => t('.toggle_advanced_options') %>
55
+ </p>
56
+ <span id='draft-field'>
57
+ <%= f.check_box :draft %>
58
+ <%= f.label :draft, t('.save_as_draft'), :class => "stripped" %>
59
+ </span>
60
+ </div>
61
+ <div id='more-options' style="">
62
+ <div class="hemisquare">
63
+ <h3></h3>
64
+ <ul class='blog-categories'>
65
+ <% @blog_categories.each do |category| %>
66
+ <li>
67
+ <%= check_box_tag 'blog_post[category_ids][]', category.id,
68
+ @blog_post.categories.include?(category),
69
+ :id => (id="blog_post_category_ids_#{category.id}") %>
70
+ <%= label_tag 'blog_post[category_ids][]', category.title,
71
+ :class => 'stripped',
72
+ :for => id %>
73
+ </li>
74
+ <% end %>
75
+ </ul>
76
+ <h3><%= t('.published_at') %></h3>
77
+ <%= f.datetime_select :published_at %>
78
+
79
+ <div class='field'>
80
+ <span class='label-with-help'>
81
+ <%= f.label :custom_url, t('.custom_url') %>
82
+ </span>
83
+ <%= f.text_field :custom_url, :class => "widest" %>
84
+ </div>
85
+
86
+ </div>
87
+ <div class='hemisquare right-side'>
88
+
89
+ </div>
90
+ </div>
91
+ <%= render :partial => "/shared/admin/form_actions", :locals => { :f => f } %>
92
+ <% end %>
@@ -0,0 +1,34 @@
1
+ <script>
2
+ (function($) {
3
+ $(function() {
4
+ $('#page-tabs').tabs();
5
+ $('#copy_body_link').click(function(event) {
6
+ // Find the WYMEditor that maps to the custom_teaser field
7
+ var teaserTextArea = $('#blog_post_custom_teaser')[0];
8
+ var teaserEditor = null;
9
+ $.each(WYMeditor.INSTANCES, function(index, editor) {
10
+ if (editor._element[0] == teaserTextArea) {
11
+ teaserEditor = editor;
12
+ }
13
+ });
14
+
15
+ if (teaserEditor) {
16
+ teaserEditor.html($('#blog_post_body').attr('value'));
17
+ }
18
+
19
+ event.preventDefault();
20
+ });
21
+
22
+ var more_options = $('#more-options');
23
+ more_options.hide();
24
+
25
+ var toggle_advanced_options = $('#toggle-advanced-options');
26
+
27
+ toggle_advanced_options.click(function() {
28
+ more_options.toggle('slow', function() {
29
+ });
30
+ });
31
+
32
+ });
33
+ })(jQuery);
34
+ </script>
@@ -0,0 +1,10 @@
1
+ <!--
2
+ @Name: admin/blog/post/_form_part.html.erb
3
+ @Use: This is a form part partail used for rendering editor text area
4
+ @Created date: 08-06-2012
5
+ @Modified Date: 12-06-2012
6
+ @Company: Mindfire Solutions
7
+ -->
8
+ <div class='page_part' id='page_part_body'>
9
+ <%= f.text_area :body, :rows => 20, :class => 'wymeditor widest' -%>
10
+ </div>
@@ -0,0 +1,26 @@
1
+ <!--
2
+ @Name: admin/blog/posts/_post.html.erb
3
+ @Use: This is a partial for showing post records
4
+ @Created date: 08-06-2012
5
+ @Modified Date: 12-06-2012
6
+ @Company: Mindfire Solutions
7
+ -->
8
+
9
+ <li class='clearfix record <%= cycle("on", "on-hover") %>' id="<%= dom_id(post) -%>">
10
+ <span class='title'>
11
+ <%= post.title %>
12
+ <span class="preview"><%= post.published_at.try(:strftime, '%b %d, %Y') || 'draft' %></span>
13
+ </span>
14
+ <span class='actions'>
15
+
16
+ <%= link_to image_tag("icons/application_edit.png"), edit_admin_blog_post_path(post),
17
+ :title => 'Edit' %>
18
+ <%= link_to image_tag("icons/delete.png"), admin_blog_post_path(post),
19
+ :class => "cancel confirm-delete",
20
+ :title => 'Delete',
21
+ :method => :delete,
22
+ :confirm => "Are you sure to delete ?" %>
23
+ <%= link_to image_tag("icons/application_go.png"), blog_post_path(post),
24
+ :title => 'Show' %>
25
+ </span>
26
+ </li>
@@ -0,0 +1,3 @@
1
+ <ul id='sortable_list'>
2
+ <%= render :partial => 'post', :collection => @blog_posts %>
3
+ </ul>
@@ -0,0 +1,11 @@
1
+ <div class='page_part' id='page_part_teaser'>
2
+ <%= f.text_area :custom_teaser, :rows => 20, :class => 'wymeditor widest' -%>
3
+ <p>
4
+ <span class='clearfix label_inline_with_link'>
5
+ <%= link_to t('admin.blog.posts.form.copy_body'), "#",
6
+ :id => 'copy_body_link',
7
+ :title => t('admin.blog.posts.form.copy_body_help') %>
8
+ </span>
9
+ </p>
10
+ </div>
11
+
@@ -0,0 +1 @@
1
+ <%= render :partial => "form" %>
@@ -0,0 +1,29 @@
1
+ <!--
2
+ @Name: admin/blog/posts/index.html.erb
3
+ @Use: This is a page for displaying posts records
4
+ @Created date: 13-06-2012
5
+ @Modified Date: 13-06-2012
6
+ @Company: Mindfire Solutions
7
+ -->
8
+ <%= render :partial => '/admin/blog/submenu' %>
9
+ <% flash.each do |key, value| %>
10
+ <div id='flash' class="flash flash_<%= key %>">
11
+ <%= value %>
12
+ </div>
13
+ <% end %>
14
+ <div id='records'>
15
+
16
+ <% if @blog_posts.any? %>
17
+ <%= will_paginate @blog_posts %>
18
+
19
+ <%= render :partial => "sortable_list" %>
20
+
21
+ <%= will_paginate @blog_posts %>
22
+ <% else %>
23
+ <p>
24
+ <strong>
25
+ <%= t('.no_items_yet', :create => t('admin.blog.submenu.posts.new')) %>
26
+ </strong>
27
+ </p>
28
+ <% end %>
29
+ </div>
@@ -0,0 +1,13 @@
1
+ <!--
2
+ @Name: admin/blog/posts/new.html.erb
3
+ @Use: Opening form for taking input for posts
4
+ @Created date: 08-06-2012
5
+ @Modified Date: 12-06-2012
6
+ @Company: Mindfire Solutions
7
+ -->
8
+
9
+ <!--
10
+ Rendering form partial
11
+ -->
12
+ <%= 'Add Post' %>
13
+ <%= render :partial => "form" %>
@@ -0,0 +1,23 @@
1
+ <%= form_tag do %>
2
+
3
+ <div class='field'>
4
+ <span class='label_with_help'>
5
+ <%= label_tag :recipients, t('.value') %>
6
+ </span>
7
+ <%= text_field_tag :recipients, @recipients, :class => "larger widest" %>
8
+ </div>
9
+
10
+ <p>
11
+ <%= t('.hint') %>
12
+ </p>
13
+ <p>
14
+ <%= t('.example') %>
15
+ </p>
16
+
17
+ <%= render :partial => "/shared/admin/form_actions",
18
+ :locals => {
19
+ :f => nil,
20
+ :cancel_url => admin_blog_posts_url,
21
+ :hide_delete => true
22
+ } %>
23
+ <% end %>
@@ -0,0 +1,17 @@
1
+
2
+ <%= @category.title %>
3
+
4
+
5
+ <% if @blog_posts.any? %>
6
+ <section id="blog-posts">
7
+ <%= render :partial => "/blog/shared/post", :collection => @blog_posts %>
8
+ <%= will_paginate @blog_posts %>
9
+ </section>
10
+ <% else %>
11
+ <p>
12
+ <%= t('.no_posts') %>
13
+ </p>
14
+ <% end %>
15
+
16
+
17
+
@@ -0,0 +1,17 @@
1
+ <!--
2
+ @Name: blog/posts/_comment.html.erb
3
+ @Use: This is a page for displaying posts comment records
4
+ @Created date: 26-06-2012
5
+ @Modified Date: 26-06-2012
6
+ @Company: Mindfire Solutions
7
+ -->
8
+ <article class='blog_comment_message' id='<%= "comment-#{comment.to_param}" %>'>
9
+ <%= image_tag 'rails.png', :alt => comment.name, :class => 'avatar' %>
10
+ <%= comment.body.to_s %>
11
+ <footer class='blog_comment_author'>
12
+ <p>
13
+ <%= t('blog.posts.comments.by', :who => comment.name) %>,
14
+ <%= t('blog.posts.comments.time_ago', :time => time_ago_in_words(comment.created_at)) %>
15
+ </p>
16
+ </footer>
17
+ </article>
@@ -0,0 +1,18 @@
1
+ <!--
2
+ @Name: blog/posts/_nav.html.erb
3
+ @Use: This is a page for displaying posts records
4
+ @Created date: 26-06-2012
5
+ @Modified Date: 26-06-2012
6
+ @Company: Mindfire Solutions
7
+ -->
8
+ <nav id="next_prev_article">
9
+ <% if @blog_post.next.present? -%>
10
+ <%= link_to (truncate(@blog_post.next.title) + " &#187;").html_safe, @blog_post.next, :class => 'next' %>
11
+ <% end -%>
12
+
13
+ <%= link_to t('blog.posts.show.blog_home'), blog_root_path, :class => 'home' %>
14
+
15
+ <% if @blog_post.prev.present? -%>
16
+ <%= link_to ("&#171; " + truncate(@blog_post.prev.title)).html_safe, @blog_post.prev, :class => 'prev' %>
17
+ <% end -%>
18
+ </nav><!-- /next_prev_article -->
@@ -0,0 +1,25 @@
1
+ <!--
2
+ @Name: blog/posts/_post.html.erb
3
+ @Use: This is a page for displaying posts records
4
+ @Created date: 26-06-2012
5
+ @Modified Date: 26-06-2012
6
+ @Company: Mindfire Solutions
7
+ -->
8
+
9
+ <div id="blog_post" class="entry">
10
+ <h3 class="entry-header"><%= @blog_post.title %></h3>
11
+ <section class='details'>
12
+ <time datetime="<%=l @blog_post.published_at.to_date, :format => :default %>" class='posted_at'>
13
+ <%= t('blog.shared.posts.created_at', :when => l(@blog_post.published_at.to_date, :format => :short)) %>
14
+ </time><%= "#{t('blog.posts.show.by')} #{@blog_post.author.email}" if @blog_post.author.present? %>.
15
+ <% if (categories = @blog_post.categories).any? %>
16
+ <aside class='filed_in'>
17
+ <%= t('blog.posts.show.filed_in') %>
18
+ <% categories.each_with_index do |category, index| %>
19
+ <%= link_to category.title, blog_category_url(category) -%><%= ',' if index < ((categories.length) - 1) %>
20
+ <% end %>
21
+ </aside>
22
+ <% end %>
23
+ </section>
24
+ <%= @blog_post.body.html_safe %>
25
+ </div>
@@ -0,0 +1,17 @@
1
+ <!--
2
+ @Name: blog/posts/archive.html.erb
3
+ @Use: This is a page for displaying posts records
4
+ @Created date: 26-06-2012
5
+ @Modified Date: 28-06-2012
6
+ @Company: Mindfire Solutions
7
+ -->
8
+ <div class="module-archives module">
9
+ <% if @blog_posts.any? %>
10
+ <section id="blog_posts">
11
+ <%= render :partial => "/blog/shared/post", :collection => @blog_posts %>
12
+ </section>
13
+ <% else %>
14
+ <p><%= t('.no_blog_articles_posted', :date => @archive_date.strftime('%B %Y')) %></p>
15
+ <% end %>
16
+ </div>
17
+
@@ -0,0 +1,15 @@
1
+ <!--
2
+ @Name: blog/posts/index.html.erb
3
+ @Use: This is a page for displaying posts records
4
+ @Created date: 13-06-2012
5
+ @Modified Date: 28-06-2012
6
+ @Company: Mindfire Solutions
7
+ -->
8
+
9
+ <% if @blog_posts.any? %>
10
+ <%= render :partial => "/blog/shared/post", :collection => @blog_posts %>
11
+ <%= will_paginate @blog_posts %>
12
+ <% else %>
13
+ <p><%= t('.no_blog_articles_yet') %></p>
14
+ <% end %>
15
+
@@ -0,0 +1,64 @@
1
+ <!--
2
+ @Name: blog/posts/show.html.erb
3
+ @Use: This is a page for displaying posts records
4
+ @Created date: 13-06-2012
5
+ @Modified Date: 13-06-2012
6
+ @Company: Mindfire Solutions
7
+ -->
8
+ <div class="post-left-content">
9
+ <%# content_for :body_content_left do %>
10
+ <div id="show-blog-post">
11
+ <%= render 'post' %>
12
+ </div>
13
+
14
+ <% if BlogPost::CommentSetting.is_comments_allowed? %>
15
+ <aside id="comments">
16
+ <h2><%= t('.comments.title') %></h2>
17
+ <% if (comments = @blog_post.comments.where(:state => 'approved')).any? %>
18
+ <%= render :partial => "comment", :collection => comments %>
19
+ <% else %>
20
+ <p>
21
+ <%= t('blog.shared.comments.none') %>.
22
+ </p>
23
+ <% end %>
24
+
25
+ <% flash.each do |key, value| %>
26
+ <div id='flash' class="flash flash-<%= key %>">
27
+ <%= value %>
28
+ </div>
29
+ <% end %>
30
+
31
+ <h2><%= t('.comments.add') %></h2>
32
+ <%= form_for [:blog_post, BlogComment.new] do |f| %>
33
+
34
+ <%= render :partial => "/shared/admin/error_messages",
35
+ :locals => {
36
+ :object => f.object,
37
+ :include_object_name => true
38
+ } %>
39
+
40
+ <div class='field'>
41
+ <%= f.label :name %>
42
+ <%= f.text_field :name %>
43
+ </div>
44
+
45
+ <div class='field'>
46
+ <%= f.label :email %>
47
+ <%= f.email_field :email %>
48
+ </div>
49
+
50
+ <div class='field message-field'>
51
+ <%= f.label :message %>
52
+ <%= f.text_area :body, :rows => 6 %>
53
+ </div>
54
+
55
+ <div class='field form-actions'>
56
+ <%= f.submit 'Submit' %>
57
+ </div>
58
+ <% end %>
59
+ </aside>
60
+ <% end %>
61
+
62
+ <% #end %>
63
+ </div>
64
+
@@ -0,0 +1,20 @@
1
+ <!--
2
+ @Name: blog/posts/tagged.html.erb
3
+ @Use: This is a page for displaying tagged posts records
4
+ @Created date: 13-06-2012
5
+ @Modified Date: 27-06-2012
6
+ @Company: Mindfire Solutions
7
+ -->
8
+ <%= "#{t('.posts_tagged')} &#8220;#{@tag_name.titleize}&#8221;".html_safe -%>
9
+
10
+
11
+ <% if @blog_posts.any? %>
12
+ <section id="blog_posts">
13
+ <%= render :partial => "/blog/shared/post", :collection => @blog_posts %>
14
+ <%= will_paginate @blog_posts %>
15
+ </section>
16
+ <% else %>
17
+ <p><%= t('.no_blog_articles_yet') %></p>
18
+ <% end %>
19
+
20
+
@@ -0,0 +1,19 @@
1
+ <!--
2
+ @Name: blog/shared/_categories.html.erb
3
+ @Use: This is a page for displaying categories records
4
+ @Created date: 13-06-2012
5
+ @Modified Date: 27-06-2012
6
+ @Company: Mindfire Solutions
7
+ -->
8
+ <div class="module-categories module">
9
+ <% if @blog_categories.any? %>
10
+ <h2><%= 'Categories' %></h2>
11
+ <ul id='categories'>
12
+ <% @blog_categories.each do |category| %>
13
+ <li<%= " class='selected'" if @category.present? and @category.id == category.id %>>
14
+ <%= link_to "#{category.title} (#{category.post_count})", blog_category_url(category) %>
15
+ </li>
16
+ <% end %>
17
+ </ul>
18
+ <% end %>
19
+ </div>
@@ -0,0 +1,34 @@
1
+ <!--
2
+ @Name: blog/shared/_post.html.erb
3
+ @Use: This is a page for displaying posts records
4
+ @Created date: 26-06-2012
5
+ @Modified Date: 28-06-2012
6
+ @Company: Mindfire Solutions
7
+ -->
8
+ <% if post.live? %>
9
+ <h2 class="date-header"><%= post.published_at.strftime("%B %d, %Y") %> </h2>
10
+ <div class="entry">
11
+ <h3 class="entry-header"><%= post.title %></h3>
12
+ <div class="entry-content">
13
+ <div class="entry-body">
14
+ <p>
15
+ <% post_body = post.body.html_safe %>
16
+ <%= truncate(post_body, :length => 300, :separator => ' ') %>
17
+ </p>
18
+ <p>
19
+ <%= link_to t('blog.shared.posts.read_more'), blog_post_url(post) %>
20
+ </p>
21
+ <p class="entry-footer">
22
+ <span class="post-footers"><%= ( post.author.present?)? "#{t('blog.posts.show.by')} #{post.author.email}" : 'Unknown' %></span>
23
+ <span class="separator">|
24
+ <% if post.comments.any? %>
25
+ (<%= pluralize(post.comments.approved.count, t('blog.shared.comments.singular')) %>)
26
+ <% else %>
27
+ (<%= t('blog.shared.comments.none') %>)
28
+ <% end %>
29
+ </span>
30
+ </p>
31
+ </div>
32
+ </div>
33
+ </div>
34
+ <% end %>
@@ -0,0 +1,17 @@
1
+ <!--
2
+ @Name: blog/shared/_posts.html.erb
3
+ @Use: This is a page for displaying posts records
4
+ @Created date: 26-06-2012
5
+ @Modified Date: 28-06-2012
6
+ @Company: Mindfire Solutions
7
+ -->
8
+ <% if @blog_posts.many? %>
9
+ <h2><%= t('.other') %></h2>
10
+ <ul id="blog-posts">
11
+ <% @blog_posts.each do |blog_post| %>
12
+ <li class='clearfix'>
13
+ <%= link_to blog_post.title, blog_post_url(blog_post) %>
14
+ </li>
15
+ <% end %>
16
+ </ul>
17
+ <% end %>
@@ -0,0 +1,2 @@
1
+ <h2><%= t('.title') %></h2>
2
+ <%= link_to t('.subscribe'), blog_rss_feed_url, :id => "rss_feed_subscribe"%>
@@ -0,0 +1,17 @@
1
+ <!--
2
+ @Name: blog/shared/_tags.html.erb
3
+ @Use: This is a page for displaying tags records
4
+ @Created date: 13-06-2012
5
+ @Modified Date: 27-06-2012
6
+ @Company: Mindfire Solutions
7
+ -->
8
+ <div class="module-categories module">
9
+ <% if @tags.any? %>
10
+ <h2><%= 'Tags' %></h2>
11
+ <nav id='tags'>
12
+ <% tag_cloud(@tags, %w(tag1 tag2 tag3 tag4)) do |tag, css_class| %>
13
+ <%= link_to tag.name, tagged_posts_path(tag.id, tag.name.parameterize), :class => css_class %>
14
+ <% end %>
15
+ </nav>
16
+ <% end %>
17
+ </div>
@@ -0,0 +1,3 @@
1
+ <% AssetManager.get_libraries.each do |library| %>
2
+ <%= javascript_include_tag library %>
3
+ <% end %>
@@ -0,0 +1,6 @@
1
+ <%#
2
+ # To change this template, choose Tools | Templates
3
+ # and open the template in the editor.
4
+ %>
5
+
6
+ <%= "_scripts.html" %>
@@ -0,0 +1,6 @@
1
+ <% AssetManager.get_css.each do |css| %>
2
+ <%= stylesheet_link_tag css %>
3
+ <% end %>
4
+
5
+
6
+ <%= stylesheet_link_tag "jquery-ui-1.8.6.custom.css" %>
@@ -0,0 +1,25 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title>McmsBlog</title>
5
+
6
+ <link rel="icon" type="image/png" href="/favicon.ico" />
7
+ <%= render 'layouts/stylesheets' %>
8
+ <%= stylesheet_link_tag "application", :media => "all" %>
9
+ <%= javascript_include_tag "application", 'admin/blog/mcms-blog-submenu.js' %>
10
+ <%= render :partial => 'layouts/javascript' %>
11
+
12
+ <%= csrf_meta_tags %>
13
+
14
+
15
+ </head>
16
+ <body>
17
+ <div id="page-container" >
18
+ <div class="body-containt">
19
+ <%= yield %>
20
+ <div style="clear:both;"></div>
21
+ </div>
22
+ </div>
23
+
24
+ </body>
25
+ </html>
@@ -0,0 +1,38 @@
1
+ <!DOCTYPE html>
2
+ <head>
3
+ <%= render :partial => "/shared/javascripts" %>
4
+ <%= render :partial => "/shared/stylesheets" %>
5
+ </head>
6
+ <% site_bar = render(:partial => "/shared/site_bar", :locals => {:head => true}) -%>
7
+ <%= render :partial => "/shared/head" %>
8
+
9
+ <body>
10
+ <%= site_bar -%>
11
+ <%= render :partial => "/shared/ie6check" if request.env['HTTP_USER_AGENT'] =~ /MSIE/ -%>
12
+ <div id="container">
13
+ <div id="container-inner" class="pkg">
14
+ <div id="pagebody">
15
+ <div id="pagebody-inner" class="pkg">
16
+ <div id="beta">
17
+ <div id="beta-inner" class="pkg">
18
+ <%= yield %>
19
+ </div>
20
+ </div>
21
+ <div id="gamma">
22
+ <div id="gamma-inner" class="pkg">
23
+ <%= render :partial => "/blog/shared/categories" %>
24
+ <%= render :partial => "/blog/shared/tags" %>
25
+ <%= render :partial => "/blog/shared/rss_feed" %>
26
+ <%= blog_archive_list %>
27
+ </div>
28
+ </div>
29
+ </section>
30
+ </div>
31
+ </div>
32
+ <footer>
33
+ <%= render :partial => "/shared/footer" -%>
34
+ </footer>
35
+ </div>
36
+ </div>
37
+ </body>
38
+ </html>