All rules

Text runs on after a URL

url-run-onon by defaultJapanese / English

A URL followed straight away by text that the link swallows

Example

Flagged
See https://example.com/guide—it has the details.
What chaff prints
1:5 The URL "https://example.com/guide" is followed by "—" with no space; the link runs on into it
Fixed
See https://example.com/guide — it has the details.
What chaff prints
no finding

How to fix

Put a space after the URL, or write it as <https://…> or [text](https://…).

Why it matters

When a URL written as plain text is followed straight away by a character outside ASCII ("https://example.com/—see", "https://example.jp/をご覧ください"), GitHub's automatic links and many mail clients read everything up to the next space as the URL, and clicking it opens a page that does not exist. Only a character outside ASCII right after the URL is reported. A URL written with link syntax ([docs](https://…) or <https://…>) and URLs in code are not counted.

What it does not flag

URLs written with link syntax ([text](URL) or <URL>), URLs in code, a URL followed by a space or an ASCII mark, and invisible characters such as a zero-width space are not reported.

Turning it off or relaxing it

Silence this one spot (in the document)
<!-- stet: url-run-on — reason -->
Relax it for the team (the reason is kept as a comment in chaff.yaml)
npx chaffjs relax url-run-on --why "reason"
Turn it off for the team (chaff.yaml)
rules: url-run-on: off
Technical details
Layer
L1
Status
stable
Severity
warning
Languages
Japanese and English
Suited to
business, technical, blog, legal, docs, academic, literature, speech

Levels

Set a level for this rule under rules in chaff.yaml. With nothing set, it runs at the level its genre gives it (see By genre below).

stricterror
normalwarning
relaxedinfo

This rule has no limit to count to. A level sets how a finding is marked: relaxed keeps the finding and marks it a step lower.

By genre

Runs by default in
technical/spec, technical/readme, blog/tech, blog/essay, blog/owned-media, business/proposal, business/report, business/email, business/press-release, business/meeting-notes, legal/contract, legal/statute, legal/judgment, legal/patent, docs/manual, docs/faq, docs/glossary, academic/paper, literature/fiction, literature/essay, literature/poetry, literature/play, speech/address, speech/transcript

Genres

Message

The URL "{url}" is followed by "{next}" with no space; the link runs on into it

This page is built from the rule's definition file:packages/chaff/rules/url-run-on.yaml