mirror of
https://github.com/gohugoio/hugo.git
synced 2025-04-26 21:51:02 +03:00
Add embeded template for robots.txt
This commit is contained in:
parent
7c5a1fd16b
commit
9a6dc6c791
9 changed files with 143 additions and 2 deletions
67
hugolib/robotstxt_test.go
Normal file
67
hugolib/robotstxt_test.go
Normal file
|
@ -0,0 +1,67 @@
|
|||
package hugolib
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"testing"
|
||||
|
||||
"github.com/spf13/afero"
|
||||
"github.com/spf13/hugo/helpers"
|
||||
"github.com/spf13/hugo/hugofs"
|
||||
"github.com/spf13/hugo/source"
|
||||
"github.com/spf13/viper"
|
||||
)
|
||||
|
||||
const ROBOTSTXT_TEMPLATE = `User-agent: Googlebot
|
||||
{{ range .Data.Pages }}
|
||||
Disallow: {{.RelPermalink}}
|
||||
{{ end }}
|
||||
`
|
||||
|
||||
func TestRobotsTXTOutput(t *testing.T) {
|
||||
viper.Reset()
|
||||
defer viper.Reset()
|
||||
|
||||
hugofs.DestinationFS = new(afero.MemMapFs)
|
||||
|
||||
viper.Set("baseurl", "http://auth/bub/")
|
||||
|
||||
s := &Site{
|
||||
Source: &source.InMemorySource{ByteSource: WEIGHTED_SOURCES},
|
||||
}
|
||||
|
||||
s.initializeSiteInfo()
|
||||
|
||||
s.prepTemplates()
|
||||
s.addTemplate("robots.txt", ROBOTSTXT_TEMPLATE)
|
||||
|
||||
if err := s.CreatePages(); err != nil {
|
||||
t.Fatalf("Unable to create pages: %s", err)
|
||||
}
|
||||
|
||||
if err := s.BuildSiteMeta(); err != nil {
|
||||
t.Fatalf("Unable to build site metadata: %s", err)
|
||||
}
|
||||
|
||||
if err := s.RenderHomePage(); err != nil {
|
||||
t.Fatalf("Unable to RenderHomePage: %s", err)
|
||||
}
|
||||
|
||||
if err := s.RenderSitemap(); err != nil {
|
||||
t.Fatalf("Unable to RenderSitemap: %s", err)
|
||||
}
|
||||
|
||||
if err := s.RenderRobotsTXT(); err != nil {
|
||||
t.Fatalf("Unable to RenderRobotsTXT :%s", err)
|
||||
}
|
||||
|
||||
robotsFile, err := hugofs.DestinationFS.Open("robots.txt")
|
||||
|
||||
if err != nil {
|
||||
t.Fatalf("Unable to locate: robots.txt")
|
||||
}
|
||||
|
||||
robots := helpers.ReaderToBytes(robotsFile)
|
||||
if !bytes.HasPrefix(robots, []byte("User-agent: Googlebot")) {
|
||||
t.Errorf("Robots file should start with 'User-agentL Googlebot'. %s", robots)
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue