Files
2018-09-13 20:49:49 +07:00

231 lines
6.6 KiB
Bash
Executable File

#!/bin/bash
# Theme setup.
# Defaults
default_name="Corporate Pro"
default_id="corporate-pro"
default_author="SEO Themes"
default_author_url="https://seothemes.com"
default_package="SEOThemes\GenesisStarterTheme"
default_url="https://genesis-starter.test"
# Directories
basedir="$( cd "$( dirname "$0" )" && pwd )/."
assetsdir="$basedir/assets"
sassdir="$basedir/assets/styles"
basedir_all_files="$basedir/."
setup_script="$basedir/setup.sh"
# Text styles
bold=$(tput bold)
white=$(tput setaf 7)
pink=$(tput setaf 198)
green=$(tput setaf 2)
blue=$(tput setaf 4)
txtreset=$(tput sgr0)
echo "${bold}${blue}
__ __
________ ____ / /_/ /_ ___ ____ ___ ___ _____
/ ___/ _ \/ __ \/ __/ __ \/ _ \/ __ '__ \/ _ \/ ___/
(__ ) ___/ /_/ / /_/ / / / __/ / / / / / ___(__ )
/____/\___/\____/\__/_/ /_/\___/_/ /_/ /_/\___/____/
${txtreset}"
# echo "${bold}
# Genesis Starter Theme
# ${txtreset}"
echo "1) Set name for your theme. (Default: $default_name)"
read name
# use default if empty
if test -n "$name"; then
echo ""
else
name=$default_name
fi
echo "2) Set unique id for your theme. Use only a-z and _. (Default: $default_id)"
read id
# use default if empty
if test -n "$id"; then
echo ""
else
id=$default_id
fi
echo "3) Set the author name for your theme. Use only a-z and _. (Default: $default_author)"
read author
# use default if empty
if test -n "$author"; then
echo ""
else
author=$default_author
fi
echo "4) Set the author URL for your theme. Use only a-z and _. (Default: $default_author_url)"
read author_url
# use default if empty
if test -n "$author_url"; then
echo ""
else
author_url=$default_author_url
fi
echo "5) Set the package name for your theme. Use only a-z and _. (Default: $default_package)"
read package
# use default if empty
if test -n "$package"; then
echo ""
else
package=$default_package
fi
echo "6) Set local development url. Note: An SSL is required to use HTTPS (Default: $default_url)"
read url
# use default if empty
if test -n "$url"; then
echo ""
else
url=$default_url
fi
while true; do
read -p "9) Is following information correct?
name: ${bold}${pink}$name${txtreset} (Default: $default_name)
id: ${bold}${pink}$id${txtreset} (Default: $default_id)
author: ${bold}${pink}$author${txtreset} (Default: $default_author)
author_url: ${bold}${pink}$author_url${txtreset} (Default: $default_author_url)
package: ${bold}${pink}$package${txtreset} (Default: $default_package)
url: ${bold}${pink}$url${txtreset} (Default: $default_url)
Proceed to install? [y/N]
" yn
case $yn in
[Yy]* ) break;;
[Nn]* ) exit;;
* ) echo "Please answer y or n.";;
esac
done
echo "
Run setup:
=========="
# ----------------------------------------------------------------
# Search & Replace Name
# ----------------------------------------------------------------
# style.css
find "$basedir" -name 'style.css' -type f -exec perl -p -i -e "s|$default_name|$name|g" {} \;
# style.scss
find "$sassdir" -name 'style.scss' -type f -exec perl -p -i -e "s|$default_name|$name|g" {} \;
# PHP files
find "$basedir_all_files" -name '*.php' -type f -exec perl -p -i -e "s|$default_name|$name|g" {} \;
# README.md
find "$basedir" -name 'README.md' -type f -exec perl -p -i -e "s|$default_name|$name|g" {} \;
# package.json
find "$basedir" -name 'package.json' -type f -exec perl -p -i -e "s|$default_name|$name|g" {} \;
echo "--> Search & replace name ... ${green}done${txtreset}"
# ----------------------------------------------------------------
# Search & Replace ID
# ----------------------------------------------------------------
# PHP files
find "$basedir_all_files" -name '*.php' -type f -exec perl -p -i -e "s|$default_id|$id|g" {} \;
# style.css
find "$basedir" -name 'style.css' -type f -exec perl -p -i -e "s|$default_id|$id|g" {} \;
# style.scss
find "$sassdir" -name 'style.scss' -type f -exec perl -p -i -e "s|$default_id|$id|g" {} \;
# package.json
find "$basedir" -name 'package.json' -type f -exec perl -p -i -e "s|$default_id|$id|g" {} \;
echo "--> Search & replace id ..... ${green}done${txtreset}"
# ----------------------------------------------------------------
# Change author
# ----------------------------------------------------------------
# PHP files
find "$basedir_all_files" -name '*.php' -type f -exec perl -p -i -e "s|$default_author|$author|g" {} \;
# style.css
find "$basedir" -name 'style.css' -type f -exec perl -p -i -e "s|$default_author|$author|g" {} \;
# style.scss
find "$sassdir" -name 'style.scss' -type f -exec perl -p -i -e "s|$default_author|$author|g" {} \;
# package.json
find "$basedir" -name 'package.json' -type f -exec perl -p -i -e "s|$default_author|$author|g" {} \;
echo "--> Change author name .............. ${green}done${txtreset}"
# ----------------------------------------------------------------
# Change author URL
# ----------------------------------------------------------------
# PHP files
find "$basedir_all_files" -name '*.php' -type f -exec perl -p -i -e "s|$default_author_url|$author_url|g" {} \;
# style.css
find "$basedir" -name 'style.css' -type f -exec perl -p -i -e "s|$default_author_url|$author_url|g" {} \;
# style.scss
find "$sassdir" -name 'style.scss' -type f -exec perl -p -i -e "s|$default_author_url|$author_url|g" {} \;
# package.json
find "$basedir" -name 'package.json' -type f -exec perl -p -i -e "s|$default_author_url|$author_url|g" {} \;
echo "--> Change author URL .............. ${green}done${txtreset}"
# ----------------------------------------------------------------
# Change package
# ----------------------------------------------------------------
# PHP files
find "$basedir_all_files" -name '*.php' -type f -exec perl -p -i -e "s|$default_package|$package|g" {} \;
# style.css
find "$basedir" -name 'style.css' -type f -exec perl -p -i -e "s|$default_package|$package|g" {} \;
# style.scss
find "$sassdir" -name 'style.scss' -type f -exec perl -p -i -e "s|$default_package|$package|g" {} \;
# package.json
find "$basedir" -name 'package.json' -type f -exec perl -p -i -e "s|$default_package|$package|g" {} \;
echo "--> Change package name .............. ${green}done${txtreset}"
# ----------------------------------------------------------------
# Change dev URL
# ----------------------------------------------------------------
# Gulpfile.js
find "$basedir" -name 'Gulpfile.js' -type f -exec perl -p -i -e "s|$default_url|$url|g" {} \;
# gulpfile.js
find "$basedir" -name 'gulpfile.js' -type f -exec perl -p -i -e "s|$default_url|$url|g" {} \;
echo "--> Change url .............. ${green}done${txtreset}"
echo "--> ${green}Setup complete!${txtreset}"
# echo "--> setup.sh removed"
# rm "$setup_script"