You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@apisix.apache.org by ju...@apache.org on 2021/06/23 14:19:00 UTC
[apisix-website] 01/01: feat: support custom branch
This is an automated email from the ASF dual-hosted git repository.
juzhiyuan pushed a commit to branch fix-docs
in repository https://gitbox.apache.org/repos/asf/apisix-website.git
commit 5dabf042a5726f30533b57f9ab2cb3606d6a3029
Author: juzhiyuan <ju...@apache.org>
AuthorDate: Wed Jun 23 22:18:38 2021 +0800
feat: support custom branch
---
common.js | 31 ++++++++++++++++++++++++++-----
sync-docs.js | 33 ++++++++++-----------------------
2 files changed, 36 insertions(+), 28 deletions(-)
diff --git a/common.js b/common.js
index 57aeba6..cfb3dc9 100644
--- a/common.js
+++ b/common.js
@@ -1,4 +1,25 @@
-const projects = ["apisix-ingress-controller", "apisix", "apisix-dashboard", "apisix-docker", "apisix-helm-chart", "apisix-java-plugin-runner"];
+const projects = [
+ {
+ name: "apisix-ingress-controller",
+ branch: "master"
+ }, {
+ name: "apisix",
+ branch: "master"
+ }, {
+ name: "apisix-dashboard",
+ branch: "master"
+ }, {
+ name: "apisix-docker",
+ branch: "master"
+ }, {
+ name: "apisix-helm-chart",
+ branch: "master"
+ }, {
+ name: "apisix-java-plugin-runner",
+ branch: "main"
+ }
+];
+
const languages = ["en", "zh", "es"];
module.exports = {
@@ -6,11 +27,11 @@ module.exports = {
languages,
projectPaths: () => projects.map((project) => {
return {
- project: project,
- pluginId: `docs-${project}`,
+ name: project.name,
+ pluginId: `docs-${project.name}`,
paths: {
- en: `./website/docs/${project}`,
- zh: `./website/i18n/zh/docusaurus-plugin-content-docs-docs-${project}/current`,
+ en: `./website/docs/${project.name}`,
+ zh: `./website/i18n/zh/docusaurus-plugin-content-docs-docs-${project.name}/current`,
},
};
})
diff --git a/sync-docs.js b/sync-docs.js
index c457d4a..adcff34 100644
--- a/sync-docs.js
+++ b/sync-docs.js
@@ -9,25 +9,13 @@ const fs = require("fs");
const path = require("path");
const common = require("./common.js");
-const projects = common.projects;
-const langs = common.languages;
-
-const projectPaths = projects.map((project) => {
- return {
- project: project,
- pluginId: `docs-${project}`,
- latestDocs: {
- en: `./website/docs/${project}`,
- zh: `./website/i18n/zh/docusaurus-plugin-content-docs-docs-${project}/current`,
- },
- };
-});
+const { projects, langs, projectPaths } = common;
const isFileExisted = (path) => {
return fs.existsSync(path);
};
-const replaceMDElements = (project, path) => {
+const replaceMDElements = (project, path, branch = "master") => {
const replace = require("replace-in-file");
const allMDFilePaths = path.map((p) => `${p}/**/*.md`);
@@ -38,7 +26,7 @@ const replaceMDElements = (project, path) => {
from: /(\.\.\/)+assets\/images\/[-A-Za-z0-9+&@#/%?=~_|!:,.;]+[-A-Za-z0-9+&@#/%=~_|]/g,
to: (match) => {
const imgPath = match.replace(/\(|\)|\.\.\/*/g, "");
- const newUrl = `https://raw.githubusercontent.com/apache/${project}/master/docs/${imgPath}`;
+ const newUrl = `https://raw.githubusercontent.com/apache/${project}/${branch}/docs/${imgPath}`;
console.log(`${project}: ${match} 👉 ${newUrl}`);
return newUrl;
},
@@ -62,8 +50,7 @@ const replaceMDElements = (project, path) => {
project === "apisix" ? "apisix" : project.replace("apisix-", "");
let newUrl = match.replace(
/\]\(.*\)/g,
- `](https://apisix.apache.org${
- lang !== "en" ? "/" + lang : ""
+ `](https://apisix.apache.org${lang !== "en" ? "/" + lang : ""
}/docs/${projectNameWithoutPrefix}/${urlPath})`
);
log(`${project}: ${match} 👉 ${newUrl}`);
@@ -159,7 +146,7 @@ const copyAllDocs = (project) => {
const cloneRepos = () => {
log("Clone repos");
const gitCommand = projects
- .map((project) => `git clone https://github.com/apache/${project}.git`)
+ .map((project) => `git clone https://github.com/apache/${project.name}.git`)
.join(" & ");
childProcess.execSync(gitCommand, { cwd: "./tmp" });
};
@@ -211,7 +198,7 @@ const main = () => {
log("Versioning");
projectPaths.map((project) => {
- const projectName = project.project;
+ const projectName = project.name;
const versions = findReleaseVersions(projectName);
versions.map((version) => {
log(`Versioning for ${project} version: ${version}`);
@@ -220,7 +207,7 @@ const main = () => {
});
log("Replace elements inside MD files");
- replaceMDElements(projectName, [`./tmp/${projectName}/docs`]);
+ replaceMDElements(projectName, [`./tmp/${projectName}/docs`], project.branch);
copyAllDocs(project);
// versioning English docs
@@ -240,13 +227,13 @@ const main = () => {
log("Copy next version docs");
projectPaths.map((project) => {
- const projectName = project.project;
- childProcess.execSync(`git checkout -f master`, {
+ const projectName = project.name;
+ childProcess.execSync(`git checkout -f ${project.branch}`, {
cwd: `./tmp/${projectName}`,
});
log("Replace elements inside MD files");
- replaceMDElements(projectName, [`./tmp/${projectName}/docs`]);
+ replaceMDElements(projectName, [`./tmp/${projectName}/docs`], project.branch);
copyAllDocs(project);
});