markdownlint
markdownlint copied to clipboard
Proposed rule: enforce typography
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.
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?
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.
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.
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»
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.