Feedjira
Build Status Code Climate
Feedjira는 피드를 구문 분석(parse)하도록 설계된 Ruby 라이브러리입니다.
설치 (Installation)
애플리케이션의 Gemfile에 다음 줄을 추가하세요:
구문 분석 (Parsing)
Feedjira를 사용하여 피드를 구문 분석하는 예시:
xml = HTTParty.get(url).body
feed = Feedjira.parse(xml)
feed.entries.first.title
...
파서 지정 (Specifying parser)
XML을 가지고 있고 단 한 번의 구문 분석을 위해 특정 파서 클래스를 제공하고 싶다면, parser 옵션을 사용하여 parse로 지정할 수 있습니다:
Feedjira.parse(xml, parser: MyAwesomeParser)
모든 피드 유형/모든 항목 유형에 속성 추가 (Adding attributes to all feeds types / all entries types)
Feedjira::Feed.add_common_feed_element("generator")
xml = HTTParty.get("http://www.pauldix.net/atom.xml").body
...
단일 클래스에만 속성 추가 (Adding attributes to only one class)
단지 하나의 클래스에 대해서만 속성을 추가하고 싶다면, 해당 클래스 내에서 선언하기만 하면 됩니다:
class Feedjira::Parser::RSSEntry
element "georss:elevation", as: :elevation
...
설정 (Configuration)
파서 (Parsers)
사용자 지정 파서 추가 (Adding a custom parser)
다음과 같이 하면 사용 가능한 파서 목록의 맨 앞에 자신만의 파서를 삽입할 수 있습니다:
Feedjira.configure do |config|
config.parsers.unshift(MyAwesomeParser)
end
이제 Feedjira.parse를 호출하면, MyAwesomeParser가 피드를 구문 분석할 기회를 가장 먼저 얻게 됩니다.
사용 가능한 모든 파서 명시적으로 설정 (Explicitly set all available parsers)
Feedjira는 특정 세트의 파서를 특정 순서로 사용하도록 구성될 수 있습니다:
Feedjira를 설정할 수 있습니다.
Feedjira.configure do |config|
config.parsers = [
Feedjira::Parser::ITunesRSS,
...
XML에서 공백 제거하기 (Stripping whitespace from XML)
Feedjira는 모든 공백을 제거하도록 설정할 수 있지만 기본값은 lstrip만 적용됩니다:
Feedjira.configure do |config|
config.strip_whitespace = true
end
기여 (Contributing)
버그 보고 및 풀 리퀘스트는 GitHub의 https://github.com/feedjira/feedjira에서 환영합니다. 이 프로젝트는 협업을 위한 안전하고 환영받는 공간이 되는 것을 목표로 하며, 기여자들은 Contributor Covenant 행동 강령을 준수해야 합니다.
Feedjira를 사용하는 프로젝트 (Projects that use Feedjira)
Feedjira는 RSS 리더부터 애드온에 이르기까지 웹 전반의 멋진 프로젝트들에서 사용되고 있습니다. 몇 가지 예시는 다음과 같습니다:
-
Feedbin: Feedbin은 빠르고 간단하며 훌륭한 독서 경험을 제공하는 RSS 리더로 스스로를 홍보합니다. 모바일 앱과 통합되는 유료 RSS 리더이며, 기능이 완벽한 API까지 갖추고 있습니다!
-
Stringer: Stringer는 자체 호스팅(self-hosted) 방식의 반사회적(anti-social) RSS 리더입니다. 어떤 호스트에도 배포하기 쉬운 오픈 소스 프로젝트이며, Heroku에 한 번 클릭으로 배포하는 버튼까지 제공됩니다.
-
BlogFeeder: BlogFeeder는 Shopify 앱 중 하나로, 외부 블로그를 Shopify 스토어에 쉽게 가져올 수 있도록 해줍니다. 이는 스토어의 SEO 개선을 돕고 블로그 간 동기화를 유지하며, 그 외에도 많은 기능을 제공합니다.
-
Feedbunch: Feedbunch는 Google Reader가 남긴 공백을 채우기 위해 구축된 오픈 소스 피드 리더입니다. Google Reader의 모든 기능을 지원하고 실제로 다른 기능들을 개선하는 것을 목표로 합니다.
-
The Old Reader: The Old Reader는 궁극적인 소셜 RSS 리더로 광고합니다. 시작은 무료이며 유료 프리미엄 버전도 있습니다. API가 있으며 여러 다른 모바일 앱과 통합됩니다.
-
Solve for All: Solve for All은 검색 엔진과 피드 파싱을 결합하면서도 개인 정보를 보호합니다. 커뮤니티가 확장할 수 있는 기능까지 갖추고 있습니다!
-
Feedi API: Feedi는 RSS, Atom 또는 JSON 피드를 처리하는 방식을 간소화합니다. 간단하고 깔끔한 REST API를 통해 좋아하는 피드 데이터를 추가하고 추적할 수 있습니다. 모든 항목은 머신러닝(Machine Learning) 및 시맨틱 엔진(Semantic engines)에 의해 풍부하게 만듭니다.
-
Breaker: 소셜 팟캐스트 앱
-
Huginn: Huginn은 온라인에서 사용자를 대신하여 자동화된 작업을 수행하는 에이전트(agent)를 구축하기 위한 시스템입니다.
참고: 이 목록에 프로젝트를 추가하려면, 프로젝트 세부 정보를 담아 [[email protected]]으로 이메일을 보내주십시오.