code: def make_projects_individual():
      template = _read_file(os.path.join(TEMPLATES, "project.html"))
      projects_dir = os.path.join(GIT_ROOT_LEVEL, "projects")
      possible_projects = os.listdir(projects_dir)
      projects = [
          pp
          for pp in possible_projects
          if os.path.exists(os.path.join(projects_dir, pp, "README.md"))
      ]
      for p in projects:
          project_dir = os.path.join(projects_dir, p)
          content = _read_file(os.path.join(project_dir, "README.md"))
          content_html = template.replace(
              "{{{CONTENT}}}", ghmarkdown(content)
          )
          content_html = content_html.replace(
              'src="',
              'src="https://raw.githubusercontent.com/facebookresearch/'
              "ParlAI/main/projects/{}".format(p + "/" if p else ""),
          )
          title = p.title().replace("_", " ")
          html = wrap_base(content_html, title)
          _write_file(os.path.join("projects", p, "index.html"), html)
  
          # if there are any static files in the project folder, copy them over
          # to the website
          files = os.listdir(project_dir)
          for fn in files:
              _, ext = os.path.splitext(fn.lower())
              if ext in STATIC_FILE_EXTS:
                  src = os.path.join(project_dir, fn)
                  nice_src = os.path.relpath(src, GIT_ROOT_LEVEL)
                  dest = os.path.join(OUT_DIR, "projects", p, fn)
                  nice_dest = os.path.relpath(dest, GIT_ROOT_LEVEL)
                  print(f"Copy {nice_src} -> {nice_dest}")
                  shutil.copyfile(src, dest)
  
file_path: ParlAI/website/generate.py
imports: import os
  import git
  import markdown
  import shutil
  from mdx_gfm import PartialGithubFlavoredMarkdownExtension
label_desc: Use image node_id 10 for calling a global function with example usage: make_projects_individual() without return types