code: func NewS3Site(resources string) (*S3Site, error) {
  	// We'll ensure its valid during the build step, since
  	// there could be a go:generate command in the source that
  	// actually builds it.
  	site := &S3Site{
  		resources:        resources,
  		UserManifestData: map[string]interface{}{},
  	}
  	return site, nil
  }
docs: // NewS3Site returns a new S3Site pointer initialized with the
  // static resources at the supplied path.  If resources is a directory,
  // the contents will be recursively archived and used to populate
  // the new S3 bucket.