From b2c70230b35e72826f55acfd6b44bfabd19302bb Mon Sep 17 00:00:00 2001 From: Jan Provaznik Date: Thu, 31 Jan 2019 09:58:23 +0100 Subject: Remove Redcarpet markdown engine This engine was replaced with CommonMarker in 11.4, it was deprecated since then. --- Gemfile | 1 - Gemfile.lock | 2 - .../javascripts/behaviors/preview_markdown.js | 15 +- .../javascripts/issue_show/components/app.vue | 6 - .../issue_show/components/fields/description.vue | 6 - .../javascripts/issue_show/components/form.vue | 6 - app/assets/javascripts/notes.js | 4 +- .../javascripts/notes/components/comment_form.vue | 6 - .../javascripts/notes/components/note_body.vue | 1 - .../javascripts/notes/components/note_form.vue | 6 - .../javascripts/notes/components/notes_app.vue | 11 +- app/assets/javascripts/notes/index.js | 3 - .../vue_shared/components/markdown/field.vue | 14 +- app/controllers/concerns/preview_markdown.rb | 2 - app/helpers/issuables_helper.rb | 1 - app/helpers/markup_helper.rb | 6 - app/helpers/notes_helper.rb | 1 - app/helpers/projects_helper.rb | 4 - app/models/concerns/cache_markdown_field.rb | 27 +-- app/models/repository.rb | 1 - app/services/issuable_base_service.rb | 4 +- app/services/preview_markdown_service.rb | 11 +- app/services/task_list_toggle_service.rb | 23 +-- app/views/projects/_wiki.html.haml | 2 +- app/views/projects/blob/edit.html.haml | 2 +- app/views/projects/blob/preview.html.haml | 2 +- app/views/projects/blob/viewers/_markup.html.haml | 4 +- app/views/projects/issues/_form.html.haml | 3 +- app/views/projects/merge_requests/_form.html.haml | 3 +- app/views/projects/milestones/_form.html.haml | 3 +- app/views/projects/tags/releases/edit.html.haml | 3 +- app/views/projects/wikis/_form.html.haml | 6 +- app/views/projects/wikis/_sidebar.html.haml | 2 +- app/views/projects/wikis/show.html.haml | 2 +- app/views/search/results/_snippet_blob.html.haml | 2 +- app/views/shared/notes/_note.html.haml | 2 +- app/views/shared/snippets/_form.html.haml | 3 +- .../unreleased/jprovazn-remove-redcarpet.yml | 5 + doc/user/markdown.md | 25 ++- lib/banzai/filter/markdown_engines/redcarpet.rb | 34 ---- lib/banzai/filter/spaced_link_filter.rb | 2 - lib/banzai/filter/syntax_highlight_filter.rb | 1 - lib/banzai/renderer/redcarpet/html.rb | 17 -- spec/features/markdown/markdown_spec.rb | 27 +-- spec/features/projects/blobs/blob_show_spec.rb | 19 +- spec/features/projects/blobs/edit_spec.rb | 11 -- .../projects/wiki/markdown_preview_spec.rb | 14 -- spec/features/snippets/show_spec.rb | 21 --- spec/features/task_lists_spec.rb | 68 ------- spec/fixtures/markdown.md.erb | 2 +- spec/helpers/issuables_helper_spec.rb | 1 - spec/helpers/markup_helper_spec.rb | 21 --- spec/helpers/projects_helper_spec.rb | 12 -- spec/lib/banzai/filter/markdown_filter_spec.rb | 36 ---- spec/lib/banzai/filter/spaced_link_filter_spec.rb | 5 - spec/models/concerns/cache_markdown_field_spec.rb | 202 +++++++-------------- spec/services/preview_markdown_service_spec.rb | 19 -- spec/services/task_list_toggle_service_spec.rb | 105 ++++------- 58 files changed, 148 insertions(+), 699 deletions(-) create mode 100644 changelogs/unreleased/jprovazn-remove-redcarpet.yml delete mode 100644 lib/banzai/filter/markdown_engines/redcarpet.rb delete mode 100644 lib/banzai/renderer/redcarpet/html.rb diff --git a/Gemfile b/Gemfile index 95cb9671a61..322b5951973 100644 --- a/Gemfile +++ b/Gemfile @@ -116,7 +116,6 @@ gem 'html-pipeline', '~> 2.8' gem 'deckar01-task_list', '2.2.0' gem 'gitlab-markup', '~> 1.6.5' gem 'github-markup', '~> 1.7.0', require: 'github/markup' -gem 'redcarpet', '~> 3.4' gem 'commonmarker', '~> 0.17' gem 'RedCloth', '~> 4.3.2' gem 'rdoc', '~> 6.0' diff --git a/Gemfile.lock b/Gemfile.lock index e6b563b5cb8..a9244fd853c 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -682,7 +682,6 @@ GEM recaptcha (3.0.0) json recursive-open-struct (1.1.0) - redcarpet (3.4.0) redis (3.3.5) redis-actionpack (5.0.2) actionpack (>= 4.0, < 6) @@ -1118,7 +1117,6 @@ DEPENDENCIES rdoc (~> 6.0) re2 (~> 1.1.1) recaptcha (~> 3.0) - redcarpet (~> 3.4) redis (~> 3.2) redis-namespace (~> 1.6.0) redis-rails (~> 5.0.2) diff --git a/app/assets/javascripts/behaviors/preview_markdown.js b/app/assets/javascripts/behaviors/preview_markdown.js index 35f1bb6b080..7adccbb062f 100644 --- a/app/assets/javascripts/behaviors/preview_markdown.js +++ b/app/assets/javascripts/behaviors/preview_markdown.js @@ -28,16 +28,13 @@ MarkdownPreview.prototype.ajaxCache = {}; MarkdownPreview.prototype.showPreview = function($form) { var mdText; - var markdownVersion; - var url; var preview = $form.find('.js-md-preview'); + var url = preview.data('url'); if (preview.hasClass('md-preview-loading')) { return; } mdText = $form.find('textarea.markdown-area').val(); - markdownVersion = $form.attr('data-markdown-version'); - url = this.versionedPreviewPath(preview.data('url'), markdownVersion); if (mdText.trim().length === 0) { preview.text(this.emptyMessage); @@ -67,16 +64,6 @@ MarkdownPreview.prototype.showPreview = function($form) { } }; -MarkdownPreview.prototype.versionedPreviewPath = function(markdownPreviewPath, markdownVersion) { - if (typeof markdownVersion === 'undefined') { - return markdownPreviewPath; - } - - return `${markdownPreviewPath}${ - markdownPreviewPath.indexOf('?') === -1 ? '?' : '&' - }markdown_version=${markdownVersion}`; -}; - MarkdownPreview.prototype.fetchMarkdownPreview = function(text, url, success) { if (!url) { return; diff --git a/app/assets/javascripts/issue_show/components/app.vue b/app/assets/javascripts/issue_show/components/app.vue index fea7f0d77a5..bd757a76ee7 100644 --- a/app/assets/javascripts/issue_show/components/app.vue +++ b/app/assets/javascripts/issue_show/components/app.vue @@ -108,11 +108,6 @@ export default { type: String, required: true, }, - markdownVersion: { - type: Number, - required: false, - default: 0, - }, projectPath: { type: String, required: true, @@ -313,7 +308,6 @@ export default { :issuable-templates="issuableTemplates" :markdown-docs-path="markdownDocsPath" :markdown-preview-path="markdownPreviewPath" - :markdown-version="markdownVersion" :project-path="projectPath" :project-namespace="projectNamespace" :show-delete-button="showDeleteButton" diff --git a/app/assets/javascripts/issue_show/components/fields/description.vue b/app/assets/javascripts/issue_show/components/fields/description.vue index 90258c0e044..299130e56ae 100644 --- a/app/assets/javascripts/issue_show/components/fields/description.vue +++ b/app/assets/javascripts/issue_show/components/fields/description.vue @@ -20,11 +20,6 @@ export default { type: String, required: true, }, - markdownVersion: { - type: Number, - required: false, - default: 0, - }, canAttachFile: { type: Boolean, required: false, @@ -48,7 +43,6 @@ export default { diff --git a/app/assets/javascripts/issue_show/components/form.vue b/app/assets/javascripts/issue_show/components/form.vue index 45b60bc3392..eade31f1d14 100644 --- a/app/assets/javascripts/issue_show/components/form.vue +++ b/app/assets/javascripts/issue_show/components/form.vue @@ -39,11 +39,6 @@ export default { type: String, required: true, }, - markdownVersion: { - type: Number, - required: false, - default: 0, - }, projectPath: { type: String, required: true, @@ -101,7 +96,6 @@ export default { :form-state="formState" :markdown-preview-path="markdownPreviewPath" :markdown-docs-path="markdownDocsPath" - :markdown-version="markdownVersion" :can-attach-file="canAttachFile" :enable-autocomplete="enableAutocomplete" /> diff --git a/app/assets/javascripts/notes.js b/app/assets/javascripts/notes.js index c3443c300e3..c9c01354333 100644 --- a/app/assets/javascripts/notes.js +++ b/app/assets/javascripts/notes.js @@ -1239,15 +1239,13 @@ export default class Notes { var postUrl = $originalContentEl.data('postUrl'); var targetId = $originalContentEl.data('targetId'); var targetType = $originalContentEl.data('targetType'); - var markdownVersion = $originalContentEl.data('markdownVersion'); this.glForm = new GLForm($editForm.find('form'), this.enableGFM); $editForm .find('form') .attr('action', `${postUrl}?html=true`) - .attr('data-remote', 'true') - .attr('data-markdown-version', markdownVersion); + .attr('data-remote', 'true'); $editForm.find('.js-form-target-id').val(targetId); $editForm.find('.js-form-target-type').val(targetType); $editForm diff --git a/app/assets/javascripts/notes/components/comment_form.vue b/app/assets/javascripts/notes/components/comment_form.vue index d669ba5a8fa..1d6cb9485f7 100644 --- a/app/assets/javascripts/notes/components/comment_form.vue +++ b/app/assets/javascripts/notes/components/comment_form.vue @@ -39,11 +39,6 @@ export default { type: String, required: true, }, - markdownVersion: { - type: Number, - required: false, - default: 0, - }, }, data() { return { @@ -342,7 +337,6 @@ Please check your network connection and try again.`; :markdown-preview-path="markdownPreviewPath" :markdown-docs-path="markdownDocsPath" :quick-actions-docs-path="quickActionsDocsPath" - :markdown-version="markdownVersion" :add-spacing-classes="false" >