diff options
Diffstat (limited to 'markup/blackfriday/blackfriday_config/config.go')
-rw-r--r-- | markup/blackfriday/blackfriday_config/config.go | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/markup/blackfriday/blackfriday_config/config.go b/markup/blackfriday/blackfriday_config/config.go new file mode 100644 index 000000000..f26f7c570 --- /dev/null +++ b/markup/blackfriday/blackfriday_config/config.go @@ -0,0 +1,70 @@ +// Copyright 2019 The Hugo Authors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Package helpers implements general utility functions that work with +// and on content. The helper functions defined here lay down the +// foundation of how Hugo works with files and filepaths, and perform +// string operations on content. + +package blackfriday_config + +import ( + "github.com/mitchellh/mapstructure" + "github.com/pkg/errors" +) + +// Default holds the default BlackFriday config. +// Do not change! +var Default = Config{ + Smartypants: true, + AngledQuotes: false, + SmartypantsQuotesNBSP: false, + Fractions: true, + HrefTargetBlank: false, + NofollowLinks: false, + NoreferrerLinks: false, + SmartDashes: true, + LatexDashes: true, + PlainIDAnchors: true, + TaskLists: true, + SkipHTML: false, +} + +// Config holds configuration values for BlackFriday rendering. +// It is kept here because it's used in several packages. +type Config struct { + Smartypants bool + SmartypantsQuotesNBSP bool + AngledQuotes bool + Fractions bool + HrefTargetBlank bool + NofollowLinks bool + NoreferrerLinks bool + SmartDashes bool + LatexDashes bool + TaskLists bool + PlainIDAnchors bool + Extensions []string + ExtensionsMask []string + SkipHTML bool + + FootnoteAnchorPrefix string + FootnoteReturnLinkContents string +} + +func UpdateConfig(b Config, m map[string]interface{}) (Config, error) { + if err := mapstructure.Decode(m, &b); err != nil { + return b, errors.WithMessage(err, "failed to decode rendering config") + } + return b, nil +} |