diff options
Diffstat (limited to 'layouts')
-rw-r--r-- | layouts/_default/list.html | 28 | ||||
-rw-r--r-- | layouts/index.json | 2 | ||||
-rw-r--r-- | layouts/index.svg | 44 | ||||
-rw-r--r-- | layouts/partials/index/components.html | 8 | ||||
-rw-r--r-- | layouts/partials/js.html | 2 | ||||
-rw-r--r-- | layouts/partials/meta.html | 2 |
6 files changed, 79 insertions, 7 deletions
diff --git a/layouts/_default/list.html b/layouts/_default/list.html index b8c14c6..8d80798 100644 --- a/layouts/_default/list.html +++ b/layouts/_default/list.html @@ -18,6 +18,34 @@ {{ end }} {{ end }} + + <!-- Average downtime --> + {{ if not .Params.disableComplexCalculations }} + <p class="bold"> + <em> + {{ $resolved := first 5 (where .Pages "Params.resolved" "=" true) }} + + {{ if gt $resolved 0 }} + {{ $.Scratch.Set "counter" 0 }} + {{ range $resolved }} + + {{ $t := (time .Params.ResolvedWhen) }} + {{ $timeDiff := (sub $t.Unix .Date.Unix) }} + {{ $diffInMin := (div $timeDiff 60) }} + + {{ $.Scratch.Set "counter" (add ($.Scratch.Get "counter") $diffInMin) }} + {{ end }} + + {{ T "averageSystemsDowntime" }} + + {{ div ($.Scratch.Get "counter") (len $resolved) }} + {{ T "averageSystemsDowntimeSecondPart" }} + {{ end }} + </em> + </p> + {{ end }} + + <small class="faded">{{ len .Pages }} {{ T "entries" }}, {{ T "newestToOldest" }}</small> <div class="padding"></div> diff --git a/layouts/index.json b/layouts/index.json index ce40383..922137a 100644 --- a/layouts/index.json +++ b/layouts/index.json @@ -5,7 +5,7 @@ {{ $isDown := where $active "Params.severity" "=" "down" }} { "is": "index", - "cStateVersion": "4.0.1", + "cStateVersion": "4.1.0", "apiVersion": "1.0.0", "title": "{{ .Site.Title }}", "languageCodeHTML": "{{ .Site.LanguageCode }}", diff --git a/layouts/index.svg b/layouts/index.svg new file mode 100644 index 0000000..dbd6483 --- /dev/null +++ b/layouts/index.svg @@ -0,0 +1,44 @@ +{{ $incidents := where .Site.RegularPages "Params.section" "issue" -}} +{{ $active := where $incidents "Params.resolved" "=" false -}} +{{ $isNotice := where $active "Params.severity" "=" "notice" -}} +{{ $isDisrupted := where $active "Params.severity" "=" "disrupted" -}} +{{ $isDown := where $active "Params.severity" "=" "down" -}} +{{ $shield_prefix := .Site.Title -}} +{{ $status_text := T "thisIsOk" -}} +{{ $status_color := .Site.Params.ok -}} +{{ if $isDown -}} + {{ $status_text = T "thisIsDown" -}} + {{ $status_color = .Site.Params.down -}} +{{ else if $isDisrupted -}} + {{ $status_text = T "thisIsDisrupted" -}} + {{ $status_color = .Site.Params.disrupted -}} +{{ else if $isNotice -}} + {{ $status_text = T "thisIsNotice" -}} + {{ $status_color = .Site.Params.notice -}} +{{ end -}} +{{ $text_padding := 1 -}} +{{ $left_text_lenght := $shield_prefix | strings.RuneCount -}} +{{ $right_text_length := $status_text | strings.RuneCount -}} +{{ $left_text_padding := $text_padding -}} +{{ $right_box_padding := add (mul $text_padding 2) $left_text_lenght -}} +{{ $right_text_padding := add $right_box_padding $text_padding -}} +{{ $total_width := add (mul $text_padding 4) (add $left_text_lenght $right_text_length) -}} +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" height="2em" width="{{ $total_width }}ex" font-family="DejaVu Sans,Verdana,Geneva,sans-serif" font-size="11"> + <linearGradient id="b" x2="0" y2="100%"> + <stop offset="0" stop-color="#bbb" stop-opacity=".1"/> + <stop offset="1" stop-opacity=".1"/> + </linearGradient> + <clipPath id="a"> + <rect width="100%" height="100%" rx="3" fill="#fff"/> + </clipPath> + <g clip-path="url(#a)" fill="#fff" > + <rect x="0" y="0" width="100%" height="100%" fill="#555" /> + <rect x="{{ $right_box_padding }}ex" y="0" height="100%" width="100%" fill="{{ $status_color }}"/> + <rect x="0" y="0" width="100%" height="100%" fill="url(#b)"/> + + <text x="{{ $left_text_padding }}ex" y="15" fill="#010101" fill-opacity=".3">{{ $shield_prefix }}</text> + <text x="{{ $left_text_padding }}ex" y="14">{{ $shield_prefix }}</text> + <text x="{{ $right_text_padding }}ex" y="15" fill="#010101" fill-opacity=".3">{{ $status_text }}</text> + <text x="{{ $right_text_padding }}ex" y="14">{{ $status_text }}</text> + </g> +</svg> diff --git a/layouts/partials/index/components.html b/layouts/partials/index/components.html index 135349a..cfb1391 100644 --- a/layouts/partials/index/components.html +++ b/layouts/partials/index/components.html @@ -25,8 +25,8 @@ {{ if not .untitled }} <div class="bold padding clicky category__head" onclick="toggleCategoryHead(this)"> <span class="hide-without-js"> - <span class="category__closed-marker">⯈</span> - <span class="category__open-marker">⯆</span> + <span class="category__closed-marker">►</span> + <span class="category__open-marker">✕</span> </span> <b> @@ -60,7 +60,7 @@ <div class="component" data-status="{{ if $thisIsDown }}down{{ else }}{{ if $thisIsDisrupted }}disrupted{{ else }}{{ if $thisIsNotice }}notice{{ else }}ok{{ end }}{{ end }}{{ end }}"> <a href="/affected/{{ .name | urlize }}" class="no-underline"> - {{ .name }} + {{ default .displayName .name }} </a> {{ with .description }} @@ -98,4 +98,4 @@ </div> {{ end }} -</div>
\ No newline at end of file +</div> diff --git a/layouts/partials/js.html b/layouts/partials/js.html index 19e4a05..85f65f5 100644 --- a/layouts/partials/js.html +++ b/layouts/partials/js.html @@ -3,7 +3,7 @@ * Dev toolset */ - console.log('cState v4.0.1 - https://github.com/cstate/cstate'); + console.log('cState v4.1.0 - https://github.com/cstate/cstate'); document.getElementsByTagName('html')[0].className = 'js'; /** diff --git a/layouts/partials/meta.html b/layouts/partials/meta.html index 6311441..9abb784 100644 --- a/layouts/partials/meta.html +++ b/layouts/partials/meta.html @@ -12,7 +12,7 @@ {{ range .AlternativeOutputFormats -}} {{ printf `<link rel="%s" type="%s" href="%s" title="%s" />` .Rel .MediaType.Type .Permalink $.Site.Title | safeHTML }} {{ end -}} - <meta name="generator" content="cState v4.0.1 - https://github.com/cstate/cstate"> + <meta name="generator" content="cState v4.1.0 - https://github.com/cstate/cstate"> <meta name="theme-color" content="{{ .Site.Params.brand }}"> <script> var themeBrandColor = '{{ .Site.Params.brand }}'; |