-
Notifications
You must be signed in to change notification settings - Fork 0
/
newpres.sh
58 lines (49 loc) · 1.44 KB
/
newpres.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
#!/bin/bash
# Create and push to a new github repo for a Jekyll presentation
# based on Fredrik Eilertsen's neat work.
# You need to first clone https://github.com/fredeil/gh-presentation
# into a local git repo. This script will clone it locally and
# create a new repo (private or not) from the command line.
#
# By Geir Isene (https://isene.org/). No rights reserved.
#
# Usage: newpres.sh [-p] REPONAME [DESCRIPTION]
# Parsing the command line
[[ -z $1 ]] && echo "You must supply a repo name" && exit
if [ $1 = "-p" ]
then
REPO=$2
DESCR=$3
PRIV="true"
else
REPO=$1
DESCR=$2
PRIV="false"
fi
[[ -z $DESCR ]] && DESCR="Presentation"
# Set variables (CHANGE THESE TO FIT YOUR USERNAME AND LOCAL PATH)
USER= #mygithuUser
REPODIR= #/home/myuser/$REPO
PRESTEMPL= #/home/myuser/gh-presentation
# Create the dir, move there, copy presentation
mkdir $REPODIR
cd $REPODIR
cp -r $PRESTEMPL/* .
git init
cat >> .git/config << EOL
[remote "origin"]
url = git@github.com:$USER/$REPO.git
fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
remote = origin
merge = refs/heads/master
EOL
echo "Here we go..."
# Curl some json to the github API oh damn we so fancy
curl -u $USER https://api.github.com/user/repos -d "{\"name\": \"$REPO\", \"description\": \"Presentation\", \"private\": $PRIV, \"has_issues\": true, \"has_downloads\": true, \"has_wiki\": false}"
# Push
cd $REPODIR
rm README.md
git add *
git commit -m "Initialized"
git push