Browse Source
docs: Make null booleans falsy in the docs helper
pull/11954/head
Bjørn Erik Pedersen
2 years ago
Failed to extract signature
3 changed files with
18 additions and
4 deletions
-
commands/gen.go
-
docs/data/docs.yaml
-
parser/lowercase_camel_json.go
|
|
@ -195,7 +195,7 @@ url: %s |
|
|
|
configProvider := func() docshelper.DocProvider { |
|
|
|
conf := hugolib.DefaultConfig() |
|
|
|
conf.CacheDir = "" // The default value does not make sense in the docs.
|
|
|
|
defaultConfig := parser.LowerCaseCamelJSONMarshaller{Value: conf} |
|
|
|
defaultConfig := parser.NullBoolJSONMarshaller{Wrapped: parser.LowerCaseCamelJSONMarshaller{Value: conf}} |
|
|
|
return docshelper.DocProvider{"config": defaultConfig} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
@ -1076,9 +1076,9 @@ config: |
|
|
|
wrapStandAloneImageWithinParagraph: true |
|
|
|
renderHooks: |
|
|
|
image: |
|
|
|
enableDefault: null |
|
|
|
enableDefault: false |
|
|
|
link: |
|
|
|
enableDefault: null |
|
|
|
enableDefault: false |
|
|
|
renderer: |
|
|
|
hardWraps: false |
|
|
|
unsafe: false |
|
|
|
|
|
@ -25,9 +25,23 @@ import ( |
|
|
|
|
|
|
|
// Regexp definitions
|
|
|
|
var ( |
|
|
|
keyMatchRegex = regexp.MustCompile(`\"(\w+)\":`) |
|
|
|
keyMatchRegex = regexp.MustCompile(`\"(\w+)\":`) |
|
|
|
nullEnableBoolRegex = regexp.MustCompile(`\"(enable\w+)\":null`) |
|
|
|
) |
|
|
|
|
|
|
|
type NullBoolJSONMarshaller struct { |
|
|
|
Wrapped json.Marshaler |
|
|
|
} |
|
|
|
|
|
|
|
func (c NullBoolJSONMarshaller) MarshalJSON() ([]byte, error) { |
|
|
|
b, err := c.Wrapped.MarshalJSON() |
|
|
|
if err != nil { |
|
|
|
return nil, err |
|
|
|
} |
|
|
|
i := bytes.Index(b, []byte("enableDefault")) |
|
|
|
return nullEnableBoolRegex.ReplaceAll(b, []byte(`"$1": false`)), nil |
|
|
|
} |
|
|
|
|
|
|
|
// Code adapted from https://gist.github.com/piersy/b9934790a8892db1a603820c0c23e4a7
|
|
|
|
type LowerCaseCamelJSONMarshaller struct { |
|
|
|
Value any |
|
|
|