This is an automated email from the ASF dual-hosted git repository.

kirs pushed a commit to branch main
in repository 
https://gitbox.apache.org/repos/asf/incubator-seatunnel-website.git


The following commit(s) were added to refs/heads/main by this push:
     new 04600cb  [Chore][Docs] Build documentation script optimization (#70)
04600cb is described below

commit 04600cb1d8090311c9e5bae44fa4f28ece21c566
Author: ChunFu Wu <[email protected]>
AuthorDate: Wed Mar 2 11:25:21 2022 +0800

    [Chore][Docs] Build documentation script optimization (#70)
---
 tools/build-docs.sh | 67 ++++++++++++++++++++++++++++++++---------------------
 1 file changed, 40 insertions(+), 27 deletions(-)

diff --git a/tools/build-docs.sh b/tools/build-docs.sh
index ea0902d..b0dde75 100644
--- a/tools/build-docs.sh
+++ b/tools/build-docs.sh
@@ -1,5 +1,7 @@
 #!/usr/bin/env bash
 
+set -exv
+
 WEBSITE_REPO="https://github.com/apache/incubator-seatunnel-website.git";
 MAIN_REPO="https://github.com/apache/incubator-seatunnel.git";
 
@@ -9,22 +11,10 @@ MAIN_NAME="seatunnel"
 
 WORK_PATH=~/work/${WEBSITE_REPO_NAME}
 
-# To be compatible with MacOS and Linux
-txt=""
-if [[ "$OSTYPE" == "darwin"* ]]; then
-  # Mac OSX
-  txt=''
-elif [[ "$OSTYPE" == "linux-gnu" ]]; then
-  # linux
-  txt=""
-elif [[ "$OSTYPE" == "freebsd"* ]]; then
-  # ...
-  txt=""
-else
-  # Unknown.
-  echo "Operating system unknown, please tell us(submit issue) for better 
service"
-  exit 1
-fi
+MAIN_PATH=${WORK_PATH}/${MAIN_NAME}
+WEBSITE_PATH=${WORK_PATH}/${WEBSITE_NAME}
+WEBSITE_REPO_PATH=${WORK_PATH}/${WEBSITE_REPO_NAME}
+DOCS_EN=${MAIN_PATH}/docs/en
 
 if [ ! -d ${WORK_PATH} ]; then
   mkdir -p ${WORK_PATH}
@@ -41,23 +31,46 @@ echo "===>>>: current work path: ${WORK_PATH}"
 echo "===>>>: Clone git repositories"
 
 echo "===>>>: Clone ${WEBSITE_REPO} repositories to ${WEBSITE_NAME}"
-git clone --depth 1 ${WEBSITE_REPO} ${WORK_PATH}/${WEBSITE_NAME}
+git clone --depth 1 ${WEBSITE_REPO} ${WEBSITE_PATH}
 
 echo "===>>>: Clone ${MAIN_REPO} repositories to ${MAIN_NAME}"
-git clone --depth 1 ${MAIN_REPO} ${WORK_PATH}/${MAIN_NAME}
+git clone --depth 1 ${MAIN_REPO} ${MAIN_PATH}
 
-echo "===>>>: Copy images to ${WORK_PATH}/${WEBSITE_NAME}/static/doc/image_en/"
-cp -rf ${WORK_PATH}/${MAIN_NAME}/docs/en/images/* 
${WORK_PATH}/${WEBSITE_NAME}/static/doc/image_en/
+echo "===>>>: Copy images to ${WEBSITE_PATH}/static/doc/image_en/"
+cp -rf ${DOCS_EN}/images/* ${WEBSITE_PATH}/static/doc/image_en/
 
-echo "===>>>: Replace images path to /doc/image_en"
-sed -r -i ${txt} "s/(\.\.\/)+images/\/doc\/image_en/g" 
${WORK_PATH}/${MAIN_NAME}/docs/en/**/*.md
+if [ -d ${DOCS_EN}/images ]; then
+  rm -rf ${DOCS_EN}/images
+fi
 
-echo "===>>>: Replace elements inside md files"
-cp -rf ${WORK_PATH}/${MAIN_NAME}/docs/en/* ${WORK_PATH}/${WEBSITE_NAME}/docs/
+echo "===>>>: Replace images path to /doc/image_en"
+function replaceImagesPath(){
+  CURRENT_DIR=$1
+  echo "===>>>: Current directory: ${CURRENT_DIR}"
+  for filePath in ${CURRENT_DIR}/*; do
+    if test -f ${filePath}; then
+      if [ "${filePath##*.}"x = "md"x ]; then
+        echo "===>>: Replace images path to /doc/image_en in ${filePath}"
+        if [[ "$OSTYPE" == "darwin"* ]]; then
+          sed -r -i '' "s/(\.\.\/)+images/\/doc\/image_en/g" ${filePath}
+        else
+          sed -r -i "s/(\.\.\/)+images/\/doc\/image_en/g" ${filePath}
+        fi
+      fi
+    else
+      replaceImagesPath ${filePath}
+    fi
+  done
+}
+
+replaceImagesPath ${DOCS_EN}
+
+echo "===>>>: Replace elements inside md filePath"
+cp -rf ${DOCS_EN}/* ${WEBSITE_PATH}/docs/
 
 echo "===>>>: Replace docs Done"
 
-echo "===>>>: Copy ${WORK_PATH}/${WEBSITE_NAME} to 
${WORK_PATH}/${WEBSITE_REPO_NAME} directory"
-cp -rf ${WORK_PATH}/${WEBSITE_NAME} ${WORK_PATH}/${WEBSITE_REPO_NAME}
+echo "===>>>: Copy ${WEBSITE_PATH} to ${WEBSITE_REPO_PATH} directory"
+cp -rf ${WEBSITE_PATH} ${WEBSITE_REPO_PATH}
 
-echo "===>>>: Replace ${WORK_PATH}/${WEBSITE_REPO_NAME} Done"
+echo "===>>>: Replace ${WEBSITE_REPO_PATH} Done"

Reply via email to