All Projects → johnconway → feed-nim

johnconway / feed-nim

Licence: MIT License
A feed parsing module for Nim

Programming Languages

nim
578 projects

Projects that are alternatives of or similar to feed-nim

tidyRSS
An R package for extracting 'tidy' data frames from RSS, Atom, JSON and geoRSS feeds
Stars: ✭ 62 (+195.24%)
Mutual labels:  rss, atom-feed, jsonfeed
Gofeed
Parse RSS, Atom and JSON feeds in Go
Stars: ✭ 1,762 (+8290.48%)
Mutual labels:  rss, atom-feed, jsonfeed
arsse
The clean & modern RSS server that doesn't give you any crap. Mirror of main repository at https://code.mensbeam.com/MensBeam/arsse. Please direct your issues there.
Stars: ✭ 15 (-28.57%)
Mutual labels:  rss, atom-feed
Rss Bridge
The RSS feed for websites missing it
Stars: ✭ 4,067 (+19266.67%)
Mutual labels:  rss, atom-feed
V2
Minimalist and opinionated feed reader
Stars: ✭ 3,239 (+15323.81%)
Mutual labels:  rss, jsonfeed
reader
A Python feed reader library.
Stars: ✭ 290 (+1280.95%)
Mutual labels:  rss, atom-feed
django-feed-reader
An RSS/Atom/JSONFeed reading + storing library for Django
Stars: ✭ 21 (+0%)
Mutual labels:  rss, jsonfeed
FeedReader
C# RSS and ATOM Feed reader library. Supports RSS 0.91, 0.92, 1.0, 2.0 and ATOM. Tested with multiple languages and feeds.
Stars: ✭ 221 (+952.38%)
Mutual labels:  rss, atom-feed
simplepie-ng
Don't use this yet.
Stars: ✭ 41 (+95.24%)
Mutual labels:  rss, jsonfeed
json-feed-viewer
The world's first JSON feed viewer 🥇
Stars: ✭ 40 (+90.48%)
Mutual labels:  rss, jsonfeed
tgto
Telegram to RSS bot.
Stars: ✭ 20 (-4.76%)
Mutual labels:  rss, atom-feed
drop-feeds
Drop Feeds is a Sage / Sage++ like addon (webextension) for Firefox Quantum
Stars: ✭ 18 (-14.29%)
Mutual labels:  rss
tf
Telefeedbot
Stars: ✭ 16 (-23.81%)
Mutual labels:  rss
Feedly-Export-Save4Later
Working script for latest feedly design. Including title, url, summary, time, sourceTitle & sourceUrl
Stars: ✭ 23 (+9.52%)
Mutual labels:  rss
filter-app
Rails app - news aggregator that powers http://hrfilter.de and http://fahrrad-filter.de
Stars: ✭ 22 (+4.76%)
Mutual labels:  rss
crawley
Crawley the Telegram Beholder
Stars: ✭ 24 (+14.29%)
Mutual labels:  rss
NiceFeed
Android RSS feed reader and news aggregator
Stars: ✭ 74 (+252.38%)
Mutual labels:  rss
gatsby-blog-mdx
A ready-to-use, customizable personal blog with minimalist design
Stars: ✭ 61 (+190.48%)
Mutual labels:  rss
feedsearch-crawler
Crawl sites for RSS, Atom, and JSON feeds.
Stars: ✭ 23 (+9.52%)
Mutual labels:  rss
html2rss-web
🕸 Generates and delivers RSS feeds via HTTP. Create your own feeds or get started quickly with the included configs.
Stars: ✭ 36 (+71.43%)
Mutual labels:  rss

Feed-Nim

A feed parsing module for Nim, which parses RSS, Atom, and JSONfeed syndication formats. This has been substantially re-written and expanded from Nim-RSS.

It has not been tested in the wild, and is mostly written by an inexperienced dope who barely understands Nim. It will probably break. Use at your own risk.

Intallation

nimble install feednim

Usage

loadAtom(filename: string): Atom Loads the Atom from the given filename
getAtom(url: string): Atom Gets the Atom from the specified url

loadRSS(filename: string): RSS Loads the RSS from the given filename
getRSS(url: string): RSS Gets the RSS from the specified url

loadJsonFeed(filename: string): JSONfeed Loads the JSONFeed from the given filename
getJsonFeed(url: string): JSONfeed Gets the JSONfeed from the specified url

Accessors

Feed-Nim will give a data tree which looks very similar to the data tree of the feed, and the nodes will mostly have the same names. For example an RSS feed 'title' node will be:

let feed = loadRSS("my_feed.xml")
feed.title # Will hold the title
(Bet you didn't see that coming!)

There are some exeptions, elements that can be repeated according to the specifications are pluralised as follows:

RSS: <item> is accessed as .items[index]
RSS and Atom: <category> is accessed as .categories[index]
Atom: <entry> is accessed as .entries[index]
Atom: <author> is accessed as .authors[index] (if you call just .author, you will return the first author of the sequence)
Atom: <contributor> is accessed as .contributors[index] (again, calling this singular will return the first in the sequence)

Some Atom nodes have the Nim keyword 'type' as an attribute. These have been changed as follows:

<link type=""> type is accesed with .linkType
<content type="">, <title type="">, and <subtitle type=""> types are accesed with .textType

Limitations

Feed-Nim does not implement the full specification of any of the feed types. Notably, in Atom, the common attributes 'xml:lang' and 'xml:base' are not implemented. All three formats are extensible, but there is no support for this (extensions should be ignored by Feed-Nim, but this is untested).

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].