bunto 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (95) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +21 -0
  3. data/README.markdown +59 -0
  4. data/bin/bunto +51 -0
  5. data/lib/bunto.rb +179 -0
  6. data/lib/bunto/cleaner.rb +105 -0
  7. data/lib/bunto/collection.rb +205 -0
  8. data/lib/bunto/command.rb +65 -0
  9. data/lib/bunto/commands/build.rb +77 -0
  10. data/lib/bunto/commands/clean.rb +42 -0
  11. data/lib/bunto/commands/doctor.rb +114 -0
  12. data/lib/bunto/commands/help.rb +31 -0
  13. data/lib/bunto/commands/new.rb +82 -0
  14. data/lib/bunto/commands/serve.rb +204 -0
  15. data/lib/bunto/commands/serve/servlet.rb +61 -0
  16. data/lib/bunto/configuration.rb +323 -0
  17. data/lib/bunto/converter.rb +48 -0
  18. data/lib/bunto/converters/identity.rb +21 -0
  19. data/lib/bunto/converters/markdown.rb +92 -0
  20. data/lib/bunto/converters/markdown/kramdown_parser.rb +117 -0
  21. data/lib/bunto/converters/markdown/rdiscount_parser.rb +33 -0
  22. data/lib/bunto/converters/markdown/redcarpet_parser.rb +102 -0
  23. data/lib/bunto/converters/smartypants.rb +34 -0
  24. data/lib/bunto/convertible.rb +297 -0
  25. data/lib/bunto/deprecator.rb +46 -0
  26. data/lib/bunto/document.rb +444 -0
  27. data/lib/bunto/drops/bunto_drop.rb +21 -0
  28. data/lib/bunto/drops/collection_drop.rb +22 -0
  29. data/lib/bunto/drops/document_drop.rb +27 -0
  30. data/lib/bunto/drops/drop.rb +176 -0
  31. data/lib/bunto/drops/site_drop.rb +38 -0
  32. data/lib/bunto/drops/unified_payload_drop.rb +25 -0
  33. data/lib/bunto/drops/url_drop.rb +83 -0
  34. data/lib/bunto/entry_filter.rb +72 -0
  35. data/lib/bunto/errors.rb +10 -0
  36. data/lib/bunto/excerpt.rb +127 -0
  37. data/lib/bunto/external.rb +59 -0
  38. data/lib/bunto/filters.rb +367 -0
  39. data/lib/bunto/frontmatter_defaults.rb +188 -0
  40. data/lib/bunto/generator.rb +3 -0
  41. data/lib/bunto/hooks.rb +101 -0
  42. data/lib/bunto/layout.rb +49 -0
  43. data/lib/bunto/liquid_extensions.rb +22 -0
  44. data/lib/bunto/liquid_renderer.rb +39 -0
  45. data/lib/bunto/liquid_renderer/file.rb +50 -0
  46. data/lib/bunto/liquid_renderer/table.rb +94 -0
  47. data/lib/bunto/log_adapter.rb +115 -0
  48. data/lib/bunto/mime.types +800 -0
  49. data/lib/bunto/page.rb +180 -0
  50. data/lib/bunto/plugin.rb +96 -0
  51. data/lib/bunto/plugin_manager.rb +95 -0
  52. data/lib/bunto/post.rb +329 -0
  53. data/lib/bunto/publisher.rb +21 -0
  54. data/lib/bunto/reader.rb +126 -0
  55. data/lib/bunto/readers/collection_reader.rb +20 -0
  56. data/lib/bunto/readers/data_reader.rb +69 -0
  57. data/lib/bunto/readers/layout_reader.rb +53 -0
  58. data/lib/bunto/readers/page_reader.rb +21 -0
  59. data/lib/bunto/readers/post_reader.rb +62 -0
  60. data/lib/bunto/readers/static_file_reader.rb +21 -0
  61. data/lib/bunto/regenerator.rb +175 -0
  62. data/lib/bunto/related_posts.rb +56 -0
  63. data/lib/bunto/renderer.rb +191 -0
  64. data/lib/bunto/site.rb +391 -0
  65. data/lib/bunto/static_file.rb +141 -0
  66. data/lib/bunto/stevenson.rb +58 -0
  67. data/lib/bunto/tags/highlight.rb +122 -0
  68. data/lib/bunto/tags/include.rb +190 -0
  69. data/lib/bunto/tags/post_url.rb +88 -0
  70. data/lib/bunto/url.rb +136 -0
  71. data/lib/bunto/utils.rb +287 -0
  72. data/lib/bunto/utils/ansi.rb +59 -0
  73. data/lib/bunto/utils/platforms.rb +30 -0
  74. data/lib/bunto/version.rb +3 -0
  75. data/lib/site_template/.gitignore +3 -0
  76. data/lib/site_template/_config.yml +21 -0
  77. data/lib/site_template/_includes/footer.html +38 -0
  78. data/lib/site_template/_includes/head.html +12 -0
  79. data/lib/site_template/_includes/header.html +27 -0
  80. data/lib/site_template/_includes/icon-github.html +1 -0
  81. data/lib/site_template/_includes/icon-github.svg +1 -0
  82. data/lib/site_template/_includes/icon-twitter.html +1 -0
  83. data/lib/site_template/_includes/icon-twitter.svg +1 -0
  84. data/lib/site_template/_layouts/default.html +20 -0
  85. data/lib/site_template/_layouts/page.html +14 -0
  86. data/lib/site_template/_layouts/post.html +15 -0
  87. data/lib/site_template/_posts/0000-00-00-welcome-to-bunto.markdown.erb +25 -0
  88. data/lib/site_template/_sass/_base.scss +206 -0
  89. data/lib/site_template/_sass/_layout.scss +242 -0
  90. data/lib/site_template/_sass/_syntax-highlighting.scss +71 -0
  91. data/lib/site_template/about.md +15 -0
  92. data/lib/site_template/css/main.scss +53 -0
  93. data/lib/site_template/feed.xml +30 -0
  94. data/lib/site_template/index.html +23 -0
  95. metadata +252 -0
@@ -0,0 +1,94 @@
1
+ module Bunto
2
+ class LiquidRenderer::Table
3
+ def initialize(stats)
4
+ @stats = stats
5
+ end
6
+
7
+ def to_s(n = 50)
8
+ data = data_for_table(n)
9
+ widths = table_widths(data)
10
+ generate_table(data, widths)
11
+ end
12
+
13
+ private
14
+
15
+ def generate_table(data, widths)
16
+ str = "\n"
17
+
18
+ table_head = data.shift
19
+ str << generate_row(table_head, widths)
20
+ str << generate_table_head_border(table_head, widths)
21
+
22
+ data.each do |row_data|
23
+ str << generate_row(row_data, widths)
24
+ end
25
+
26
+ str << "\n"
27
+ str
28
+ end
29
+
30
+ def generate_table_head_border(row_data, widths)
31
+ str = ""
32
+
33
+ row_data.each_index do |cell_index|
34
+ str << '-' * widths[cell_index]
35
+ str << '-+-' unless cell_index == row_data.length-1
36
+ end
37
+
38
+ str << "\n"
39
+ str
40
+ end
41
+
42
+ def generate_row(row_data, widths)
43
+ str = ''
44
+
45
+ row_data.each_with_index do |cell_data, cell_index|
46
+ if cell_index == 0
47
+ str << cell_data.ljust(widths[cell_index], ' ')
48
+ else
49
+ str << cell_data.rjust(widths[cell_index], ' ')
50
+ end
51
+
52
+ str << ' | ' unless cell_index == row_data.length-1
53
+ end
54
+
55
+ str << "\n"
56
+ str
57
+ end
58
+
59
+ def table_widths(data)
60
+ widths = []
61
+
62
+ data.each do |row|
63
+ row.each_with_index do |cell, index|
64
+ widths[index] = [ cell.length, widths[index] ].compact.max
65
+ end
66
+ end
67
+
68
+ widths
69
+ end
70
+
71
+ def data_for_table(n)
72
+ sorted = @stats.sort_by { |_, file_stats| -file_stats[:time] }
73
+ sorted = sorted.slice(0, n)
74
+
75
+ table = [%w(Filename Count Bytes Time)]
76
+
77
+ sorted.each do |filename, file_stats|
78
+ row = []
79
+ row << filename
80
+ row << file_stats[:count].to_s
81
+ row << format_bytes(file_stats[:bytes])
82
+ row << "%.3f" % file_stats[:time]
83
+ table << row
84
+ end
85
+
86
+ table
87
+ end
88
+
89
+ def format_bytes(bytes)
90
+ bytes /= 1024.0
91
+ "%.2fK" % bytes
92
+ end
93
+ end
94
+ end
@@ -0,0 +1,115 @@
1
+ module Bunto
2
+ class LogAdapter
3
+ attr_reader :writer, :messages
4
+
5
+ LOG_LEVELS = {
6
+ :debug => ::Logger::DEBUG,
7
+ :info => ::Logger::INFO,
8
+ :warn => ::Logger::WARN,
9
+ :error => ::Logger::ERROR
10
+ }
11
+
12
+ # Public: Create a new instance of a log writer
13
+ #
14
+ # writer - Logger compatible instance
15
+ # log_level - (optional, symbol) the log level
16
+ #
17
+ # Returns nothing
18
+ def initialize(writer, level = :info)
19
+ @messages = []
20
+ @writer = writer
21
+ self.log_level = level
22
+ end
23
+
24
+ # Public: Set the log level on the writer
25
+ #
26
+ # level - (symbol) the log level
27
+ #
28
+ # Returns nothing
29
+ def log_level=(level)
30
+ writer.level = LOG_LEVELS.fetch(level)
31
+ end
32
+
33
+ def adjust_verbosity(options = {})
34
+ # Quiet always wins.
35
+ if options[:quiet]
36
+ self.log_level = :error
37
+ elsif options[:verbose]
38
+ self.log_level = :debug
39
+ end
40
+ debug "Logging at level:", LOG_LEVELS.key(writer.level).to_s
41
+ end
42
+
43
+ # Public: Print a debug message
44
+ #
45
+ # topic - the topic of the message, e.g. "Configuration file", "Deprecation", etc.
46
+ # message - the message detail
47
+ #
48
+ # Returns nothing
49
+ def debug(topic, message = nil)
50
+ writer.debug(message(topic, message))
51
+ end
52
+
53
+ # Public: Print a message
54
+ #
55
+ # topic - the topic of the message, e.g. "Configuration file", "Deprecation", etc.
56
+ # message - the message detail
57
+ #
58
+ # Returns nothing
59
+ def info(topic, message = nil)
60
+ writer.info(message(topic, message))
61
+ end
62
+
63
+ # Public: Print a message
64
+ #
65
+ # topic - the topic of the message, e.g. "Configuration file", "Deprecation", etc.
66
+ # message - the message detail
67
+ #
68
+ # Returns nothing
69
+ def warn(topic, message = nil)
70
+ writer.warn(message(topic, message))
71
+ end
72
+
73
+ # Public: Print an error message
74
+ #
75
+ # topic - the topic of the message, e.g. "Configuration file", "Deprecation", etc.
76
+ # message - the message detail
77
+ #
78
+ # Returns nothing
79
+ def error(topic, message = nil)
80
+ writer.error(message(topic, message))
81
+ end
82
+
83
+ # Public: Print an error message and immediately abort the process
84
+ #
85
+ # topic - the topic of the message, e.g. "Configuration file", "Deprecation", etc.
86
+ # message - the message detail (can be omitted)
87
+ #
88
+ # Returns nothing
89
+ def abort_with(topic, message = nil)
90
+ error(topic, message)
91
+ abort
92
+ end
93
+
94
+ # Internal: Build a topic method
95
+ #
96
+ # topic - the topic of the message, e.g. "Configuration file", "Deprecation", etc.
97
+ # message - the message detail
98
+ #
99
+ # Returns the formatted message
100
+ def message(topic, message)
101
+ msg = formatted_topic(topic) + message.to_s.gsub(/\s+/, ' ')
102
+ messages << msg
103
+ msg
104
+ end
105
+
106
+ # Internal: Format the topic
107
+ #
108
+ # topic - the topic of the message, e.g. "Configuration file", "Deprecation", etc.
109
+ #
110
+ # Returns the formatted topic statement
111
+ def formatted_topic(topic)
112
+ "#{topic} ".rjust(20)
113
+ end
114
+ end
115
+ end
@@ -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