Uploaded image for project: 'Markdown Syntax'
  1. Markdown Syntax
  2. MARKDOWN-93

Content inside HTML tags on their own lines is lost when editing a Markdown page with the WYSIWYG editor

    XMLWordPrintable

Details

    • Bug
    • Resolution: Unresolved
    • Major
    • None
    • 8.2
    • markdown/1.2
    • None
    • Unknown

    Description

      Steps to reproduce:

      1. Create a page in the markdown/1.2 syntax with the content:
        before
        
        <div class="red">
        
        *x*
        
        </div>
        
        after
        
      2. Edit the page with the WYSIWYG editor and save it without changes

      Expected: the content is unchanged.
      Actual: the content becomes the following, so the paragraph inside the div and the closing </div> are lost:

      before
      
      <div class="red">
      
      after
      

      Cause: each HTML block is parsed as its own html macro (clean=false), so the opening <div class="red"> and the closing </div> become two unbalanced macros, with the Markdown content as normal blocks between them. The WYSIWYG editor can't round-trip an unbalanced <div>.

      Possible solution: parse the whole <div>…</div> block, content included, into a single html macro with clean=false, and render that macro back as the <div> block in Markdown.

      For <div>, fixed by MARKDOWN-56 (8.10.0): a <div> whose opening and closing tags are each alone in their HTML block, balanced at the same nesting level, is now parsed as a Group. The problem remains for other HTML tags written the same way (e.g. <details>, <section>), and for <div> s that don't follow that form.

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              vmassol Vincent Massol
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

                Created:
                Updated: