Files
openproject/script/pdf_export/validate_styles
T
2025-07-22 14:32:48 +02:00

30 lines
762 B
Ruby
Executable File

#!/usr/bin/env ruby
require "md_to_pdf/core"
require "md_to_pdf/style/validation"
require "yaml"
require "json"
class SchemaValidator
include MarkdownToPDF::StyleValidation
def validate
root = File.expand_path("../../", __dir__)
config = YAML.load_file(File.join(__dir__, "styles.yml"))
config["styles"].each do |entry|
validate_styles(entry, root)
end
end
def validate_styles(entry, root)
puts "Validating #{entry['name']} styles"
schema = JSON::load_file(File.join(root, entry["path"], "schema.json"))
styles_file = File.join(root, entry["path"], "standard.yml")
styles = YAML.load_file(styles_file)
validate_schema!(styles, schema)
puts "Valid: #{styles_file}"
end
end
SchemaValidator.new.validate