Fetch metadata from Web App Manifests and/or HTML attributes
Go to file
Râu Cao f31800a2d4
continuous-integration/drone/push Build is passing Details
Ignore build files
2024-02-02 17:50:54 +02:00
bin Hello world 2018-06-26 13:03:33 -07:00
lib Release v1.0.1 2024-02-02 17:49:44 +02:00
spec Handle empty manifest values 2024-02-01 16:45:58 +02:00
.drone.yml Add Drone CI config 2023-09-15 20:11:26 +02:00
.gitignore Ignore build files 2024-02-02 17:50:54 +02:00
CODE_OF_CONDUCT.md Hello world 2018-06-26 13:03:33 -07:00
Gemfile Hello world 2018-06-26 13:03:33 -07:00
Gemfile.lock Update dependencies, require Ruby 3.x 2024-02-02 13:07:02 +02:00
Guardfile Switch to RSpec 2018-06-28 17:23:09 -07:00
LICENSE.txt Change license and main author 2024-02-02 12:30:55 +02:00
README.md Improve metadata, README 2024-02-02 12:30:55 +02:00
Rakefile Switch to RSpec 2018-06-28 17:23:09 -07:00
manifique.gemspec Improve gemspec 2024-02-02 17:49:09 +02:00


Build Status


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.


Add this line to your application's Gemfile:

gem 'manifique'

And then execute:

$ bundle

Or install it yourself as:

$ gem install manifique


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")


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.


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 projects codebase, issue trackers, and chat rooms is expected to follow the code of conduct.