-
Notifications
You must be signed in to change notification settings - Fork 11
/
buildpack-run.sh
58 lines (47 loc) · 1.39 KB
/
buildpack-run.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
GRAV_VERSION="1.7.26"
# Read environment variables from env file
if [[ -f "$ENV_DIR/GITHUB_AUTH_TOKEN" && -f "$ENV_DIR/GRAV_THEMES_REPOSITORY" ]]; then
GITHUB_AUTH_TOKEN=$(cat $ENV_DIR/GITHUB_AUTH_TOKEN)
GRAV_THEMES_REPOSITORY=$(cat $ENV_DIR/GRAV_THEMES_REPOSITORY)
else
echo 'Required variables not provided!'
exit 1;
fi
# Install grav
mkdir html
curl -o grav.zip -SL https://getgrav.org/download/core/grav/${GRAV_VERSION} && \
unzip grav.zip && \
mv -T grav html && \
rm grav.zip
cd html
# Replace default pages and config
rm -rf ./user/config
rm -rf ./user/pages
mv ../config ./user/config
mv ../pages ./user/pages
# Download and replace themes
rm -rf ./user/themes
mkdir temp && \
curl -H "Authorization: token $GITHUB_AUTH_TOKEN" -L "$GRAV_THEMES_REPOSITORY" | \
tar -xz --strip-components=1 -C temp && \
mv ./temp/themes ./user/themes && \
mv ./temp/shortcodes ./user/shortcodes && \
mv ./temp/webpack/webpack.config.js ./user/webpack.config.js && \
mv ./temp/webpack/package.json ./user/package.json && \
rm -rf temp
chmod a+rwx -R ./user
# Install plugins
bin/gpm install breadcrumbs
bin/gpm install external_links
bin/gpm install featherlight
bin/gpm install page-toc
bin/gpm install shortcode-core
bin/gpm install tntsearch
bin/gpm install svg-extension
# Create search index
bin/plugin tntsearch index
chmod a+rwx -R ./cache
# Build js and css
cd ./user
npm i
npm run build