Documentation
¶
Index ¶
- Constants
- func GetPictureSourceList(node *html.Node) (result []string, err error)
- func NewDescriptionValidator(s StringConstraints) htmltest.Validator
- func NewHeadingValidator(s StringConstraints) htmltest.Validator
- func NewImageAltTextValidator(s StringConstraints) htmltest.Validator
- func NewLinkTextValidator(s StringConstraints) htmltest.Validator
- func NewTitleValidator(s StringConstraints) htmltest.Validator
- func TestDocumentRootHasExactlyDoctypeAndHTMLNodes(root *html.Node) func(t *testing.T)
- func ValidateDoctypeTag(node *html.Node) error
- type ImageAltTextValidator
- type Normalizer
- type NormalizerFunc
- type PageValidator
- func (r PageValidator) Test(origin string, node *html.Node) func(t *testing.T)
- func (v PageValidator) TestFile(p string) func(t *testing.T)
- func (r PageValidator) TestHead(node *html.Node) func(t *testing.T)
- func (r PageValidator) TestHeadings(node *html.Node) func(t *testing.T)
- func (r PageValidator) TestImage(origin string, node *html.Node) func(t *testing.T)
- func (r PageValidator) TestLink(origin string, node *html.Node) func(t *testing.T)
- func (r PageValidator) TestOpenGraphCard(node *html.Node) func(t *testing.T)
- func (v PageValidator) TestReader(origin string, r io.Reader) func(t *testing.T)
- func (r PageValidator) TestTwitterCard(node *html.Node) func(t *testing.T)
- func (v PageValidator) TestURL(ctx context.Context, url string) func(t *testing.T)
- type Requirements
- type StringConstraints
Constants ¶
View Source
const ( DefaultMinimumDescriptionLength = 4 DefaultMaximumDescriptionLength = 150 )
View Source
const ( DefaultMinimumHeadingLength = 4 DefaultMaximumHeadingLength = 55 )
View Source
const ( DefaultMinimumImageAltTextLength = 0 DefaultMaximumImageAltTextLength = DefaultMaximumTitleLength * 12 )
View Source
const ( DefaultMinimumLinkTextLength = 4 DefaultMaximumLinkTextLength = DefaultMaximumTitleLength * 6 )
View Source
const ( MetaOpenGraphType = "og:type" MetaOpenGraphTitle = "og:title" MetaOpenGraphDescription = "og:description" MetaOpenGraphURL = "og:url" MetaOpenGraphImage = "og:image" )
View Source
const ( DefaultMinimumTitleLength = 4 DefaultMaximumTitleLength = 55 )
View Source
const ( MetaTwitterCard = "twitter:card" MetaTwitterTitle = "twitter:title" MetaTwitterDescription = "twitter:description" MetaTwitterSite = "twitter:site" MetaTwitterURL = "twitter:url" MetaTwitterImage = "twitter:image" )
Variables ¶
This section is empty.
Functions ¶
func GetPictureSourceList ¶ added in v0.0.2
func NewDescriptionValidator ¶
func NewDescriptionValidator(s StringConstraints) htmltest.Validator
func NewHeadingValidator ¶ added in v0.0.2
func NewHeadingValidator(s StringConstraints) htmltest.Validator
func NewImageAltTextValidator ¶ added in v0.0.2
func NewImageAltTextValidator(s StringConstraints) htmltest.Validator
func NewLinkTextValidator ¶ added in v0.0.2
func NewLinkTextValidator(s StringConstraints) htmltest.Validator
func NewTitleValidator ¶
func NewTitleValidator(s StringConstraints) htmltest.Validator
func TestDocumentRootHasExactlyDoctypeAndHTMLNodes ¶ added in v0.0.2
func ValidateDoctypeTag ¶
Types ¶
type ImageAltTextValidator ¶ added in v0.0.2
type ImageAltTextValidator struct {
Normalizer Normalizer
MinimumLength int
MaximumLength int
}
func (ImageAltTextValidator) Validate ¶ added in v0.0.2
func (s ImageAltTextValidator) Validate(value string) error
type Normalizer ¶
type NormalizerFunc ¶ added in v0.0.2
var NormalizeTextToNFC NormalizerFunc = func(text string) (line string, err error) { b := strings.Builder{} for _, line = range reCollapseNewlines.Split(text, -1) { line, err = NormalizeLineToNFC(line) if err != nil { return "", err } b.WriteString(line) b.WriteString("\n\n") } return strings.TrimSuffix(b.String(), "\n\n"), nil }
var PassthroughNormalizer NormalizerFunc = func(s string) (string, error) { return s, nil }
type PageValidator ¶ added in v0.0.3
type PageValidator struct {
Title htmltest.Validator
Description htmltest.Validator
OpenGraphCardTitle htmltest.Validator
OpenGraphCardDescription htmltest.Validator
TwitterCardTitle htmltest.Validator
TwitterCardDescription htmltest.Validator
Heading htmltest.Validator
Language htmltest.Validator
URL htmltest.Validator
LinkText htmltest.Validator
ImageAltText htmltest.Validator
ImageSrc htmltest.Validator
// contains filtered or unexported fields
}
func New ¶ added in v0.0.3
func New(r Requirements) *PageValidator
func NewStrict ¶ added in v0.0.3
func NewStrict(r Requirements) *PageValidator
func (PageValidator) TestFile ¶ added in v0.0.3
func (v PageValidator) TestFile(p string) func(t *testing.T)
func (PageValidator) TestHead ¶ added in v0.0.3
func (r PageValidator) TestHead(node *html.Node) func(t *testing.T)
func (PageValidator) TestHeadings ¶ added in v0.0.3
func (r PageValidator) TestHeadings(node *html.Node) func(t *testing.T)
func (PageValidator) TestOpenGraphCard ¶ added in v0.0.3
func (r PageValidator) TestOpenGraphCard(node *html.Node) func(t *testing.T)
func (PageValidator) TestReader ¶ added in v0.0.3
func (PageValidator) TestTwitterCard ¶ added in v0.0.3
func (r PageValidator) TestTwitterCard(node *html.Node) func(t *testing.T)
type Requirements ¶
type Requirements struct {
// Normalizer is passed to all default validator constructors.
// If you are using custom validators, you should pass your
// own normalizer to each constructor manually.
//
// Default value is [PassthroughNormalizer] that does not do anything.
Normalizer Normalizer
DeduplicationNamespace string
TitleDeduplicator htmltest.Middleware
DescriptionDeduplicator htmltest.Middleware
OpenGraphCardTitleDeduplicator htmltest.Middleware
OpenGraphCardDescriptionDeduplicator htmltest.Middleware
TwitterCardTitleDeduplicator htmltest.Middleware
TwitterCardDescriptionDeduplicator htmltest.Middleware
Title htmltest.Validator
Description htmltest.Validator
Heading htmltest.Validator
Language htmltest.Validator
URL htmltest.Validator
LinkText htmltest.Validator
ImageAltText htmltest.Validator
ImageSrc htmltest.Validator
}
type StringConstraints ¶
type StringConstraints struct {
Normalizer Normalizer
MinimumLength int
MaximumLength int
}
Source Files
¶
Directories
¶
| Path | Synopsis |
|---|---|
|
cmd
|
|
|
pageseo
command
|
|
|
Package htmltest provides a set of tools for testing rendered HTML page elements.
|
Package htmltest provides a set of tools for testing rendered HTML page elements. |
|
Package slug provides functions for generating optimized URL slugs from strings.
|
Package slug provides functions for generating optimized URL slugs from strings. |
Click to show internal directories.
Click to hide internal directories.