Make ref and relref respect plainIdAnchors
authorbep <bjorn.erik.pedersen@gmail.com>
Wed, 21 Jan 2015 13:35:33 +0000 (14:35 +0100)
committerbep <bjorn.erik.pedersen@gmail.com>
Wed, 21 Jan 2015 13:35:33 +0000 (14:35 +0100)
Fixes #813

hugolib/page.go
hugolib/site.go

index 479aa139881035d9a476091284a9078258d99280..9373104670f7f58e060a2b34de599476f045488d 100644 (file)
@@ -78,8 +78,8 @@ type PageMeta struct {
 }
 
 type Position struct {
-       Prev *Page
-       Next *Page
+       Prev          *Page
+       Next          *Page
        PrevInSection *Page
        NextInSection *Page
 }
@@ -204,6 +204,10 @@ func (p *Page) getRenderingConfigFlags() map[string]bool {
        return flags
 }
 
+func (p *Page) isRenderingFlagEnabled(flag string) bool {
+       return p.getRenderingConfigFlags()[flag]
+}
+
 func newPage(filename string) *Page {
        page := Page{contentType: "",
                Source: Source{File: *source.NewFile(filename)},
index c7cbec4e93864bc8818dbfa5f98187f94ffa9af6..f17ff382496323d18996e0ad0f6ddea3b71da948 100644 (file)
@@ -186,9 +186,9 @@ func (s *SiteInfo) refLink(ref string, page *Page, relative bool) (string, error
        if refUrl.Fragment != "" {
                link = link + "#" + refUrl.Fragment
 
-               if refUrl.Path != "" && target != nil {
+               if refUrl.Path != "" && target != nil && !target.isRenderingFlagEnabled("plainIdAnchors") {
                        link = link + ":" + target.UniqueId()
-               } else if page != nil {
+               } else if page != nil && !page.isRenderingFlagEnabled("plainIdAnchors") {
                        link = link + ":" + page.UniqueId()
                }
        }