diff options
Diffstat (limited to 'vendor/twbs/bootstrap/site/layouts/shortcodes/scss-docs.html')
-rw-r--r-- | vendor/twbs/bootstrap/site/layouts/shortcodes/scss-docs.html | 46 |
1 files changed, 28 insertions, 18 deletions
diff --git a/vendor/twbs/bootstrap/site/layouts/shortcodes/scss-docs.html b/vendor/twbs/bootstrap/site/layouts/shortcodes/scss-docs.html index 16a906e77..3d1cd09a5 100644 --- a/vendor/twbs/bootstrap/site/layouts/shortcodes/scss-docs.html +++ b/vendor/twbs/bootstrap/site/layouts/shortcodes/scss-docs.html @@ -1,33 +1,43 @@ {{- /* Usage: `scss-docs name="name" file="file/_location.scss"` - Prints everything between `// scss-docs-start "name"` and `// scss-docs-end "name"` - comments in the docs. + Prints everything between `// scss-docs-start "name"` and `// scss-docs-end "name"` + comments in the docs. - Optional parameters: - strip-default: Remove the ` !default` flag from variable assignments - default: `true` + Optional parameters: + * strip-default: Remove the ` !default` flag from variable assignments - default: `true` */ -}} {{- $name := .Get "name" -}} {{- $file := .Get "file" -}} {{- $strip_default := .Get "strip-default" | default "true" -}} -{{- $start := printf "// scss-docs-start %s\n" $name -}} -{{- $end := printf "// scss-docs-end %s" $name -}} -{{- $regex := printf "%s(.|\n)*%s" $start $end -}} +{{- /* If any parameters are missing, print an error and exit */ -}} +{{- if or (not $name) (not $file) -}} + {{- errorf "%s: %q: Missing required parameters! Got: name=%q file=%q!" .Position .Name $name $file -}} +{{- else -}} + {{- $capture_start := printf "// scss-docs-start %s\n" $name -}} + {{- $capture_end := printf "// scss-docs-end %s" $name -}} + {{- $regex := printf `%s((?:.|\n)*)%s` $capture_start $capture_end -}} -{{- $css := readFile $file -}} -{{- $match := findRE $regex $css 1 -}} + {{- /* + TODO: figure out why we can't do the following and get the first group (the only capturing one)... + $regex := printf `(?:// scss-docs-start %s\n)((?:.|\n)*)(?:\n// scss-docs-end %s)` $name $name + */ -}} -{{- if (eq (len $match) 0) -}} - {{- errorf "Got no matches for %q in %q! (called in %q)" $name $file $.Page.Path -}} -{{- end -}} + {{- $match := findRE $regex (readFile $file) -}} + {{- $match = index $match 0 -}} -{{- $remove_start := replace (index $match 0) $start "" -}} -{{- $result := replace $remove_start $end "" -}} + {{- if not $match -}} + {{- errorf "%s: %q: Got no matches for name=%q in file=%q!" .Position .Name $name $file -}} + {{- end -}} -{{- if (ne $strip_default "false") -}} - {{- $result = replace $result " !default" "" -}} -{{- end -}} + {{- $match = replace $match $capture_start "" -}} + {{- $match = replace $match $capture_end "" -}} -{{- highlight $result "scss" "" -}} + {{- if (ne $strip_default "false") -}} + {{- $match = replace $match " !default" "" -}} + {{- end -}} + + {{- highlight $match "scss" "" -}} +{{- end -}} |