You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

70 lines
1.9 KiB

{{ $key := .page.Title }}
{{ $pages := .pages }}
{{ $count := len $pages }}
{{ $param_name := .param_name }}
{{ $param_title := .param_title }}
{{ $totalWidth := 100.0 }}
{{ $totalHeight := 50.0 }}
{{ $width := div $totalWidth 12 }}
{{ $color := "#a8c7f0" }}
{{ $strokecolor := "#d3e3f8" }}
<script>
function onyearover(year, key, count){
// alert( year + key + "!")
document.getElementById( key ).innerHTML = year + ": " + count;
}
function onyearout(key){
// alert( year + key + "!")
document.getElementById( key ).innerHTML = "<div style='color: transparent'>:</div>";
}
</script>
<svg width="{{ $totalWidth }}%" height="{{ $totalHeight }}"
xmlns="http://www.w3.org/2000/svg">
<rect height="100%" width="100%" opacity="0.1" fill="{{ $color }}"/>
{{ $month := 0 }}
{{ $actMonth := 0 }}
{{ $maxCount := 0 }}
{{ $actCount := 0 }}
{{ range $pages }}
{{ $month = dateFormat "2006-01" .Date }}
{{ if ne $month $actMonth }}
{{ $actMonth = $month }}
{{ $actCount = 0 }}
{{ end }}
{{ $actCount = add 1 $actCount }}
{{ $maxCount = add 1 $maxCount }}
{{ $month = dateFormat "2006-01" .Date }}
{{ if gt $actCount $maxCount }}
{{ $maxCount = $actCount }}
{{ end }}
{{ end }}
{{ $x := 0 }}
{{ $month := 0 }}
{{ range sort ( $pages.GroupByDate "2006-01" ) "Key" }}
{{ range first 1 .Pages }}
{{ $month = .Params.Date.Format "01" }}
{{ end }}
{{ $height := 0 }}
{{ $height = mul (float $totalHeight ) ( div (float ( len .Pages ) ) ( float $maxCount ) ) }}
{{ $x = mul ( sub ( float $month ) 1 ) $width }}
<rect onmouseover="onyearover({{ $month }}, {{ $param_title }}, {{ len .Pages }} )" onmouseout="onyearout({{ $param_title }})" height="{{ $height }}" y="{{ sub $totalHeight $height }}" x="{{ $x }}%"
width="{{ $width }}%" fill="{{ $color }}" stroke-width="1.5" stroke="{{$strokecolor}}"
class="dim"/>
{{$x }}
{{ end }}
</svg>