Fetch metadata from Web App Manifests and/or HTML attributes
Go to file
Râu Cao ac5a17dbb8
All checks were successful
continuous-integration/drone/push Build is passing
Add badge with gem version and link
2024-08-14 16:21:53 +02:00
bin Hello world 2018-06-26 13:03:33 -07:00
lib Release 1.1.0 2024-08-14 16:17:27 +02:00
spec Allow selecting image type via Regexp 2024-08-14 16:13:50 +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 Release 1.1.0 2024-08-14 16:17:27 +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
manifique.gemspec Improve gemspec 2024-02-02 17:49:09 +02:00
Rakefile Switch to RSpec 2018-06-28 17:23:09 -07:00
README.md Add badge with gem version and link 2024-08-14 16:21:53 +02:00

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