From 41c233ee2cd0c644355aa643b2ffdb84aa0b8a36 Mon Sep 17 00:00:00 2001 From: Dan Barber Date: Thu, 21 Apr 2016 12:16:35 +0100 Subject: [PATCH] Extract markdown field to gem --- Gemfile | 1 + Gemfile.lock | 5 +++++ app/dashboards/page_dashboard.rb | 2 +- app/dashboards/photo_dashboard.rb | 2 +- app/fields/markdown_field.rb | 21 ------------------- .../fields/markdown_field/_form.html.erb | 6 ------ .../fields/markdown_field/_index.html.erb | 1 - .../fields/markdown_field/_show.html.erb | 1 - 8 files changed, 8 insertions(+), 31 deletions(-) delete mode 100644 app/fields/markdown_field.rb delete mode 100644 app/views/fields/markdown_field/_form.html.erb delete mode 100644 app/views/fields/markdown_field/_index.html.erb delete mode 100644 app/views/fields/markdown_field/_show.html.erb diff --git a/Gemfile b/Gemfile index fcbb129..53f97ea 100644 --- a/Gemfile +++ b/Gemfile @@ -55,6 +55,7 @@ end gem 'administrate' gem 'administrate-field-image' gem 'administrate-field-color' +gem 'administrate-field-markdown' gem 'dragonfly' gem 'dragonfly-s3_data_store' gem 'kaminari' diff --git a/Gemfile.lock b/Gemfile.lock index 8b52a15..06fa1f6 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -54,6 +54,10 @@ GEM administrate-field-image (0.0.2) administrate (>= 0.2.0.rc1, < 0.3.0) rails (~> 4.2) + administrate-field-markdown (0.0.2) + administrate (>= 0.2.0.rc1, < 0.3.0) + kramdown (~> 1.10) + rails (~> 4.2) arel (6.0.3) ast (2.2.0) autoprefixer-rails (6.3.6) @@ -324,6 +328,7 @@ DEPENDENCIES administrate administrate-field-color administrate-field-image + administrate-field-markdown aws-sdk better_errors binding_of_caller diff --git a/app/dashboards/page_dashboard.rb b/app/dashboards/page_dashboard.rb index aae4e06..7f05fac 100644 --- a/app/dashboards/page_dashboard.rb +++ b/app/dashboards/page_dashboard.rb @@ -11,7 +11,7 @@ class PageDashboard < Administrate::BaseDashboard id: Field::Number, name: Field::String, title: Field::String, - content: MarkdownField, + content: Field::Markdown, created_at: Field::DateTime, updated_at: Field::DateTime, } diff --git a/app/dashboards/photo_dashboard.rb b/app/dashboards/photo_dashboard.rb index 985beed..f67c72d 100644 --- a/app/dashboards/photo_dashboard.rb +++ b/app/dashboards/photo_dashboard.rb @@ -14,7 +14,7 @@ class PhotoDashboard < Administrate::BaseDashboard created_at: Field::DateTime, updated_at: Field::DateTime, title: Field::String, - description: MarkdownField, + description: Field::Markdown, sort: Field::Number, featured: Field::Boolean, enabled: Field::Boolean, diff --git a/app/fields/markdown_field.rb b/app/fields/markdown_field.rb deleted file mode 100644 index 4118b78..0000000 --- a/app/fields/markdown_field.rb +++ /dev/null @@ -1,21 +0,0 @@ -require "administrate/field/base" - -class MarkdownField < Administrate::Field::Base - def to_s - data - end - - def rendered - Kramdown::Document.new(data).to_html.html_safe - end - - def truncate - data.to_s[0...truncation_length] - end - - private - - def truncation_length - options.fetch(:truncate, 50) - end -end diff --git a/app/views/fields/markdown_field/_form.html.erb b/app/views/fields/markdown_field/_form.html.erb deleted file mode 100644 index f6153c0..0000000 --- a/app/views/fields/markdown_field/_form.html.erb +++ /dev/null @@ -1,6 +0,0 @@ -
- <%= f.label field.attribute %> -
-
- <%= f.text_area field.attribute %> -
diff --git a/app/views/fields/markdown_field/_index.html.erb b/app/views/fields/markdown_field/_index.html.erb deleted file mode 100644 index d683ccc..0000000 --- a/app/views/fields/markdown_field/_index.html.erb +++ /dev/null @@ -1 +0,0 @@ -<%= field.truncate %> diff --git a/app/views/fields/markdown_field/_show.html.erb b/app/views/fields/markdown_field/_show.html.erb deleted file mode 100644 index 19ee2dd..0000000 --- a/app/views/fields/markdown_field/_show.html.erb +++ /dev/null @@ -1 +0,0 @@ -<%= field.rendered %>