stratic-indexes-to-rss

Transform Stratic indexes into RSS feeds


Keywords
stratic, gulpplugin, gulp, gulp-plugin, hacktoberfest, javascript, rss
License
LGPL-3.0+
Install
npm install stratic-indexes-to-rss@1.1.0

Documentation

stratic-indexes-to-rss

Gulp plugin to convert Stratic 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 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:

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'));
});

Code of Conduct

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.

License

LGPL 3.0+

Author

AJ Jordan alex@strugee.net