diff --git a/.github/workflows/publish-docs-component.yml b/.github/workflows/publish-docs-component.yml
index 357efc73515..c53f41d0e6e 100644
--- a/.github/workflows/publish-docs-component.yml
+++ b/.github/workflows/publish-docs-component.yml
@@ -43,27 +43,35 @@ jobs:
tag_name: ${{ env.BUMP_TAG }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- # - name: Generate docs
- # shell: bash
- # run: |
- # sudo apt-get update
- # sudo apt-get -y install doxygen clang python3-pip
- # python -m pip install breathe recommonmark esp-docs==1.4.1
- # cd $GITHUB_WORKSPACE/docs
- # ./generate_docs
- # - name: Deploying generated docs
- # if: always()
- # shell: bash
- # run: |
- # source $GITHUB_WORKSPACE/docs/utils.sh
- # add_doc_server_ssh_keys $DOCS_DEPLOY_KEY $DOCS_DEPLOY_SERVER $DOCS_DEPLOY_SERVER_USER
- # export GIT_VER=$(git describe --always)
- # export GITHUB_REF_NAME=latest
- # export DOCS_BUILD_DIR=$GITHUB_WORKSPACE/docs
- # deploy-docs
- # - name: Upload components to component service
- # uses: espressif/github-actions/upload_components@master
- # with:
- # directories: "components/esp_modem;components/esp_websocket_client;components/mdns;components/asio;components/esp_mqtt_cxx"
- # namespace: "espressif"
- # api_token: ${{ secrets.IDF_COMPONENT_API_TOKEN }}
+ - name: Generate docs
+ shell: bash
+ run: |
+ sudo apt-get update
+ sudo apt-get -y install doxygen clang python3-pip
+ python -m pip install breathe recommonmark esp-docs==1.4.1
+ cd $GITHUB_WORKSPACE/docs/${{ env.BUMP_COMPONENT }}
+ ./generate_docs ${{ env.BUMP_VERSION }}
+ - name: Deploying generated docs
+ shell: bash
+ run: |
+ source $GITHUB_WORKSPACE/docs/utils.sh
+ add_doc_server_ssh_keys $DOCS_DEPLOY_KEY $DOCS_DEPLOY_SERVER $DOCS_DEPLOY_SERVER_USER
+ export GIT_VER=$(git describe --always)
+ export GITHUB_REF_NAME=latest
+ export DOCS_BUILD_DIR=$GITHUB_WORKSPACE/docs/${{ env.BUMP_COMPONENT }}
+ export DOCS_DEPLOY_PATH=$DOCS_DEPLOY_PATH/${{ env.BUMP_COMPONENT }}
+ cd $GITHUB_WORKSPACE/docs/${{ env.BUMP_COMPONENT }}
+ ls docs/generic/html/
+ # Deploy docs with latest path
+ deploy-docs
+ # Deploy docs with version path
+ if [ ${{ env.BUMP_VERSION }} != '' ]; then
+ export GITHUB_REF_NAME=${{ env.BUMP_VERSION }}
+ deploy-docs
+ fi
+ - name: Upload components to component service
+ uses: espressif/github-actions/upload_components@master
+ with:
+ directories: "components/esp_modem;components/esp_websocket_client;components/mdns;components/asio;components/esp_mqtt_cxx"
+ namespace: "espressif"
+ api_token: ${{ secrets.IDF_COMPONENT_API_TOKEN }}
diff --git a/docs/asio/generate_docs b/docs/asio/generate_docs
index def507c5ede..05d7c70b624 100755
--- a/docs/asio/generate_docs
+++ b/docs/asio/generate_docs
@@ -1,21 +1,59 @@
+#!/bin/bash
+
+rm -rf docs
+
build-docs --target esp32 --language en
-cp -rf _build/en/esp32/html .
+mkdir -p docs/generic
+mv _build/en/esp32/html docs/generic
+
rm -rf _build __pycache__
+URL="https://docs.espressif.com/projects/esp-protocols/asio/docs/latest/index.html"
+RELEASES_STR=$(curl $URL | awk '/var RELEASES = \[/,/];/' | sed 's/var RELEASES = \[//' | sed 's/];$//' | tr -d '",')
+
+declare -a RELEASES=($RELEASES_STR)
+
+if [ -n "$1" ] && [ -n "${1}" ]; then
+ RELEASES+=(\'$1\')
+fi
+
+for i in "${!RELEASES[@]}"; do
+ RELEASES[i]="${RELEASES[$i]},\n"
+done
+
+
# Modifes some version and target fields of index.html
echo "" >> html/index.html
+" | tee -a docs/generic/html/index.html > /dev/null
diff --git a/docs/esp_modem/generate_docs b/docs/esp_modem/generate_docs
index c3552407703..48b0ae0ee9b 100755
--- a/docs/esp_modem/generate_docs
+++ b/docs/esp_modem/generate_docs
@@ -1,5 +1,7 @@
+#!/bin/bash
+
# Cleanup the generated html
-rm -rf html
+rm -rf html docs
# Generate C++ API header of the DCE
cat ../../components/esp_modem/include/generate/esp_modem_command_declare.inc | clang++ -E -P -CC -xc++ -I../../components/esp_modem/include -DGENERATE_DOCS - | sed -n '1,/DCE command documentation/!p' > en/esp_modem_dce.hpp
@@ -13,27 +15,44 @@ cat ../../components/esp_modem/include/generate/esp_modem_command_declare.inc |
build-docs --target esp32 --language en
-cp -rf _build/en/esp32/html .
+mkdir -p docs/generic
+mv _build/en/esp32/html docs/generic
+
rm -rf _build __pycache__
+URL="https://docs.espressif.com/projects/esp-protocols/esp_modem/docs/latest/en/index.html"
+RELEASES_STR=$(curl $URL | awk '/var RELEASES = \[/,/];/' | sed 's/var RELEASES = \[//' | sed 's/];$//' | tr -d '",')
+
+declare -a RELEASES=($RELEASES_STR)
+
+if [ -n "$1" ] && [ -n "${1}" ]; then
+ RELEASES+=(\'$1\')
+fi
+
+for i in "${!RELEASES[@]}"; do
+ RELEASES[i]="${RELEASES[$i]},\n"
+done
# Modifes some version and target fields of index.html
-echo "" >> html/index.html
+" | tee -a docs/generic/html/index.html > /dev/null
diff --git a/docs/esp_mqtt_cxx/generate_docs b/docs/esp_mqtt_cxx/generate_docs
index def507c5ede..7aad02a356a 100755
--- a/docs/esp_mqtt_cxx/generate_docs
+++ b/docs/esp_mqtt_cxx/generate_docs
@@ -1,21 +1,59 @@
+#!/bin/bash
+
+rm -rf docs
+
build-docs --target esp32 --language en
-cp -rf _build/en/esp32/html .
+mkdir -p docs/generic
+mv _build/en/esp32/html docs/generic
+
rm -rf _build __pycache__
+URL="https://docs.espressif.com/projects/esp-protocols/esp_mqtt_cxx/docs/latest/index.html"
+RELEASES_STR=$(curl $URL | awk '/var RELEASES = \[/,/];/' | sed 's/var RELEASES = \[//' | sed 's/];$//' | tr -d '",')
+
+declare -a RELEASES=($RELEASES_STR)
+
+if [ -n "$1" ] && [ -n "${1}" ]; then
+ RELEASES+=(\'$1\')
+fi
+
+for i in "${!RELEASES[@]}"; do
+ RELEASES[i]="${RELEASES[$i]},\n"
+done
+
+
# Modifes some version and target fields of index.html
echo "" >> html/index.html
+" | tee -a docs/generic/html/index.html > /dev/null
diff --git a/docs/esp_websocket_client/generate_docs b/docs/esp_websocket_client/generate_docs
index def507c5ede..7ee4d4b4ad4 100755
--- a/docs/esp_websocket_client/generate_docs
+++ b/docs/esp_websocket_client/generate_docs
@@ -1,21 +1,59 @@
+#!/bin/bash
+
+rm -rf docs
+
build-docs --target esp32 --language en
-cp -rf _build/en/esp32/html .
+mkdir -p docs/generic
+mv _build/en/esp32/html docs/generic
+
rm -rf _build __pycache__
+URL="https://docs.espressif.com/projects/esp-protocols/esp_websocket_client/docs/latest/index.html"
+RELEASES_STR=$(curl $URL | awk '/var RELEASES = \[/,/];/' | sed 's/var RELEASES = \[//' | sed 's/];$//' | tr -d '",')
+
+declare -a RELEASES=($RELEASES_STR)
+
+if [ -n "$1" ] && [ -n "${1}" ]; then
+ RELEASES+=(\'$1\')
+fi
+
+for i in "${!RELEASES[@]}"; do
+ RELEASES[i]="${RELEASES[$i]},\n"
+done
+
+
# Modifes some version and target fields of index.html
echo "" >> html/index.html
+" | tee -a docs/generic/html/index.html > /dev/null
diff --git a/docs/mdns/generate_docs b/docs/mdns/generate_docs
index 3ad939356f6..bdba519990b 100755
--- a/docs/mdns/generate_docs
+++ b/docs/mdns/generate_docs
@@ -1,23 +1,95 @@
+#!/bin/bash
+
+rm -rf docs
build-docs --target esp32 --language en
build-docs --target esp32 --language zh_CN
-cp -rf _build/en/esp32/html en
-cp -rf _build/zh_CN/esp32/html zh_CN
+mkdir -p docs/en
+mv _build/en/esp32/html docs/en
+mkdir -p docs/zh_CN
+mv _build/zh_CN/esp32/html docs/zh_CN
+
rm -rf _build __pycache__ tee
+URL="https://docs.espressif.com/projects/esp-protocols/mdns/docs/latest/en/index.html"
+RELEASES_STR=$(curl $URL | awk '/var RELEASES = \[/,/];/' | sed 's/var RELEASES = \[//' | sed 's/];$//' | tr -d '",')
+
+declare -a RELEASES=($RELEASES_STR)
+
+if [ -n "$1" ] && [ -n "${1}" ]; then
+ RELEASES+=(\'$1\')
+fi
+
+for i in "${!RELEASES[@]}"; do
+ RELEASES[i]="${RELEASES[$i]},\n"
+done
+
+
# Modifes some version and target fields of index.html
-echo "" | tee -a docs/en/html/index.html > /dev/null
+
+# Modifes some version and target fields of index.html
+echo "" | tee -a html_en/index.html html_zh_CN/index.html > /dev/null
+" | tee -a docs/zh_CN/html/index.html > /dev/null