Sha256: 66c2a81c5b4aa5f63f8a676a7c7b81625591c5ab8a62091fe284b27b7f0afd09

Contents?: true

Size: 1.52 KB

Versions: 13

Compression:

Stored size: 1.52 KB

Contents

{{- /*
  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.

  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" -}}

{{- /* 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 -}}

  {{- /*
    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
  */ -}}

  {{- $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 -}}

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
card-mod-bootstrap-0.18.1 vendor/bootstrap/site/layouts/shortcodes/scss-docs.html
card-mod-bootstrap-0.18.0 vendor/bootstrap/site/layouts/shortcodes/scss-docs.html
card-mod-bootstrap-0.17.0 vendor/bootstrap/site/layouts/shortcodes/scss-docs.html
card-mod-bootstrap-0.16.0 vendor/bootstrap/site/layouts/shortcodes/scss-docs.html
card-mod-bootstrap-0.15.6 vendor/bootstrap/site/layouts/shortcodes/scss-docs.html
card-mod-bootstrap-0.15.5 vendor/bootstrap/site/layouts/shortcodes/scss-docs.html
card-mod-bootstrap-0.15.4 vendor/bootstrap/site/layouts/shortcodes/scss-docs.html
card-mod-bootstrap-0.15.3 vendor/bootstrap/site/layouts/shortcodes/scss-docs.html
card-mod-bootstrap-0.15.1.2 vendor/bootstrap/site/layouts/shortcodes/scss-docs.html
card-mod-bootstrap-0.15.2.pre1 vendor/bootstrap/site/layouts/shortcodes/scss-docs.html
card-mod-bootstrap-0.15.1.1 vendor/bootstrap/site/layouts/shortcodes/scss-docs.html
card-mod-bootstrap-0.15.1 vendor/bootstrap/site/layouts/shortcodes/scss-docs.html
card-mod-bootstrap-0.15.0 vendor/bootstrap/site/layouts/shortcodes/scss-docs.html