|
|
@@ -25,10 +25,36 @@ def add_error(line_num, val_index, message) |
|
|
|
when INDEX_LINK |
|
|
|
segment = "Link" |
|
|
|
end |
|
|
|
|
|
|
|
$errors.push("(L%03d) %-14.14s #{message}" % [line_num, segment]) |
|
|
|
end |
|
|
|
|
|
|
|
section = '' |
|
|
|
sections = [] |
|
|
|
section_to_line_num = {} |
|
|
|
section_to_entries = Hash.new {|h,k| h[k] = Array.new } |
|
|
|
File.foreach(filename).with_index do | line, line_num | |
|
|
|
|
|
|
|
if line.start_with?('###') |
|
|
|
section = line.sub('###', '').lstrip.chop |
|
|
|
sections.push(section) |
|
|
|
section_to_line_num[section] = line_num + 1 |
|
|
|
end |
|
|
|
|
|
|
|
# Skip non-markdown table lines and table schema lines |
|
|
|
if !line.start_with?('|') || line.eql?("|---|---|---|---|---|\n") |
|
|
|
next |
|
|
|
end |
|
|
|
|
|
|
|
# char to check is the first char in the first column |
|
|
|
check_char = line.split("|")[1].strip[0] |
|
|
|
section_to_entries[section].push(check_char) |
|
|
|
end |
|
|
|
sections.each do | sect | |
|
|
|
if section_to_entries[sect] != section_to_entries[sect].sort |
|
|
|
add_error(section_to_line_num[sect], INDEX_TITLE, "#{sect} section is not in alphabetical order") |
|
|
|
end |
|
|
|
end |
|
|
|
|
|
|
|
File.foreach(filename).with_index do | line, line_num | |
|
|
|
line_num += 1 |
|
|
|
|
|
|
|