dm_cms 4.2.1.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/MIT-LICENSE +22 -0
- data/README.md +31 -0
- data/Rakefile +34 -0
- data/app/assets/javascripts/dm_cms/admin.js +58 -0
- data/app/assets/javascripts/dm_cms/application.js +16 -0
- data/app/assets/stylesheets/dm_cms/admin.css +3 -0
- data/app/assets/stylesheets/dm_cms/application.css +13 -0
- data/app/controllers/dm_cms/admin/admin_controller.rb +14 -0
- data/app/controllers/dm_cms/admin/cms_blogs_controller.rb +89 -0
- data/app/controllers/dm_cms/admin/cms_contentitems_controller.rb +96 -0
- data/app/controllers/dm_cms/admin/cms_pages_controller.rb +100 -0
- data/app/controllers/dm_cms/admin/cms_posts_controller.rb +67 -0
- data/app/controllers/dm_cms/admin/cms_snippets_controller.rb +73 -0
- data/app/controllers/dm_cms/admin/dashboard_controller.rb +12 -0
- data/app/controllers/dm_cms/admin/media_files_controller.rb +80 -0
- data/app/controllers/dm_cms/application_controller.rb +9 -0
- data/app/controllers/dm_cms/blogs_controller.rb +50 -0
- data/app/controllers/dm_cms/comments_controller.rb +3 -0
- data/app/controllers/dm_cms/contact_form_controller.rb +27 -0
- data/app/controllers/dm_cms/pages_controller.rb +67 -0
- data/app/controllers/dm_cms/posts_controller.rb +69 -0
- data/app/datatables/blog_user_datatable.rb +79 -0
- data/app/helpers/dm_cms/analytics_helper.rb +27 -0
- data/app/helpers/dm_cms/application_helper.rb +4 -0
- data/app/helpers/dm_cms/cms_contentitems_helper.rb +8 -0
- data/app/helpers/dm_cms/cms_pages_helper.rb +30 -0
- data/app/helpers/dm_cms/pages_helper.rb +204 -0
- data/app/helpers/dm_cms/posts_helper.rb +26 -0
- data/app/helpers/dm_cms/render_helper.rb +50 -0
- data/app/inputs/media_input.rb +17 -0
- data/app/liquid/tags/markdown.rb +30 -0
- data/app/mailers/post_notify_mailer.rb +36 -0
- data/app/models/cms_blog.rb +89 -0
- data/app/models/cms_contentitem.rb +76 -0
- data/app/models/cms_page.rb +227 -0
- data/app/models/cms_post.rb +76 -0
- data/app/models/cms_snippet.rb +42 -0
- data/app/models/contact_form.rb +28 -0
- data/app/models/dm_cms/concerns/ability.rb +54 -0
- data/app/models/dm_cms/permitted_params.rb +34 -0
- data/app/models/media_file.rb +102 -0
- data/app/presenters/cms_blog_presenter.rb +15 -0
- data/app/presenters/cms_page_presenter.rb +23 -0
- data/app/presenters/cms_post_presenter.rb +11 -0
- data/app/presenters/cms_snippet_presenter.rb +10 -0
- data/app/uploaders/media_uploader.rb +169 -0
- data/app/views/customized/analytics/_google_analytics.html.erb +11 -0
- data/app/views/dm_cms/admin/cms_blogs/_form.html.erb +34 -0
- data/app/views/dm_cms/admin/cms_blogs/edit.html.erb +2 -0
- data/app/views/dm_cms/admin/cms_blogs/index.html.erb +44 -0
- data/app/views/dm_cms/admin/cms_blogs/new.html.erb +2 -0
- data/app/views/dm_cms/admin/cms_blogs/show.html.erb +167 -0
- data/app/views/dm_cms/admin/cms_contentitems/_form.html.erb +43 -0
- data/app/views/dm_cms/admin/cms_contentitems/_form_dialog.html.erb +17 -0
- data/app/views/dm_cms/admin/cms_contentitems/edit.html.erb +1 -0
- data/app/views/dm_cms/admin/cms_contentitems/markdown.html.erb +21 -0
- data/app/views/dm_cms/admin/cms_contentitems/new_content.html.erb +1 -0
- data/app/views/dm_cms/admin/cms_pages/_content_toolbar.html.erb +11 -0
- data/app/views/dm_cms/admin/cms_pages/_form.html.erb +50 -0
- data/app/views/dm_cms/admin/cms_pages/_tree.html.erb +20 -0
- data/app/views/dm_cms/admin/cms_pages/_tree_sidebar.html.erb +8 -0
- data/app/views/dm_cms/admin/cms_pages/edit.html.erb +2 -0
- data/app/views/dm_cms/admin/cms_pages/index.html.erb +32 -0
- data/app/views/dm_cms/admin/cms_pages/new_page.html.erb +2 -0
- data/app/views/dm_cms/admin/cms_pages/show.html.erb +54 -0
- data/app/views/dm_cms/admin/cms_posts/_form.html.erb +59 -0
- data/app/views/dm_cms/admin/cms_posts/edit.html.erb +2 -0
- data/app/views/dm_cms/admin/cms_posts/new.html.erb +1 -0
- data/app/views/dm_cms/admin/cms_snippets/_form.html.erb +28 -0
- data/app/views/dm_cms/admin/cms_snippets/edit.html.erb +1 -0
- data/app/views/dm_cms/admin/cms_snippets/index.html.erb +29 -0
- data/app/views/dm_cms/admin/cms_snippets/new.html.erb +1 -0
- data/app/views/dm_cms/admin/dashboard/_widget_blog_comments.html.erb +37 -0
- data/app/views/dm_cms/admin/dashboard/widget_blog_comments.js.erb +1 -0
- data/app/views/dm_cms/admin/media_files/_form.html.erb +102 -0
- data/app/views/dm_cms/admin/media_files/edit.html.erb +3 -0
- data/app/views/dm_cms/admin/media_files/index.html.erb +98 -0
- data/app/views/dm_cms/admin/media_files/new.html.erb +3 -0
- data/app/views/dm_cms/admin/shared/_liquid_tags_ref.html.erb +35 -0
- data/app/views/dm_cms/blogs/show.html.erb +0 -0
- data/app/views/dm_cms/blogs/toggle_follow.js.coffee +5 -0
- data/app/views/dm_cms/contact_form/create.html.erb +2 -0
- data/app/views/dm_cms/contact_form/create.js.erb +2 -0
- data/app/views/dm_cms/pages/_content_fragment.html.erb +13 -0
- data/app/views/dm_cms/pages/_snippet_fragment.html.erb +12 -0
- data/app/views/dm_cms/pages/coming_soon.html.erb +2 -0
- data/app/views/dm_cms/pages/show.html.erb +0 -0
- data/app/views/dm_cms/posts/show.html.erb +0 -0
- data/app/views/dm_cms/shared/_comment.html.erb +22 -0
- data/app/views/dm_cms/shared/_comment_form.html.erb +16 -0
- data/app/views/dm_cms/shared/_comment_list.html.erb +11 -0
- data/app/views/dm_cms/shared/_social_buttons.html.erb +6 -0
- data/app/views/layouts/email_templates/dm_cms_email_layout.html.erb +320 -0
- data/app/views/layouts/email_templates/dm_cms_email_layout.text.erb +1 -0
- data/app/views/layouts/email_templates/dm_cms_post_notify.html.erb +13 -0
- data/app/views/layouts/email_templates/dm_cms_post_notify.text.erb +9 -0
- data/app/views/liquid_tags/_contact_form.html.erb +17 -0
- data/config/initializers/liquid_init.rb +2 -0
- data/config/locales/cms.cs.yml +42 -0
- data/config/locales/cms.de.yml +42 -0
- data/config/locales/cms.en.yml +42 -0
- data/config/locales/cms.fi.yml +42 -0
- data/config/locales/cms.ja.yml +42 -0
- data/config/routes.rb +70 -0
- data/db/migrate/20121103181909_create_cms.rb +91 -0
- data/db/migrate/20130206213720_add_account_to_cms.rb +10 -0
- data/db/migrate/20130507123255_create_blog.rb +61 -0
- data/db/migrate/20130531212537_add_notification_sent.rb +5 -0
- data/db/migrate/20130605184116_add_blog_comment.rb +7 -0
- data/db/migrate/20131128201053_add_blog_image.rb +5 -0
- data/db/migrate/20140217135228_rename_snippet_slug.rb +13 -0
- data/db/migrate/20140303121217_add_requires_subscription_blog.rb +7 -0
- data/db/migrate/20140328205246_add_pages_ranked_model.rb +22 -0
- data/db/migrate/20140423113417_add_blog_owner.rb +6 -0
- data/db/migrate/20140428122156_create_media_files.rb +29 -0
- data/db/migrate/20140523134543_add_cmspage_summary.rb +6 -0
- data/db/migrate/20140601151631_add_blog_image_email_header.rb +5 -0
- data/db/migrate/20141004154725_add_header_image.rb +9 -0
- data/db/migrate/20160821150108_index_foreign_keys_in_cms_blogs.rb +6 -0
- data/db/migrate/20160821150109_index_foreign_keys_in_cms_media_files.rb +6 -0
- data/db/migrate/20160821150110_index_foreign_keys_in_cms_posts.rb +6 -0
- data/lib/dm_cms.rb +4 -0
- data/lib/dm_cms/engine.rb +16 -0
- data/lib/dm_cms/liquid/filters/liquid_filters.rb +11 -0
- data/lib/dm_cms/liquid/tags/contact_form.rb +35 -0
- data/lib/dm_cms/liquid/tags/div.rb +42 -0
- data/lib/dm_cms/liquid/tags/image.rb +76 -0
- data/lib/dm_cms/liquid/tags/quote.rb +38 -0
- data/lib/dm_cms/liquid/tags/snippet.rb +37 -0
- data/lib/dm_cms/liquid/tags/url_asset.rb +41 -0
- data/lib/dm_cms/liquid/tags/url_media.rb +42 -0
- data/lib/dm_cms/liquid/tags/url_protected.rb +31 -0
- data/lib/tasks/dm_cms_tasks.rake +4 -0
- data/spec/controllers/admin/cms_blogs_controller_spec.rb +173 -0
- data/spec/controllers/admin/cms_pages_controller_spec.rb +182 -0
- data/spec/controllers/admin/cms_posts_controller_spec.rb +166 -0
- data/spec/dummy/README.rdoc +28 -0
- data/spec/dummy/Rakefile +6 -0
- data/spec/dummy/app/assets/javascripts/application.js +13 -0
- data/spec/dummy/app/assets/stylesheets/application.css +15 -0
- data/spec/dummy/app/controllers/application_controller.rb +5 -0
- data/spec/dummy/app/helpers/application_helper.rb +2 -0
- data/spec/dummy/app/models/ability.rb +12 -0
- data/spec/dummy/app/models/user.rb +6 -0
- data/spec/dummy/app/views/layouts/application.html.erb +14 -0
- data/spec/dummy/bin/bundle +3 -0
- data/spec/dummy/bin/rails +4 -0
- data/spec/dummy/bin/rake +4 -0
- data/spec/dummy/config.ru +4 -0
- data/spec/dummy/config/application.rb +26 -0
- data/spec/dummy/config/boot.rb +5 -0
- data/spec/dummy/config/database.yml +25 -0
- data/spec/dummy/config/environment.rb +5 -0
- data/spec/dummy/config/environments/development.rb +37 -0
- data/spec/dummy/config/environments/production.rb +82 -0
- data/spec/dummy/config/environments/test.rb +39 -0
- data/spec/dummy/config/initializers/_themes_for_rails.rb +39 -0
- data/spec/dummy/config/initializers/account_initialization.rb +28 -0
- data/spec/dummy/config/initializers/assets.rb +8 -0
- data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -0
- data/spec/dummy/config/initializers/cookies_serializer.rb +3 -0
- data/spec/dummy/config/initializers/dm_core.rb +6 -0
- data/spec/dummy/config/initializers/filter_parameter_logging.rb +4 -0
- data/spec/dummy/config/initializers/inflections.rb +16 -0
- data/spec/dummy/config/initializers/mime_types.rb +4 -0
- data/spec/dummy/config/initializers/session_store.rb +3 -0
- data/spec/dummy/config/initializers/wrap_parameters.rb +14 -0
- data/spec/dummy/config/locales/en.yml +23 -0
- data/spec/dummy/config/routes.rb +19 -0
- data/spec/dummy/config/secrets.yml +22 -0
- data/spec/dummy/db/development.sqlite3 +0 -0
- data/spec/dummy/db/migrate/20141114170927_add_globalize_countries.dm_core.rb +50 -0
- data/spec/dummy/db/migrate/20141114170928_devise_create_users.dm_core.rb +46 -0
- data/spec/dummy/db/migrate/20141114170929_add_user_fields.dm_core.rb +14 -0
- data/spec/dummy/db/migrate/20141114170930_rolify_create_roles.dm_core.rb +20 -0
- data/spec/dummy/db/migrate/20141114170931_add_last_access.dm_core.rb +10 -0
- data/spec/dummy/db/migrate/20141114170932_create_versions.dm_core.rb +19 -0
- data/spec/dummy/db/migrate/20141114170933_add_object_changes_column_to_versions.dm_core.rb +12 -0
- data/spec/dummy/db/migrate/20141114170934_create_dm_core_accounts.dm_core.rb +13 -0
- data/spec/dummy/db/migrate/20141114170935_add_account_to_users.dm_core.rb +9 -0
- data/spec/dummy/db/migrate/20141114170936_create_preferences.dm_core.rb +13 -0
- data/spec/dummy/db/migrate/20141114170937_create_comments.dm_core.rb +22 -0
- data/spec/dummy/db/migrate/20141114170938_add_activity.dm_core.rb +21 -0
- data/spec/dummy/db/migrate/20141114170939_add_type_to_comments.dm_core.rb +9 -0
- data/spec/dummy/db/migrate/20141114170940_add_category.dm_core.rb +28 -0
- data/spec/dummy/db/migrate/20141114170941_create_email_table.dm_core.rb +26 -0
- data/spec/dummy/db/migrate/20141114170942_add_user_profile.dm_core.rb +46 -0
- data/spec/dummy/db/migrate/20141114170943_add_profile_email.dm_core.rb +14 -0
- data/spec/dummy/db/migrate/20141114170944_create_payment_history.dm_core.rb +37 -0
- data/spec/dummy/db/migrate/20141114170945_change_anchor_field.dm_core.rb +10 -0
- data/spec/dummy/db/migrate/20141114170946_create_user_site_profile.dm_core.rb +27 -0
- data/spec/dummy/db/migrate/20141114170947_add_avatar.dm_core.rb +12 -0
- data/spec/dummy/db/migrate/20141114170948_add_notify_to_payment_history.dm_core.rb +8 -0
- data/spec/dummy/db/migrate/20141114170949_acts_as_votable_migration.dm_core.rb +28 -0
- data/spec/dummy/db/migrate/20141114170950_add_user_site_profile_uuid.dm_core.rb +19 -0
- data/spec/dummy/db/migrate/20141114170951_add_invoice_id.dm_core.rb +7 -0
- data/spec/dummy/db/migrate/20141114170952_acts_as_follower_migration.dm_core.rb +18 -0
- data/spec/dummy/db/migrate/20141114170953_rename_invoice_id.dm_core.rb +12 -0
- data/spec/dummy/db/migrate/20141114170954_add_core_addresses.dm_core.rb +18 -0
- data/spec/dummy/db/migrate/20141114170955_papertrail_increase_column.dm_core.rb +9 -0
- data/spec/dummy/db/migrate/20141114170956_acts_as_taggable_on_migration.dm_core.rb +32 -0
- data/spec/dummy/db/migrate/20141114170957_add_missing_unique_indices.dm_core.rb +23 -0
- data/spec/dummy/db/migrate/20141114170958_add_taggings_counter_cache_to_tags.dm_core.rb +16 -0
- data/spec/dummy/db/migrate/20141114170959_create_custom_fields.dm_core.rb +40 -0
- data/spec/dummy/db/migrate/20141114170960_add_missing_taggable_index.dm_core.rb +11 -0
- data/spec/dummy/db/migrate/20141114170961_create_documents.dm_knowledge.rb +19 -0
- data/spec/dummy/db/migrate/20141114170962_add_document_notes.dm_knowledge.rb +7 -0
- data/spec/dummy/db/migrate/20160128134522_add_favored_locale.dm_core.rb +17 -0
- data/spec/dummy/db/migrate/20160128134523_update_papertrail_v4.dm_core.rb +41 -0
- data/spec/dummy/db/schema.rb +590 -0
- data/spec/dummy/db/seeds.rb +18 -0
- data/spec/dummy/public/404.html +67 -0
- data/spec/dummy/public/422.html +67 -0
- data/spec/dummy/public/500.html +66 -0
- data/spec/dummy/public/favicon.ico +0 -0
- data/spec/dummy/themes/_mbus/_readme.md +6 -0
- data/spec/dummy/themes/_mbus/_theme.yml +21 -0
- data/spec/dummy/themes/_mbus/theme_assets/_mbus/javascripts/application.js +9 -0
- data/spec/dummy/themes/_mbus/theme_assets/_mbus/javascripts/bootstrap.js +2114 -0
- data/spec/dummy/themes/_mbus/theme_assets/_mbus/javascripts/bootstrap.min.js +6 -0
- data/spec/dummy/themes/_mbus/theme_assets/_mbus/javascripts/contact_me.js +75 -0
- data/spec/dummy/themes/_mbus/theme_assets/_mbus/javascripts/jqBootstrapValidation.js +912 -0
- data/spec/dummy/themes/_mbus/theme_assets/_mbus/javascripts/jquery-1.11.0.js +4 -0
- data/spec/dummy/themes/_mbus/theme_assets/_mbus/stylesheets/application.css +14 -0
- data/spec/dummy/themes/_mbus/theme_assets/_mbus/stylesheets/bootstrap.css +6203 -0
- data/spec/dummy/themes/_mbus/theme_assets/_mbus/stylesheets/bootstrap.min.css +5 -0
- data/spec/dummy/themes/_mbus/theme_assets/_mbus/stylesheets/font-awesome-4.1.0/css/font-awesome.css +1566 -0
- data/spec/dummy/themes/_mbus/theme_assets/_mbus/stylesheets/font-awesome-4.1.0/css/font-awesome.min.css +4 -0
- data/spec/dummy/themes/_mbus/theme_assets/_mbus/stylesheets/font-awesome-4.1.0/fonts/FontAwesome.otf +0 -0
- data/spec/dummy/themes/_mbus/theme_assets/_mbus/stylesheets/font-awesome-4.1.0/fonts/fontawesome-webfont.eot +0 -0
- data/spec/dummy/themes/_mbus/theme_assets/_mbus/stylesheets/font-awesome-4.1.0/fonts/fontawesome-webfont.svg +504 -0
- data/spec/dummy/themes/_mbus/theme_assets/_mbus/stylesheets/font-awesome-4.1.0/fonts/fontawesome-webfont.ttf +0 -0
- data/spec/dummy/themes/_mbus/theme_assets/_mbus/stylesheets/font-awesome-4.1.0/fonts/fontawesome-webfont.woff +0 -0
- data/spec/dummy/themes/_mbus/theme_assets/_mbus/stylesheets/font-awesome-4.1.0/less/bordered-pulled.less +16 -0
- data/spec/dummy/themes/_mbus/theme_assets/_mbus/stylesheets/font-awesome-4.1.0/less/core.less +12 -0
- data/spec/dummy/themes/_mbus/theme_assets/_mbus/stylesheets/font-awesome-4.1.0/less/fixed-width.less +6 -0
- data/spec/dummy/themes/_mbus/theme_assets/_mbus/stylesheets/font-awesome-4.1.0/less/font-awesome.less +17 -0
- data/spec/dummy/themes/_mbus/theme_assets/_mbus/stylesheets/font-awesome-4.1.0/less/icons.less +506 -0
- data/spec/dummy/themes/_mbus/theme_assets/_mbus/stylesheets/font-awesome-4.1.0/less/larger.less +13 -0
- data/spec/dummy/themes/_mbus/theme_assets/_mbus/stylesheets/font-awesome-4.1.0/less/list.less +19 -0
- data/spec/dummy/themes/_mbus/theme_assets/_mbus/stylesheets/font-awesome-4.1.0/less/mixins.less +20 -0
- data/spec/dummy/themes/_mbus/theme_assets/_mbus/stylesheets/font-awesome-4.1.0/less/path.less +14 -0
- data/spec/dummy/themes/_mbus/theme_assets/_mbus/stylesheets/font-awesome-4.1.0/less/rotated-flipped.less +9 -0
- data/spec/dummy/themes/_mbus/theme_assets/_mbus/stylesheets/font-awesome-4.1.0/less/spinning.less +32 -0
- data/spec/dummy/themes/_mbus/theme_assets/_mbus/stylesheets/font-awesome-4.1.0/less/stacked.less +20 -0
- data/spec/dummy/themes/_mbus/theme_assets/_mbus/stylesheets/font-awesome-4.1.0/less/variables.less +515 -0
- data/spec/dummy/themes/_mbus/theme_assets/_mbus/stylesheets/font-awesome-4.1.0/scss/_bordered-pulled.scss +16 -0
- data/spec/dummy/themes/_mbus/theme_assets/_mbus/stylesheets/font-awesome-4.1.0/scss/_core.scss +12 -0
- data/spec/dummy/themes/_mbus/theme_assets/_mbus/stylesheets/font-awesome-4.1.0/scss/_fixed-width.scss +6 -0
- data/spec/dummy/themes/_mbus/theme_assets/_mbus/stylesheets/font-awesome-4.1.0/scss/_icons.scss +506 -0
- data/spec/dummy/themes/_mbus/theme_assets/_mbus/stylesheets/font-awesome-4.1.0/scss/_larger.scss +13 -0
- data/spec/dummy/themes/_mbus/theme_assets/_mbus/stylesheets/font-awesome-4.1.0/scss/_list.scss +19 -0
- data/spec/dummy/themes/_mbus/theme_assets/_mbus/stylesheets/font-awesome-4.1.0/scss/_mixins.scss +20 -0
- data/spec/dummy/themes/_mbus/theme_assets/_mbus/stylesheets/font-awesome-4.1.0/scss/_path.scss +14 -0
- data/spec/dummy/themes/_mbus/theme_assets/_mbus/stylesheets/font-awesome-4.1.0/scss/_rotated-flipped.scss +9 -0
- data/spec/dummy/themes/_mbus/theme_assets/_mbus/stylesheets/font-awesome-4.1.0/scss/_spinning.scss +32 -0
- data/spec/dummy/themes/_mbus/theme_assets/_mbus/stylesheets/font-awesome-4.1.0/scss/_stacked.scss +20 -0
- data/spec/dummy/themes/_mbus/theme_assets/_mbus/stylesheets/font-awesome-4.1.0/scss/_variables.scss +515 -0
- data/spec/dummy/themes/_mbus/theme_assets/_mbus/stylesheets/font-awesome-4.1.0/scss/font-awesome.scss +17 -0
- data/spec/dummy/themes/_mbus/theme_assets/_mbus/stylesheets/modern-business.css +93 -0
- data/spec/dummy/themes/_mbus/theme_support/config/load_theme.rb +0 -0
- data/spec/dummy/themes/_mbus/theme_support/locales/site.cs.yml +57 -0
- data/spec/dummy/themes/_mbus/theme_support/locales/site.de.yml +57 -0
- data/spec/dummy/themes/_mbus/theme_support/locales/site.en.yml +57 -0
- data/spec/dummy/themes/_mbus/theme_support/locales/site.fi.yml +58 -0
- data/spec/dummy/themes/_mbus/theme_support/locales/site.ja.yml +57 -0
- data/spec/dummy/themes/_mbus/theme_support/views/layouts/cms_templates/_blog_right_sidebar.html.erb +91 -0
- data/spec/dummy/themes/_mbus/theme_support/views/layouts/cms_templates/_comment.html.erb +21 -0
- data/spec/dummy/themes/_mbus/theme_support/views/layouts/cms_templates/_comment_form.html.erb +16 -0
- data/spec/dummy/themes/_mbus/theme_support/views/layouts/cms_templates/_comment_list.html.erb +7 -0
- data/spec/dummy/themes/_mbus/theme_support/views/layouts/cms_templates/_comment_section.html.erb +17 -0
- data/spec/dummy/themes/_mbus/theme_support/views/layouts/cms_templates/_page_footer.html.erb +11 -0
- data/spec/dummy/themes/_mbus/theme_support/views/layouts/cms_templates/_page_header.html.erb +39 -0
- data/spec/dummy/themes/_mbus/theme_support/views/layouts/cms_templates/_page_top.html.erb +24 -0
- data/spec/dummy/themes/_mbus/theme_support/views/layouts/cms_templates/_post_summary_item.html.erb +11 -0
- data/spec/dummy/themes/_mbus/theme_support/views/layouts/cms_templates/_social_buttons_initialization.html.erb +10 -0
- data/spec/dummy/themes/_mbus/theme_support/views/layouts/cms_templates/blog.html.erb +47 -0
- data/spec/dummy/themes/_mbus/theme_support/views/layouts/cms_templates/blog_post.html.erb +55 -0
- data/spec/dummy/themes/_mbus/theme_support/views/layouts/cms_templates/content_full_width.html.erb +28 -0
- data/spec/dummy/themes/_mbus/theme_support/views/layouts/cms_templates/content_with_left_nav.html.erb +44 -0
- data/spec/dummy/themes/_mbus/theme_support/views/layouts/cms_templates/index.html.erb +19 -0
- data/spec/dummy/themes/local/_theme.yml +8 -0
- data/spec/factories/accounts.rb +17 -0
- data/spec/factories/blogs.rb +19 -0
- data/spec/factories/posts.rb +23 -0
- data/spec/factories/user_profiles.rb +10 -0
- data/spec/factories/users.rb +19 -0
- data/spec/features/admin/blog_admin_spec.rb +16 -0
- data/spec/models/cms_blog_spec.rb +37 -0
- data/spec/models/cms_page_spec.rb +9 -0
- data/spec/models/cms_post_spec.rb +44 -0
- data/spec/rails_helper.rb +70 -0
- data/spec/spec_helper.rb +85 -0
- data/spec/support/accounts.rb +17 -0
- data/spec/support/devise.rb +44 -0
- data/spec/support/fix_locale.rb +57 -0
- metadata +545 -0
@@ -0,0 +1,35 @@
|
|
1
|
+
<%#--- following should not be in the sidebar, but main content section %>
|
2
|
+
<%= modal_dialog title: 'Tag Reference', id: "tag_reference" do %>
|
3
|
+
<% tag_group = Liquid::Template.tags.sort.find_all {|x| x[1].respond_to?(:details) && !x[1].details[:description].blank?} %>
|
4
|
+
<% tag_group = tag_group.group_by {|x| (x[1].details[:category].blank? ? 'uncategorized' : x[1].details[:category]) }.sort %>
|
5
|
+
<div class="row" data-spy="scroll" data-target=".tag_details">
|
6
|
+
<div class="col-sm-3">
|
7
|
+
<div class="tag_nav" id="tag_accordion">
|
8
|
+
<ul class="nav nav-stacked">
|
9
|
+
<% tag_group.each do |category, tag_array| %>
|
10
|
+
<li>
|
11
|
+
<%= link_to category, "\#__#{category}", data: {toggle: 'collapse', parent: '#tag_accordion'} %>
|
12
|
+
<ul id="__<%= category %>" class="collapse">
|
13
|
+
<% tag_array.each do |tag_item| %>
|
14
|
+
<li><%= link_to tag_item[0], "\##{tag_item[0]}"%></li>
|
15
|
+
<% end %>
|
16
|
+
</ul>
|
17
|
+
</li>
|
18
|
+
<% end %>
|
19
|
+
</ul>
|
20
|
+
</div>
|
21
|
+
</div>
|
22
|
+
<div class="col-sm-9 tag_details">
|
23
|
+
<h1 style="border-bottom: 2px solid #ccc;">Tag Reference</h1>
|
24
|
+
<% tag_group.each do |category, tag_array| %>
|
25
|
+
<h2><%= category %></h2>
|
26
|
+
<% tag_array.each do |tag_item| %>
|
27
|
+
<%= subsection title: tag_item[0], id: tag_item[0] do %>
|
28
|
+
<%= markdown tag_item[1].details[:description], safe: false %>
|
29
|
+
<%= "<pre>#{tag_item[1].details[:example]}</pre>".html_safe if tag_item[1].details[:example].present? %>
|
30
|
+
<% end %>
|
31
|
+
<% end %>
|
32
|
+
<% end %>
|
33
|
+
</div>
|
34
|
+
</div>
|
35
|
+
<% end %>
|
File without changes
|
@@ -0,0 +1,13 @@
|
|
1
|
+
<%#--- leave formatting alone - prefer final html to be as natural as possible %>
|
2
|
+
<%#--- for now, removed wrapping content in a div - caused display problems with some themes %>
|
3
|
+
<% if false #is_admin? %>
|
4
|
+
<div class="fragment" id="fragment_<%= content_fragment.id %>">
|
5
|
+
<%= render_content_item(content_fragment) %>
|
6
|
+
</div>
|
7
|
+
<% elsif content_fragment.enable_cache %>
|
8
|
+
<% cache([Account.current.id, DmCore::Language.locale, content_fragment]) do %>
|
9
|
+
<%= render_content_item(content_fragment) %>
|
10
|
+
<% end %>
|
11
|
+
<% else %>
|
12
|
+
<%= render_content_item(content_fragment) %>
|
13
|
+
<% end %>
|
@@ -0,0 +1,12 @@
|
|
1
|
+
<%#--- leave formatting alone - prefer final html to be as natural as possible %>
|
2
|
+
<% if is_admin? %>
|
3
|
+
<div class="fragment" id="fragment_<%= snippet_fragment.id %>">
|
4
|
+
<%= render_content_item(snippet_fragment) %>
|
5
|
+
</div>
|
6
|
+
<% elsif snippet_fragment.enable_cache %>
|
7
|
+
<% cache([Account.current.id, DmCore::Language.locale, snippet_fragment]) do %>
|
8
|
+
<%= render_content_item(snippet_fragment) %>
|
9
|
+
<% end %>
|
10
|
+
<% else %>
|
11
|
+
<%= render_content_item(snippet_fragment) %>
|
12
|
+
<% end %>
|
File without changes
|
File without changes
|
@@ -0,0 +1,22 @@
|
|
1
|
+
<li class="clearfix" id="<%= dom_id(comment) %>">
|
2
|
+
<div class="user"><%= avatar_for comment.user, 50 %></div>
|
3
|
+
<p class="comment_author"><%= truncate(present(comment).author, :length => 30) %></p>
|
4
|
+
<p class="info">
|
5
|
+
<%= present(comment).date_posted %>
|
6
|
+
<%= ' | '.html_safe + link_to(I18n.t('cms.reply'), '#reply') if comment.commentable.comments_allowed? && user_signed_in? %>
|
7
|
+
<% if false #user_signed_in? && can?(:edit, comment) %>
|
8
|
+
| <%= link_to I18n.t('fms.admin.edit_post'), [commenting_on, :ajax_edit_comment, comment] %>
|
9
|
+
<% end %>
|
10
|
+
<%= ' | '.html_safe + link_to(I18n.t('cms.delete'), [commenting_on, :ajax_delete_comment, comment], method: :delete, data: {confirm: 'Are you sure you wish to delete this comment?'}) if is_admin? %>
|
11
|
+
</p>
|
12
|
+
<div class="clearfix"></div>
|
13
|
+
<div class="comment_text">
|
14
|
+
<% if comment.user.active? %>
|
15
|
+
<%= present(comment).formatted_comment %>
|
16
|
+
<% else %>
|
17
|
+
<p>(<% I18n.t 'cms.suspended_user_post' %>)</p>
|
18
|
+
<% end %>
|
19
|
+
</div>
|
20
|
+
<div class="comment_footer">
|
21
|
+
</div>
|
22
|
+
</li>
|
@@ -0,0 +1,16 @@
|
|
1
|
+
<% if commenting_on.comments_allowed? %>
|
2
|
+
<div id="reply" class="comment_reply_form">
|
3
|
+
<% if current_user %>
|
4
|
+
<% url = (commenting_on.class == CmsPost ? [commenting_on.cms_blog, commenting_on, :ajax_add_comment] : [commenting_on, :ajax_add_comment] )%>
|
5
|
+
<%= simple_form_for :comment, url: url, wrapper: :bootstrap2 do |f| %>
|
6
|
+
<%= f.input :body, :as => :text, :label => I18n.t('cms.comment_body'),
|
7
|
+
:input_html => {:rows => 10} %>
|
8
|
+
<%= f.submit I18n.t('cms.comment_submit'), class: 'btn btn-primary' %>
|
9
|
+
<% end %>
|
10
|
+
<% else %>
|
11
|
+
<p><%= I18n.t 'cms.comment_login_required' %></p>
|
12
|
+
<%= link_to I18n.t('core.login'), main_app.new_user_session_path, class: 'btn btn-primary', style: 'margin-bottom: 20px' %>
|
13
|
+
<%= link_to I18n.t('core.create_account'), main_app.new_user_registration_path, class: 'btn' %>
|
14
|
+
<% end %>
|
15
|
+
</div>
|
16
|
+
<% end %>
|
@@ -0,0 +1,11 @@
|
|
1
|
+
<%= pagination(comment_list) %>
|
2
|
+
|
3
|
+
<div class="comments clearfix">
|
4
|
+
<ul class="comment_list">
|
5
|
+
<% for comment in comment_list do %>
|
6
|
+
<%= render partial: 'dm_cms/shared/comment', object: comment, locals: { commenting_on: commenting_on } %>
|
7
|
+
<% end %>
|
8
|
+
</ul>
|
9
|
+
</div>
|
10
|
+
|
11
|
+
<%= pagination(comment_list) %>
|
@@ -0,0 +1,6 @@
|
|
1
|
+
<%#--- dynamcially loaded buttons %>
|
2
|
+
<% url = request.original_url if !defined?(url) || url.nil? %>
|
3
|
+
<div class="page_social_buttons clearfix">
|
4
|
+
<div class="fb-like" data-href="<%= url %>" data-layout="button_count" data-action="like" data-show-faces="false" data-share="true"></div>
|
5
|
+
<%= link_to('Tweet', '//twitter.com/intent/tweet', class: "twitter-share-button", data: { url: url, lang: I18n.locale }) %>
|
6
|
+
</div>
|
@@ -0,0 +1,320 @@
|
|
1
|
+
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
|
2
|
+
<html>
|
3
|
+
<head>
|
4
|
+
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
5
|
+
|
6
|
+
<style type="text/css">
|
7
|
+
#outlook a { padding:0; }
|
8
|
+
body { width:100% !important; }
|
9
|
+
.ReadMsgBody { width:100%; }
|
10
|
+
.ExternalClass { width:100%; }
|
11
|
+
figure {margin:0; padding:0; display:block;}
|
12
|
+
body { -webkit-text-size-adjust:none; }
|
13
|
+
body {
|
14
|
+
margin:0;
|
15
|
+
padding:0;
|
16
|
+
font-size: 12px;
|
17
|
+
font-family: Arial, sans-serif;
|
18
|
+
}
|
19
|
+
img {
|
20
|
+
border:0;
|
21
|
+
height:auto;
|
22
|
+
line-height:100%;
|
23
|
+
outline:none;
|
24
|
+
text-decoration:none;
|
25
|
+
}
|
26
|
+
table td { border-collapse:collapse; }
|
27
|
+
#backgroundTable{
|
28
|
+
height:100% !important;
|
29
|
+
margin:0;
|
30
|
+
padding:0;
|
31
|
+
width:100% !important;
|
32
|
+
}
|
33
|
+
body,#backgroundTable { background-color:#FFFFFF; }
|
34
|
+
#templateContainer { border:1px solid #E7E0C4; }
|
35
|
+
h1,.h1 {
|
36
|
+
color:#800040;
|
37
|
+
display:block;
|
38
|
+
font-family:Arial;
|
39
|
+
font-size: 18px;
|
40
|
+
font-weight: normal;
|
41
|
+
line-height: 24px;
|
42
|
+
text-transform: uppercase;
|
43
|
+
margin-top:20px;
|
44
|
+
margin-right:0;
|
45
|
+
margin-bottom:20px;
|
46
|
+
margin-left:0;
|
47
|
+
text-align:left;
|
48
|
+
padding-bottom: 5px;
|
49
|
+
}
|
50
|
+
h2,.h2 {
|
51
|
+
color:#8c8c8c;
|
52
|
+
display:block;
|
53
|
+
font-family:Arial;
|
54
|
+
font-size:16px;
|
55
|
+
font-weight:normal;
|
56
|
+
line-height:100%;
|
57
|
+
margin-top:0;
|
58
|
+
margin-right:0;
|
59
|
+
margin-bottom:10px;
|
60
|
+
margin-left:0;
|
61
|
+
text-align:left;
|
62
|
+
text-transform: uppercase;
|
63
|
+
}
|
64
|
+
h3,.h3 {
|
65
|
+
color:#8c8c8c;
|
66
|
+
display:block;
|
67
|
+
font-family:Arial;
|
68
|
+
font-size:16px;
|
69
|
+
font-weight:normal;
|
70
|
+
line-height:100%;
|
71
|
+
margin-top:0;
|
72
|
+
margin-right:0;
|
73
|
+
margin-bottom:10px;
|
74
|
+
margin-left:0;
|
75
|
+
text-align:left;
|
76
|
+
}
|
77
|
+
h4,.h4 {
|
78
|
+
color:#8c8c8c;
|
79
|
+
display:block;
|
80
|
+
font-family:Arial;
|
81
|
+
font-size:14px;
|
82
|
+
font-weight:bold;
|
83
|
+
line-height:100%;
|
84
|
+
margin-top:0;
|
85
|
+
margin-right:0;
|
86
|
+
margin-bottom:10px;
|
87
|
+
margin-left:0;
|
88
|
+
text-align:left;
|
89
|
+
}
|
90
|
+
#templatePreheader { background-color:#FFF; }
|
91
|
+
.preheaderContent div {
|
92
|
+
color:#505050;
|
93
|
+
font-family:Arial;
|
94
|
+
font-size:10px;
|
95
|
+
line-height:100%;
|
96
|
+
text-align:left;
|
97
|
+
}
|
98
|
+
.preheaderContent div a:link,.preheaderContent div a:visited,.preheaderContent div a .yshortcuts {
|
99
|
+
color:#336699;
|
100
|
+
font-weight:normal;
|
101
|
+
text-decoration:underline;
|
102
|
+
}
|
103
|
+
#templateHeader {
|
104
|
+
background-color:#FFFFFF;
|
105
|
+
border-bottom:0;
|
106
|
+
}
|
107
|
+
.headerContent {
|
108
|
+
color:#202020;
|
109
|
+
font-family:Arial;
|
110
|
+
font-size:34px;
|
111
|
+
font-weight:bold;
|
112
|
+
line-height:100%;
|
113
|
+
padding:0;
|
114
|
+
text-align:center;
|
115
|
+
vertical-align:middle;
|
116
|
+
}
|
117
|
+
.headerContent a:link,.headerContent a:visited,.headerContent a .yshortcuts {
|
118
|
+
color:#336699;
|
119
|
+
font-weight:normal;
|
120
|
+
text-decoration:underline;
|
121
|
+
}
|
122
|
+
#headerImage {
|
123
|
+
height:auto;
|
124
|
+
max-width:650px !important;
|
125
|
+
}
|
126
|
+
#templateContainer,.bodyContent { background-color:#FFFFFF; }
|
127
|
+
.bodyContent div {
|
128
|
+
color:#505050;
|
129
|
+
font-family:Arial;
|
130
|
+
font-size:13px;
|
131
|
+
line-height:150%;
|
132
|
+
text-align:left;
|
133
|
+
}
|
134
|
+
.bodyContent div a:link,.bodyContent div a:visited,.bodyContent div a .yshortcuts {
|
135
|
+
color:#336699;
|
136
|
+
font-weight:normal;
|
137
|
+
text-decoration:underline;
|
138
|
+
}
|
139
|
+
.bodyContent img {
|
140
|
+
display:inline;
|
141
|
+
height:auto;
|
142
|
+
}
|
143
|
+
#templateFooter {
|
144
|
+
background-color:#F8F8F8;
|
145
|
+
border-top: 1px solid #ddd;
|
146
|
+
}
|
147
|
+
.footerContent div {
|
148
|
+
color:#707070;
|
149
|
+
font-family:Arial;
|
150
|
+
font-size:11px;
|
151
|
+
line-height:125%;
|
152
|
+
text-align:center;
|
153
|
+
}
|
154
|
+
.footerContent div a:link,.footerContent div a:visited,.footerContent div a .yshortcuts {
|
155
|
+
color:#336699;
|
156
|
+
font-weight:normal;
|
157
|
+
text-decoration:underline;
|
158
|
+
}
|
159
|
+
.footerContent img { display:inline; }
|
160
|
+
hr, .hr {
|
161
|
+
width: 100%;
|
162
|
+
clear: both;
|
163
|
+
border: none;
|
164
|
+
height: 1px;
|
165
|
+
background-color: #aaa;
|
166
|
+
margin-top: 30px;
|
167
|
+
margin-bottom: 30px;
|
168
|
+
}
|
169
|
+
.bodyContent blockquote p {
|
170
|
+
border-left: 3px solid silver;
|
171
|
+
padding-bottom: 5px;
|
172
|
+
margin-bottom: 10px;
|
173
|
+
padding-left: 5px;
|
174
|
+
margin-left: 10px;
|
175
|
+
margin-right: 0;
|
176
|
+
}
|
177
|
+
.bodyContent .date {
|
178
|
+
text-align: right;
|
179
|
+
font-size: 12px;
|
180
|
+
}
|
181
|
+
.bodyContent img, img.img_right {
|
182
|
+
float: right;
|
183
|
+
padding: 0px 0px 10px 20px;
|
184
|
+
}
|
185
|
+
img.img_left {
|
186
|
+
float: left;
|
187
|
+
padding: 0px 20px 10px 0px;
|
188
|
+
}
|
189
|
+
img.img_full {
|
190
|
+
float: none;
|
191
|
+
padding: 0px 0px 0px 0px !important;
|
192
|
+
margin: 0px 0px 0px 0px;
|
193
|
+
clear: both;
|
194
|
+
}
|
195
|
+
|
196
|
+
#social {
|
197
|
+
background-color:#F8F6EF;
|
198
|
+
border:0;
|
199
|
+
}
|
200
|
+
#social div, #social div table {
|
201
|
+
text-align:center;
|
202
|
+
background-color: #F8F6EF;
|
203
|
+
color: #707070;
|
204
|
+
font-family: Arial;
|
205
|
+
font-size: 13px;
|
206
|
+
line-height: 125%;
|
207
|
+
}
|
208
|
+
#social img { vertical-align:middle; }
|
209
|
+
#utility {
|
210
|
+
background-color:#F8F6EF;
|
211
|
+
border:0;
|
212
|
+
}
|
213
|
+
#utility div { text-align:center; }
|
214
|
+
#monkeyRewards img { max-width:190px; }
|
215
|
+
</style>
|
216
|
+
</head>
|
217
|
+
<body leftmargin="0" marginwidth="0" topmargin="0" marginheight="0" offset="0">
|
218
|
+
<center>
|
219
|
+
<table border="0" cellpadding="0" cellspacing="0" height="100%" width="100%" id="backgroundTable">
|
220
|
+
<tr>
|
221
|
+
<td align="center" valign="top" style="border-collapse: collapse;">
|
222
|
+
<!-- // Begin Template Preheader \\ -->
|
223
|
+
<table border="0" cellpadding="10" cellspacing="0" width="650" id="templatePreheader">
|
224
|
+
<tr>
|
225
|
+
<td valign="top" class="preheaderContent">
|
226
|
+
<div>
|
227
|
+
<!-- ====================== Start Teaser Section ====================== -->
|
228
|
+
<!-- ====================== End Teaser Section ====================== -->
|
229
|
+
</div>
|
230
|
+
</td>
|
231
|
+
</tr>
|
232
|
+
</table>
|
233
|
+
<!-- // End Template Preheader \\ -->
|
234
|
+
<table border="0" cellpadding="0" cellspacing="0" width="650" id="templateContainer">
|
235
|
+
<tr>
|
236
|
+
<td align="center" valign="top" style="border-collapse: collapse;">
|
237
|
+
<!-- // Begin Template Header \\ -->
|
238
|
+
<table border="0" cellpadding="0" cellspacing="0" width="650" id="templateHeader">
|
239
|
+
<tr>
|
240
|
+
<td class="headerContent">
|
241
|
+
|
242
|
+
<!-- // Begin Module: Standard Header Image \\ -->
|
243
|
+
<% unless @header_image.blank? %>
|
244
|
+
<img src="<%= site_asset_media_url(@header_image) %>" style="max-width:650px;" id="headerImage" />
|
245
|
+
<% end %>
|
246
|
+
<!-- // End Module: Standard Header Image \\ -->
|
247
|
+
|
248
|
+
</td>
|
249
|
+
</tr>
|
250
|
+
</table>
|
251
|
+
<!-- // End Template Header \\ -->
|
252
|
+
</td>
|
253
|
+
</tr>
|
254
|
+
<tr>
|
255
|
+
<td align="center" valign="top" style="border-collapse: collapse;">
|
256
|
+
<!-- // Begin Template Body \\ -->
|
257
|
+
<table border="0" cellpadding="0" cellspacing="0" width="650" id="templateBody">
|
258
|
+
<tr>
|
259
|
+
<td valign="top" style="border-collapse: collapse;">
|
260
|
+
<table border="0" cellpadding="0" cellspacing="0" width="650">
|
261
|
+
<tr>
|
262
|
+
<td valign="top" class="bodyContent">
|
263
|
+
|
264
|
+
<!-- // Begin Module: Standard Content \\ -->
|
265
|
+
<table border="0" cellpadding="20" cellspacing="0" width="100%">
|
266
|
+
<tr>
|
267
|
+
<td valign="top" style="border-collapse: collapse;">
|
268
|
+
<div>
|
269
|
+
<!-- ====================== Start Main Content ====================== -->
|
270
|
+
<%= yield %>
|
271
|
+
<!-- ====================== End Main Content ====================== -->
|
272
|
+
</div>
|
273
|
+
</td>
|
274
|
+
</tr>
|
275
|
+
</table>
|
276
|
+
<!-- // End Module: Standard Content \\ -->
|
277
|
+
</td>
|
278
|
+
</tr>
|
279
|
+
</table>
|
280
|
+
</td>
|
281
|
+
</tr>
|
282
|
+
</table>
|
283
|
+
<!-- // End Template Body \\ -->
|
284
|
+
</td>
|
285
|
+
</tr>
|
286
|
+
<tr>
|
287
|
+
<td align="center" valign="top" style="border-collapse: collapse;">
|
288
|
+
<!-- // Begin Template Footer \\ -->
|
289
|
+
<table border="0" cellpadding="10" cellspacing="0" width="650" id="templateFooter">
|
290
|
+
<tr>
|
291
|
+
<td valign="top" class="footerContent" style="border-collapse: collapse;">
|
292
|
+
|
293
|
+
<!-- // Begin Module: Standard Footer \\ -->
|
294
|
+
<table border="0" cellpadding="10" cellspacing="0" width="100%">
|
295
|
+
<tr>
|
296
|
+
<td valign="top" width="650">
|
297
|
+
<div>
|
298
|
+
<em>Copyright © <%= Time.now.year %> <%= Account.current.company_name %></em>
|
299
|
+
• <a href="mailto:<%= Account.current.contact_email %>"><%= Account.current.contact_email %></a>
|
300
|
+
• <a href="http://<%= Account.current.domain %>"><%= Account.current.domain %></a>
|
301
|
+
</div>
|
302
|
+
</td>
|
303
|
+
</tr>
|
304
|
+
</table>
|
305
|
+
<!-- // End Module: Standard Footer \\ -->
|
306
|
+
|
307
|
+
</td>
|
308
|
+
</tr>
|
309
|
+
</table>
|
310
|
+
<!-- // End Template Footer \\ -->
|
311
|
+
</td>
|
312
|
+
</tr>
|
313
|
+
</table>
|
314
|
+
<br>
|
315
|
+
</td>
|
316
|
+
</tr>
|
317
|
+
</table>
|
318
|
+
</center>
|
319
|
+
</body>
|
320
|
+
</html>
|