Fetch metadata from Web App Manifests and/or HTML attributes
Go to file
Râu Cao aa1bd15427
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/tag Build is passing
Update version
2024-02-02 13:43:56 +02:00
bin Hello world 2018-06-26 13:03:33 -07:00
lib Update version 2024-02-02 13:43:56 +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 Switch to RSpec 2018-06-28 17:23:09 -07: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
manifique.gemspec Update dependencies, require Ruby 3.x 2024-02-02 13:07:02 +02:00
Rakefile Switch to RSpec 2018-06-28 17:23:09 -07:00
README.md Improve metadata, README 2024-02-02 12:30:55 +02:00

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.