25 lines
847 B
YAML
25 lines
847 B
YAML
extends: script
|
|
message: "Do not stack headings. Insert an introductory sentence between headings."
|
|
level: error
|
|
link: https://github.com/opensearch-project/documentation-website/blob/main/STYLE_GUIDE.md#formatting-and-organization
|
|
scope: raw
|
|
script: |
|
|
text := import("text")
|
|
matches := []
|
|
// Replace code blocks with dummy text to avoid processing comments
|
|
document := text.re_replace("(?s) *(```.*?```)", scope, "text")
|
|
isHeading := false
|
|
for line in text.split(document, "\n") {
|
|
if text.trim_space(line) != "" {
|
|
if text.has_prefix(line, "#") {
|
|
if isHeading == true {
|
|
start := text.index(scope, line)
|
|
matches = append(matches, {begin: start, end: start + len(line)})
|
|
}
|
|
isHeading = true // new section; reset count
|
|
} else {
|
|
isHeading = false
|
|
}
|
|
}
|
|
}
|