Skip to content

Instantly share code, notes, and snippets.

@domdoescode
Created May 30, 2011 21:21
Show Gist options
  • Save domdoescode/999490 to your computer and use it in GitHub Desktop.
Save domdoescode/999490 to your computer and use it in GitHub Desktop.
Creating a Symfony2 project, git init, and adding html5-boilerplate default awesome (in twig format)
#!/bin/bash
SYMFONY="Symfony_Standard_Vendors_2.0.0BETA3.tgz"
APPLICATION_ROOT="/var/www"
REMOTE_IP="127.0.0.1"
DB_HOST="localhost"
DB_DRIVER="pdo_pgsql"
DB_USER="test"
DB_PASSWORD="test"
echo "Please enter the company name and project name (in the format CompanyName ProjectName)"
read CN PN
APPLICATION_FOLDER="$APPLICATION_ROOT/$CN/$PN"
echo "Creating $APPLICATION_ROOT/$CN"
mkdir -p $APPLICATION_ROOT/$CN
wget http://symfony.com/download?v=$SYMFONY -O /tmp/$SYMFONY
tar -xvzf /tmp/$SYMFONY -C $APPLICATION_ROOT/$CN
rm -Rf /tmp/$SYMFONY
mv $APPLICATION_ROOT/$CN/Symfony $APPLICATION_FOLDER
wget https://github.com/paulirish/html5-boilerplate/tarball/v1.0stripped -O /tmp/html5-boilerplate.tgz
tar -xvzf /tmp/html5-boilerplate.tgz -C $APPLICATION_FOLDER/web/
rm -Rf /tmp/html5-boilerplate.tgz
mv $APPLICATION_FOLDER/web/paulirish-html5-boilerplate-177c8f9/* $APPLICATION_FOLDER/web/
mv $APPLICATION_FOLDER/web/paulirish-html5-boilerplate-177c8f9/.htaccess $APPLICATION_FOLDER/web/.htaccess_boiler
mv $APPLICATION_FOLDER/web/paulirish-html5-boilerplate-177c8f9/.* $APPLICATION_FOLDER/web/
rm -Rf $APPLICATION_FOLDER/web/paulirish-html5-boilerplate-177c8f9
sed -i "s/127.0.0.1/$REMOTE_IP/g" $APPLICATION_FOLDER/web/app_dev.php
sed -i "s/127.0.0.1/$REMOTE_IP/g" $APPLICATION_FOLDER/web/config.php
SECRET=$(cat /dev/urandom|od -N4 -An -i | openssl sha1 -binary | base64)
cat << EOF > $APPLICATION_FOLDER/app/config/parameters.ini
[parameters]
database_driver="$DB_DRIVER"
database_host="$DB_HOST"
database_name="$CN-$PN"
database_user="$DB_USER"
database_password="$DB_PASSWORD"
mailer_transport="smtp"
mailer_host="localhost"
mailer_user=""
mailer_password=""
locale="en"
secret="$SECRET"
EOF
mv $APPLICATION_FOLDER/web/index.html $APPLICATION_FOLDER/app/Resources/views/base.html.twig
sed -i "s/<title><\/title>/<title>{% block title %}Welcome!{% endblock %}<\/title>/g" $APPLICATION_FOLDER/app/Resources/views/base.html.twig
sed -i "s/\/favicon.ico/{{ asset('favicon.ico') }}/g" $APPLICATION_FOLDER/app/Resources/views/base.html.twig
awk -vn=18 -vs="{% block stylesheets %}{% endblock %}" 'NR==n{$0=s}1' $APPLICATION_FOLDER/app/Resources/views/base.html.twig > /tmp/$CN-$PN.tmp
mv /tmp/$CN-$PN.tmp $APPLICATION_FOLDER/app/Resources/views/base.html.twig
awk -vn=30 -vs="{% block body %}{% endblock %}" 'NR==n{$0=$0 s}1' $APPLICATION_FOLDER/app/Resources/views/base.html.twig > /tmp/$CN-$PN.tmp
mv /tmp/$CN-$PN.tmp $APPLICATION_FOLDER/app/Resources/views/base.html.twig
awk -vn=44 -vs="{% block javascripts %}{% endblock %}" 'NR==n{$0=s}1' $APPLICATION_FOLDER/app/Resources/views/base.html.twig > /tmp/$CN-$PN.tmp
mv /tmp/$CN-$PN.tmp $APPLICATION_FOLDER/app/Resources/views/base.html.twig
rm -Rf $APPLICATION_FOLDER/src/Acme
sed 1,13d $APPLICATION_FOLDER/app/config/routing_dev.yml > /tmp/$CN-$PN.tmp
mv /tmp/$CN-$PN.tmp $APPLICATION_FOLDER/app/config/routing_dev.yml
sed 26d $APPLICATION_FOLDER/app/AppKernel.php > /tmp/$CN-$PN.tmp
mv /tmp/$CN-$PN.tmp $APPLICATION_FOLDER/app/AppKernel.php
sed 16d $APPLICATION_FOLDER/app/autoload.php > /tmp/$CN-$PN.tmp
mv /tmp/$CN-$PN.tmp $APPLICATION_FOLDER/app/autoload.php
chmod -R g+wr $APPLICATION_FOLDER
git init $APPLICATION_FOLDER
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment