Uh oh!
There was an error while loading. Please reload this page.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I dont think we should do this (making it string) We might want to check if this was working before and fix the root cause in TerminalBlock component. This component is in a lot of places.
Uh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for your comment, you are right to ask about the root cause and implications of this component being used in a lot of places so I've done more research into this.
not a bug but a feature ?
Actually it seems to be a feature of a markdown plugin that's causing this.
The plugin name is "retext-smartypants" and is implementing the smartypants syntax which transforms :
The text inside the component gets treated as normal text because it's not put between {` `} or {" "} so it modifies the string before it gets to the TerminalBlock component.
Disabling this feature of the plugin might not be an option as this feature seem to be used in normal text across the docs.
Fast and Simple Solution
Putting the code between {` `} or {" "} makes the component receive the raw string.
This change doesn't need to be done everywhere, only when needed like here.
Using {` `} or {" "} or {' '} is something common in React's JSX syntax (the docs are written in MDX which is based on JSX) used for making sure certain characters are escaped when used as childrens of a component or html tag.
Alternative solution
The other alternative is to stop using the component directly but rather use markdown code blocks :
```bash
```
and maybe configure mdx to replace every code block with the TerminalBlock component. But this can require a lot more effort and impact many other pages.
Uh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
tldr :
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah the fix makes sense, we can fix it in terminal block if needed later