<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def tarbell_generate(command, args, skip_args=False, extra_context=None, quiet=False):
 """ Generate static files. """


    output_root = None
    with ensure_settings(command, args) as settings, ensure_project(command, args) as site:

        if not skip_args:
            output_root = list_get(args, 0, False)

            if output_root:
                is_folder = os.path.exists(output_root)
            else:
                puts("\nYou must specify an output directory (e.g. `{0}`)".format(
                    colored.cyan("tarbell generate _out")
                ))
                sys.exit()

        if quiet:
            site.quiet = True
        
        if not output_root:
            output_root = tempfile.mkdtemp(prefix="{0}-".format(site.project.__name__))
            is_folder = False

        if args.contains('--context'):
            site.project.CONTEXT_SOURCE_FILE = args.value_after('--context')

        if args.contains('--overwrite'):
            is_folder = False

        #check to see if the folder we're trying to create already exists
        if is_folder:
            output_file = raw_input(("\nA folder named {0} already exists! Do you want to delete it? (selecting 'N' will quit) [y/N] ").format(
                output_root
            ))
            if output_file and output_file.lower() == "y":
                puts(("\nDeleting {0}...\n").format(
                    colored.cyan(output_root)
                ))
                _delete_dir(output_root)
            else:
                puts("\nNot overwriting. See ya!")
                sys.exit()

        site.generate_static_site(output_root, extra_context)
        if not quiet:
            puts("\nCreated site in {0}".format(colored.cyan(output_root)))

        return output_root