Files
esp-protocols/docs/esp_websocket_client/generate_docs
2023-05-05 18:21:18 +04:00

65 lines
1.9 KiB
Bash
Executable File

#!/bin/bash
rm -rf docs
build-docs --target esp32 --language en
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 "<script type="text/javascript">
window.onload =(function() {
var myAnchor = document.getElementById('version-select');
var mySpan = document.createElement('select');
mySpan.style.float = 'left';
var latest_ver = document.createElement('option');
latest_ver.value = 'latest';
latest_ver.textContent = 'latest(master)';
mySpan.append(latest_ver);
var RELEASES = [
$(echo -e ${RELEASES[@]})
];
for (var i = RELEASES.length - 1; i >= 0; i--) {
var current_ver = document.createElement('option');
current_ver.value = RELEASES[i];
current_ver.textContent = 'release-v'+ RELEASES[i];
mySpan.append(current_ver);
}
myAnchor.parentNode.replaceChild(mySpan, myAnchor);
mySpan.addEventListener('change', function() {
window.location.href='https://docs.espressif.com/projects/esp-protocols/esp_websocket_client/docs/'+event.target.value+'/index.html'
});
var myAnchor = document.getElementById('target-select');
var mySpan = document.createElement('input');
mySpan.style.float = 'left';
mySpan.setAttribute('type', 'text');
mySpan.setAttribute('maxLength', '10');
mySpan.value = 'all targets';
mySpan.setAttribute('disabled', true);
myAnchor.parentNode.replaceChild(mySpan, myAnchor);
})();
</script>" >> docs/generic/html/index.html