def new_template_options
        puts "\n  Enter a unique name to create a new template, or enter an existing templates name (or number) to duplicate it.".yellow
        input = gets.chomp.strip
        case
        when input.downcase == "b"
          jumpstart_menu
        when input.downcase == "x"
          exit_normal
        when JumpStart.existing_templates.include?(input)
          puts "\n  You have chosen to duplicate the " + input.green + " template." + "\n  Please enter a name for the duplicate.".yellow
          duplicate_template(input)
        when input.to_i != 0 && input.to_i <= JumpStart.existing_templates.count
          puts "\n  You have chosen to duplicate the " + JumpStart.existing_templates[(input.to_i - 1)].green + " template." + "\n  Please enter a name for the duplicate.".yellow
          duplicate_template(JumpStart.existing_templates[(input.to_i - 1)])
        when input.length < 3
          puts "\n  The template name ".red + input.red_bold + " is too short. Please enter a name that is at least 3 characters long.".red
          new_template_options
        when input.match(/^\W|\W$/)
          puts "\n  The template name ".red + input.red_bold + " begins or ends with an invalid character. Please enter a name that begins with a letter or a number.".red
          new_template_options
        else
          FileUtils.mkdir_p(FileUtils.join_paths(JumpStart.templates_path, input, "jumpstart_config"))
          FileUtils.cp(FileUtils.join_paths(ROOT_PATH, "source_templates/template_config.yml"), FileUtils.join_paths(JumpStart.templates_path, input, "jumpstart_config", "#{input}.yml"))
          puts "\n  The template ".green + input.green_bold + " has been created in your default jumpstart template directory ".green + JumpStart.templates_path.green_bold + " ready for editing.".green
          jumpstart_menu
        end
      end
def new_template_options
        puts "\n  Enter a unique name to create a new template, or enter an existing templates name (or number) to duplicate it.".yellow
        input = gets.chomp.strip
        case
        when input.downcase == "b"
          jumpstart_menu
        when input.downcase == "x"
          exit_normal
        when JumpStart.existing_templates.include?(input)
          puts "\n  You have chosen to duplicate the " + input.green + " template." + "\n  Please enter a name for the duplicate.".yellow
          duplicate_template(input)
        when input.to_i != 0 && input.to_i <= JumpStart.existing_templates.count
          puts "\n  You have chosen to duplicate the " + JumpStart.existing_templates[(input.to_i - 1)].green + " template." + "\n  Please enter a name for the duplicate.".yellow
          duplicate_template(JumpStart.existing_templates[(input.to_i - 1)])
        when input.length < 3
          puts "\n  The template name ".red + input.red_bold + " is too short. Please enter a name that is at least 3 characters long.".red
          new_template_options
        when input.match(/^\W|\W$/)
          puts "\n  The template name ".red + input.red_bold + " begins or ends with an invalid character. Please enter a name that begins with a letter or a number.".red
          new_template_options
        else
          FileUtils.mkdir_p(FileUtils.join_paths(JumpStart.templates_path, input, "jumpstart_config"))
          FileUtils.cp(FileUtils.join_paths(ROOT_PATH, "source_templates/template_config.yml"), FileUtils.join_paths(JumpStart.templates_path, input, "jumpstart_config", "#{input}.yml"))
          puts "\n  The template ".green + input.green_bold + " has been created in your default jumpstart template directory ".green + JumpStart.templates_path.green_bold + " ready for editing.".green
          jumpstart_menu
        end
      end
Captures user input for "create a new jumpstart template" menu and calls the appropriate action.
 If the template name provided meets the methods requirements then a directory of that name containing a jumpstart_config dir and matching yaml file are created.