https://github.com/koopjs/koop-output-rss
A Koop output plugin for generating RSS 2.0 feeds (including GeoJSON) from any Koop Providers.
https://github.com/koopjs/koop-output-rss
Last synced: 12 days ago
JSON representation
A Koop output plugin for generating RSS 2.0 feeds (including GeoJSON) from any Koop Providers.
- Host: GitHub
- URL: https://github.com/koopjs/koop-output-rss
- Owner: koopjs
- License: other
- Created: 2023-03-02T18:37:48.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2024-10-30T16:51:22.000Z (6 months ago)
- Last Synced: 2025-03-24T09:38:17.763Z (29 days ago)
- Language: TypeScript
- Homepage:
- Size: 917 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# Koop Output RSS 2.0
This is a Koop output plugin that transforms datasets from Koop Provider into a RSS 2.0 feed (with GeoRSS) encoded in XML.
Proposed channel/item RSS 2.0 XML structure: [link here](https://confluencewikidev.esri.com/display/Hub/RSS+2.0+Hub+Feeds+Structure)
See the [RSS 2.0 specification](https://www.rssboard.org/rss-2-0) for more information.
## Use
The plugin uses highly customizable feed template in JSON for field mapping which needs to be passed via Koop instance in `res.locals.feedTemplate` and `koop.server.locals.feedTemplateTransformsRss`.An example of the feed template is below:
```
{
channel: {
title: 'ArcGIS Hubsite',
description: 'ArcGIS Hub is an easy-to-configure cloud platform that organizes people, data, and tools to accomplish Initiatives and goals.',
link: 'https://hub.arcgis.com/',
category: 'Opendata',
item: {
title: '{{name}}',
description: '{{searchDescription}}',
author: '{{orgContactEmail}}',
category: '{{categories}}',
pubDate: '{{created:toUTC}}'
}
}
}
```
Visit the [KoopJS docs](https://koopjs.github.io/docs/basics/what-is-koop) for instructions on building and deploying a Koop app.## Develop
```
# clone and install dependencies
git clone https://github.com/koopjs/koopjs-output-rss
cd koopjs-output-rss
npm i# starts the example Koop app found in ./example-app.
npm run dev
```## Test
Run the `npm t` commmand to spin up the automated tests.