Browse Source

Add alphabetical order check logic

pull/467/head
davemachado 6 years ago
parent
commit
7f71a9cfe6
1 changed files with 27 additions and 1 deletions
  1. +27
    -1
      build/validate_format.rb

+ 27
- 1
build/validate_format.rb View File

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


Loading…
Cancel
Save