ref: 22683a3b669c06c49457c816475213fcef3e789c
parent: 76738347d39d8acb8a590e94e71985001afb7ad4
author: Sven Dowideit <[email protected]>
date: Tue Apr 19 07:40:15 EDT 2016
Make alias redirect output URL's relative Closes #2093
--- a/hugolib/site.go
+++ b/hugolib/site.go
@@ -2095,7 +2095,19 @@
}
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)
}