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

fix(styles) restore wrapping of long text in pre blocks #6377

Merged
merged 2 commits into from
Sep 10, 2020

Conversation

scottohara
Copy link
Contributor

Description

Adds overflow-wrap: break-word to <pre> blocks in markdown.

Motivation and Context

In Swagger UI version 3.24.1 (November 2019) a CSS change was made to _layout.scss that added the .microlight class to the .opblock-body pre selector. (#5673)

Prior to this change, a <pre> block in an operation description that contained long text content with no spaces or other natural break points would automatically wrap onto new lines, because the .opblock-body pre selector (now .opblock-body pre.microlight) includes overflow-wrap: break-word.

After the above change, this CSS selector no longer applies to <pre> blocks in the description, causing long unbroken text to overflow out of the right edge of the container.

(see screenshots below for before & after).

This change adds the overflow-wrap: break-word style to the .markdown pre and .renderedMarkdown pre selectors, to restore the previous wrapping behaviour for long unbroken text to what it was prior to v3.24.1.

How Has This Been Tested?

Manually tested in local dev environment by loading an API definition with a long unbroken <pre> block, and visually confirmed the wrapping before and after the change (see screenshots).

Screenshots (if appropriate):

How it currently appears since v3.24.1 and prior to merging this PR:
2A90DCDA-0633-4D04-89D7-DBE8270C5845

How it previously appeared prior to v3.24.1, and how it will appear after merging this PR:
6423B755-E85B-4D5A-8E4E-87B2ED96803A

Checklist

My PR contains...

  • No code changes (src/ is unmodified: changes to documentation, CI, metadata, etc.)
  • Dependency changes (any modification to dependencies in package.json)
  • Bug fixes (non-breaking change which fixes an issue)
  • Improvements (misc. changes to existing features)
  • Features (non-breaking change which adds functionality)

My changes...

  • are breaking changes to a public API (config options, System API, major UI change, etc).
  • are breaking changes to a private API (Redux, component props, utility functions, etc.).
  • are breaking changes to a developer API (npm script behavior changes, new dev system dependencies, etc).
  • are not breaking changes.

Documentation

  • My changes do not require a change to the project documentation.
  • My changes require a change to the project documentation.
  • If yes to above: I have updated the documentation accordingly.

Automated tests

  • My changes can not or do not need to be tested.
  • My changes can and should be tested by unit and/or integration tests.
  • If yes to above: I have added tests to cover my changes.
  • If yes to above: I have taken care to cover edge cases in my tests.
  • All new and existing tests passed.

@tim-lai tim-lai merged commit 26a0fd8 into swagger-api:master Sep 10, 2020
@tim-lai
Copy link
Contributor

tim-lai commented Sep 10, 2020

@scottohara Merged! Thanks for the contribution!

@scottohara scottohara deleted the fix-markdown-pre-wrapping branch September 10, 2020 21:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants