@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.
Files changed (260) hide show
  1. package/README.md +307 -0
  2. package/dist/cjs/config/index.d.ts +1 -0
  3. package/dist/cjs/config/index.js +9 -0
  4. package/dist/cjs/config/index.js.map +1 -0
  5. package/dist/cjs/helpers/client.d.ts +2 -0
  6. package/dist/cjs/helpers/client.js +35 -0
  7. package/dist/cjs/helpers/client.js.map +1 -0
  8. package/dist/cjs/helpers/createSitemap/buildSiteMapImages.d.ts +2 -0
  9. package/dist/cjs/helpers/createSitemap/buildSiteMapImages.js +18 -0
  10. package/dist/cjs/helpers/createSitemap/buildSiteMapImages.js.map +1 -0
  11. package/dist/cjs/helpers/createSitemap/buildSiteMapVideos.d.ts +2 -0
  12. package/dist/cjs/helpers/createSitemap/buildSiteMapVideos.js +23 -0
  13. package/dist/cjs/helpers/createSitemap/buildSiteMapVideos.js.map +1 -0
  14. package/dist/cjs/helpers/createSitemap/createArticleSitemap.d.ts +3 -0
  15. package/dist/cjs/helpers/createSitemap/createArticleSitemap.js +47 -0
  16. package/dist/cjs/helpers/createSitemap/createArticleSitemap.js.map +1 -0
  17. package/dist/cjs/helpers/createSitemap/createPagesSitemap.d.ts +2 -0
  18. package/dist/cjs/helpers/createSitemap/createPagesSitemap.js +43 -0
  19. package/dist/cjs/helpers/createSitemap/createPagesSitemap.js.map +1 -0
  20. package/dist/cjs/helpers/createSitemap/createSitemapIndex.d.ts +1 -0
  21. package/dist/cjs/helpers/createSitemap/createSitemapIndex.js +13 -0
  22. package/dist/cjs/helpers/createSitemap/createSitemapIndex.js.map +1 -0
  23. package/dist/cjs/helpers/createSitemap/generateArticleSlug.d.ts +1 -0
  24. package/dist/cjs/helpers/createSitemap/generateArticleSlug.js +13 -0
  25. package/dist/cjs/helpers/createSitemap/generateArticleSlug.js.map +1 -0
  26. package/dist/cjs/helpers/createSitemap/getCategorySlug.d.ts +2 -0
  27. package/dist/cjs/helpers/createSitemap/getCategorySlug.js +11 -0
  28. package/dist/cjs/helpers/createSitemap/getCategorySlug.js.map +1 -0
  29. package/dist/cjs/helpers/createSitemap/getSitemapHeaders.d.ts +1 -0
  30. package/dist/cjs/helpers/createSitemap/getSitemapHeaders.js +10 -0
  31. package/dist/cjs/helpers/createSitemap/getSitemapHeaders.js.map +1 -0
  32. package/dist/cjs/helpers/createSitemap/index.d.ts +7 -0
  33. package/dist/cjs/helpers/createSitemap/index.js +24 -0
  34. package/dist/cjs/helpers/createSitemap/index.js.map +1 -0
  35. package/dist/cjs/helpers/queryArticleList.d.ts +7 -0
  36. package/dist/cjs/helpers/queryArticleList.js +78 -0
  37. package/dist/cjs/helpers/queryArticleList.js.map +1 -0
  38. package/dist/cjs/helpers/queryPages.d.ts +3 -0
  39. package/dist/cjs/helpers/queryPages.js +78 -0
  40. package/dist/cjs/helpers/queryPages.js.map +1 -0
  41. package/dist/cjs/helpers/types.d.ts +55 -0
  42. package/dist/cjs/helpers/types.js +9 -0
  43. package/dist/cjs/helpers/types.js.map +1 -0
  44. package/dist/cjs/helpers/utils.d.ts +7 -0
  45. package/dist/cjs/helpers/utils.js +40 -0
  46. package/dist/cjs/helpers/utils.js.map +1 -0
  47. package/dist/cjs/index.d.ts +2 -0
  48. package/dist/cjs/index.js +19 -0
  49. package/dist/cjs/index.js.map +1 -0
  50. package/dist/cjs/rss/RSSFeedResolver.d.ts +2 -0
  51. package/dist/cjs/rss/RSSFeedResolver.js +66 -0
  52. package/dist/cjs/rss/RSSFeedResolver.js.map +1 -0
  53. package/dist/cjs/rss/__tests__/mocks.d.ts +163 -0
  54. package/dist/cjs/rss/__tests__/mocks.js +563 -0
  55. package/dist/cjs/rss/__tests__/mocks.js.map +1 -0
  56. package/dist/cjs/rss/contentEncodedUtils/createBlockElements.d.ts +10 -0
  57. package/dist/cjs/rss/contentEncodedUtils/createBlockElements.js +49 -0
  58. package/dist/cjs/rss/contentEncodedUtils/createBlockElements.js.map +1 -0
  59. package/dist/cjs/rss/contentEncodedUtils/createContentEncoded.d.ts +2 -0
  60. package/dist/cjs/rss/contentEncodedUtils/createContentEncoded.js +17 -0
  61. package/dist/cjs/rss/contentEncodedUtils/createContentEncoded.js.map +1 -0
  62. package/dist/cjs/rss/contentEncodedUtils/createImage.d.ts +2 -0
  63. package/dist/cjs/rss/contentEncodedUtils/createImage.js +23 -0
  64. package/dist/cjs/rss/contentEncodedUtils/createImage.js.map +1 -0
  65. package/dist/cjs/rss/contentEncodedUtils/createItems.d.ts +2 -0
  66. package/dist/cjs/rss/contentEncodedUtils/createItems.js +24 -0
  67. package/dist/cjs/rss/contentEncodedUtils/createItems.js.map +1 -0
  68. package/dist/cjs/rss/contentEncodedUtils/createParagraph.d.ts +2 -0
  69. package/dist/cjs/rss/contentEncodedUtils/createParagraph.js +23 -0
  70. package/dist/cjs/rss/contentEncodedUtils/createParagraph.js.map +1 -0
  71. package/dist/cjs/rss/contentEncodedUtils/createRSSFeed.d.ts +2 -0
  72. package/dist/cjs/rss/contentEncodedUtils/createRSSFeed.js +11 -0
  73. package/dist/cjs/rss/contentEncodedUtils/createRSSFeed.js.map +1 -0
  74. package/dist/cjs/rss/contentEncodedUtils/createSummary.d.ts +2 -0
  75. package/dist/cjs/rss/contentEncodedUtils/createSummary.js +15 -0
  76. package/dist/cjs/rss/contentEncodedUtils/createSummary.js.map +1 -0
  77. package/dist/cjs/rss/contentEncodedUtils/index.d.ts +4 -0
  78. package/dist/cjs/rss/contentEncodedUtils/index.js +21 -0
  79. package/dist/cjs/rss/contentEncodedUtils/index.js.map +1 -0
  80. package/dist/cjs/rss/helpers/articleHelper.d.ts +6 -0
  81. package/dist/cjs/rss/helpers/articleHelper.js +49 -0
  82. package/dist/cjs/rss/helpers/articleHelper.js.map +1 -0
  83. package/dist/cjs/rss/helpers/buildBodyDataTypesMap.d.ts +2 -0
  84. package/dist/cjs/rss/helpers/buildBodyDataTypesMap.js +39 -0
  85. package/dist/cjs/rss/helpers/buildBodyDataTypesMap.js.map +1 -0
  86. package/dist/cjs/rss/helpers/buildLists.d.ts +4 -0
  87. package/dist/cjs/rss/helpers/buildLists.js +35 -0
  88. package/dist/cjs/rss/helpers/buildLists.js.map +1 -0
  89. package/dist/cjs/rss/helpers/index.d.ts +3 -0
  90. package/dist/cjs/rss/helpers/index.js +20 -0
  91. package/dist/cjs/rss/helpers/index.js.map +1 -0
  92. package/dist/cjs/rss/index.d.ts +2 -0
  93. package/dist/cjs/rss/index.js +6 -0
  94. package/dist/cjs/rss/index.js.map +1 -0
  95. package/dist/cjs/rss/queries/getArticleList.d.ts +1 -0
  96. package/dist/cjs/rss/queries/getArticleList.js +11 -0
  97. package/dist/cjs/rss/queries/getArticleList.js.map +1 -0
  98. package/dist/cjs/rss/queries/index.d.ts +1 -0
  99. package/dist/cjs/rss/queries/index.js +18 -0
  100. package/dist/cjs/rss/queries/index.js.map +1 -0
  101. package/dist/cjs/rss/types.d.ts +198 -0
  102. package/dist/cjs/rss/types.js +30 -0
  103. package/dist/cjs/rss/types.js.map +1 -0
  104. package/dist/cjs/sitemap/__tests__/mocks.d.ts +13 -0
  105. package/dist/cjs/sitemap/__tests__/mocks.js +125 -0
  106. package/dist/cjs/sitemap/__tests__/mocks.js.map +1 -0
  107. package/dist/cjs/sitemap/index.d.ts +3 -0
  108. package/dist/cjs/sitemap/index.js +9 -0
  109. package/dist/cjs/sitemap/index.js.map +1 -0
  110. package/dist/cjs/sitemap/queries/getArticleList.d.ts +1 -0
  111. package/dist/cjs/sitemap/queries/getArticleList.js +11 -0
  112. package/dist/cjs/sitemap/queries/getArticleList.js.map +1 -0
  113. package/dist/cjs/sitemap/queries/getCompetitions.d.ts +1 -0
  114. package/dist/cjs/sitemap/queries/getCompetitions.js +11 -0
  115. package/dist/cjs/sitemap/queries/getCompetitions.js.map +1 -0
  116. package/dist/cjs/sitemap/queries/getPages.d.ts +1 -0
  117. package/dist/cjs/sitemap/queries/getPages.js +11 -0
  118. package/dist/cjs/sitemap/queries/getPages.js.map +1 -0
  119. package/dist/cjs/sitemap/queries/index.d.ts +3 -0
  120. package/dist/cjs/sitemap/queries/index.js +20 -0
  121. package/dist/cjs/sitemap/queries/index.js.map +1 -0
  122. package/dist/cjs/sitemap/resolvers/genericSitemapResolver.d.ts +2 -0
  123. package/dist/cjs/sitemap/resolvers/genericSitemapResolver.js +86 -0
  124. package/dist/cjs/sitemap/resolvers/genericSitemapResolver.js.map +1 -0
  125. package/dist/cjs/sitemap/resolvers/index.d.ts +2 -0
  126. package/dist/cjs/sitemap/resolvers/index.js +19 -0
  127. package/dist/cjs/sitemap/resolvers/index.js.map +1 -0
  128. package/dist/cjs/sitemap/resolvers/newsSitemapResolver.d.ts +2 -0
  129. package/dist/cjs/sitemap/resolvers/newsSitemapResolver.js +67 -0
  130. package/dist/cjs/sitemap/resolvers/newsSitemapResolver.js.map +1 -0
  131. package/dist/esm/config/index.d.ts +1 -0
  132. package/dist/esm/config/index.js +6 -0
  133. package/dist/esm/config/index.js.map +1 -0
  134. package/dist/esm/helpers/client.d.ts +2 -0
  135. package/dist/esm/helpers/client.js +32 -0
  136. package/dist/esm/helpers/client.js.map +1 -0
  137. package/dist/esm/helpers/createSitemap/buildSiteMapImages.d.ts +2 -0
  138. package/dist/esm/helpers/createSitemap/buildSiteMapImages.js +11 -0
  139. package/dist/esm/helpers/createSitemap/buildSiteMapImages.js.map +1 -0
  140. package/dist/esm/helpers/createSitemap/buildSiteMapVideos.d.ts +2 -0
  141. package/dist/esm/helpers/createSitemap/buildSiteMapVideos.js +16 -0
  142. package/dist/esm/helpers/createSitemap/buildSiteMapVideos.js.map +1 -0
  143. package/dist/esm/helpers/createSitemap/createArticleSitemap.d.ts +3 -0
  144. package/dist/esm/helpers/createSitemap/createArticleSitemap.js +40 -0
  145. package/dist/esm/helpers/createSitemap/createArticleSitemap.js.map +1 -0
  146. package/dist/esm/helpers/createSitemap/createPagesSitemap.d.ts +2 -0
  147. package/dist/esm/helpers/createSitemap/createPagesSitemap.js +36 -0
  148. package/dist/esm/helpers/createSitemap/createPagesSitemap.js.map +1 -0
  149. package/dist/esm/helpers/createSitemap/createSitemapIndex.d.ts +1 -0
  150. package/dist/esm/helpers/createSitemap/createSitemapIndex.js +9 -0
  151. package/dist/esm/helpers/createSitemap/createSitemapIndex.js.map +1 -0
  152. package/dist/esm/helpers/createSitemap/generateArticleSlug.d.ts +1 -0
  153. package/dist/esm/helpers/createSitemap/generateArticleSlug.js +9 -0
  154. package/dist/esm/helpers/createSitemap/generateArticleSlug.js.map +1 -0
  155. package/dist/esm/helpers/createSitemap/getCategorySlug.d.ts +2 -0
  156. package/dist/esm/helpers/createSitemap/getCategorySlug.js +7 -0
  157. package/dist/esm/helpers/createSitemap/getCategorySlug.js.map +1 -0
  158. package/dist/esm/helpers/createSitemap/getSitemapHeaders.d.ts +1 -0
  159. package/dist/esm/helpers/createSitemap/getSitemapHeaders.js +6 -0
  160. package/dist/esm/helpers/createSitemap/getSitemapHeaders.js.map +1 -0
  161. package/dist/esm/helpers/createSitemap/index.d.ts +7 -0
  162. package/dist/esm/helpers/createSitemap/index.js +8 -0
  163. package/dist/esm/helpers/createSitemap/index.js.map +1 -0
  164. package/dist/esm/helpers/queryArticleList.d.ts +7 -0
  165. package/dist/esm/helpers/queryArticleList.js +74 -0
  166. package/dist/esm/helpers/queryArticleList.js.map +1 -0
  167. package/dist/esm/helpers/queryPages.d.ts +3 -0
  168. package/dist/esm/helpers/queryPages.js +74 -0
  169. package/dist/esm/helpers/queryPages.js.map +1 -0
  170. package/dist/esm/helpers/types.d.ts +55 -0
  171. package/dist/esm/helpers/types.js +6 -0
  172. package/dist/esm/helpers/types.js.map +1 -0
  173. package/dist/esm/helpers/utils.d.ts +7 -0
  174. package/dist/esm/helpers/utils.js +31 -0
  175. package/dist/esm/helpers/utils.js.map +1 -0
  176. package/dist/esm/index.d.ts +2 -0
  177. package/dist/esm/index.js +3 -0
  178. package/dist/esm/index.js.map +1 -0
  179. package/dist/esm/rss/RSSFeedResolver.d.ts +2 -0
  180. package/dist/esm/rss/RSSFeedResolver.js +62 -0
  181. package/dist/esm/rss/RSSFeedResolver.js.map +1 -0
  182. package/dist/esm/rss/__tests__/mocks.d.ts +163 -0
  183. package/dist/esm/rss/__tests__/mocks.js +560 -0
  184. package/dist/esm/rss/__tests__/mocks.js.map +1 -0
  185. package/dist/esm/rss/contentEncodedUtils/createBlockElements.d.ts +10 -0
  186. package/dist/esm/rss/contentEncodedUtils/createBlockElements.js +37 -0
  187. package/dist/esm/rss/contentEncodedUtils/createBlockElements.js.map +1 -0
  188. package/dist/esm/rss/contentEncodedUtils/createContentEncoded.d.ts +2 -0
  189. package/dist/esm/rss/contentEncodedUtils/createContentEncoded.js +13 -0
  190. package/dist/esm/rss/contentEncodedUtils/createContentEncoded.js.map +1 -0
  191. package/dist/esm/rss/contentEncodedUtils/createImage.d.ts +2 -0
  192. package/dist/esm/rss/contentEncodedUtils/createImage.js +19 -0
  193. package/dist/esm/rss/contentEncodedUtils/createImage.js.map +1 -0
  194. package/dist/esm/rss/contentEncodedUtils/createItems.d.ts +2 -0
  195. package/dist/esm/rss/contentEncodedUtils/createItems.js +20 -0
  196. package/dist/esm/rss/contentEncodedUtils/createItems.js.map +1 -0
  197. package/dist/esm/rss/contentEncodedUtils/createParagraph.d.ts +2 -0
  198. package/dist/esm/rss/contentEncodedUtils/createParagraph.js +19 -0
  199. package/dist/esm/rss/contentEncodedUtils/createParagraph.js.map +1 -0
  200. package/dist/esm/rss/contentEncodedUtils/createRSSFeed.d.ts +2 -0
  201. package/dist/esm/rss/contentEncodedUtils/createRSSFeed.js +7 -0
  202. package/dist/esm/rss/contentEncodedUtils/createRSSFeed.js.map +1 -0
  203. package/dist/esm/rss/contentEncodedUtils/createSummary.d.ts +2 -0
  204. package/dist/esm/rss/contentEncodedUtils/createSummary.js +11 -0
  205. package/dist/esm/rss/contentEncodedUtils/createSummary.js.map +1 -0
  206. package/dist/esm/rss/contentEncodedUtils/index.d.ts +4 -0
  207. package/dist/esm/rss/contentEncodedUtils/index.js +5 -0
  208. package/dist/esm/rss/contentEncodedUtils/index.js.map +1 -0
  209. package/dist/esm/rss/helpers/articleHelper.d.ts +6 -0
  210. package/dist/esm/rss/helpers/articleHelper.js +41 -0
  211. package/dist/esm/rss/helpers/articleHelper.js.map +1 -0
  212. package/dist/esm/rss/helpers/buildBodyDataTypesMap.d.ts +2 -0
  213. package/dist/esm/rss/helpers/buildBodyDataTypesMap.js +36 -0
  214. package/dist/esm/rss/helpers/buildBodyDataTypesMap.js.map +1 -0
  215. package/dist/esm/rss/helpers/buildLists.d.ts +4 -0
  216. package/dist/esm/rss/helpers/buildLists.js +29 -0
  217. package/dist/esm/rss/helpers/buildLists.js.map +1 -0
  218. package/dist/esm/rss/helpers/index.d.ts +3 -0
  219. package/dist/esm/rss/helpers/index.js +4 -0
  220. package/dist/esm/rss/helpers/index.js.map +1 -0
  221. package/dist/esm/rss/index.d.ts +2 -0
  222. package/dist/esm/rss/index.js +2 -0
  223. package/dist/esm/rss/index.js.map +1 -0
  224. package/dist/esm/rss/queries/getArticleList.d.ts +1 -0
  225. package/dist/esm/rss/queries/getArticleList.js +8 -0
  226. package/dist/esm/rss/queries/getArticleList.js.map +1 -0
  227. package/dist/esm/rss/queries/index.d.ts +1 -0
  228. package/dist/esm/rss/queries/index.js +2 -0
  229. package/dist/esm/rss/queries/index.js.map +1 -0
  230. package/dist/esm/rss/types.d.ts +198 -0
  231. package/dist/esm/rss/types.js +27 -0
  232. package/dist/esm/rss/types.js.map +1 -0
  233. package/dist/esm/sitemap/__tests__/mocks.d.ts +13 -0
  234. package/dist/esm/sitemap/__tests__/mocks.js +122 -0
  235. package/dist/esm/sitemap/__tests__/mocks.js.map +1 -0
  236. package/dist/esm/sitemap/index.d.ts +3 -0
  237. package/dist/esm/sitemap/index.js +3 -0
  238. package/dist/esm/sitemap/index.js.map +1 -0
  239. package/dist/esm/sitemap/queries/getArticleList.d.ts +1 -0
  240. package/dist/esm/sitemap/queries/getArticleList.js +8 -0
  241. package/dist/esm/sitemap/queries/getArticleList.js.map +1 -0
  242. package/dist/esm/sitemap/queries/getCompetitions.d.ts +1 -0
  243. package/dist/esm/sitemap/queries/getCompetitions.js +8 -0
  244. package/dist/esm/sitemap/queries/getCompetitions.js.map +1 -0
  245. package/dist/esm/sitemap/queries/getPages.d.ts +1 -0
  246. package/dist/esm/sitemap/queries/getPages.js +8 -0
  247. package/dist/esm/sitemap/queries/getPages.js.map +1 -0
  248. package/dist/esm/sitemap/queries/index.d.ts +3 -0
  249. package/dist/esm/sitemap/queries/index.js +4 -0
  250. package/dist/esm/sitemap/queries/index.js.map +1 -0
  251. package/dist/esm/sitemap/resolvers/genericSitemapResolver.d.ts +2 -0
  252. package/dist/esm/sitemap/resolvers/genericSitemapResolver.js +82 -0
  253. package/dist/esm/sitemap/resolvers/genericSitemapResolver.js.map +1 -0
  254. package/dist/esm/sitemap/resolvers/index.d.ts +2 -0
  255. package/dist/esm/sitemap/resolvers/index.js +3 -0
  256. package/dist/esm/sitemap/resolvers/index.js.map +1 -0
  257. package/dist/esm/sitemap/resolvers/newsSitemapResolver.d.ts +2 -0
  258. package/dist/esm/sitemap/resolvers/newsSitemapResolver.js +63 -0
  259. package/dist/esm/sitemap/resolvers/newsSitemapResolver.js.map +1 -0
  260. package/package.json +63 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createContentEncoded.js","sourceRoot":"","sources":["../../../../src/rss/contentEncodedUtils/createContentEncoded.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAA;AACnE,MAAM,CAAC,IAAM,oBAAoB,GAAG,UAClC,IAAY,EACZ,gBAAgC;IAEhC,IAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,UAAC,QAAQ;QACrC,IAAI,QAAQ,CAAC,IAAI,KAAK,OAAO,EAAE;YAC7B,OAAO,gBAAgB,CAAC,KAAK,CAAC,QAAsB,EAAE,gBAAgB,CAAC,CAAA;SACxE;QACD,IAAI,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;YACnC,OAAO,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAA;SACjD;IACH,CAAC,CAAC,CAAA;IACF,OAAO,YAAY,CAAA;AACrB,CAAC,CAAA"}
@@ -0,0 +1,2 @@
1
+ import { ImageBlock } from '../types';
2
+ export declare const createImage: ({ attributes: { alt, caption, credit, height, width, url } }: ImageBlock, imageSourceSizes?: Array<string>) => string;
@@ -0,0 +1,19 @@
1
+ var media = [
2
+ 'screen and (max-width: 479px)',
3
+ 'screen and (min-width: 480px) and (max-width: 767px)',
4
+ 'screen and (min-width: 768px) and (max-width: 1023px)',
5
+ 'screen and (min-width: 1024px) and (max-width: 1439px)',
6
+ 'screen and (min-width: 1440px)',
7
+ ];
8
+ var defaultSources = ['0', '0', '719', '0', '0'];
9
+ export var createImage = function (_a, imageSourceSizes) {
10
+ var _b = _a.attributes, alt = _b.alt, caption = _b.caption, credit = _b.credit, height = _b.height, width = _b.width, url = _b.url;
11
+ var pictureSources = (imageSourceSizes || defaultSources)
12
+ .map(function (source, i) {
13
+ return "<source media=\"".concat(media[i], "\" srcset=\"").concat(url, "?w=").concat(source, "&amp;strip=all&amp;crop=1\">");
14
+ })
15
+ .join('');
16
+ // prettier-ignore
17
+ return "".concat(caption || credit ? '<figure>' : '', "<picture>").concat(pictureSources, "<img ").concat(alt ? "alt='".concat(alt, "'") : '', " src='").concat(url, "' width='").concat(width, "' height='").concat(height, "' /><picture>").concat(caption ? "<figcaption>".concat(caption, "</figcaption>") : '').concat(credit ? "<figcredit>".concat(credit, "</figcredit>") : '').concat(caption || credit ? '</figure>' : '');
18
+ };
19
+ //# sourceMappingURL=createImage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createImage.js","sourceRoot":"","sources":["../../../../src/rss/contentEncodedUtils/createImage.ts"],"names":[],"mappings":"AAEA,IAAM,KAAK,GAAG;IACZ,+BAA+B;IAC/B,sDAAsD;IACtD,uDAAuD;IACvD,wDAAwD;IACxD,gCAAgC;CACjC,CAAA;AAED,IAAM,cAAc,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;AAElD,MAAM,CAAC,IAAM,WAAW,GAAG,UACzB,EAAwE,EACxE,gBAAgC;QAD9B,kBAAwD,EAA1C,GAAG,SAAA,EAAE,OAAO,aAAA,EAAE,MAAM,YAAA,EAAE,MAAM,YAAA,EAAE,KAAK,WAAA,EAAE,GAAG,SAAA;IAGxD,IAAM,cAAc,GAAG,CAAC,gBAAgB,IAAI,cAAc,CAAC;SACxD,GAAG,CAAC,UAAC,MAAM,EAAE,CAAC;QACb,OAAO,0BAAkB,KAAK,CAAC,CAAC,CAAC,yBAAa,GAAG,gBAAM,MAAM,iCAA6B,CAAA;IAC5F,CAAC,CAAC;SACD,IAAI,CAAC,EAAE,CAAC,CAAA;IACX,kBAAkB;IAClB,OAAO,UAAG,OAAO,IAAI,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,sBAAY,cAAc,kBAAQ,GAAG,CAAC,CAAC,CAAC,eAAQ,GAAG,MAAG,CAAC,CAAC,CAAC,EAAE,mBAAS,GAAG,sBAAY,KAAK,uBAAa,MAAM,0BAAgB,OAAO,CAAC,CAAC,CAAC,sBAAe,OAAO,kBAAe,CAAC,CAAC,CAAC,EAAE,SAAG,MAAM,CAAC,CAAC,CAAC,qBAAc,MAAM,iBAAc,CAAC,CAAC,CAAC,EAAE,SAAG,OAAO,IAAI,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAE,CAAA;AAC1T,CAAC,CAAA"}
@@ -0,0 +1,2 @@
1
+ import { ArticleList } from '../types';
2
+ export declare const createRssItems: (articleList: ArticleList, domain: string, title: string, imageSourceSizes?: Array<string>) => string;
@@ -0,0 +1,20 @@
1
+ import { buildArticleCategories, createArticleLink, } from '../helpers/articleHelper';
2
+ import { createContentEncoded } from './createContentEncoded';
3
+ import { createSummary } from '.';
4
+ export var createRssItems = function (articleList, domain, title, imageSourceSizes) {
5
+ return articleList.data
6
+ .map(function (_a) {
7
+ var id = _a.id, _b = _a.attributes, body = _b.body, headline = _b.headline, slug = _b.slug, datePublished = _b.datePublished, byline = _b.byline, relationships = _a.relationships;
8
+ var categories = (relationships === null || relationships === void 0 ? void 0 : relationships.categories.data) || [];
9
+ var articleLink = "".concat(domain).concat(createArticleLink(id, headline, slug, categories));
10
+ var creator = byline && byline[0] && byline[0].name ? byline[0].name : title;
11
+ var articleCategories = buildArticleCategories(categories);
12
+ var articleSummary = createSummary(body);
13
+ var content = createContentEncoded(body, imageSourceSizes)
14
+ .map(function (markup) { return markup; })
15
+ .join('\n\n');
16
+ return "<item>\n <title>".concat(headline, "</title>\n <link>").concat(articleLink, "</link>\n <pubDate>").concat(new Date(datePublished).toUTCString(), "</pubDate>\n <dc:creator><![CDATA[").concat(creator, "]]></dc:creator>\n ").concat(articleCategories, "\n ").concat(articleSummary, "\n <guid isPermaLink=\"false\">Post ").concat(id, " at ").concat(title, "</guid>\n <content:encoded><![CDATA[").concat(content, "]]></content:encoded>\n </item>\n ");
17
+ })
18
+ .join('');
19
+ };
20
+ //# sourceMappingURL=createItems.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createItems.js","sourceRoot":"","sources":["../../../../src/rss/contentEncodedUtils/createItems.ts"],"names":[],"mappings":"AACA,OAAO,EACL,sBAAsB,EACtB,iBAAiB,GAClB,MAAM,0BAA0B,CAAA;AACjC,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,GAAG,CAAA;AAEjC,MAAM,CAAC,IAAM,cAAc,GAAG,UAC5B,WAAwB,EACxB,MAAc,EACd,KAAa,EACb,gBAAgC;IAEhC,OAAA,WAAW,CAAC,IAAI;SACb,GAAG,CACF,UAAC,EAIS;YAHR,EAAE,QAAA,EACF,kBAA2D,EAA7C,IAAI,UAAA,EAAE,QAAQ,cAAA,EAAE,IAAI,UAAA,EAAE,aAAa,mBAAA,EAAE,MAAM,YAAA,EACzD,aAAa,mBAAA;QAEb,IAAM,UAAU,GAAG,CAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,UAAU,CAAC,IAAI,KAAI,EAAE,CAAA;QACvD,IAAM,WAAW,GAAG,UAAG,MAAM,SAAG,iBAAiB,CAC/C,EAAE,EACF,QAAQ,EACR,IAAI,EACJ,UAAU,CACX,CAAE,CAAA;QACH,IAAM,OAAO,GACX,MAAM,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAA;QAChE,IAAM,iBAAiB,GAAG,sBAAsB,CAAC,UAAU,CAAC,CAAA;QAC5D,IAAM,cAAc,GAAG,aAAa,CAAC,IAAI,CAAC,CAAA;QAC1C,IAAM,OAAO,GAAG,oBAAoB,CAAC,IAAI,EAAE,gBAAgB,CAAC;aACzD,GAAG,CAAC,UAAC,MAAM,IAAK,OAAA,MAAM,EAAN,CAAM,CAAC;aACvB,IAAI,CAAC,MAAM,CAAC,CAAA;QAEf,OAAO,+BACA,QAAQ,mCACT,WAAW,qCACR,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,WAAW,EAAE,oDACzB,OAAO,qCAC5B,iBAAiB,qBACjB,cAAc,sDACiB,EAAE,iBAAO,KAAK,sDACnB,OAAO,yCAEtC,CAAA;IACG,CAAC,CACF;SACA,IAAI,CAAC,EAAE,CAAC;AAnCX,CAmCW,CAAA"}
@@ -0,0 +1,2 @@
1
+ import { ParagraphBlockChildren } from '../types';
2
+ export declare const createParagraph: (content: ParagraphBlockChildren[]) => string;
@@ -0,0 +1,19 @@
1
+ import { createHyperlinkBlock, createTextBlock, createLineBreakBlock, } from './createBlockElements';
2
+ export var createParagraph = function (content) {
3
+ var paraArray = [];
4
+ if (content) {
5
+ content.forEach(function (data) {
6
+ if (data.type === 'text') {
7
+ paraArray.push(createTextBlock(data));
8
+ }
9
+ if (data.type === 'hyperlink') {
10
+ paraArray.push(createHyperlinkBlock(data));
11
+ }
12
+ if (data.type === 'line-break') {
13
+ paraArray.push(createLineBreakBlock());
14
+ }
15
+ });
16
+ }
17
+ return "<p>".concat(paraArray.join(''), "</p>");
18
+ };
19
+ //# sourceMappingURL=createParagraph.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createParagraph.js","sourceRoot":"","sources":["../../../../src/rss/contentEncodedUtils/createParagraph.ts"],"names":[],"mappings":"AACA,OAAO,EACL,oBAAoB,EACpB,eAAe,EACf,oBAAoB,GACrB,MAAM,uBAAuB,CAAA;AAE9B,MAAM,CAAC,IAAM,eAAe,GAAG,UAAC,OAAiC;IAC/D,IAAM,SAAS,GAAa,EAAE,CAAA;IAC9B,IAAI,OAAO,EAAE;QACX,OAAO,CAAC,OAAO,CAAC,UAAC,IAAI;YACnB,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE;gBACxB,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC,IAAiB,CAAC,CAAC,CAAA;aACnD;YACD,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE;gBAC7B,SAAS,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAsB,CAAC,CAAC,CAAA;aAC7D;YACD,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY,EAAE;gBAC9B,SAAS,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC,CAAA;aACvC;QACH,CAAC,CAAC,CAAA;KACH;IACD,OAAO,aAAM,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,SAAM,CAAA;AACvC,CAAC,CAAA"}
@@ -0,0 +1,2 @@
1
+ import { TiteAttributes, ArticleList } from '../types';
2
+ export declare const createRSSFeed: (domain: string, { title, link, description, language, updatePeriod, updateFrequency, logoUrl, imageSourceSizes, }: TiteAttributes, articleList: ArticleList) => string;
@@ -0,0 +1,7 @@
1
+ import { createRssItems } from './createItems';
2
+ import { getLastBuildDate, getLastUpdated } from '../helpers';
3
+ export var createRSSFeed = function (domain, _a, articleList) {
4
+ var title = _a.title, link = _a.link, description = _a.description, _b = _a.language, language = _b === void 0 ? 'en-US' : _b, _c = _a.updatePeriod, updatePeriod = _c === void 0 ? 'hourly' : _c, _d = _a.updateFrequency, updateFrequency = _d === void 0 ? 1 : _d, logoUrl = _a.logoUrl, imageSourceSizes = _a.imageSourceSizes;
5
+ return "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<rss version=\"2.0\"\n xmlns:content=\"http://purl.org/rss/1.0/modules/content/\"\n xmlns:wfw=\"http://wellformedweb.org/CommentAPI/\"\n xmlns:dc=\"http://purl.org/dc/elements/1.1/\"\n xmlns:atom=\"http://www.w3.org/2005/Atom\"\n xmlns:sy=\"http://purl.org/rss/1.0/modules/syndication/\"\n xmlns:slash=\"http://purl.org/rss/1.0/modules/slash/\"\t\n xmlns:georss=\"http://www.georss.org/georss\"\n xmlns:geo=\"http://www.w3.org/2003/01/geo/wgs84_pos#\"\n>\n<channel>\n <title>".concat(title, "</title>\n <atom:link href=\"").concat(domain).concat(link, "\" rel=\"self\" type=\"application/rss+xml\" />\n <link>").concat(domain).concat(link, "</link>\n <description>").concat(description, "</description>\n <lastBuildDate>").concat(getLastBuildDate(), "</lastBuildDate>\n <pubDate>").concat(getLastUpdated(articleList.data), "</pubDate>\n <language>").concat(language, "</language>\n <sy:updatePeriod>").concat(updatePeriod, "</sy:updatePeriod>\n <sy:updateFrequency>").concat(updateFrequency, "</sy:updateFrequency>\n <generator>Newskit Render</generator>\n <image>\n <url>").concat(domain).concat(logoUrl, "</url>\n <title>").concat(title, "</title>\n <link>").concat(domain).concat(link, "</link>\n <width>32</width>\n <height>32</height>\n </image>\n ").concat(createRssItems(articleList, domain, title, imageSourceSizes), "\n</channel>\n</rss>\n");
6
+ };
7
+ //# sourceMappingURL=createRSSFeed.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createRSSFeed.js","sourceRoot":"","sources":["../../../../src/rss/contentEncodedUtils/createRSSFeed.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAE7D,MAAM,CAAC,IAAM,aAAa,GAAG,UAC3B,MAAc,EACd,EASiB,EACjB,WAAwB;QATtB,KAAK,WAAA,EACL,IAAI,UAAA,EACJ,WAAW,iBAAA,EACX,gBAAkB,EAAlB,QAAQ,mBAAG,OAAO,KAAA,EAClB,oBAAuB,EAAvB,YAAY,mBAAG,QAAQ,KAAA,EACvB,uBAAmB,EAAnB,eAAe,mBAAG,CAAC,KAAA,EACnB,OAAO,aAAA,EACP,gBAAgB,sBAAA;IAGP,OAAA,4iBAYA,KAAK,6CACK,MAAM,SAAG,IAAI,wEACxB,MAAM,SAAG,IAAI,uCACN,WAAW,gDACT,gBAAgB,EAAE,4CACxB,cAAc,CAAC,WAAW,CAAC,IAAI,CAAC,uCAC/B,QAAQ,+CACD,YAAY,yDACT,eAAe,yGAG1B,MAAM,SAAG,OAAO,oCACd,KAAK,qCACN,MAAM,SAAG,IAAI,gGAIvB,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,gBAAgB,CAAC,2BAGjE;AAhCY,CAgCZ,CAAA"}
@@ -0,0 +1,2 @@
1
+ import { Body } from '../types';
2
+ export declare const createSummary: (body: Body[]) => string;
@@ -0,0 +1,11 @@
1
+ import { createParagraph } from './createParagraph';
2
+ export var createSummary = function (body) {
3
+ var firstParagraph = body &&
4
+ body.find(function (bodyItem) { return bodyItem.type === 'paragraph'; });
5
+ if (firstParagraph && firstParagraph.children) {
6
+ var paragraph = createParagraph(firstParagraph.children);
7
+ return "<description><![CDATA[".concat(paragraph, "]]></description>");
8
+ }
9
+ return '<description><![CDATA[]]></description>';
10
+ };
11
+ //# sourceMappingURL=createSummary.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createSummary.js","sourceRoot":"","sources":["../../../../src/rss/contentEncodedUtils/createSummary.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAEnD,MAAM,CAAC,IAAM,aAAa,GAAG,UAAC,IAAY;IACxC,IAAM,cAAc,GAClB,IAAI;QACH,IAAI,CAAC,IAAI,CAAC,UAAC,QAAQ,IAAK,OAAA,QAAQ,CAAC,IAAI,KAAK,WAAW,EAA7B,CAA6B,CAAoB,CAAA;IAC5E,IAAI,cAAc,IAAI,cAAc,CAAC,QAAQ,EAAE;QAC7C,IAAM,SAAS,GAAG,eAAe,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAA;QAC1D,OAAO,gCAAyB,SAAS,sBAAmB,CAAA;KAC7D;IACD,OAAO,yCAAyC,CAAA;AAClD,CAAC,CAAA"}
@@ -0,0 +1,4 @@
1
+ export * from './createParagraph';
2
+ export * from './createImage';
3
+ export * from './createSummary';
4
+ export * from './createBlockElements';
@@ -0,0 +1,5 @@
1
+ export * from './createParagraph';
2
+ export * from './createImage';
3
+ export * from './createSummary';
4
+ export * from './createBlockElements';
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/rss/contentEncodedUtils/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAA;AACjC,cAAc,eAAe,CAAA;AAC7B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,uBAAuB,CAAA"}
@@ -0,0 +1,6 @@
1
+ import { Article, ArticleCategory } from '../types';
2
+ export declare const buildArticleCategories: (categories: ArticleCategory[]) => string;
3
+ export declare const createArticleLink: (id: string | number, headline: string, slug: string, categories: ArticleCategory[]) => string;
4
+ export declare const getFromDate: (num: number) => string;
5
+ export declare const getLastUpdated: (articleList: Article[]) => string;
6
+ export declare const getLastBuildDate: () => string;
@@ -0,0 +1,41 @@
1
+ var generateArticleSlug = function (headline) {
2
+ return headline
3
+ .replace(/[^a-zA-Z0-9 ]/g, '')
4
+ .replace(/\s\s+/g, ' ')
5
+ .toLowerCase()
6
+ .replace(/ /g, '-')
7
+ .trim();
8
+ };
9
+ var getCategorySlug = function (categories) {
10
+ var _a, _b, _c, _d;
11
+ if (!Array.isArray(categories) || categories.length === 0)
12
+ return 'uncategorized';
13
+ 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';
14
+ };
15
+ export var buildArticleCategories = function (categories) {
16
+ return categories.length !== 0
17
+ ? categories
18
+ .map(function (category) {
19
+ var _a, _b, _c;
20
+ return "<category><![CDATA[".concat(((_c = (_b = (_a = category === null || category === void 0 ? void 0 : category.category) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.attributes) === null || _c === void 0 ? void 0 : _c.slug) || 'uncategorized', "]]></category>");
21
+ })
22
+ .join('')
23
+ : '<category><![CDATA[uncategorized]]></category>';
24
+ };
25
+ export var createArticleLink = function (id, headline, slug, categories) {
26
+ var category = getCategorySlug(categories);
27
+ return "/".concat(category, "/").concat(id, "/").concat(slug || generateArticleSlug(headline));
28
+ };
29
+ export var getFromDate = function (num) {
30
+ var date = new Date(new Date().setDate(new Date().getDate() - num));
31
+ var localeFormattedDate = date.toLocaleDateString('sv-SE');
32
+ return localeFormattedDate;
33
+ };
34
+ export var getLastUpdated = function (articleList) {
35
+ return new Date(Math.max.apply(Math, articleList.map(function (_a) {
36
+ var dateUpdated = _a.attributes.dateUpdated;
37
+ return new Date(dateUpdated).valueOf();
38
+ }))).toUTCString();
39
+ };
40
+ export var getLastBuildDate = function () { return new Date().toUTCString(); };
41
+ //# sourceMappingURL=articleHelper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"articleHelper.js","sourceRoot":"","sources":["../../../../src/rss/helpers/articleHelper.ts"],"names":[],"mappings":"AAEA,IAAM,mBAAmB,GAAG,UAAC,QAAgB;IAC3C,OAAA,QAAQ;SACL,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;AAEX,IAAM,eAAe,GAAG,UAAC,UAA6B;;IACpD,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;AAED,MAAM,CAAC,IAAM,sBAAsB,GAAG,UAAC,UAA6B;IAClE,OAAA,UAAU,CAAC,MAAM,KAAK,CAAC;QACrB,CAAC,CAAC,UAAU;aACP,GAAG,CACF,UAAC,QAAQ;;YACP,OAAA,6BACE,CAAA,MAAA,MAAA,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,QAAQ,0CAAE,IAAI,0CAAE,UAAU,0CAAE,IAAI,KAAI,eAAe,mBAC/C,CAAA;SAAA,CACnB;aACA,IAAI,CAAC,EAAE,CAAC;QACb,CAAC,CAAC,gDAAgD;AATpD,CASoD,CAAA;AAEtD,MAAM,CAAC,IAAM,iBAAiB,GAAG,UAC/B,EAAmB,EACnB,QAAgB,EAChB,IAAY,EACZ,UAA6B;IAE7B,IAAM,QAAQ,GAAG,eAAe,CAAC,UAAU,CAAC,CAAA;IAC5C,OAAO,WAAI,QAAQ,cAAI,EAAE,cAAI,IAAI,IAAI,mBAAmB,CAAC,QAAQ,CAAC,CAAE,CAAA;AACtE,CAAC,CAAA;AAED,MAAM,CAAC,IAAM,WAAW,GAAG,UAAC,GAAW;IACrC,IAAM,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,GAAG,CAAC,CAAC,CAAA;IACrE,IAAM,mBAAmB,GAAG,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAA;IAC5D,OAAO,mBAAmB,CAAA;AAC5B,CAAC,CAAA;AAED,MAAM,CAAC,IAAM,cAAc,GAAG,UAAC,WAAsB;IACnD,OAAA,IAAI,IAAI,CACN,IAAI,CAAC,GAAG,OAAR,IAAI,EACC,WAAW,CAAC,GAAG,CAAC,UAAC,EAAwC;YAAxB,WAAW,4BAAA;QAC7C,OAAA,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,OAAO,EAAE;IAA/B,CAA+B,CAChC,EAEJ,CAAC,WAAW,EAAE;AANf,CAMe,CAAA;AAEjB,MAAM,CAAC,IAAM,gBAAgB,GAAG,cAAc,OAAA,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAxB,CAAwB,CAAA"}
@@ -0,0 +1,2 @@
1
+ import { BodyDataTypesMap } from '../types';
2
+ export declare const bodyDataTypesMap: BodyDataTypesMap;
@@ -0,0 +1,36 @@
1
+ var _a;
2
+ import { createParagraph, createImage } from '../contentEncodedUtils';
3
+ import { createHeadingBlock, createTweetBlock, createYoutubeBlock, createInstagramBlock, createVideoBrightcoveBlock, createEmbedBlock, } from '../contentEncodedUtils/createBlockElements';
4
+ import { BodyBlockTypes, } from '../types';
5
+ import { createOrderedList, createUnorderedList } from './buildLists';
6
+ export var bodyDataTypesMap = (_a = {},
7
+ _a[BodyBlockTypes.Paragraph] = function (data) {
8
+ return createParagraph(data.children);
9
+ },
10
+ _a[BodyBlockTypes.Image] = function (data, imageSourceSizes) {
11
+ return createImage(data, imageSourceSizes);
12
+ },
13
+ _a[BodyBlockTypes.UnorderedListBlock] = function (list) {
14
+ return createUnorderedList(list);
15
+ },
16
+ _a[BodyBlockTypes.OrderedListBlock] = function (list) {
17
+ return createOrderedList(list);
18
+ },
19
+ _a[BodyBlockTypes.Heading] = function (data) { return createHeadingBlock(data); },
20
+ _a[BodyBlockTypes.Tweet] = function (data) {
21
+ return createTweetBlock(data.attributes.id);
22
+ },
23
+ _a[BodyBlockTypes.Youtube] = function (data) {
24
+ return createYoutubeBlock(data.attributes.id);
25
+ },
26
+ _a[BodyBlockTypes.Instagram] = function (data) {
27
+ return createInstagramBlock(data.attributes.id);
28
+ },
29
+ _a[BodyBlockTypes.VideoBrightcove] = function (data) {
30
+ return createVideoBrightcoveBlock(data.attributes.id, data.attributes.accountId, data.attributes.playerId);
31
+ },
32
+ _a[BodyBlockTypes.Embed] = function (data) {
33
+ return createEmbedBlock(data.attributes.url);
34
+ },
35
+ _a);
36
+ //# sourceMappingURL=buildBodyDataTypesMap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buildBodyDataTypesMap.js","sourceRoot":"","sources":["../../../../src/rss/helpers/buildBodyDataTypesMap.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AACrE,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,EAClB,oBAAoB,EACpB,0BAA0B,EAC1B,gBAAgB,GACjB,MAAM,4CAA4C,CAAA;AACnD,OAAO,EACL,cAAc,GAYf,MAAM,UAAU,CAAA;AACjB,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAErE,MAAM,CAAC,IAAM,gBAAgB;IAC3B,GAAC,cAAc,CAAC,SAAS,IAAG,UAAC,IAAoB;QAC/C,OAAA,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC;IAA9B,CAA8B;IAChC,GAAC,cAAc,CAAC,KAAK,IAAG,UAAC,IAAgB,EAAE,gBAA2B;QACpE,OAAA,WAAW,CAAC,IAAI,EAAE,gBAAgB,CAAC;IAAnC,CAAmC;IACrC,GAAC,cAAc,CAAC,kBAAkB,IAAG,UAAC,IAAmB;QACvD,OAAA,mBAAmB,CAAC,IAAI,CAAC;IAAzB,CAAyB;IAC3B,GAAC,cAAc,CAAC,gBAAgB,IAAG,UAAC,IAAiB;QACnD,OAAA,iBAAiB,CAAC,IAAI,CAAC;IAAvB,CAAuB;IACzB,GAAC,cAAc,CAAC,OAAO,IAAG,UAAC,IAAkB,IAAK,OAAA,kBAAkB,CAAC,IAAI,CAAC,EAAxB,CAAwB;IAC1E,GAAC,cAAc,CAAC,KAAK,IAAG,UAAC,IAAgB;QACvC,OAAA,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;IAApC,CAAoC;IACtC,GAAC,cAAc,CAAC,OAAO,IAAG,UAAC,IAAkB;QAC3C,OAAA,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;IAAtC,CAAsC;IACxC,GAAC,cAAc,CAAC,SAAS,IAAG,UAAC,IAAoB;QAC/C,OAAA,oBAAoB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;IAAxC,CAAwC;IAC1C,GAAC,cAAc,CAAC,eAAe,IAAG,UAAC,IAA0B;QAC3D,OAAA,0BAA0B,CACxB,IAAI,CAAC,UAAU,CAAC,EAAE,EAClB,IAAI,CAAC,UAAU,CAAC,SAAS,EACzB,IAAI,CAAC,UAAU,CAAC,QAAQ,CACzB;IAJD,CAIC;IACH,GAAC,cAAc,CAAC,KAAK,IAAG,UAAC,IAAgB;QACvC,OAAA,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;IAArC,CAAqC;OACxC,CAAA"}
@@ -0,0 +1,4 @@
1
+ import { UnorderedList, OrderedList, ListItem } from '../types';
2
+ export declare const createUnorderedList: (unorderedList: UnorderedList) => string;
3
+ export declare const createOrderedList: (orderedList: OrderedList) => string;
4
+ export declare const listItemsSwitcher: (item: ListItem) => string;
@@ -0,0 +1,29 @@
1
+ import { createTextBlock, createHyperlinkBlock, createLineBreakBlock, } from '../contentEncodedUtils';
2
+ import { ListItemTypes } from '../types';
3
+ export var createUnorderedList = function (unorderedList) {
4
+ return "<ul>".concat(unorderedList.children
5
+ .map(function (item) { return "<li>".concat(listItemsSwitcher(item), "</li>"); })
6
+ .join(''), "</ul>");
7
+ };
8
+ export var createOrderedList = function (orderedList) {
9
+ return "<ol>".concat(orderedList.children
10
+ .map(function (item) { return "<li>".concat(listItemsSwitcher(item), "</li>"); })
11
+ .join(''), "</ol>");
12
+ };
13
+ export var listItemsSwitcher = function (item) {
14
+ switch (item.type) {
15
+ case ListItemTypes.Text:
16
+ return createTextBlock(item);
17
+ case ListItemTypes.Hyperlink:
18
+ return createHyperlinkBlock(item);
19
+ case ListItemTypes.LineBreak:
20
+ return createLineBreakBlock();
21
+ case ListItemTypes.UnorderedList:
22
+ return createUnorderedList(item);
23
+ case ListItemTypes.OrderedList:
24
+ return createOrderedList(item);
25
+ default:
26
+ return '';
27
+ }
28
+ };
29
+ //# sourceMappingURL=buildLists.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buildLists.js","sourceRoot":"","sources":["../../../../src/rss/helpers/buildLists.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAA8B,aAAa,EAAY,MAAM,UAAU,CAAA;AAE9E,MAAM,CAAC,IAAM,mBAAmB,GAAG,UAAC,aAA4B;IAC9D,OAAA,cAAO,aAAa,CAAC,QAAQ;SAC1B,GAAG,CAAC,UAAC,IAAI,IAAK,OAAA,cAAO,iBAAiB,CAAC,IAAI,CAAC,UAAO,EAArC,CAAqC,CAAC;SACpD,IAAI,CAAC,EAAE,CAAC,UAAO;AAFlB,CAEkB,CAAA;AAEpB,MAAM,CAAC,IAAM,iBAAiB,GAAG,UAAC,WAAwB;IACxD,OAAA,cAAO,WAAW,CAAC,QAAQ;SACxB,GAAG,CAAC,UAAC,IAAI,IAAK,OAAA,cAAO,iBAAiB,CAAC,IAAI,CAAC,UAAO,EAArC,CAAqC,CAAC;SACpD,IAAI,CAAC,EAAE,CAAC,UAAO;AAFlB,CAEkB,CAAA;AAEpB,MAAM,CAAC,IAAM,iBAAiB,GAAG,UAAC,IAAc;IAC9C,QAAQ,IAAI,CAAC,IAAI,EAAE;QACjB,KAAK,aAAa,CAAC,IAAI;YACrB,OAAO,eAAe,CAAC,IAAI,CAAC,CAAA;QAC9B,KAAK,aAAa,CAAC,SAAS;YAC1B,OAAO,oBAAoB,CAAC,IAAI,CAAC,CAAA;QACnC,KAAK,aAAa,CAAC,SAAS;YAC1B,OAAO,oBAAoB,EAAE,CAAA;QAC/B,KAAK,aAAa,CAAC,aAAa;YAC9B,OAAO,mBAAmB,CAAC,IAAI,CAAC,CAAA;QAClC,KAAK,aAAa,CAAC,WAAW;YAC5B,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAA;QAChC;YACE,OAAO,EAAE,CAAA;KACZ;AACH,CAAC,CAAA"}
@@ -0,0 +1,3 @@
1
+ export * from './articleHelper';
2
+ export * from './buildLists';
3
+ export * from './buildBodyDataTypesMap';
@@ -0,0 +1,4 @@
1
+ export * from './articleHelper';
2
+ export * from './buildLists';
3
+ export * from './buildBodyDataTypesMap';
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/rss/helpers/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAA;AAC/B,cAAc,cAAc,CAAA;AAC5B,cAAc,yBAAyB,CAAA"}
@@ -0,0 +1,2 @@
1
+ export { rssFeed } from './RSSFeedResolver';
2
+ export { UpdatePeriod } from './types';
@@ -0,0 +1,2 @@
1
+ export { rssFeed } from './RSSFeedResolver';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/rss/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA"}
@@ -0,0 +1 @@
1
+ export declare const GET_ARTICLE_LIST: import("@apollo/client").DocumentNode;
@@ -0,0 +1,8 @@
1
+ var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
2
+ if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
3
+ return cooked;
4
+ };
5
+ import { gql } from '@apollo/client';
6
+ export var GET_ARTICLE_LIST = gql(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n query getArticleList($from: Date, $to: Date, $cursor: String) {\n articleList(from: $from, to: $to, cursor: $cursor, limit: 20)\n @rest(\n type: \"ArticleList\"\n path: \"articles?include=category&limit={args.limit}&filter[from]={args.from}&filter[to]={args.to}{args.cursor}\"\n ) {\n data {\n id\n attributes {\n headline\n slug\n byline {\n name\n }\n datePublished\n dateUpdated\n body {\n type\n attributes {\n alt\n caption\n credit\n height\n width\n url\n text\n bold\n italic\n level\n id\n accountId\n playerId\n children {\n type\n attributes {\n bold\n italic\n monospace\n text\n underline\n text\n type\n url\n }\n children {\n type\n attributes {\n bold\n italic\n monospace\n text\n underline\n text\n type\n url\n }\n }\n }\n }\n children {\n type\n attributes {\n bold\n italic\n monospace\n text\n underline\n text\n type\n url\n }\n }\n }\n }\n relationships {\n categories {\n data {\n id @export(as: \"id\")\n type\n category\n @rest(\n type: \"Category\"\n path: \"categories/{exportVariables.id}\"\n ) {\n data {\n attributes {\n title\n slug\n }\n }\n }\n }\n }\n }\n }\n links {\n next\n }\n }\n }\n"], ["\n query getArticleList($from: Date, $to: Date, $cursor: String) {\n articleList(from: $from, to: $to, cursor: $cursor, limit: 20)\n @rest(\n type: \"ArticleList\"\n path: \"articles?include=category&limit={args.limit}&filter[from]={args.from}&filter[to]={args.to}{args.cursor}\"\n ) {\n data {\n id\n attributes {\n headline\n slug\n byline {\n name\n }\n datePublished\n dateUpdated\n body {\n type\n attributes {\n alt\n caption\n credit\n height\n width\n url\n text\n bold\n italic\n level\n id\n accountId\n playerId\n children {\n type\n attributes {\n bold\n italic\n monospace\n text\n underline\n text\n type\n url\n }\n children {\n type\n attributes {\n bold\n italic\n monospace\n text\n underline\n text\n type\n url\n }\n }\n }\n }\n children {\n type\n attributes {\n bold\n italic\n monospace\n text\n underline\n text\n type\n url\n }\n }\n }\n }\n relationships {\n categories {\n data {\n id @export(as: \"id\")\n type\n category\n @rest(\n type: \"Category\"\n path: \"categories/{exportVariables.id}\"\n ) {\n data {\n attributes {\n title\n slug\n }\n }\n }\n }\n }\n }\n }\n links {\n next\n }\n }\n }\n"])));
7
+ var templateObject_1;
8
+ //# sourceMappingURL=getArticleList.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getArticleList.js","sourceRoot":"","sources":["../../../../src/rss/queries/getArticleList.ts"],"names":[],"mappings":";;;;AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAA;AAEpC,MAAM,CAAC,IAAM,gBAAgB,GAAG,GAAG,s5EAAA,m1EAqGlC,IAAA,CAAA"}
@@ -0,0 +1 @@
1
+ export * from './getArticleList';
@@ -0,0 +1,2 @@
1
+ export * from './getArticleList';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/rss/queries/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAA"}
@@ -0,0 +1,198 @@
1
+ import { NextApiResponse } from 'next';
2
+ import { Publisher } from '@newskit-render/api';
3
+ export type UpdatePeriod = 'hourly' | 'daily' | 'weekly' | 'monthly' | 'yearly';
4
+ export type TiteAttributes = {
5
+ title: string;
6
+ link: string;
7
+ description: string;
8
+ language?: string;
9
+ updatePeriod?: UpdatePeriod;
10
+ updateFrequency?: number;
11
+ logoUrl: string;
12
+ imageSourceSizes?: Array<string>;
13
+ };
14
+ export interface RssFeedProps {
15
+ res: NextApiResponse;
16
+ publisher: Publisher;
17
+ domain: string;
18
+ titeAttributes: TiteAttributes;
19
+ }
20
+ export type TextBlock = {
21
+ type: 'text';
22
+ attributes: {
23
+ bold: boolean;
24
+ italic: boolean;
25
+ monospace: boolean;
26
+ text: string;
27
+ underline: boolean;
28
+ };
29
+ };
30
+ export type HyperlinkBlock = {
31
+ type: 'hyperlink';
32
+ attributes: {
33
+ text: string;
34
+ url: string;
35
+ };
36
+ children: TextBlock[];
37
+ };
38
+ export type LineBreakBlock = {
39
+ type: 'line-break';
40
+ };
41
+ export type ParagraphBlockChildren = TextBlock | HyperlinkBlock | LineBreakBlock;
42
+ export type ParagraphBlock = {
43
+ type: 'paragraph';
44
+ children: ParagraphBlockChildren[];
45
+ };
46
+ export type HeadingBlock = {
47
+ type: 'heading';
48
+ attributes: {
49
+ level: number;
50
+ };
51
+ children: TextBlock[];
52
+ };
53
+ export type ImageBlock = {
54
+ type: 'image';
55
+ attributes: {
56
+ alt: string;
57
+ caption: string;
58
+ credit: string;
59
+ height: number;
60
+ width: number;
61
+ url: string;
62
+ };
63
+ };
64
+ export type VideoBrightcoveBlock = {
65
+ type: string;
66
+ attributes: {
67
+ domain: string;
68
+ accountId: string;
69
+ id: string;
70
+ playerId: string;
71
+ };
72
+ };
73
+ export type TweetBlock = {
74
+ type: 'tweet';
75
+ attributes: {
76
+ id: string;
77
+ };
78
+ };
79
+ export type FormStackBlock = {
80
+ type: string;
81
+ attributes: {
82
+ id: string;
83
+ };
84
+ };
85
+ export type EmbedBlock = {
86
+ type: 'embed';
87
+ attributes: {
88
+ url: string;
89
+ };
90
+ };
91
+ export type InstagramBlock = {
92
+ type: 'instagram';
93
+ attributes: {
94
+ id: string;
95
+ };
96
+ };
97
+ export type YoutubeBlock = {
98
+ type: 'youtube';
99
+ attributes: {
100
+ id: string;
101
+ };
102
+ };
103
+ export type Body = TextBlock | ParagraphBlock | ImageBlock | HeadingBlock | EmbedBlock | FormStackBlock | InstagramBlock | VideoBrightcoveBlock | UnorderedList | OrderedList;
104
+ export type Summary = {
105
+ children: {
106
+ text: string;
107
+ }[];
108
+ };
109
+ export type ListItem = UnorderedList | OrderedList | TextBlock | HyperlinkBlock | LineBreakBlock;
110
+ export declare enum ListTypes {
111
+ UnorderedList = "unordered-list",
112
+ OrderedList = "ordered-list"
113
+ }
114
+ export type UnorderedList = {
115
+ type: 'unordered-list';
116
+ children: [ListItem];
117
+ };
118
+ export type OrderedList = {
119
+ type: 'ordered-list';
120
+ children: [ListItem];
121
+ };
122
+ export declare enum ListItemTypes {
123
+ UnorderedList = "unordered-list",
124
+ OrderedList = "ordered-list",
125
+ Text = "text",
126
+ Hyperlink = "hyperlink",
127
+ LineBreak = "line-break"
128
+ }
129
+ /**
130
+ * the Category type, as returned from the API has the following shape:
131
+ * {
132
+ id: string
133
+ parentId: string
134
+ slug: string
135
+ title: string
136
+ type: 'category'
137
+ }
138
+ we're cirrently only using slug, but we might need to use more in the future.
139
+ I have exported the type as it is used now to be able to type an argument in the code properly
140
+ */
141
+ export type ArticleCategory = {
142
+ id: string | number;
143
+ type: string;
144
+ category: {
145
+ data: {
146
+ attributes: {
147
+ title: string;
148
+ slug: string;
149
+ };
150
+ };
151
+ };
152
+ };
153
+ export type Article = {
154
+ id: string | number;
155
+ type: 'article';
156
+ attributes: {
157
+ body: Body[];
158
+ headline: string;
159
+ slug: string;
160
+ byline?: {
161
+ name: string;
162
+ }[];
163
+ datePublished: string;
164
+ dateUpdated: string;
165
+ };
166
+ relationships: {
167
+ categories: {
168
+ data: ArticleCategory[];
169
+ };
170
+ };
171
+ };
172
+ export type ArticleList = {
173
+ data: Article[];
174
+ };
175
+ export declare enum BodyBlockTypes {
176
+ Paragraph = "paragraph",
177
+ Image = "image",
178
+ Heading = "heading",
179
+ Tweet = "tweet",
180
+ Youtube = "youtube",
181
+ Instagram = "instagram",
182
+ Embed = "embed",
183
+ VideoBrightcove = "video-brightcove",
184
+ UnorderedListBlock = "unordered-list",
185
+ OrderedListBlock = "ordered-list"
186
+ }
187
+ export type BodyDataTypesMap = {
188
+ [BodyBlockTypes.Paragraph]: (data: ParagraphBlock) => string;
189
+ [BodyBlockTypes.Image]: (data: ImageBlock, imageSourceSizes?: string[]) => string;
190
+ [BodyBlockTypes.UnorderedListBlock]: (list: UnorderedList) => string;
191
+ [BodyBlockTypes.OrderedListBlock]: (list: OrderedList) => string;
192
+ [BodyBlockTypes.Heading]: (data: HeadingBlock) => string;
193
+ [BodyBlockTypes.Tweet]: (data: TweetBlock) => string;
194
+ [BodyBlockTypes.Youtube]: (data: YoutubeBlock) => string;
195
+ [BodyBlockTypes.Instagram]: (data: InstagramBlock) => string;
196
+ [BodyBlockTypes.VideoBrightcove]: (data: VideoBrightcoveBlock) => string;
197
+ [BodyBlockTypes.Embed]: (data: EmbedBlock) => string;
198
+ };
@@ -0,0 +1,27 @@
1
+ export var ListTypes;
2
+ (function (ListTypes) {
3
+ ListTypes["UnorderedList"] = "unordered-list";
4
+ ListTypes["OrderedList"] = "ordered-list";
5
+ })(ListTypes || (ListTypes = {}));
6
+ export var ListItemTypes;
7
+ (function (ListItemTypes) {
8
+ ListItemTypes["UnorderedList"] = "unordered-list";
9
+ ListItemTypes["OrderedList"] = "ordered-list";
10
+ ListItemTypes["Text"] = "text";
11
+ ListItemTypes["Hyperlink"] = "hyperlink";
12
+ ListItemTypes["LineBreak"] = "line-break";
13
+ })(ListItemTypes || (ListItemTypes = {}));
14
+ export var BodyBlockTypes;
15
+ (function (BodyBlockTypes) {
16
+ BodyBlockTypes["Paragraph"] = "paragraph";
17
+ BodyBlockTypes["Image"] = "image";
18
+ BodyBlockTypes["Heading"] = "heading";
19
+ BodyBlockTypes["Tweet"] = "tweet";
20
+ BodyBlockTypes["Youtube"] = "youtube";
21
+ BodyBlockTypes["Instagram"] = "instagram";
22
+ BodyBlockTypes["Embed"] = "embed";
23
+ BodyBlockTypes["VideoBrightcove"] = "video-brightcove";
24
+ BodyBlockTypes["UnorderedListBlock"] = "unordered-list";
25
+ BodyBlockTypes["OrderedListBlock"] = "ordered-list";
26
+ })(BodyBlockTypes || (BodyBlockTypes = {}));
27
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/rss/types.ts"],"names":[],"mappings":"AA2IA,MAAM,CAAN,IAAY,SAGX;AAHD,WAAY,SAAS;IACnB,6CAAgC,CAAA;IAChC,yCAA4B,CAAA;AAC9B,CAAC,EAHW,SAAS,KAAT,SAAS,QAGpB;AAUD,MAAM,CAAN,IAAY,aAMX;AAND,WAAY,aAAa;IACvB,iDAAgC,CAAA;IAChC,6CAA4B,CAAA;IAC5B,8BAAa,CAAA;IACb,wCAAuB,CAAA;IACvB,yCAAwB,CAAA;AAC1B,CAAC,EANW,aAAa,KAAb,aAAa,QAMxB;AAgDD,MAAM,CAAN,IAAY,cAWX;AAXD,WAAY,cAAc;IACxB,yCAAuB,CAAA;IACvB,iCAAe,CAAA;IACf,qCAAmB,CAAA;IACnB,iCAAe,CAAA;IACf,qCAAmB,CAAA;IACnB,yCAAuB,CAAA;IACvB,iCAAe,CAAA;IACf,sDAAoC,CAAA;IACpC,uDAAqC,CAAA;IACrC,mDAAiC,CAAA;AACnC,CAAC,EAXW,cAAc,KAAd,cAAc,QAWzB"}