]> git.ipfire.org Git - thirdparty/bootstrap.git/commitdiff
Example shortcode: use a regex and simplify logic.
authorChristopher Morrissey <morrissey@ingenious.org>
Fri, 6 Sep 2019 15:35:43 +0000 (18:35 +0300)
committerXhmikosR <xhmikosr@gmail.com>
Mon, 4 Nov 2019 13:32:29 +0000 (15:32 +0200)
site/layouts/shortcodes/example.html

index a13cccca4cc19fbf6b2c5500d514738de472d97f..22b3906ee2cc34438d7ed972b6f81946845b85e8 100644 (file)
 {{- end -}}
 
 {{- if eq $show_markup true -}}
-  {{- $.Scratch.Set "highlight_content" $input -}}
-
-  {{- if (strings.Contains $input `<svg class="bd-placeholder-img`) -}}
-    {{- $.Scratch.Set "highlight_content" "" -}}
-
-    {{- $modified_content := replace $input `<svg class="bd-placeholder-img` `✂️<svg class="bd-placeholder-img` -}}
-    {{- $modified_content = replace $modified_content "</svg>\n" "</svg>✂️" -}}
-    {{- $modified_content = split $modified_content "✂️" -}}
-
-    {{- range $content_chunk := $modified_content -}}
-      {{- $image_class := "" -}}
-
-      {{- if (strings.Contains $content_chunk `<svg class="bd-placeholder-img `) -}}
-        {{- $image_class = replace $content_chunk "bd-placeholder-img " "bd-placeholder-img ✂️ " -}}
-        {{- $image_class = split (replace $image_class `" width="` `✂️" width="`) "✂️" -}}
-        {{- $image_class = replace (index $image_class 1) "bd-placeholder-img-lg" "" -}}
-        {{- $image_class = trim $image_class " " -}}
-      {{- end -}}
-
-      {{- if (strings.Contains $content_chunk `<svg class="bd-placeholder-img`) -}}
-        {{- if $image_class -}}
-          {{- $.Scratch.Add "highlight_content" (printf `<img src="..." class="%s" alt="...">` $image_class) -}}
-        {{- else -}}
-          {{- $.Scratch.Add "highlight_content" `<img src="..." alt="...">` -}}
-        {{- end -}}
-      {{- else -}}
-        {{- $.Scratch.Add "highlight_content" $content_chunk -}}
-      {{- end -}}
-    {{- end -}}
-  {{- end -}}
-
-  {{- highlight (trim ($.Scratch.Get "highlight_content") "\n") "html" "" -}}
+  {{- $content := replaceRE `<svg.*class=.bd\-placeholder\-img(?:\-lg)?(?:\s*?bd\-placeholder\-img\-lg)?\s?(.*?)".*?<\/svg>\n` `<img src="..." class="$1" alt="..." >` $input -}}
+  {{- $content = replaceRE `(class="\s*?")` `` $content -}}
+  {{- highlight (trim $content `\n`) `html` `` -}}
 {{- end -}}