Skip to content

Commit fc9738d

Browse files
Use card partial in card shortcode (#538)
1 parent 9d213b1 commit fc9738d

3 files changed

Lines changed: 77 additions & 54 deletions

File tree

Lines changed: 20 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,42 @@
1-
{{- $class := "" }}
2-
{{- with .classcard }}{{ $class = . }}{{- end }}
1+
{{- $grid_item_card := default false .grid_item_card -}}
2+
{{- $card := .card -}}
3+
{{- $class := "" }}{{- with $card.classcard }}{{ $class = . }}{{- end }}
4+
{{- if $grid_item_card -}}
35
<div class="sd-col sd-d-flex-row">
4-
{{- with .link }}
6+
{{ with $card.link }}
57
<div class="sd-card sd-w-100 sd-shadow-sm sd-card-hover {{ $class }}">
6-
{{- else }}
8+
{{ else }}
79
<div class="sd-card sd-w-100 sd-shadow-sm {{ $class }}">
8-
{{- end }}
9-
{{- with .header }}
10+
{{ end }}
11+
{{- else -}}
12+
{{ with $card.link }}
13+
<div class="sd-card sd-mb-3 sd-shadow-sm sd-card-hover {{ $class }}">
14+
{{ else }}
15+
<div class="sd-card sd-mb-3 sd-shadow-sm {{ $class }}">
16+
{{ end }}
17+
{{- end -}}
18+
{{- with $card.header }}
1019
<div class="sd-card-header">
1120
{{ . | markdownify }}
1221
</div>
1322
{{- end }}
1423
<div class="sd-card-body">
15-
{{- with .title }}
24+
{{- with $card.title }}
1625
<div class="sd-card-title sd-font-weight-bold">
1726
{{ . }}
1827
</div>
1928
{{- end }}
20-
{{- with (trim .body "\n") }}
29+
{{- with (trim $card.body "\n") }}
2130
{{ . | markdownify }}
2231
{{- end }}
2332
</div>
24-
{{- with .footer }}
33+
{{- with $card.footer }}
2534
<div class="sd-card-footer">
2635
{{ . | markdownify }}
2736
</div>
2837
{{- end }}
29-
{{- with .link }}
38+
{{- with $card.link }}
3039
<a class="sd-stretched-link" href="{{.}}"></a>
3140
{{- end }}
3241
</div>
33-
</div>
42+
{{ if $grid_item_card -}}</div>{{- end }}

layouts/partials/_elements/grid.html

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,11 @@
1515
{{- $lg := index $columns 3 }}
1616
<div class="sd-row sd-row-cols-{{ $xs }} sd-row-cols-xs-{{ $xs }} sd-row-cols-sm-{{ $sm }} sd-row-cols-md-{{ $md }} sd-row-cols-lg-{{ $lg }} sd-g-2 sd-g-xs-{{ $xs }} sd-g-sm-{{ $sm }} sd-g-md-{{ $md }} sd-g-lg-{{ $lg }}">
1717
{{- end }}
18-
{{- range $key, $d := $items -}}
19-
{{- if eq $d.type "card" }}
20-
{{- partial "_elements/card.html" $d -}}
18+
{{- range $key, $item := $items -}}
19+
{{- if eq $item.type "card" }}
20+
{{- partial "_elements/card.html" (dict "grid_item_card" true "card" $item) -}}
2121
{{- else }}
22-
{{- partial "_elements/item.html" $d -}}
22+
{{- partial "_elements/item.html" $item -}}
2323
{{- end }}
2424
{{- end }}
2525
</div>

layouts/shortcodes/card.html

Lines changed: 53 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -1,42 +1,56 @@
1-
{{- $data := .Inner | transform.Unmarshal -}}
1+
{{/*
2+
3+
doc: Cards
4+
5+
{{< card >}}
6+
title = 'Only title'
7+
{{< /card >}}
8+
9+
{{< card >}}
10+
body = '''
11+
Only body.
12+
13+
But with multiple text paragraphs.
14+
'''
15+
{{< /card >}}
16+
17+
{{< card >}}
18+
title = 'Heading and body'
19+
body = '''
20+
Content of the third card.
21+
22+
{{< badge primary >}}Sample badge{{< /badge >}}
23+
'''
24+
{{< /card >}}
25+
26+
{{< card >}}
27+
title = 'A card with a dropdown menu'
28+
body = '''
29+
{{< dropdown >}}
30+
title = 'Click to expand dropdown'
31+
icon = 'fa-solid fa-eye'
32+
body = 'Hidden content'
33+
{{< /dropdown >}}
34+
'''
35+
{{< /card >}}
36+
37+
{{< card >}}
38+
title = 'A clickable card'
39+
link = 'https://example.com'
40+
{{< /card >}}
41+
42+
{{< card >}}
43+
header = 'Header'
44+
title = 'Card Title'
45+
body = 'Card content'
46+
footer = 'Footer'
47+
{{< /card >}}
48+
49+
*/}}
50+
51+
{{- $card := .Inner | transform.Unmarshal -}}
252
{{- with .Parent -}}
3-
<div class="sd-col sd-d-flex-row">
4-
{{ with $data.link }}
5-
<div class="sd-card sd-w-100 sd-shadow-sm sd-card-hover">
6-
{{ else }}
7-
<div class="sd-card sd-w-100 sd-shadow-sm">
8-
{{ end }}
53+
{{- partial "_elements/card.html" (dict "grid_item_card" true "card" $card) -}}
954
{{- else -}}
10-
{{ with $data.link }}
11-
<div class="sd-card sd-mb-3 sd-shadow-sm sd-card-hover">
12-
{{ else }}
13-
<div class="sd-card sd-mb-3 sd-shadow-sm">
14-
{{ end }}
55+
{{- partial "_elements/card.html" (dict "grid_item_card" false "card" $card) -}}
1556
{{- end -}}
16-
{{ with $data.header }}
17-
<div class="sd-card-header">
18-
{{ . | markdownify }}
19-
</div>
20-
{{ end }}
21-
<div class="sd-card-body">
22-
{{ with $data.title }}
23-
<div class="sd-card-title sd-font-weight-bold">
24-
{{ . }}
25-
</div>
26-
{{ end }}
27-
{{ with (trim $data.body "\n") }}
28-
{{ . | markdownify }}
29-
{{ end }}
30-
</div>
31-
{{ with $data.link }}
32-
<a class="sd-stretched-link" href="{{.}}"></a>
33-
{{ end }}
34-
{{ with $data.footer }}
35-
<div class="sd-card-footer">
36-
{{ . | markdownify }}
37-
</div>
38-
{{ end }}
39-
{{- with .Parent -}}
40-
</div>
41-
{{ end }}
42-
</div>

0 commit comments

Comments
 (0)