mime-types-data 3.2024.1105 → 3.2026.0127
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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +794 -0
- data/CODE_OF_CONDUCT.md +166 -0
- data/CONTRIBUTING.md +213 -0
- data/CONTRIBUTORS.md +54 -0
- data/{Licence.md → LICENCE.md} +1 -1
- data/Manifest.txt +7 -19
- data/README.md +42 -34
- data/Rakefile +52 -116
- data/SECURITY.md +24 -5
- data/data/content_type_mime.db +240 -48
- data/data/ext_mime.db +1611 -1204
- data/data/mime-types.json +1 -1
- data/data/mime.content_type.column +535 -57
- data/data/mime.docs.column +478 -0
- data/data/mime.encoding.column +478 -0
- data/data/mime.flags.column +556 -78
- data/data/mime.friendly.column +478 -0
- data/data/mime.pext.column +478 -0
- data/data/mime.spri.column +0 -0
- data/data/mime.use_instead.column +478 -0
- data/data/mime.xrefs.column +586 -108
- data/lib/mime/types/data.rb +1 -1
- data/licences/dco.txt +34 -0
- metadata +33 -105
- data/Code-of-Conduct.md +0 -128
- data/Contributing.md +0 -203
- data/History.md +0 -615
- data/types/application.yaml +0 -18989
- data/types/audio.yaml +0 -1753
- data/types/chemical.yaml +0 -71
- data/types/conference.yaml +0 -9
- data/types/drawing.yaml +0 -15
- data/types/example.yaml +0 -1
- data/types/font.yaml +0 -65
- data/types/haptics.yaml +0 -28
- data/types/image.yaml +0 -1329
- data/types/message.yaml +0 -247
- data/types/model.yaml +0 -454
- data/types/multipart.yaml +0 -187
- data/types/text.yaml +0 -1281
- data/types/video.yaml +0 -1158
- data/types/world.yaml +0 -8
data/CODE_OF_CONDUCT.md
ADDED
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
# Contributor Covenant 3.0 Code of Conduct
|
|
2
|
+
|
|
3
|
+
## Our Pledge
|
|
4
|
+
|
|
5
|
+
We pledge to make our community welcoming, safe, and equitable for all.
|
|
6
|
+
|
|
7
|
+
We are committed to fostering an environment that respects and promotes the
|
|
8
|
+
dignity, rights, and contributions of all individuals, regardless of
|
|
9
|
+
characteristics including race, ethnicity, caste, color, age, physical
|
|
10
|
+
characteristics, neurodiversity, disability, sex or gender, gender identity or
|
|
11
|
+
expression, sexual orientation, language, philosophy or religion, national or
|
|
12
|
+
social origin, socio-economic position, level of education, or other status. The
|
|
13
|
+
same privileges of participation are extended to everyone who participates in
|
|
14
|
+
good faith and in accordance with this Covenant.
|
|
15
|
+
|
|
16
|
+
## Encouraged Behaviors
|
|
17
|
+
|
|
18
|
+
While acknowledging differences in social norms, we all strive to meet our
|
|
19
|
+
community's expectations for positive behavior. We also understand that our
|
|
20
|
+
words and actions may be interpreted differently than we intend based on
|
|
21
|
+
culture, background, or native language.
|
|
22
|
+
|
|
23
|
+
With these considerations in mind, we agree to behave mindfully toward each
|
|
24
|
+
other and act in ways that center our shared values, including:
|
|
25
|
+
|
|
26
|
+
1. Respecting the **purpose of our community**, our activities, and our ways of
|
|
27
|
+
gathering.
|
|
28
|
+
2. Engaging **kindly and honestly** with others.
|
|
29
|
+
3. Respecting **different viewpoints** and experiences.
|
|
30
|
+
4. **Taking responsibility** for our actions and contributions.
|
|
31
|
+
5. Gracefully giving and accepting **constructive feedback**.
|
|
32
|
+
6. Committing to **repairing harm** when it occurs.
|
|
33
|
+
7. Behaving in other ways that promote and sustain the **well-being of our
|
|
34
|
+
community**.
|
|
35
|
+
|
|
36
|
+
## Restricted Behaviors
|
|
37
|
+
|
|
38
|
+
We agree to restrict the following behaviors in our community. Instances,
|
|
39
|
+
threats, and promotion of these behaviors are violations of this Code of
|
|
40
|
+
Conduct.
|
|
41
|
+
|
|
42
|
+
1. **Harassment.** Violating explicitly expressed boundaries or engaging in
|
|
43
|
+
unnecessary personal attention after any clear request to stop.
|
|
44
|
+
2. **Character attacks.** Making insulting, demeaning, or pejorative comments
|
|
45
|
+
directed at a community member or group of people.
|
|
46
|
+
3. **Stereotyping or discrimination.** Characterizing anyone’s personality or
|
|
47
|
+
behavior on the basis of immutable identities or traits.
|
|
48
|
+
4. **Sexualization.** Behaving in a way that would generally be considered
|
|
49
|
+
inappropriately intimate in the context or purpose of the community.
|
|
50
|
+
5. **Violating confidentiality**. Sharing or acting on someone's personal or
|
|
51
|
+
private information without their permission.
|
|
52
|
+
6. **Endangerment.** Causing, encouraging, or threatening violence or other harm
|
|
53
|
+
toward any person or group.
|
|
54
|
+
7. Behaving in other ways that **threaten the well-being** of our community.
|
|
55
|
+
|
|
56
|
+
### Other Restrictions
|
|
57
|
+
|
|
58
|
+
1. **Misleading identity.** Impersonating someone else for any reason, or
|
|
59
|
+
pretending to be someone else to evade enforcement actions.
|
|
60
|
+
2. **Failing to credit sources.** Not properly crediting the sources of content
|
|
61
|
+
you contribute.
|
|
62
|
+
3. **Promotional materials**. Sharing marketing or other commercial content in a
|
|
63
|
+
way that is outside the norms of the community.
|
|
64
|
+
4. **Irresponsible communication.** Failing to responsibly present content which
|
|
65
|
+
includes, links or describes any other restricted behaviors.
|
|
66
|
+
|
|
67
|
+
## Reporting an Issue
|
|
68
|
+
|
|
69
|
+
Tensions can occur between community members even when they are trying their
|
|
70
|
+
best to collaborate. Not every conflict represents a code of conduct violation,
|
|
71
|
+
and this Code of Conduct reinforces encouraged behaviors and norms that can help
|
|
72
|
+
avoid conflicts and minimize harm.
|
|
73
|
+
|
|
74
|
+
When an incident does occur, it is important to report it promptly. To report a
|
|
75
|
+
possible violation, create a [private security advisory][advisory] — violations
|
|
76
|
+
of this code of conduct are considered security vulnerabilities.
|
|
77
|
+
|
|
78
|
+
Community Moderators take reports of violations seriously and will make every
|
|
79
|
+
effort to respond in a timely manner. They will investigate all reports of code
|
|
80
|
+
of conduct violations, reviewing messages, logs, and recordings, or interviewing
|
|
81
|
+
witnesses and other participants. Community Moderators will keep investigation
|
|
82
|
+
and enforcement actions as transparent as possible while prioritizing safety and
|
|
83
|
+
confidentiality. In order to honor these values, enforcement actions are carried
|
|
84
|
+
out in private with the involved parties, but communicating to the whole
|
|
85
|
+
community may be part of a mutually agreed upon resolution.
|
|
86
|
+
|
|
87
|
+
## Addressing and Repairing Harm
|
|
88
|
+
|
|
89
|
+
If an investigation by the Community Moderators finds that this Code of Conduct
|
|
90
|
+
has been violated, the following enforcement ladder may be used to determine how
|
|
91
|
+
best to repair harm, based on the incident's impact on the individuals involved
|
|
92
|
+
and the community as a whole. Depending on the severity of a violation, lower
|
|
93
|
+
rungs on the ladder may be skipped.
|
|
94
|
+
|
|
95
|
+
1. Warning
|
|
96
|
+
1. Event: A violation involving a single incident or series of incidents.
|
|
97
|
+
2. Consequence: A private, written warning from the Community Moderators.
|
|
98
|
+
3. Repair: Examples of repair include a private written apology,
|
|
99
|
+
acknowledgement of responsibility, and seeking clarification on
|
|
100
|
+
expectations.
|
|
101
|
+
|
|
102
|
+
2. Temporarily Limited Activities
|
|
103
|
+
1. Event: A repeated incidence of a violation that previously resulted in a
|
|
104
|
+
warning, or the first incidence of a more serious violation.
|
|
105
|
+
2. Consequence: A private, written warning with a time-limited cooldown
|
|
106
|
+
period designed to underscore the seriousness of the situation and give
|
|
107
|
+
the community members involved time to process the incident. The cooldown
|
|
108
|
+
period may be limited to particular communication channels or interactions
|
|
109
|
+
with particular community members.
|
|
110
|
+
3. Repair: Examples of repair may include making an apology, using the
|
|
111
|
+
cooldown period to reflect on actions and impact, and being thoughtful
|
|
112
|
+
about re-entering community spaces after the period is over.
|
|
113
|
+
|
|
114
|
+
3. Temporary Suspension
|
|
115
|
+
1. Event: A pattern of repeated violation which the Community Moderators have
|
|
116
|
+
tried to address with warnings, or a single serious violation.
|
|
117
|
+
2. Consequence: A private written warning with conditions for return from
|
|
118
|
+
suspension. In general, temporary suspensions give the person being
|
|
119
|
+
suspended time to reflect upon their behavior and possible corrective
|
|
120
|
+
actions.
|
|
121
|
+
3. Repair: Examples of repair include respecting the spirit of the
|
|
122
|
+
suspension, meeting the specified conditions for return, and being
|
|
123
|
+
thoughtful about how to reintegrate with the community when the suspension
|
|
124
|
+
is lifted.
|
|
125
|
+
|
|
126
|
+
4. Permanent Ban
|
|
127
|
+
1. Event: A pattern of repeated code of conduct violations that other steps
|
|
128
|
+
on the ladder have failed to resolve, or a violation so serious that the
|
|
129
|
+
Community Moderators determine there is no way to keep the community safe
|
|
130
|
+
with this person as a member.
|
|
131
|
+
2. Consequence: Access to all community spaces, tools, and communication
|
|
132
|
+
channels is removed. In general, permanent bans should be rarely used,
|
|
133
|
+
should have strong reasoning behind them, and should only be resorted to
|
|
134
|
+
if working through other remedies has failed to change the behavior.
|
|
135
|
+
3. Repair: There is no possible repair in cases of this severity.
|
|
136
|
+
|
|
137
|
+
This enforcement ladder is intended as a guideline. It does not limit the
|
|
138
|
+
ability of Community Managers to use their discretion and judgment, in keeping
|
|
139
|
+
with the best interests of our community.
|
|
140
|
+
|
|
141
|
+
## Scope
|
|
142
|
+
|
|
143
|
+
This Code of Conduct applies within all community spaces, and also applies when
|
|
144
|
+
an individual is officially representing the community in public or other
|
|
145
|
+
spaces. Examples of representing our community include using an official email
|
|
146
|
+
address, posting via an official social media account, or acting as an appointed
|
|
147
|
+
representative at an online or offline event.
|
|
148
|
+
|
|
149
|
+
## Attribution
|
|
150
|
+
|
|
151
|
+
This Code of Conduct is adapted from the Contributor Covenant, version 3.0,
|
|
152
|
+
permanently available at <https://www.contributor-covenant.org/version/3/0/>.
|
|
153
|
+
|
|
154
|
+
Contributor Covenant is stewarded by the Organization for Ethical Source and
|
|
155
|
+
licensed under CC BY-SA 4.0. To view a copy of this license, visit
|
|
156
|
+
<https://creativecommons.org/licenses/by-sa/4.0/>.
|
|
157
|
+
|
|
158
|
+
For answers to common questions about Contributor Covenant, see the FAQ at
|
|
159
|
+
<https://www.contributor-covenant.org/faq>. Translations are provided at
|
|
160
|
+
<https://www.contributor-covenant.org/translations>. Additional enforcement and
|
|
161
|
+
community guideline resources can be found at
|
|
162
|
+
<https://www.contributor-covenant.org/resources>. The enforcement ladder was
|
|
163
|
+
inspired by the work of [Mozilla’s code of conduct team][inclusion].
|
|
164
|
+
|
|
165
|
+
[advisory]: https://github.com/mime-types/ruby-mime-types/security/advisories/new
|
|
166
|
+
[inclusion]: https://github.com/mozilla/inclusion
|
data/CONTRIBUTING.md
ADDED
|
@@ -0,0 +1,213 @@
|
|
|
1
|
+
# Contributing
|
|
2
|
+
|
|
3
|
+
Contribution to mime-types-data is encouraged in any form: a bug report, new
|
|
4
|
+
MIME type definitions, or additional code to help manage the MIME types. New
|
|
5
|
+
features should be proposed and discussed in an [issue][issues].
|
|
6
|
+
|
|
7
|
+
Before contributing patches, please read the [Licence](./LICENCE.md).
|
|
8
|
+
|
|
9
|
+
MIME::Types data is governed under the
|
|
10
|
+
[Contributor Covenant Code of Conduct][cccoc].
|
|
11
|
+
|
|
12
|
+
## Code Guidelines
|
|
13
|
+
|
|
14
|
+
I have several guidelines to contributing code through pull requests:
|
|
15
|
+
|
|
16
|
+
- I use code formatters, static analysis tools, and linting to ensure consistent
|
|
17
|
+
styles and formatting. There should be no warning output from test run
|
|
18
|
+
processes. I use [Standard Ruby][standardrb].
|
|
19
|
+
|
|
20
|
+
- Proposed changes should be on a thoughtfully-named topic branch and organized
|
|
21
|
+
into logical commit chunks as appropriate.
|
|
22
|
+
|
|
23
|
+
- Use [Conventional Commits][conventional] with my
|
|
24
|
+
[conventions](#commit-conventions).
|
|
25
|
+
|
|
26
|
+
- Versions must not be updated in pull requests unless otherwise directed. This
|
|
27
|
+
means that you must not:
|
|
28
|
+
|
|
29
|
+
- Modify `VERSION` in `lib/mime/types/data.rb`. When your patch is accepted
|
|
30
|
+
and a release is made, the version will be updated at that point.
|
|
31
|
+
|
|
32
|
+
- Modify `mime-types-data.gemspec`; it is a generated file. (You _may_ use
|
|
33
|
+
`rake gemspec` to regenerate it if your change involves metadata related to
|
|
34
|
+
gem itself).
|
|
35
|
+
|
|
36
|
+
- Modify the `Gemfile`.
|
|
37
|
+
|
|
38
|
+
- Type updates may only be performed on the YAML files in `types/`. This means
|
|
39
|
+
that no files may be modified in `data/`. Any changes to be captured here will
|
|
40
|
+
be automatically updated on the next release.
|
|
41
|
+
|
|
42
|
+
- Documentation should be added or updated as appropriate for new or updated
|
|
43
|
+
functionality. The documentation is RDoc; mime-types-data does not use
|
|
44
|
+
extensions that may be present in alternative documentation generators.
|
|
45
|
+
|
|
46
|
+
- All GitHub Actions checks marked as required must pass before a pull request
|
|
47
|
+
may be accepted and merged.
|
|
48
|
+
|
|
49
|
+
- Add your name or GitHub handle to `CONTRIBUTORS.md` and a record in the
|
|
50
|
+
`CHANGELOG.md` as a separate commit from your main change. (Follow the style
|
|
51
|
+
in the `CHANGELOG.md` and provide a link to your PR.)
|
|
52
|
+
|
|
53
|
+
- Include your DCO sign-off in each commit message (see [LICENCE](LICENCE.md)).
|
|
54
|
+
|
|
55
|
+
Although mime-types-data was extracted from the [Ruby mime-types][rmt] gem and
|
|
56
|
+
the support files are written in Ruby, the _target_ of mime-types-data is any
|
|
57
|
+
implementation that wishes to use the data as a MIME types registry, so I am
|
|
58
|
+
particularly interested in tools that will create a mime-types-data package for
|
|
59
|
+
other languages.
|
|
60
|
+
|
|
61
|
+
## Adding or Modifying MIME Types
|
|
62
|
+
|
|
63
|
+
The Ruby mime-types gem loads its data from files encoded in the `data`
|
|
64
|
+
directory in this gem by loading `mime-types-data` and reading
|
|
65
|
+
MIME::Types::Data::PATH. These files are compiled files from the collection of
|
|
66
|
+
data in the `types` directory.
|
|
67
|
+
|
|
68
|
+
> [!WARNING]
|
|
69
|
+
>
|
|
70
|
+
> Pull requests that include changes to files in `data/` will require amendment
|
|
71
|
+
> to revert these files.
|
|
72
|
+
|
|
73
|
+
New or modified MIME types should be edited in the appropriate YAML file under
|
|
74
|
+
`types`. The format is as shown below for the `application/xml` MIME type in
|
|
75
|
+
`types/application.yml`.
|
|
76
|
+
|
|
77
|
+
```yaml
|
|
78
|
+
- !ruby/object:MIME::Type
|
|
79
|
+
content-type: application/xml
|
|
80
|
+
encoding: 8bit
|
|
81
|
+
extensions:
|
|
82
|
+
- xml
|
|
83
|
+
- xsl
|
|
84
|
+
references:
|
|
85
|
+
- IANA
|
|
86
|
+
- RFC3023
|
|
87
|
+
xrefs:
|
|
88
|
+
rfc:
|
|
89
|
+
- rfc3023
|
|
90
|
+
registered: true
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
There are other fields that can be added, matching the fields discussed in the
|
|
94
|
+
documentation for MIME::Type. Pull requests for MIME types should just contain
|
|
95
|
+
the changes to the YAML files for the new or modified MIME types; I will convert
|
|
96
|
+
the YAML files to JSON prior to a new release. I would rather not have to verify
|
|
97
|
+
that the JSON matches the YAML changes, which is why it is not necessary to run
|
|
98
|
+
conversion for the pull request.
|
|
99
|
+
|
|
100
|
+
If you are making a change for a private fork, use `rake convert:yaml:json` to
|
|
101
|
+
convert the YAML to JSON and `rake convert:yaml:columnar` to convert it to the
|
|
102
|
+
default columnar format.
|
|
103
|
+
|
|
104
|
+
### Updating Types from the IANA or Apache Lists
|
|
105
|
+
|
|
106
|
+
If you are maintaining a private fork and wish to update your copy of the MIME
|
|
107
|
+
types registry used by this gem, you can do this with the rake tasks:
|
|
108
|
+
|
|
109
|
+
```sh
|
|
110
|
+
$ rake mime:iana
|
|
111
|
+
$ rake mime:apache
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
#### A Note on Provisional Types
|
|
115
|
+
|
|
116
|
+
Provisionally registered types from IANA are contained in the `types/*.yaml`
|
|
117
|
+
files. Per IANA,
|
|
118
|
+
|
|
119
|
+
> This registry, unlike some other provisional IANA registries, is only for
|
|
120
|
+
> temporary use. Entries in this registry are either finalized and moved to the
|
|
121
|
+
> main media types registry or are abandoned and deleted. Entries in this
|
|
122
|
+
> registry are suitable for use for development and test purposes only.
|
|
123
|
+
|
|
124
|
+
Provisional types are rewritten when updated, so pull requests to manually
|
|
125
|
+
customize provisional types (such as with extensions) are considered lower
|
|
126
|
+
priority. It is recommended that any updates required to the data be performed
|
|
127
|
+
in your application if you require provisional types.
|
|
128
|
+
|
|
129
|
+
## Commit Conventions
|
|
130
|
+
|
|
131
|
+
MIMe::Types has adopted a variation of the Conventional Commits format for
|
|
132
|
+
commit messages. The following types are permitted:
|
|
133
|
+
|
|
134
|
+
| Type | Purpose |
|
|
135
|
+
| ------- | ----------------------------------------------------- |
|
|
136
|
+
| `feat` | A new feature |
|
|
137
|
+
| `fix` | A bug fix |
|
|
138
|
+
| `chore` | A code change that is neither a bug fix nor a feature |
|
|
139
|
+
| `docs` | Documentation updates |
|
|
140
|
+
| `deps` | Dependency updates, including GitHub Actions. |
|
|
141
|
+
| `types` | Manually contributed MIME::Types |
|
|
142
|
+
|
|
143
|
+
I encourage the use of [Tim Pope's][tpope-qcm] or [Chris Beam's][cbeams]
|
|
144
|
+
guidelines on the writing of commit messages
|
|
145
|
+
|
|
146
|
+
I require the use of [git][trailers1] [trailers][trailers2] for specific
|
|
147
|
+
additional metadata and strongly encourage it for others. The conditionally
|
|
148
|
+
required metadata trailers are:
|
|
149
|
+
|
|
150
|
+
- `Breaking-Change`: if the change is a breaking change. **Do not** use the
|
|
151
|
+
shorthand form (`feat!(scope)`) or `BREAKING CHANGE`.
|
|
152
|
+
|
|
153
|
+
- `Signed-off-by`: this is required for all developers except me, as outlined in
|
|
154
|
+
the [Licence](./LICENCE.md#developer-certificate-of-origin).
|
|
155
|
+
|
|
156
|
+
- `Fixes` or `Resolves`: If a change fixes one or more open [issues][issues],
|
|
157
|
+
that issue must be included in the `Fixes` or `Resolves` trailer. Multiple
|
|
158
|
+
issues should be listed comma separated in the same trailer:
|
|
159
|
+
`Fixes: #1, #5, #7`, but _may_ appear in separate trailers. While both `Fixes`
|
|
160
|
+
and `Resolves` are synonyms, only _one_ should be used in a given commit or
|
|
161
|
+
pull request.
|
|
162
|
+
|
|
163
|
+
- `Related to`: If a change does not fix an issue, those issue references should
|
|
164
|
+
be included in this trailer.
|
|
165
|
+
|
|
166
|
+
## The Release Process
|
|
167
|
+
|
|
168
|
+
The release process is completely automated, where upstream MIME types will be
|
|
169
|
+
updated weekly (on Tuesdays) and be presented in a reviewable pull request. Once
|
|
170
|
+
merged, the release will be automatically published to RubyGems.
|
|
171
|
+
|
|
172
|
+
With the addition of [trusted publishing][tp], there should no longer be a need
|
|
173
|
+
for manual releases outside of the update cycle. Pull requests merged between
|
|
174
|
+
cycles will be released on the next cycle.
|
|
175
|
+
|
|
176
|
+
If it becomes necessary to perform a manual release, IANA updates should be
|
|
177
|
+
performed manually.
|
|
178
|
+
|
|
179
|
+
1. Review any outstanding issues or pull requests to see if anything needs to be
|
|
180
|
+
addressed. This is necessary because there is no automated source for
|
|
181
|
+
extensions for the thousands of MIME entries. (Suggestions and/or pull
|
|
182
|
+
requests for same would be deeply appreciated.)
|
|
183
|
+
2. `bundle install`
|
|
184
|
+
3. Review the changes to make sure that the changes are sane. The IANA data
|
|
185
|
+
source changes from time to time, resulting in big changes or even a broken
|
|
186
|
+
step 4. (The most recent change was the addition of the `font/*` top-level
|
|
187
|
+
category.)
|
|
188
|
+
4. Write up the changes in `CHANGELOG.md`. If any PRs have been merged, these
|
|
189
|
+
should be noted specifically and contributions should be added in
|
|
190
|
+
`Contributing.md`.
|
|
191
|
+
5. Ensure that the `VERSION` in `lib/mime/types/data.rb` is updated with the
|
|
192
|
+
current date UTC.
|
|
193
|
+
6. Run `rake gemspec` to ensure that `mime-types.gemspec` has been updated.
|
|
194
|
+
7. Commit the changes and push to GitHub. The automated trusted publishing
|
|
195
|
+
workflow will pick up the changes.
|
|
196
|
+
|
|
197
|
+
This list is based on issue [#18][issue-18].
|
|
198
|
+
|
|
199
|
+
[cbeams]: https://cbea.ms/git-commit/
|
|
200
|
+
[cccoc]: ./CODE_OF_CONDUCT.md
|
|
201
|
+
[conventional]: https://www.conventionalcommits.org/en/v1.0.0/
|
|
202
|
+
[dco]: licences/dco.txt
|
|
203
|
+
[hoe]: https://github.com/seattlerb/hoe
|
|
204
|
+
[issue-18]: https://github.com/mime-types/mime-types-data/issues/18
|
|
205
|
+
[issues]: https://github.com/mime-types/mime-types-data/issues
|
|
206
|
+
[minitest]: https://github.com/seattlerb/minitest
|
|
207
|
+
[release-gem]: https://github.com/rubygems/release-gem
|
|
208
|
+
[rmt]: https://github.com/mime-types/ruby-mime-types/
|
|
209
|
+
[standardrb]: https://github.com/standardrb/standard
|
|
210
|
+
[tp]: https://guides.rubygems.org/trusted-publishing/
|
|
211
|
+
[tpope-qcm]: https://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html
|
|
212
|
+
[trailers1]: https://git-scm.com/docs/git-interpret-trailers
|
|
213
|
+
[trailers2]: https://git-scm.com/docs/git-commit#Documentation/git-commit.txt---trailerlttokengtltvaluegt
|
data/CONTRIBUTORS.md
ADDED
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
# Contributors
|
|
2
|
+
|
|
3
|
+
- Austin Ziegler created mime-types.
|
|
4
|
+
|
|
5
|
+
Thanks to everyone else who has contributed to mime-types:
|
|
6
|
+
|
|
7
|
+
- Aaron Patterson
|
|
8
|
+
- Aggelos Avgerinos
|
|
9
|
+
- Alessio Parma
|
|
10
|
+
- Alex Balhatchet
|
|
11
|
+
- Andre Pankratz
|
|
12
|
+
- Andrey Eremin
|
|
13
|
+
- Andy Brody
|
|
14
|
+
- Arnaud Meuret
|
|
15
|
+
- Bradley Meck
|
|
16
|
+
- Brandon Galbraith
|
|
17
|
+
- Chris Gat
|
|
18
|
+
- Chris Salzberg
|
|
19
|
+
- David Genord
|
|
20
|
+
- Eric Marden
|
|
21
|
+
- Garret Alfert
|
|
22
|
+
- Godfrey Chan
|
|
23
|
+
- Greg Brockman
|
|
24
|
+
- Hans de Graaff
|
|
25
|
+
- Henrik Hodne
|
|
26
|
+
- Jeremy Evans
|
|
27
|
+
- John Gardner
|
|
28
|
+
- Jon Sneyers
|
|
29
|
+
- Jonas Petersen
|
|
30
|
+
- Juanito Fatas
|
|
31
|
+
- Keerthi Siva
|
|
32
|
+
- Ken Ip
|
|
33
|
+
- Łukasz Śliwa
|
|
34
|
+
- Lucia
|
|
35
|
+
- Mark Young
|
|
36
|
+
- Martin d'Allens
|
|
37
|
+
- Mauricio Linhares
|
|
38
|
+
- Mohammed Gad
|
|
39
|
+
- Myk Klemme
|
|
40
|
+
- nycvotes-dev
|
|
41
|
+
- Postmodern
|
|
42
|
+
- Richard Hirner
|
|
43
|
+
- Richard Hurt
|
|
44
|
+
- Richard Schneeman
|
|
45
|
+
- Robert Buchberger
|
|
46
|
+
- Samuel Giddins
|
|
47
|
+
- Samuel Williams
|
|
48
|
+
- Sergio Baptista
|
|
49
|
+
- Shane Eskritt
|
|
50
|
+
- Tao Guo
|
|
51
|
+
- Thomas Leese
|
|
52
|
+
- Tibor Szolár
|
|
53
|
+
- Todd Carrico
|
|
54
|
+
- Yoran Brondsema
|
data/{Licence.md → LICENCE.md}
RENAMED
data/Manifest.txt
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
CHANGELOG.md
|
|
2
|
+
CODE_OF_CONDUCT.md
|
|
3
|
+
CONTRIBUTING.md
|
|
4
|
+
CONTRIBUTORS.md
|
|
5
|
+
LICENCE.md
|
|
5
6
|
Manifest.txt
|
|
6
7
|
README.md
|
|
7
8
|
Rakefile
|
|
@@ -15,22 +16,9 @@ data/mime.encoding.column
|
|
|
15
16
|
data/mime.flags.column
|
|
16
17
|
data/mime.friendly.column
|
|
17
18
|
data/mime.pext.column
|
|
19
|
+
data/mime.spri.column
|
|
18
20
|
data/mime.use_instead.column
|
|
19
21
|
data/mime.xrefs.column
|
|
20
22
|
lib/mime-types-data.rb
|
|
21
23
|
lib/mime/types/data.rb
|
|
22
|
-
|
|
23
|
-
types/audio.yaml
|
|
24
|
-
types/chemical.yaml
|
|
25
|
-
types/conference.yaml
|
|
26
|
-
types/drawing.yaml
|
|
27
|
-
types/example.yaml
|
|
28
|
-
types/font.yaml
|
|
29
|
-
types/haptics.yaml
|
|
30
|
-
types/image.yaml
|
|
31
|
-
types/message.yaml
|
|
32
|
-
types/model.yaml
|
|
33
|
-
types/multipart.yaml
|
|
34
|
-
types/text.yaml
|
|
35
|
-
types/video.yaml
|
|
36
|
-
types/world.yaml
|
|
24
|
+
licences/dco.txt
|
data/README.md
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
# mime-types-data
|
|
2
2
|
|
|
3
3
|
- home :: https://github.com/mime-types/mime-types-data/
|
|
4
|
-
- code :: https://github.com/mime-types/mime-types-data/
|
|
5
4
|
- issues :: https://github.com/mime-types/mime-types-data/issues
|
|
5
|
+
- code :: https://github.com/mime-types/mime-types-data/
|
|
6
|
+
- changelog ::
|
|
7
|
+
https://github.com/mime-types/mime-types-data/blob/main/CHANGELOG.md
|
|
6
8
|
|
|
7
9
|
## Description
|
|
8
10
|
|
|
@@ -13,33 +15,34 @@ extensions to look up the likely MIME type definitions.
|
|
|
13
15
|
|
|
14
16
|
### About MIME Media Types
|
|
15
17
|
|
|
16
|
-
MIME media types are used in MIME-compliant communications, as in e-mail or
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
18
|
+
MIME media types are used in MIME-compliant communications, as in e-mail or HTTP
|
|
19
|
+
traffic, to indicate the type of content which is transmitted. The registry
|
|
20
|
+
provided in mime-types-data contains detailed information about MIME entities.
|
|
21
|
+
There are many types defined by RFCs and vendors, so the list is long but
|
|
22
|
+
invariably; don't hesitate to offer additional type definitions for
|
|
21
23
|
consideration. MIME type definitions found in mime-types are from RFCs, W3C
|
|
22
|
-
recommendations, the [IANA Media Types registry][registry],
|
|
24
|
+
recommendations, the [IANA Media Types registry][registry], the
|
|
25
|
+
[Apache httpd registry][httpd], the [Apache Tika media registry][tika] and user
|
|
23
26
|
contributions. It conforms to RFCs 2045 and 2231.
|
|
24
27
|
|
|
25
28
|
### Data Formats Supported in this Registry
|
|
26
29
|
|
|
27
30
|
This registry contains the MIME media types in four formats:
|
|
28
31
|
|
|
29
|
-
- A YAML format matching the Ruby mime-types library objects (MIME::Type).
|
|
30
|
-
|
|
31
|
-
|
|
32
|
+
- A YAML format matching the Ruby mime-types library objects (MIME::Type). This
|
|
33
|
+
is the primary user-editable format for developers. It is _not_ shipped with
|
|
34
|
+
the gem due to size considerations.
|
|
32
35
|
- A JSON format converted from the YAML format. Prior to Ruby mime-types 3.0,
|
|
33
36
|
this was the main consumption format and is still recommended for any
|
|
34
|
-
implementation that does not wish to implement the columnar format, which
|
|
35
|
-
|
|
36
|
-
- An encoded text format splitting the data for each MIME type across
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
- An encoded text format for use with [`mini_mime`][]
|
|
42
|
-
|
|
37
|
+
implementation that does not wish to implement the columnar format, which has
|
|
38
|
+
a significant implementation effort cost.
|
|
39
|
+
- An encoded text format splitting the data for each MIME type across multiple
|
|
40
|
+
files. This columnar data format reduces the minimal data load substantially,
|
|
41
|
+
resulting in a performance improvement at the cost of more complex code for
|
|
42
|
+
loading the data on-demand. This is the default format for Ruby mime-types
|
|
43
|
+
3.0.
|
|
44
|
+
- An encoded text format for use with [`mini_mime`][minimime]. This can be
|
|
45
|
+
enabled with:
|
|
43
46
|
|
|
44
47
|
```ruby
|
|
45
48
|
MiniMime::Configuration.ext_db_path =
|
|
@@ -50,24 +53,29 @@ This registry contains the MIME media types in four formats:
|
|
|
50
53
|
|
|
51
54
|
## mime-types-data Modified Semantic Versioning
|
|
52
55
|
|
|
53
|
-
mime-types-data uses a
|
|
54
|
-
indicate that the data formats
|
|
55
|
-
the date of the data update:
|
|
56
|
+
mime-types-data uses a [Semantic Versioning][semver] scheme heavily modified
|
|
57
|
+
with [Calendar Versioning][calver] aspects to indicate that the data formats
|
|
58
|
+
compatibility based on a `SCHEMA` version and the date of the data update:
|
|
59
|
+
`SCHEMA.YEAR.MONTHDAY`.
|
|
56
60
|
|
|
57
61
|
1. If an incompatible data format change is made to any of the supported
|
|
58
|
-
|
|
59
|
-
the YAML, JSON, and
|
|
62
|
+
formats, `SCHEMA` will be incremented. The current `SCHEMA` is 3, supporting
|
|
63
|
+
the YAML, JSON, columnar, and mini-mime formats required for Ruby mime-types
|
|
64
|
+
3.0.
|
|
60
65
|
|
|
61
|
-
2. When the data is updated, the `YEAR.MONTHDAY` combination will be updated.
|
|
62
|
-
|
|
63
|
-
resulting in the full version of `3.
|
|
66
|
+
2. When the data is updated, the `YEAR.MONTHDAY` combination will be updated. An
|
|
67
|
+
update on the last day of October 2025 would be written as `2025.1031`,
|
|
68
|
+
resulting in the full version of `3.2025.1031`.
|
|
64
69
|
|
|
65
70
|
3. If multiple versions of the data need to be released on the same day due to
|
|
66
|
-
error, there will be an additional `REVISION` field incremented on the end
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
71
|
+
error, there will be an additional `REVISION` field incremented on the end of
|
|
72
|
+
the version. Thus, if three revisions need to be published on October 31st,
|
|
73
|
+
2015, the last release would be `3.2015.1031.2` (remember that the first
|
|
74
|
+
release has an implied `0`.)
|
|
70
75
|
|
|
71
|
-
[registry]: https://www.iana.org/assignments/media-types/media-types.
|
|
72
|
-
[
|
|
73
|
-
[
|
|
76
|
+
[registry]: https://www.iana.org/assignments/media-types/media-types.xml
|
|
77
|
+
[semver]: http://semver.org/
|
|
78
|
+
[minimime]: https://github.com/discourse/mini_mime
|
|
79
|
+
[httpd]: https://svn.apache.org/repos/asf/httpd/httpd/trunk/docs/conf/mime.types
|
|
80
|
+
[tika]: https://github.com/apache/tika/blob/main/tika-core/src/main/resources/org/apache/tika/mime/tika-mimetypes.xml
|
|
81
|
+
[calver]: https://calver.org
|