This repository has been archived by the owner on Sep 6, 2021. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 1
/
newtheme.sh
executable file
·131 lines (119 loc) · 6.91 KB
/
newtheme.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
#!/bin/bash
# Theme starting bash script by rolle (github.com/ronilaukkarinen & github.com/digitoimistodude)
txtbold=$(tput bold)
boldyellow=${txtbold}$(tput setaf 3)
boldgreen=${txtbold}$(tput setaf 2)
boldwhite=${txtbold}$(tput setaf 7)
yellow=$(tput setaf 3)
green=$(tput setaf 2)
white=$(tput setaf 7)
txtreset=$(tput sgr0)
while true; do
read -p "${boldyellow}Project created? (y/n)${txtreset} " yn
case $yn in
[Yy]* ) break;;
[Nn]* ) exit;;
* ) echo "Please answer y or n.";;
esac
done
# TODO:
# read -p "${boldyellow}Tuleeko teemaan asia X? (y/n)${txtreset} " CONT
# if [ "$CONT" == "y" ]; then
# echo "yaaa";
# else
# echo "booo";
# fi
echo "${boldyellow}Project name in lowercase:${txtreset} "
read -e PROJECTNAME
echo "${boldyellow}Theme name in lowercase (no spaces or special characters):${txtreset} "
read -e THEMENAME
PROJECTPATH="${HOME}/Projects/${PROJECTNAME}"
STARTERTHEMEPATH="${HOME}/dudestarter"
PROJECTTHEMEPATH="${HOME}/Projects/${PROJECTNAME}/content/themes/${THEMENAME}"
echo "${yellow}Checking dudestarter updates...${txtreset}"
cd $HOME
git clone [email protected]:digitoimistodude/dudestarter.git
cd $STARTERTHEMEPATH
git pull
echo "${yellow}Copying starter theme to project folder ${HOME}/Projects/${PROJECTNAME}/content/themes/${THEMENAME}${txtreset}"
cp -R ${STARTERTHEMEPATH} ${PROJECTTHEMEPATH}
echo "${yellow}Generating theme files${txtreset}"
sed -e "s/\THEMENAME/$THEMENAME/" ${STARTERTHEMEPATH}/404.php > ${PROJECTTHEMEPATH}/404.php
echo "${boldgreen}404.php generated${txtreset}"
sed -e "s/\THEMENAME/$THEMENAME/" -e "s/\THEMENAME/$THEMENAME/" -e "s/\THEMENAME/$THEMENAME/" ${STARTERTHEMEPATH}/archive.php > ${PROJECTTHEMEPATH}/archive.php
echo "${boldgreen}archive.php generated${txtreset}"
sed -e "s/\THEMENAME/$THEMENAME/" ${STARTERTHEMEPATH}/comments.php > ${PROJECTTHEMEPATH}/comments.php
echo "${boldgreen}comments.php generated${txtreset}"
sed -e "s/\THEMENAME/$THEMENAME/" -e "s/\THEMENAME/$THEMENAME/" -e "s/\THEMENAME/$THEMENAME/" ${STARTERTHEMEPATH}/footer.php > ${PROJECTTHEMEPATH}/footer.php
echo "${boldgreen}footer.php generated${txtreset}"
sed -e "s/\THEMENAME/$THEMENAME/" ${STARTERTHEMEPATH}/header.php > ${PROJECTTHEMEPATH}/header.php
echo "${boldgreen}header.php generated${txtreset}"
sed -e "s/\THEMENAME/$THEMENAME/" ${STARTERTHEMEPATH}/index.php > ${PROJECTTHEMEPATH}/index.php
echo "${boldgreen}index.php generated${txtreset}"
sed -e "s/\THEMENAME/$THEMENAME/" ${STARTERTHEMEPATH}/page.php > ${PROJECTTHEMEPATH}/page.php
echo "${boldgreen}page.php generated${txtreset}"
sed -e "s/\THEMENAME/$THEMENAME/" ${STARTERTHEMEPATH}/search.php > ${PROJECTTHEMEPATH}/search.php
echo "${boldgreen}search.php generated${txtreset}"
sed -e "s/\THEMENAME/$THEMENAME/" ${STARTERTHEMEPATH}/sidebar.php > ${PROJECTTHEMEPATH}/sidebar.php
echo "${boldgreen}sidebar.php generated${txtreset}"
sed -e "s/\THEMENAME/$THEMENAME/" ${STARTERTHEMEPATH}/front-page.php > ${PROJECTTHEMEPATH}/front-page.php
echo "${boldgreen}front-page.php generated${txtreset}"
sed -e "s/\THEMENAME/$THEMENAME/" ${STARTERTHEMEPATH}/single.php > ${PROJECTTHEMEPATH}/single.php
echo "${boldgreen}single.php generated${txtreset}"
sed -e "s/\THEMENAME/$THEMENAME/" ${STARTERTHEMEPATH}/functions.php > ${PROJECTTHEMEPATH}/functions.php
echo "${boldgreen}functions.php generated${txtreset}"
sed -e "s/\THEMENAME/$THEMENAME/" ${STARTERTHEMEPATH}/style.css > ${PROJECTTHEMEPATH}/style.css
echo "${boldgreen}style.css generated${txtreset}"
sed -e "s/\THEMENAME/$THEMENAME/" ${STARTERTHEMEPATH}/template-parts/content.php > ${PROJECTTHEMEPATH}/template-parts/content.php
echo "${boldgreen}content.php generated${txtreset}"
sed -e "s/\THEMENAME/$THEMENAME/" ${STARTERTHEMEPATH}/template-parts/content-none.php > ${PROJECTTHEMEPATH}/template-parts/content-none.php
echo "${boldgreen}content-none.php generated${txtreset}"
sed -e "s/\THEMENAME/$THEMENAME/" ${STARTERTHEMEPATH}/template-parts/content-page.php > ${PROJECTTHEMEPATH}/template-parts/content-page.php
echo "${boldgreen}content-page.php generated${txtreset}"
sed -e "s/\THEMENAME/$THEMENAME/" ${STARTERTHEMEPATH}/template-parts/content-search.php > ${PROJECTTHEMEPATH}/template-parts/content-search.php
echo "${boldgreen}content-search.php generated${txtreset}"
sed -e "s/\THEMENAME/$THEMENAME/" ${STARTERTHEMEPATH}/template-parts/content-single.php > ${PROJECTTHEMEPATH}/template-parts/content-single.php
echo "${boldgreen}content-single.php generated${txtreset}"
echo "${yellow}Setting up package.json & gulpfile.js from devpackages github${txtreset}"
cd ${PROJECTPATH}
git clone [email protected]:digitoimistodude/devpackages.git
echo "${yellow}Generating package.json from [email protected]:digitoimistodude/devpackages.git${txtreset}"
sed -e "s/\PROJECTNAME/$PROJECTNAME/" -e "s/\PROJECTNAME/$PROJECTNAME/" -e "s/\PROJECTNAME/$PROJECTNAME/" $PROJECTPATH/devpackages/package.json > "$PROJECTPATH/package.json"
echo "${yellow}Installing and updating local node.js packages (may take a while)${txtreset}"
cd "$HOME/Projects/$PROJECTNAME"
npm-check-updates -u
sudo npm install
echo "${yellow}Generating gulpfile.js from [email protected]:digitoimistodude/devpackages.git${txtreset}"
sed -e "s/\THEMENAME/$THEMENAME/" -e "s/\THEMENAME/$THEMENAME/" -e "s/\THEMENAME/$THEMENAME/" $PROJECTPATH/devpackages/gulpfile.js > $PROJECTPATH/gulpfile_temp.js
sed -e "s/\PROJECTNAME/$PROJECTNAME/" -e "s/\PROJECTNAME/$PROJECTNAME/" -e "s/\PROJECTNAME/$PROJECTNAME/" $PROJECTPATH/gulpfile_temp.js > $PROJECTPATH/gulpfile.js
echo "${yellow}Generating bower.json from [email protected]:digitoimistodude/devpackages.git${txtreset}"
cp $PROJECTPATH/devpackages/.bowerrc $PROJECTPATH/
sed -e "s/\THEMENAME/$THEMENAME/" -e "s/\THEMENAME/$THEMENAME/" -e "s/\THEMENAME/$THEMENAME/" $PROJECTPATH/devpackages/bower.json > $PROJECTPATH/bower_temp.json
sed -e "s/\PROJECTNAME/$PROJECTNAME/" -e "s/\PROJECTNAME/$PROJECTNAME/" -e "s/\PROJECTNAME/$PROJECTNAME/" $PROJECTPATH/bower_temp.json > $PROJECTPATH/bower.json
echo "${yellow}Installing bower packages...${txtreset}"
cd ${PROJECTPATH}
bower install
echo "${yellow}Cleaning up...${txtreset}"
rm -rf $PROJECTPATH/devpackages
rm -f $PROJECTPATH/gulpfile_temp.js
rm -f $PROJECTPATH/bower_temp.json
rm -f ${PROJECTTHEMEPATH}/config.codekit
rm -f ${PROJECTTHEMEPATH}/test.php
rm -f ${PROJECTTHEMEPATH}/test2.php
rm -f ${PROJECTTHEMEPATH}/test.sh
rm -f ${PROJECTTHEMEPATH}/newtheme.sh
rm -Rf ${PROJECTTHEMEPATH}/.git
rm -f ${PROJECTTHEMEPATH}/.gitignore
rm -f ${PROJECTTHEMEPATH}/TODO.todo
rm -f ${PROJECTTHEMEPATH}/images/logo.psd
rm ${PROJECTTHEMEPATH}/README.md
rm ${PROJECTTHEMEPATH}/LICENSE.md
echo "${yellow}Adding media library folder...${txtreset}"
mkdir -p ${PROJECTPATH}/media
chmod 777 ${PROJECTPATH}/media
echo "${yellow}Activating theme...${txtreset}"
cd ${PROJECTPATH}
ssh [email protected] "cd /var/www/$PROJECTNAME/;vendor/wp-cli/wp-cli/bin/wp theme activate $THEMENAME"
# The old MAMP way:
# ./wp-cli/wp theme activate $THEMENAME
echo "${boldgreen}All done! Theme generated and activated. Your theme can be found at $PROJECTTHEMEPATH${txtreset}"