From 1f603c1f8424931f565bc484e4f18c4cfd9eddde Mon Sep 17 00:00:00 2001 From: nick Date: Sun, 13 Nov 2022 18:15:20 -0800 Subject: [PATCH] moved new project folder over from Nix framework --- newProject.bash | 88 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 88 insertions(+) create mode 100644 newProject.bash diff --git a/newProject.bash b/newProject.bash new file mode 100644 index 0000000..05a1f24 --- /dev/null +++ b/newProject.bash @@ -0,0 +1,88 @@ +#!/bin/bash + +echo "*** Starting New Symfony Project ***" + +# TODO: check if script has already been run +# TODO: check that $1 exits +# TODO: check folder doesn't exist + +composer -v > /dev/null 2>&1 +COMPOSER=$? +if [[ $COMPOSER -ne 0 ]]; then + echo 'Composer is not installed' + echo 'Checkout how to Install Composer here: https://www.nickyeoman.com/blog/php/install-composer-on-ubuntu/' + echo 'Once installed, try running this script again' + exit 1 +else + mkdir $1 + cd $1 + composer require nickyeoman/phpframework + echo "Composer has installed nickyeoman/phpframework to $1" +fi + +################################################################################ +# Create directories +################################################################################ + +echo "Creating directories: controllers tmp public views scripts" +mkdir -p controllers tmp migrations sass scripts helpers +mkdir -p public/css public/js public/images +mkdir -p views/modules views/layout views/user + +################################################################################ +# Public Folder +################################################################################ + +echo "Creating index.php page in public directory" +cp vendor/nickyeoman/phpframework/public/index.php public/. + +echo "Adding Apache htaccess" +cp vendor/nickyeoman/phpframework/public/htaccess public/.htaccess + +################################################################################ +# Twig +################################################################################ + +echo "Creating scaffolding Twig templates in views directory" +cp vendor/nickyeoman/phpframework/twig/head.html.twig views/modules/head.html.twig +cp vendor/nickyeoman/phpframework/twig/master.html.twig views/layout/master.html.twig +cp vendor/nickyeoman/phpframework/twig/footer.html.twig views/modules/footer.html.twig +cp vendor/nickyeoman/phpframework/twig/nav.html.twig views/modules/nav.html.twig + +################################################################################ +# SASS +################################################################################ + +echo "Creating SASS directory for css" +cp vendor/nickyeoman/phpframework/sass/project.sass sass/. +touch sass/variables.sass + +################################################################################ +# Configuration +################################################################################ + +echo "Setting up sample .env in root directory. Please edit .env file for your needs." +cp vendor/nickyeoman/phpframework/env.sample .env + +################################################################################ +# Docker +################################################################################ + +echo "Creating a sample Dockerfile incase you would like to use docker with this project" +cp vendor/nickyeoman/phpframework/docker/Dockerfile Dockerfile + +################################################################################ +# Creating the first controller +################################################################################ + +bash vendor/nickyeoman/phpframework/bin/newController.bash index + +################################################################################ +# Instructions +################################################################################ + +echo "*** End New Project Script ***" + +echo "FURTHER INSTRUCTIONS: " +echo "To start a local server, edit .env file then run:" +echo "bash vendor/nickyeoman/phpframework/bin/startServer.bash"