class GitHubPages::Configuration

def restrict_and_config_markdown_processor(config)

be idempotentish.
This can get called multiply on the same config, so try to

neither of these.
Ensure we're using Kramdown or GFM. Force to Kramdown if
def restrict_and_config_markdown_processor(config)
  config["markdown"] = "kramdown" unless \
    %w(kramdown gfm commonmarkghpages).include?(config["markdown"].to_s.downcase)
  return unless config["markdown"].to_s.casecmp("gfm").zero?
  config["markdown"] = "CommonMarkGhPages"
  config["commonmark"] = {
    "extensions" => %w(table strikethrough autolink tagfilter),
    "options" => %w(unsafe footnotes),
  }
end