mirror of
				https://github.com/esp8266/Arduino.git
				synced 2025-10-30 04:26:50 +03:00 
			
		
		
		
	
		
			
				
	
	
		
			118 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			118 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #!/usr/bin/env bash
 | |
| 
 | |
| #
 | |
| # @file esp8266-arduino-doc.bash
 | |
| # @author Ivan Grokhotkov (https://github.com/igrr)
 | |
| # @author Pascal Gollor (https://github.com/pgollor)
 | |
| #
 | |
| #
 | |
| # This script build the documentation for a specific Arduino ESP8266 release version.
 | |
| #
 | |
| # Packages needed by this script:
 | |
| # * linux commands: ln, cp, mkdir, rm, wget
 | |
| # * git
 | |
| #
 | |
| # ruby gems:
 | |
| # * jekyll
 | |
| # * redcarpet
 | |
| # * rb-pygments
 | |
| #
 | |
| # gem install [lib]
 | |
| #
 | |
| 
 | |
| set -e
 | |
| 
 | |
| # some variable definitions
 | |
| tmp_path=$1
 | |
| doc_src_path=$2
 | |
| arduinoESP_src=$(cd $PWD/..; pwd)
 | |
| version="$(git --work-tree=$arduinoESP_src --git-dir=$arduinoESP_src/.git describe --tags --always)"
 | |
| release_date=$(date "+%b_%d,_%Y") # format for badge link
 | |
| build_date=$(date "+%b %d, %Y")
 | |
| destination_path="$tmp_path/doc"
 | |
| doc_template_url="https://github.com/igrr/esp8266-arduino-docs.git"
 | |
| url="http://esp8266.github.io/Arduino"
 | |
| 
 | |
| # control output
 | |
| echo "Arduino ESP8266 source dir: "$arduinoESP_src
 | |
| echo "                   version: "$version
 | |
| echo "              release date: "$release_date
 | |
| echo "                build date: "$build_date
 | |
| echo "    put documentation into: "$destination_path
 | |
| echo "documentation template url: "$doc_template_url
 | |
| echo "                       url: "$url
 | |
| 
 | |
| # continue?
 | |
| read -e -p "Dou you wish to continue (y/n)? " -n 1 decision
 | |
| if echo "$decision" | grep -iq "^y" ;then
 | |
| 	echo "okay"
 | |
| else
 | |
| 	echo "bye bye"
 | |
| 	exit
 | |
| fi
 | |
| 
 | |
| 
 | |
| # delete old doc dir
 | |
| rm -fR $destination_path
 | |
| 
 | |
| # create destination directories
 | |
| mkdir -p $destination_path/src
 | |
| mkdir -p $destination_path/$version
 | |
| 
 | |
| # copy doc files to destination soruce dir
 | |
| cp -R $arduinoESP_src/doc/* $destination_path/src
 | |
| 
 | |
| # download doc template
 | |
| rsync -av $doc_src_path/ $destination_path/build/
 | |
| # git clone $doc_template_url $destination_path/build
 | |
| 
 | |
| # create versions.html file
 | |
| 
 | |
| # ... read verions
 | |
| pushd $arduinoESP_src
 | |
| old_versions=$(git ls-tree -d --name-only remotes/origin/gh-pages versions/ | sed -e 's/versions\///g')
 | |
| popd
 | |
| 
 | |
| echo -e "\nREAD old versions:"
 | |
| 
 | |
| found_current_version="false"
 | |
| case "${old_versions[@]}" in *"$version"*) found_current_version="true" ;; esac
 | |
| 
 | |
| if [ "$found_current_version" = "false" ]; then
 | |
| 	old_versions=$version" "$old_versions
 | |
| fi
 | |
| 
 | |
| # ... fill versions.html
 | |
| for VER in $old_versions
 | |
| do
 | |
| 	echo $VER
 | |
| 	echo "<li><a href=\"versions/$VER\">$VER</a></li>" >> $destination_path/build/_includes/versions.html
 | |
| done
 | |
| echo ""
 | |
| 
 | |
| 
 | |
| # into build dir
 | |
| pushd $destination_path/build
 | |
| 
 | |
| # link documentation source
 | |
| ln -s ../src doc
 | |
| 
 | |
| # link documentation destination
 | |
| ln -s ../$version _site
 | |
| 
 | |
| # add subtitle and basurl
 | |
| echo "url: \"$url\"" > _config_local.yml
 | |
| echo "version: $version"  >> _config_local.yml
 | |
| echo "build_date: $build_date" >> _config_local.yml
 | |
| echo "baseurl: /Arduino/versions/$version" >> _config_local.yml
 | |
| mv doc/reference_items.yml _data/reference_items.yml
 | |
| 
 | |
| # build with jekyll
 | |
| jekyll build --config _config.yml,_config_local.yml
 | |
| 
 | |
| popd
 | |
| 
 | |
| 
 | |
| # grab badge
 | |
| wget -q -O $destination_path/$version/badge.svg "https://img.shields.io/badge/updated-$release_date-blue.svg"
 |