mirror of
https://github.com/adambard/learnxinyminutes-docs.git
synced 2024-12-24 18:11:38 +00:00
33 lines
1018 B
Ruby
33 lines
1018 B
Ruby
|
#!/usr/bin/env ruby
|
||
|
require 'charlock_holmes'
|
||
|
$file_count = 0;
|
||
|
markdown_files = Dir["./**/*.html.markdown"]
|
||
|
markdown_files.each do |file|
|
||
|
begin
|
||
|
contents = File.read(file)
|
||
|
detection = CharlockHolmes::EncodingDetector.detect(contents)
|
||
|
case detection[:encoding]
|
||
|
when 'UTF-8'
|
||
|
$file_count = $file_count + 1
|
||
|
when 'ISO-8859-1'
|
||
|
$file_count = $file_count + 1
|
||
|
when /ISO-8859/
|
||
|
puts "Notice: #{file} was detected as #{detection[:encoding]} encoding. Everything is probably fine."
|
||
|
$file_count = $file_count + 1
|
||
|
else
|
||
|
puts "WARNING #{file} was detected as #{detection[:encoding]} encoding. Please save the file in UTF-8!"
|
||
|
end
|
||
|
rescue Exception => msg
|
||
|
puts msg
|
||
|
end
|
||
|
end
|
||
|
files_failed = markdown_files.length - $file_count
|
||
|
if files_failed != 0
|
||
|
puts "FAILURE!!! #{files_failed} files were unable to be validated as UTF-8!"
|
||
|
puts "Please resave the file as UTF-8."
|
||
|
exit 1
|
||
|
else
|
||
|
puts "Success. All #{$file_count} files passed UTF-8 validity checks."
|
||
|
exit 0
|
||
|
end
|