* Add internal support for deprecated packages in tooling
* Remove `remark-lint-no-auto-link-without-protocol` from presets
* Add info to `remark-lint-no-auto-link-without-protocol` on why it’s deprecated
Related to remarkjs/remark#863.
Basically, the rule is rewritten as the previous one did not work
as expected. The behaviour now is what previously was intended.
More cells are checked. When compact, everything but the biggest
cell is ignored (as shorter cells may be padded for aligning fences).
Empty body- and heading cells are also handled properly.
Finally, there’s a better message when `'padded'`, if the biggest
cell is padded more than required.
Closes GH-108.
Closes GH-97.
Previously, severities could be passed in as numbers,
for example: `[1, 80]`. This commit introduces support
for passing in these severities as strings. Thus adding
the right most column:
| Type | Off | Warning | Error |
| ------- | ------- | ---------------- | --------- |
| boolean | `false` | `true` | |
| number | `0` | `1` | `2` |
| string | `'off'` | `'on'`, `'warn'` | `'error'` |
> Note that strings cannot (currently) be passed in
> directly: they must be wrapped in an array: `'error'`
> does not work, `['error']` does.
Closes GH-81.
This adds proper support for presets in **remark-lint**.
This is a big one: **remark-lint** no longer does anything
without you telling it to.
* Update internals, docs, examples, to turn `reset`
on by default;
* Refactor project to monorepo;
* Move library to `./packages/remark-lint`;
* Add the following preset packages:
* `remark-preset-lint-consistent`;
* `remark-preset-lint-recommended`;
* `remark-preset-lint-legacy`.
If you’re using the CLI, please add one or more of these presets
to your configuration file.
On the API, note that presets are node modules, so it’s possible
to `require` them as well.
Previously, messages could be either turned on (as warnings), or
turned off. This update adds support for setting these through an
integer (`1` and `0` respectivly), in array form:
```js
remark().use(lint, {finalNewline:[0]});
```
Additionally, the integer `2` can be passed to turn a message into
a fatal error:
```js
remark().use(lint, {maximumLineLength: [2, 72]});
```
Closes GH-65.
This new feature adds support for allowing missing blank lines between
block-level nodes in lists, through passing `{exceptTightLists: true}`
to `no-missing-blank-lines` (default: false).
Closes GH-85.
* Remove requirement for synchronous rules to accept, and
invoke, a `done` handler;
* Add support for returning promises, generators, from
rules.
* Add `doc/external.md`, with a description on how to use
and create external rule packages;
* Add structural fixtures per-rule inline, which are now
shown in (improved) `doc/rules.md`, and used in testing
each rule;
* Add contributors to `package.json`;
* Remove history before stable from changelog;
* Refactor tests to use `tape` instead of `mocha`;
* Add automated generation of `rules.js` index;
* Fix incorrect badges.
Update `first-heading-level` and `no-multiple-toplevel-headings`
to accept a preferred main heading level. The previous, and
default, state is defined as level 1 headings, but it’s now
possible to specify other levels as well.
Closes GH-51.