-
Notifications
You must be signed in to change notification settings - Fork 116
/
deploy.sh
135 lines (118 loc) Β· 4.51 KB
/
deploy.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
132
133
134
135
#!/bin/sh
# ============================================================== #
# Shell script to autodeploy Hexo & NexT & NexT website source.
# ============================================================== #
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin:$PATH
export PATH
# https://en.wikipedia.org/wiki/ANSI_escape_code
#red='\033[0;31m'
#green='\033[0;32m'
#brown='\033[0;33m'
#blue='\033[0;34m'
#purple='\033[0;35m'
cyan='\033[0;36m'
#lgray='\033[0;37m'
#dgray='\033[1;30m'
lred='\033[1;31m'
lgreen='\033[1;32m'
yellow='\033[1;33m'
lblue='\033[1;34m'
lpurple='\033[1;35m'
lcyan='\033[1;36m'
white='\033[1;37m'
norm='\033[0m'
bold='\033[1m'
echo
echo "=============================================================="
echo " ${yellow}Checking starting directory structure...${norm}"
echo "=============================================================="
echo "${lcyan}`pwd`${norm}"
du -sh
du -sh *
echo
echo "=============================================================="
echo " ${lgreen}Checking Node.js & NPM version...${norm}"
echo "=============================================================="
echo "${yellow}Node version:${norm} ${lcyan}`node -v`${norm}"
echo "${yellow}NPM version:${norm} ${lcyan}`npm -v`${norm}"
echo
echo "=============================================================="
echo " ${lgreen}Installing Hexo & NPM modules...${norm}"
echo "=============================================================="
npm install --silent
echo
echo "=============================================================="
echo " ${yellow}Checking Hexo version...${norm}"
echo "=============================================================="
hexo() {
# Retains stderr, but suppresses stdout.
npx hexo "$@" > /dev/null
}
hexo -v
npm ls --depth 0
echo
echo "=============================================================="
echo " ${lpurple}Generating content for Muse...${norm}"
echo "=============================================================="
hexo config url https://theme-next.js.org/muse
hexo config theme_config.scheme Muse
hexo config theme_config.sidebar.position right
hexo clean && hexo g
echo "${lred}`mv -v public muse`${norm}"
echo
echo "=============================================================="
echo " ${lpurple}Generating content for Mist...${norm}"
echo "=============================================================="
hexo config url https://theme-next.js.org/mist
hexo config theme_config.scheme Mist
hexo clean && hexo g
echo "${lred}`mv -v public mist`${norm}"
echo
echo "=============================================================="
echo " ${lpurple}Generating content for Pisces...${norm}"
echo "=============================================================="
hexo config url https://theme-next.js.org/pisces
hexo config theme_config.scheme Pisces
hexo config theme_config.sidebar.position left
hexo clean && hexo g
echo "${lred}`mv -v public pisces`${norm}"
echo
echo "=============================================================="
echo " ${lpurple}Prepairing content for Gemini...${norm}"
echo "=============================================================="
hexo config url https://theme-next.js.org
hexo config theme_config.scheme Gemini
hexo clean && hexo g
echo "${yellow}robots.txt:${norm}"
echo "User-agent: *
Disallow: /page/*/
Disallow: /archives/*
Disallow: /muse/*
Disallow: /mist/*
Disallow: /pisces/*
Host: https://theme-next.js.org" > public/robots.txt
cat public/robots.txt
echo
echo "=============================================================="
echo " ${lpurple}Moving all schemes to public directory...${norm}"
echo "=============================================================="
echo "${lred}`mv -v muse mist pisces -t public`${norm}"
echo
echo "=============================================================="
echo " ${yellow}Checking 'repo' directory structure...${norm}"
echo "=============================================================="
echo "${lcyan}`pwd`${norm}"
du -sh
du -sh *
echo
echo "=============================================================="
echo " ${yellow}Checking 'public' directory structure...${norm}"
echo "=============================================================="
cd public
echo "${lcyan}`pwd`${norm}"
du -sh
du -sh *
echo
echo "=============================================================="
echo " ${lgreen}Done. Beginning to deploy site...${norm}"
echo "=============================================================="