Skip to content

Fetch metadata from Web App Manifests (and/or HTML attributes)

License

Notifications You must be signed in to change notification settings

5apps/manifique

Repository files navigation

Build Status

Manifique

Manifique fetches metadata of Web applications, like e.g. name, description, and app icons. It prefers information from Web App Manifest files, and falls back to parsing HTML if necessary.

Installation

Add this line to your application's Gemfile:

gem 'manifique'

And then execute:

$ bundle

Or install it yourself as:

$ gem install manifique

Usage

First, initialize a Manifique agent for the web app you want to get metadata for. Its URL is the only required argument:

agent = Manifique::Agent.new(url: "https://kosmos.social")

Now you can fetch its metadata:

metadata = agent.fetch_metadata

Selecting icons

Let's select an icon that we like:

icon = metadata.select_icon(type: "image/png", sizes: "96x96")

Or maybe just iOS icons? They're pretty convenient for postprocessing after all.

icon = metadata.select_icon(purpose: "apple-touch-icon", sizes: "180x180")

Development

After checking out the repo, run bin/setup to install dependencies. Then, run rake spec to run the specs once, or bundle exec guard to watch all source files and run their specs automatically.

You can also run bin/console for an interactive prompt that will allow you to experiment.

To install this gem onto your local machine, run bundle exec rake install. To release a new version, update the version number in version.rb, and then run bundle exec rake release, which will create a git tag for the version, push git commits and tags, and push the .gem file to rubygems.org.

Contributing

Bug reports and pull requests are welcome on the Kosmos Gitea or on GitHub. Please add specs for any changes or additions.

Code of Conduct

Everyone interacting in this project’s codebase, issue trackers, and chat rooms is expected to follow the code of conduct.