[
https://issues.apache.org/jira/browse/JSPWIKI-684?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
ASF GitHub Bot updated JSPWIKI-684:
-----------------------------------
Labels: pull-request-available (was: )
> Improper interpretation of nested wiki plugin syntax in WYSIWYG mode
> --------------------------------------------------------------------
>
> Key: JSPWIKI-684
> URL: https://issues.apache.org/jira/browse/JSPWIKI-684
> Project: JSPWiki
> Issue Type: Bug
> Components: Editors
> Affects Versions: 2.8.3
> Reporter: Kannan
> Priority: Major
> Labels: pull-request-available
>
> When using FCK editor(WYSIWYG mode) of JSPWiki and using an integrated
> plugin, Table plugin especially, results in an improper formatting of the
> table and also the original edited content of the plugin changed henceforth.
> This occurs only when the plugin is being used with a nested plugin syntax:
> [{Table style='border:3px solid #cccccc;'
> |(text-align:center;font-weight:bold; background:#cccccc;) Hi dear Wiki.
> |<
> |<
> | Date: [{CurrentTimePlugin format='dd:MMM:yyyy'}]
> |Time: [{CurrentTimePlugin format='hh:mm:ss'}]
> | This page: [{$pagename}]
> | [{Table | Nested table | Nested table | Nested table | Nested table }]
> |<
> |< }]
> The above example would not be formatted as expected in WYSIWYG mode and the
> content would also be changed to:
> [{Table style='border:3px solid #cccccc;'
> |(text-align:center;font-weight:bold; background:#cccccc;) Hi dear Wiki.
> |<
> |<
> | Date: [{CurrentTimePlugin format='dd:MMM:yyyy'}] \\ \\|Time:
> [{CurrentTimePlugin format='hh:mm:ss'}] \\ \\| This page:
> [{$pagename}] \\ \\| [{Table | Nested table | Nested table | Nested table |
> Nested table }] \\ \\|< \\ \\|< }]
> after update.
> This is because of the html to wiki markup conversion of WYSIWYG. The issue
> persists in the html element to wiki markup conversion of WYSIWYG in the
> JSPWiki engine. Two backslashes "\\" (a line break in wiki) would be
> introduced for a `<br/>' tag. Though in the final flush stage it would be
> replaced to `\n', the issue persists. This is because the plugin text is
> matched via the regex:
> <snip>
> "\\{\\{\\{(.*?)\\}\\}\\}|\\{\\{(.*?)\\}\\}|\\[\\{(.*?)\\}\\]"
> </snip>
> and this regex can't handle recursive wiki plugin syntax as quoted in the
> example above and would not match the whole wiki content.
> So, the translation would occur for all of the WYSIWYG editor content, but
> the replacement of backslashes could occur only partially and hence the
> backslashes(introduced by the html to wiki translator) could not be replaced
> into `\n' as required and hence we get `\\' between the wiki text. Hence, in
> the table plugin example quote we get `\\' between content owing to nested
> plugin usage.
> The same nested syntax problem exists for the pre-formatted text syntax of
> wiki `{{{' and `{{' too. FWIW, all these would work out of the box with plain
> editor.
--
This message was sent by Atlassian Jira
(v10.3.26#10030026)