docs: def init(args):
      """Initialize a Home Documentation's folder
  
      Args:
          args (ArgumentParser): Flags from the CLI
      """
      # working directory
      dir_path = Path().absolute()
  
      if not args.project_name or args.project_name.find("/") >= 0:
          print(
              "{}You should specify a valid project name{}".format(
                  utils.colors.FAIL, utils.colors.ENDC
              )
          )
          return
  
      project_path = dir_path / args.project_name
  
      # Create the Home Documentation's directory
      if not project_path.exists():
          project_path.mkdir()
      else:
          print(
              "{}This project already exists{}".format(
                  utils.colors.FAIL, utils.colors.ENDC
              )
          )
          return
  
      # Directory with the Home Documentation's source code
      home_doc_path = project_path / "docs"
      home_doc_path.mkdir()
      help_doc_path = home_doc_path / "help"
      help_doc_path.mkdir()
  
      file_path = Path(__file__).resolve().parent / "include"
  
      # Add initial files
      copyfile(file_path / "index.md", home_doc_path / "index.md")
      copyfile(file_path / "How_To_Use_Mkinx.md", help_doc_path / "How_To_Use_Mkinx.md")
      copyfile(
          file_path / "Writing_Sphinx_Documentation.md",
          help_doc_path / "Writing_Sphinx_Documentation.md",
      )
  
      with open(file_path / "mkdocs.yml", "r") as f:
          lines = f.readlines()
  
      input_text = "What is your Documentation's name"
      input_text += " (it can be changed later in mkdocs.yml)?\n"
      input_text += "[Default: {} - Home Documentation]\n"
  
      site_name = input(input_text.format(args.project_name.capitalize()))
      if not site_name:
          site_name = "{} - Home Documentation".format(args.project_name.capitalize())
  
      lines[0] = "site_name: {}\n".format(site_name)
  
      with open(project_path / "mkdocs.yml", "w") as f:
          f.writelines(lines)
  
      example_project_path = project_path / "example_project" / "example_project"
  
      windows = "y" if sys.platform in {"win32", "cygwin"} else "n"
  
      copytree(file_path / "example_project", example_project_path)
      move(str(example_project_path / "source"), str(project_path / "example_project"))
      move(
          str(project_path / "example_project" / "example_project" / "Makefile"),
          str(project_path / "example_project"),
      )
      if windows == "y":
          move(
              str(project_path / "example_project" / "example_project" / "make.bat"),
              str(project_path / "example_project"),
          )
      else:
          os.remove(
              str(project_path / "example_project" / "example_project" / "make.bat")
          )
  
      static = project_path / "example_project" / "source"
      static /= "_static"
      if not static.exists():
          static.mkdir()
  
      _ = subprocess.check_output(
          "cd {} && mkinx build -F -A > /dev/null".format(args.project_name), shell=True
      )
  
      print(
          "\n\n",
          utils.colors.OKBLUE,
          "{}/{} created as a showcase of how mkinx works".format(
              args.project_name, "example_project"
          ),
          utils.colors.ENDC,
      )
  
      print(
          "\n",
          utils.colors.OKGREEN,
          "Success!",
          utils.colors.ENDC,
          "You can now start your Docs in ./{}\n".format(args.project_name),
          utils.colors.HEADER,
          "$ cd ./{}".format(args.project_name),
          utils.colors.ENDC,
      )
      print(
          "  Start the server from within your Docs to see them \n  (default",
          "port is 8443 but you can change it with the -s flag):",
      )
      print(
          utils.colors.HEADER,
          " {} $ mkinx serve\n".format(args.project_name),
          utils.colors.ENDC,
      )