Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/straticjs/stratic-indexes-to-rss
Transform Stratic indexes into RSS feeds
https://github.com/straticjs/stratic-indexes-to-rss
gulp gulp-plugin hacktoberfest javascript rss stratic
Last synced: 5 days ago
JSON representation
Transform Stratic indexes into RSS feeds
- Host: GitHub
- URL: https://github.com/straticjs/stratic-indexes-to-rss
- Owner: straticjs
- License: lgpl-3.0
- Created: 2017-01-10T16:38:35.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2019-05-09T08:22:24.000Z (over 5 years ago)
- Last Synced: 2024-04-14T11:56:11.065Z (7 months ago)
- Topics: gulp, gulp-plugin, hacktoberfest, javascript, rss, stratic
- Language: JavaScript
- Homepage:
- Size: 59.6 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: COPYING
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# `stratic-indexes-to-rss`
[Gulp][1] plugin to convert [Stratic][2] indexes into RSS feeds
## Installation
npm install stratic-indexes-to-rss
## Usage
The module exports a function that takes two parameters:
* `feedOpts` (`Object`) - options for the feed which are passed (with some additions) directly to the [`rss`][3] module
* `urlPrefix` (`String`) - the URL under which all blog resources are published; also normally the main index's first page's URL. Used for things like converting relative URLs to absolute URLs and computing feed metadata URLs.This function returns an object-mode through stream suitable for use inside `.pipe()`.
## Examples
Minimal `gulpfile.js` for this module to work:
```js
var gulp = require('gulp');
var frontMatter = require('gulp-gray-matter');
var straticDateInPath = require('stratic-date-in-path');
var starticIndexesToRss = require('stratic-indexes-to-rss');gulp.task('rss', function() {
gulp.src('*.md')
.pipe(frontMatter())
.pipe(straticDateInPath())
.pipe(addsrc('src/blog/index.jade'))
.pipe(postsToIndex('index.jade'))
.pipe(straticIndexesToRss({title: 'Blag!'}, 'https://example.com/blog/'));
});
```Complete example `gulpfile.js`:
```js
var gulp = require('gulp');
var frontMatter = require('gulp-gray-matter');
var remark = require('gulp-remark');
var remarkHtml = require('remark-html');
var straticDateInPath = require('stratic-date-in-path');
var addsrc = require('gulp-add-src');
var postsToIndex = require('stratic-posts-to-index');
var straticIndexesToRss = require('stratic-indexes-to-rss');
var rename = require('gulp-rename');gulp.task('rss', function() {
gulp.src('*.md')
.pipe(frontMatter())
.pipe(remark().use(remarkHtml))
.pipe(straticDateInPath())
.pipe(addsrc('src/blog/index.jade'))
.pipe(postsToIndex('index.jade'))
.pipe(straticIndexesToRss({title: 'Blag!'}, 'https://example.com/blog/'));
.pipe(rename({ extname: '.rss' }))
.pipe(gulp.dest('dist/blog'));
});
```## Code of Conduct
Please note that StraticJS is developed under the [Contributor Covenant][4] Code of Conduct. Project contributors are expected to respect these terms.
For the full Code of Conduct, see [CODE_OF_CONDUCT.md][5]. Violations may be reported to .
## License
LGPL 3.0+
## Author
AJ Jordan
[1]: http://gulpjs.com/
[2]: https://github.com/straticjs/generator-stratic
[3]: https://npmjs.com/package/rss
[4]: http://contributor-covenant.org/
[5]: https://github.com/straticjs/stratic-indexes-to-rss/blob/master/CODE_OF_CONDUCT.md