markdownlint icon indicating copy to clipboard operation
markdownlint copied to clipboard

Proposed rule: enforce typography

Open flodolo opened this issue 8 years ago • 5 comments
trafficstars

Here's a few checks that I would like to have:

  • quotes: use proper “” instead of "".
  • apostrophes: use proper apostrophes instead of '.
  • punctuation_space: enforce one space after a punctuation symbol, unless it's followed by a new line.
  • double_spaces: no double spaces.

I think code should be excluded by default for all these checks.

For the first two, Atom has a really nice package that might be used as inspiration.

flodolo avatar Mar 17 '17 07:03 flodolo

Double spaces was already on my list. :) Punctuation space seems fine.

But quotes worries me. The package you link to changes normal quotes to smart ones - but emphasizes that you still type dumb quotes the easy way. markdownlint is not a transformer like that. I think nobody will want to have to type smart quotes every time in order to satisfy this rule. Or am I thinking about this part wrong?

DavidAnson avatar Mar 17 '17 16:03 DavidAnson

I think nobody will want to have to type smart quotes every time in order to satisfy this rule. Or am I thinking about this part wrong?

Yes, you would either be writing the correct quotes directly, or use a package like the one above to make your life easier.

I realize that this might not be a useful rule for a lot of users, it sounds more like good material for a custom rule.

flodolo avatar Mar 17 '17 16:03 flodolo

It fits within the bigger idea of a typography rule, but maybe this part would default to "off". I like the idea to bundle these similar checks, though.

DavidAnson avatar Mar 17 '17 17:03 DavidAnson

Please also note that these rules can depend on text language. For example, in French

  • you would have to enforce a non breakable space before every double punctuation sign (; : !)
  • valid quotes are « and »

CircleCode avatar Apr 07 '17 17:04 CircleCode

Checks on properly balanced quotes and the way they terminates sentences is what I'n trying to achieve at: https://github.com/sindresorhus/awesome-lint/pull/101 . Only managed to create a set of use-cases at the moment.

kdeldycke avatar Jul 02 '20 16:07 kdeldycke