Documentation ¶
Overview ¶
Package config provides a toml-based config file parser and validation.
Index ¶
Constants ¶
View Source
const (
DefaultConfigDir = ".stentor.d"
)
Variables ¶
View Source
var ( // ErrBadHosting is the error returned if a config file references an unsupported hosting provider. ErrBadHosting = errors.New("hosting must be one of 'github' or 'gitlab'") // ErrBadMarkup is the error returned if a config file references an unsupported style of markup. ErrBadMarkup = errors.New("markup must be one of 'markdown' or 'rst'") // ErrBadSections is the error returned if a config file contains an empty sections list. ErrBadSections = errors.New("must define at least one section") // ErrMissingRepository is the error returned if a config file does not declare a repository. ErrMissingRepository = errors.New("repository is required") )
Functions ¶
func ValidateConfig ¶
ValidateConfig returns an error if c is not a valid config file.
Types ¶
type Config ¶
type Config struct { // Repository is the name of your repository in <username>/<repo name> format. Repository string `toml:"repository,omitempty"` // FragmentDir is the path to the directory holding the project's news fragments. // Defaults to '.stentor.d'. FragmentDir string `toml:"fragment_dir,omitempty" yaml:"fragment_dir,omitempty"` // Hosting is the source repository host. // When Markup is set to markdown, this also determines the markdown flavor. // Currently, github and gitlab are supported. // Defaults to github. Hosting string `toml:"hosting,omitempty"` // Markup sets the format of your changelog. // Currently, markdown and rst (ReStructuredText) are supported. // Defaults to markdown Markup string `toml:"markup,omitempty"` // Sections define the different news sections. // Sections will be listed in the order in which they are defined here. Sections []Section `toml:"sections,omitempty"` // HeaderTemplate is the name of the template used to render the header of the news file. HeaderTemplate string `toml:"header_template,omitempty"` // SectionTemplate is the name of the template used to render the individual sections of the news file. SectionTemplate string `toml:"section_template,omitempty"` // NewsFile is the name of the file to update NewsFile string `toml:"news_file,omitempty"` }
Config represents the project's configuration for stentor.
func ParseBytes ¶
ParseBytes parses bytes data into a Config.
func (Config) FragmentFiles ¶
FragmentFiles returns the names of all the fragment files.
func (Config) StartComment ¶
StartComment returns the markup-specific comment string stentor uses to separate the news file header from the releases.
type Section ¶
type Section struct { // Name of the section. Name string `toml:"name,omitempty"` // ShorName is the string used in a fragment file to indicate what section the fragment is for. ShortName string `toml:"short_name,omitempty" yaml:"short_name,omitempty"` // ShowAlways is a boolean indicating whether to show the section even if there are no news items. // This is a pointer so that we can use omitempty, and still render false values. ShowAlways *bool `toml:"show_always,omitempty" yaml:"show_always,omitempty"` }
Section represents a group of news items in a release.
Click to show internal directories.
Click to hide internal directories.