class YARD::Serializers::FileSystemSerializer

def encode_path_components(*components)

non alphanumeric (plus period, underscore and dash).
Windows disallows \ / : * ? " < > | but we will just remove any
Remove special chars from filenames.
def encode_path_components(*components)
  components.map! do |p|
    p.gsub(/[^\w\.-]/) do |x|
      encoded = String.new('_')
      x.each_byte {|b| encoded << ("%X" % b) }
      encoded
    end
  end
end