From 2a5301f5d5c3ce115aa40c3c531e3cb265c690e4 Mon Sep 17 00:00:00 2001 From: Dan Elbert Date: Fri, 14 Apr 2017 16:40:38 -0500 Subject: [PATCH] finished markdown transition --- app/assets/javascripts/recipe_editor.js | 32 +++++++++++++++++- app/assets/javascripts/recipes.js | 2 +- app/assets/stylesheets/application.scss | 1 + app/assets/stylesheets/codemirror_custom.scss | 5 +++ app/assets/stylesheets/font_references.scss | 16 +++++++++ app/assets/stylesheets/recipes.scss | 5 --- app/controllers/logs_controller.rb | 4 +-- app/models/recipe.rb | 7 +--- app/models/recipe_step.rb | 16 --------- app/views/logs/show.html.erb | 8 ++--- app/views/recipes/show.html.erb | 2 +- db/migrate/20170414185039_migrate_steps.rb | 28 +++++++++++++++ db/schema.rb | 2 +- spec/controllers/notes_controller_spec.rb | 4 +-- spec/factories/recipe_steps.rb | 7 ---- spec/models/recipe_step_spec.rb | 4 --- vendor/assets/fonts/inconsolata-bold.woff2 | Bin 0 -> 11008 bytes vendor/assets/fonts/inconsolata.woff2 | Bin 0 -> 9564 bytes .../stylesheets/bootstrap-datepicker3.css | 3 +- 19 files changed, 92 insertions(+), 54 deletions(-) create mode 100644 app/assets/stylesheets/codemirror_custom.scss delete mode 100644 app/models/recipe_step.rb create mode 100644 db/migrate/20170414185039_migrate_steps.rb delete mode 100644 spec/factories/recipe_steps.rb delete mode 100644 spec/models/recipe_step_spec.rb create mode 100644 vendor/assets/fonts/inconsolata-bold.woff2 create mode 100644 vendor/assets/fonts/inconsolata.woff2 diff --git a/app/assets/javascripts/recipe_editor.js b/app/assets/javascripts/recipe_editor.js index 04daa6a..0d9ebc9 100644 --- a/app/assets/javascripts/recipe_editor.js +++ b/app/assets/javascripts/recipe_editor.js @@ -160,7 +160,37 @@ } if ($stepInput.length) { - CodeMirror.fromTextArea($stepInput[0]); + CodeMirror.fromTextArea( + $stepInput[0], + { + mode: { + name: 'markdown', + strikethrough: true + }, + // config tomfoolery to enable soft tabs + extraKeys: { + Tab: function(cm) { + if (cm.somethingSelected()) { + cm.indentSelection("add"); + return; + } + + if (cm.options.indentWithTabs) + cm.replaceSelection("\t", "end", "+input"); + else + cm.execCommand("insertSoftTab"); + }, + "Shift-Tab": function(cm) { + cm.indentSelection("subtract"); + } + }, + indentUnit: 2, + tabSize: 2, + indentWithTabs: false, + lineWrapping: true, + lineNumbers: true + } + ); } $tagInput.tagsinput({ diff --git a/app/assets/javascripts/recipes.js b/app/assets/javascripts/recipes.js index 5122c7b..d2f328e 100644 --- a/app/assets/javascripts/recipes.js +++ b/app/assets/javascripts/recipes.js @@ -2,7 +2,7 @@ $(document).on("turbolinks:load", function() { $(".recipe-view ul.ingredients").checkable(); - $(".recipe-view ol.steps").checkable(); + $(".recipe-view div.steps ol").checkable(); var $searchBtn = $("#recipe_index_search_button"); diff --git a/app/assets/stylesheets/application.scss b/app/assets/stylesheets/application.scss index b398e18..36aeb37 100644 --- a/app/assets/stylesheets/application.scss +++ b/app/assets/stylesheets/application.scss @@ -27,6 +27,7 @@ @import "typeahead-bootstrap"; @import "recipes"; @import "star_rating"; +@import "codemirror_custom"; // Skin overrides .has-error { diff --git a/app/assets/stylesheets/codemirror_custom.scss b/app/assets/stylesheets/codemirror_custom.scss new file mode 100644 index 0000000..5dfe50c --- /dev/null +++ b/app/assets/stylesheets/codemirror_custom.scss @@ -0,0 +1,5 @@ +.CodeMirror { + border: 1px solid $gray-light; + font-family: inconsolata monospace; + font-size: 15px; +} \ No newline at end of file diff --git a/app/assets/stylesheets/font_references.scss b/app/assets/stylesheets/font_references.scss index 16e250c..3830510 100644 --- a/app/assets/stylesheets/font_references.scss +++ b/app/assets/stylesheets/font_references.scss @@ -87,3 +87,19 @@ font-weight: 700; src: local('News Cycle Bold'), local('NewsCycle-Bold'), font_url("news-cycle-bold.woff2") format('woff2'); } + + +@font-face { + font-family: 'Inconsolata'; + font-style: normal; + font-weight: 400; + src: local('Inconsolata Regular'), local('Inconsolata-Regular'), font_url('inconsolata.woff2') format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215; +} +@font-face { + font-family: 'Inconsolata'; + font-style: normal; + font-weight: 700; + src: local('Inconsolata Bold'), local('Inconsolata-Bold'), font_url('inconsolata-bold.woff2') format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215; +} \ No newline at end of file diff --git a/app/assets/stylesheets/recipes.scss b/app/assets/stylesheets/recipes.scss index 038e42d..905e104 100644 --- a/app/assets/stylesheets/recipes.scss +++ b/app/assets/stylesheets/recipes.scss @@ -30,11 +30,6 @@ div.ingredient-editor { } -div.recipe_editor div.steps { - border: 1px solid black ; -} - - div#ingredient-list { padding-bottom: 15px; } diff --git a/app/controllers/logs_controller.rb b/app/controllers/logs_controller.rb index 4d35dc4..02f4947 100644 --- a/app/controllers/logs_controller.rb +++ b/app/controllers/logs_controller.rb @@ -66,7 +66,7 @@ class LogsController < ApplicationController def set_recipe if params[:recipe_id].present? - @recipe = Recipe.includes([{recipe_ingredients: [:ingredient]}, :recipe_steps]).find(params[:recipe_id]) + @recipe = Recipe.includes([{recipe_ingredients: [:ingredient]}]).find(params[:recipe_id]) end end @@ -77,7 +77,7 @@ class LogsController < ApplicationController end def log_params - params.require(:log).permit(:date, :rating, :notes, recipe_attributes: [:name, :description, :source, :yields, :total_time, :active_time, recipe_ingredients_attributes: [:name, :ingredient_id, :quantity, :units, :preparation, :sort_order, :id, :_destroy], recipe_steps_attributes: [:step, :sort_order, :id, :_destroy]]) + params.require(:log).permit(:date, :rating, :notes, recipe_attributes: [:name, :description, :source, :yields, :total_time, :active_time, :step_text, recipe_ingredients_attributes: [:name, :ingredient_id, :quantity, :units, :preparation, :sort_order, :id, :_destroy]]) end end \ No newline at end of file diff --git a/app/models/recipe.rb b/app/models/recipe.rb index 2e4c771..e54f21d 100644 --- a/app/models/recipe.rb +++ b/app/models/recipe.rb @@ -2,7 +2,6 @@ class Recipe < ApplicationRecord include TokenizedLike has_many :recipe_ingredients, -> { order :sort_order }, inverse_of: :recipe, dependent: :destroy - has_many :recipe_steps, -> { order :sort_order }, inverse_of: :recipe, dependent: :destroy belongs_to :user has_and_belongs_to_many :tags @@ -12,7 +11,6 @@ class Recipe < ApplicationRecord scope :active, -> { undeleted.not_log } accepts_nested_attributes_for :recipe_ingredients, allow_destroy: true - accepts_nested_attributes_for :recipe_steps, allow_destroy: true validates :name, presence: true validates :total_time, numericality: true, allow_blank: true @@ -92,15 +90,12 @@ class Recipe < ApplicationRecord copy.yields = self.yields copy.total_time = self.total_time copy.active_time = self.active_time + copy.step_text = self.step_text self.recipe_ingredients.each do |ri| copy.recipe_ingredients << ri.log_copy end - self.recipe_steps.each do |rs| - copy.recipe_steps << rs.log_copy - end - copy end diff --git a/app/models/recipe_step.rb b/app/models/recipe_step.rb deleted file mode 100644 index 3b4b937..0000000 --- a/app/models/recipe_step.rb +++ /dev/null @@ -1,16 +0,0 @@ -class RecipeStep < ApplicationRecord - - belongs_to :recipe, inverse_of: :recipe_steps - - validates :step, presence: true - validates :sort_order, presence: true - - def log_copy - copy = RecipeStep.new - copy.sort_order = self.sort_order - copy.step = self.step - - copy - end - -end diff --git a/app/views/logs/show.html.erb b/app/views/logs/show.html.erb index 0bf2b8a..7019342 100644 --- a/app/views/logs/show.html.erb +++ b/app/views/logs/show.html.erb @@ -72,12 +72,8 @@

Directions

-
-
    - <% @recipe.recipe_steps.each do |s| %> -
  1. <%= "#{s.step}" %>
  2. - <% end %> -
+
+ <%= @recipe.step_text %>
diff --git a/app/views/recipes/show.html.erb b/app/views/recipes/show.html.erb index e7f30a6..ea018a1 100644 --- a/app/views/recipes/show.html.erb +++ b/app/views/recipes/show.html.erb @@ -72,7 +72,7 @@

Directions

-
+
<%= @recipe.step_text %>
diff --git a/db/migrate/20170414185039_migrate_steps.rb b/db/migrate/20170414185039_migrate_steps.rb new file mode 100644 index 0000000..be04895 --- /dev/null +++ b/db/migrate/20170414185039_migrate_steps.rb @@ -0,0 +1,28 @@ +class MigrateSteps < ActiveRecord::Migration[5.0] + + class RecipeStub < ActiveRecord::Base + self.table_name = 'recipes' + end + + class RecipeStepStub < ActiveRecord::Base + self.table_name = 'recipe_steps' + end + + def up + RecipeStub.all.each do |r| + text = '' + RecipeStepStub.where(recipe_id: r.id).order(:sort_order).each do |s| + text << '1. ' + text << s.step + text << "\n" + end + + r.step_text = text + r.save! + end + end + + def down + raise ActiveRecord::IrreversibleMigration, "Can't undo step migration" + end +end diff --git a/db/schema.rb b/db/schema.rb index d3784cc..679e7ce 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -10,7 +10,7 @@ # # It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema.define(version: 20170413173225) do +ActiveRecord::Schema.define(version: 20170414185039) do create_table "ingredient_units", force: :cascade do |t| t.integer "ingredient_id", null: false diff --git a/spec/controllers/notes_controller_spec.rb b/spec/controllers/notes_controller_spec.rb index 439ab84..ae26399 100644 --- a/spec/controllers/notes_controller_spec.rb +++ b/spec/controllers/notes_controller_spec.rb @@ -72,7 +72,7 @@ RSpec.describe NotesController, type: :controller do it "redirects to the created note" do post :create, params: {note: valid_attributes}, session: valid_session - expect(response).to redirect_to(Note.last) + expect(response).to redirect_to notes_path end end @@ -111,7 +111,7 @@ RSpec.describe NotesController, type: :controller do it "redirects to the note" do note = create(:note, user: user) put :update, params: {id: note.to_param, note: valid_attributes}, session: valid_session - expect(response).to redirect_to(note) + expect(response).to redirect_to(notes_path) end it 'redirects if note is not owned' do diff --git a/spec/factories/recipe_steps.rb b/spec/factories/recipe_steps.rb deleted file mode 100644 index 06dc21d..0000000 --- a/spec/factories/recipe_steps.rb +++ /dev/null @@ -1,7 +0,0 @@ -FactoryGirl.define do - factory :recipe_step do - sort_order 1 - step "MyText" - end - -end diff --git a/spec/models/recipe_step_spec.rb b/spec/models/recipe_step_spec.rb deleted file mode 100644 index ba7b54a..0000000 --- a/spec/models/recipe_step_spec.rb +++ /dev/null @@ -1,4 +0,0 @@ -require 'rails_helper' - -RSpec.describe RecipeStep, type: :model do -end diff --git a/vendor/assets/fonts/inconsolata-bold.woff2 b/vendor/assets/fonts/inconsolata-bold.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..2e0f28257256ab0f513a48fd46b8f855672d5920 GIT binary patch literal 11008 zcmV+bEC1AYPew8T0RR9104o3h4gdfE09DWc04k{f0RR9100000000000000000000 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 literal 0 HcmV?d00001 diff --git a/vendor/assets/fonts/inconsolata.woff2 b/vendor/assets/fonts/inconsolata.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..1347eb54c22ae839b13159e37e8a023fd7861ba1 GIT binary patch literal 9564 zcmV-iC8OGRPew8T0RR9103}=i4gdfE08VrO03`(g0RR9100000000000000000000 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 GKo9`#5?smv literal 0 HcmV?d00001 diff --git a/vendor/assets/stylesheets/bootstrap-datepicker3.css b/vendor/assets/stylesheets/bootstrap-datepicker3.css index 360a9d0..062d564 100644 --- a/vendor/assets/stylesheets/bootstrap-datepicker3.css +++ b/vendor/assets/stylesheets/bootstrap-datepicker3.css @@ -677,5 +677,4 @@ fieldset[disabled] .datepicker table tr td span.active.disabled:hover.focus { border-width: 1px 0; margin-left: -5px; margin-right: -5px; -} -/*# sourceMappingURL=bootstrap-datepicker3.css.map */ \ No newline at end of file +} \ No newline at end of file