shithub: hugo

Download patch

ref: bec90e085055ef96cbd6a17604cf1020c2c82f24
parent: be0c1bfe132c871d765acdb9d45a0394dd99c01d
author: bep <bjorn.erik.pedersen@gmail.com>
date: Sun May 10 14:28:47 EDT 2015

Make page 1 alias ugly

When `uglyurls = true`

Fixes #1121

--- a/helpers/path.go
+++ b/helpers/path.go
@@ -299,6 +299,22 @@
 	return name, nil
 }
 
+func PaginateAliasPath(base string, page int) string {
+	paginatePath := viper.GetString("paginatePath")
+	uglify := viper.GetBool("UglyURLs")
+	var p string
+	if base != "" {
+		p = filepath.FromSlash(fmt.Sprintf("/%s/%s/%d", base, paginatePath, page))
+	} else {
+		p = filepath.FromSlash(fmt.Sprintf("/%s/%d", paginatePath, page))
+	}
+	if uglify {
+		p += ".html"
+	}
+
+	return p
+}
+
 // GuessSection returns the section given a source path.
 // A section is the part between the root slash and the second slash
 // or before the first slash.
--- a/hugolib/site.go
+++ b/hugolib/site.go
@@ -1096,7 +1096,7 @@
 			paginatePath := viper.GetString("paginatePath")
 
 			// write alias for page 1
-			s.WriteDestAlias(fmt.Sprintf("%s/%s/%d/index.html", base, paginatePath, 1), s.permalink(base))
+			s.WriteDestAlias(helpers.PaginateAliasPath(base, 1), s.permalink(base))
 
 			pagers := n.paginator.Pagers()
 
@@ -1191,7 +1191,7 @@
 			paginatePath := viper.GetString("paginatePath")
 
 			// write alias for page 1
-			s.WriteDestAlias(filepath.FromSlash(fmt.Sprintf("/%s/%s/%d", section, paginatePath, 1)), s.permalink(section))
+			s.WriteDestAlias(helpers.PaginateAliasPath(section, 1), s.permalink(section))
 
 			pagers := n.paginator.Pagers()
 
@@ -1248,7 +1248,7 @@
 		paginatePath := viper.GetString("paginatePath")
 
 		// write alias for page 1
-		s.WriteDestAlias(filepath.FromSlash(fmt.Sprintf("/%s/%d", paginatePath, 1)), s.permalink("/"))
+		s.WriteDestAlias(helpers.PaginateAliasPath("", 1), s.permalink("/"))
 
 		pagers := n.paginator.Pagers()
 
--