Loading .gitlab-ci.yml +9 −0 Original line number Diff line number Diff line Loading @@ -38,6 +38,15 @@ Build Pandoc docker image: changes: - generateChangemarks/dockerfile.pandoc Build Mike docker image: stage: build before_script: cd toMkdocs script: docker build --tag mike:$CI_COMMIT_BRANCH -f dockerfile.mike . rules: - if: $CI_COMMIT_BRANCH && $CI_PROJECT_NAME == "scripts" changes: - toMkdocs/dockerfile.mike Upgrade index for pages: stage: upgrade before_script: Loading generateChangemarks/.gitlab-ci.yml +20 −4 Original line number Diff line number Diff line Loading @@ -26,7 +26,7 @@ Word CR: - merge_requests before_script: - | curl "${CI_API_V4_URL}/projects/$TOOLS_SCRIPTS_PROJECT_ID/repository/files/generate_changemarks%2Esh/raw?ref=master" >> generate_changemarks.sh curl "${CI_API_V4_URL}/projects/$TOOLS_SCRIPTS_PROJECT_ID/repository/files/generate_changemarks%2Esh/raw?ref=toMkdocs" >> generate_changemarks.sh - chmod +x generate_changemarks.sh - | curl "${CI_API_V4_URL}/projects/$TOOLS_SCRIPTS_PROJECT_ID/repository/files/onem2m_delimiter_start%2Edocx/raw?ref=master" >> onem2m_delimiter_start.docx Loading Loading @@ -91,19 +91,35 @@ pages: TAG_NAME: "upgrade" before_script: - | curl "${CI_API_V4_URL}/projects/$TOOLS_SCRIPTS_PROJECT_ID/repository/files/publish_on_pages%2Esh/raw?ref=master" >> publish_on_pages.sh curl "${CI_API_V4_URL}/projects/$TOOLS_SCRIPTS_PROJECT_ID/repository/files/publish_on_pages%2Esh/raw?ref=toMkdocs" >> publish_on_pages.sh - chmod +x publish_on_pages.sh - | curl "${CI_API_V4_URL}/projects/$TOOLS_SCRIPTS_PROJECT_ID/repository/files/updateIndex%2Epy/raw?ref=master" >> updateIndex.py curl "${CI_API_V4_URL}/projects/$TOOLS_SCRIPTS_PROJECT_ID/repository/files/updateIndex%2Epy/raw?ref=toMkdocs" >> updateIndex.py - | curl "${CI_API_V4_URL}/projects/$TOOLS_SCRIPTS_PROJECT_ID/repository/files/index%2Ehtml/raw?ref=master" >> index.html - | export SPEC_NAME=$(ls | grep T*.md | cut -d'.' -f1) - | sed -i 's/PROJECT/'${CI_PROJECT_NAME^^}'/g' index.html - | curl "${CI_API_V4_URL}/projects/$TOOLS_SCRIPTS_PROJECT_ID/repository/files/toMkdocs/images/favicon%2Eico/raw?ref=toMkdocs" >> favicon.html - mkdir -p docs/images && mv favicon.html docs/images/ - | curl "${CI_API_V4_URL}/projects/$TOOLS_SCRIPTS_PROJECT_ID/repository/files/images/onem2m%2Epng/raw?ref=toMkdocs" >> onem2m.png - mv onem2m.png docs/images/ - | curl "${CI_API_V4_URL}/projects/$TOOLS_SCRIPTS_PROJECT_ID/repository/files/images/onem2m_sq%2Epng/raw?ref=toMkdocs" >> onem2m_sq.png - mv onem2m_sq.png docs/images/ - | curl "${CI_API_V4_URL}/projects/$TOOLS_SCRIPTS_PROJECT_ID/repository/files/stylesheets/extra%2Ecss/raw?ref=toMkdocs" >> extra.css - mkdir -p docs/stylesheets && mv extra.css docs/stylesheets/ - | curl "${CI_API_V4_URL}/projects/$TOOLS_SCRIPTS_PROJECT_ID/repository/files/mkdocs%2Eyml/raw?ref=toMkdocs" >> mkdocs.yml - | curl "${CI_API_V4_URL}/projects/$TOOLS_SCRIPTS_PROJECT_ID/repository/files/toMkdocs/toMkdocs%2Epy/raw?ref=toMkdocs" >> toMkdocs.py script: - echo 'Publishing on pages' - ./publish_on_pages.sh updateIndex.py $CI_PAGES_URL ${CI_PROJECT_NAME} $TAG_NAME index.html $CLEAN_WEB_PAGES $SPEC_NAME; - ./publish_on_pages.sh updateIndex.py $CI_PAGES_URL ${CI_PROJECT_NAME} $TAG_NAME index.html $CLEAN_WEB_PAGES $SPEC_NAME toMkdocs.py; artifacts: paths: - public No newline at end of file generate_changemarks.sh +6 −0 Original line number Diff line number Diff line Loading @@ -44,5 +44,11 @@ for i in docs/*.docx ; do DOCUMENT_NAME=$(echo $i | cut -d'/' -f 2) docker container run --rm -v $(pwd):/tmp/ -u $(id -u):$(id -g) "$GENERATE_CHANGEMARKS_DOCKER_IMAGE" addTrackedChanges -o "/tmp/docs/$DOCUMENT_NAME" "/tmp/$i" "$HOST_URL" "$2" "$3" done for filename in docs/*.docx; do mv $filename ${filename%.*}_Word.docx; done; #mv "$filename" "prefix_${filename}"; done; echo "\n------ Generating change marks --------" docker container run --rm -v $(pwd):/tmp/ -u $(id -u):$(id -g) -w "/tmp" "$FORGELIB_DOCKER_IMAGE" forgelib-changedocs -vv --combine --diffs --preprocessor onem2m --outPath=docs/ --startdelimiter "$4" --enddelimiter "$5" --coversheet "$6" "$HOST_URL" "$2" "$3" exit 0 publish_on_pages.sh +40 −7 Original line number Diff line number Diff line #!/bin/bash DOCKER_IMAGE=logiqx/python-bs4:3.9-slim MIKE_DOCKER_IMAGE=mike:master echo "\n------ Checking for docker image --------" docker pull "$DOCKER_IMAGE" Loading @@ -23,29 +24,61 @@ fi set -e echo "------ Get the previous GitLab Pages content --------" # Move all folders except the "baselines" folder if baselines folder exists if [ -d "public/baselines" ]; then echo "Baselines already moved to baselines/"; else mkdir -p "public/baselines" for folder in public/*; do if [ -d "$folder" ] && [ "$(basename "$folder")" != "baselines" ]; then mv "$folder" "public/baselines/" echo "Moved $(basename "$folder") to public/baselines" fi done # Move index.html with new location mv "public/index.html" "public/baselines/" fi echo "------ Add/update content --------" if [ $4 == 'upgrade' ]; then echo 'Upgrading index.html...' docker run --rm -v $(pwd):/tmp -w /tmp "$DOCKER_IMAGE" python3 $1 -u "$7_$4" "$4/$7_$4.docx" "$5" elif [ $6 == 'true' ]; then echo 'Removing all web pages content...' rm -r public/*; mkdir -p "public/$4" echo 'Removing all baselines ...' rm -r public/baselines/*; mkdir -p "public/baselines/$4" ls public/ cp -r -f "$7_$4.docx" public/$4 cp -r -f "$7_$4.docx" public/baselines/$4 docker run --rm -v $(pwd):/tmp -w /tmp "$DOCKER_IMAGE" python3 $1 "$7_$4" "$4/$7_$4.docx" "$5" elif [ $6 == 'false' ]; then mkdir -p "public/$4" mkdir -p "public/baselines/$4" ls public/ cp -r -f "$7_$4.docx" public/$4 cp -r -f "$7_$4.docx" public/baselines/$4 docker run --rm -v $(pwd):/tmp -w /tmp "$DOCKER_IMAGE" python3 $1 "$7_$4" "$4/$7_$4.docx" "$5" else echo 'Removing entry for ' $6 rm -r -f public/$6 rm -r -f public/baselines/$6 docker run --rm -v $(pwd):/tmp -w /tmp "$DOCKER_IMAGE" python3 $1 -re "$7_$4" "$4/$7_$4.docx" "$5" fi ####### GENERATE NAV SPEC ####### echo "------ Generate input for mkdocs --------" docker run --rm -u $(id -u):$(id -g) -v $(pwd):/tmp -w /tmp "$MIKE_DOCKER_IMAGE" python3 $8 --title $3 "./$7.md" echo "------ Move to docs folder --------" ls mv $3/ docs/ cat _nav.yml >> mkdocs.yml echo "------ Move to docs folder --------" docker run --rm -u $(id -u):$(id -g) -v $(pwd):/tmp -w /tmp "$MIKE_DOCKER_IMAGE" mike deploy -u $4 latest docker run --rm -u $(id -u):$(id -g) -v $(pwd):/tmp -w /tmp "$IKE_DOCKER_IMAGE" mike set-default latest mv site/ public/ ########################### echo "------ Zip the content and publish the zip again ------" zip -r "content.zip" "public" mv "content.zip" "public/" Loading toMkdocs/dockerfile.mike 0 → 100644 +5 −0 Original line number Diff line number Diff line FROM python:3.9-slim-bullseye RUN pip install rich mkdocs-material mkdocs-rss-plugin mike && \ apt-get update &&\ apt-get install -y git Loading
.gitlab-ci.yml +9 −0 Original line number Diff line number Diff line Loading @@ -38,6 +38,15 @@ Build Pandoc docker image: changes: - generateChangemarks/dockerfile.pandoc Build Mike docker image: stage: build before_script: cd toMkdocs script: docker build --tag mike:$CI_COMMIT_BRANCH -f dockerfile.mike . rules: - if: $CI_COMMIT_BRANCH && $CI_PROJECT_NAME == "scripts" changes: - toMkdocs/dockerfile.mike Upgrade index for pages: stage: upgrade before_script: Loading
generateChangemarks/.gitlab-ci.yml +20 −4 Original line number Diff line number Diff line Loading @@ -26,7 +26,7 @@ Word CR: - merge_requests before_script: - | curl "${CI_API_V4_URL}/projects/$TOOLS_SCRIPTS_PROJECT_ID/repository/files/generate_changemarks%2Esh/raw?ref=master" >> generate_changemarks.sh curl "${CI_API_V4_URL}/projects/$TOOLS_SCRIPTS_PROJECT_ID/repository/files/generate_changemarks%2Esh/raw?ref=toMkdocs" >> generate_changemarks.sh - chmod +x generate_changemarks.sh - | curl "${CI_API_V4_URL}/projects/$TOOLS_SCRIPTS_PROJECT_ID/repository/files/onem2m_delimiter_start%2Edocx/raw?ref=master" >> onem2m_delimiter_start.docx Loading Loading @@ -91,19 +91,35 @@ pages: TAG_NAME: "upgrade" before_script: - | curl "${CI_API_V4_URL}/projects/$TOOLS_SCRIPTS_PROJECT_ID/repository/files/publish_on_pages%2Esh/raw?ref=master" >> publish_on_pages.sh curl "${CI_API_V4_URL}/projects/$TOOLS_SCRIPTS_PROJECT_ID/repository/files/publish_on_pages%2Esh/raw?ref=toMkdocs" >> publish_on_pages.sh - chmod +x publish_on_pages.sh - | curl "${CI_API_V4_URL}/projects/$TOOLS_SCRIPTS_PROJECT_ID/repository/files/updateIndex%2Epy/raw?ref=master" >> updateIndex.py curl "${CI_API_V4_URL}/projects/$TOOLS_SCRIPTS_PROJECT_ID/repository/files/updateIndex%2Epy/raw?ref=toMkdocs" >> updateIndex.py - | curl "${CI_API_V4_URL}/projects/$TOOLS_SCRIPTS_PROJECT_ID/repository/files/index%2Ehtml/raw?ref=master" >> index.html - | export SPEC_NAME=$(ls | grep T*.md | cut -d'.' -f1) - | sed -i 's/PROJECT/'${CI_PROJECT_NAME^^}'/g' index.html - | curl "${CI_API_V4_URL}/projects/$TOOLS_SCRIPTS_PROJECT_ID/repository/files/toMkdocs/images/favicon%2Eico/raw?ref=toMkdocs" >> favicon.html - mkdir -p docs/images && mv favicon.html docs/images/ - | curl "${CI_API_V4_URL}/projects/$TOOLS_SCRIPTS_PROJECT_ID/repository/files/images/onem2m%2Epng/raw?ref=toMkdocs" >> onem2m.png - mv onem2m.png docs/images/ - | curl "${CI_API_V4_URL}/projects/$TOOLS_SCRIPTS_PROJECT_ID/repository/files/images/onem2m_sq%2Epng/raw?ref=toMkdocs" >> onem2m_sq.png - mv onem2m_sq.png docs/images/ - | curl "${CI_API_V4_URL}/projects/$TOOLS_SCRIPTS_PROJECT_ID/repository/files/stylesheets/extra%2Ecss/raw?ref=toMkdocs" >> extra.css - mkdir -p docs/stylesheets && mv extra.css docs/stylesheets/ - | curl "${CI_API_V4_URL}/projects/$TOOLS_SCRIPTS_PROJECT_ID/repository/files/mkdocs%2Eyml/raw?ref=toMkdocs" >> mkdocs.yml - | curl "${CI_API_V4_URL}/projects/$TOOLS_SCRIPTS_PROJECT_ID/repository/files/toMkdocs/toMkdocs%2Epy/raw?ref=toMkdocs" >> toMkdocs.py script: - echo 'Publishing on pages' - ./publish_on_pages.sh updateIndex.py $CI_PAGES_URL ${CI_PROJECT_NAME} $TAG_NAME index.html $CLEAN_WEB_PAGES $SPEC_NAME; - ./publish_on_pages.sh updateIndex.py $CI_PAGES_URL ${CI_PROJECT_NAME} $TAG_NAME index.html $CLEAN_WEB_PAGES $SPEC_NAME toMkdocs.py; artifacts: paths: - public No newline at end of file
generate_changemarks.sh +6 −0 Original line number Diff line number Diff line Loading @@ -44,5 +44,11 @@ for i in docs/*.docx ; do DOCUMENT_NAME=$(echo $i | cut -d'/' -f 2) docker container run --rm -v $(pwd):/tmp/ -u $(id -u):$(id -g) "$GENERATE_CHANGEMARKS_DOCKER_IMAGE" addTrackedChanges -o "/tmp/docs/$DOCUMENT_NAME" "/tmp/$i" "$HOST_URL" "$2" "$3" done for filename in docs/*.docx; do mv $filename ${filename%.*}_Word.docx; done; #mv "$filename" "prefix_${filename}"; done; echo "\n------ Generating change marks --------" docker container run --rm -v $(pwd):/tmp/ -u $(id -u):$(id -g) -w "/tmp" "$FORGELIB_DOCKER_IMAGE" forgelib-changedocs -vv --combine --diffs --preprocessor onem2m --outPath=docs/ --startdelimiter "$4" --enddelimiter "$5" --coversheet "$6" "$HOST_URL" "$2" "$3" exit 0
publish_on_pages.sh +40 −7 Original line number Diff line number Diff line #!/bin/bash DOCKER_IMAGE=logiqx/python-bs4:3.9-slim MIKE_DOCKER_IMAGE=mike:master echo "\n------ Checking for docker image --------" docker pull "$DOCKER_IMAGE" Loading @@ -23,29 +24,61 @@ fi set -e echo "------ Get the previous GitLab Pages content --------" # Move all folders except the "baselines" folder if baselines folder exists if [ -d "public/baselines" ]; then echo "Baselines already moved to baselines/"; else mkdir -p "public/baselines" for folder in public/*; do if [ -d "$folder" ] && [ "$(basename "$folder")" != "baselines" ]; then mv "$folder" "public/baselines/" echo "Moved $(basename "$folder") to public/baselines" fi done # Move index.html with new location mv "public/index.html" "public/baselines/" fi echo "------ Add/update content --------" if [ $4 == 'upgrade' ]; then echo 'Upgrading index.html...' docker run --rm -v $(pwd):/tmp -w /tmp "$DOCKER_IMAGE" python3 $1 -u "$7_$4" "$4/$7_$4.docx" "$5" elif [ $6 == 'true' ]; then echo 'Removing all web pages content...' rm -r public/*; mkdir -p "public/$4" echo 'Removing all baselines ...' rm -r public/baselines/*; mkdir -p "public/baselines/$4" ls public/ cp -r -f "$7_$4.docx" public/$4 cp -r -f "$7_$4.docx" public/baselines/$4 docker run --rm -v $(pwd):/tmp -w /tmp "$DOCKER_IMAGE" python3 $1 "$7_$4" "$4/$7_$4.docx" "$5" elif [ $6 == 'false' ]; then mkdir -p "public/$4" mkdir -p "public/baselines/$4" ls public/ cp -r -f "$7_$4.docx" public/$4 cp -r -f "$7_$4.docx" public/baselines/$4 docker run --rm -v $(pwd):/tmp -w /tmp "$DOCKER_IMAGE" python3 $1 "$7_$4" "$4/$7_$4.docx" "$5" else echo 'Removing entry for ' $6 rm -r -f public/$6 rm -r -f public/baselines/$6 docker run --rm -v $(pwd):/tmp -w /tmp "$DOCKER_IMAGE" python3 $1 -re "$7_$4" "$4/$7_$4.docx" "$5" fi ####### GENERATE NAV SPEC ####### echo "------ Generate input for mkdocs --------" docker run --rm -u $(id -u):$(id -g) -v $(pwd):/tmp -w /tmp "$MIKE_DOCKER_IMAGE" python3 $8 --title $3 "./$7.md" echo "------ Move to docs folder --------" ls mv $3/ docs/ cat _nav.yml >> mkdocs.yml echo "------ Move to docs folder --------" docker run --rm -u $(id -u):$(id -g) -v $(pwd):/tmp -w /tmp "$MIKE_DOCKER_IMAGE" mike deploy -u $4 latest docker run --rm -u $(id -u):$(id -g) -v $(pwd):/tmp -w /tmp "$IKE_DOCKER_IMAGE" mike set-default latest mv site/ public/ ########################### echo "------ Zip the content and publish the zip again ------" zip -r "content.zip" "public" mv "content.zip" "public/" Loading
toMkdocs/dockerfile.mike 0 → 100644 +5 −0 Original line number Diff line number Diff line FROM python:3.9-slim-bullseye RUN pip install rich mkdocs-material mkdocs-rss-plugin mike && \ apt-get update &&\ apt-get install -y git