code: func relativize(from, to string) string {
  	if len(from) == 0 {
  		return to
  	}
  
  	flist := strings.Split(filepath.ToSlash(from), "/")
  	tlist := strings.Split(filepath.ToSlash(to), "/")
  
  	var (
  		divergence int
  		min        int
  	)
  
  	if lf, lt := len(flist), len(tlist); lf < lt {
  		min = lf
  	} else {
  		min = lt
  	}
  
  	for ; divergence < min; divergence++ {
  		if flist[divergence] != tlist[divergence] {
  			break
  		}
  	}
  
  	return strings.Repeat("../", len(flist)-divergence) +
  		strings.Join(tlist[divergence:], "/")
  }
docs: // relativize relatives a path from "from" to "to". For instance, note that, for
  // any paths "from" and "to", that:
  //
  //   to == filepath.Clean(filepath.Join(from, relativize(from, to)))