@docusaurus/plugin-content-blog 0.0.0-5863 → 0.0.0-5865
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/lib/feed.js +11 -5
- package/package.json +9 -9
- 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(
|
|
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-
|
|
3
|
+
"version": "0.0.0-5865",
|
|
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-
|
|
35
|
-
"@docusaurus/logger": "0.0.0-
|
|
36
|
-
"@docusaurus/mdx-loader": "0.0.0-
|
|
37
|
-
"@docusaurus/types": "0.0.0-
|
|
38
|
-
"@docusaurus/utils": "0.0.0-
|
|
39
|
-
"@docusaurus/utils-common": "0.0.0-
|
|
40
|
-
"@docusaurus/utils-validation": "0.0.0-
|
|
34
|
+
"@docusaurus/core": "0.0.0-5865",
|
|
35
|
+
"@docusaurus/logger": "0.0.0-5865",
|
|
36
|
+
"@docusaurus/mdx-loader": "0.0.0-5865",
|
|
37
|
+
"@docusaurus/types": "0.0.0-5865",
|
|
38
|
+
"@docusaurus/utils": "0.0.0-5865",
|
|
39
|
+
"@docusaurus/utils-common": "0.0.0-5865",
|
|
40
|
+
"@docusaurus/utils-validation": "0.0.0-5865",
|
|
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": "
|
|
62
|
+
"gitHead": "0ce2912136d682daeb3abe9d1284a49f9c011efa"
|
|
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 {
|
|
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 =
|
|
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(
|
|
117
|
+
permalink.replace(baseUrl, ''),
|
|
109
118
|
outDir,
|
|
110
|
-
|
|
119
|
+
trailingSlash,
|
|
111
120
|
);
|
|
112
121
|
const $ = cheerioLoad(content);
|
|
113
122
|
|
|
114
|
-
const blogPostAbsoluteUrl =
|
|
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));
|