mirror of
https://git.northern.co/onpoint-suite/drupal_yp_install_profile.git
synced 2024-10-31 17:05:32 +00:00
Merge pull request #6 from yellowpencil/start-theme-script-may-27-2021
Updated Starter Theme Script
This commit is contained in:
commit
4098513022
105
starter_theme.sh
105
starter_theme.sh
@ -1,39 +1,70 @@
|
||||
echo Would you like to install a theme using the FE Setup script? \(y/n\) Be sure not to overwrite an existing theme.
|
||||
read install_theme
|
||||
if [ $install_theme == 'y' -o $install_theme == 'Y' ]
|
||||
#!/bin/bash
|
||||
|
||||
# Setup colours for us in our output messages.
|
||||
BLACK_TXT=`tput setaf 0`
|
||||
RED_TXT=`tput setaf 1`
|
||||
GREEN_TXT=`tput setaf 2`
|
||||
YELLOW_TXT=`tput setaf 3`
|
||||
BLACK_BG=`tput setab 0`
|
||||
RED_BG=`tput setab 1`
|
||||
GREEN_BG=`tput setab 2`
|
||||
YELLOW_BG=`tput setab 3`
|
||||
RESET=`tput sgr0`
|
||||
|
||||
# Get composer version because in order to run properly this script requires
|
||||
# Composer 2. See: https://github.com/composer/composer/issues/3299.
|
||||
# Cuts will return overall composer version (ie. 1 or 2).
|
||||
COMPOSER_VERSION_COMMAND="composer --version --no-ansi | cut -d \" \" -f 3 | cut -d \".\" -f 1"
|
||||
COMPOSER_VERSION=$(eval "$COMPOSER_VERSION_COMMAND")
|
||||
if [ "$COMPOSER_VERSION" -lt 2 ]
|
||||
then
|
||||
echo What is the theme name? \(This value should be all lowercase, and will replace \'yellowpencil\' in the starter theme.\)
|
||||
read theme_name
|
||||
echo What is the URL of the project repository? \(This should follow the format \'https://git.yellowpencil.com/yellowpencil/theme-name\'.\)
|
||||
read repo_url
|
||||
SEARCH_PATH=web/themes
|
||||
SEARCH=yellowpencil
|
||||
SEARCH_R=[Yy]ellow[Pp]encil
|
||||
REPLACE=$theme_name
|
||||
REPO=$repo_url
|
||||
if [ -d "$SEARCH_PATH/$REPLACE" -a ! -h "$SEARCH_PATH/$REPLACE" ]
|
||||
then
|
||||
BLACK_BG=`tput setaf 0`
|
||||
YELLOW_TXT=`tput setab 3`
|
||||
RESET=`tput sgr0`
|
||||
echo "${YELLOW_TXT}${BLACK_BG} Theme already exists. ${RESET}";
|
||||
exit 0;
|
||||
fi
|
||||
git clone git@git.yellowpencil.com:yellowpencil/yp_drupal8_theme.git $SEARCH_PATH/$REPLACE
|
||||
mv $SEARCH_PATH/$REPLACE/yellowpencil/* $SEARCH_PATH/$REPLACE
|
||||
rm -r $SEARCH_PATH/$REPLACE/yellowpencil
|
||||
rm -rf $SEARCH_PATH/$REPLACE/.git
|
||||
rm -rf $SEARCH_PATH/$REPLACE/.gitignore
|
||||
find ${SEARCH_PATH} -type f -name "*${SEARCH}*" | while read FILENAME ; do
|
||||
NEW_FILENAME="$(echo ${FILENAME} | sed -e "s/${SEARCH}/${REPLACE}/g")";
|
||||
mv "${FILENAME}" "${NEW_FILENAME}";
|
||||
done
|
||||
find ${SEARCH_PATH} -type f -name "*.twig" -print0 | xargs -0 sed -i '' -e "s/${SEARCH_R}/${REPLACE}/g"
|
||||
find ${SEARCH_PATH} -type f -name "*.theme" -print0 | xargs -0 sed -i '' -e "s/${SEARCH_R}/${REPLACE}/g"
|
||||
find ${SEARCH_PATH} -type f -name "*.yml" -print0 | xargs -0 sed -i '' -e "s/${SEARCH_R}/${REPLACE}/g"
|
||||
find ${SEARCH_PATH} -type f -name "*.txt" -print0 | xargs -0 sed -i '' -e "s/${SEARCH_R}/${REPLACE}/g"
|
||||
PACKAGE_FILE=$(find ${SEARCH_PATH}/${REPLACE} -type f -name "package.json" -print0)
|
||||
sed -i '' -e "s/${SEARCH_R}/${REPLACE}/g" $PACKAGE_FILE
|
||||
sed -i '' -e "s,https:\/\/[^\"#]*,${REPO},g" $PACKAGE_FILE
|
||||
echo $REPO_REPLACE
|
||||
echo "${YELLOW_BG}${BLACK_TXT} Theme setup script requires Composer 2. Please note the rest of the composer install command has still be ran as expected - the theme setup is an optional step. ${RESET}";
|
||||
echo "${YELLOW_BG}${BLACK_TXT} If you are setting up a site please also note that the site installation profile will still be able to be installed. ${RESET}";
|
||||
exit 0;
|
||||
fi
|
||||
|
||||
# Check if the user actually wants to run the install script or not.
|
||||
echo "Would you like to install a theme using the starter theme front-end setup script? (${GREEN_TXT}Y${RESET}/${RED_TXT}N${RESET})";
|
||||
read install_theme
|
||||
if [ "$install_theme" != 'y' -a "$install_theme" != 'Y' ]
|
||||
then
|
||||
echo "${YELLOW_BG}${BLACK_TXT} Theme will not be setup. Please note the rest of the composer install command has still be ran as expected - the theme setup is an optional step. ${RESET}";
|
||||
echo "${YELLOW_BG}${BLACK_TXT} If you are setting up a site please also note that the site installation profile will still be able to be installed. ${RESET}";
|
||||
exit 0;
|
||||
fi
|
||||
|
||||
# fe_setup.sh script runs from here on.
|
||||
echo What is the theme name? \(This value should be all lowercase, and will replace \'yellowpencil\' in the starter theme.\)
|
||||
read theme_name
|
||||
echo What is the URL of the project repository? \(This should follow the format \'https://git.yellowpencil.com/yellowpencil/theme-name\'.\)
|
||||
read repo_url
|
||||
SEARCH_PATH=web/themes
|
||||
SEARCH=yellowpencil
|
||||
SEARCH_R=[Yy]ellow[Pp]encil
|
||||
REPLACE=$theme_name
|
||||
REPO=$repo_url
|
||||
# Check if the theme already exists and is so exit so we don't accidentally
|
||||
# overwrite anything.
|
||||
if [ -d "$SEARCH_PATH/$REPLACE" -a ! -h "$SEARCH_PATH/$REPLACE" ]
|
||||
then
|
||||
echo "${YELLOW_BG}${BLACK_TXT} Theme already exists. Please note the rest of the composer install command has still be ran as expected - the theme setup is an optional step. ${RESET}";
|
||||
echo "${YELLOW_BG}${BLACK_TXT} If you are setting up a site please also note that the site installation profile will still be able to be installed. ${RESET}";
|
||||
exit 0;
|
||||
fi
|
||||
git clone git@git.yellowpencil.com:yellowpencil/yp_drupal8_theme.git $SEARCH_PATH/$REPLACE
|
||||
mv $SEARCH_PATH/$REPLACE/yellowpencil/* $SEARCH_PATH/$REPLACE
|
||||
rm -r $SEARCH_PATH/$REPLACE/yellowpencil
|
||||
rm -rf $SEARCH_PATH/$REPLACE/.git
|
||||
rm -rf $SEARCH_PATH/$REPLACE/.gitignore
|
||||
find ${SEARCH_PATH} -type f -name "*${SEARCH}*" | while read FILENAME ; do
|
||||
NEW_FILENAME="$(echo ${FILENAME} | sed -e "s/${SEARCH}/${REPLACE}/g")";
|
||||
mv "${FILENAME}" "${NEW_FILENAME}";
|
||||
done
|
||||
find ${SEARCH_PATH} -type f -name "*.twig" -print0 | xargs -0 sed -i '' -e "s/${SEARCH_R}/${REPLACE}/g"
|
||||
find ${SEARCH_PATH} -type f -name "*.theme" -print0 | xargs -0 sed -i '' -e "s/${SEARCH_R}/${REPLACE}/g"
|
||||
find ${SEARCH_PATH} -type f -name "*.yml" -print0 | xargs -0 sed -i '' -e "s/${SEARCH_R}/${REPLACE}/g"
|
||||
find ${SEARCH_PATH} -type f -name "*.txt" -print0 | xargs -0 sed -i '' -e "s/${SEARCH_R}/${REPLACE}/g"
|
||||
PACKAGE_FILE=$(find ${SEARCH_PATH}/${REPLACE} -type f -name "package.json" -print0)
|
||||
sed -i '' -e "s/${SEARCH_R}/${REPLACE}/g" $PACKAGE_FILE
|
||||
sed -i '' -e "s,https:\/\/[^\"#]*,${REPO},g" $PACKAGE_FILE
|
||||
echo "${GREEN_TXT}The '${theme_name}' theme has been successfully created.${RESET}";
|
||||
|
||||
Loading…
Reference in New Issue
Block a user