docs: 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