-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathadd_speakers.sh
More file actions
executable file
·83 lines (62 loc) · 3.01 KB
/
add_speakers.sh
File metadata and controls
executable file
·83 lines (62 loc) · 3.01 KB
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
#!/bin/bash
set -e
# Detect OS for correct 'sed' syntax
OSNAME=`uname`
SEDCMD(){
if [[ $OSNAME == 'Linux' ]]; then
sed -i "$@"
elif [[ $OSNAME == 'Darwin' ]]; then
sed -i '' "$@"
fi
}
# Get year
read -p "Enter your event year (default: $(date +"%Y")): " year
[ -z "${year}" ] && year='2016'
# Get city
read -p "Enter your city name: " city
city_slug=$(echo $city | tr '-' ' ' | tr -dc '[:alpha:][:blank:]' | tr '[:upper:]' '[:lower:]'| tr 'āáǎàãâēéěèīíǐìōóǒòöūúǔùǖǘǚǜü' 'aaaaaaeeeeiiiiooooouuuuuuuuu' | tr ' ' '-')
# Generate event slug
event_slug=$year-$city_slug
# Create necessary directories
mkdir -p ../content/events/$event_slug/program
mkdir -p ../data/speakers/$year/$city_slug/
mkdir -p ../static/events/$event_slug/speakers
# Create empty speakers file
cp examples/speakers/speakers.md ../content/events/$event_slug/
# Set the creation date to current timestamp
datestamp=$(date +%Y-%m-%dT%H:%M:%S%z | sed 's/^\(.\{22\}\)/\1:/')
SEDCMD "s/2000-01-01T01:01:01-06:00/$datestamp/" ../content/events/$event_slug/speakers.md
# Prompt for inputting speakers
while [ 1 ]
do
echo "Entering speakers; use CTRL+C to stop..."
# Gather info
read -p "Enter speaker name: " speakername
speaker_slug=$(echo $speakername | tr -dc '[:alpha:][:blank:]' | tr '[:upper:]' '[:lower:]'| tr 'āáǎàãâēéěèīíǐìōóǒòöūúǔùǖǘǚǜü' 'aaaaaaeeeeiiiiooooouuuuuuuuu' | tr ' ' '-')
read -p "Enter speaker twitter handle (return for none): " twitter
[ -z "${twitter}" ] && twitter=''
# remove @ if they added it
twitter=$(echo $twitter | sed 's/@//')
read -p "Enter speaker bio (return for none): " bio
[ -z "${bio}" ] && bio=''
read -p "Enter speaker talk title (return for none): " title
[ -z "${title}" ] && title=''
read -p "Enter speaker talk description (return for none): " abstract
[ -z "${abstract}" ] && abstract=''
# Populate speaker data file
cp examples/speakers/speaker-full-name.yml ../data/speakers/$year/$city_slug/$speaker_slug.yml
SEDCMD "s/SPEAKERNAME/$speakername/" ../data/speakers/$year/$city_slug/$speaker_slug.yml
SEDCMD "s/SPEAKERTWITTER/$twitter/" ../data/speakers/$year/$city_slug/$speaker_slug.yml
SEDCMD "s/SPEAKERBIO/$bio/" ../data/speakers/$year/$city_slug/$speaker_slug.yml
# Set default image
cp examples/speakers/speaker-full-name.jpg ../static/events/$event_slug/speakers/$speaker_slug.jpg
# Populate talk file
cp examples/speakers/speaker-full-name.md ../content/events/$event_slug/program/$speaker_slug.md
SEDCMD "s/SPEAKERNAME/$speakername/" ../content/events/$event_slug/program/$speaker_slug.md
SEDCMD "s/SPEAKERSLUG/$speaker_slug/" ../content/events/$event_slug/program/$speaker_slug.md
SEDCMD "s/TITLE/$title/" ../content/events/$event_slug/program/$speaker_slug.md
SEDCMD "s/ABSTRACT/$abstract/" ../content/events/$event_slug/program/$speaker_slug.md
# Set the creation date to current timestamp
datestamp=$(date +%Y-%m-%dT%H:%M:%S%z | sed 's/^\(.\{22\}\)/\1:/')
SEDCMD "s/2000-01-01T01:01:01-06:00/$datestamp/" ../content/events/$event_slug/program/$speaker_slug.md
done