2 #@ The set of MIME types that will be built in.
3 #@ Official MIME types are registered at and managed by IANA, see
4 #@ <https://www.iana.org/assignments/media-types/media-types.xhtml>
5 #@ In here are EXTensions and CHANGEs, though.
7 # Lines starting with a number sign (#) (after possible whitespace) are
8 # comments and discarded, empty lines are ignored, remaining ones are
9 # interpreted according to the scheme
10 # [TYPEMARKER ]MIMETYPE whitespace EXTENSION(S, whitespace separated)
11 # MIMETYPE may occur several times, values are joined.
14 # - Follow lines may be used: instead of repeating MIMETYPE, start the next
15 # line with whitespace. (Intervening comment lines may be used.)
16 # - TYPEMARKER: a question mark (?) will tag the MIME type as plain text
17 # (unless the user installs a specific handler for the type in question).
18 # The meaning is identical to what is documented for command `mimetype'.
20 # Syntax restrictions:
21 # - Comments must be lines of their own.
22 # - Only MIME types for which we have a type constant allocated in
23 # src/mx/mime-type.c:enum a_mimetype are allowed in this file here.
24 # - MIME types without any file extensions are not handled.
25 # - Note that the order of types and extensions is preserved.
26 # - Note that at least one built-in type is required (empty C array)
28 # Expected frequent use
29 # text/plain CHANGE: m4->text/x-m4, pod->text/x-pod; rc<-
30 ? text/plain txt text conf cfg def list log in properties rc
31 ? text/x-diff diff patch
32 ? text/troff t tr roff man me ms tmac 1 2 3 4 5 6 7 8 9
34 ?h application/xhtml+xml xhtml xht
36 application/xml xml xsl xsd
38 ? application/x-sh sh bash
42 ? text/x-c++hdr hpp hxx hh h++ hp
43 ? text/x-c++src cpp cxx cc c++
45 ? text/x-perl pl pm al perl
46 ? text/x-raku raku rakumod
47 # CHANGE (tika: text/plain)
49 ? text/x-rakudoc rakudoc
52 application/x-xz xz txz
54 application/x-lzma lzma tlz
55 application/zstd zst tzst
56 application/gzip tgz gz emz
60 application/x-bzip2 bz2 tbz2 boz
65 application/pgp-encrypted pgp
66 ?q application/pgp-signature sig asc
67 application/pkcs7-mime p7m p7c
68 ?q application/pkcs7-signature p7s
69 application/postscript ps eps epsf epsi
73 image/jpeg jpg jpeg jpe jif jfif jfi
78 # Remains alphabetically
79 ? application/javascript js
80 ? application/json json
81 ? application/mbox mbox
82 application/rdf+xml rdf owl
83 application/rss+xml rss
85 application/x-bcpio bcpio
86 application/x-bittorrent torrent
87 application/x-bzip bz tbz
88 application/x-compress z
89 application/x-cpio cpio
90 ? application/x-csh csh tcsh
92 ? application/x-latex latex
93 application/x-shar shar
94 ? application/x-tex tex
95 ? application/x-texinfo texinfo texi
96 application/x-x509-ca-cert der crt
97 application/x-xfig fig
98 application/xml-dtd dtd
99 application/xquery xq xquery
100 application/xslt+xml xslt
103 audio/midi mid midi kar rmi
104 audio/mp4 mp4 mp4a m4a m4b
105 audio/mpeg mpga mp2 mp2a mp3 m2a m3a
112 audio/x-pn-realaudio ram ra
114 image/svg+xml svg svgz
116 image/x-ms-bmp bmp dib
120 image/x-xwindowdump xwd
121 message/rfc822 eml mime mht mhtml
122 ? text/calendar ics ifb
126 ? text/x-assembly s S asm
127 # (Note tuple extensions will never match since text/plain wins!)
128 ? text/x-asciidoc asciidoc adoc ad ad.txt adoc.txt
130 # (I have assembler CGI's written myself, do not "? " mark that one)
139 # CHANGE (tika: text/plain)
142 ? text/x-php php php3 php4
144 ? text/x-rst rst rest restx
147 ? text/x-vcalendar vcs
149 ? text/markdown md markdown