/
gatsby-ssr.js
41 lines (32 loc) · 1.25 KB
/
gatsby-ssr.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _react = _interopRequireDefault(require("react"));
var _gatsby = require("gatsby");
var _internals = require("./internals");
// TODO: remove for v3
var withPrefix = _gatsby.withAssetPrefix || _gatsby.withPrefix;
exports.onRenderBody = function (_ref, pluginOptions) {
var setHeadComponents = _ref.setHeadComponents,
pathname = _ref.pathname;
var _defaultOptions$plugi = (0, _extends2.default)({}, _internals.defaultOptions, {}, pluginOptions),
feeds = _defaultOptions$plugi.feeds;
var links = feeds.filter(function (_ref2) {
var match = _ref2.match;
if (typeof match === "string") return new RegExp(match).exec(pathname);
return true;
}).map(function (_ref3, i) {
var output = _ref3.output,
title = _ref3.title,
link = _ref3.link;
var href = link || withPrefix(output.replace(/^\/?/, "/"));
return /*#__PURE__*/_react.default.createElement("link", {
key: "gatsby-plugin-feed-" + i,
rel: "alternate",
type: "application/rss+xml",
title: title,
href: href
});
});
setHeadComponents(links);
};