}
func (s *Site) writeDestAlias(path string, permalink string) (err error) {
- jww.DEBUG.Println("creating alias:", path)
+ if viper.GetBool("RelativeURLs") {
+ // convert `permalink` into URI relative to location of `path`
+ baseURL := helpers.SanitizeURLKeepTrailingSlash(viper.GetString("BaseURL"))
+ if strings.HasPrefix(permalink, baseURL) {
+ permalink = "/" + strings.TrimPrefix(permalink, baseURL)
+ }
+ permalink, err = helpers.GetRelativePath(permalink, path)
+ if err != nil {
+ jww.ERROR.Println("Failed to make a RelativeURL alias:", path, "redirecting to", permalink)
+ }
+ permalink = filepath.ToSlash(permalink)
+ }
+ jww.DEBUG.Println("creating alias:", path, "redirecting to", permalink)
return s.aliasTarget().Publish(path, permalink)
}