<commit_before>#!/bin/bash

#
# @file esp8266-arudino-doc.bash
# @author <NAME> (https://github.com/igrr)
# @author <NAME> (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
# * jekyll
#
# ruby libraries:
# * redcarpet
# * rb-pygments
#
# gem install [lib]
#


# some variable definitions
arduinoESP_src=$PWD"/../"
version="$(git --work-tree=$arduinoESP_src describe --tags --always)"
release_date=$(date "+%b_%d,_%Y") # format for badge link
build_date=$(date "+%b %d, %Y")
destinaton_path="/tmp/doc"
doc_template_url="https://github.com/pgollor/esp8266-arduino-docs.git"
url="http://pgollor.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: "$destinaton_path
echo "documentatino template url: "$doc_template_url
echo "                       url: "$url

# continue?
read -e -p "Dou you wish to continue (y/n)? " -n 1 -i "y" decision
if echo "$decision" | grep -iq "^y" ;then
	echo "okay"
else
	echo "bye bye"
	exit
fi


# delete old doc dir
rm -fR $destinaton_path

# create destination directories
mkdir -p $destinaton_path/src
mkdir -p $destinaton_path/$version

# copy doc files to destination soruce dir
cp -R $arduinoESP_src/doc/* $destinaton_path/src

# download doc template
git clone $doc_template_url $destinaton_path/build


#cur_dir=$PWD
#cd $destinaton_path/build
pushd $destinaton_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 "subtitle: \"ver. $version, built on $build_date\"" >> _config_local.yml
echo "baseurl: /Arduino/versions/$version" >> _config_local.yml

# build with jekyll
jekyll build --config _config.yml,_config_local.yml

popd
#cd $cur_dir


# grab badge
wget -q -O $destinaton_path/$version/badge.svg "https://img.shields.io/badge/updated-$release_date-blue.svg"
<commit_msg>read old versions<commit_after>#!/bin/bash

#
# @file esp8266-arudino-doc.bash
# @author <NAME> (https://github.com/igrr)
# @author <NAME> (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
# * jekyll
#
# ruby libraries:
# * redcarpet
# * rb-pygments
#
# gem install [lib]
#


# some variable definitions
tmp_path=$1
arduinoESP_src="$tmp_path/arduino"
version="$(git --work-tree=$arduinoESP_src 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/pgollor/esp8266-arduino-docs.git"
url="http://pgollor.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 "documentatino template url: "$doc_template_url
echo "                       url: "$url

# continue?
read -e -p "Dou you wish to continue (y/n)? " -n 1 -i "y" 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
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 "subtitle: \"ver. $version, built on $build_date\"" >> _config_local.yml
echo "baseurl: /Arduino/versions/$version" >> _config_local.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"

{'fraction_non_alphanumeric': 0.13919268244183736, 'fraction_numerical': 0.006959634122091867, 'mean_word_length': 3.990079365079365, 'pattern_counts': {'":': 0, '<': 11, '<?xml version=': 0, '>': 23, 'https://': 8, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 2, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1664164', 'n_tokens_mistral': 1821, 'n_tokens_neox': 1715, 'n_words': 484}