code: func copyFile(src, dst string, relPath string, edit editFunc) error {
  	data, err := ioutil.ReadFile(src)
  	if err != nil {
  		return fmt.Errorf("failed to read source: %s", err)
  	}
  
  	if edit != nil {
  		data, err = edit(relPath, data)
  		if err != nil {
  			return fmt.Errorf("edit error: %s", err)
  		}
  
  	}
  	if data == nil {
  		return nil
  	}
  	return ioutil.WriteFile(dst, data, 0644)
  }
docs: // copyFile copies the contents of a single file to a destination.