diff --git a/layouts/index.html b/layouts/index.html index 8b3423c..8e80053 100755 --- a/layouts/index.html +++ b/layouts/index.html @@ -1,6 +1,6 @@ {{ define "main" }} {{ partial "navigation-bar.html" ( dict "context" . "items" (slice "sports" "eventtypes" "members" "locations") )}} -
+
Der Kollege lädt ein, man trifft sich zum Radeln. @@ -9,21 +9,69 @@ {{ $total_ascent := 0 }} {{ $total_nr_of_tours := 0 }} - {{ range .Pages }} - {{ range .Pages}} - {{ $act_ascent:= int .Params.ascent_m }} - {{ $total_ascent = add $act_ascent $total_ascent }} + {{ range .Pages }} + {{ range .Pages}} + {{ $act_ascent:= int .Params.ascent_m }} + {{ $total_ascent = add $act_ascent $total_ascent }} + + {{ $act_distance:= int .Params.distance_km }} + {{ $total_distance = add $act_distance $total_distance }} + + {{ $total_nr_of_tours = add 1 $total_nr_of_tours }} + {{ end }} + {{ end }} - {{ $act_distance:= int .Params.distance_km }} - {{ $total_distance = add $act_distance $total_distance }} +
+
+
+ Touren +
+
+ {{ partial "home-summary.html" (dict "context" . "param_name" "count" ) }} +
+
+
+
+ Teilnehmer +
+
+ {{ partial "home-summary.html" (dict "context" . "param_name" "members" ) }} +
+
+
+
+ Entfernung +
+
+ {{ partial "home-summary.html" (dict "context" . "param_name" "distance_km" ) }} +
+
+
+
+ Aufstieg +
+
+ {{ partial "home-summary.html" (dict "context" . "param_name" "ascent_m" ) }} +
+
+
+ + {{ $pages := where .Site.RegularPages "Type" "in" (slice "posts") }} + + {{ $firstYear := 0 }} + {{ $lastYear := 0 }} - {{ $total_nr_of_tours = add 1 $total_nr_of_tours }} + {{ range first 1 ( sort ( $pages.GroupByDate "2006" ) "Key") }} + {{ $firstYear = .Key }} {{ end }} + + {{ range last 1 ( sort ( $pages.GroupByDate "2006" ) "Key") }} + {{ $lastYear = .Key }} {{ end }} + + Seit {{ sub ( int $lastYear ) ( int $firstYear ) }} Jahren. -

- {{ partial "statistic-summary.html" ( dict "total_nr" $total_nr_of_tours "distance" $total_distance "ascent" $total_ascent ) }} -
+
{{/* Define a section to pull recent posts from. For Hugo 0.20 this will default to the section with the most number of pages. */}} {{ $mainSections := .Site.Params.mainSections | default (slice "post") }} {{/* Create a variable with that section to use in multiple places. */}} diff --git a/layouts/partials/home-summary.html b/layouts/partials/home-summary.html new file mode 100644 index 0000000..e461ff1 --- /dev/null +++ b/layouts/partials/home-summary.html @@ -0,0 +1,137 @@ +{{ $pages := where .context.Site.RegularPages "Type" "in" (slice "posts") }} +{{ $count := len $pages }} +{{ $param_name := .param_name }} + +{{ $totalWidth := 200.0 }} +{{ $totalHeight := 150.0 }} +{{ $width := div $totalWidth ( len ( $pages.GroupByDate "2006" ) ) }} + +{{ $maxCount := 0 }} +{{ $totalCount := 0 }} +{{ $actualCount := 0 }} + +{{ $maxDistance_km := 0 }} +{{ $totalDistance_km := 0 }} +{{ $actualDistance_km := 0 }} + +{{ $maxAscent_m := 0 }} +{{ $totalAscent_m := 0 }} +{{ $actualAscent_m := 0 }} + +{{ $maxMembers := 0 }} +{{ $totalMembers := 0 }} +{{ $actualMembers := 0 }} + +{{ range sort ( $pages.GroupByDate "2006" ) "Key" }} + {{ $count := 0 }} + {{ $distance_km := 0 }} + {{ $ascent_m := 0 }} + {{ $members := 0 }} + + {{ range .Pages }} + {{ $count = add 1 $count }} + + {{ with .Params.distance_km }} + {{ $distance_km = add . $distance_km }} + {{ end }} + + {{ with .Params.ascent_m }} + {{ $ascent_m = add . $ascent_m }} + {{ end }} + + {{ with .Params.members }} + {{ $members = add ( len . ) $members }} + {{ end }} + + {{ end }} + + {{ if gt $distance_km $maxDistance_km }} + {{ $maxDistance_km = $distance_km }} + {{ end }} + + {{ if gt $ascent_m $maxAscent_m }} + {{ $maxAscent_m = $ascent_m }} + {{ end }} + + {{ if gt $count $maxCount }} + {{ $maxCount = $count }} + {{ end }} + + {{ if gt $members $maxMembers }} + {{ $maxMembers = $members }} + {{ end }} + + {{ $totalCount = add $count $totalCount }} + {{ $totalMembers = add $members $totalMembers }} + {{ $totalDistance_km = add $distance_km $totalDistance_km }} + {{ $totalAscent_m = add $ascent_m $totalAscent_m }} + + {{ $actualCount = $count }} + {{ $actualMembers = $members }} + {{ $actualDistance_km = $distance_km }} + {{ $actualAscent_m = $ascent_m }} + +{{ end }} + +{{ $value := "" }} +{{ $actualHeight := 0 }} + +{{ if eq $param_name "distance_km"}} + {{ $value = partial "func/NumberFormatter.html" ( dict "number" $totalDistance_km "precision" 0 ) }} + {{ $actualHeight = mul $actualDistance_km ( div $totalHeight $maxDistance_km ) }} +{{ end }} + +{{ if eq $param_name "ascent_m"}} + {{ $value = partial "func/NumberFormatter.html" ( dict "number" $totalAscent_m "precision" 0 ) }} + {{ $actualHeight = mul $actualAscent_m ( div $totalHeight $maxAscent_m ) }} +{{ end }} + +{{ if eq $param_name "count"}} + {{ $value = $totalCount }} + {{ $actualHeight = mul $actualCount ( div $totalHeight $maxCount ) }} +{{ end }} + +{{ if eq $param_name "members"}} + {{ $value = $totalMembers }} + {{ $actualHeight = mul $actualMembers ( div $totalHeight $maxMembers ) }} +{{ end }} + +{{ $color := "#a8c7f0" }} +{{ $fontcolor := "#123a6d" }} +{{ $fontstroke := "#e9f1fb" }} +{{ $actualColor := "#123a6d" }} + + + + + {{ $x := 0 }} + {{ range sort ( $pages.GroupByDate "2006" ) "Key" }} + + {{ $count := 0 }} + {{ $distance_km := 0 }} + + {{ range .Pages }} + + {{ with .Params.distance_km }} + {{ $distance_km = add . $distance_km }} + {{ end }} + + {{ $count = add 1 $count }} + + {{ end }} + + {{ $height := 0 }} + {{ $height = mul (float $totalHeight ) ( div (float $count ) ( float $maxCount ) ) }} + + + + {{ $x = add $x $width }} + {{ end }} + + + + {{ $value }} +