swagger-api / swagger-ui

Swagger UI is a collection of HTML, JavaScript, and CSS assets that dynamically generate beautiful documentation from a Swagger-compliant API.
https://swagger.io
Apache License 2.0
26.63k stars 8.96k forks source link

fix(css): Restore paragraph spacing in parameter descriptions and response descriptions #10158

Open hkosova opened 1 month ago

hkosova commented 1 month ago

Description

See the before/after screenshots. The issue was that multi-paragraph descriptions in parameters and responses had no space between the paragraphs. (But operation descriptions have proper paragraph spacing.)

I tracked down the issue to these rules:

https://github.com/swagger-api/swagger-ui/blob/d1111837388816f0b68f27a1a0d6a6f37841b697/src/style/_table.scss#L105-L106

https://github.com/swagger-api/swagger-ui/blob/d1111837388816f0b68f27a1a0d6a6f37841b697/src/style/_table.scss#L191-L192

which override the default spacing from: https://github.com/swagger-api/swagger-ui/blob/d1111837388816f0b68f27a1a0d6a6f37841b697/src/style/_markdown.scss#L1-L3

The two abovementioned rules were added in #8214 to fix vertical misalignment of description text compared to other columns.

I think replacing a blanket margin: 0 with a more specific margin-top: 0 applicable only to the 1st paragraph of a block will both fix the paragraph spacing issue AND maintain the fix for #8214.

Motivation and Context

Improve readability of multi-paragraph descriptions.

How Has This Been Tested?

Tested manually by comparing the visual appearance in the online demo (petstore.swagger.io) and in the local build.

Screenshots (if appropriate):

Before After
Multi-paragraph parameter description before the fix Multi-paragraph parameter description after the fix
Multi-paragraph response description before the fix Multi-paragraph response description after the fix

Checklist

My PR contains...

My changes...

Documentation

Automated tests