@newskit-render/feed 0.0.0-014af081
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +307 -0
- package/dist/cjs/config/index.d.ts +1 -0
- package/dist/cjs/config/index.js +9 -0
- package/dist/cjs/config/index.js.map +1 -0
- package/dist/cjs/helpers/client.d.ts +2 -0
- package/dist/cjs/helpers/client.js +35 -0
- package/dist/cjs/helpers/client.js.map +1 -0
- package/dist/cjs/helpers/createSitemap/buildSiteMapImages.d.ts +2 -0
- package/dist/cjs/helpers/createSitemap/buildSiteMapImages.js +18 -0
- package/dist/cjs/helpers/createSitemap/buildSiteMapImages.js.map +1 -0
- package/dist/cjs/helpers/createSitemap/buildSiteMapVideos.d.ts +2 -0
- package/dist/cjs/helpers/createSitemap/buildSiteMapVideos.js +23 -0
- package/dist/cjs/helpers/createSitemap/buildSiteMapVideos.js.map +1 -0
- package/dist/cjs/helpers/createSitemap/createArticleSitemap.d.ts +3 -0
- package/dist/cjs/helpers/createSitemap/createArticleSitemap.js +47 -0
- package/dist/cjs/helpers/createSitemap/createArticleSitemap.js.map +1 -0
- package/dist/cjs/helpers/createSitemap/createPagesSitemap.d.ts +2 -0
- package/dist/cjs/helpers/createSitemap/createPagesSitemap.js +43 -0
- package/dist/cjs/helpers/createSitemap/createPagesSitemap.js.map +1 -0
- package/dist/cjs/helpers/createSitemap/createSitemapIndex.d.ts +1 -0
- package/dist/cjs/helpers/createSitemap/createSitemapIndex.js +13 -0
- package/dist/cjs/helpers/createSitemap/createSitemapIndex.js.map +1 -0
- package/dist/cjs/helpers/createSitemap/generateArticleSlug.d.ts +1 -0
- package/dist/cjs/helpers/createSitemap/generateArticleSlug.js +13 -0
- package/dist/cjs/helpers/createSitemap/generateArticleSlug.js.map +1 -0
- package/dist/cjs/helpers/createSitemap/getCategorySlug.d.ts +2 -0
- package/dist/cjs/helpers/createSitemap/getCategorySlug.js +11 -0
- package/dist/cjs/helpers/createSitemap/getCategorySlug.js.map +1 -0
- package/dist/cjs/helpers/createSitemap/getSitemapHeaders.d.ts +1 -0
- package/dist/cjs/helpers/createSitemap/getSitemapHeaders.js +10 -0
- package/dist/cjs/helpers/createSitemap/getSitemapHeaders.js.map +1 -0
- package/dist/cjs/helpers/createSitemap/index.d.ts +7 -0
- package/dist/cjs/helpers/createSitemap/index.js +24 -0
- package/dist/cjs/helpers/createSitemap/index.js.map +1 -0
- package/dist/cjs/helpers/queryArticleList.d.ts +7 -0
- package/dist/cjs/helpers/queryArticleList.js +78 -0
- package/dist/cjs/helpers/queryArticleList.js.map +1 -0
- package/dist/cjs/helpers/queryPages.d.ts +3 -0
- package/dist/cjs/helpers/queryPages.js +78 -0
- package/dist/cjs/helpers/queryPages.js.map +1 -0
- package/dist/cjs/helpers/types.d.ts +55 -0
- package/dist/cjs/helpers/types.js +9 -0
- package/dist/cjs/helpers/types.js.map +1 -0
- package/dist/cjs/helpers/utils.d.ts +7 -0
- package/dist/cjs/helpers/utils.js +40 -0
- package/dist/cjs/helpers/utils.js.map +1 -0
- package/dist/cjs/index.d.ts +2 -0
- package/dist/cjs/index.js +19 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/rss/RSSFeedResolver.d.ts +2 -0
- package/dist/cjs/rss/RSSFeedResolver.js +66 -0
- package/dist/cjs/rss/RSSFeedResolver.js.map +1 -0
- package/dist/cjs/rss/__tests__/mocks.d.ts +163 -0
- package/dist/cjs/rss/__tests__/mocks.js +563 -0
- package/dist/cjs/rss/__tests__/mocks.js.map +1 -0
- package/dist/cjs/rss/contentEncodedUtils/createBlockElements.d.ts +10 -0
- package/dist/cjs/rss/contentEncodedUtils/createBlockElements.js +49 -0
- package/dist/cjs/rss/contentEncodedUtils/createBlockElements.js.map +1 -0
- package/dist/cjs/rss/contentEncodedUtils/createContentEncoded.d.ts +2 -0
- package/dist/cjs/rss/contentEncodedUtils/createContentEncoded.js +17 -0
- package/dist/cjs/rss/contentEncodedUtils/createContentEncoded.js.map +1 -0
- package/dist/cjs/rss/contentEncodedUtils/createImage.d.ts +2 -0
- package/dist/cjs/rss/contentEncodedUtils/createImage.js +23 -0
- package/dist/cjs/rss/contentEncodedUtils/createImage.js.map +1 -0
- package/dist/cjs/rss/contentEncodedUtils/createItems.d.ts +2 -0
- package/dist/cjs/rss/contentEncodedUtils/createItems.js +24 -0
- package/dist/cjs/rss/contentEncodedUtils/createItems.js.map +1 -0
- package/dist/cjs/rss/contentEncodedUtils/createParagraph.d.ts +2 -0
- package/dist/cjs/rss/contentEncodedUtils/createParagraph.js +23 -0
- package/dist/cjs/rss/contentEncodedUtils/createParagraph.js.map +1 -0
- package/dist/cjs/rss/contentEncodedUtils/createRSSFeed.d.ts +2 -0
- package/dist/cjs/rss/contentEncodedUtils/createRSSFeed.js +11 -0
- package/dist/cjs/rss/contentEncodedUtils/createRSSFeed.js.map +1 -0
- package/dist/cjs/rss/contentEncodedUtils/createSummary.d.ts +2 -0
- package/dist/cjs/rss/contentEncodedUtils/createSummary.js +15 -0
- package/dist/cjs/rss/contentEncodedUtils/createSummary.js.map +1 -0
- package/dist/cjs/rss/contentEncodedUtils/index.d.ts +4 -0
- package/dist/cjs/rss/contentEncodedUtils/index.js +21 -0
- package/dist/cjs/rss/contentEncodedUtils/index.js.map +1 -0
- package/dist/cjs/rss/helpers/articleHelper.d.ts +6 -0
- package/dist/cjs/rss/helpers/articleHelper.js +49 -0
- package/dist/cjs/rss/helpers/articleHelper.js.map +1 -0
- package/dist/cjs/rss/helpers/buildBodyDataTypesMap.d.ts +2 -0
- package/dist/cjs/rss/helpers/buildBodyDataTypesMap.js +39 -0
- package/dist/cjs/rss/helpers/buildBodyDataTypesMap.js.map +1 -0
- package/dist/cjs/rss/helpers/buildLists.d.ts +4 -0
- package/dist/cjs/rss/helpers/buildLists.js +35 -0
- package/dist/cjs/rss/helpers/buildLists.js.map +1 -0
- package/dist/cjs/rss/helpers/index.d.ts +3 -0
- package/dist/cjs/rss/helpers/index.js +20 -0
- package/dist/cjs/rss/helpers/index.js.map +1 -0
- package/dist/cjs/rss/index.d.ts +2 -0
- package/dist/cjs/rss/index.js +6 -0
- package/dist/cjs/rss/index.js.map +1 -0
- package/dist/cjs/rss/queries/getArticleList.d.ts +1 -0
- package/dist/cjs/rss/queries/getArticleList.js +11 -0
- package/dist/cjs/rss/queries/getArticleList.js.map +1 -0
- package/dist/cjs/rss/queries/index.d.ts +1 -0
- package/dist/cjs/rss/queries/index.js +18 -0
- package/dist/cjs/rss/queries/index.js.map +1 -0
- package/dist/cjs/rss/types.d.ts +198 -0
- package/dist/cjs/rss/types.js +30 -0
- package/dist/cjs/rss/types.js.map +1 -0
- package/dist/cjs/sitemap/__tests__/mocks.d.ts +13 -0
- package/dist/cjs/sitemap/__tests__/mocks.js +125 -0
- package/dist/cjs/sitemap/__tests__/mocks.js.map +1 -0
- package/dist/cjs/sitemap/index.d.ts +3 -0
- package/dist/cjs/sitemap/index.js +9 -0
- package/dist/cjs/sitemap/index.js.map +1 -0
- package/dist/cjs/sitemap/queries/getArticleList.d.ts +1 -0
- package/dist/cjs/sitemap/queries/getArticleList.js +11 -0
- package/dist/cjs/sitemap/queries/getArticleList.js.map +1 -0
- package/dist/cjs/sitemap/queries/getCompetitions.d.ts +1 -0
- package/dist/cjs/sitemap/queries/getCompetitions.js +11 -0
- package/dist/cjs/sitemap/queries/getCompetitions.js.map +1 -0
- package/dist/cjs/sitemap/queries/getPages.d.ts +1 -0
- package/dist/cjs/sitemap/queries/getPages.js +11 -0
- package/dist/cjs/sitemap/queries/getPages.js.map +1 -0
- package/dist/cjs/sitemap/queries/index.d.ts +3 -0
- package/dist/cjs/sitemap/queries/index.js +20 -0
- package/dist/cjs/sitemap/queries/index.js.map +1 -0
- package/dist/cjs/sitemap/resolvers/genericSitemapResolver.d.ts +2 -0
- package/dist/cjs/sitemap/resolvers/genericSitemapResolver.js +86 -0
- package/dist/cjs/sitemap/resolvers/genericSitemapResolver.js.map +1 -0
- package/dist/cjs/sitemap/resolvers/index.d.ts +2 -0
- package/dist/cjs/sitemap/resolvers/index.js +19 -0
- package/dist/cjs/sitemap/resolvers/index.js.map +1 -0
- package/dist/cjs/sitemap/resolvers/newsSitemapResolver.d.ts +2 -0
- package/dist/cjs/sitemap/resolvers/newsSitemapResolver.js +67 -0
- package/dist/cjs/sitemap/resolvers/newsSitemapResolver.js.map +1 -0
- package/dist/esm/config/index.d.ts +1 -0
- package/dist/esm/config/index.js +6 -0
- package/dist/esm/config/index.js.map +1 -0
- package/dist/esm/helpers/client.d.ts +2 -0
- package/dist/esm/helpers/client.js +32 -0
- package/dist/esm/helpers/client.js.map +1 -0
- package/dist/esm/helpers/createSitemap/buildSiteMapImages.d.ts +2 -0
- package/dist/esm/helpers/createSitemap/buildSiteMapImages.js +11 -0
- package/dist/esm/helpers/createSitemap/buildSiteMapImages.js.map +1 -0
- package/dist/esm/helpers/createSitemap/buildSiteMapVideos.d.ts +2 -0
- package/dist/esm/helpers/createSitemap/buildSiteMapVideos.js +16 -0
- package/dist/esm/helpers/createSitemap/buildSiteMapVideos.js.map +1 -0
- package/dist/esm/helpers/createSitemap/createArticleSitemap.d.ts +3 -0
- package/dist/esm/helpers/createSitemap/createArticleSitemap.js +40 -0
- package/dist/esm/helpers/createSitemap/createArticleSitemap.js.map +1 -0
- package/dist/esm/helpers/createSitemap/createPagesSitemap.d.ts +2 -0
- package/dist/esm/helpers/createSitemap/createPagesSitemap.js +36 -0
- package/dist/esm/helpers/createSitemap/createPagesSitemap.js.map +1 -0
- package/dist/esm/helpers/createSitemap/createSitemapIndex.d.ts +1 -0
- package/dist/esm/helpers/createSitemap/createSitemapIndex.js +9 -0
- package/dist/esm/helpers/createSitemap/createSitemapIndex.js.map +1 -0
- package/dist/esm/helpers/createSitemap/generateArticleSlug.d.ts +1 -0
- package/dist/esm/helpers/createSitemap/generateArticleSlug.js +9 -0
- package/dist/esm/helpers/createSitemap/generateArticleSlug.js.map +1 -0
- package/dist/esm/helpers/createSitemap/getCategorySlug.d.ts +2 -0
- package/dist/esm/helpers/createSitemap/getCategorySlug.js +7 -0
- package/dist/esm/helpers/createSitemap/getCategorySlug.js.map +1 -0
- package/dist/esm/helpers/createSitemap/getSitemapHeaders.d.ts +1 -0
- package/dist/esm/helpers/createSitemap/getSitemapHeaders.js +6 -0
- package/dist/esm/helpers/createSitemap/getSitemapHeaders.js.map +1 -0
- package/dist/esm/helpers/createSitemap/index.d.ts +7 -0
- package/dist/esm/helpers/createSitemap/index.js +8 -0
- package/dist/esm/helpers/createSitemap/index.js.map +1 -0
- package/dist/esm/helpers/queryArticleList.d.ts +7 -0
- package/dist/esm/helpers/queryArticleList.js +74 -0
- package/dist/esm/helpers/queryArticleList.js.map +1 -0
- package/dist/esm/helpers/queryPages.d.ts +3 -0
- package/dist/esm/helpers/queryPages.js +74 -0
- package/dist/esm/helpers/queryPages.js.map +1 -0
- package/dist/esm/helpers/types.d.ts +55 -0
- package/dist/esm/helpers/types.js +6 -0
- package/dist/esm/helpers/types.js.map +1 -0
- package/dist/esm/helpers/utils.d.ts +7 -0
- package/dist/esm/helpers/utils.js +31 -0
- package/dist/esm/helpers/utils.js.map +1 -0
- package/dist/esm/index.d.ts +2 -0
- package/dist/esm/index.js +3 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/rss/RSSFeedResolver.d.ts +2 -0
- package/dist/esm/rss/RSSFeedResolver.js +62 -0
- package/dist/esm/rss/RSSFeedResolver.js.map +1 -0
- package/dist/esm/rss/__tests__/mocks.d.ts +163 -0
- package/dist/esm/rss/__tests__/mocks.js +560 -0
- package/dist/esm/rss/__tests__/mocks.js.map +1 -0
- package/dist/esm/rss/contentEncodedUtils/createBlockElements.d.ts +10 -0
- package/dist/esm/rss/contentEncodedUtils/createBlockElements.js +37 -0
- package/dist/esm/rss/contentEncodedUtils/createBlockElements.js.map +1 -0
- package/dist/esm/rss/contentEncodedUtils/createContentEncoded.d.ts +2 -0
- package/dist/esm/rss/contentEncodedUtils/createContentEncoded.js +13 -0
- package/dist/esm/rss/contentEncodedUtils/createContentEncoded.js.map +1 -0
- package/dist/esm/rss/contentEncodedUtils/createImage.d.ts +2 -0
- package/dist/esm/rss/contentEncodedUtils/createImage.js +19 -0
- package/dist/esm/rss/contentEncodedUtils/createImage.js.map +1 -0
- package/dist/esm/rss/contentEncodedUtils/createItems.d.ts +2 -0
- package/dist/esm/rss/contentEncodedUtils/createItems.js +20 -0
- package/dist/esm/rss/contentEncodedUtils/createItems.js.map +1 -0
- package/dist/esm/rss/contentEncodedUtils/createParagraph.d.ts +2 -0
- package/dist/esm/rss/contentEncodedUtils/createParagraph.js +19 -0
- package/dist/esm/rss/contentEncodedUtils/createParagraph.js.map +1 -0
- package/dist/esm/rss/contentEncodedUtils/createRSSFeed.d.ts +2 -0
- package/dist/esm/rss/contentEncodedUtils/createRSSFeed.js +7 -0
- package/dist/esm/rss/contentEncodedUtils/createRSSFeed.js.map +1 -0
- package/dist/esm/rss/contentEncodedUtils/createSummary.d.ts +2 -0
- package/dist/esm/rss/contentEncodedUtils/createSummary.js +11 -0
- package/dist/esm/rss/contentEncodedUtils/createSummary.js.map +1 -0
- package/dist/esm/rss/contentEncodedUtils/index.d.ts +4 -0
- package/dist/esm/rss/contentEncodedUtils/index.js +5 -0
- package/dist/esm/rss/contentEncodedUtils/index.js.map +1 -0
- package/dist/esm/rss/helpers/articleHelper.d.ts +6 -0
- package/dist/esm/rss/helpers/articleHelper.js +41 -0
- package/dist/esm/rss/helpers/articleHelper.js.map +1 -0
- package/dist/esm/rss/helpers/buildBodyDataTypesMap.d.ts +2 -0
- package/dist/esm/rss/helpers/buildBodyDataTypesMap.js +36 -0
- package/dist/esm/rss/helpers/buildBodyDataTypesMap.js.map +1 -0
- package/dist/esm/rss/helpers/buildLists.d.ts +4 -0
- package/dist/esm/rss/helpers/buildLists.js +29 -0
- package/dist/esm/rss/helpers/buildLists.js.map +1 -0
- package/dist/esm/rss/helpers/index.d.ts +3 -0
- package/dist/esm/rss/helpers/index.js +4 -0
- package/dist/esm/rss/helpers/index.js.map +1 -0
- package/dist/esm/rss/index.d.ts +2 -0
- package/dist/esm/rss/index.js +2 -0
- package/dist/esm/rss/index.js.map +1 -0
- package/dist/esm/rss/queries/getArticleList.d.ts +1 -0
- package/dist/esm/rss/queries/getArticleList.js +8 -0
- package/dist/esm/rss/queries/getArticleList.js.map +1 -0
- package/dist/esm/rss/queries/index.d.ts +1 -0
- package/dist/esm/rss/queries/index.js +2 -0
- package/dist/esm/rss/queries/index.js.map +1 -0
- package/dist/esm/rss/types.d.ts +198 -0
- package/dist/esm/rss/types.js +27 -0
- package/dist/esm/rss/types.js.map +1 -0
- package/dist/esm/sitemap/__tests__/mocks.d.ts +13 -0
- package/dist/esm/sitemap/__tests__/mocks.js +122 -0
- package/dist/esm/sitemap/__tests__/mocks.js.map +1 -0
- package/dist/esm/sitemap/index.d.ts +3 -0
- package/dist/esm/sitemap/index.js +3 -0
- package/dist/esm/sitemap/index.js.map +1 -0
- package/dist/esm/sitemap/queries/getArticleList.d.ts +1 -0
- package/dist/esm/sitemap/queries/getArticleList.js +8 -0
- package/dist/esm/sitemap/queries/getArticleList.js.map +1 -0
- package/dist/esm/sitemap/queries/getCompetitions.d.ts +1 -0
- package/dist/esm/sitemap/queries/getCompetitions.js +8 -0
- package/dist/esm/sitemap/queries/getCompetitions.js.map +1 -0
- package/dist/esm/sitemap/queries/getPages.d.ts +1 -0
- package/dist/esm/sitemap/queries/getPages.js +8 -0
- package/dist/esm/sitemap/queries/getPages.js.map +1 -0
- package/dist/esm/sitemap/queries/index.d.ts +3 -0
- package/dist/esm/sitemap/queries/index.js +4 -0
- package/dist/esm/sitemap/queries/index.js.map +1 -0
- package/dist/esm/sitemap/resolvers/genericSitemapResolver.d.ts +2 -0
- package/dist/esm/sitemap/resolvers/genericSitemapResolver.js +82 -0
- package/dist/esm/sitemap/resolvers/genericSitemapResolver.js.map +1 -0
- package/dist/esm/sitemap/resolvers/index.d.ts +2 -0
- package/dist/esm/sitemap/resolvers/index.js +3 -0
- package/dist/esm/sitemap/resolvers/index.js.map +1 -0
- package/dist/esm/sitemap/resolvers/newsSitemapResolver.d.ts +2 -0
- package/dist/esm/sitemap/resolvers/newsSitemapResolver.js +63 -0
- package/dist/esm/sitemap/resolvers/newsSitemapResolver.js.map +1 -0
- package/package.json +63 -0
package/README.md
ADDED
|
@@ -0,0 +1,307 @@
|
|
|
1
|
+
# @newskit-render/feed
|
|
2
|
+
|
|
3
|
+
A package used for the generation of different types of sitemaps or Rss feed. You can see an example here: [@newskit-render/core](https://www.npmjs.com/package/@newskit-render/core)
|
|
4
|
+
|
|
5
|
+
## Getting started
|
|
6
|
+
|
|
7
|
+
### Add it as a dependency:
|
|
8
|
+
|
|
9
|
+
```
|
|
10
|
+
npm install @newskit-render/feed
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
or
|
|
14
|
+
|
|
15
|
+
```
|
|
16
|
+
yarn add @newskit-render/feed
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
### Create sitemap pages
|
|
20
|
+
|
|
21
|
+
Under your `/pages/api` folder create `sitemap.ts`, `pages-sitemap.ts`, `competitions-sitemap.ts` and `news-sitemap.ts` files.
|
|
22
|
+
|
|
23
|
+
update the `next.config.js` file to add rewrites:
|
|
24
|
+
|
|
25
|
+
```
|
|
26
|
+
async rewrites() {
|
|
27
|
+
return [
|
|
28
|
+
{
|
|
29
|
+
source: '/sitemap.xml',
|
|
30
|
+
destination: '/api/sitemap',
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
source: '/pages-sitemap.xml',
|
|
34
|
+
destination: '/api/pages-sitemap',
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
source: '/competitions-sitemap.xml',
|
|
38
|
+
destination: '/api/competitions-sitemap',
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
source: '/news-sitemap.xml',
|
|
42
|
+
destination: '/api/news-sitemap',
|
|
43
|
+
},
|
|
44
|
+
]
|
|
45
|
+
},
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
### Create Rss page
|
|
49
|
+
|
|
50
|
+
Under your `/pages/api` folder create `feed.ts` file
|
|
51
|
+
|
|
52
|
+
update the `next.config.js` file to add rewrites:
|
|
53
|
+
|
|
54
|
+
```
|
|
55
|
+
async rewrites() {
|
|
56
|
+
return [
|
|
57
|
+
{
|
|
58
|
+
source: '/feed',
|
|
59
|
+
destination: '/api/feed',
|
|
60
|
+
},
|
|
61
|
+
]
|
|
62
|
+
},
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
see `rssFeed` funtion
|
|
66
|
+
|
|
67
|
+
### Implementation
|
|
68
|
+
|
|
69
|
+
#### genericSitemap
|
|
70
|
+
|
|
71
|
+
`genericSitemap` - this function will handle the logic for 4 different views that correspond to the sitemap endpoints you should already have set up (see Create sitemap pages section).
|
|
72
|
+
|
|
73
|
+
- `sitemap.xml` will show a `sitemapindex` of sitemaps by date.
|
|
74
|
+
- `sitemap.xml?query=1` will show all articles created on that day, example `sitemap.xml?yyyy=2022&mm=10&dd=14`.
|
|
75
|
+
- `pages-sitemap.xml` will show all pages including homepage - custom pages not available in the api can be added.
|
|
76
|
+
- `competitions-sitemap.xml` will show all competitions.
|
|
77
|
+
|
|
78
|
+
`genericSitemap` is passes a `context` object, depending on the view, it will include the following parameters:
|
|
79
|
+
|
|
80
|
+
`dataType` can be `articles`, `pages` or `competitions`. Should be set to show `pages` or `competitions` view. Not setting this will result in default of `articles` used by `sitemap.xml` and `sitemap.xml?query=1`.
|
|
81
|
+
|
|
82
|
+
`res` (required) from the Next.js context object.
|
|
83
|
+
|
|
84
|
+
`query` from the Next.js context object - is required for `sitemap.xml?query=1` view.
|
|
85
|
+
|
|
86
|
+
`publisher` (required) is the name of the publisher in the NewsKit API, this string will be used for fetching the articles for the correct publication.
|
|
87
|
+
|
|
88
|
+
`publicationName` (required) is the name of the publication, used inside the sitemap `<news:name>${publicationName}</news:name>` tag.
|
|
89
|
+
|
|
90
|
+
`domain` (required) is the domain of your website.
|
|
91
|
+
|
|
92
|
+
`firstArticleDate` is the date of the first article you have published. This will determine from when the `sitemapindex` of sitemaps by date starts from. If not added you will get the last 30 days.
|
|
93
|
+
|
|
94
|
+
`CustomStaticPageCollection` provides the possibility to manually add a list of static pages, that do not exist in an API. This will work with pages and competitions, but it would be unlikely to be used with competitions. The format of the static page is in the example `pages-sitemap.xml` below, but has 2 properties. `slug` (required) and `url`
|
|
95
|
+
|
|
96
|
+
`changefreq` you can change the default changefreq for entries on the sitemap
|
|
97
|
+
|
|
98
|
+
`priority` you can change the default priority for entires on the sitemap
|
|
99
|
+
|
|
100
|
+
Example for `sitemap.xml` and `sitemap.xml?query=1`
|
|
101
|
+
|
|
102
|
+
```
|
|
103
|
+
import { NextApiRequest, NextApiResponse } from 'next'
|
|
104
|
+
import { genericSitemap } from '@newskit-render/sitemap'
|
|
105
|
+
import { Publisher } from '@newskit-render/api'
|
|
106
|
+
import { getHost } from '@newskit-render/shared-components'
|
|
107
|
+
|
|
108
|
+
const handler = async (req: NextApiRequest, res: NextApiResponse) =>
|
|
109
|
+
genericSitemap({
|
|
110
|
+
res,
|
|
111
|
+
query: req.query,
|
|
112
|
+
publisher: process.env.PUBLISHER as Publisher,
|
|
113
|
+
domain: new URL(getHost(req)).host,
|
|
114
|
+
firstArticleDate: process.env.SITEMAP_FIRST_PUBLICATION_DATE,
|
|
115
|
+
publicationName: process.env.SITEMAP_PUBLICATION_NAME,
|
|
116
|
+
})
|
|
117
|
+
|
|
118
|
+
export default handler
|
|
119
|
+
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
You will find the env vars in `/helm/value-{env}.yaml`
|
|
123
|
+
|
|
124
|
+
Example values are:
|
|
125
|
+
|
|
126
|
+
```
|
|
127
|
+
publisher: 'VIRGIN',
|
|
128
|
+
domain: 'virginradio.co.uk',
|
|
129
|
+
firstArticleDate: '2016-3-1',
|
|
130
|
+
publicationName: 'Virgin Radio',
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
Example for `pages-sitemap.xml`
|
|
134
|
+
|
|
135
|
+
```
|
|
136
|
+
import { NextApiRequest, NextApiResponse } from 'next'
|
|
137
|
+
import { genericSitemap, CustomStaticPage } from '@newskit-render/feed'
|
|
138
|
+
import { Publisher } from '@newskit-render/api'
|
|
139
|
+
import { getHost } from '@newskit-render/shared-components'
|
|
140
|
+
|
|
141
|
+
const defaultCustomStaticPagesCollection: CustomStaticPage[] = [
|
|
142
|
+
{
|
|
143
|
+
slug: 'test-custom-page',
|
|
144
|
+
},
|
|
145
|
+
]
|
|
146
|
+
const handler = async (req: NextApiRequest, res: NextApiResponse) =>
|
|
147
|
+
genericSitemap({
|
|
148
|
+
res,
|
|
149
|
+
dataType: 'pageList',
|
|
150
|
+
publisher: process.env.PUBLISHER as Publisher,
|
|
151
|
+
domain: new URL(getHost(req) as string).host,
|
|
152
|
+
publicationName: process.env.SITEMAP_PUBLICATION_NAME,
|
|
153
|
+
customStaticPageCollection: defaultCustomStaticPagesCollection,
|
|
154
|
+
changefreq: 'hourly',
|
|
155
|
+
priority: '0.8',
|
|
156
|
+
})
|
|
157
|
+
|
|
158
|
+
export default handler
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
Example of `competitions-sitemap.xml`
|
|
162
|
+
|
|
163
|
+
```
|
|
164
|
+
import { NextApiRequest, NextApiResponse } from 'next'
|
|
165
|
+
import { genericSitemap } from '@newskit-render/feed'
|
|
166
|
+
import { Publisher } from '@newskit-render/api'
|
|
167
|
+
import { getHost } from '@newskit-render/shared-components'
|
|
168
|
+
|
|
169
|
+
const handler = async (req: NextApiRequest, res: NextApiResponse) =>
|
|
170
|
+
genericSitemap({
|
|
171
|
+
res,
|
|
172
|
+
dataType: 'competitionList',
|
|
173
|
+
publisher: process.env.PUBLISHER as Publisher,
|
|
174
|
+
domain: new URL(getHost(req) as string).host,
|
|
175
|
+
publicationName: process.env.SITEMAP_PUBLICATION_NAME,
|
|
176
|
+
})
|
|
177
|
+
|
|
178
|
+
export default handler
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
#### newsSitemap
|
|
182
|
+
|
|
183
|
+
This function will handle the logic for `news-sitemap.xml` and creates the sitemap required by Google News. You will need to register the sitemap with Google.
|
|
184
|
+
|
|
185
|
+
`newsSitemap` - will receive the following parameters:
|
|
186
|
+
|
|
187
|
+
`context` (required) - Next.js context object (only needs `res` from context but its easier to destructor as below)
|
|
188
|
+
|
|
189
|
+
`publisher, domain, publicationName` (required): Required properties for correctly building the sitemap.xml.
|
|
190
|
+
The _domain_ is the domain of your website. _publisher_ is the name of the publisher in the NewsKit API, this string will be used for fetching the articles for the correct publication. _publicationName_ is the name of the publication, used inside the sitemap `<news:name>${publicationName}</news:name>` tag.
|
|
191
|
+
|
|
192
|
+
`changefreq` you can change the default changefreq for entries on the sitemap
|
|
193
|
+
|
|
194
|
+
`priority` you can change the default priority for entires on the sitemap
|
|
195
|
+
|
|
196
|
+
Below an example.
|
|
197
|
+
|
|
198
|
+
```
|
|
199
|
+
import { NextApiRequest, NextApiResponse } from 'next'
|
|
200
|
+
import { newsSitemap, PublisherGroup } from '@newskit-render/sitemap'
|
|
201
|
+
|
|
202
|
+
const handler = async (req: NextApiRequest, res: NextApiResponse) =>
|
|
203
|
+
newsSitemap({
|
|
204
|
+
res,
|
|
205
|
+
publisher: process.env.PUBLISHER as PublisherGroup,
|
|
206
|
+
domain: new URL(getHost(req)).host,
|
|
207
|
+
publicationName: process.env.SITEMAP_PUBLICATION_NAME,
|
|
208
|
+
})
|
|
209
|
+
|
|
210
|
+
export default handler
|
|
211
|
+
|
|
212
|
+
```
|
|
213
|
+
|
|
214
|
+
### robots.txt
|
|
215
|
+
|
|
216
|
+
Your sitemap files will need to be added to your robots.txt file something like:
|
|
217
|
+
|
|
218
|
+
```
|
|
219
|
+
User-agent: *
|
|
220
|
+
Disallow: /search/
|
|
221
|
+
Disallow: /*?s=*
|
|
222
|
+
Disallow: *&s=*
|
|
223
|
+
Sitemap: https://example.co.uk/sitemap.xml
|
|
224
|
+
Sitemap: https://example.co.uk/news-sitemap.xml
|
|
225
|
+
Sitemap: https://example.co.uk/pages-sitemap.xml
|
|
226
|
+
Sitemap: https://example.co.uk/competitions-sitemap.xml
|
|
227
|
+
```
|
|
228
|
+
|
|
229
|
+
This can be done by adding it into the next.js public folder or you can create something more dynamic to take into account all your environments:
|
|
230
|
+
|
|
231
|
+
Under your `/pages/api` folder create `robots.ts` file with content like:
|
|
232
|
+
|
|
233
|
+
```
|
|
234
|
+
import { NextApiRequest, NextApiResponse } from 'next'
|
|
235
|
+
import { getHost } from '@newskit-render/shared-components'
|
|
236
|
+
|
|
237
|
+
export default function handler(req: NextApiRequest, res: NextApiResponse) {
|
|
238
|
+
const crawable =
|
|
239
|
+
process.env.NODE_ENV === 'production' ? 'Allow: /' : 'Disallow: /'
|
|
240
|
+
const robots = `User-agent: *
|
|
241
|
+
${crawable}
|
|
242
|
+
Sitemap: ${new URL(getHost(req) as string)}sitemap.xml
|
|
243
|
+
Sitemap: ${new URL(getHost(req) as string)}news-sitemap.xml
|
|
244
|
+
Sitemap: ${new URL(getHost(req) as string)}pages-sitemap.xml
|
|
245
|
+
Sitemap: ${new URL(getHost(req) as string)}competitions-sitemap.xml`
|
|
246
|
+
|
|
247
|
+
res.statusCode = 200
|
|
248
|
+
res.setHeader('Content-Type', 'text/plain')
|
|
249
|
+
res.write(robots)
|
|
250
|
+
res.end()
|
|
251
|
+
}
|
|
252
|
+
```
|
|
253
|
+
|
|
254
|
+
update the `next.config.js` file to add rewrites:
|
|
255
|
+
|
|
256
|
+
```
|
|
257
|
+
async rewrites() {
|
|
258
|
+
return [
|
|
259
|
+
{
|
|
260
|
+
source: '/robots.txt',
|
|
261
|
+
destination: '/api/robots',
|
|
262
|
+
},
|
|
263
|
+
]
|
|
264
|
+
},
|
|
265
|
+
```
|
|
266
|
+
|
|
267
|
+
### rssFeed
|
|
268
|
+
|
|
269
|
+
`rssFeed` - this funtion will handle the logic for `feed.ts` route. It will receive the following parameters:
|
|
270
|
+
|
|
271
|
+
`context` (required) - Next.js context object (only needs `res` from context but its easier to destructor as below)
|
|
272
|
+
|
|
273
|
+
`titeAttributes` object with the following attributes:
|
|
274
|
+
|
|
275
|
+
`title` - string - title of the rss feed
|
|
276
|
+
`link` - string - link of rss feed (example - https://talksport.com/feed/)
|
|
277
|
+
`description` - string - describe what the feed is for
|
|
278
|
+
`lastBuildDate` - string - date in RFC-822 date-time - denotes last time content of feed was updated
|
|
279
|
+
`language` - optional - string - language code of feed - default: `en-US`
|
|
280
|
+
`updatePeriod` - optional - string - indicates how often feed updates so feed users know how often they should pole it. Can be `'hourly' | 'daily' | 'weekly' | 'monthly' | 'yearly'` - default: `hourly`
|
|
281
|
+
`updateFrequency` - optional - number - representing the number of times the feed should be refreshed during the updatePeriod - default: 1.
|
|
282
|
+
`logoUrl` - string - url to site icon
|
|
283
|
+
`imageSourceSizes` - array of string values - images in the `<content:endcoded>` sections use the `<picture>` tag with `<source>` tag. Default widths are provided for these but you can override them with an array ['100', '200', '300', '400', '500']. Only add 5 values to the array.
|
|
284
|
+
|
|
285
|
+
example
|
|
286
|
+
|
|
287
|
+
```
|
|
288
|
+
import { NextApiRequest, NextApiResponse } from 'next'
|
|
289
|
+
import { rssFeed, UpdatePeriod } from '@newskit-render/feed'
|
|
290
|
+
|
|
291
|
+
const handler = async (req: NextApiRequest, res: NextApiResponse) =>
|
|
292
|
+
rssFeed({
|
|
293
|
+
res,
|
|
294
|
+
titeAttributes: {
|
|
295
|
+
title: 'Demo Site',
|
|
296
|
+
link: `/feed`,
|
|
297
|
+
description: 'Newskit Render Demo site',
|
|
298
|
+
lastBuildDate: new Date().toUTCString(),
|
|
299
|
+
language: 'en-US',
|
|
300
|
+
updatePeriod: 'hourly' as UpdatePeriod,
|
|
301
|
+
updateFrequency: 1,
|
|
302
|
+
logoUrl: `/favicon.ico`,
|
|
303
|
+
},
|
|
304
|
+
})
|
|
305
|
+
|
|
306
|
+
export default handler
|
|
307
|
+
```
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const contentApiEnvUrl: string, contentApiXApiKey: string;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.contentApiXApiKey = exports.contentApiEnvUrl = void 0;
|
|
4
|
+
var config = {
|
|
5
|
+
contentApiEnvUrl: process.env.CONTENT_API_ENV_URL,
|
|
6
|
+
contentApiXApiKey: process.env.CONTENT_API_X_API_KEY,
|
|
7
|
+
};
|
|
8
|
+
exports.contentApiEnvUrl = config.contentApiEnvUrl, exports.contentApiXApiKey = config.contentApiXApiKey;
|
|
9
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/config/index.ts"],"names":[],"mappings":";;;AAAA,IAAM,MAAM,GAAG;IACb,gBAAgB,EAAE,OAAO,CAAC,GAAG,CAAC,mBAA6B;IAC3D,iBAAiB,EAAE,OAAO,CAAC,GAAG,CAAC,qBAA+B;CAC/D,CAAA;AAEc,QAAA,gBAAgB,GAAwB,MAAM,mBAA5B,QAAA,iBAAiB,GAAK,MAAM,mBAAA"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var _a;
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.getApolloRestClient = void 0;
|
|
5
|
+
var api_1 = require("@newskit-render/api");
|
|
6
|
+
var client_1 = require("@apollo/client");
|
|
7
|
+
var apollo_link_rest_1 = require("apollo-link-rest");
|
|
8
|
+
var apollo_cache_policies_1 = require("@nerdwallet/apollo-cache-policies");
|
|
9
|
+
var config_1 = require("../config");
|
|
10
|
+
var publisherSlugs = (_a = {},
|
|
11
|
+
_a[api_1.Publisher.VIRGIN] = 'virgin-radio',
|
|
12
|
+
_a[api_1.Publisher.TALK_TV] = 'talk-tv',
|
|
13
|
+
_a);
|
|
14
|
+
var getRestLink = function (publisher) {
|
|
15
|
+
return new apollo_link_rest_1.RestLink({
|
|
16
|
+
uri: "".concat(config_1.contentApiEnvUrl, "/api/v1/").concat(publisherSlugs[publisher], "/"),
|
|
17
|
+
headers: {
|
|
18
|
+
'x-api-key': config_1.contentApiXApiKey,
|
|
19
|
+
'Content-Type': 'application/vnd.api+json',
|
|
20
|
+
},
|
|
21
|
+
});
|
|
22
|
+
};
|
|
23
|
+
var fiveMinutes = 5 * 60 * 1000;
|
|
24
|
+
var getApolloRestClient = function (publisher) {
|
|
25
|
+
return new client_1.ApolloClient({
|
|
26
|
+
link: getRestLink(publisher),
|
|
27
|
+
cache: new apollo_cache_policies_1.InvalidationPolicyCache({
|
|
28
|
+
invalidationPolicies: {
|
|
29
|
+
timeToLive: fiveMinutes,
|
|
30
|
+
},
|
|
31
|
+
}),
|
|
32
|
+
});
|
|
33
|
+
};
|
|
34
|
+
exports.getApolloRestClient = getApolloRestClient;
|
|
35
|
+
//# sourceMappingURL=client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/helpers/client.ts"],"names":[],"mappings":";;;;AAAA,2CAA+C;AAC/C,yCAA6C;AAC7C,qDAA2C;AAC3C,2EAA2E;AAC3E,oCAA+D;AAE/D,IAAM,cAAc;IAClB,GAAC,eAAS,CAAC,MAAM,IAAG,cAAc;IAClC,GAAC,eAAS,CAAC,OAAO,IAAG,SAAS;OAC/B,CAAA;AAED,IAAM,WAAW,GAAG,UAAC,SAAoB;IACvC,OAAO,IAAI,2BAAQ,CAAC;QAClB,GAAG,EAAE,UAAG,yBAAgB,qBAAW,cAAc,CAAC,SAAS,CAAC,MAAG;QAC/D,OAAO,EAAE;YACP,WAAW,EAAE,0BAAiB;YAC9B,cAAc,EAAE,0BAA0B;SAC3C;KACF,CAAC,CAAA;AACJ,CAAC,CAAA;AAED,IAAM,WAAW,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAA;AAEjC,IAAM,mBAAmB,GAAQ,UAAC,SAAoB;IACpD,OAAO,IAAI,qBAAY,CAAC;QACtB,IAAI,EAAE,WAAW,CAAC,SAAS,CAAC;QAC5B,KAAK,EAAE,IAAI,+CAAuB,CAAC;YACjC,oBAAoB,EAAE;gBACpB,UAAU,EAAE,WAAW;aACxB;SACF,CAAC;KACH,CAAC,CAAA;AACJ,CAAC,CAAA;AAEQ,kDAAmB"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.buildSiteMapImages = void 0;
|
|
7
|
+
var lodash_escape_1 = __importDefault(require("lodash.escape"));
|
|
8
|
+
var buildSiteMapImages = function (body) {
|
|
9
|
+
var images = body.filter(function (block) { return block.attributes.url; });
|
|
10
|
+
return images
|
|
11
|
+
.map(function (_a) {
|
|
12
|
+
var _b = _a.attributes, url = _b.url, caption = _b.caption, credit = _b.credit;
|
|
13
|
+
return "\n<image:image>\n <image:loc>".concat((0, lodash_escape_1.default)(url), "</image:loc>\n ").concat(caption ? "<image:caption>".concat((0, lodash_escape_1.default)(caption), "</image:caption>") : "", "\n ").concat(credit ? "<image:credit>".concat((0, lodash_escape_1.default)(credit), "</image:credit>") : "", "\n</image:image>\n");
|
|
14
|
+
})
|
|
15
|
+
.join('');
|
|
16
|
+
};
|
|
17
|
+
exports.buildSiteMapImages = buildSiteMapImages;
|
|
18
|
+
//# sourceMappingURL=buildSiteMapImages.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"buildSiteMapImages.js","sourceRoot":"","sources":["../../../../src/helpers/createSitemap/buildSiteMapImages.ts"],"names":[],"mappings":";;;;;;AACA,gEAAkC;AAE3B,IAAM,kBAAkB,GAAG,UAAC,IAAY;IAC7C,IAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CACxB,UAAC,KAAK,IAAK,OAAC,KAAoB,CAAC,UAAU,CAAC,GAAG,EAApC,CAAoC,CAChC,CAAA;IACjB,OAAO,MAAM;SACV,GAAG,CACF,UAAC,EAAoD;YAAlD,kBAAoC,EAAtB,GAAG,SAAA,EAAE,OAAO,aAAA,EAAE,MAAM,YAAA;QAAqB,OAAA,wCAEjD,IAAA,uBAAM,EAAC,GAAG,CAAC,6BACtB,OAAO,CAAC,CAAC,CAAC,yBAAkB,IAAA,uBAAM,EAAC,OAAO,CAAC,qBAAkB,CAAC,CAAC,CAAC,EAAE,iBAClE,MAAM,CAAC,CAAC,CAAC,wBAAiB,IAAA,uBAAM,EAAC,MAAM,CAAC,oBAAiB,CAAC,CAAC,CAAC,EAAE,uBAEjE;IAN+D,CAM/D,CACI;SACA,IAAI,CAAC,EAAE,CAAC,CAAA;AACb,CAAC,CAAA;AAfY,QAAA,kBAAkB,sBAe9B"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.buildSiteMapVideos = void 0;
|
|
7
|
+
var lodash_escape_1 = __importDefault(require("lodash.escape"));
|
|
8
|
+
var buildSiteMapVideos = function (domain, publicationName, _a) {
|
|
9
|
+
var id = _a.id, _b = _a.attributes, body = _b.body, headline = _b.headline, datePublished = _b.datePublished, relationships = _a.relationships;
|
|
10
|
+
var categories = (relationships === null || relationships === void 0 ? void 0 : relationships.categories.data) || [];
|
|
11
|
+
var videos = body.filter(function (block) { return block.attributes.playerId; });
|
|
12
|
+
var articleId = id;
|
|
13
|
+
return videos
|
|
14
|
+
.map(function (_a) {
|
|
15
|
+
var _b, _c, _d, _e;
|
|
16
|
+
var _f = _a.attributes, accountId = _f.accountId, id = _f.id, playerId = _f.playerId;
|
|
17
|
+
var playerLoc = "https://".concat(domain, "/player/brightcove/?video_id=").concat(id, "&account_id=").concat(accountId, "&player_id=").concat(playerId, "&post_id=").concat(articleId);
|
|
18
|
+
return "\n<video:video>\n <video:player_loc>".concat((0, lodash_escape_1.default)(playerLoc), "</video:player_loc>\n <video:thumbnail_loc>NA</video:thumbnail_loc>\n <video:title>").concat((0, lodash_escape_1.default)(headline), "</video:title>\n <video:description>NA</video:description>\n <video:publication_date>").concat((0, lodash_escape_1.default)(new Date(datePublished).toISOString()), "</video:publication_date>\n <video:uploader>").concat((0, lodash_escape_1.default)(publicationName), "</video:uploader>\n <video:requires_subscription>No</video:requires_subscription>\n <video:category>").concat((0, lodash_escape_1.default)(((_e = (_d = (_c = (_b = categories[0]) === null || _b === void 0 ? void 0 : _b.category) === null || _c === void 0 ? void 0 : _c.data) === null || _d === void 0 ? void 0 : _d.attributes) === null || _e === void 0 ? void 0 : _e.slug) || 'uncategorized'), "</video:category>\n <video:live>No</video:live>\n</video:video>\n");
|
|
19
|
+
})
|
|
20
|
+
.join('');
|
|
21
|
+
};
|
|
22
|
+
exports.buildSiteMapVideos = buildSiteMapVideos;
|
|
23
|
+
//# sourceMappingURL=buildSiteMapVideos.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"buildSiteMapVideos.js","sourceRoot":"","sources":["../../../../src/helpers/createSitemap/buildSiteMapVideos.ts"],"names":[],"mappings":";;;;;;AACA,gEAAkC;AAE3B,IAAM,kBAAkB,GAAG,UAChC,MAAM,EACN,eAAe,EACf,EAA6E;QAA3E,EAAE,QAAA,EAAE,kBAA6C,EAA/B,IAAI,UAAA,EAAE,QAAQ,cAAA,EAAE,aAAa,mBAAA,EAAI,aAAa,mBAAA;IAElE,IAAM,UAAU,GAAG,CAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,UAAU,CAAC,IAAI,KAAI,EAAE,CAAA;IACvD,IAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CACxB,UAAC,KAAK,IAAK,OAAC,KAA8B,CAAC,UAAU,CAAC,QAAQ,EAAnD,CAAmD,CACrC,CAAA;IAC3B,IAAM,SAAS,GAAG,EAAE,CAAA;IACpB,OAAO,MAAM;SACV,GAAG,CACF,UAAC,EAAiE;;YAA/D,kBAAuC,EAAzB,SAAS,eAAA,EAAE,EAAE,QAAA,EAAE,QAAQ,cAAA;QACtC,IAAM,SAAS,GAAG,kBAAW,MAAM,0CAAgC,EAAE,yBAAe,SAAS,wBAAc,QAAQ,sBAAY,SAAS,CAAE,CAAA;QAC1I,OAAO,+CAEO,IAAA,uBAAM,EAAC,SAAS,CAAC,kGAEtB,IAAA,uBAAM,EAAC,QAAQ,CAAC,oGAEL,IAAA,uBAAM,EAC9B,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,WAAW,EAAE,CACtC,0DACiB,IAAA,uBAAM,EAAC,eAAe,CAAC,mHAEvB,IAAA,uBAAM,EACtB,CAAA,MAAA,MAAA,MAAA,MAAA,UAAU,CAAC,CAAC,CAAC,0CAAE,QAAQ,0CAAE,IAAI,0CAAE,UAAU,0CAAE,IAAI,KAAI,eAAe,CACnE,uEAGF,CAAA;IACK,CAAC,CACF;SACA,IAAI,CAAC,EAAE,CAAC,CAAA;AACb,CAAC,CAAA;AAlCY,QAAA,kBAAkB,sBAkC9B"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { ChangeFreq, Priority } from '../types';
|
|
2
|
+
import { ArticleList } from '../../rss/types';
|
|
3
|
+
export declare const createArticleSitemap: (articlesList: ArticleList, domain: string, publicationName: string, isNewsSitemap: boolean, changefreq: ChangeFreq, priority: Priority) => string;
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.createArticleSitemap = void 0;
|
|
7
|
+
var getSitemapHeaders_1 = require("./getSitemapHeaders");
|
|
8
|
+
var getCategorySlug_1 = require("./getCategorySlug");
|
|
9
|
+
var buildSiteMapImages_1 = require("./buildSiteMapImages");
|
|
10
|
+
var buildSiteMapVideos_1 = require("./buildSiteMapVideos");
|
|
11
|
+
var lodash_escape_1 = __importDefault(require("lodash.escape"));
|
|
12
|
+
var createArticleSitemap = function (articlesList, domain, publicationName, isNewsSitemap, changefreq, priority) {
|
|
13
|
+
var generateArticleSlug = function (headline) {
|
|
14
|
+
return headline
|
|
15
|
+
.replace(/[^a-zA-Z0-9 ]/g, '')
|
|
16
|
+
.replace(/\s\s+/g, ' ')
|
|
17
|
+
.toLowerCase()
|
|
18
|
+
.replace(/ /g, '-')
|
|
19
|
+
.trim();
|
|
20
|
+
};
|
|
21
|
+
var urlsetHeaders = (0, getSitemapHeaders_1.getSitemapHeaders)(isNewsSitemap);
|
|
22
|
+
return "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n <urlset \n ".concat(urlsetHeaders, " \n xmlns:image=\"http://www.google.com/schemas/sitemap-image/1.1\"\n xmlns:video=\"http://www.google.com/schemas/sitemap-video/1.1\"\n >\n ").concat(articlesList.data
|
|
23
|
+
.map(function (_a) {
|
|
24
|
+
var id = _a.id, _b = _a.attributes, body = _b.body, headline = _b.headline, slug = _b.slug, datePublished = _b.datePublished, dateUpdated = _b.dateUpdated, relationships = _a.relationships;
|
|
25
|
+
var categories = (relationships === null || relationships === void 0 ? void 0 : relationships.categories.data) || [];
|
|
26
|
+
var articleCategory = (0, getCategorySlug_1.getCategorySlug)(categories);
|
|
27
|
+
var imagesSitemap = (0, buildSiteMapImages_1.buildSiteMapImages)(body);
|
|
28
|
+
var videoSitemap = (0, buildSiteMapVideos_1.buildSiteMapVideos)(domain, publicationName, {
|
|
29
|
+
id: id,
|
|
30
|
+
attributes: {
|
|
31
|
+
body: body,
|
|
32
|
+
headline: headline,
|
|
33
|
+
slug: slug,
|
|
34
|
+
datePublished: datePublished,
|
|
35
|
+
dateUpdated: dateUpdated,
|
|
36
|
+
},
|
|
37
|
+
relationships: relationships,
|
|
38
|
+
});
|
|
39
|
+
var loc = "https://".concat(domain, "/").concat(articleCategory, "/").concat(id, "/").concat(slug || generateArticleSlug(headline));
|
|
40
|
+
return "\n <url>\n <loc>".concat((0, lodash_escape_1.default)(loc), "</loc> \n ").concat(isNewsSitemap
|
|
41
|
+
? "<news:news>\n <news:publication>\n <news:name>".concat((0, lodash_escape_1.default)(publicationName), "</news:name>\n <news:language>en</news:language>\n </news:publication>\n <news:publication_date>").concat((0, lodash_escape_1.default)(new Date(datePublished).toISOString()), "</news:publication_date>\n <news:title>").concat((0, lodash_escape_1.default)(headline), "</news:title>\n </news:news>")
|
|
42
|
+
: '', " \n <changefreq>").concat((0, lodash_escape_1.default)(changefreq), "</changefreq>\n <priority>").concat((0, lodash_escape_1.default)(priority), "</priority>\n <lastmod>").concat((0, lodash_escape_1.default)(new Date(dateUpdated).toISOString()), "</lastmod>\n ").concat(imagesSitemap, "\n ").concat(videoSitemap, "\n </url>\n ");
|
|
43
|
+
})
|
|
44
|
+
.join(''), "\n </urlset>\n");
|
|
45
|
+
};
|
|
46
|
+
exports.createArticleSitemap = createArticleSitemap;
|
|
47
|
+
//# sourceMappingURL=createArticleSitemap.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createArticleSitemap.js","sourceRoot":"","sources":["../../../../src/helpers/createSitemap/createArticleSitemap.ts"],"names":[],"mappings":";;;;;;AAAA,yDAAuD;AACvD,qDAAmD;AACnD,2DAAyD;AACzD,2DAAyD;AAGzD,gEAAkC;AAE3B,IAAM,oBAAoB,GAAG,UAClC,YAAyB,EACzB,MAAc,EACd,eAAuB,EACvB,aAAsB,EACtB,UAAsB,EACtB,QAAkB;IAElB,IAAM,mBAAmB,GAAG,UAAC,QAAgB;QAC3C,OAAA,QAAQ;aACL,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC;aAC7B,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC;aACtB,WAAW,EAAE;aACb,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC;aAClB,IAAI,EAAE;IALT,CAKS,CAAA;IAEX,IAAM,aAAa,GAAG,IAAA,qCAAiB,EAAC,aAAa,CAAC,CAAA;IACtD,OAAO,sEAEH,aAAa,mKAIb,YAAY,CAAC,IAAI;SAChB,GAAG,CACF,UAAC,EAIS;YAHR,EAAE,QAAA,EACF,kBAAgE,EAAlD,IAAI,UAAA,EAAE,QAAQ,cAAA,EAAE,IAAI,UAAA,EAAE,aAAa,mBAAA,EAAE,WAAW,iBAAA,EAC9D,aAAa,mBAAA;QAEb,IAAM,UAAU,GAAG,CAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,UAAU,CAAC,IAAI,KAAI,EAAE,CAAA;QACvD,IAAM,eAAe,GAAG,IAAA,iCAAe,EAAC,UAAU,CAAC,CAAA;QACnD,IAAM,aAAa,GAAG,IAAA,uCAAkB,EAAC,IAAI,CAAC,CAAA;QAC9C,IAAM,YAAY,GAAG,IAAA,uCAAkB,EAAC,MAAM,EAAE,eAAe,EAAE;YAC/D,EAAE,IAAA;YACF,UAAU,EAAE;gBACV,IAAI,MAAA;gBACJ,QAAQ,UAAA;gBACR,IAAI,MAAA;gBACJ,aAAa,eAAA;gBACb,WAAW,aAAA;aACZ;YACD,aAAa,eAAA;SACH,CAAC,CAAA;QACb,IAAM,GAAG,GAAG,kBAAW,MAAM,cAAI,eAAe,cAAI,EAAE,cACpD,IAAI,IAAI,mBAAmB,CAAC,QAAQ,CAAC,CACrC,CAAA;QACF,OAAO,8CAEE,IAAA,uBAAM,EAAC,GAAG,CAAC,iCAEjB,aAAa;YACX,CAAC,CAAC,gFAES,IAAA,uBAAM,EAAC,eAAe,CAAC,iJAGX,IAAA,uBAAM,EAC7B,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,WAAW,EAAE,CACtC,gEACa,IAAA,uBAAM,EAAC,QAAQ,CAAC,2CACnB;YACT,CAAC,CAAC,EAAE,wCAEO,IAAA,uBAAM,EAAC,UAAU,CAAC,kDACpB,IAAA,uBAAM,EAAC,QAAQ,CAAC,+CACjB,IAAA,uBAAM,EAAC,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,WAAW,EAAE,CAAC,qCACpD,aAAa,2BACb,YAAY,iCAEjB,CAAA;IACD,CAAC,CACF;SACA,IAAI,CAAC,EAAE,CAAC,oBAEd,CAAA;AACD,CAAC,CAAA;AA5EY,QAAA,oBAAoB,wBA4EhC"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { CustomStaticPage, PageList, ChangeFreq, Priority, DataType } from '../types';
|
|
2
|
+
export declare const createPagesSitemap: (pages: PageList, domain: string, publicationName: string, changefreq: ChangeFreq, priority: Priority, dataType: DataType, customStaticPageCollection?: CustomStaticPage[]) => string;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.createPagesSitemap = void 0;
|
|
7
|
+
var buildSiteMapImages_1 = require("./buildSiteMapImages");
|
|
8
|
+
var buildSiteMapVideos_1 = require("./buildSiteMapVideos");
|
|
9
|
+
var lodash_escape_1 = __importDefault(require("lodash.escape"));
|
|
10
|
+
var createPagesSitemap = function (pages, domain, publicationName, changefreq, priority, dataType, customStaticPageCollection) {
|
|
11
|
+
var vid = dataType === 'pageList'
|
|
12
|
+
? 'xmlns:video="http://www.google.com/schemas/sitemap-video/1.1"'
|
|
13
|
+
: '';
|
|
14
|
+
return "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n <urlset \n xmlns=\"http://www.sitemaps.org/schemas/sitemap/0.9\"\n xmlns:image=\"http://www.google.com/schemas/sitemap-image/1.1\"\n ".concat(vid, "\n >\n ").concat(dataType === 'pageList'
|
|
15
|
+
? "\n <url>\n <loc>".concat((0, lodash_escape_1.default)("https://".concat(domain)), "</loc> \n <changefreq>").concat((0, lodash_escape_1.default)(changefreq), "</changefreq>\n <priority>").concat((0, lodash_escape_1.default)(priority), "</priority>\n <lastmod>").concat((0, lodash_escape_1.default)(new Date().toISOString()), "</lastmod>\n </url> \n ")
|
|
16
|
+
: '', "\n ").concat((customStaticPageCollection === null || customStaticPageCollection === void 0 ? void 0 : customStaticPageCollection.length)
|
|
17
|
+
? customStaticPageCollection
|
|
18
|
+
.map(function (_a) {
|
|
19
|
+
var url = _a.url, slug = _a.slug;
|
|
20
|
+
return "\n <url>\n <loc>".concat((0, lodash_escape_1.default)("https://".concat(url || domain, "/").concat(slug)), "</loc>\n <changefreq>").concat((0, lodash_escape_1.default)(changefreq), "</changefreq>\n <priority>").concat((0, lodash_escape_1.default)(priority), "</priority>\n <lastmod>").concat((0, lodash_escape_1.default)(new Date().toISOString()), "</lastmod>\n </url>\n ");
|
|
21
|
+
})
|
|
22
|
+
.join('')
|
|
23
|
+
: '', "\n ").concat(pages.data
|
|
24
|
+
.map(function (_a) {
|
|
25
|
+
var id = _a.id, _b = _a.attributes, body = _b.body, headline = _b.headline, slug = _b.slug, dateUpdated = _b.dateUpdated;
|
|
26
|
+
var url = dataType === 'competitionList'
|
|
27
|
+
? "https://".concat(domain, "/competitions/").concat(id, "/").concat(slug)
|
|
28
|
+
: "https://".concat(domain, "/").concat(slug);
|
|
29
|
+
var imagesSitemap = (0, buildSiteMapImages_1.buildSiteMapImages)(body);
|
|
30
|
+
var videoSitemap = (0, buildSiteMapVideos_1.buildSiteMapVideos)(domain, publicationName, {
|
|
31
|
+
id: id,
|
|
32
|
+
attributes: {
|
|
33
|
+
body: body,
|
|
34
|
+
headline: headline,
|
|
35
|
+
dateUpdated: dateUpdated,
|
|
36
|
+
},
|
|
37
|
+
});
|
|
38
|
+
return "\n <url>\n <loc>".concat((0, lodash_escape_1.default)(url), "</loc> \n <changefreq>").concat((0, lodash_escape_1.default)(changefreq), "</changefreq>\n <priority>").concat((0, lodash_escape_1.default)(priority), "</priority>\n <lastmod>").concat((0, lodash_escape_1.default)((0, lodash_escape_1.default)(new Date(dateUpdated).toISOString())), "</lastmod>\n ").concat(imagesSitemap, "\n ").concat(videoSitemap, "\n </url>\n ");
|
|
39
|
+
})
|
|
40
|
+
.join(''), "\n </urlset>\n ");
|
|
41
|
+
};
|
|
42
|
+
exports.createPagesSitemap = createPagesSitemap;
|
|
43
|
+
//# sourceMappingURL=createPagesSitemap.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createPagesSitemap.js","sourceRoot":"","sources":["../../../../src/helpers/createSitemap/createPagesSitemap.ts"],"names":[],"mappings":";;;;;;AASA,2DAAyD;AACzD,2DAAyD;AACzD,gEAAkC;AAE3B,IAAM,kBAAkB,GAAG,UAChC,KAAe,EACf,MAAc,EACd,eAAuB,EACvB,UAAsB,EACtB,QAAkB,EAClB,QAAkB,EAClB,0BAA+C;IAE/C,IAAM,GAAG,GACP,QAAQ,KAAK,UAAU;QACrB,CAAC,CAAC,+DAA+D;QACjE,CAAC,CAAC,EAAE,CAAA;IACR,OAAO,sMAIH,GAAG,sBAGL,QAAQ,KAAK,UAAU;QACrB,CAAC,CAAC,kCAEK,IAAA,uBAAM,EAAC,kBAAW,MAAM,CAAE,CAAC,wCACpB,IAAA,uBAAM,EAAC,UAAU,CAAC,4CACpB,IAAA,uBAAM,EAAC,QAAQ,CAAC,yCACjB,IAAA,uBAAM,EAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,iCAE9C;QACG,CAAC,CAAC,EAAE,iBAGN,CAAA,0BAA0B,aAA1B,0BAA0B,uBAA1B,0BAA0B,CAAE,MAAM;QAChC,CAAC,CAAC,0BAA0B;aACvB,GAAG,CAAC,UAAC,EAAa;gBAAX,GAAG,SAAA,EAAE,IAAI,UAAA;YACf,OAAO,kCAEN,IAAA,uBAAM,EAAC,kBAAW,GAAG,IAAI,MAAM,cAAI,IAAI,CAAE,CAAC,uCACnC,IAAA,uBAAM,EAAC,UAAU,CAAC,4CACpB,IAAA,uBAAM,EAAC,QAAQ,CAAC,yCACjB,IAAA,uBAAM,EAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,iCAE5C,CAAA;QACK,CAAC,CAAC;aACD,IAAI,CAAC,EAAE,CAAC;QACb,CAAC,CAAC,EAAE,iBAEN,KAAK,CAAC,IAAI;SACT,GAAG,CAAC,UAAC,EAA+D;YAA7D,EAAE,QAAA,EAAE,kBAAiD,EAAnC,IAAI,UAAA,EAAE,QAAQ,cAAA,EAAE,IAAI,UAAA,EAAE,WAAW,iBAAA;QACzD,IAAM,GAAG,GACP,QAAQ,KAAK,iBAAiB;YAC5B,CAAC,CAAC,kBAAW,MAAM,2BAAiB,EAAE,cAAI,IAAI,CAAE;YAChD,CAAC,CAAC,kBAAW,MAAM,cAAI,IAAI,CAAE,CAAA;QACjC,IAAM,aAAa,GAAG,IAAA,uCAAkB,EAAC,IAAI,CAAC,CAAA;QAC9C,IAAM,YAAY,GAAG,IAAA,uCAAkB,EAAC,MAAM,EAAE,eAAe,EAAE;YAC/D,EAAE,IAAA;YACF,UAAU,EAAE;gBACV,IAAI,MAAA;gBACJ,QAAQ,UAAA;gBACR,WAAW,aAAA;aACZ;SACS,CAAC,CAAA;QACb,OAAO,sCAEE,IAAA,uBAAM,EAAC,GAAG,CAAC,0CACJ,IAAA,uBAAM,EAAC,UAAU,CAAC,8CACpB,IAAA,uBAAM,EAAC,QAAQ,CAAC,2CACjB,IAAA,uBAAM,EACf,IAAA,uBAAM,EAAC,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,WAAW,EAAE,CAAC,CAC5C,iCACC,aAAa,uBACb,YAAY,2BAEf,CAAA;IACH,CAAC,CAAC;SACD,IAAI,CAAC,EAAE,CAAC,sBAEV,CAAA;AACH,CAAC,CAAA;AA9EY,QAAA,kBAAkB,sBA8E9B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const createSitemapIndex: (domain: string, dateCollection: Array<string>) => string;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createSitemapIndex = void 0;
|
|
4
|
+
var createSitemapIndex = function (domain, dateCollection) { return "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n <sitemapindex \n xmlns=\"http://www.sitemaps.org/schemas/sitemap/0.9\"\n >\n ".concat(dateCollection
|
|
5
|
+
.map(function (date) {
|
|
6
|
+
var year = date.split('-')[0];
|
|
7
|
+
var month = date.split('-')[1];
|
|
8
|
+
var day = date.split('-')[2];
|
|
9
|
+
return "\n <sitemap>\n <loc>https://".concat(domain, "/sitemap.xml?yyyy=").concat(year, "&mm=").concat(month, "&dd=").concat(day, "</loc>\n </sitemap>\n ");
|
|
10
|
+
})
|
|
11
|
+
.join(''), "\n </sitemapindex>\n"); };
|
|
12
|
+
exports.createSitemapIndex = createSitemapIndex;
|
|
13
|
+
//# sourceMappingURL=createSitemapIndex.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createSitemapIndex.js","sourceRoot":"","sources":["../../../../src/helpers/createSitemap/createSitemapIndex.ts"],"names":[],"mappings":";;;AAAO,IAAM,kBAAkB,GAAG,UAChC,MAAc,EACd,cAA6B,IAClB,OAAA,wIAIT,cAAc;KACb,GAAG,CAAC,UAAC,IAAI;IACR,IAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;IAC/B,IAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;IAChC,IAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;IAC9B,OAAO,kDAEU,MAAM,+BAAqB,IAAI,qBAAW,KAAK,qBAAW,GAAG,mCAE/E,CAAA;AACD,CAAC,CAAC;KACD,IAAI,CAAC,EAAE,CAAC,0BAEZ,EAjBY,CAiBZ,CAAA;AApBY,QAAA,kBAAkB,sBAoB9B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const generateArticleSlug: (title: string) => string;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.generateArticleSlug = void 0;
|
|
4
|
+
var generateArticleSlug = function (title) {
|
|
5
|
+
return title
|
|
6
|
+
.replace(/[^a-zA-Z0-9 ]/g, '')
|
|
7
|
+
.replace(/\s\s+/g, ' ')
|
|
8
|
+
.toLowerCase()
|
|
9
|
+
.replace(/ /g, '-')
|
|
10
|
+
.trim();
|
|
11
|
+
};
|
|
12
|
+
exports.generateArticleSlug = generateArticleSlug;
|
|
13
|
+
//# sourceMappingURL=generateArticleSlug.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generateArticleSlug.js","sourceRoot":"","sources":["../../../../src/helpers/createSitemap/generateArticleSlug.ts"],"names":[],"mappings":";;;AAAO,IAAM,mBAAmB,GAAG,UAAC,KAAa;IAC/C,OAAA,KAAK;SACF,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC;SAC7B,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC;SACtB,WAAW,EAAE;SACb,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC;SAClB,IAAI,EAAE;AALT,CAKS,CAAA;AANE,QAAA,mBAAmB,uBAMrB"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getCategorySlug = void 0;
|
|
4
|
+
var getCategorySlug = function (categories) {
|
|
5
|
+
var _a, _b, _c, _d;
|
|
6
|
+
if (!Array.isArray(categories) || categories.length === 0)
|
|
7
|
+
return 'uncategorized';
|
|
8
|
+
return ((_d = (_c = (_b = (_a = categories[0]) === null || _a === void 0 ? void 0 : _a.category) === null || _b === void 0 ? void 0 : _b.data) === null || _c === void 0 ? void 0 : _c.attributes) === null || _d === void 0 ? void 0 : _d.slug) || 'uncategorized';
|
|
9
|
+
};
|
|
10
|
+
exports.getCategorySlug = getCategorySlug;
|
|
11
|
+
//# sourceMappingURL=getCategorySlug.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getCategorySlug.js","sourceRoot":"","sources":["../../../../src/helpers/createSitemap/getCategorySlug.ts"],"names":[],"mappings":";;;AAEO,IAAM,eAAe,GAAG,UAAC,UAA6B;;IAC3D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;QACvD,OAAO,eAAe,CAAA;IACxB,OAAO,CAAA,MAAA,MAAA,MAAA,MAAA,UAAU,CAAC,CAAC,CAAC,0CAAE,QAAQ,0CAAE,IAAI,0CAAE,UAAU,0CAAE,IAAI,KAAI,eAAe,CAAA;AAC3E,CAAC,CAAA;AAJY,QAAA,eAAe,mBAI3B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const getSitemapHeaders: (isNewsSitemap: boolean) => string;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getSitemapHeaders = void 0;
|
|
4
|
+
var getSitemapHeaders = function (isNewsSitemap) {
|
|
5
|
+
return isNewsSitemap
|
|
6
|
+
? "xmlns=\"http://www.sitemaps.org/schemas/sitemap/0.9\" \n xmlns:news=\"http://www.google.com/schemas/sitemap-news/0.9\""
|
|
7
|
+
: "xmlns=\"http://www.sitemaps.org/schemas/sitemap/0.9\"";
|
|
8
|
+
};
|
|
9
|
+
exports.getSitemapHeaders = getSitemapHeaders;
|
|
10
|
+
//# sourceMappingURL=getSitemapHeaders.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getSitemapHeaders.js","sourceRoot":"","sources":["../../../../src/helpers/createSitemap/getSitemapHeaders.ts"],"names":[],"mappings":";;;AAAO,IAAM,iBAAiB,GAAG,UAAC,aAAsB;IACtD,OAAA,aAAa;QACX,CAAC,CAAC,2HAC0D;QAC5D,CAAC,CAAC,uDAAqD;AAHzD,CAGyD,CAAA;AAJ9C,QAAA,iBAAiB,qBAI6B"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export * from './createArticleSitemap';
|
|
2
|
+
export * from './createPagesSitemap';
|
|
3
|
+
export * from './createSitemapIndex';
|
|
4
|
+
export * from './getCategorySlug';
|
|
5
|
+
export * from './generateArticleSlug';
|
|
6
|
+
export * from './buildSiteMapImages';
|
|
7
|
+
export * from './buildSiteMapVideos';
|