hawkins 0.1.0 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,86 @@
1
+ module Hawkins
2
+ module Commands
3
+ class Post < Jekyll::Command
4
+ class << self
5
+ COMMAND_OPTIONS = {
6
+ "date" => ["-d", "--date [DATE]", "Date to mark post"],
7
+ "editor" => ["-e", "--editor [EDITOR]", "Editor to open"],
8
+ "source" => ["-s", "--source SOURCE", "Custom source directory"],
9
+ "config" => [
10
+ "--config CONFIG_FILE[,CONFIG_FILE2,...]", Array, "Custom configuration file"
11
+ ],
12
+ }.freeze
13
+
14
+ def init_with_program(prog)
15
+ prog.command(:post) do |c|
16
+ c.syntax("new [options]")
17
+ c.description("create a new post")
18
+ c.action do |args, options|
19
+ Hawkins::Commands::Post.create(args, options)
20
+ end
21
+ end
22
+ end
23
+
24
+ def create(args, options)
25
+ options["date"] ||= Time.now.to_s
26
+ options["editor"] ||= ENV['VISUAL'] || ENV['EDITOR'] || 'vi'
27
+ begin
28
+ date = Date.parse(options["date"])
29
+ rescue
30
+ Jekyll.logger.abort_with("Could not convert #{options['date']} into date format.")
31
+ end
32
+
33
+ if args.length != 1
34
+ Jekyll.logger.abort_with(
35
+ "Please provide an argument to use as the post title.\n
36
+ Remember to quote multiword strings.")
37
+ else
38
+ title = args[0]
39
+ end
40
+
41
+ slug = Jekyll::Utils.slugify(title)
42
+
43
+ site_opts = configuration_from_options(options)
44
+ site = Jekyll::Site.new(site_opts)
45
+ posts = site.in_source_dir('_posts')
46
+ filename = File.join(posts, "#{date.strftime('%Y-%m-%d')}-#{slug}.md")
47
+
48
+ # TODO incorporate Highline and allow users to elect to create the directory
49
+ # Like Thor does
50
+ unless File.exist?(posts)
51
+ Jekyll.logger.abort_with("#{posts} does not exist. Please create it.")
52
+ end
53
+
54
+ # TODO ask if user wishes to overwrite
55
+ if File.exist?(filename)
56
+ Jekyll.logger.abort_with(
57
+ "#{filename} already exists. Cowardly refusing to overwrite it.")
58
+ end
59
+
60
+ content = <<-CONTENT
61
+ ---
62
+ title: #{title}
63
+ ---
64
+ CONTENT
65
+
66
+ File.open(filename, 'w') do |f|
67
+ f.write(Jekyll::Utils.strip_heredoc(content))
68
+ end
69
+
70
+ Jekyll.logger.info("Wrote #{filename}")
71
+
72
+ case options["editor"]
73
+ when /g?vim/
74
+ editor_args = "+"
75
+ when /x?emacs/
76
+ editor_args = "+#{content.lines.count}"
77
+ else
78
+ editor_args = nil
79
+ end
80
+
81
+ exec(*[options["editor"], editor_args, filename].compact)
82
+ end
83
+ end
84
+ end
85
+ end
86
+ end
@@ -0,0 +1,154 @@
1
+ require "webrick"
2
+ require "jekyll/commands/serve/servlet"
3
+
4
+ module Hawkins
5
+ module Commands
6
+ class LiveServe
7
+ class SkipAnalyzer
8
+ BAD_USER_AGENTS = [%r{MSIE}].freeze
9
+
10
+ def self.skip_processing?(req, res, options)
11
+ new(req, res, options).skip_processing?
12
+ end
13
+
14
+ def initialize(req, res, options)
15
+ @options = options
16
+ @req = req
17
+ @res = res
18
+ end
19
+
20
+ def skip_processing?
21
+ !html? || chunked? || inline? || ignored? || bad_browser?
22
+ end
23
+
24
+ def chunked?
25
+ @res['Transfer-Encoding'] == 'chunked'
26
+ end
27
+
28
+ def inline?
29
+ @res['Content-Disposition'] =~ %r{^inline}
30
+ end
31
+
32
+ def ignored?
33
+ path = @req.query_string.nil? ? @req.path_info : "#{@req.path_info}?#{@req.query_string}"
34
+ @options["ignore"] && @options["ignore"].any? { |filter| path[filter] }
35
+ end
36
+
37
+ def bad_browser?
38
+ BAD_USER_AGENTS.any? { |pattern| @req['User-Agent'] =~ pattern }
39
+ end
40
+
41
+ def html?
42
+ @res['Content-Type'] =~ %r{text/html}
43
+ end
44
+ end
45
+
46
+ class BodyProcessor
47
+ HEAD_TAG_REGEX = /<head>|<head[^(er)][^<]*>/
48
+
49
+ attr_reader :content_length, :new_body, :livereload_added
50
+
51
+ def initialize(body, options)
52
+ @body = body
53
+ @options = options
54
+ @processed = false
55
+ end
56
+
57
+ def with_swf?
58
+ @options["swf"]
59
+ end
60
+
61
+ def processed?
62
+ @processed
63
+ end
64
+
65
+ def process!
66
+ @new_body = []
67
+ begin
68
+ @body.each { |line| @new_body << line.to_s }
69
+ ensure
70
+ # @body will be a File object
71
+ @body.close
72
+ end
73
+
74
+ @content_length = 0
75
+ @livereload_added = false
76
+
77
+ @new_body.each do |line|
78
+ if !@livereload_added && line['<head']
79
+ line.gsub!(HEAD_TAG_REGEX) { |match| %(#{match}#{template.result(binding)}) }
80
+
81
+ @livereload_added = true
82
+ end
83
+
84
+ @content_length += line.bytesize
85
+ @processed = true
86
+ end
87
+ @new_body = @new_body.join
88
+ end
89
+
90
+ def host_to_use
91
+ (@options["host"] || 'localhost').gsub(%r{:.*}, '')
92
+ end
93
+
94
+ def template
95
+ template = <<-TEMPLATE
96
+ <% if with_swf? %>
97
+ <script type="text/javascript">
98
+ WEB_SOCKET_SWF_LOCATION = "<%= @options["baseurl"] %>/__livereload/WebSocketMain.swf";
99
+ WEB_SOCKET_FORCE_FLASH = false;
100
+ </script>
101
+ <script type="text/javascript" src="<%= @options["baseurl"] %>/__livereload/swfobject.js"></script>
102
+ <script type="text/javascript" src="<%= @options["baseurl"] %>/__livereload/web_socket.js"></script>
103
+ <% end %>
104
+ <script type="text/javascript">
105
+ HAWKINS_LIVERELOAD_PORT = <%= @options["reload_port"] %>;
106
+ HAWKINS_LIVERELOAD_PROTOCOL = <%= livereload_protocol %>;
107
+ </script>
108
+ <script type="text/javascript" src="<%= livereload_source %>"></script>
109
+ TEMPLATE
110
+ ERB.new(Jekyll::Utils.strip_heredoc(template))
111
+ end
112
+
113
+ def livereload_protocol
114
+ use_ssl = @options["ssl_cert"] && @options["ssl_key"]
115
+ use_ssl ? '"wss://"' : '"ws://"'
116
+ end
117
+
118
+ def livereload_source
119
+ use_ssl = @options["ssl_cert"] && @options["ssl_key"]
120
+ protocol = use_ssl ? "https" : "http"
121
+
122
+ # Unclear what "snipver" does. https://github.com/livereload/livereload-js states
123
+ # that the recommended setting is 1.
124
+ src = "#{protocol}://#{host_to_use}:#{@options['reload_port']}/livereload.js?snipver=1"
125
+
126
+ # XHTML standard requires ampersands to be encoded as entities when in attributes
127
+ # See http://stackoverflow.com/a/2190292
128
+ src << "&amp;mindelay=#{@options['min_delay']}" if @options["min_delay"]
129
+ src << "&amp;maxdelay=#{@options['max_delay']}" if @options["max_delay"]
130
+ src << "&amp;port=#{@options['reload_port']}" if @options["reload_port"]
131
+ src
132
+ end
133
+ end
134
+
135
+ class ReloadServlet < Jekyll::Commands::Serve::Servlet
136
+ def do_GET(req, res) # rubocop:disable MethodName
137
+ rtn = super
138
+ return rtn if SkipAnalyzer.skip_processing?(req, res, @jekyll_opts)
139
+
140
+ processor = BodyProcessor.new(res.body, @jekyll_opts)
141
+ processor.process!
142
+ res.body = processor.new_body
143
+ res.content_length = processor.content_length.to_s
144
+
145
+ if processor.livereload_added
146
+ res['X-Rack-LiveReload'] = '1'
147
+ end
148
+
149
+ rtn
150
+ end
151
+ end
152
+ end
153
+ end
154
+ end
@@ -1,3 +1,3 @@
1
1
  module Hawkins
2
- VERSION = "0.1.0"
2
+ VERSION = "2.0.0".freeze
3
3
  end
@@ -0,0 +1,160 @@
1
+ require 'json'
2
+ require 'em-websocket'
3
+ require 'http/parser'
4
+
5
+ module Hawkins
6
+ # The LiveReload protocol requires the server to serve livereload.js over HTTP
7
+ # despite the fact that the protocol itself uses WebSockets. This custom connection
8
+ # class addresses the dual protocols that the server needs to understand.
9
+ class HttpAwareConnection < EventMachine::WebSocket::Connection
10
+ attr_reader :reload_file
11
+
12
+ def initialize(opts)
13
+ @ssl_enabled = opts['ssl_cert'] && opts['ssl_key']
14
+ if @ssl_enabled
15
+ opts[:tls_options] = {
16
+ :private_key_file => Jekyll.sanitized_path(opts['source'], opts['ssl_key']),
17
+ :cert_chain_file => Jekyll.sanitized_path(opts['source'], opts['ssl_cert']),
18
+ }
19
+ opts[:secure] = true
20
+ end
21
+ super
22
+ @reload_file = File.join(LIVERELOAD_DIR, "livereload.js")
23
+ end
24
+
25
+ def dispatch(data)
26
+ parser = Http::Parser.new
27
+ parser << data
28
+
29
+ # WebSockets requests will have a Connection: Upgrade header
30
+ if parser.http_method != 'GET' || parser.upgrade?
31
+ super
32
+ elsif parser.request_url =~ /^\/livereload.js/
33
+ headers = [
34
+ 'HTTP/1.1 200 OK',
35
+ 'Content-Type: application/javascript',
36
+ "Content-Length: #{File.size(reload_file)}",
37
+ '',
38
+ '',
39
+ ].join("\r\n")
40
+ send_data(headers)
41
+ stream_file_data(reload_file).callback do
42
+ close_connection_after_writing
43
+ end
44
+ else
45
+ body = "This port only serves livereload.js over HTTP.\n"
46
+ headers = [
47
+ 'HTTP/1.1 400 Bad Request',
48
+ 'Content-Type: text/plain',
49
+ "Content-Length: #{body.bytesize}",
50
+ '',
51
+ '',
52
+ ].join("\r\n")
53
+ send_data(headers)
54
+ send_data(body)
55
+ close_connection_after_writing
56
+ end
57
+ end
58
+ end
59
+
60
+ class LiveReloadReactor
61
+ attr_reader :thread
62
+ attr_reader :opts
63
+
64
+ def initialize(opts)
65
+ @opts = opts
66
+ @thread = nil
67
+ @websockets = []
68
+ @connections_count = 0
69
+ end
70
+
71
+ def stop
72
+ Jekyll.logger.debug("LiveReload Server:", "halted")
73
+ @thread.kill unless @thread.nil?
74
+ end
75
+
76
+ def running?
77
+ !@thread.nil? && @thread.alive?
78
+ end
79
+
80
+ def start
81
+ @thread = Thread.new do
82
+ # Use epoll if the kernel supports it
83
+ EM.epoll
84
+ # TODO enable SSL
85
+ EM.run do
86
+ Jekyll.logger.info("LiveReload Server:", "#{opts['host']}:#{opts['reload_port']}")
87
+ EM.start_server(opts['host'], opts['reload_port'], HttpAwareConnection, opts) do |ws|
88
+ ws.onopen do |handshake|
89
+ connect(ws, handshake)
90
+ end
91
+
92
+ ws.onclose do
93
+ disconnect(ws)
94
+ end
95
+
96
+ ws.onmessage do |msg|
97
+ print_message(msg)
98
+ end
99
+ end
100
+ end
101
+ end
102
+
103
+ Jekyll::Hooks.register(:site, :post_render) do |site|
104
+ regenerator = Jekyll::Regenerator.new(site)
105
+ @changed_pages = site.pages.select do |p|
106
+ regenerator.regenerate?(p)
107
+ end
108
+ end
109
+
110
+ Jekyll::Hooks.register(:site, :post_write) do
111
+ reload(@changed_pages) unless @changed_pages.nil?
112
+ @changed_pages = nil
113
+ end
114
+ end
115
+
116
+ private
117
+
118
+ # For a description of the protocol see http://feedback.livereload.com/knowledgebase/articles/86174-livereload-protocol
119
+ def reload(pages)
120
+ pages.each do |p|
121
+ msg = {
122
+ :command => 'reload',
123
+ :path => p.path,
124
+ :liveCSS => true,
125
+ }
126
+
127
+ # TODO Add support for override URL?
128
+ # See http://feedback.livereload.com/knowledgebase/articles/86220-preview-css-changes-against-a-live-site-then-uplo
129
+
130
+ Jekyll.logger.debug("LiveReload:", "Reloading #{p.path}")
131
+ @websockets.each do |ws|
132
+ ws.send(JSON.dump(msg))
133
+ end
134
+ end
135
+ end
136
+
137
+ def connect(ws, _handshake)
138
+ @connections_count += 1
139
+ Jekyll.logger.info("LiveReload:", "Browser connected") if @connections_count == 1
140
+ ws.send(
141
+ JSON.dump(
142
+ :command => 'hello',
143
+ :protocols => ['http://livereload.com/protocols/official-7'],
144
+ :serverName => 'jekyll livereload',
145
+ ))
146
+
147
+ @websockets << ws
148
+ end
149
+
150
+ def disconnect(ws)
151
+ @websockets.delete(ws)
152
+ end
153
+
154
+ def print_message(json_message)
155
+ msg = JSON.parse(json_message)
156
+ # Not sure what the 'url' command even does in LiveReload
157
+ Jekyll.logger.info("LiveReload:", "Browser URL: #{msg['url']}") if msg['command'] == 'url'
158
+ end
159
+ end
160
+ end
data/lib/mime.types ADDED
@@ -0,0 +1,800 @@
1
+ # Woah there. Do not edit this file directly.
2
+ # This file is generated automatically by script/vendor-mimes.
3
+
4
+ application/andrew-inset ez
5
+ application/applixware aw
6
+ application/atom+xml atom
7
+ application/atomcat+xml atomcat
8
+ application/atomsvc+xml atomsvc
9
+ application/bdoc bdoc
10
+ application/ccxml+xml ccxml
11
+ application/cdmi-capability cdmia
12
+ application/cdmi-container cdmic
13
+ application/cdmi-domain cdmid
14
+ application/cdmi-object cdmio
15
+ application/cdmi-queue cdmiq
16
+ application/cu-seeme cu
17
+ application/dash+xml mdp
18
+ application/davmount+xml davmount
19
+ application/docbook+xml dbk
20
+ application/dssc+der dssc
21
+ application/dssc+xml xdssc
22
+ application/ecmascript ecma
23
+ application/emma+xml emma
24
+ application/epub+zip epub
25
+ application/exi exi
26
+ application/font-tdpfr pfr
27
+ application/font-woff woff
28
+ application/font-woff2 woff2
29
+ application/gml+xml gml
30
+ application/gpx+xml gpx
31
+ application/gxf gxf
32
+ application/hyperstudio stk
33
+ application/inkml+xml ink inkml
34
+ application/ipfix ipfix
35
+ application/java-archive jar war ear
36
+ application/java-serialized-object ser
37
+ application/java-vm class
38
+ application/javascript js
39
+ application/json json map
40
+ application/json5 json5
41
+ application/jsonml+json jsonml
42
+ application/ld+json jsonld
43
+ application/lost+xml lostxml
44
+ application/mac-binhex40 hqx
45
+ application/mac-compactpro cpt
46
+ application/mads+xml mads
47
+ application/manifest+json webmanifest
48
+ application/marc mrc
49
+ application/marcxml+xml mrcx
50
+ application/mathematica ma nb mb
51
+ application/mathml+xml mathml
52
+ application/mbox mbox
53
+ application/mediaservercontrol+xml mscml
54
+ application/metalink+xml metalink
55
+ application/metalink4+xml meta4
56
+ application/mets+xml mets
57
+ application/mods+xml mods
58
+ application/mp21 m21 mp21
59
+ application/mp4 mp4s m4p
60
+ application/msword doc dot
61
+ application/mxf mxf
62
+ application/octet-stream bin dms lrf mar so dist distz pkg bpk dump elc deploy exe dll deb dmg iso img msi msp msm buffer
63
+ application/oda oda
64
+ application/oebps-package+xml opf
65
+ application/ogg ogx
66
+ application/omdoc+xml omdoc
67
+ application/onenote onetoc onetoc2 onetmp onepkg
68
+ application/oxps oxps
69
+ application/patch-ops-error+xml xer
70
+ application/pdf pdf
71
+ application/pgp-encrypted pgp
72
+ application/pgp-signature asc sig
73
+ application/pics-rules prf
74
+ application/pkcs10 p10
75
+ application/pkcs7-mime p7m p7c
76
+ application/pkcs7-signature p7s
77
+ application/pkcs8 p8
78
+ application/pkix-attr-cert ac
79
+ application/pkix-cert cer
80
+ application/pkix-crl crl
81
+ application/pkix-pkipath pkipath
82
+ application/pkixcmp pki
83
+ application/pls+xml pls
84
+ application/postscript ai eps ps
85
+ application/prs.cww cww
86
+ application/pskc+xml pskcxml
87
+ application/rdf+xml rdf
88
+ application/reginfo+xml rif
89
+ application/relax-ng-compact-syntax rnc
90
+ application/resource-lists+xml rl
91
+ application/resource-lists-diff+xml rld
92
+ application/rls-services+xml rs
93
+ application/rpki-ghostbusters gbr
94
+ application/rpki-manifest mft
95
+ application/rpki-roa roa
96
+ application/rsd+xml rsd
97
+ application/rss+xml rss
98
+ application/rtf rtf
99
+ application/sbml+xml sbml
100
+ application/scvp-cv-request scq
101
+ application/scvp-cv-response scs
102
+ application/scvp-vp-request spq
103
+ application/scvp-vp-response spp
104
+ application/sdp sdp
105
+ application/set-payment-initiation setpay
106
+ application/set-registration-initiation setreg
107
+ application/shf+xml shf
108
+ application/smil+xml smi smil
109
+ application/sparql-query rq
110
+ application/sparql-results+xml srx
111
+ application/srgs gram
112
+ application/srgs+xml grxml
113
+ application/sru+xml sru
114
+ application/ssdl+xml ssdl
115
+ application/ssml+xml ssml
116
+ application/tei+xml tei teicorpus
117
+ application/thraud+xml tfi
118
+ application/timestamped-data tsd
119
+ application/vnd.3gpp.pic-bw-large plb
120
+ application/vnd.3gpp.pic-bw-small psb
121
+ application/vnd.3gpp.pic-bw-var pvb
122
+ application/vnd.3gpp2.tcap tcap
123
+ application/vnd.3m.post-it-notes pwn
124
+ application/vnd.accpac.simply.aso aso
125
+ application/vnd.accpac.simply.imp imp
126
+ application/vnd.acucobol acu
127
+ application/vnd.acucorp atc acutc
128
+ application/vnd.adobe.air-application-installer-package+zip air
129
+ application/vnd.adobe.formscentral.fcdt fcdt
130
+ application/vnd.adobe.fxp fxp fxpl
131
+ application/vnd.adobe.xdp+xml xdp
132
+ application/vnd.adobe.xfdf xfdf
133
+ application/vnd.ahead.space ahead
134
+ application/vnd.airzip.filesecure.azf azf
135
+ application/vnd.airzip.filesecure.azs azs
136
+ application/vnd.amazon.ebook azw
137
+ application/vnd.americandynamics.acc acc
138
+ application/vnd.amiga.ami ami
139
+ application/vnd.android.package-archive apk
140
+ application/vnd.anser-web-certificate-issue-initiation cii
141
+ application/vnd.anser-web-funds-transfer-initiation fti
142
+ application/vnd.antix.game-component atx
143
+ application/vnd.apple.installer+xml mpkg
144
+ application/vnd.apple.mpegurl m3u8
145
+ application/vnd.aristanetworks.swi swi
146
+ application/vnd.astraea-software.iota iota
147
+ application/vnd.audiograph aep
148
+ application/vnd.blueice.multipass mpm
149
+ application/vnd.bmi bmi
150
+ application/vnd.businessobjects rep
151
+ application/vnd.chemdraw+xml cdxml
152
+ application/vnd.chipnuts.karaoke-mmd mmd
153
+ application/vnd.cinderella cdy
154
+ application/vnd.claymore cla
155
+ application/vnd.cloanto.rp9 rp9
156
+ application/vnd.clonk.c4group c4g c4d c4f c4p c4u
157
+ application/vnd.cluetrust.cartomobile-config c11amc
158
+ application/vnd.cluetrust.cartomobile-config-pkg c11amz
159
+ application/vnd.commonspace csp
160
+ application/vnd.contact.cmsg cdbcmsg
161
+ application/vnd.cosmocaller cmc
162
+ application/vnd.crick.clicker clkx
163
+ application/vnd.crick.clicker.keyboard clkk
164
+ application/vnd.crick.clicker.palette clkp
165
+ application/vnd.crick.clicker.template clkt
166
+ application/vnd.crick.clicker.wordbank clkw
167
+ application/vnd.criticaltools.wbs+xml wbs
168
+ application/vnd.ctc-posml pml
169
+ application/vnd.cups-ppd ppd
170
+ application/vnd.curl.car car
171
+ application/vnd.curl.pcurl pcurl
172
+ application/vnd.dart dart
173
+ application/vnd.data-vision.rdz rdz
174
+ application/vnd.dece.data uvf uvvf uvd uvvd
175
+ application/vnd.dece.ttml+xml uvt uvvt
176
+ application/vnd.dece.unspecified uvx uvvx
177
+ application/vnd.dece.zip uvz uvvz
178
+ application/vnd.denovo.fcselayout-link fe_launch
179
+ application/vnd.dna dna
180
+ application/vnd.dolby.mlp mlp
181
+ application/vnd.dpgraph dpg
182
+ application/vnd.dreamfactory dfac
183
+ application/vnd.ds-keypoint kpxx
184
+ application/vnd.dvb.ait ait
185
+ application/vnd.dvb.service svc
186
+ application/vnd.dynageo geo
187
+ application/vnd.ecowin.chart mag
188
+ application/vnd.enliven nml
189
+ application/vnd.epson.esf esf
190
+ application/vnd.epson.msf msf
191
+ application/vnd.epson.quickanime qam
192
+ application/vnd.epson.salt slt
193
+ application/vnd.epson.ssf ssf
194
+ application/vnd.eszigno3+xml es3 et3
195
+ application/vnd.ezpix-album ez2
196
+ application/vnd.ezpix-package ez3
197
+ application/vnd.fdf fdf
198
+ application/vnd.fdsn.mseed mseed
199
+ application/vnd.fdsn.seed seed dataless
200
+ application/vnd.flographit gph
201
+ application/vnd.fluxtime.clip ftc
202
+ application/vnd.framemaker fm frame maker book
203
+ application/vnd.frogans.fnc fnc
204
+ application/vnd.frogans.ltf ltf
205
+ application/vnd.fsc.weblaunch fsc
206
+ application/vnd.fujitsu.oasys oas
207
+ application/vnd.fujitsu.oasys2 oa2
208
+ application/vnd.fujitsu.oasys3 oa3
209
+ application/vnd.fujitsu.oasysgp fg5
210
+ application/vnd.fujitsu.oasysprs bh2
211
+ application/vnd.fujixerox.ddd ddd
212
+ application/vnd.fujixerox.docuworks xdw
213
+ application/vnd.fujixerox.docuworks.binder xbd
214
+ application/vnd.fuzzysheet fzs
215
+ application/vnd.genomatix.tuxedo txd
216
+ application/vnd.geogebra.file ggb
217
+ application/vnd.geogebra.tool ggt
218
+ application/vnd.geometry-explorer gex gre
219
+ application/vnd.geonext gxt
220
+ application/vnd.geoplan g2w
221
+ application/vnd.geospace g3w
222
+ application/vnd.gmx gmx
223
+ application/vnd.google-earth.kml+xml kml
224
+ application/vnd.google-earth.kmz kmz
225
+ application/vnd.grafeq gqf gqs
226
+ application/vnd.groove-account gac
227
+ application/vnd.groove-help ghf
228
+ application/vnd.groove-identity-message gim
229
+ application/vnd.groove-injector grv
230
+ application/vnd.groove-tool-message gtm
231
+ application/vnd.groove-tool-template tpl
232
+ application/vnd.groove-vcard vcg
233
+ application/vnd.hal+xml hal
234
+ application/vnd.handheld-entertainment+xml zmm
235
+ application/vnd.hbci hbci
236
+ application/vnd.hhe.lesson-player les
237
+ application/vnd.hp-hpgl hpgl
238
+ application/vnd.hp-hpid hpid
239
+ application/vnd.hp-hps hps
240
+ application/vnd.hp-jlyt jlt
241
+ application/vnd.hp-pcl pcl
242
+ application/vnd.hp-pclxl pclxl
243
+ application/vnd.hydrostatix.sof-data sfd-hdstx
244
+ application/vnd.ibm.minipay mpy
245
+ application/vnd.ibm.modcap afp listafp list3820
246
+ application/vnd.ibm.rights-management irm
247
+ application/vnd.ibm.secure-container sc
248
+ application/vnd.iccprofile icc icm
249
+ application/vnd.igloader igl
250
+ application/vnd.immervision-ivp ivp
251
+ application/vnd.immervision-ivu ivu
252
+ application/vnd.insors.igm igm
253
+ application/vnd.intercon.formnet xpw xpx
254
+ application/vnd.intergeo i2g
255
+ application/vnd.intu.qbo qbo
256
+ application/vnd.intu.qfx qfx
257
+ application/vnd.ipunplugged.rcprofile rcprofile
258
+ application/vnd.irepository.package+xml irp
259
+ application/vnd.is-xpr xpr
260
+ application/vnd.isac.fcs fcs
261
+ application/vnd.jam jam
262
+ application/vnd.jcp.javame.midlet-rms rms
263
+ application/vnd.jisp jisp
264
+ application/vnd.joost.joda-archive joda
265
+ application/vnd.kahootz ktz ktr
266
+ application/vnd.kde.karbon karbon
267
+ application/vnd.kde.kchart chrt
268
+ application/vnd.kde.kformula kfo
269
+ application/vnd.kde.kivio flw
270
+ application/vnd.kde.kontour kon
271
+ application/vnd.kde.kpresenter kpr kpt
272
+ application/vnd.kde.kspread ksp
273
+ application/vnd.kde.kword kwd kwt
274
+ application/vnd.kenameaapp htke
275
+ application/vnd.kidspiration kia
276
+ application/vnd.kinar kne knp
277
+ application/vnd.koan skp skd skt skm
278
+ application/vnd.kodak-descriptor sse
279
+ application/vnd.las.las+xml lasxml
280
+ application/vnd.llamagraphics.life-balance.desktop lbd
281
+ application/vnd.llamagraphics.life-balance.exchange+xml lbe
282
+ application/vnd.lotus-1-2-3 123
283
+ application/vnd.lotus-approach apr
284
+ application/vnd.lotus-freelance pre
285
+ application/vnd.lotus-notes nsf
286
+ application/vnd.lotus-organizer org
287
+ application/vnd.lotus-screencam scm
288
+ application/vnd.lotus-wordpro lwp
289
+ application/vnd.macports.portpkg portpkg
290
+ application/vnd.mcd mcd
291
+ application/vnd.medcalcdata mc1
292
+ application/vnd.mediastation.cdkey cdkey
293
+ application/vnd.mfer mwf
294
+ application/vnd.mfmp mfm
295
+ application/vnd.micrografx.flo flo
296
+ application/vnd.micrografx.igx igx
297
+ application/vnd.mif mif
298
+ application/vnd.mobius.daf daf
299
+ application/vnd.mobius.dis dis
300
+ application/vnd.mobius.mbk mbk
301
+ application/vnd.mobius.mqy mqy
302
+ application/vnd.mobius.msl msl
303
+ application/vnd.mobius.plc plc
304
+ application/vnd.mobius.txf txf
305
+ application/vnd.mophun.application mpn
306
+ application/vnd.mophun.certificate mpc
307
+ application/vnd.mozilla.xul+xml xul
308
+ application/vnd.ms-artgalry cil
309
+ application/vnd.ms-cab-compressed cab
310
+ application/vnd.ms-excel xls xlm xla xlc xlt xlw
311
+ application/vnd.ms-excel.addin.macroenabled.12 xlam
312
+ application/vnd.ms-excel.sheet.binary.macroenabled.12 xlsb
313
+ application/vnd.ms-excel.sheet.macroenabled.12 xlsm
314
+ application/vnd.ms-excel.template.macroenabled.12 xltm
315
+ application/vnd.ms-fontobject eot
316
+ application/vnd.ms-htmlhelp chm
317
+ application/vnd.ms-ims ims
318
+ application/vnd.ms-lrm lrm
319
+ application/vnd.ms-officetheme thmx
320
+ application/vnd.ms-pki.seccat cat
321
+ application/vnd.ms-pki.stl stl
322
+ application/vnd.ms-powerpoint ppt pps pot
323
+ application/vnd.ms-powerpoint.addin.macroenabled.12 ppam
324
+ application/vnd.ms-powerpoint.presentation.macroenabled.12 pptm
325
+ application/vnd.ms-powerpoint.slide.macroenabled.12 sldm
326
+ application/vnd.ms-powerpoint.slideshow.macroenabled.12 ppsm
327
+ application/vnd.ms-powerpoint.template.macroenabled.12 potm
328
+ application/vnd.ms-project mpp mpt
329
+ application/vnd.ms-word.document.macroenabled.12 docm
330
+ application/vnd.ms-word.template.macroenabled.12 dotm
331
+ application/vnd.ms-works wps wks wcm wdb
332
+ application/vnd.ms-wpl wpl
333
+ application/vnd.ms-xpsdocument xps
334
+ application/vnd.mseq mseq
335
+ application/vnd.musician mus
336
+ application/vnd.muvee.style msty
337
+ application/vnd.mynfc taglet
338
+ application/vnd.neurolanguage.nlu nlu
339
+ application/vnd.nitf ntf nitf
340
+ application/vnd.noblenet-directory nnd
341
+ application/vnd.noblenet-sealer nns
342
+ application/vnd.noblenet-web nnw
343
+ application/vnd.nokia.n-gage.data ngdat
344
+ application/vnd.nokia.n-gage.symbian.install n-gage
345
+ application/vnd.nokia.radio-preset rpst
346
+ application/vnd.nokia.radio-presets rpss
347
+ application/vnd.novadigm.edm edm
348
+ application/vnd.novadigm.edx edx
349
+ application/vnd.novadigm.ext ext
350
+ application/vnd.oasis.opendocument.chart odc
351
+ application/vnd.oasis.opendocument.chart-template otc
352
+ application/vnd.oasis.opendocument.database odb
353
+ application/vnd.oasis.opendocument.formula odf
354
+ application/vnd.oasis.opendocument.formula-template odft
355
+ application/vnd.oasis.opendocument.graphics odg
356
+ application/vnd.oasis.opendocument.graphics-template otg
357
+ application/vnd.oasis.opendocument.image odi
358
+ application/vnd.oasis.opendocument.image-template oti
359
+ application/vnd.oasis.opendocument.presentation odp
360
+ application/vnd.oasis.opendocument.presentation-template otp
361
+ application/vnd.oasis.opendocument.spreadsheet ods
362
+ application/vnd.oasis.opendocument.spreadsheet-template ots
363
+ application/vnd.oasis.opendocument.text odt
364
+ application/vnd.oasis.opendocument.text-master odm
365
+ application/vnd.oasis.opendocument.text-template ott
366
+ application/vnd.oasis.opendocument.text-web oth
367
+ application/vnd.olpc-sugar xo
368
+ application/vnd.oma.dd2+xml dd2
369
+ application/vnd.openofficeorg.extension oxt
370
+ application/vnd.openxmlformats-officedocument.presentationml.presentation pptx
371
+ application/vnd.openxmlformats-officedocument.presentationml.slide sldx
372
+ application/vnd.openxmlformats-officedocument.presentationml.slideshow ppsx
373
+ application/vnd.openxmlformats-officedocument.presentationml.template potx
374
+ application/vnd.openxmlformats-officedocument.spreadsheetml.sheet xlsx
375
+ application/vnd.openxmlformats-officedocument.spreadsheetml.template xltx
376
+ application/vnd.openxmlformats-officedocument.wordprocessingml.document docx
377
+ application/vnd.openxmlformats-officedocument.wordprocessingml.template dotx
378
+ application/vnd.osgeo.mapguide.package mgp
379
+ application/vnd.osgi.dp dp
380
+ application/vnd.osgi.subsystem esa
381
+ application/vnd.palm pdb pqa oprc
382
+ application/vnd.pawaafile paw
383
+ application/vnd.pg.format str
384
+ application/vnd.pg.osasli ei6
385
+ application/vnd.picsel efif
386
+ application/vnd.pmi.widget wg
387
+ application/vnd.pocketlearn plf
388
+ application/vnd.powerbuilder6 pbd
389
+ application/vnd.previewsystems.box box
390
+ application/vnd.proteus.magazine mgz
391
+ application/vnd.publishare-delta-tree qps
392
+ application/vnd.pvi.ptid1 ptid
393
+ application/vnd.quark.quarkxpress qxd qxt qwd qwt qxl qxb
394
+ application/vnd.realvnc.bed bed
395
+ application/vnd.recordare.musicxml mxl
396
+ application/vnd.recordare.musicxml+xml musicxml
397
+ application/vnd.rig.cryptonote cryptonote
398
+ application/vnd.rim.cod cod
399
+ application/vnd.rn-realmedia rm
400
+ application/vnd.rn-realmedia-vbr rmvb
401
+ application/vnd.route66.link66+xml link66
402
+ application/vnd.sailingtracker.track st
403
+ application/vnd.seemail see
404
+ application/vnd.sema sema
405
+ application/vnd.semd semd
406
+ application/vnd.semf semf
407
+ application/vnd.shana.informed.formdata ifm
408
+ application/vnd.shana.informed.formtemplate itp
409
+ application/vnd.shana.informed.interchange iif
410
+ application/vnd.shana.informed.package ipk
411
+ application/vnd.simtech-mindmapper twd twds
412
+ application/vnd.smaf mmf
413
+ application/vnd.smart.teacher teacher
414
+ application/vnd.solent.sdkm+xml sdkm sdkd
415
+ application/vnd.spotfire.dxp dxp
416
+ application/vnd.spotfire.sfs sfs
417
+ application/vnd.stardivision.calc sdc
418
+ application/vnd.stardivision.draw sda
419
+ application/vnd.stardivision.impress sdd
420
+ application/vnd.stardivision.math smf
421
+ application/vnd.stardivision.writer sdw vor
422
+ application/vnd.stardivision.writer-global sgl
423
+ application/vnd.stepmania.package smzip
424
+ application/vnd.stepmania.stepchart sm
425
+ application/vnd.sun.xml.calc sxc
426
+ application/vnd.sun.xml.calc.template stc
427
+ application/vnd.sun.xml.draw sxd
428
+ application/vnd.sun.xml.draw.template std
429
+ application/vnd.sun.xml.impress sxi
430
+ application/vnd.sun.xml.impress.template sti
431
+ application/vnd.sun.xml.math sxm
432
+ application/vnd.sun.xml.writer sxw
433
+ application/vnd.sun.xml.writer.global sxg
434
+ application/vnd.sun.xml.writer.template stw
435
+ application/vnd.sus-calendar sus susp
436
+ application/vnd.svd svd
437
+ application/vnd.symbian.install sis sisx
438
+ application/vnd.syncml+xml xsm
439
+ application/vnd.syncml.dm+wbxml bdm
440
+ application/vnd.syncml.dm+xml xdm
441
+ application/vnd.tao.intent-module-archive tao
442
+ application/vnd.tcpdump.pcap pcap cap dmp
443
+ application/vnd.tmobile-livetv tmo
444
+ application/vnd.trid.tpt tpt
445
+ application/vnd.triscape.mxs mxs
446
+ application/vnd.trueapp tra
447
+ application/vnd.ufdl ufd ufdl
448
+ application/vnd.uiq.theme utz
449
+ application/vnd.umajin umj
450
+ application/vnd.unity unityweb
451
+ application/vnd.uoml+xml uoml
452
+ application/vnd.vcx vcx
453
+ application/vnd.visio vsd vst vss vsw
454
+ application/vnd.visionary vis
455
+ application/vnd.vsf vsf
456
+ application/vnd.wap.wbxml wbxml
457
+ application/vnd.wap.wmlc wmlc
458
+ application/vnd.wap.wmlscriptc wmlsc
459
+ application/vnd.webturbo wtb
460
+ application/vnd.wolfram.player nbp
461
+ application/vnd.wordperfect wpd
462
+ application/vnd.wqd wqd
463
+ application/vnd.wt.stf stf
464
+ application/vnd.xara xar
465
+ application/vnd.xfdl xfdl
466
+ application/vnd.yamaha.hv-dic hvd
467
+ application/vnd.yamaha.hv-script hvs
468
+ application/vnd.yamaha.hv-voice hvp
469
+ application/vnd.yamaha.openscoreformat osf
470
+ application/vnd.yamaha.openscoreformat.osfpvg+xml osfpvg
471
+ application/vnd.yamaha.smaf-audio saf
472
+ application/vnd.yamaha.smaf-phrase spf
473
+ application/vnd.yellowriver-custom-menu cmp
474
+ application/vnd.zul zir zirz
475
+ application/vnd.zzazz.deck+xml zaz
476
+ application/voicexml+xml vxml
477
+ application/widget wgt
478
+ application/winhlp hlp
479
+ application/wsdl+xml wsdl
480
+ application/wspolicy+xml wspolicy
481
+ application/x-7z-compressed 7z
482
+ application/x-abiword abw
483
+ application/x-ace-compressed ace
484
+ application/x-authorware-bin aab x32 u32 vox
485
+ application/x-authorware-map aam
486
+ application/x-authorware-seg aas
487
+ application/x-bcpio bcpio
488
+ application/x-bittorrent torrent
489
+ application/x-blorb blb blorb
490
+ application/x-bzip bz
491
+ application/x-bzip2 bz2 boz
492
+ application/x-cbr cbr cba cbt cbz cb7
493
+ application/x-cdlink vcd
494
+ application/x-cfs-compressed cfs
495
+ application/x-chat chat
496
+ application/x-chess-pgn pgn
497
+ application/x-chrome-extension crx
498
+ application/x-cocoa cco
499
+ application/x-conference nsc
500
+ application/x-cpio cpio
501
+ application/x-csh csh
502
+ application/x-debian-package udeb
503
+ application/x-dgc-compressed dgc
504
+ application/x-director dir dcr dxr cst cct cxt w3d fgd swa
505
+ application/x-doom wad
506
+ application/x-dtbncx+xml ncx
507
+ application/x-dtbook+xml dtb
508
+ application/x-dtbresource+xml res
509
+ application/x-dvi dvi
510
+ application/x-envoy evy
511
+ application/x-eva eva
512
+ application/x-font-bdf bdf
513
+ application/x-font-ghostscript gsf
514
+ application/x-font-linux-psf psf
515
+ application/x-font-otf otf
516
+ application/x-font-pcf pcf
517
+ application/x-font-snf snf
518
+ application/x-font-ttf ttf ttc
519
+ application/x-font-type1 pfa pfb pfm afm
520
+ application/x-freearc arc
521
+ application/x-futuresplash spl
522
+ application/x-gca-compressed gca
523
+ application/x-glulx ulx
524
+ application/x-gnumeric gnumeric
525
+ application/x-gramps-xml gramps
526
+ application/x-gtar gtar
527
+ application/x-hdf hdf
528
+ application/x-httpd-php php
529
+ application/x-install-instructions install
530
+ application/x-java-archive-diff jardiff
531
+ application/x-java-jnlp-file jnlp
532
+ application/x-latex latex
533
+ application/x-lua-bytecode luac
534
+ application/x-lzh-compressed lzh lha
535
+ application/x-makeself run
536
+ application/x-mie mie
537
+ application/x-mobipocket-ebook prc mobi
538
+ application/x-ms-application application
539
+ application/x-ms-shortcut lnk
540
+ application/x-ms-wmd wmd
541
+ application/x-ms-wmz wmz
542
+ application/x-ms-xbap xbap
543
+ application/x-msaccess mdb
544
+ application/x-msbinder obd
545
+ application/x-mscardfile crd
546
+ application/x-msclip clp
547
+ application/x-msdownload com bat
548
+ application/x-msmediaview mvb m13 m14
549
+ application/x-msmetafile wmf emf emz
550
+ application/x-msmoney mny
551
+ application/x-mspublisher pub
552
+ application/x-msschedule scd
553
+ application/x-msterminal trm
554
+ application/x-mswrite wri
555
+ application/x-netcdf nc cdf
556
+ application/x-ns-proxy-autoconfig pac
557
+ application/x-nzb nzb
558
+ application/x-perl pl pm
559
+ application/x-pkcs12 p12 pfx
560
+ application/x-pkcs7-certificates p7b spc
561
+ application/x-pkcs7-certreqresp p7r
562
+ application/x-rar-compressed rar
563
+ application/x-redhat-package-manager rpm
564
+ application/x-research-info-systems ris
565
+ application/x-sea sea
566
+ application/x-sh sh
567
+ application/x-shar shar
568
+ application/x-shockwave-flash swf
569
+ application/x-silverlight-app xap
570
+ application/x-sql sql
571
+ application/x-stuffit sit
572
+ application/x-stuffitx sitx
573
+ application/x-subrip srt
574
+ application/x-sv4cpio sv4cpio
575
+ application/x-sv4crc sv4crc
576
+ application/x-t3vm-image t3
577
+ application/x-tads gam
578
+ application/x-tar tar
579
+ application/x-tcl tcl tk
580
+ application/x-tex tex
581
+ application/x-tex-tfm tfm
582
+ application/x-texinfo texinfo texi
583
+ application/x-tgif obj
584
+ application/x-ustar ustar
585
+ application/x-wais-source src
586
+ application/x-web-app-manifest+json webapp
587
+ application/x-x509-ca-cert der crt pem
588
+ application/x-xfig fig
589
+ application/x-xliff+xml xlf
590
+ application/x-xpinstall xpi
591
+ application/x-xz xz
592
+ application/x-zmachine z1 z2 z3 z4 z5 z6 z7 z8
593
+ application/xaml+xml xaml
594
+ application/xcap-diff+xml xdf
595
+ application/xenc+xml xenc
596
+ application/xhtml+xml xhtml xht
597
+ application/xml xml xsl xsd
598
+ application/xml-dtd dtd
599
+ application/xop+xml xop
600
+ application/xproc+xml xpl
601
+ application/xslt+xml xslt
602
+ application/xspf+xml xspf
603
+ application/xv+xml mxml xhvml xvml xvm
604
+ application/yang yang
605
+ application/yin+xml yin
606
+ application/zip zip
607
+ audio/adpcm adp
608
+ audio/basic au snd
609
+ audio/midi mid midi kar rmi
610
+ audio/mp4 mp4a m4a
611
+ audio/mpeg mpga mp2 mp2a mp3 m2a m3a
612
+ audio/ogg oga ogg spx
613
+ audio/s3m s3m
614
+ audio/silk sil
615
+ audio/vnd.dece.audio uva uvva
616
+ audio/vnd.digital-winds eol
617
+ audio/vnd.dra dra
618
+ audio/vnd.dts dts
619
+ audio/vnd.dts.hd dtshd
620
+ audio/vnd.lucent.voice lvp
621
+ audio/vnd.ms-playready.media.pya pya
622
+ audio/vnd.nuera.ecelp4800 ecelp4800
623
+ audio/vnd.nuera.ecelp7470 ecelp7470
624
+ audio/vnd.nuera.ecelp9600 ecelp9600
625
+ audio/vnd.rip rip
626
+ audio/wav wav
627
+ audio/webm weba
628
+ audio/x-aac aac
629
+ audio/x-aiff aif aiff aifc
630
+ audio/x-caf caf
631
+ audio/x-flac flac
632
+ audio/x-matroska mka
633
+ audio/x-mpegurl m3u
634
+ audio/x-ms-wax wax
635
+ audio/x-ms-wma wma
636
+ audio/x-pn-realaudio ram ra
637
+ audio/x-pn-realaudio-plugin rmp
638
+ audio/xm xm
639
+ chemical/x-cdx cdx
640
+ chemical/x-cif cif
641
+ chemical/x-cmdf cmdf
642
+ chemical/x-cml cml
643
+ chemical/x-csml csml
644
+ chemical/x-xyz xyz
645
+ image/bmp bmp
646
+ image/cgm cgm
647
+ image/g3fax g3
648
+ image/gif gif
649
+ image/ief ief
650
+ image/jpeg jpeg jpg jpe
651
+ image/ktx ktx
652
+ image/png png
653
+ image/prs.btif btif
654
+ image/sgi sgi
655
+ image/svg+xml svg svgz
656
+ image/tiff tiff tif
657
+ image/vnd.adobe.photoshop psd
658
+ image/vnd.dece.graphic uvi uvvi uvg uvvg
659
+ image/vnd.djvu djvu djv
660
+ image/vnd.dvb.subtitle sub
661
+ image/vnd.dwg dwg
662
+ image/vnd.dxf dxf
663
+ image/vnd.fastbidsheet fbs
664
+ image/vnd.fpx fpx
665
+ image/vnd.fst fst
666
+ image/vnd.fujixerox.edmics-mmr mmr
667
+ image/vnd.fujixerox.edmics-rlc rlc
668
+ image/vnd.ms-modi mdi
669
+ image/vnd.ms-photo wdp
670
+ image/vnd.net-fpx npx
671
+ image/vnd.wap.wbmp wbmp
672
+ image/vnd.xiff xif
673
+ image/webp webp
674
+ image/x-3ds 3ds
675
+ image/x-cmu-raster ras
676
+ image/x-cmx cmx
677
+ image/x-freehand fh fhc fh4 fh5 fh7
678
+ image/x-icon ico
679
+ image/x-jng jng
680
+ image/x-mrsid-image sid
681
+ image/x-pcx pcx
682
+ image/x-pict pic pct
683
+ image/x-portable-anymap pnm
684
+ image/x-portable-bitmap pbm
685
+ image/x-portable-graymap pgm
686
+ image/x-portable-pixmap ppm
687
+ image/x-rgb rgb
688
+ image/x-tga tga
689
+ image/x-xbitmap xbm
690
+ image/x-xpixmap xpm
691
+ image/x-xwindowdump xwd
692
+ message/rfc822 eml mime
693
+ model/iges igs iges
694
+ model/mesh msh mesh silo
695
+ model/vnd.collada+xml dae
696
+ model/vnd.dwf dwf
697
+ model/vnd.gdl gdl
698
+ model/vnd.gtw gtw
699
+ model/vnd.mts mts
700
+ model/vnd.vtu vtu
701
+ model/vrml wrl vrml
702
+ model/x3d+binary x3db x3dbz
703
+ model/x3d+vrml x3dv x3dvz
704
+ model/x3d+xml x3d x3dz
705
+ text/cache-manifest appcache manifest
706
+ text/calendar ics ifb
707
+ text/coffeescript coffee litcoffee
708
+ text/css css
709
+ text/csv csv
710
+ text/hjson hjson
711
+ text/html html htm shtml
712
+ text/jade jade
713
+ text/jsx jsx
714
+ text/less less
715
+ text/mathml mml
716
+ text/n3 n3
717
+ text/plain txt text conf def list log in ini
718
+ text/prs.lines.tag dsc
719
+ text/richtext rtx
720
+ text/sgml sgml sgm
721
+ text/stylus stylus styl
722
+ text/tab-separated-values tsv
723
+ text/troff t tr roff man me ms
724
+ text/turtle ttl
725
+ text/uri-list uri uris urls
726
+ text/vcard vcard
727
+ text/vnd.curl curl
728
+ text/vnd.curl.dcurl dcurl
729
+ text/vnd.curl.mcurl mcurl
730
+ text/vnd.curl.scurl scurl
731
+ text/vnd.fly fly
732
+ text/vnd.fmi.flexstor flx
733
+ text/vnd.graphviz gv
734
+ text/vnd.in3d.3dml 3dml
735
+ text/vnd.in3d.spot spot
736
+ text/vnd.sun.j2me.app-descriptor jad
737
+ text/vnd.wap.wml wml
738
+ text/vnd.wap.wmlscript wmls
739
+ text/vtt vtt
740
+ text/x-asm s asm
741
+ text/x-c c cc cxx cpp h hh dic
742
+ text/x-component htc
743
+ text/x-fortran f for f77 f90
744
+ text/x-handlebars-template hbs
745
+ text/x-java-source java
746
+ text/x-lua lua
747
+ text/x-markdown markdown md mkd
748
+ text/x-nfo nfo
749
+ text/x-opml opml
750
+ text/x-pascal p pas
751
+ text/x-processing pde
752
+ text/x-sass sass
753
+ text/x-scss scss
754
+ text/x-setext etx
755
+ text/x-sfv sfv
756
+ text/x-uuencode uu
757
+ text/x-vcalendar vcs
758
+ text/x-vcard vcf
759
+ text/yaml yaml yml
760
+ video/3gpp 3gp 3gpp
761
+ video/3gpp2 3g2
762
+ video/h261 h261
763
+ video/h263 h263
764
+ video/h264 h264
765
+ video/jpeg jpgv
766
+ video/jpm jpm jpgm
767
+ video/mj2 mj2 mjp2
768
+ video/mp2t ts
769
+ video/mp4 mp4 mp4v mpg4
770
+ video/mpeg mpeg mpg mpe m1v m2v
771
+ video/ogg ogv
772
+ video/quicktime qt mov
773
+ video/vnd.dece.hd uvh uvvh
774
+ video/vnd.dece.mobile uvm uvvm
775
+ video/vnd.dece.pd uvp uvvp
776
+ video/vnd.dece.sd uvs uvvs
777
+ video/vnd.dece.video uvv uvvv
778
+ video/vnd.dvb.file dvb
779
+ video/vnd.fvt fvt
780
+ video/vnd.mpegurl mxu m4u
781
+ video/vnd.ms-playready.media.pyv pyv
782
+ video/vnd.uvvu.mp4 uvu uvvu
783
+ video/vnd.vivo viv
784
+ video/webm webm
785
+ video/x-f4v f4v
786
+ video/x-fli fli
787
+ video/x-flv flv
788
+ video/x-m4v m4v
789
+ video/x-matroska mkv mk3d mks
790
+ video/x-mng mng
791
+ video/x-ms-asf asf asx
792
+ video/x-ms-vob vob
793
+ video/x-ms-wm wm
794
+ video/x-ms-wmv wmv
795
+ video/x-ms-wmx wmx
796
+ video/x-ms-wvx wvx
797
+ video/x-msvideo avi
798
+ video/x-sgi-movie movie
799
+ video/x-smv smv
800
+ x-conference/x-cooltalk ice