summaryrefslogtreecommitdiff
path: root/Contributing.md
diff options
context:
space:
mode:
authorAustin Ziegler <austin@zieglers.ca>2019-12-26 14:59:10 -0500
committerAustin Ziegler <austin@zieglers.ca>2019-12-26 14:59:10 -0500
commit44e6ed5a5b7697d3f7b0c0fb795d9b8e2494534b (patch)
tree6fc9102d48d2dd5742111f3aa71dbd844a6671a1 /Contributing.md
parent2969a1a788a2d891e2bd16d0027f84084835297e (diff)
downloadmime-types-44e6ed5a5b7697d3f7b0c0fb795d9b8e2494534b.tar.gz
Reformatted documentation
Diffstat (limited to 'Contributing.md')
-rw-r--r--Contributing.md164
1 files changed, 75 insertions, 89 deletions
diff --git a/Contributing.md b/Contributing.md
index c06ead2..405c09b 100644
--- a/Contributing.md
+++ b/Contributing.md
@@ -1,22 +1,22 @@
-## Contributing
+# Contributing
I value any contribution to mime-types you can provide: a bug report, a feature
request, or code contributions.
There are a few guidelines for contributing to mime-types:
-* Code changes *will* *not* be accepted without tests. The test suite is
+- Code changes _will_ _not_ be accepted without tests. The test suite is
written with [minitest][].
-* Match my coding style.
-* Use a thoughtfully-named topic branch that contains your change. Rebase your
+- Match my coding style.
+- Use a thoughtfully-named topic branch that contains your change. Rebase your
commits into logical chunks as necessary.
-* Use [quality commit messages][].
-* Do not change the version number; when your patch is accepted and a release
+- Use [quality commit messages][].
+- Do not change the version number; when your patch is accepted and a release
is made, the version will be updated at that point.
-* Submit a GitHub pull request with your changes.
-* New or changed behaviours require new or updated documentation.
+- Submit a GitHub pull request with your changes.
+- New or changed behaviours require new or updated documentation.
-### Adding or Modifying MIME Types
+## Adding or Modifying MIME Types
The mime-types registry is no longer contained in mime-types, but in
[mime-types-data][]. Please see that project for contributions there.
@@ -24,120 +24,106 @@ The mime-types registry is no longer contained in mime-types, but in
### Test Dependencies
mime-types uses Ryan Davis’s [Hoe][] to manage the release process, and it adds
-a number of rake tasks. You will mostly be interested in:
+a number of rake tasks. You will mostly be interested in `rake`, which runs
+the tests the same way that `rake test` or `rake travis` will do.
- $ rake
-
-which runs the tests the same way that:
-
- $ rake test
- $ rake travis
-
-will do.
-
-To assist with the installation of the development dependencies for mime-types,
-I have provided the simplest possible Gemfile pointing to the (generated)
-`mime-types.gemspec` file. This will permit you to do:
-
- $ bundle install
-
-to get the development dependencies. If you aleady have +hoe+ installed, you
-can accomplish the same thing with:
-
- $ rake newb
+To assist with the installation of the development dependencies for
+mime-types, I have provided the simplest possible Gemfile pointing to the
+(generated) `mime-types.gemspec` file. This will permit you to do `bundle
+install` to get the development dependencies. If you aleady have `hoe`
+installed, you can accomplish the same thing with `rake newb`.
This task will install any missing dependencies, run the tests/specs, and
generate the RDoc.
-You can run tests with code coverage analysis by running:
-
- $ rake test:coverage
+You can run tests with code coverage analysis by running `rake
+test:coverage`.
-### Benchmarks
+## Benchmarks
mime-types offers several benchmark tasks to measure different measures of
performance.
There is a repeated load test, measuring how long it takes to start and load
mime-types with its full registry. By default, it runs fifty loops and uses the
-built-in benchmark library.
+built-in benchmark library:
- $ rake benchmark:load
+- `rake benchmark:load`
There are two allocation tracing benchmarks (for normal and columnar loads).
These can only be run on Ruby 2.1 or better and requires the
[allocation\_tracer][] gem (not installed by default).
- $ rake benchmark:allocations
- $ rake benchmark:allocations:columnar
+- `rake benchmark:allocations`
+- `rake benchmark:allocations:columnar`
There are two loaded object count benchmarks (for normal and columnar loads).
These use `ObjectSpace.count_objects`.
- $ rake benchmark:objects
- $ rake benchmark:objects:columnar
+- `rake benchmark:objects`
+- `rake benchmark:objects:columnar`
-### Workflow
+## Workflow
Here's the most direct way to get your work merged into the project:
-* Fork the project.
-* Clone down your fork (`git clone git://github.com/<username>/ruby-mime-types.git`).
-* Create a topic branch to contain your change (`git checkout -b my_awesome_feature`).
-* Hack away, add tests. Not necessarily in that order.
-* Make sure everything still passes by running `rake`.
-* If necessary, rebase your commits into logical chunks, without errors.
-* Push the branch up (`git push origin my_awesome_feature`).
-* Create a pull request against mime-types/ruby-mime-types and describe what
+- Fork the project.
+- Clone down your fork (`git clone git://github.com/<username>/ruby-mime-types.git`).
+- Create a topic branch to contain your change (`git checkout -b my_awesome_feature`).
+- Hack away, add tests. Not necessarily in that order.
+- Make sure everything still passes by running `rake`.
+- If necessary, rebase your commits into logical chunks, without errors.
+- Push the branch up (`git push origin my_awesome_feature`).
+- Create a pull request against mime-types/ruby-mime-types and describe what
your change does and the why you think it should be merged.
-### Contributors
+## Contributors
-* Austin Ziegler created mime-types.
+- Austin Ziegler created mime-types.
Thanks to everyone else who has contributed to mime-types over the years:
-* Aaron Patterson
-* Aggelos Avgerinos
-* Al Snow
-* Andre Pankratz
-* Andy Brody
-* Arnaud Meuret
-* Brandon Galbraith
-* Burke Libbey
-* Chris Gat
-* David Genord
-* Dillon Welch
-* Eric Marden
-* Edward Betts
-* Garret Alfert
-* Godfrey Chan
-* Greg Brockman
-* Hans de Graaff
-* Henrik Hodne
-* Janko Marohnić
-* Jean Boussier
-* Jeremy Evans
-* Juanito Fatas
-* Jun Aruga
-* Łukasz Śliwa
-* Keerthi Siva
-* Ken Ip
-* Martin d'Allens
-* Mauricio Linhares
-* Nicolas Leger
-* Nicholas La Roux
-* nycvotes-dev
-* Olle Jonsson
-* Postmodern
-* Richard Hirner
-* Richard Hurt
-* Richard Schneeman
-* Tibor Szolár
-* Todd Carrico
+- Aaron Patterson
+- Aggelos Avgerinos
+- Al Snow
+- Andre Pankratz
+- Andy Brody
+- Arnaud Meuret
+- Brandon Galbraith
+- Burke Libbey
+- Chris Gat
+- David Genord
+- Dillon Welch
+- Eric Marden
+- Edward Betts
+- Garret Alfert
+- Godfrey Chan
+- Greg Brockman
+- Hans de Graaff
+- Henrik Hodne
+- Janko Marohnić
+- Jean Boussier
+- Jeremy Evans
+- Juanito Fatas
+- Jun Aruga
+- Łukasz Śliwa
+- Keerthi Siva
+- Ken Ip
+- Martin d'Allens
+- Mauricio Linhares
+- Nicolas Leger
+- Nicholas La Roux
+- nycvotes-dev
+- Olle Jonsson
+- Postmodern
+- Richard Hirner
+- Richard Hurt
+- Richard Schneeman
+- Tibor Szolár
+- Todd Carrico
[minitest]: https://github.com/seattlerb/minitest
[quality commit messages]: http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html
[mime-types-data]: https://github.com/mime-types/mime-types-data
-[Hoe]: https://github.com/seattlerb/hoe
+[hoe]: https://github.com/seattlerb/hoe
[allocation\_tracer]: https://github.com/ko1/allocation_tracer