forked from espressif/esp-protocols
		
	
		
			
				
	
	
		
			76 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			76 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
#!/bin/bash
 | 
						|
 | 
						|
# Cleanup the generated 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
 | 
						|
 | 
						|
# Generate C API header of the modem_api.h
 | 
						|
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_api_commands.h
 | 
						|
 | 
						|
 | 
						|
# RST with links to C++ API
 | 
						|
cat ../../components/esp_modem/include/generate/esp_modem_command_declare.inc | clang -E -P  -xc -I../../components/esp_modem/include -DGENERATE_DOCS -DGENERATE_RST_LINKS - | sed 's/NL/\n/g' > en/cxx_api_links.rst
 | 
						|
 | 
						|
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_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 "<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_modem/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
 |