-
-
Notifications
You must be signed in to change notification settings - Fork 1.5k
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
Document that compressHTML
doesn't remove all whitespace
#7502
Comments
As far as I know, this is intended, |
Isn't it already changing the visual output by removing indentation? In any case, the current documentation is misleading. And it would be useful to still have at least an opt-in mode where all whitespace is collapsed (similar to JSX). Currently this does not seem achievable even with a Vite plugin ( |
No (well it's not supposed to at least?), because spaces in this context always get collapsed to one. That's why Prettier formats <span>
Something
</span> into <span> Something </span> because they end up with the same visual result, since the number of whitespace doesn't matter.
I agree, that'd be cool! Essentially turning the HTML into JSX, ha. |
Moving this issue to docs, since it's a docs issue in the end. It should be documented that |
@mayank99 Feel free to create a roadmap discussion https://github.com/withastro/roadmap/discussions with the |
compressHTML
doesn't remove all whitespacecompressHTML
doesn't remove all whitespace
Yeah, that makes sense to me. Thanks for the quick response Edit: created discussion withastro/roadmap#868 |
Worth also noting that the prettier plugin will sometimes forcibly insert meaningful whitespace, by breaking up long lines. (If there was a way to trim whitespace, it wouldn't be an issue) |
Thanks for the discussion here! Would be happy if someone wanted to make a PR to adjust the wording per Erika's note that
The change must be made here (in the main astro repo): And maybe update the content to something like:
|
Just pinging that we've got a good first issue here we'd still be happy if someone took on! Described what to do in the post above! |
@sarah11918 Id be willing to update this section of the docs later today if no one else has taken it on. |
@Dillonpw I don't believe anyone is on it! If you don't see a Docs PR for it, then please do go ahead. Thank you so much! 🚀 |
This one was closed by the above PR! |
I feel like the updated documentation is still insufficient and misleading. I mentioned earlier that the formatter can forcibly insert whitespace against the author's will. I've been able to work around it is using |
OK, so not just "fail to remove" some whitespace, but actually "add unexpected" whitespace? If the comment were updated to include that idea, would that be sufficient?
Just checking here which plugin: the Prettier plugin itself or Astro's plugin? (If Prettier, does it do this in non-Astro projects? Is this specifically a "how Prettier interacts with Astro" thing?) |
If I understand @mayank99 correctly the issue is in two places:
|
Yeah it's a I'm not sure what the best way to document this would be, but yeah a brief mention would be nice. |
Astro Info
Describe the Bug
Newlines are left as real whitespace in the HTML output, instead of being removed.
Input
results in this output:
which looks like "A B C" when rendered (instead of "ABC").
The documentation says:
It looks like this behavior might have changed in withastro/astro#7556 / compiler#816?
What's the expected result?
All whitespace should be collapsed, like the documentation says.
e.g. this should be the output:
If real whitespace is desired, it can always be manually added using
{" "}
. This makes the behavior more predictable.If the current behavior is intentional, then it should be documented correctly.
I can also see valid uses for both scenarios. Maybe there should be a third mode for
compressHTML
? Or an option similar tohtml-minifier
's "Collapse whitespace" and "Collapse inline tag whitespace"Link to Minimal Reproducible Example
https://stackblitz.com/edit/github-zwd8ub?file=src%2Fpages%2Findex.astro
Participation
The text was updated successfully, but these errors were encountered: