{"id":13507921,"url":"https://github.com/umurgdk/elixir-feedme","last_synced_at":"2026-02-18T21:02:44.061Z","repository":{"id":47721136,"uuid":"42166365","full_name":"umurgdk/elixir-feedme","owner":"umurgdk","description":"Elixir RSS/Atom parser","archived":false,"fork":false,"pushed_at":"2017-01-27T00:38:10.000Z","size":62,"stargazers_count":15,"open_issues_count":1,"forks_count":9,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-10-21T17:48:15.470Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Elixir","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/umurgdk.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-09-09T08:34:22.000Z","updated_at":"2023-03-31T11:32:32.000Z","dependencies_parsed_at":"2022-09-12T09:30:29.948Z","dependency_job_id":null,"html_url":"https://github.com/umurgdk/elixir-feedme","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/umurgdk/elixir-feedme","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/umurgdk%2Felixir-feedme","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/umurgdk%2Felixir-feedme/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/umurgdk%2Felixir-feedme/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/umurgdk%2Felixir-feedme/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/umurgdk","download_url":"https://codeload.github.com/umurgdk/elixir-feedme/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/umurgdk%2Felixir-feedme/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29596125,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-18T20:59:56.587Z","status":"ssl_error","status_checked_at":"2026-02-18T20:58:41.434Z","response_time":162,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":[],"created_at":"2024-08-01T02:00:43.019Z","updated_at":"2026-02-18T21:02:44.027Z","avatar_url":"https://github.com/umurgdk.png","language":"Elixir","funding_links":[],"categories":["Feeds"],"sub_categories":[],"readme":"Feedme\n======\n[![Build Status](https://travis-ci.org/umurgdk/elixir-feedme.svg?branch=master)](https://travis-ci.org/umurgdk/elixir-feedme)\n\nElixir RSS/Atom parser built on erlang's **xmerl** xml parser. It uses [timex](https://github.com/bitwalker/timex) for parsing dates.\n\n## Setup\n\nAdd **feedme** into your mix dependencies and applications:\n\n```elixir\ndef application do\n  [applications: [:feedme]]\nend\n\ndefp deps do\n  [{:feedme, \"~\u003e 0.0.1\"}]\nend\n```\nThen run ```mix deps.get``` to install feedme.\n\n## Parsing\n\nFeedme expose only one function named ```parse/1```. Parse function detects the feed format as **rss** or **atom**.\n\n```elixir\n{:ok, xml_string} = File.read(\"some.xml\")\n{:ok, feed} = Feedme.parse(xml_string)\n\n# Feed\n%Feedme.Feed{\n  meta: %Feedme.MetaData{\n    author: nil,\n    category: nil,\n    cloud: nil,\n    copyright: nil,\n    description: \"software is fun\",\n    docs: nil,\n    generator: \"Ghost 0.6\",\n    image: nil,\n    language: nil,\n    last_build_date: %Timex.DateTime{...},\n    link: \"http://blog.drewolson.org/\", managing_editor: nil,\n    publication_date: nil, \n    rating: nil,\n    skip_days: [],\n    skip_hours: [],\n    title: \"collect {thoughts}\",\n    ttl: \"60\",\n    web_master: nil\n  }\n  entries: [\n    %Feedme.Entry{\n      author: nil,\n      categories: [\"elixir\"],\n      comments: nil,\n      description: \"\u003cp\u003eI previously \u003ca href=\\\"http://blog.drewolson.org/the-value-of-explicitness/\\\"\u003ewrote\u003c/a\u003e about explicitness in Elixir. One of my favorite ways the language embraces explicitness is in its distinction between eager and lazy operations on collections. Any time you use the \u003ccode\u003eEnum\u003c/code\u003e module, you're performing an eager operation. Your collection will be transformed/mapped/enumerated immediately. When you use\u003c/p\u003e\",\n      enclosure: %Feedme.Enclosure{\n        length: \"12216320\",\n        type: \"audio/mpeg\",\n        url: \"http://www.tutorialspoint.com/mp3s/tutorial.mp3\"\n      },\n      guid: \"9b68a5a7-4ab0-420e-8105-0462357fa1f1\",\n      link: \"http://blog.drewolson.org/elixir-streams/\",\n      publication_date: %Timex.DateTime{...},\n      source: nil, title: \"Elixir Streams\"\n    }\n  ]\n}\n```\n\n## ToDo\n\n- [ ] Rss+Atom parser\n- [ ] FeedBurner support\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fumurgdk%2Felixir-feedme","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fumurgdk%2Felixir-feedme","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fumurgdk%2Felixir-feedme/lists"}