crystal-mime alternatives and similar shards
Based on the "Framework Components" category.
Alternatively, view crystal-mime alternatives based on common mentions on social networks and blogs.
-
shrine.cr
File Attachment toolkit for Crystal applications. Heavily inspired by Shrine for Ruby. -
Exception Page
An exceptional exception page for Crystal web libraries and frameworks -
praetorian
A minimalist Crystal authorization system inspired by https://github.com/varvet/pundit. -
motion.cr
Motion is a framework for building reactive, real-time frontend UI components in your Amber application using pure Crystal that are reusable, testable & encapsulated. -
kemal-auth-token
Kemal middleware to authentication via HTTP header token using JWT -
device_detector
Crystal shard for device detection by User-Agent string -
mochi
Mochi is a authentication shard inspired by devise. Mochi is designed for the Amber framework with support for both Granite & Jennifer ORM's. -
mime-types.cr
MIME Types for Crystal :: A port of the Ruby MIME::Types library -
Athena Event Dispatcher
A Mediator and Observer pattern event library -
request_id
Middleware for generates / pick up a unique request ID for Crystal servers. -
Athena Negotiation
Framework agnostic content negotiation library
Clean code begins in your IDE with SonarLint
Do you think we are missing an alternative of crystal-mime or a related project?
README
mime
Mimetypes for Crystal.
Installation
Add it to shard.yml
file
dependencies:
mime:
github: spalger/crystal-mime
version: ~> 0.1
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
- Fork it ( https://github.com/spalger/crystal-mime/fork )
- Create your feature branch (git checkout -b my-new-feature)
- Commit your changes (git commit -am 'Add some feature')
- Push to the branch (git push origin my-new-feature)
- Create a new Pull Request
Contributors
- spalger Spencer Alger - creator, maintainer