mime

Version, currently master branch1 version
  • master branchlatestDec 24, 2015

github.com/werner/crystal-mime

Mimetypes for Crystal, based on node-mime.

1 stars
0 dependents
License: MIT

Installation

# Add this to your shard.yml
dependencies:
  mime:
    github: werner/crystal-mime
    branch: master

master is a branch, not a release, so this tracks it rather than pinning a version.

Then run:

shards install

shard.yml

This shard.yml declares only a name and a version: no Crystal constraint, no dependencies, no targets and no executables. It is a plain library with nothing to build.

Dependencies

This version declares no dependencies.

README

mime

Mimetypes for Crystal.

Installation

Add it to Projectfile

deps do
  github "spalger/crystal-mime"
end

Usage

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.

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.

require "mime"
Mime.to_ext("image/jpeg") # "jpeg"
Mime.to_ext("application/javascript")  # "js"

Development

Type files are pulled from the node-mime project. To update the types.json file run

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 Spencer Alger - creator, maintainer