Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support HTML output #56

Open
bhollis opened this issue Sep 16, 2012 · 6 comments
Open

Support HTML output #56

bhollis opened this issue Sep 16, 2012 · 6 comments
Labels
Milestone

Comments

@bhollis
Copy link
Owner

bhollis commented Sep 16, 2012

Right now Maruku only produces XHTML output, but it should be able to produce HTML output instead.

@alexmarchant
Copy link

This would fix the self-closing div/iframe issues if I'm not mistaken?

@bhollis
Copy link
Owner Author

bhollis commented Feb 25, 2013

Hi Alex,

Could you explain the "self-closing div/iframe issues"? I'm not aware of them, and I don't think we have any tests for problems around divs or iframes, so if you have any examples I can make sure to fix that.

@distler
Copy link
Collaborator

distler commented Feb 25, 2013

If the input says <div></div>, Nokogiri serializes this to <div/>. Which is perfectly equivalent, when interpreted as XHTM, but means something radically different (an opening div tag, with no corresponding closing tag), when interpreted as HTML.

Ideally, an HTML5-aware serializer would be smarter about this (knowing that only "void" elements can have self-closing tags).

  • <img/> is perfectly valid HTML5, and means the same thing as it does in XHTML
  • <iframe/> is not valid HTML5, and should be written as <iframe></iframe> (which will be interpreted correctly, either in HTML or XHTML).

@alexmarchant
Copy link

inline-html = '<div></div>
<iframe src="http://www.google.com"></iframe>'

 => "<div></div>\n<iframe src=\"http://www.google.com\"></iframe>" 

Maruku.new(inline-html).to_html

 => "<div /><iframe src='http://www.google.com' />"

I believe self closing div's and several other elements are valid XHTML but not HTML and this causes issues in the browsers I've used. Adding empty space between the elements (i.e. <div> </div>) fixes the problem.

@bhollis
Copy link
Owner Author

bhollis commented Feb 25, 2013

OK, in that case yes, when HTML output is added, it should support this (by virtue of Nokogiri doing the right thing).

@robwierzbowski
Copy link

+1. The current Maruku (REXML, really) also chokes on html attributes without values.

<span data-myattribute>I cause an `malformed XML: missing tag start` REXML error</span>

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

4 participants