elixir-browser alternatives and similar packages
Based on the "Miscellaneous" category.
Alternatively, view elixir-browser alternatives based on common mentions on social networks and blogs.
-
ex_rated
ExRated, the Elixir OTP GenServer with the naughty name that allows you to rate-limit calls to any service that requires it. -
ex2ms
:ets.fun2ms for Elixir, translate functions to match specifications -
phone
Elixir phone number parser for numbers in international standard. -
ecto_autoslug_field
Automatically create slugs for Ecto schemas. -
funnel
Streaming Elixir API built upon ElasticSearch's percolation. -
std_json_io
A simple library for Elixir that provides json over STDIO -
gen_task
Generic Task behavior that helps encapsulate errors and recover from them in classic GenStage workers. -
countriex
All sorts of useful information about every country. A pure elixir port of the ruby Countries gem -
exprint
A printf / sprintf library for Elixir. It works as a wrapper for :io.format. -
Jisho-Elixir
A Japanese dictionary API; a wrapper around Jisho's API (http://jisho.org) -
expool
Extremely simple Process pooling and task submission in Elixir -
vessel
Elixir MapReduce interfaces with Hadoop Streaming integration -
indicado
Technical indicator library for Elixir with no dependencies. -
egaugex
A simple egauge parser to retrieve and parse data from egauge devices -
mixstar
Elixir Mix task to starring GitHub repository with `mix deps.get`ting dependent library -
ratekeeper
Ratekeeper is a library for scheduling rate-limited actions. -
presentex
Elixir -> HTML/JavaScript based presentation framework intended for showing Elixir code
Collect and Analyze Billions of Data Points in Real Time
Do you think we are missing an alternative of elixir-browser or a related project?
README
elixir-browser
Browser detection for Elixir. This is a port from the Ruby browser library.
All the detection features have been ported, but not the meta and the language ones.
Installation
Add browser
to your list of dependencies in mix.exs
:
def deps do
[{:browser, "~> 0.4.4"}]
end
Usage
ua = "some string"
Browser.name(ua) # readable browser name
Browser.version(ua) # major version number
Browser.full_version(ua)
Browser.full_browser_name(ua) # Chrome 5.0.375.99
Browser.full_display(ua) # example: Chrome 5.0.375.99 on MacOS 10.6.4 Snow Leopard
Browser.safari?(ua)
Browser.opera?(ua)
Browser.chrome?(ua)
Browser.chrome_os?(ua)
Browser.mobile?(ua)
Browser.tablet?(ua)
Browser.console?(ua)
Browser.firefox?(ua)
Browser.ie?(ua)
Browser.ie?(ua, 6) # detect specific IE version
Browser.edge?(ua) # Newest MS browser
Browser.modern?(ua) # Webkit, Firefox 17+, IE 9+ and Opera 12+
Browser.platform(ua) # return :ios, :android, :mac, :windows, :linux or :other
Browser.full_platform_name(ua) # example: MacOS 10.6.4 Snow Leopard
Browser.device_type(ua) # return :mobile, :tablet, :desktop, :console, :unknown
Browser.ios?(ua) # detect iOS
Browser.ios?(ua, 9) # detect specific iOS version
Browser.mac?(ua)
Browser.mac_version(ua) # display version of Mac OSX. i.e. High Sierra
Browser.windows?(ua)
Browser.windows_x64?(ua)
Browser.windows_version_name # display version of Windows. i.e. Windows 10
Browser.linux?(ua)
Browser.blackberry?(ua)
Browser.blackberry?(ua, 10) # detect specific BlackBerry version
Browser.bot?(ua)
Browser.search_engine?(ua)
Browser.phantom_js?(ua)
Browser.quicktime?(ua)
Browser.core_media?(ua)
Browser.silk?(ua)
Browser.android?(ua)
Browser.android?(ua, 4.2) # detect Android Jelly Bean 4.2
Browser.known?(ua) # has the browser been successfully detected?
See the original Ruby library for more information.
Elixir addition
You can also pass Plug.Conn
instead of a string, the user-agent
header will
be extracted and used.
Browser.bot?(conn)
Configuration
You can specify custom bots.txt file in your project's config.
config :browser,
bots_file: Path.join(File.cwd!, "bots.txt") # bots.txt in project's root
Please note that option set as mobule attribute during compile time, so make sure you recompiled elixir-browser after changing this option or bots file itself.