PDFKit.configure do |config|
  config.wkhtmltopdf = ENV["WKHTMLTOPDF_EXEC"] || 'wkhtmltopdf'
  # config.wkhtmltopdf = ENV["WKHTMLTOPDF_EXEC"] || '/usr/bin/wkhtmltopdf'
  config.default_options = {
      encoding: "UTF-8",
      page_size: 'A4',
      print_media_type: true,
      dpi: 300,
      debug_javascript: true,
      javascript_delay: 500,
      # quiet: false
      stop_slow_scripts:false,
      no_stop_slow_scripts: true
  }
end

# 原有方法会给所有含 head 标签的地方插入css,导致html类实训代码块渲染异常
module FixStylesheetAppend
  def append_stylesheets
    raise ImproperSourceError.new('Stylesheets may only be added to an HTML source') if stylesheets.any? && !@source.html?

    stylesheets.each do |stylesheet|
      @source.to_s.insert(0, style_tag_for(stylesheet))
    end
  end
end
PDFKit.prepend(FixStylesheetAppend)