With Hugo 0.48, we were using code markdown file like below:
<textarea class="installation-pre-code">
# set cluster-name to something meaningful to you, say, prod, prod-us-east, qa, etc.
# so that you can distinguish notifications sent by kubed
$ curl -fsSL https://raw.githubusercontent.com/appscode/kubed/0.9.0/hack/deploy/kubed.sh \
| bash -s -- --cluster-name=your-cluster-name
</textarea>
Hugo will leave the inner text unchanged. Today I updated Hugo to v0.55.3-993B8433 and it seems that the inner text is now converted into HTML. This is what it produces:
<textarea class="installation-pre-code"></p>
<h1 id="set-cluster-name-to-something-meaningful-to-you-say-prod-prod-us-east-qa-etc">set cluster-name to something meaningful to you, say, prod, prod-us-east, qa, etc.</h1>
<h1 id="so-that-you-can-distinguish-notifications-sent-by-kubed">so that you can distinguish notifications sent by kubed</h1>
<p>$ curl -fsSL <a href="https://raw.githubusercontent.com/appscode/kubed/0.9.0/hack/deploy/kubed.sh">https://raw.githubusercontent.com/appscode/kubed/0.9.0/hack/deploy/kubed.sh</a> <br />
| bash -s – –cluster-name=your-cluster-name
</textarea>
How do I go back to previous output? Also, is there a way to know what things are changed in backward incompatible manner with every release? I am scared to update Hugo because when I try to update hugo binary every 6 months or so there are various silent breakage. I understand it is not 1.0. But some kind of warning will be great. It is very hard to find broken html pages automatically.
In Hugo 0.55.3 I get this output from your code snippet
<p><textarea class="installation-pre-code"></p>
<h1 id="set-cluster-name-to-something-meaningful-to-you-say-prod-prod-us-east-qa-etc">set cluster-name to something meaningful to you, say, prod, prod-us-east, qa, etc.</h1>
<h1 id="so-that-you-can-distinguish-notifications-sent-by-kubed">so that you can distinguish notifications sent by kubed</h1>
<p>$ curl -fsSL <a href="https://raw.githubusercontent.com/appscode/kubed/0.9.0/hack/deploy/kubed.sh">https://raw.githubusercontent.com/appscode/kubed/0.9.0/hack/deploy/kubed.sh</a> <br />
| bash -s – –cluster-name=your-cluster-name
</textarea></p>
Which is different than what you reported.
Note that you may want to wrap your code snippet in three back ticks to preserve its formatting, as in
```
# set cluster-name to something meaningful to you, say, prod, prod-us-east, qa, etc.
# so that you can distinguish notifications sent by kubed
$ curl -fsSL https://raw.githubusercontent.com/appscode/kubed/0.9.0/hack/deploy/kubed.sh \
| bash -s -- --cluster-name=your-cluster-name
```
You need to read the release notes. We try to create WARNINGs in the console for upcoming breakage, but that isn’t always possible and not effective when you go from, say, 0.43 to 0.55 in one go.
Also try to understand this: This is open source software, we do try to do the best job possible with the amount of time available. We don’t want to break stuff. Breaking stuff creates lots of noise and questions … and work.
According to BuiltWith there are now more than 40 000 live websites running Hugo. I’m not sure how accurate that number is, but I suspect there would be lots of more noise here and on GitHub if we introduced breaking changes all the time.
A quick tip at the end: If you have a site running fine on Hugo 0.40, that site will be running fine with 0.40 for decades.
I think you missed the problem I am having. The issue is that the inner text of the <textarea> is converted into HTML. It was not so in releases in 0.49.0 or before.
I am trying to update from 0.48.x to 0.55.0. The reason I try to update Hugo version is because one time I did not update for 1 yr and then the site will not compile when we wanted some the new features of Hugo.
The more general question is should the inner text of a <textarea> in a markdown file be compiled into HTML or should it be left as-is. What is the right behavior of Hugo and was this changed intentionally? If yes, was there any test case or reason for this?
@Bep, I understand this is open source and there is limited bandwidth. I don’t know how much e2e test is done before every minor release of Hugo. But may be one option will be to have simple websites whether the generated HTML is manually inspected before a minor release. May be this can be automated to generate warning for new prs. Just an idea.
Please don’t underestimate the amount of testing (both automatic and manual) that goes into a Hugo release. I’m closing this thread now. Please open another if you have more specific questions.