{"id":13484473,"url":"https://github.com/feedjira/feedjira","last_synced_at":"2025-03-27T16:30:53.151Z","repository":{"id":482788,"uuid":"108536","full_name":"feedjira/feedjira","owner":"feedjira","description":"A feed parsing library","archived":false,"fork":false,"pushed_at":"2024-10-28T16:02:06.000Z","size":4032,"stargazers_count":2077,"open_issues_count":19,"forks_count":375,"subscribers_count":40,"default_branch":"main","last_synced_at":"2024-10-29T13:50:58.770Z","etag":null,"topics":["feed-parsing","parser","rss","rss-parser"],"latest_commit_sha":null,"homepage":"","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/feedjira.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2009-01-16T04:02:30.000Z","updated_at":"2024-10-28T16:02:09.000Z","dependencies_parsed_at":"2024-01-16T04:01:29.262Z","dependency_job_id":"270289ef-d696-4409-8bcc-8b7c95799a8e","html_url":"https://github.com/feedjira/feedjira","commit_stats":{"total_commits":622,"total_committers":95,"mean_commits":"6.5473684210526315","dds":0.7877813504823151,"last_synced_commit":"f93ec3a5fc76fb4baa168ed29051a1af17625e0f"},"previous_names":["pauldix/feedzirra"],"tags_count":44,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/feedjira%2Ffeedjira","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/feedjira%2Ffeedjira/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/feedjira%2Ffeedjira/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/feedjira%2Ffeedjira/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/feedjira","download_url":"https://codeload.github.com/feedjira/feedjira/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244989036,"owners_count":20543465,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["feed-parsing","parser","rss","rss-parser"],"created_at":"2024-07-31T17:01:24.941Z","updated_at":"2025-03-27T16:30:52.524Z","avatar_url":"https://github.com/feedjira.png","language":"Ruby","readme":"# Feedjira\n\n[![Build Status][actions-badge]][actions] [![Code Climate][code-climate-badge]][code-climate]\n\n[actions-badge]: https://github.com/feedjira/feedjira/actions/workflows/ruby.yml/badge.svg?branch=main\n[actions]: https://github.com/feedjira/feedjira/actions?query=branch%3Amain\n[code-climate-badge]: https://codeclimate.com/github/feedjira/feedjira/badges/gpa.svg\n[code-climate]: https://codeclimate.com/github/feedjira/feedjira\n[gitter-badge]: https://badges.gitter.im/feedjira/feedjira.svg\n\nFeedjira is a Ruby library designed to parse feeds.\n\n## Installation\n\nAdd this line to your application's Gemfile:\n\n```ruby\ngem \"feedjira\"\n```\n\n## Parsing\n\nAn example of parsing a feed with Feedjira:\n\n```ruby\nxml = HTTParty.get(url).body\nfeed = Feedjira.parse(xml)\nfeed.entries.first.title\n# =\u003e \"Announcing version 3.0\"\n```\n\n## Specifying parser\n\nIf you have the XML and just want to provide a parser class for one parse, you\ncan specify that using `parse` with the parser option:\n\n```ruby\nFeedjira.parse(xml, parser: MyAwesomeParser)\n```\n\n## Adding attributes to all feeds types / all entries types\n\n```ruby\n# Add the generator attribute to all feed types\nFeedjira::Feed.add_common_feed_element(\"generator\")\nxml = HTTParty.get(\"http://www.pauldix.net/atom.xml\").body\nFeedjira.parse(xml).generator\n# =\u003e \"TypePad\"\n```\n\n## Adding attributes to only one class\n\nIf you want to add attributes for only one class you simply have to declare them\nin the class\n\n```ruby\n# Add some GeoRss information\nclass Feedjira::Parser::RSSEntry\n  element \"georss:elevation\", as: :elevation\nend\n\n# Fetch a feed containing GeoRss info and print them\nurl = \"https://earthquake.usgs.gov/earthquakes/feed/v1.0/summary/significant_week.atom\"\nxml = HTTParty.get(url).body\nFeedjira.parse(xml).entries.each do |entry|\n  puts \"Elevation: #{entry.elevation}\"\nend\n```\n\n## Configuration\n\n### Parsers\n\n#### Adding a custom parser\n\nYou can insert your own parser at the front of the available parser list by:\n\n```ruby\nFeedjira.configure do |config|\n  config.parsers.unshift(MyAwesomeParser)\nend\n```\n\nNow when you call `Feedjira.parse`, `MyAwesomeParser` will be the first one to\nget a chance to parse the feed.\n\n#### Explicitly set all available parsers\n\nFeedjira can be configured to use a specific set of parsers and in a specific order:\n\n```ruby\nFeedjira.configure do |config|\n  config.parsers = [\n    Feedjira::Parser::ITunesRSS,\n    MyAwesomeParser,\n    Feedjira::Parser::RSS\n  ]\nend\n```\n\n#### Stripping whitespace from XML\n\nFeedjira can be configured to strip all whitespace but defaults to lstrip only:\n\n```ruby\nFeedjira.configure do |config|\n  config.strip_whitespace = true\nend\n```\n\n## Contributing\n\nBug reports and pull requests are welcome on GitHub at\nhttps://github.com/feedjira/feedjira. This project is intended to be a safe,\nwelcoming space for collaboration, and contributors are expected to adhere to\nthe [Contributor Covenant](http://contributor-covenant.org) code of conduct.\n\n## Projects that use Feedjira\n\nFeedjira is used in some awesome projects around the web - from RSS readers to\nadd-ons and everything in between. Here are some of them:\n\n* [Feedbin][]: Feedbin bills itself as a fast, simple RSS reader that delivers a\n  great reading experience. It's a paid RSS reader that integrates with mobile\n  apps and it even has a fully featured API!\n\n* [Stringer][]: Stringer is a self-hosted, anti-social RSS reader. It's an\n  open-source project that's easy to deploy to any host, there's even a\n  one-click button to deploy on Heroku.\n\n* [BlogFeeder][]: BlogFeeder is a paid Shopify App that makes it easy for you to\n  import any external blog into your Shopify store. It helps improve your\n  store's SEO and keeps your blogs in sync, plus a lot more.\n\n* [Feedbunch][]: Feedbunch is an open source feed reader built to fill the hole\n  left by Google Reader. It aims to support all features of Google Reader and\n  actually improve on others.\n\n* [The Old Reader][old]: The Old Reader advertises as the ultimate social RSS\n  reader. It's free to start and also has a paid premium version. There's an API\n  and it integrates with many different mobile apps.\n\n* [Solve for All][solve]: Solve for All combines search engine and feed parsing\n  while protecting your privacy. It's even extendable by the community!\n  \n* [Feedi API][feedi]: Feedi simplifies how you handle RSS, Atom, or JSON feeds. You can add and keep track of your favourite           feed data with a simple and clean REST API. All entries are enriched by Machine Learning and Semantic engines.\n\n* [Breaker][breaker]: The social podcast app\n\n* [Huginn][huginn]: Huginn is a system for building agents that perform automated tasks for you online.\n\n[Feedbin]: https://feedbin.com/\n[Stringer]: https://github.com/swanson/stringer\n[BlogFeeder]: https://apps.shopify.com/blogfeeder\n[Feedbunch]: https://github.com/amatriain/feedbunch\n[old]: http://theoldreader.com/\n[solve]: https://solveforall.com/\n[feedi]: https://github.com/davidesantangelo/feedi\n[breaker]: https://breaker.audio\n[huginn]: https://github.com/huginn/huginn\n\nNote: to get your project on this list, simply [send an email](mailto:feedjira@gmail.com)\nwith your project's details.\n","funding_links":[],"categories":["RSS","Ruby"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffeedjira%2Ffeedjira","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffeedjira%2Ffeedjira","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffeedjira%2Ffeedjira/lists"}