docs: def tarbell_serve(command, args):
      """
      Serve the current Tarbell project.
      """
      with ensure_project(command, args) as site:
          with ensure_settings(command, args) as settings:
              address = list_get(args, 0, "").split(":")
              ip = list_get(address, 0, settings.config['default_server_ip'])
              port = int(list_get(address, 1, settings.config['default_server_port']))
  
          puts("\n * Running local server. Press {0} to stop the server".format(colored.red("ctrl-c")))
          puts(" * Edit this project's templates at {0}".format(colored.yellow(site.path)))
          try:
              if not is_werkzeug_process():
                  site.call_hook("server_start", site)
  
              site.app.run(ip, port=port)
  
              if not is_werkzeug_process():
                  site.call_hook("server_stop", site)
  
          except socket.error:
              show_error("Address {0} is already in use, please try another port or address."
                   .format(colored.yellow("{0}:{1}".format(ip, port))))