opensearch-docs-cn/.github/vale/styles/OpenSearch/StackedHeadings.yml

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
}
}
}