@docusaurus/plugin-content-blog 0.0.0-5863 → 0.0.0-5864

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 (3) hide show
  1. package/lib/feed.js +11 -5
  2. package/package.json +9 -9
  3. package/src/feed.ts +22 -7
package/lib/feed.js CHANGED
@@ -21,8 +21,11 @@ async function generateBlogFeed({ blogPosts, options, siteConfig, outDir, locale
21
21
  return null;
22
22
  }
23
23
  const { feedOptions, routeBasePath } = options;
24
- const { url: siteUrl, baseUrl, title, favicon } = siteConfig;
25
- const blogBaseUrl = (0, utils_1.normalizeUrl)([siteUrl, baseUrl, routeBasePath]);
24
+ const { url: siteUrl, baseUrl, title, favicon, trailingSlash } = siteConfig;
25
+ const blogBaseUrl = (0, utils_common_1.applyTrailingSlash)((0, utils_1.normalizeUrl)([siteUrl, baseUrl, routeBasePath]), {
26
+ trailingSlash,
27
+ baseUrl,
28
+ });
26
29
  const blogPostsForFeed = feedOptions.limit === false || feedOptions.limit === null
27
30
  ? blogPosts
28
31
  : blogPosts.slice(0, feedOptions.limit);
@@ -48,15 +51,18 @@ async function generateBlogFeed({ blogPosts, options, siteConfig, outDir, locale
48
51
  return feed;
49
52
  }
50
53
  async function defaultCreateFeedItems({ blogPosts, siteConfig, outDir, }) {
51
- const { url: siteUrl } = siteConfig;
54
+ const { url: siteUrl, baseUrl, trailingSlash } = siteConfig;
52
55
  function toFeedAuthor(author) {
53
56
  return { name: author.name, link: author.url, email: author.email };
54
57
  }
55
58
  return Promise.all(blogPosts.map(async (post) => {
56
59
  const { metadata: { title: metadataTitle, permalink, date, description, authors, tags, }, } = post;
57
- const content = await (0, utils_1.readOutputHTMLFile)(permalink.replace(siteConfig.baseUrl, ''), outDir, siteConfig.trailingSlash);
60
+ const content = await (0, utils_1.readOutputHTMLFile)(permalink.replace(baseUrl, ''), outDir, trailingSlash);
58
61
  const $ = (0, cheerio_1.load)(content);
59
- const blogPostAbsoluteUrl = (0, utils_1.normalizeUrl)([siteUrl, permalink]);
62
+ const blogPostAbsoluteUrl = (0, utils_common_1.applyTrailingSlash)((0, utils_1.normalizeUrl)([siteUrl, permalink]), {
63
+ trailingSlash,
64
+ baseUrl,
65
+ });
60
66
  const toAbsoluteUrl = (src) => String(new URL(src, blogPostAbsoluteUrl));
61
67
  // Make links and image urls absolute
62
68
  // See https://github.com/facebook/docusaurus/issues/9136
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@docusaurus/plugin-content-blog",
3
- "version": "0.0.0-5863",
3
+ "version": "0.0.0-5864",
4
4
  "description": "Blog plugin for Docusaurus.",
5
5
  "main": "lib/index.js",
6
6
  "types": "src/plugin-content-blog.d.ts",
@@ -31,13 +31,13 @@
31
31
  },
32
32
  "license": "MIT",
33
33
  "dependencies": {
34
- "@docusaurus/core": "0.0.0-5863",
35
- "@docusaurus/logger": "0.0.0-5863",
36
- "@docusaurus/mdx-loader": "0.0.0-5863",
37
- "@docusaurus/types": "0.0.0-5863",
38
- "@docusaurus/utils": "0.0.0-5863",
39
- "@docusaurus/utils-common": "0.0.0-5863",
40
- "@docusaurus/utils-validation": "0.0.0-5863",
34
+ "@docusaurus/core": "0.0.0-5864",
35
+ "@docusaurus/logger": "0.0.0-5864",
36
+ "@docusaurus/mdx-loader": "0.0.0-5864",
37
+ "@docusaurus/types": "0.0.0-5864",
38
+ "@docusaurus/utils": "0.0.0-5864",
39
+ "@docusaurus/utils-common": "0.0.0-5864",
40
+ "@docusaurus/utils-validation": "0.0.0-5864",
41
41
  "cheerio": "^1.0.0-rc.12",
42
42
  "feed": "^4.2.2",
43
43
  "fs-extra": "^11.1.1",
@@ -59,5 +59,5 @@
59
59
  "devDependencies": {
60
60
  "@total-typescript/shoehorn": "^0.1.2"
61
61
  },
62
- "gitHead": "8a2e5a97b3258f37311ef8d7bb890770e8027867"
62
+ "gitHead": "05370c4a2c51890ddf0d02e4dd143a75cbc6f696"
63
63
  }
package/src/feed.ts CHANGED
@@ -11,7 +11,10 @@ import logger from '@docusaurus/logger';
11
11
  import {Feed, type Author as FeedAuthor} from 'feed';
12
12
  import * as srcset from 'srcset';
13
13
  import {normalizeUrl, readOutputHTMLFile} from '@docusaurus/utils';
14
- import {blogPostContainerID} from '@docusaurus/utils-common';
14
+ import {
15
+ blogPostContainerID,
16
+ applyTrailingSlash,
17
+ } from '@docusaurus/utils-common';
15
18
  import {load as cheerioLoad} from 'cheerio';
16
19
  import type {DocusaurusConfig} from '@docusaurus/types';
17
20
  import type {
@@ -40,8 +43,14 @@ async function generateBlogFeed({
40
43
  }
41
44
 
42
45
  const {feedOptions, routeBasePath} = options;
43
- const {url: siteUrl, baseUrl, title, favicon} = siteConfig;
44
- const blogBaseUrl = normalizeUrl([siteUrl, baseUrl, routeBasePath]);
46
+ const {url: siteUrl, baseUrl, title, favicon, trailingSlash} = siteConfig;
47
+ const blogBaseUrl = applyTrailingSlash(
48
+ normalizeUrl([siteUrl, baseUrl, routeBasePath]),
49
+ {
50
+ trailingSlash,
51
+ baseUrl,
52
+ },
53
+ );
45
54
 
46
55
  const blogPostsForFeed =
47
56
  feedOptions.limit === false || feedOptions.limit === null
@@ -85,7 +94,7 @@ async function defaultCreateFeedItems({
85
94
  siteConfig: DocusaurusConfig;
86
95
  outDir: string;
87
96
  }): Promise<BlogFeedItem[]> {
88
- const {url: siteUrl} = siteConfig;
97
+ const {url: siteUrl, baseUrl, trailingSlash} = siteConfig;
89
98
 
90
99
  function toFeedAuthor(author: Author): FeedAuthor {
91
100
  return {name: author.name, link: author.url, email: author.email};
@@ -105,13 +114,19 @@ async function defaultCreateFeedItems({
105
114
  } = post;
106
115
 
107
116
  const content = await readOutputHTMLFile(
108
- permalink.replace(siteConfig.baseUrl, ''),
117
+ permalink.replace(baseUrl, ''),
109
118
  outDir,
110
- siteConfig.trailingSlash,
119
+ trailingSlash,
111
120
  );
112
121
  const $ = cheerioLoad(content);
113
122
 
114
- const blogPostAbsoluteUrl = normalizeUrl([siteUrl, permalink]);
123
+ const blogPostAbsoluteUrl = applyTrailingSlash(
124
+ normalizeUrl([siteUrl, permalink]),
125
+ {
126
+ trailingSlash,
127
+ baseUrl,
128
+ },
129
+ );
115
130
 
116
131
  const toAbsoluteUrl = (src: string) =>
117
132
  String(new URL(src, blogPostAbsoluteUrl));