Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/spalger/crystal-mime
Mimetypes for Crystal, based on node-mime.
https://github.com/spalger/crystal-mime
Last synced: about 2 months ago
JSON representation
Mimetypes for Crystal, based on node-mime.
- Host: GitHub
- URL: https://github.com/spalger/crystal-mime
- Owner: spalger
- License: mit
- Created: 2015-06-06T12:47:29.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2018-08-31T02:58:51.000Z (over 6 years ago)
- Last Synced: 2024-10-04T11:26:16.359Z (2 months ago)
- Language: Crystal
- Size: 21.5 KB
- Stars: 24
- Watchers: 4
- Forks: 10
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-crystal - crystal-mime - Mimetypes for Crystal (Framework Components)
README
# mime
Mimetypes for [Crystal](https://github.com/manastech/crystal).
## Installation
Add it to `shard.yml` file
```crystal
dependencies:
mime:
github: spalger/crystal-mime
version: ~> 0.1
```## Usage
```crystal
require "mime"
```This simple module maps mime-types and extensions. Read the map using either the `from_ext` or `to_ext` methods.
### `Mime.from_ext(extension)`
Read the mime-type for an extension. Returns tye mime-type as a string, or `nil` if the extension is unknown.```crystal
require "mime"
Mime.from_ext("jpg") # "image/jpeg"
Mime.from_ext("js") # "application/javascript"
Mime.from_ext("jssssss") # nil
```### `Mime.to_ext(type)`
Read the first extension registered for a mime-type. Returns the extension as a string or `nil` is the mime-type is unknown.```crystal
require "mime"
Mime.to_ext("image/jpeg") # "jpeg"
Mime.to_ext("application/javascript") # "js"
```## Development
Type files are pulled from the [node-mime](https://github.com/broofa/node-mime) project. To update the types.json file run
```sh
make update_types
```## Contributing
1. Fork it ( https://github.com/spalger/crystal-mime/fork )
2. Create your feature branch (git checkout -b my-new-feature)
3. Commit your changes (git commit -am 'Add some feature')
4. Push to the branch (git push origin my-new-feature)
5. Create a new Pull Request## Contributors
- [spalger](https://github.com/spalger) Spencer Alger - creator, maintainer