mod sc card calendar
·
2 mins read
info
Date
- Created 07-sep-2025
- Edited 13-oct-2025
Location
- Folder
layouts/shortcodes - File
card/calendar.html
- Folder
Usage
{{< card/calendar "mon-13.10.25" "25j27" "#fafd79" >}}Example
notes
13-oct-2025Addmargin-right: 2px;in.calendar-card, a.
shortcode
{{/*
Usage:
{{< card/calendar "sun-07.09.25" "/my-post/" >}}
*/}}
{{ $input := .Get 0 }}
{{ $link := .Get 1 }}
{{ $bgcolor := .Get 2 | default "#ffffff" }}
{{/* split dayname and date part */}}
{{ $parts := split $input "-" }}
{{ $dayname := upper (index $parts 0) }}
{{ $datepart := index $parts 1 }}
{{/* split dd.mm.yy */}}
{{ $dparts := split $datepart "." }}
{{ $day := index $dparts 0 }}
{{/* month string, strip leading zeros safely */}}
{{ $monthNumStr := index $dparts 1 }}
{{/* strip all leading zeros safely */}}
{{ $monthNumClean := replaceRE "^0+" "" $monthNumStr }}
{{ if eq $monthNumClean "" }}
{{ $monthNumClean = "0" }}
{{ end }}
{{ $monthNum := int $monthNumClean }}
{{ $yearShort := index $dparts 2 }}
{{ $year := printf "20%s" $yearShort }}
{{/* month abbreviation (index is zero-based, monthNum is 1-based) */}}
{{ $months := slice "Jan" "Feb" "Mar" "Apr" "May" "Jun" "Jul" "Aug" "Sep" "Oct" "Nov" "Dec" }}
{{ $monthName := "" }}
{{ if and (ge $monthNum 1) (le $monthNum 12) }}
{{ $monthName = index $months (sub $monthNum 1) }}
{{ end }}
<div class="calendar-card">
<a href="/butiran/{{- $link -}}/">
<div class="calendar-card-content" style="background: {{- $bgcolor -}};">
<div class="calendar-day">{{ $dayname }}</div>
<div class="calendar-date">{{ $day }}</div>
<div class="calendar-monthyear">{{ $monthName }} {{ $year }}</div>
</div>
</a>
</div>
<style>
.calendar-card, a {
display: inline-block;
text-decoration: none;
color: inherit;
transition: transform 0.2s ease, box-shadow 0.2s ease;
margin-top: 2px;
margin-right: 2px;
}
.calendar-card-content {
border-radius: 8px;
box-shadow: 0 2px 4px rgba(0,0,0,0.15);
width: 40px;
height: 40px;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
text-align: center;
padding: 0.5rem;
}
.calendar-card:hover {
transform: translateY(-4px);
box-shadow: 0 6px 12px rgba(0,0,0,0.25);
}
.calendar-day {
font-size: 0.6rem;
font-weight: bold;
text-transform: uppercase;
color: #555;
}
.calendar-date {
font-size: 1.3rem;
font-weight: bold;
line-height: 1.2;
}
.calendar-monthyear {
font-size: 0.6rem;
color: #777;
}
</style>