I feel the spec needs more consistency in which types of characters can be duplicated or separated by spaces. Here are some (hopefully illustrative) examples:
This is a regular header
========================
And here's another
------------------
### And yet another ###
But this isn't a header.
- - - - - - - - - - - -
# # # Nor is this # # #
########## NOR THIS ##########
Here is a long horizontal rule.
- - - - - - - - - - - - - - - -
And here's another.
** ** ** ** ** ** **
But
This is just a bunch of hashes
##############################
Bigger but still just octothorpes
# # # # # # # # # # # # # # # # #
Or an empty h6?
###### #######
A nice long header
------------------
And a nifty horizontal line
- -------------------------
Are just a simple typo apart.
I’m not sure what the right solution would be, but here are a few options (some of which may be mutually exclusive):
-
Allow more than 6
#
symbols in ATX-style headers (6 or more will produce anh6
). -
Don’t allow empty ATX headers.
- (Instead,) allow
#
to be used as a horizontal rule character.
- (Instead,) allow
-
Allow spaces between
-
s in Setext headers, and/or between#
s in ATX headers.