Skip to content
Snippets Groups Projects
Commit 59b35921 authored by Andreas Kraft's avatar Andreas Kraft
Browse files

Merge branch 'toMkdocs' of https://git.onem2m.org/tools/scripts into toMkdocs

parents c6f007f3 fda94dc3
Branches
No related tags found
No related merge requests found
...@@ -76,9 +76,67 @@ Publish spec: ...@@ -76,9 +76,67 @@ Publish spec:
paths: paths:
- "*_${CI_COMMIT_TAG}.docx" - "*_${CI_COMMIT_TAG}.docx"
# pages:
# stage: web
# when: on_success
# rules:
# - if: ($CLEAN_WEB_PAGES == 'false' || $CLEAN_WEB_PAGES == 'true') && $CI_COMMIT_TAG
# variables:
# TAG_NAME: $CI_COMMIT_TAG
# - if: ($CLEAN_WEB_PAGES != "false" && $CLEAN_WEB_PAGES != "true") && $CI_PIPELINE_SOURCE == "web"
# variables:
# TAG_NAME: $CLEAN_WEB_PAGES
# - if: $CI_PIPELINE_SOURCE == "trigger"
# variables:
# TAG_NAME: "upgrade"
# before_script:
# - |
# 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=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%2Fimages%2Ffavicon%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/toMkdocs%2Fimages%2Fonem2m%2Epng/raw?ref=toMkdocs" >> onem2m.png
# - mv onem2m.png docs/images/
# - |
# curl "${CI_API_V4_URL}/projects/$TOOLS_SCRIPTS_PROJECT_ID/repository/files/toMkdocs%2Fimages%2Fonem2m_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/toMkdocs%2Fstylesheets%2Fextra%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/toMkdocs%2Fmkdocs%2Eyml/raw?ref=toMkdocs" >> mkdocs.yml
# - |
# curl "${CI_API_V4_URL}/projects/$TOOLS_SCRIPTS_PROJECT_ID/repository/files/toMkdocs%2Findex%2Emd/raw?ref=toMkdocs" >> index.md
# - mv index.md docs/
# - |
# curl "${CI_API_V4_URL}/projects/$TOOLS_SCRIPTS_PROJECT_ID/repository/files/toMkdocs%2FtoMkdocs%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 toMkdocs.py;
# artifacts:
# paths:
# - public
#
pages: pages:
stage: web stage: web
when: on_success image: python:3.9.18-slim-bullseye
tags:
- docker
variables:
PIP_CACHE_DIR: "$CI_PROJECT_DIR/.cache/pip"
PAGES_BRANCH: gl-pages
HTTPS_REMOTE: https://gitlab-ci-token:${ACCESS_TOKEN}@${CI_SERVER_HOST}/rep/${CI_PROJECT_PATH}.git
rules: rules:
- if: ($CLEAN_WEB_PAGES == 'false' || $CLEAN_WEB_PAGES == 'true') && $CI_COMMIT_TAG - if: ($CLEAN_WEB_PAGES == 'false' || $CLEAN_WEB_PAGES == 'true') && $CI_COMMIT_TAG
variables: variables:
...@@ -89,37 +147,54 @@ pages: ...@@ -89,37 +147,54 @@ pages:
- if: $CI_PIPELINE_SOURCE == "trigger" - if: $CI_PIPELINE_SOURCE == "trigger"
variables: variables:
TAG_NAME: "upgrade" TAG_NAME: "upgrade"
before_script: before_script:
- pip install -q mkdocs-material mike
- apt-get update -qq && apt-get -qq install -y git curl > /dev/null
- | - |
curl "${CI_API_V4_URL}/projects/$TOOLS_SCRIPTS_PROJECT_ID/repository/files/publish_on_pages%2Esh/raw?ref=toMkdocs" >> publish_on_pages.sh curl "${CI_API_V4_URL}/projects/$TOOLS_SCRIPTS_PROJECT_ID/repository/files/toMkdocs%2Fimages%2Ffavicon%2Eico/raw?ref=toMkdocs" >> favicon.html
- chmod +x publish_on_pages.sh
- |
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/ - 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 curl "${CI_API_V4_URL}/projects/$TOOLS_SCRIPTS_PROJECT_ID/repository/files/toMkdocs%2Fimages%2Fonem2m%2Epng/raw?ref=toMkdocs" >> onem2m.png
- mv onem2m.png docs/images/ - 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 curl "${CI_API_V4_URL}/projects/$TOOLS_SCRIPTS_PROJECT_ID/repository/files/toMkdocs%2Fimages%2Fonem2m_sq%2Epng/raw?ref=toMkdocs" >> onem2m_sq.png
- mv onem2m_sq.png docs/images/ - 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 curl "${CI_API_V4_URL}/projects/$TOOLS_SCRIPTS_PROJECT_ID/repository/files/toMkdocs%2Fstylesheets%2Fextra%2Ecss/raw?ref=toMkdocs" >> extra.css
- mkdir -p docs/stylesheets && mv extra.css docs/stylesheets/ - mkdir -p docs/stylesheets && mv extra.css docs/stylesheets/
- | - |
curl "${CI_API_V4_URL}/projects/$TOOLS_SCRIPTS_PROJECT_ID/repository/files/toMkdocs%2Fmkdocs%2Eyml/raw?ref=toMkdocs" >> mkdocs.yml curl "${CI_API_V4_URL}/projects/$TOOLS_SCRIPTS_PROJECT_ID/repository/files/toMkdocs%2Fmkdocs%2Eyml/raw?ref=toMkdocs" >> mkdocs.yml
- |
curl "${CI_API_V4_URL}/projects/$TOOLS_SCRIPTS_PROJECT_ID/repository/files/toMkdocs%2Findex%2Emd/raw?ref=toMkdocs" >> index.md
- mv index.md docs/
- | - |
curl "${CI_API_V4_URL}/projects/$TOOLS_SCRIPTS_PROJECT_ID/repository/files/toMkdocs%2FtoMkdocs%2Epy/raw?ref=toMkdocs" >> toMkdocs.py curl "${CI_API_V4_URL}/projects/$TOOLS_SCRIPTS_PROJECT_ID/repository/files/toMkdocs%2FtoMkdocs%2Epy/raw?ref=toMkdocs" >> toMkdocs.py
- |
export SPEC_NAME=$(ls | grep T*.md | cut -d'.' -f1)
- git config --global --replace-all user.name $GITLAB_USER_NAME
- git config --global --replace-all user.email $GITLAB_USER_EMAIL
- git fetch origin $PAGES_BRANCH && git checkout $PAGES_BRANCH || git checkout -b $PAGES_BRANCH origin/$PAGES_BRANCH || echo "Pages branch not deployed yet."
- git checkout $CI_COMMIT_SHA
script: script:
- echo 'Publishing on pages' - python3 toMkdocs.py --title ${CI_PROJECT_NAME^^} "./$SPEC_NAME.md"
- ./publish_on_pages.sh updateIndex.py $CI_PAGES_URL ${CI_PROJECT_NAME} $TAG_NAME index.html $CLEAN_WEB_PAGES $SPEC_NAME toMkdocs.py; - mv ${CI_PROJECT_NAME^^}/ docs/
- cat _nav.yml >> mkdocs.yml
- |
if [ -n "$TAG_NAME" ]; then
mike deploy --deploy-prefix public -r $HTTPS_REMOTE -p -b $PAGES_BRANCH -u $TAG_NAME latest
mike set-default --deploy-prefix public -r $HTTPS_REMOTE -p -b $PAGES_BRANCH latest
elif [ "$CI_COMMIT_REF_NAME" == "develop" ]; then
mike deploy --deploy-prefix public -r $HTTPS_REMOTE -p -b $PAGES_BRANCH -u $CI_COMMIT_BRANCH
fi
- git checkout $PAGES_BRANCH -- public/
artifacts: artifacts:
paths: paths:
- public - public/
\ No newline at end of file rules:
- if: '$CI_PIPELINE_SOURCE == "web"'
when: always
- if: '$CI_COMMIT_TAG'
- if: '$CI_COMMIT_REF_NAME == "develop"'
when: always
- when: never
...@@ -2,6 +2,11 @@ ...@@ -2,6 +2,11 @@
DOCKER_IMAGE=logiqx/python-bs4:3.9-slim DOCKER_IMAGE=logiqx/python-bs4:3.9-slim
MIKE_DOCKER_IMAGE=mike:master MIKE_DOCKER_IMAGE=mike:master
#BACKUP=false
PAGES_BRANCH=gl-pages
#HTTPS_REMOTE=https://gitlab-ci-token:${ACCESS_TOKEN}@${CI_SERVER_HOST}/rep/${CI_PROJECT_PATH}.git
HTTPS_REMOTE=https://gitlab-ci-token:mytoken@git.onem2m.org/specifications/${3}.git
echo "\n------ Checking for docker image --------" echo "\n------ Checking for docker image --------"
docker pull "$DOCKER_IMAGE" docker pull "$DOCKER_IMAGE"
...@@ -12,7 +17,13 @@ echo "TAG NAME:" $4 ...@@ -12,7 +17,13 @@ echo "TAG NAME:" $4
echo "------ Get the previous GitLab Pages content --------" echo "------ Get the previous GitLab Pages content --------"
set +e set +e
curl --fail "$2/content.zip" -o "content.zip" curl --fail "$2/content.zip" -o "content.zip"
if [ -e "content.zip" ]; then echo $BACKUP
if [ $BACKUP == "true" ]; then
echo "Retrieving content.zip from backup"
curl "https://git.onem2m.org/specifications/ts-0019/-/jobs/1082/artifacts/download?file_type=archive" >> content.zip
unzip "content.zip";
rm "content.zip"
elif [ -e "content.zip" ]; then
unzip "content.zip"; unzip "content.zip";
rm "content.zip"; rm "content.zip";
else else
...@@ -63,20 +74,24 @@ else ...@@ -63,20 +74,24 @@ else
fi fi
####### GENERATE NAV SPEC ####### ####### GENERATE NAV SPEC #######
## Temporary trial
#rm public/index.html
echo "------ Generate input for mkdocs --------" 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" 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 --------" echo "------ Move to docs folder --------"
ls ls
mv $3/ docs/ mv ${3^^}/ docs/
cat _nav.yml >> mkdocs.yml cat _nav.yml >> mkdocs.yml
echo "------ Generating site --------" echo "------ Generating site --------"
docker run --rm -u $(id -u):$(id -g) -v $(pwd):/tmp -w /tmp "$MIKE_DOCKER_IMAGE" /bin/sh -c 'git config user.name ci-bot && git config user.email ci-bot@example.com && mike deploy -u $4 latest' docker run --rm -u $(id -u):$(id -g) -v $(pwd):/tmp -w /tmp "$MIKE_DOCKER_IMAGE" /bin/sh -c 'git config user.name ci-bot && git config user.email ci-bot@example.com && mike deploy --deploy-prefix site -r $HTTPS_REMOTE -b $PAGES_BRANCH -u $4 latest && mike set-default --deploy-prefix site -r $HTTPS_REMOTE -b $PAGES_BRANCH latest'
docker run --rm -u $(id -u):$(id -g) -v $(pwd):/tmp -w /tmp "$MIKE_DOCKER_IMAGE" /bin/sh -c 'git config user.name ci-bot && git config user.email ci-bot@example.com && mike set-default latest' #docker run --rm -u $(id -u):$(id -g) -v $(pwd):/tmp -w /tmp "$MIKE_DOCKER_IMAGE" /bin/sh -c 'git config user.name ci-bot && git config user.email ci-bot@example.com && mike set-default latest'
#docker run --rm -u $(id -u):$(id -g) -v $(pwd):/tmp -w /tmp "$MIKE_DOCKER_IMAGE" mkdocs build -d site
echo "------ Move to output to public folder --------" echo "------ Move output to public folder --------"
mv site/* public/ cp -r site/* public/
rm -r site/
########################### ###########################
......
# Welcome to oneM2M Specifications
...@@ -4,8 +4,9 @@ copyright: "Copyright © 2024 oneM2M Partnership Project" ...@@ -4,8 +4,9 @@ copyright: "Copyright © 2024 oneM2M Partnership Project"
# Required for RSS feed # Required for RSS feed
site_description: oneM2M Specifications navigator site_description: oneM2M Specifications navigator
site_name: oneM2M Specifications site_url: https://specifications.onem2m.org/ts-0019/
site_url: https://specifications.onem2m.org
docs_dir: docs
extra_css: extra_css:
- stylesheets/extra.css - stylesheets/extra.css
...@@ -21,12 +22,12 @@ theme: ...@@ -21,12 +22,12 @@ theme:
- content.code.copy - content.code.copy
#- navigation.footer #- navigation.footer
- content.footnote.tooltips - content.footnote.tooltips
- navigation.indexes #- navigation.indexes
- navigation.instant.progress #- navigation.instant.progress
- navigation.prune #- navigation.prune
- navigation.sections #- navigation.sections
- navigation.tabs #- navigation.tabs
- navigation.tabs.sticky #- navigation.tabs.sticky
- search.suggest - search.suggest
- search.highlight - search.highlight
- search.share - search.share
...@@ -82,9 +83,9 @@ extra: ...@@ -82,9 +83,9 @@ extra:
- icon: fontawesome/brands/linkedin - icon: fontawesome/brands/linkedin
link: https://www.linkedin.com/company/onem2m/ link: https://www.linkedin.com/company/onem2m/
name: oneM2M @ LinkedIn name: oneM2M @ LinkedIn
version:
provider: mike
nav: nav:
# - 'index.md'
...@@ -181,10 +181,12 @@ def writeClauses(outLines:list[Clause], filename:str, navTitle:str) -> None: ...@@ -181,10 +181,12 @@ def writeClauses(outLines:list[Clause], filename:str, navTitle:str) -> None:
for i, f in enumerate(outLines): for i, f in enumerate(outLines):
if f.onlyNav: if f.onlyNav:
file.write(f" {' '*f.level}- '{f.title}':\n") file.write(f" {' '*f.level}- '{f.title}':\n")
#file.write(f"{' '*f.level}- '{f.title}':\n")
else: else:
if len(f.lines) == 0: if len(f.lines) == 0:
continue continue
file.write(f" {' '*f.level}- '{f.title}': '{navTitle}/{i:0{fnLength}}.md'\n") file.write(f" {' '*f.level}- '{f.title}': '{navTitle}/{i:0{fnLength}}.md'\n")
#file.write(f"{' '*f.level}- '{f.title}': '{navTitle}/{i:0{fnLength}}.md'\n")
def updateLinks(clauses:list[Clause]) -> list[Clause]: def updateLinks(clauses:list[Clause]) -> list[Clause]:
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment