Move to yaml-based configuration
This commit updates the configuration to be yaml-based and updates the configuration to read in a yaml file.
This commit is contained in:
parent
568c005d15
commit
945329a080
70 changed files with 1150 additions and 350 deletions
24
internal/config/validators/slug.go
Normal file
24
internal/config/validators/slug.go
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
package validators
|
||||
|
||||
import (
|
||||
"regexp"
|
||||
"strings"
|
||||
|
||||
"github.com/pkg/errors"
|
||||
)
|
||||
|
||||
var regexpSlug = regexp.MustCompile(`^[a-zA-Z0-9][-a-zA-Z0-9]*$`) // TODO: Make this regexp nicer!
|
||||
|
||||
var ErrInvalidSlug = errors.New("invalid slug")
|
||||
|
||||
// ValidateSlug validates a slug and normalizes it.
|
||||
func ValidateSlug(s *string, dflt string) error {
|
||||
if *s == "" {
|
||||
*s = dflt
|
||||
}
|
||||
*s = strings.ToLower(*s)
|
||||
if !regexpSlug.MatchString(*s) {
|
||||
return ErrInvalidSlug
|
||||
}
|
||||
return nil
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue