[GH-ISSUE #504] MD022: Allow configuration of surrounding blank lines per heading level #412

Closed
opened 2026-03-03 01:26:41 +03:00 by kerem · 1 comment
Owner

Originally created by @lud on GitHub (Mar 1, 2022).
Original GitHub issue: https://github.com/DavidAnson/markdownlint/issues/504

So we could be able to customize the layout of the markdonw file for readability. It is a way to mimic the line-height of headings in HTML.

The options would allow to configure how much blank lines we want before and after headings, just as the current implementation, but also to override that setting for specific headings levels, like h2.

For instance, here is a configuration that gives a nice layout (to my personal taste of course):

  • 2 blank lines below h1
  • 3 blank lines above h2, 2 below
  • 1 blank line above / below lower levels

What do you think?

# Lorem ipsum dolor sit amet 


Consectetur adipiscing elit. Duis condimentum facilisis ligula, ut condimentum
nisl sodales quis. Etiam posuere, ex a fermentum hendrerit, tellus enim bibendum
erat, ut accumsan elit urna quis eros. Morbi id augue ullamcorper, tempus tellus
ut, porttitor velit. Fusce tempor, nisl et mattis fringilla, libero erat mollis
ligula, et laoreet enim velit eget neque. In ac tempor eros. Nullam sapien
sapien, tincidunt et neque ac, congue elementum sem. Sed lorem velit, dapibus
sit amet elit ornare, lacinia rhoncus purus. Etiam laoreet pellentesque lorem,
quis faucibus erat rutrum nec. Duis quis dictum ipsum, id tincidunt nisl. Donec
ut felis lobortis, ultricies arcu eget, aliquet nisl. Pellentesque habitant
morbi tristique senectus et netus et malesuada fames ac turpis egestas. Etiam
malesuada odio massa, at lacinia sapien ullamcorper auctor. Fusce urna augue,
tempor sit amet varius et, laoreet egestas ante. Nulla facilisi. Aenean ultrices
nunc vel orci pharetra congue.



## Proin sed aliquet dolor


Cras semper finibus lectus et rhoncus. Integer mauris tortor, vestibulum a
placerat in, suscipit non lorem. Praesent tincidunt sodales cursus. Vestibulum
luctus ipsum nunc, vitae vehicula est tincidunt nec. Aliquam malesuada nibh eget
nisi lobortis laoreet. Praesent quis lectus quis ante convallis euismod vitae
vulputate lacus.

###  Phasellus vel urna aliquam

Ultricies tellus et, eleifend nunc. Mauris ut dui felis. Nulla volutpat egestas
lacus, sed commodo risus tempor eget. Nunc interdum eget urna eget convallis.
Phasellus porttitor eros et placerat cursus.  Nunc tristique enim vel fringilla
sodales. Phasellus quis metus sem. Sed tempus eu turpis eu blandit. Ut aliquet
ligula risus, ut fermentum urna volutpat tincidunt. Nullam ligula quam, maximus
non massa aliquet, scelerisque lacinia purus. Vestibulum ante ipsum primis in
faucibus orci luctus et ultrices posuere cubilia curae; Donec congue id ipsum
quis mattis. Maecenas in lorem lacus.

Iaculis auctor nisi consequat malesuada. Nullam rutrum diam eget tellus
pellentesque, vitae iaculis enim posuere. Nam non malesuada dolor.  Fusce
ornare, ligula vel gravida aliquam, arcu ligula pharetra lectus, sed tempus
risus ex a dolor. In feugiat facilisis consequat. Fusce dapibus neque vitae erat
lacinia, eget dignissim justo accumsan. Morbi vel semper tortor.  Vestibulum id
pellentesque felis. Nam tempus faucibus enim, et faucibus metus vulputate et.
Phasellus consectetur justo eu ex ornare facilisis.

### Donec vestibulum mi feugiat

Vulputate nibh nec, scelerisque elit. Ut facilisis ullamcorper commodo. Cras
justo nulla, suscipit vel mauris mollis, rhoncus venenatis ex. Donec pretium sed
orci eget rhoncus. Vestibulum rhoncus dapibus nulla facilisis consequat.
Vestibulum volutpat sem metus, vel maximus lectus semper id. Aliquam eu dolor a
nibh vulputate semper. Sed feugiat ligula eros, quis ultricies leo sagittis
eget. Aenean bibendum egestas neque eget pulvinar. Vivamus mauris sem, volutpat
et ipsum et, aliquam egestas magna. Aliquam facilisis neque vestibulum ultrices
finibus. Integer diam elit, imperdiet ut lacus eget, varius vulputate urna.
Interdum et malesuada fames ac ante ipsum primis in faucibus. Nunc suscipit orci
fringilla, mollis est sed, posuere eros. Nam et nisi sit amet erat dictum
feugiat. Ut in blandit magna.



## Interdum et malesuada fames


Ac ante ipsum primis in faucibus. Proin nec nibh et eros rutrum pharetra et sit
amet metus. Integer suscipit lorem et leo vestibulum vulputate. Aliquam eu quam
sed sem sodales ullamcorper. Integer nec justo libero. Cras varius fringilla
imperdiet. Donec ornare ligula est, nec tempor est fermentum aliquam. In hac
habitasse platea dictumst. Aliquam elementum neque vitae libero fringilla, at
lacinia erat iaculis. Nullam mauris elit, condimentum vel urna non, mollis
rhoncus dui. Morbi ut massa ac tortor congue porta ut id velit. Sed feugiat
metus nec ligula euismod mattis ac eu mauris. Praesent eu lacus dui. In maximus
mauris eu dui lacinia, a sagittis arcu mattis.

### Aliquam erat volutpat. 

Integer vulputate molestie arcu at posuere. Integer blandit, urna ac molestie
ultricies, lorem erat egestas metus, id euismod enim lorem sed nulla. Aenean
viverra rutrum magna sed maximus. Mauris a elit eget nibh aliquet gravida quis
at lorem. Quisque hendrerit neque sed justo tempor, commodo maximus lorem
aliquam. Sed at viverra lectus. Suspendisse vestibulum eleifend nulla, non
vulputate dui maximus sed. Phasellus felis metus, tempus sed turpis eu, sodales
fringilla orci. Sed quis hendrerit mauris.

### Phasellus tincidunt mattis dapibus

In scelerisque dapibus venenatis. Quisque a lacus consectetur, tristique eros
vel, rhoncus massa. Curabitur dignissim lacus nec imperdiet semper. Cras ac
fringilla risus. Morbi ornare convallis tellus, eu feugiat ipsum tincidunt in.
Integer finibus massa nec odio vehicula, vitae egestas dui congue. Aliquam
efficitur rhoncus convallis. Vestibulum varius sed mi id interdum. Phasellus
euismod ante mauris, vel eleifend nunc condimentum vel. Aliquam rutrum lacus
eget cursus laoreet. Curabitur maximus ultricies porta. Nam eget vehicula
lectus. Duis vel mauris risus. Sed rhoncus, felis quis blandit rutrum, diam arcu
tempus lectus, eu sollicitudin velit magna et velit. Fusce tempor imperdiet
vestibulum.



## Integer pulvinar


Curabitur feugiat metus vitae lorem finibus accumsan. Sed tincidunt urna dui,
vitae imperdiet ante molestie eget. Suspendisse in nisi in ex pretium aliquet.
Integer purus lacus, semper vitae mollis sed, efficitur at purus. Suspendisse
sit amet ultrices enim. Suspendisse tellus ligula, dapibus nec efficitur quis,
posuere eget ligula. In sit amet accumsan mauris. Fusce a ornare purus. Mauris
laoreet dapibus massa a efficitur. Vestibulum lobortis sodales sapien, a
sagittis leo sollicitudin et.

Quisque rutrum cursus nulla. Praesent et nibh quis nibh placerat dignissim sed
et metus. Aenean feugiat est vitae massa vehicula tempor. Vivamus condimentum
nunc non magna congue, id pellentesque leo gravida. Praesent viverra
sollicitudin eros eget posuere.
Originally created by @lud on GitHub (Mar 1, 2022). Original GitHub issue: https://github.com/DavidAnson/markdownlint/issues/504 So we could be able to customize the layout of the markdonw file for readability. It is a way to mimic the line-height of headings in HTML. The options would allow to configure how much blank lines we want before and after headings, just as the current implementation, but also to override that setting for specific headings levels, like `h2`. For instance, here is a configuration that gives a nice layout (to my personal taste of course): * 2 blank lines below `h1` * 3 blank lines above `h2`, 2 below * 1 blank line above / below lower levels What do you think? ```markdown # Lorem ipsum dolor sit amet Consectetur adipiscing elit. Duis condimentum facilisis ligula, ut condimentum nisl sodales quis. Etiam posuere, ex a fermentum hendrerit, tellus enim bibendum erat, ut accumsan elit urna quis eros. Morbi id augue ullamcorper, tempus tellus ut, porttitor velit. Fusce tempor, nisl et mattis fringilla, libero erat mollis ligula, et laoreet enim velit eget neque. In ac tempor eros. Nullam sapien sapien, tincidunt et neque ac, congue elementum sem. Sed lorem velit, dapibus sit amet elit ornare, lacinia rhoncus purus. Etiam laoreet pellentesque lorem, quis faucibus erat rutrum nec. Duis quis dictum ipsum, id tincidunt nisl. Donec ut felis lobortis, ultricies arcu eget, aliquet nisl. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Etiam malesuada odio massa, at lacinia sapien ullamcorper auctor. Fusce urna augue, tempor sit amet varius et, laoreet egestas ante. Nulla facilisi. Aenean ultrices nunc vel orci pharetra congue. ## Proin sed aliquet dolor Cras semper finibus lectus et rhoncus. Integer mauris tortor, vestibulum a placerat in, suscipit non lorem. Praesent tincidunt sodales cursus. Vestibulum luctus ipsum nunc, vitae vehicula est tincidunt nec. Aliquam malesuada nibh eget nisi lobortis laoreet. Praesent quis lectus quis ante convallis euismod vitae vulputate lacus. ### Phasellus vel urna aliquam Ultricies tellus et, eleifend nunc. Mauris ut dui felis. Nulla volutpat egestas lacus, sed commodo risus tempor eget. Nunc interdum eget urna eget convallis. Phasellus porttitor eros et placerat cursus. Nunc tristique enim vel fringilla sodales. Phasellus quis metus sem. Sed tempus eu turpis eu blandit. Ut aliquet ligula risus, ut fermentum urna volutpat tincidunt. Nullam ligula quam, maximus non massa aliquet, scelerisque lacinia purus. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae; Donec congue id ipsum quis mattis. Maecenas in lorem lacus. Iaculis auctor nisi consequat malesuada. Nullam rutrum diam eget tellus pellentesque, vitae iaculis enim posuere. Nam non malesuada dolor. Fusce ornare, ligula vel gravida aliquam, arcu ligula pharetra lectus, sed tempus risus ex a dolor. In feugiat facilisis consequat. Fusce dapibus neque vitae erat lacinia, eget dignissim justo accumsan. Morbi vel semper tortor. Vestibulum id pellentesque felis. Nam tempus faucibus enim, et faucibus metus vulputate et. Phasellus consectetur justo eu ex ornare facilisis. ### Donec vestibulum mi feugiat Vulputate nibh nec, scelerisque elit. Ut facilisis ullamcorper commodo. Cras justo nulla, suscipit vel mauris mollis, rhoncus venenatis ex. Donec pretium sed orci eget rhoncus. Vestibulum rhoncus dapibus nulla facilisis consequat. Vestibulum volutpat sem metus, vel maximus lectus semper id. Aliquam eu dolor a nibh vulputate semper. Sed feugiat ligula eros, quis ultricies leo sagittis eget. Aenean bibendum egestas neque eget pulvinar. Vivamus mauris sem, volutpat et ipsum et, aliquam egestas magna. Aliquam facilisis neque vestibulum ultrices finibus. Integer diam elit, imperdiet ut lacus eget, varius vulputate urna. Interdum et malesuada fames ac ante ipsum primis in faucibus. Nunc suscipit orci fringilla, mollis est sed, posuere eros. Nam et nisi sit amet erat dictum feugiat. Ut in blandit magna. ## Interdum et malesuada fames Ac ante ipsum primis in faucibus. Proin nec nibh et eros rutrum pharetra et sit amet metus. Integer suscipit lorem et leo vestibulum vulputate. Aliquam eu quam sed sem sodales ullamcorper. Integer nec justo libero. Cras varius fringilla imperdiet. Donec ornare ligula est, nec tempor est fermentum aliquam. In hac habitasse platea dictumst. Aliquam elementum neque vitae libero fringilla, at lacinia erat iaculis. Nullam mauris elit, condimentum vel urna non, mollis rhoncus dui. Morbi ut massa ac tortor congue porta ut id velit. Sed feugiat metus nec ligula euismod mattis ac eu mauris. Praesent eu lacus dui. In maximus mauris eu dui lacinia, a sagittis arcu mattis. ### Aliquam erat volutpat. Integer vulputate molestie arcu at posuere. Integer blandit, urna ac molestie ultricies, lorem erat egestas metus, id euismod enim lorem sed nulla. Aenean viverra rutrum magna sed maximus. Mauris a elit eget nibh aliquet gravida quis at lorem. Quisque hendrerit neque sed justo tempor, commodo maximus lorem aliquam. Sed at viverra lectus. Suspendisse vestibulum eleifend nulla, non vulputate dui maximus sed. Phasellus felis metus, tempus sed turpis eu, sodales fringilla orci. Sed quis hendrerit mauris. ### Phasellus tincidunt mattis dapibus In scelerisque dapibus venenatis. Quisque a lacus consectetur, tristique eros vel, rhoncus massa. Curabitur dignissim lacus nec imperdiet semper. Cras ac fringilla risus. Morbi ornare convallis tellus, eu feugiat ipsum tincidunt in. Integer finibus massa nec odio vehicula, vitae egestas dui congue. Aliquam efficitur rhoncus convallis. Vestibulum varius sed mi id interdum. Phasellus euismod ante mauris, vel eleifend nunc condimentum vel. Aliquam rutrum lacus eget cursus laoreet. Curabitur maximus ultricies porta. Nam eget vehicula lectus. Duis vel mauris risus. Sed rhoncus, felis quis blandit rutrum, diam arcu tempus lectus, eu sollicitudin velit magna et velit. Fusce tempor imperdiet vestibulum. ## Integer pulvinar Curabitur feugiat metus vitae lorem finibus accumsan. Sed tincidunt urna dui, vitae imperdiet ante molestie eget. Suspendisse in nisi in ex pretium aliquet. Integer purus lacus, semper vitae mollis sed, efficitur at purus. Suspendisse sit amet ultrices enim. Suspendisse tellus ligula, dapibus nec efficitur quis, posuere eget ligula. In sit amet accumsan mauris. Fusce a ornare purus. Mauris laoreet dapibus massa a efficitur. Vestibulum lobortis sodales sapien, a sagittis leo sollicitudin et. Quisque rutrum cursus nulla. Praesent et nibh quis nibh placerat dignissim sed et metus. Aenean feugiat est vitae massa vehicula tempor. Vivamus condimentum nunc non magna congue, id pellentesque leo gravida. Praesent viverra sollicitudin eros eget posuere. ```
kerem 2026-03-03 01:26:41 +03:00
Author
Owner

@DavidAnson commented on GitHub (Mar 1, 2022):

Possible implementation: https://github.com/DavidAnson/markdownlint/issues/503#issuecomment-1051109028

<!-- gh-comment-id:1055641068 --> @DavidAnson commented on GitHub (Mar 1, 2022): Possible implementation: https://github.com/DavidAnson/markdownlint/issues/503#issuecomment-1051109028
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/markdownlint#412
No description provided.