Skip to content

Transform Stratic indexes into RSS feeds

License

LGPL-3.0, GPL-3.0 licenses found

Licenses found

LGPL-3.0
COPYING.LESSER
GPL-3.0
COPYING
Notifications You must be signed in to change notification settings

straticjs/stratic-indexes-to-rss

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

About

Transform Stratic indexes into RSS feeds

Topics

Resources

License

LGPL-3.0, GPL-3.0 licenses found

Licenses found

LGPL-3.0
COPYING.LESSER
GPL-3.0
COPYING

Code of conduct

Stars

Watchers

Forks

Packages

No packages published