def check_all_pages(target=None):
"""Reads all pages for a target and checks them for style."""
target = dactyl_build.get_target(target)
pages = dactyl_build.get_pages(target)
pp_env = dactyl_build.setup_pp_env()
print("Style Checker - checking all pages in target %s" % target["name"])
style_issues = []
for page in pages:
if "md" not in page:
# Not a doc page, move on
continue
logger.info("Checking page %s" % page["name"])
page_issues = []
html = dactyl_build.parse_markdown(page, pages=pages, target=target)
soup = BeautifulSoup(html, "html.parser")
overrides = get_overrides(soup)
content_elements = ["p","li","a","em","strong","th","td",
"h1","h2","h3","h4","h5","h6"]
for el in soup.descendants:
if (type(el) == NavigableString and
el.parent.name in content_elements and
str(el).strip()):
passage = str(el).strip()
passage_issues = check_passage(passage, overrides)
if passage_issues:
page_issues += passage_issues
#print("'%s' (%s)" % (el, el.parent.name))
# for el in soup.find_all(content_elements):
# for passage in el.stripped_strings:
# passage_issues = check_passage(passage, overrides)
# if passage_issues:
# page_issues += passage_issues
if page_issues:
style_issues.append( (page["name"], page_issues) )
return style_issues
评论列表
文章目录