Skip to content

Commit 6bf519c

Browse files
authored
CF: inject readthedocs-resolver-filename HTML meta tag (readthedocs#205)
We lost this work when moving the `.js` file from the ops repository into community and then again to common. This is required to be deployed together with addons 0.10.0. Related: * readthedocs/readthedocs.org#11126 * readthedocs/addons#211
1 parent 2654442 commit 6bf519c

File tree

1 file changed

+9
-5
lines changed

1 file changed

+9
-5
lines changed

dockerfiles/force-readthedocs-addons.js

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,7 @@ async function handleRequest(request) {
7777
// get project/version slug from headers inject by El Proxito
7878
const projectSlug = originalResponse.headers.get("x-rtd-project") || "";
7979
const versionSlug = originalResponse.headers.get("x-rtd-version") || "";
80+
const resolverFilename = originalResponse.headers.get("x-rtd-resolver-filename") || "";
8081

8182
// check to decide whether or not inject the new beta addons:
8283
//
@@ -113,7 +114,7 @@ async function handleRequest(request) {
113114
// .on(readthedocsDataParse, new removeElement())
114115
// .on(readthedocsData, new removeElement())
115116
.on("head", new addPreloads())
116-
.on("head", new addProjectVersionSlug(projectSlug, versionSlug))
117+
.on("head", new addMetaTags(projectSlug, versionSlug, resolverFilename))
117118
.transform(originalResponse)
118119
);
119120
}
@@ -126,7 +127,7 @@ async function handleRequest(request) {
126127
if (forceAddons === "false" && injectHostingIntegrations === "true") {
127128
return new HTMLRewriter()
128129
.on("head", new addPreloads())
129-
.on("head", new addProjectVersionSlug(projectSlug, versionSlug))
130+
.on("head", new addMetaTags(projectSlug, versionSlug, resolverFilename))
130131
.transform(originalResponse);
131132
}
132133
}
@@ -165,22 +166,25 @@ class addPreloads {
165166
}
166167
}
167168

168-
class addProjectVersionSlug {
169-
constructor(projectSlug, versionSlug) {
169+
class addMetaTags{
170+
constructor(projectSlug, versionSlug, resolverFilename) {
170171
this.projectSlug = projectSlug;
171172
this.versionSlug = versionSlug;
173+
this.resolverFilename = resolverFilename;
172174
}
173175

174176
element(element) {
175177
console.log(
176-
`addProjectVersionSlug. projectSlug=${this.projectSlug} versionSlug=${this.versionSlug}`,
178+
`addProjectVersionSlug. projectSlug=${this.projectSlug} versionSlug=${this.versionSlug} resolverFilename=${this.resolverFilename}`,
177179
);
178180
if (this.projectSlug && this.versionSlug) {
179181
const metaProject = `<meta name="readthedocs-project-slug" content="${this.projectSlug}" />`;
180182
const metaVersion = `<meta name="readthedocs-version-slug" content="${this.versionSlug}" />`;
183+
const metaResolverFilename = `<meta name="readthedocs-resolver-filename" content="${this.resolverFilename}" />`;
181184

182185
element.append(metaProject, { html: true });
183186
element.append(metaVersion, { html: true });
187+
element.append(metaResolverFilename, { html: true });
184188
}
185189
}
186190
}

0 commit comments

Comments
 (0)