Gulp plugin to convert Stratic indexes into RSS feeds
npm install stratic-indexes-to-rss
The module exports a function that takes two parameters:
feedOpts
(Object
) - options for the feed which are passed (with some additions) directly to therss
moduleurlPrefix
(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()
.
Minimal gulpfile.js
for this module to work:
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
:
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'));
});
Please note that StraticJS is developed under the Contributor Covenant Code of Conduct. Project contributors are expected to respect these terms.
For the full Code of Conduct, see CODE_OF_CONDUCT.md. Violations may be reported to alex@strugee.net.
LGPL 3.0+
AJ Jordan alex@strugee.net