From fc3c2f268ab9b1c13a8270130ac76eb4475afbbb Mon Sep 17 00:00:00 2001 From: Benjamin ter Kuile Date: Wed, 27 Aug 2025 11:55:13 -0500 Subject: [PATCH] Fixes for rails 8 support --- CHANGELOG.md | 11 +++++++++++ Gemfile | 1 + README.md | 1 - app/assets/javascripts/cmtool/application.js.coffee | 1 + app/assets/javascripts/cmtool/html_edit.js.coffee | 10 +++++++--- .../javascripts/cmtool/structure.js.coffee.erb | 12 ------------ app/views/layouts/cmtool/application.html.slim | 2 +- cmtool.gemspec | 1 + config/initializers/assets.rb | 1 + lib/cmtool.rb | 2 ++ lib/cmtool/version.rb | 2 +- 11 files changed, 26 insertions(+), 18 deletions(-) create mode 100644 CHANGELOG.md create mode 100644 config/initializers/assets.rb diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..55aba50 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,11 @@ +CHANGELOG +================ + +v3.0.0 and before +----------------------- +- integrate with a rails 8 application + + +V2.0.0 and before +---------------------- +- Was a long time ago diff --git a/Gemfile b/Gemfile index 3038760..c7883b7 100644 --- a/Gemfile +++ b/Gemfile @@ -18,6 +18,7 @@ group :assets do gem 'font-awesome-rails' # gem 'tinymce-rails' gem 'pickadate-rails' + gem 'momentjs-rails' end gem 'simply_stored' , github: 'bterkuile/simply_stored' diff --git a/README.md b/README.md index cdd0401..0ee89be 100644 --- a/README.md +++ b/README.md @@ -36,7 +36,6 @@ This will add some gems you might like anyway, here a list: * bourbon # NOOOOOO * jquery-rails -* tinymce-rails * sass-rails * paperclip * email_validator (validates :email, email: true) diff --git a/app/assets/javascripts/cmtool/application.js.coffee b/app/assets/javascripts/cmtool/application.js.coffee index 314c9a6..0f072f4 100644 --- a/app/assets/javascripts/cmtool/application.js.coffee +++ b/app/assets/javascripts/cmtool/application.js.coffee @@ -8,6 +8,7 @@ #= require ace/mode-handlebars #= require ace/mode-yaml #= require ace/mode-haml +#= require ace/mode-slim # require tinymce-jquery # require tinymce #= require pickadate/picker diff --git a/app/assets/javascripts/cmtool/html_edit.js.coffee b/app/assets/javascripts/cmtool/html_edit.js.coffee index 18834fa..a2ff351 100644 --- a/app/assets/javascripts/cmtool/html_edit.js.coffee +++ b/app/assets/javascripts/cmtool/html_edit.js.coffee @@ -2,7 +2,7 @@ class HtmlEdit setup: -> #ACE locale_field = $('#page_locale') - $('.html-content').each (i, el)-> + $('.html-content').each (i, el) -> text_field = $(el) template_field = $("##{text_field.attr('id')}_template") ace_div = $('
').addClass('ace-div') @@ -13,9 +13,10 @@ class HtmlEdit editor = ace.edit(ace_div.get(0)) editor.setTheme 'ace/theme/monokai' if template_field.length + text_field.before 'This is a template language. For reference, visit: emblemjs.com' editor.setValue template_field.val(), -1 - editor.getSession().setMode 'ace/mode/haml' - console.log "Editing haml" + editor.getSession().setMode 'ace/mode/slim' + console.log "Editing Emblem using Slim mode for ACE editor" else editor.setValue text_field.val(), -1 editor.getSession().setMode 'ace/mode/handlebars' @@ -33,6 +34,9 @@ class HtmlEdit result_value = template(template_vars) template_field.val value text_field.val result_value + console.log "Succesfull conversion of template to HTML" + catch error + console.log error.message else text_field.val value editor.getSession().on 'change', rebuild_html diff --git a/app/assets/javascripts/cmtool/structure.js.coffee.erb b/app/assets/javascripts/cmtool/structure.js.coffee.erb index b2481fe..a149d4c 100644 --- a/app/assets/javascripts/cmtool/structure.js.coffee.erb +++ b/app/assets/javascripts/cmtool/structure.js.coffee.erb @@ -1,13 +1 @@ <% cmtool = Cmtool::Engine.routes.url_helpers %> -$ -> - $('textarea.mceEditor, .editor_full').tinymce - theme: 'modern' - plugins: ['image', 'link', 'table', 'searchreplace', 'code'] - language: tinymce_language - image_list: '<%= cmtool.images_path(format: :js) %>' - relative_urls: false - removed_menuitems: 'newdocument' - apply_source_formatting: true - $('.editor_basic').tinymce - theme: 'modern' - language: tinymce_language diff --git a/app/views/layouts/cmtool/application.html.slim b/app/views/layouts/cmtool/application.html.slim index 8400c8a..7d40595 100644 --- a/app/views/layouts/cmtool/application.html.slim +++ b/app/views/layouts/cmtool/application.html.slim @@ -8,7 +8,7 @@ html lang="en" link href="/favicon.ico" rel="shortcut icon" = csrf_meta_tags javascript: - var tinymce_language = '#{I18n.locale}'; + var i18n_language = '#{I18n.locale}'; /! Le HTML5 shim, for IE6-8 support of HTML elements /[if lt IE 9] diff --git a/cmtool.gemspec b/cmtool.gemspec index 5663276..b106fbe 100644 --- a/cmtool.gemspec +++ b/cmtool.gemspec @@ -28,4 +28,5 @@ Gem::Specification.new do |s| s.add_runtime_dependency "ace-rails-ap", ">= 0" s.add_runtime_dependency "font-awesome-rails", ">= 0" s.add_runtime_dependency "pickadate-rails", ">= 0" + s.add_runtime_dependency 'momentjs-rails', '>= 0' end diff --git a/config/initializers/assets.rb b/config/initializers/assets.rb new file mode 100644 index 0000000..05a207a --- /dev/null +++ b/config/initializers/assets.rb @@ -0,0 +1 @@ +Rails.application.config.assets.precompile += %w[ cmtool/application.css cmtool/application.js ] diff --git a/lib/cmtool.rb b/lib/cmtool.rb index 8cc517e..462f907 100644 --- a/lib/cmtool.rb +++ b/lib/cmtool.rb @@ -1,3 +1,5 @@ +require 'momentjs-rails' + require "cmtool/engine" require 'cmtool/includes/user' require 'cmtool/includes/page' diff --git a/lib/cmtool/version.rb b/lib/cmtool/version.rb index 18b84d0..6ff7368 100644 --- a/lib/cmtool/version.rb +++ b/lib/cmtool/version.rb @@ -1,3 +1,3 @@ module Cmtool - VERSION = "2.0.0" + VERSION = "3.0.0" end