davidmerfield / Typeset

An HTML pre-proces­sor for web ty­pog­ra­phy
https://typeset.lllllllllllllllll.com/
Creative Commons Zero v1.0 Universal
2.41k stars 52 forks source link

Typeset removing closing slash on void (singleton) elements #71

Open rootwork opened 3 years ago

rootwork commented 3 years ago

Void elements, or singletons, like img, hr, br and others contain a closing forward slash in (X)HTML validation, e.g. <img src="foo.jpg" />.

When Typeset processes content with HTML, it is removing those closing slashes, e.g. rendering the above as <img src="foo.jpg">.

Closing slashes are of course optional, but:

a) I don't think Typeset should be messing with tag syntax in the first place. b) In HTML emails, using closing slashes is recommended for cross-email compatibility in all their crappy rendering engines. c) In my case, I'm using MJML, which uses void/singleton elements for things like mj-image -- and in that case a tag without a closing slash isn't valid.

My specific use might be an edge case, but I'm sure I'm not the only one formatting HTML emails.

Can Typeset avoid changing HTML tags?

rootwork commented 3 years ago

Oh, also -- this doesn't seem to happen with only "optically align letters" turned on. But with small caps, hanging punctuation, etc. it does change the tags.

davidmerfield commented 3 years ago

This is definitely a bug – I don't have an immediate hunch as to the source of the issue but I will fix this!

rootwork commented 3 years ago

Thank you! I really appreciate it.

danielhaim1 commented 1 year ago

@rootwork v0.3.4 will fix this issue.