Skip to content

Commit

Permalink
Adds a tidy check for single-page HTML specification links
Browse files Browse the repository at this point in the history
Flags links to the single-page WHATWG specification and suggests the URL
for the multi page one.

Fixes #7998
  • Loading branch information
gilles-leblanc committed Oct 16, 2015
1 parent 9d5f09e commit d991497
Showing 1 changed file with 10 additions and 2 deletions.
12 changes: 10 additions & 2 deletions python/tidy.py
Expand Up @@ -80,13 +80,20 @@ def check_length(file_name, idx, line):
yield (idx + 1, "Line is longer than %d characters" % max_length)


def check_whatwg_url(idx, line):
def check_whatwg_specific_url(idx, line):
match = re.search(r"https://html\.spec\.whatwg\.org/multipage/[\w-]+\.html#([\w\:-]+)", line)
if match is not None:
preferred_link = "https://html.spec.whatwg.org/multipage/#{}".format(match.group(1))
yield (idx + 1, "link to WHATWG may break in the future, use this format instead: {}".format(preferred_link))


def check_whatwg_single_page_url(idx, line):
match = re.search(r"https://html\.spec\.whatwg\.org/#([\w\:-]+)", line)
if match is not None:
preferred_link = "https://html.spec.whatwg.org/multipage/#{}".format(match.group(1))
yield (idx + 1, "links to WHATWG single-page url, change to multi page: {}".format(preferred_link))


def check_whitespace(idx, line):
if line[-1] == "\n":
line = line[:-1]
Expand All @@ -109,7 +116,8 @@ def check_by_line(file_name, contents):
errors = itertools.chain(
check_length(file_name, idx, line),
check_whitespace(idx, line),
check_whatwg_url(idx, line),
check_whatwg_specific_url(idx, line),
check_whatwg_single_page_url(idx, line),
)

for error in errors:
Expand Down

0 comments on commit d991497

Please sign in to comment.