blob: 859b0840e9dc7f85da75efab764254887dca9388 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
|
(.module:
[library
[lux #*
[data
["." text
["%" format (#+ format)]
["." encoding (#+ Encoding)]]]
[type
abstract]]])
(abstract: #export MIME
Text
{#doc "Multipurpose Internet Mail Extensions"}
(def: #export mime
(-> Text MIME)
(|>> :abstraction))
(def: #export name
(-> MIME Text)
(|>> :representation))
)
## https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Complete_list_of_MIME_types
(template [<name> <type>]
[(def: #export <name> MIME (..mime <type>))]
[aac-audio "audio/aac"]
[abiword "application/x-abiword"]
[avi "video/x-msvideo"]
[amazon-kindle-ebook "application/vnd.amazon.ebook"]
[binary "application/octet-stream"]
[bitmap "image/bmp"]
[bzip "application/x-bzip"]
[bzip2 "application/x-bzip2"]
[c-shell "application/x-csh"]
[css "text/css"]
[csv "text/csv"]
[microsoft-word "application/msword"]
[microsoft-word-openxml "application/vnd.openxmlformats-officedocument.wordprocessingml.document"]
[ms-embedded-opentype-fonts "application/vnd.ms-fontobject"]
[epub "application/epub+zip"]
[ecmascript "application/ecmascript"]
[gif "image/gif"]
[html "text/html"]
[icon "image/x-icon"]
[icalendar "text/calendar"]
[jar "application/java-archive"]
[jpeg "image/jpeg"]
[javascript "application/javascript"]
[json "application/json"]
[midi "audio/midi"]
[mpeg "video/mpeg"]
[apple-installer-package "application/vnd.apple.installer+xml"]
[opendocument-presentation "application/vnd.oasis.opendocument.presentation"]
[opendocument-spreadsheet "application/vnd.oasis.opendocument.spreadsheet"]
[opendocument-text "application/vnd.oasis.opendocument.text"]
[ogg-audio "audio/ogg"]
[ogg-video "video/ogg"]
[ogg "application/ogg"]
[opentype-font "font/otf"]
[png "image/png"]
[pdf "application/pdf"]
[microsoft-powerpoint "application/vnd.ms-powerpoint"]
[microsoft-powerpoint-openxml "application/vnd.openxmlformats-officedocument.presentationml.presentation"]
[rar "application/x-rar-compressed"]
[rtf "application/rtf"]
[bourne-shell "application/x-sh"]
[svg "image/svg+xml"]
[flash "application/x-shockwave-flash"]
[tar "application/x-tar"]
[tiff "image/tiff"]
[typescript "application/typescript"]
[truetype-font "font/ttf"]
[microsoft-visio "application/vnd.visio"]
[wav "audio/wav"]
[webm-audio "audio/webm"]
[webm-video "video/webm"]
[webp "image/webp"]
[woff "font/woff"]
[woff2 "font/woff2"]
[xhtml "application/xhtml+xml"]
[microsoft-excel "application/vnd.ms-excel"]
[microsoft-excel-openxml "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"]
[xml "application/xml"]
[xul "application/vnd.mozilla.xul+xml"]
[zip "application/zip"]
[!3gpp-audio "audio/3gpp"]
[!3gpp "video/3gpp"]
[!3gpp2-audio "audio/3gpp2"]
[!3gpp2 "video/3gpp2"]
[!7z "application/x-7z-compressed"]
)
(def: #export (text encoding)
(-> Encoding MIME)
(..mime (format "text/plain; charset=" text.double-quote (encoding.name encoding) text.double-quote)))
(def: #export utf-8 MIME (..text encoding.utf-8))
|