summaryrefslogtreecommitdiffstats
path: root/lib/redmine/wiki_formatting/common_mark/helper.rb
diff options
context:
space:
mode:
authorMarius Balteanu <marius.balteanu@zitec.com>2021-08-11 21:40:56 +0000
committerMarius Balteanu <marius.balteanu@zitec.com>2021-08-11 21:40:56 +0000
commit9af2ba2c13d2dc706bdf1387110c13b82175a0cf (patch)
treeeab705cebf67e7daaa30532a62dbdb1c8dfba205 /lib/redmine/wiki_formatting/common_mark/helper.rb
parentfe4d0d93da6f95408582e53b425e89fc40751f6f (diff)
downloadredmine-9af2ba2c13d2dc706bdf1387110c13b82175a0cf.tar.gz
redmine-9af2ba2c13d2dc706bdf1387110c13b82175a0cf.zip
Adds CommonMark Markdown (GitHub Flavored) as third text formatting option (#32424).
Patch by Jens Krämer. git-svn-id: http://svn.redmine.org/redmine/trunk@21156 e93f8b46-1217-0410-a6f0-8f06a7374b81
Diffstat (limited to 'lib/redmine/wiki_formatting/common_mark/helper.rb')
-rw-r--r--lib/redmine/wiki_formatting/common_mark/helper.rb57
1 files changed, 57 insertions, 0 deletions
diff --git a/lib/redmine/wiki_formatting/common_mark/helper.rb b/lib/redmine/wiki_formatting/common_mark/helper.rb
new file mode 100644
index 000000000..471835708
--- /dev/null
+++ b/lib/redmine/wiki_formatting/common_mark/helper.rb
@@ -0,0 +1,57 @@
+# frozen_string_literal: true
+
+# Redmine - project management software
+# Copyright (C) 2006-2021 Jean-Philippe Lang
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+
+module Redmine
+ module WikiFormatting
+ module CommonMark
+ module Helper
+ include Redmine::WikiFormatting::Markdown::Helper
+
+ def wikitoolbar_for(field_id, preview_url = preview_text_path)
+ heads_for_wiki_formatter
+ help_file = "/help/#{current_language.to_s.downcase}/wiki_syntax_common_mark.html"
+ # fall back to the english help page if there is none for the current
+ # language
+ unless File.readable? Rails.root.join("public", help_file)
+ help_file = "/help/en/wiki_syntax_common_mark.html"
+ end
+ url = "#{Redmine::Utils.relative_url_root}#{help_file}"
+ javascript_tag(
+ "var wikiToolbar = new jsToolBar(document.getElementById('#{field_id}')); " \
+ "wikiToolbar.setHelpLink('#{escape_javascript url}'); " \
+ "wikiToolbar.setPreviewUrl('#{escape_javascript preview_url}'); " \
+ "wikiToolbar.draw();"
+ )
+ end
+
+ # removes the 'underline' icon from the markdown toolbar since there
+ # is no such thing in CommonMark
+ def heads_for_wiki_formatter
+ unless @common_mark_heads_for_wiki_formatter_included
+ super
+ content_for :header_tags do
+ javascript_tag(%[delete jsToolBar.prototype.elements.ins;])
+ end
+ @common_mark_heads_for_wiki_formatter_included = true
+ end
+ end
+ end
+ end
+ end
+end