mirror of
https://github.com/twbs/bootstrap.git
synced 2025-02-20 17:54:23 +01:00
Tweak scss-docs shortcode
This commit is contained in:
parent
51afe026ca
commit
365d6d9fb1
@ -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 -}}
|
||||
{{- $match := findRE $regex (readFile $file) -}}
|
||||
{{- $match = index $match 0 -}}
|
||||
|
||||
{{- if not $match -}}
|
||||
{{- errorf "%s: %q: Got no matches for name=%q in file=%q!" .Position .Name $name $file -}}
|
||||
{{- end -}}
|
||||
|
||||
{{- $match = replace $match $capture_start "" -}}
|
||||
{{- $match = replace $match $capture_end "" -}}
|
||||
|
||||
{{- if (ne $strip_default "false") -}}
|
||||
{{- $match = replace $match " !default" "" -}}
|
||||
{{- end -}}
|
||||
|
||||
{{- highlight $match "scss" "" -}}
|
||||
{{- end -}}
|
||||
|
||||
{{- $remove_start := replace (index $match 0) $start "" -}}
|
||||
{{- $result := replace $remove_start $end "" -}}
|
||||
|
||||
{{- if (ne $strip_default "false") -}}
|
||||
{{- $result = replace $result " !default" "" -}}
|
||||
{{- end -}}
|
||||
|
||||
{{- highlight $result "scss" "" -}}
|
||||
|
Loading…
x
Reference in New Issue
Block a user