[ 
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)

Reply via email to