From 6029d5745099b6b19d8e0b95f95e921955a7efb6 Mon Sep 17 00:00:00 2001 From: yqbk Date: Wed, 13 Jul 2016 12:03:25 +0200 Subject: [PATCH 01/12] pagedown --- Gemfile | 1 + 1 file changed, 1 insertion(+) diff --git a/Gemfile b/Gemfile index abdca69c..b0c324f6 100644 --- a/Gemfile +++ b/Gemfile @@ -28,6 +28,7 @@ gem 'rubytree' gem 'sass-rails', '~> 4.0.3' gem 'sdoc', '~> 0.4.0', group: :doc gem 'slim' +gem 'pagedown-bootstrap-rails' gem 'sorcery' gem 'thread_safe' gem 'turbolinks' From 00cdbf00f8fd4f076d0e2f9a6c839c3d00b4a832 Mon Sep 17 00:00:00 2001 From: yqbk Date: Wed, 13 Jul 2016 14:48:25 +0200 Subject: [PATCH 02/12] editor --- Gemfile | 2 +- Gemfile.lock | 6 ++++++ app/assets/javascripts/application.js | 4 ++++ app/assets/javascripts/markdown_editor.js | 19 +++++++++++-------- app/assets/stylesheets/application.css | 3 ++- app/views/exercises/_form.html.slim | 5 ++++- config/application.rb | 3 ++- 7 files changed, 30 insertions(+), 12 deletions(-) diff --git a/Gemfile b/Gemfile index b0c324f6..8b7105ac 100644 --- a/Gemfile +++ b/Gemfile @@ -28,7 +28,7 @@ gem 'rubytree' gem 'sass-rails', '~> 4.0.3' gem 'sdoc', '~> 0.4.0', group: :doc gem 'slim' -gem 'pagedown-bootstrap-rails' +gem 'pagedown-rails', '~> 1.1.4' gem 'sorcery' gem 'thread_safe' gem 'turbolinks' diff --git a/Gemfile.lock b/Gemfile.lock index 9f115474..97c6b626 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -175,6 +175,8 @@ GEM multi_json (~> 1.3) multi_xml (~> 0.5) rack (>= 1.2, < 3) + pagedown-rails (1.1.4) + railties (> 3.1) parser (2.3.0.6) ast (~> 2.2) pg (0.18.4) @@ -382,6 +384,7 @@ DEPENDENCIES newrelic_rpm nokogiri nyan-cat-formatter + pagedown-rails (~> 1.1.4) pg pry puma (~> 2.15.3) @@ -410,3 +413,6 @@ DEPENDENCIES uglifier (>= 1.3.0) web-console (~> 2.0) will_paginate (~> 3.0) + +BUNDLED WITH + 1.12.4 diff --git a/app/assets/javascripts/application.js b/app/assets/javascripts/application.js index a78c7a67..ef5b9fc2 100644 --- a/app/assets/javascripts/application.js +++ b/app/assets/javascripts/application.js @@ -21,3 +21,7 @@ //= require turbolinks //= require_tree ../../../lib //= require_tree . +//= require markdown.converter +//= require markdown.sanitizer +//= require markdown.editor + diff --git a/app/assets/javascripts/markdown_editor.js b/app/assets/javascripts/markdown_editor.js index 91292da1..08fe1e60 100644 --- a/app/assets/javascripts/markdown_editor.js +++ b/app/assets/javascripts/markdown_editor.js @@ -1,16 +1,19 @@ -(function() { - var ACE_FILES_PATH = '/assets/ace/'; - - window.MarkdownEditor = function(selector) { +(function() +{ + var converter = Markdown.getSanitizingConverter(); + var editor = new Markdown.Editor(converter); + editor.run(); +/* + window.MarkdownEditor = function(selector) + { ace.config.set('modePath', ACE_FILES_PATH); var editor = ace.edit($(selector).next()[0]); - editor.on('change', function() { - $(selector).val(editor.getValue()); - }); + editor.on('change', function(){ $(selector).val(editor.getValue()); }); editor.setShowPrintMargin(false); var session = editor.getSession(); session.setMode('markdown'); session.setUseWrapMode(true); session.setValue($(selector).val()); - }; + }; + */ })(); diff --git a/app/assets/stylesheets/application.css b/app/assets/stylesheets/application.css index 622f35c1..f11a8dd8 100644 --- a/app/assets/stylesheets/application.css +++ b/app/assets/stylesheets/application.css @@ -14,4 +14,5 @@ *= require_tree ../../../lib *= require_tree ../../../vendor/assets/stylesheets/ *= require_self - */ + *= require markdown +*/ diff --git a/app/views/exercises/_form.html.slim b/app/views/exercises/_form.html.slim index f0f69f7a..b67fe821 100644 --- a/app/views/exercises/_form.html.slim +++ b/app/views/exercises/_form.html.slim @@ -9,7 +9,10 @@ .form-group = f.label(:description) = f.hidden_field(:description) - .form-control.markdown + .wmd-panel + #wmd-button-bar + textarea.wmd-input + /=f.input :description, :as => :pagedown, :input_html => { :preview => true } .form-group = f.label(:execution_environment_id) = f.collection_select(:execution_environment_id, @execution_environments, :id, :name, {}, class: 'form-control') diff --git a/config/application.rb b/config/application.rb index 4b2a543a..dbe137d7 100644 --- a/config/application.rb +++ b/config/application.rb @@ -22,7 +22,8 @@ module CodeOcean # Set Time.zone default to the specified zone and make Active Record auto-convert to this zone. # Run "rake -D time" for a list of tasks for finding time zone names. Default is UTC. config.time_zone = 'Berlin' - + config.assets.precompile += %w( markdown-buttons.png ) + # The default locale is :en and all translations from config/locales/*.rb,yml are auto loaded. # config.i18n.load_path += Dir[Rails.root.join('my', 'locales', '*.{rb,yml}').to_s] # config.i18n.default_locale = :de From f4abc1fec3e671b89ecfd90ddd8d6a51a8ccb03c Mon Sep 17 00:00:00 2001 From: yqbk Date: Wed, 13 Jul 2016 15:14:38 +0200 Subject: [PATCH 03/12] change gem and add preview --- Gemfile | 2 +- Gemfile.lock | 6 ++--- app/assets/javascripts/application.js | 4 +--- app/assets/javascripts/markdown_editor.js | 27 +++++++---------------- app/assets/stylesheets/application.css | 2 +- app/views/exercises/_form.html.slim | 5 ++++- 6 files changed, 18 insertions(+), 28 deletions(-) diff --git a/Gemfile b/Gemfile index 8b7105ac..41c25080 100644 --- a/Gemfile +++ b/Gemfile @@ -28,7 +28,7 @@ gem 'rubytree' gem 'sass-rails', '~> 4.0.3' gem 'sdoc', '~> 0.4.0', group: :doc gem 'slim' -gem 'pagedown-rails', '~> 1.1.4' +gem "bootstrap_pagedown" gem 'sorcery' gem 'thread_safe' gem 'turbolinks' diff --git a/Gemfile.lock b/Gemfile.lock index 97c6b626..ea22935c 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -48,6 +48,8 @@ GEM debug_inspector (>= 0.0.1) bootstrap-will_paginate (0.0.10) will_paginate + bootstrap_pagedown (1.1.0) + rails (>= 3.2) builder (3.2.2) byebug (8.2.2) capistrano (3.3.5) @@ -175,8 +177,6 @@ GEM multi_json (~> 1.3) multi_xml (~> 0.5) rack (>= 1.2, < 3) - pagedown-rails (1.1.4) - railties (> 3.1) parser (2.3.0.6) ast (~> 2.2) pg (0.18.4) @@ -357,6 +357,7 @@ DEPENDENCIES better_errors binding_of_caller bootstrap-will_paginate + bootstrap_pagedown byebug capistrano (~> 3.3.0) capistrano-rails @@ -384,7 +385,6 @@ DEPENDENCIES newrelic_rpm nokogiri nyan-cat-formatter - pagedown-rails (~> 1.1.4) pg pry puma (~> 2.15.3) diff --git a/app/assets/javascripts/application.js b/app/assets/javascripts/application.js index ef5b9fc2..175fa4da 100644 --- a/app/assets/javascripts/application.js +++ b/app/assets/javascripts/application.js @@ -21,7 +21,5 @@ //= require turbolinks //= require_tree ../../../lib //= require_tree . -//= require markdown.converter -//= require markdown.sanitizer -//= require markdown.editor +//= require bootstrap_pagedown diff --git a/app/assets/javascripts/markdown_editor.js b/app/assets/javascripts/markdown_editor.js index 08fe1e60..702450d5 100644 --- a/app/assets/javascripts/markdown_editor.js +++ b/app/assets/javascripts/markdown_editor.js @@ -1,19 +1,8 @@ -(function() -{ - var converter = Markdown.getSanitizingConverter(); - var editor = new Markdown.Editor(converter); - editor.run(); -/* - window.MarkdownEditor = function(selector) - { - ace.config.set('modePath', ACE_FILES_PATH); - var editor = ace.edit($(selector).next()[0]); - editor.on('change', function(){ $(selector).val(editor.getValue()); }); - editor.setShowPrintMargin(false); - var session = editor.getSession(); - session.setMode('markdown'); - session.setUseWrapMode(true); - session.setValue($(selector).val()); - }; - */ -})(); +$(document).ready(function () { + var converter = Markdown.getSanitizingConverter(); + var editor = new Markdown.Editor( converter ); + + Markdown.Extra.init( converter ); + + editor.run(); +}); \ No newline at end of file diff --git a/app/assets/stylesheets/application.css b/app/assets/stylesheets/application.css index f11a8dd8..e21a40df 100644 --- a/app/assets/stylesheets/application.css +++ b/app/assets/stylesheets/application.css @@ -14,5 +14,5 @@ *= require_tree ../../../lib *= require_tree ../../../vendor/assets/stylesheets/ *= require_self - *= require markdown + *= require bootstrap_pagedown */ diff --git a/app/views/exercises/_form.html.slim b/app/views/exercises/_form.html.slim index b67fe821..b160c5d5 100644 --- a/app/views/exercises/_form.html.slim +++ b/app/views/exercises/_form.html.slim @@ -9,9 +9,12 @@ .form-group = f.label(:description) = f.hidden_field(:description) + = f.pagedown_editor :description + /.form-control.markdown .wmd-panel - #wmd-button-bar + .wmd-button-bar textarea.wmd-input + .wmd-preview /=f.input :description, :as => :pagedown, :input_html => { :preview => true } .form-group = f.label(:execution_environment_id) From bff02a3005f99813469fccd4cda024e116bcfcfa Mon Sep 17 00:00:00 2001 From: yqbk Date: Wed, 13 Jul 2016 16:08:12 +0200 Subject: [PATCH 04/12] test view --- Gemfile | 2 +- app/assets/javascripts/application.js | 3 ++- app/assets/javascripts/markdown_editor.js | 24 ++++++++++++++++++----- app/views/exercises/_form.html.slim | 11 ++++++++++- app/views/exercises/edit.html.slim | 2 +- 5 files changed, 33 insertions(+), 9 deletions(-) diff --git a/Gemfile b/Gemfile index 41c25080..83a19f9a 100644 --- a/Gemfile +++ b/Gemfile @@ -28,7 +28,7 @@ gem 'rubytree' gem 'sass-rails', '~> 4.0.3' gem 'sdoc', '~> 0.4.0', group: :doc gem 'slim' -gem "bootstrap_pagedown" +gem 'bootstrap_pagedown' gem 'sorcery' gem 'thread_safe' gem 'turbolinks' diff --git a/app/assets/javascripts/application.js b/app/assets/javascripts/application.js index 175fa4da..98e16d51 100644 --- a/app/assets/javascripts/application.js +++ b/app/assets/javascripts/application.js @@ -13,6 +13,7 @@ //= require jquery // //= require ace/ace +//= require bootstrap_pagedown //= require chosen.jquery.min //= require d3 //= require jquery.turbolinks @@ -21,5 +22,5 @@ //= require turbolinks //= require_tree ../../../lib //= require_tree . -//= require bootstrap_pagedown + diff --git a/app/assets/javascripts/markdown_editor.js b/app/assets/javascripts/markdown_editor.js index 702450d5..8923a6ca 100644 --- a/app/assets/javascripts/markdown_editor.js +++ b/app/assets/javascripts/markdown_editor.js @@ -1,8 +1,22 @@ -$(document).ready(function () { - var converter = Markdown.getSanitizingConverter(); - var editor = new Markdown.Editor( converter ); +(function() { + var ACE_FILES_PATH = '/assets/ace/'; - Markdown.Extra.init( converter ); + converter = Markdown.getSanitizingConverter() + editor = new Markdown.Editor converter editor.run(); -}); \ No newline at end of file + editor.refreshPreview() + + window.MarkdownEditor = function(selector) { + ace.config.set('modePath', ACE_FILES_PATH); + var editor = ace.edit($(selector).next()[0]); + editor.on('change', function() { + $(selector).val(editor.getValue()); + }); + editor.setShowPrintMargin(false); + var session = editor.getSession(); + session.setMode('markdown'); + session.setUseWrapMode(true); + session.setValue($(selector).val()); + }; +})(); \ No newline at end of file diff --git a/app/views/exercises/_form.html.slim b/app/views/exercises/_form.html.slim index b160c5d5..718dec83 100644 --- a/app/views/exercises/_form.html.slim +++ b/app/views/exercises/_form.html.slim @@ -9,9 +9,18 @@ .form-group = f.label(:description) = f.hidden_field(:description) - = f.pagedown_editor :description /.form-control.markdown .wmd-panel + #wmd-button-bar + textarea#wmd-input + #wmd-preview + = f.pagedown_editor :description, {skip_preview: false, panel_class: 'wmd-panel', button_bar_id: 'wmd-button-bar', button_bar_class: '', editor_id: 'wmd-input', editor_class: 'wmd-input', preview_id: 'wmd-preview', preview_class: '', } + /.form-group + = f.label(:description) + = f.hidden_field(:description) + + .form-control.markdown + /.wmd-panel .wmd-button-bar textarea.wmd-input .wmd-preview diff --git a/app/views/exercises/edit.html.slim b/app/views/exercises/edit.html.slim index 43550759..d12ee9a6 100644 --- a/app/views/exercises/edit.html.slim +++ b/app/views/exercises/edit.html.slim @@ -1,3 +1,3 @@ h1 = @exercise -= render('form') += render('test') From 52fd18c80ed4651c1a4e15ce9c408532e5623f54 Mon Sep 17 00:00:00 2001 From: yqbk Date: Wed, 13 Jul 2016 16:45:54 +0200 Subject: [PATCH 05/12] working pagedown!!!! --- app/assets/javascripts/exercises.js | 1 + app/assets/javascripts/markdown_editor.js | 22 ---------------------- app/assets/javascripts/pagedown.js | 11 +++++++++++ app/views/exercises/_form.html.slim | 7 +------ config/application.rb | 1 - 5 files changed, 13 insertions(+), 29 deletions(-) delete mode 100644 app/assets/javascripts/markdown_editor.js create mode 100644 app/assets/javascripts/pagedown.js diff --git a/app/assets/javascripts/exercises.js b/app/assets/javascripts/exercises.js index e6773f40..a0e2e193 100644 --- a/app/assets/javascripts/exercises.js +++ b/app/assets/javascripts/exercises.js @@ -160,6 +160,7 @@ $(function() { // new MarkdownEditor('#exercise_instructions'); new MarkdownEditor('#exercise_description'); // todo: add an ace editor for each file + new PagedownEditor('#exercise_description'); enableInlineFileCreation(); inferFileAttributes(); diff --git a/app/assets/javascripts/markdown_editor.js b/app/assets/javascripts/markdown_editor.js deleted file mode 100644 index 8923a6ca..00000000 --- a/app/assets/javascripts/markdown_editor.js +++ /dev/null @@ -1,22 +0,0 @@ -(function() { - var ACE_FILES_PATH = '/assets/ace/'; - - converter = Markdown.getSanitizingConverter() - editor = new Markdown.Editor converter - - editor.run(); - editor.refreshPreview() - - window.MarkdownEditor = function(selector) { - ace.config.set('modePath', ACE_FILES_PATH); - var editor = ace.edit($(selector).next()[0]); - editor.on('change', function() { - $(selector).val(editor.getValue()); - }); - editor.setShowPrintMargin(false); - var session = editor.getSession(); - session.setMode('markdown'); - session.setUseWrapMode(true); - session.setValue($(selector).val()); - }; -})(); \ No newline at end of file diff --git a/app/assets/javascripts/pagedown.js b/app/assets/javascripts/pagedown.js new file mode 100644 index 00000000..7c602194 --- /dev/null +++ b/app/assets/javascripts/pagedown.js @@ -0,0 +1,11 @@ +(function() { + var ACE_FILES_PATH = '/assets/ace/'; + + window.PagedownEditor = function(selector) { + var converter = Markdown.getSanitizingConverter(); + var editor = new Markdown.Editor( converter ); + + editor.run(); + + }; +})(); \ No newline at end of file diff --git a/app/views/exercises/_form.html.slim b/app/views/exercises/_form.html.slim index 718dec83..a91f301c 100644 --- a/app/views/exercises/_form.html.slim +++ b/app/views/exercises/_form.html.slim @@ -9,12 +9,7 @@ .form-group = f.label(:description) = f.hidden_field(:description) - /.form-control.markdown - .wmd-panel - #wmd-button-bar - textarea#wmd-input - #wmd-preview - = f.pagedown_editor :description, {skip_preview: false, panel_class: 'wmd-panel', button_bar_id: 'wmd-button-bar', button_bar_class: '', editor_id: 'wmd-input', editor_class: 'wmd-input', preview_id: 'wmd-preview', preview_class: '', } + .form-control.markdown /.form-group = f.label(:description) = f.hidden_field(:description) diff --git a/config/application.rb b/config/application.rb index dbe137d7..c1438aaa 100644 --- a/config/application.rb +++ b/config/application.rb @@ -22,7 +22,6 @@ module CodeOcean # Set Time.zone default to the specified zone and make Active Record auto-convert to this zone. # Run "rake -D time" for a list of tasks for finding time zone names. Default is UTC. config.time_zone = 'Berlin' - config.assets.precompile += %w( markdown-buttons.png ) # The default locale is :en and all translations from config/locales/*.rb,yml are auto loaded. # config.i18n.load_path += Dir[Rails.root.join('my', 'locales', '*.{rb,yml}').to_s] From 9c1b221fba67066c2687e00ce386749c8afd94f6 Mon Sep 17 00:00:00 2001 From: yqbk Date: Mon, 25 Jul 2016 15:59:48 +0200 Subject: [PATCH 06/12] working icons --- Gemfile | 1 + Gemfile.lock | 3 +++ app/assets/javascripts/application.js | 3 +++ app/assets/javascripts/exercises.js | 2 +- app/assets/stylesheets/application.css | 1 + app/views/exercises/_form.html.slim | 12 +----------- app/views/exercises/edit.html.slim | 2 +- 7 files changed, 11 insertions(+), 13 deletions(-) diff --git a/Gemfile b/Gemfile index 83a19f9a..1194e30a 100644 --- a/Gemfile +++ b/Gemfile @@ -29,6 +29,7 @@ gem 'sass-rails', '~> 4.0.3' gem 'sdoc', '~> 0.4.0', group: :doc gem 'slim' gem 'bootstrap_pagedown' +gem 'pagedown-rails', '~> 1.1.4' gem 'sorcery' gem 'thread_safe' gem 'turbolinks' diff --git a/Gemfile.lock b/Gemfile.lock index ea22935c..46fe1057 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -177,6 +177,8 @@ GEM multi_json (~> 1.3) multi_xml (~> 0.5) rack (>= 1.2, < 3) + pagedown-rails (1.1.4) + railties (> 3.1) parser (2.3.0.6) ast (~> 2.2) pg (0.18.4) @@ -385,6 +387,7 @@ DEPENDENCIES newrelic_rpm nokogiri nyan-cat-formatter + pagedown-rails (~> 1.1.4) pg pry puma (~> 2.15.3) diff --git a/app/assets/javascripts/application.js b/app/assets/javascripts/application.js index 98e16d51..e812a7db 100644 --- a/app/assets/javascripts/application.js +++ b/app/assets/javascripts/application.js @@ -22,5 +22,8 @@ //= require turbolinks //= require_tree ../../../lib //= require_tree . +//= require markdown.converter +//= require markdown.sanitizer +//= require markdown.editor diff --git a/app/assets/javascripts/exercises.js b/app/assets/javascripts/exercises.js index a0e2e193..444192f5 100644 --- a/app/assets/javascripts/exercises.js +++ b/app/assets/javascripts/exercises.js @@ -158,7 +158,7 @@ $(function() { execution_environments = $('form').data('execution-environments'); file_types = $('form').data('file-types'); // new MarkdownEditor('#exercise_instructions'); - new MarkdownEditor('#exercise_description'); + //new MarkdownEditor('#exercise_description'); // todo: add an ace editor for each file new PagedownEditor('#exercise_description'); diff --git a/app/assets/stylesheets/application.css b/app/assets/stylesheets/application.css index e21a40df..47163008 100644 --- a/app/assets/stylesheets/application.css +++ b/app/assets/stylesheets/application.css @@ -15,4 +15,5 @@ *= require_tree ../../../vendor/assets/stylesheets/ *= require_self *= require bootstrap_pagedown + *= require markdown */ diff --git a/app/views/exercises/_form.html.slim b/app/views/exercises/_form.html.slim index a91f301c..984e52c6 100644 --- a/app/views/exercises/_form.html.slim +++ b/app/views/exercises/_form.html.slim @@ -8,18 +8,8 @@ = f.text_field(:title, class: 'form-control', required: true) .form-group = f.label(:description) - = f.hidden_field(:description) - .form-control.markdown - /.form-group - = f.label(:description) - = f.hidden_field(:description) + = f.pagedown_editor :description - .form-control.markdown - /.wmd-panel - .wmd-button-bar - textarea.wmd-input - .wmd-preview - /=f.input :description, :as => :pagedown, :input_html => { :preview => true } .form-group = f.label(:execution_environment_id) = f.collection_select(:execution_environment_id, @execution_environments, :id, :name, {}, class: 'form-control') diff --git a/app/views/exercises/edit.html.slim b/app/views/exercises/edit.html.slim index d12ee9a6..43550759 100644 --- a/app/views/exercises/edit.html.slim +++ b/app/views/exercises/edit.html.slim @@ -1,3 +1,3 @@ h1 = @exercise -= render('test') += render('form') From b11c319e7c4afe30f4cca8b203260fca1bcd34a5 Mon Sep 17 00:00:00 2001 From: yqbk Date: Mon, 25 Jul 2016 16:04:04 +0200 Subject: [PATCH 07/12] cleanup --- Gemfile | 1 - Gemfile.lock | 3 --- app/assets/javascripts/application.js | 1 - app/assets/stylesheets/application.css | 1 - 4 files changed, 6 deletions(-) diff --git a/Gemfile b/Gemfile index 1194e30a..8b7105ac 100644 --- a/Gemfile +++ b/Gemfile @@ -28,7 +28,6 @@ gem 'rubytree' gem 'sass-rails', '~> 4.0.3' gem 'sdoc', '~> 0.4.0', group: :doc gem 'slim' -gem 'bootstrap_pagedown' gem 'pagedown-rails', '~> 1.1.4' gem 'sorcery' gem 'thread_safe' diff --git a/Gemfile.lock b/Gemfile.lock index 46fe1057..97c6b626 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -48,8 +48,6 @@ GEM debug_inspector (>= 0.0.1) bootstrap-will_paginate (0.0.10) will_paginate - bootstrap_pagedown (1.1.0) - rails (>= 3.2) builder (3.2.2) byebug (8.2.2) capistrano (3.3.5) @@ -359,7 +357,6 @@ DEPENDENCIES better_errors binding_of_caller bootstrap-will_paginate - bootstrap_pagedown byebug capistrano (~> 3.3.0) capistrano-rails diff --git a/app/assets/javascripts/application.js b/app/assets/javascripts/application.js index e812a7db..ed72ef61 100644 --- a/app/assets/javascripts/application.js +++ b/app/assets/javascripts/application.js @@ -13,7 +13,6 @@ //= require jquery // //= require ace/ace -//= require bootstrap_pagedown //= require chosen.jquery.min //= require d3 //= require jquery.turbolinks diff --git a/app/assets/stylesheets/application.css b/app/assets/stylesheets/application.css index 47163008..0258a5fd 100644 --- a/app/assets/stylesheets/application.css +++ b/app/assets/stylesheets/application.css @@ -14,6 +14,5 @@ *= require_tree ../../../lib *= require_tree ../../../vendor/assets/stylesheets/ *= require_self - *= require bootstrap_pagedown *= require markdown */ From f43b4acf746d94dc7ecab0ef250c5a6b81fe96c4 Mon Sep 17 00:00:00 2001 From: yqbk Date: Mon, 25 Jul 2016 16:05:13 +0200 Subject: [PATCH 08/12] cleanup2 --- app/assets/javascripts/pagedown.js | 1 - config/application.rb | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/app/assets/javascripts/pagedown.js b/app/assets/javascripts/pagedown.js index 7c602194..b48c2ae6 100644 --- a/app/assets/javascripts/pagedown.js +++ b/app/assets/javascripts/pagedown.js @@ -6,6 +6,5 @@ var editor = new Markdown.Editor( converter ); editor.run(); - }; })(); \ No newline at end of file diff --git a/config/application.rb b/config/application.rb index c1438aaa..4b2a543a 100644 --- a/config/application.rb +++ b/config/application.rb @@ -22,7 +22,7 @@ module CodeOcean # Set Time.zone default to the specified zone and make Active Record auto-convert to this zone. # Run "rake -D time" for a list of tasks for finding time zone names. Default is UTC. config.time_zone = 'Berlin' - + # The default locale is :en and all translations from config/locales/*.rb,yml are auto loaded. # config.i18n.load_path += Dir[Rails.root.join('my', 'locales', '*.{rb,yml}').to_s] # config.i18n.default_locale = :de From 615aa841d91a6fa12fbc3be40a2c5b6d9827101f Mon Sep 17 00:00:00 2001 From: yqbk Date: Mon, 25 Jul 2016 16:42:51 +0200 Subject: [PATCH 09/12] cleanup3 --- Gemfile | 1 + Gemfile.lock | 3 +++ app/assets/javascripts/application.js | 1 + app/assets/javascripts/exercises.js | 4 ++-- app/assets/stylesheets/application.css | 1 + 5 files changed, 8 insertions(+), 2 deletions(-) diff --git a/Gemfile b/Gemfile index 8b7105ac..1194e30a 100644 --- a/Gemfile +++ b/Gemfile @@ -28,6 +28,7 @@ gem 'rubytree' gem 'sass-rails', '~> 4.0.3' gem 'sdoc', '~> 0.4.0', group: :doc gem 'slim' +gem 'bootstrap_pagedown' gem 'pagedown-rails', '~> 1.1.4' gem 'sorcery' gem 'thread_safe' diff --git a/Gemfile.lock b/Gemfile.lock index 97c6b626..46fe1057 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -48,6 +48,8 @@ GEM debug_inspector (>= 0.0.1) bootstrap-will_paginate (0.0.10) will_paginate + bootstrap_pagedown (1.1.0) + rails (>= 3.2) builder (3.2.2) byebug (8.2.2) capistrano (3.3.5) @@ -357,6 +359,7 @@ DEPENDENCIES better_errors binding_of_caller bootstrap-will_paginate + bootstrap_pagedown byebug capistrano (~> 3.3.0) capistrano-rails diff --git a/app/assets/javascripts/application.js b/app/assets/javascripts/application.js index ed72ef61..e812a7db 100644 --- a/app/assets/javascripts/application.js +++ b/app/assets/javascripts/application.js @@ -13,6 +13,7 @@ //= require jquery // //= require ace/ace +//= require bootstrap_pagedown //= require chosen.jquery.min //= require d3 //= require jquery.turbolinks diff --git a/app/assets/javascripts/exercises.js b/app/assets/javascripts/exercises.js index 444192f5..cd8df5a9 100644 --- a/app/assets/javascripts/exercises.js +++ b/app/assets/javascripts/exercises.js @@ -157,8 +157,8 @@ $(function() { } else if ($('.edit_exercise, .new_exercise').isPresent()) { execution_environments = $('form').data('execution-environments'); file_types = $('form').data('file-types'); - // new MarkdownEditor('#exercise_instructions'); - //new MarkdownEditor('#exercise_description'); + // new MarkdownEditor('#exercise_instructions'); + // new MarkdownEditor('#exercise_description') // todo: add an ace editor for each file new PagedownEditor('#exercise_description'); diff --git a/app/assets/stylesheets/application.css b/app/assets/stylesheets/application.css index 0258a5fd..47163008 100644 --- a/app/assets/stylesheets/application.css +++ b/app/assets/stylesheets/application.css @@ -14,5 +14,6 @@ *= require_tree ../../../lib *= require_tree ../../../vendor/assets/stylesheets/ *= require_self + *= require bootstrap_pagedown *= require markdown */ From 0aa63d8b8acb3adaa786c692d7a63edfdd09d39f Mon Sep 17 00:00:00 2001 From: yqbk Date: Mon, 25 Jul 2016 16:44:35 +0200 Subject: [PATCH 10/12] cleanup4 --- app/assets/javascripts/application.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/assets/javascripts/application.js b/app/assets/javascripts/application.js index e812a7db..c5cd0339 100644 --- a/app/assets/javascripts/application.js +++ b/app/assets/javascripts/application.js @@ -13,7 +13,6 @@ //= require jquery // //= require ace/ace -//= require bootstrap_pagedown //= require chosen.jquery.min //= require d3 //= require jquery.turbolinks @@ -22,6 +21,7 @@ //= require turbolinks //= require_tree ../../../lib //= require_tree . +//= require bootstrap_pagedown //= require markdown.converter //= require markdown.sanitizer //= require markdown.editor From f61b696e6a11dca520768200d353ee29c2e63bd6 Mon Sep 17 00:00:00 2001 From: yqbk Date: Mon, 25 Jul 2016 16:45:45 +0200 Subject: [PATCH 11/12] cleanup5 --- app/assets/javascripts/application.js | 4 +--- app/assets/javascripts/markdown_ace_editor.js | 16 ++++++++++++++++ app/views/exercises/_test.html.slim | 12 ++++++++++++ 3 files changed, 29 insertions(+), 3 deletions(-) create mode 100644 app/assets/javascripts/markdown_ace_editor.js create mode 100644 app/views/exercises/_test.html.slim diff --git a/app/assets/javascripts/application.js b/app/assets/javascripts/application.js index c5cd0339..ebdcc08d 100644 --- a/app/assets/javascripts/application.js +++ b/app/assets/javascripts/application.js @@ -24,6 +24,4 @@ //= require bootstrap_pagedown //= require markdown.converter //= require markdown.sanitizer -//= require markdown.editor - - +//= require markdown.editor \ No newline at end of file diff --git a/app/assets/javascripts/markdown_ace_editor.js b/app/assets/javascripts/markdown_ace_editor.js new file mode 100644 index 00000000..42e566fe --- /dev/null +++ b/app/assets/javascripts/markdown_ace_editor.js @@ -0,0 +1,16 @@ +(function() { + var ACE_FILES_PATH = '/assets/ace/'; + + window.MarkdownEditor = function(selector) { + ace.config.set('modePath', ACE_FILES_PATH); + var editor = ace.edit($(selector).next()[0]); + editor.on('change', function() { + $(selector).val(editor.getValue()); + }); + editor.setShowPrintMargin(false); + var session = editor.getSession(); + session.setMode('markdown'); + session.setUseWrapMode(true); + session.setValue($(selector).val()); + }; +})(); \ No newline at end of file diff --git a/app/views/exercises/_test.html.slim b/app/views/exercises/_test.html.slim new file mode 100644 index 00000000..5801005f --- /dev/null +++ b/app/views/exercises/_test.html.slim @@ -0,0 +1,12 @@ +- execution_environments = ExecutionEnvironment.where('file_type_id IS NOT NULL').select(:file_type_id, :id) +- file_types = FileType.where('file_extension IS NOT NULL').select(:file_extension, :id) + += form_for(@exercise, data: {execution_environments: execution_environments, file_types: file_types}, multipart: true) do |f| + .form-group + = f.label(:description) + = f.hidden_field(:description) + .form-control.markdown + + = f.pagedown_editor :description + /= f.input :description, :as => :pagedown, :input_html => { :preview => true } +end \ No newline at end of file From 649f7117044c7c9fab3d33ce8a769b04f3e3b5ac Mon Sep 17 00:00:00 2001 From: yqbk Date: Mon, 25 Jul 2016 16:47:20 +0200 Subject: [PATCH 12/12] delete test --- app/views/exercises/_test.html.slim | 12 ------------ 1 file changed, 12 deletions(-) delete mode 100644 app/views/exercises/_test.html.slim diff --git a/app/views/exercises/_test.html.slim b/app/views/exercises/_test.html.slim deleted file mode 100644 index 5801005f..00000000 --- a/app/views/exercises/_test.html.slim +++ /dev/null @@ -1,12 +0,0 @@ -- execution_environments = ExecutionEnvironment.where('file_type_id IS NOT NULL').select(:file_type_id, :id) -- file_types = FileType.where('file_extension IS NOT NULL').select(:file_extension, :id) - -= form_for(@exercise, data: {execution_environments: execution_environments, file_types: file_types}, multipart: true) do |f| - .form-group - = f.label(:description) - = f.hidden_field(:description) - .form-control.markdown - - = f.pagedown_editor :description - /= f.input :description, :as => :pagedown, :input_html => { :preview => true } -end \ No newline at end of file