Feature #20620
closedAdd data-text-formatting attribute for selected markup language to body tag
0%
Description
(I looked in trunk for a solution and in the issues for a request but couldn't find anything, I'm sorry if this is a duplicate or already solved)
We (plan.io) currently add 2 buttons to the wiki toolbar, one as described in #14937 and another from a plugin, which insert markup-sensitive content to the edited text. Those buttons are added from included javascript files, there currently is no easy way to find out which markup is selected from the js.
Knowing the markup used in the js would allow setting the correct markup/function for the added buttons directly in the js.
While there are a few other possibilities to achieve this (load different js files from the plugins depending on the selected markup, this adds complexity on the js side either because of duplication, loading 2 files for the markup-specific and common code, and so on).
The simplest change we could come up with would be to add a line similar to:
javascript_tag("var wikiMarkup = 'textile';") +
to source:/tags/3.1.0/lib/redmine/wiki_formatting/textile/helper.rb#L35, the same for markdown.
Is this something that could be added to Redmine, or how should markup-dependent javascript be handled? Thanks.
Files
Updated by Felix Schäfer over 9 years ago
Whoops, seems I used opening instead of closing tags at the end of the code line, sorry (which also shows how the code button proposed in #14937 could be helpful :-) )
Updated by Etienne Massip over 9 years ago
This should not be done in a specific markup helper.
This should not be a global variable, could be stored e.g. as a data-markup-language
attribute on textarea
component.
Updated by Felix Schäfer over 9 years ago
Thanks for correcting the description.
A data attribute on text areas would probably work too.
Updated by Go MAEDA about 1 year ago
Since the text formatting is set at the application level, not per textarea, I think adding a new attribute to 'body' is enough.
diff --git a/app/views/layouts/base.html.erb b/app/views/layouts/base.html.erb
index bcd6622a7..16a640267 100644
--- a/app/views/layouts/base.html.erb
+++ b/app/views/layouts/base.html.erb
@@ -17,7 +17,7 @@
<!-- page specific tags -->
<%= yield :header_tags -%>
</head>
-<body class="<%= body_css_classes %>">
+<body class="<%= body_css_classes %>" data-text-formatting="<%= Setting.text_formatting %>">
<%= call_hook :view_layouts_base_body_top %>
<div id="wrapper">
Updated by Go MAEDA about 1 year ago
- File 20620.patch 20620.patch added
Here is a patch to introduce a data-text-formatting
attribute to the <body>
tag.
Updated by Felix Schäfer about 1 year ago
Thank you. I think this should also be helpful for our use-case.
We look forward to this being added to core Redmine.
Updated by Go MAEDA about 1 year ago
- Subject changed from Add javascript variable for selected markup language to Add data-text-formatting attribute for selected markup language to body tag
- Target version set to 6.0.0
Setting the target version to 6.0.0.
Updated by Go MAEDA about 1 year ago
- Status changed from New to Closed
- Assignee set to Go MAEDA
- Resolution set to Fixed
Committed the patch in r22472.