{{ define "title" }} {{ .Page.Title | plainify }} | {{ .Site.Title }} {{ end }} {{ define "main-class" }} {{- if .IsDescendant ( .GetPage "/cv/organisations" ) -}}--single{{- else -}}--section{{- end }} layouts-cv-section {{ end }} {{ define "header-scripts" }} {{ if ( or ( eq .Type "cv" ) ( .IsDescendant ( .GetPage "/cv/organisations" ) ) ) }} <script id="Google-Charts-script" src="/js/google-charts.js"></script> {{ end }} {{ end }} {{ define "footer-scripts" }} {{ if .IsDescendant ( .GetPage "/cv/organisations" ) }} {{ $titles := .Scratch.Get "titles" }} <script> google.charts.load('current', {'packages':['timeline']}); google.charts.setOnLoadCallback(drawChart); function drawChart() { var container = document.getElementById('timeline'); var chart = new google.visualization.Timeline(container); var dataTable = new google.visualization.DataTable(); dataTable.addColumn({ type: 'string', id: 'Type' }); dataTable.addColumn({ type: 'string', id: 'Job Title' }); dataTable.addColumn({ type: 'string', id: 'style', role: 'style' }); dataTable.addColumn({ type: 'date', id: 'Start' }); dataTable.addColumn({ type: 'date', id: 'End' }); dataTable.addRows([ {{- $unpaid_past := "#FFFFF0" -}} {{- $paid_past := "#FCFCA6" -}} {{- $unpaid_current := "#BBBBB0" -}} {{- $paid_current := "#BCBC7E" -}} {{ with ( .GetPage "cv/roles" ).Pages -}} {{- range ( where . ".Params.organisations" "intersect" $titles ) -}} {{- if ( not ( and ( .Params.redact ) ( ne $.Site.Params.redact "show" ) ) ) -}} [ " {{- with .Params.organisations -}} {{- $.Scratch.Set "parents" ( slice ) -}} {{- range . -}} {{- range ( where ( where $.Site.Pages "Type" "cv" ) "Title" . ) -}} {{- if ( and ( .Params.redact ) ( ne $.Site.Params.redact "show" ) ) -}} {{- if ( eq $.Site.Params.redact "black" ) -}} {{- $.Scratch.Set "parents" ( $.Scratch.Get "parents" | append "███████████████" ) -}} {{- end -}} {{- else -}} {{- $.Scratch.Set "parents" ( $.Scratch.Get "parents" | append ( .Title | plainify ) ) -}} {{- end -}} {{- else -}} {{ erroridf "missing-organisation" "Could not find organisation %q (%q)" . $.File.Path }} {{- end -}} {{- end -}} {{- delimit ( $.Scratch.Get "parents" ) ", " -}} {{- $.Scratch.Delete "parents" -}} {{- end -}} ", " {{- if ( and ( .Params.redact ) ( ne $.Site.Params.redact "show" ) ) -}} {{- if ( eq $.Site.Params.redact "black" ) -}} ███████████████ {{- end -}} {{- else -}} {{- .Title | plainify -}} {{- end -}} ", "{{ if .Params.end_date -}} {{- if .Params.paid -}} {{- $paid_past -}} {{- else -}} {{- $unpaid_past -}} {{- end -}} {{- else -}} {{- if .Params.paid -}} {{- $paid_current -}} {{- else -}} {{- $unpaid_current -}} {{- end -}} {{- end }}", new Date("{{ .Date.Format "2006-01-02" }}"), new Date(" {{- if .Params.end_date -}} {{- .Params.end_date -}} {{- else -}} {{- now.Format "2006-01-02" -}} {{- end -}} ") ], {{- end -}} {{- end -}} {{ end -}} ]); var options = { title: '{{ .Title | plainify }} Roles Timeline', height: '100%', chartArea: { width: '94%' }, width: '100%', timeline: { showBarLabels: true } }; chart.draw(dataTable, options); } </script> {{ else }} {{ $js := resources.Get "js/roles-chart.js" | resources.ExecuteAsTemplate "/js/render-roles-timeline.js" ( .GetPage "cv/roles" ) | resources.Fingerprint }} <script src="{{ $js.RelPermalink }}" integrity="{{ $js.Data.Integrity }}"></script> {{ end }} {{ end }} {{ define "main-header" }} {{ if .IsDescendant ( .GetPage "/cv/organisations" ) }} <header class="site-content__header"> <div class="article-header__featured-image" {{ if .Params.featured_image }} {{ with .Resources.GetMatch .Params.featured_image }} style="background-image: url({{ .RelPermalink }})" {{ end }} {{ end }}> <div class="article-header__title-wrapper{{ if .Params.title_in_logo }} article-header__title-wrapper--no-title{{ end }}"> <h2 class="article-header__title">{{ if ( .Params.markup_title ) }}{{ .Params.markup_title | safeHTML }}{{ else }}{{ .Title }}{{ end }}</h2> </div> </div> {{- with .Params.nka -}}<p>Now known as: {{ . }}</p>{{- end -}} {{- with .Params.fka -}}<p>Formerly known as: {{ . }}</p>{{- end -}} {{- with .Params.tka -}}<p>Then known as: {{ . }}</p>{{- end -}} </header> {{ else }} <header class="site-content__header"> <h2 class="page-title">{{ .Title | safeHTML }}. {{ if not ( or ( eq .Type "cv" ) ( eq .Type "cv/organisations" ) ) -}} {{- range .AlternativeOutputFormats -}} <a href="{{ .RelPermalink }}" aria-label="{{ $.Title }} RSS feed"> <img class="feed-icon" alt="RSS feed" src="{{ $.Site.Params.feedIcon }}"> </a> {{- end -}} {{- end -}} </h2> {{- .Content -}} {{- if ( and ( eq .Type "cv" ) ( not ( .IsDescendant ( .GetPage "/cv/organisations" ) ) ) ) -}} <nav class="page-header__minor-links"> <ul> {{ range ( where .Sections "Type" "not in" ( slice "cv/roles" ) ).ByTitle }} <li><a href="{{ .RelPermalink }}"><h3>{{ .Title }}</h3></a> <p>({{ len (where ( where .Site.Pages "Section" "cv" ) "Parent.Title" .Title ) }})</p></li> {{ end }} </ul> </nav> {{- partialCached "cv/timeline-legend.html" . -}} {{- else -}} <nav class="page-header__minor-links"> {{- partial "years-list.html" . -}} </nav> {{- end -}} </header> {{ end }} {{ end }} {{ define "main-body" }} {{ if .IsDescendant ( .GetPage "/cv/organisations" ) }} {{ $titles := slice ( .Title | plainify ) }} {{ with .Sections }} {{ $titles = $titles | append ( partial "cv/organisations/recursive-children-titles.html" . ) }} {{ end }} {{ .Scratch.Set "titles" $titles }} <main id="organisation-body" class="site-content__body"> <section id="description"> {{ .Content }} </section> <section id="roles-timeline"> <div id="timeline" aria-label="Roles timeline" role="img">Javascript must be enabled to view this chart.</div> </section> <section id="related" class="row"> {{- $titles := .Scratch.Get "titles" -}} {{ range ( where ( ( .GetPage "blog" ).Sections ) "Title" "Blog Posts" ) }} {{ $section_title := .Title }} {{ with where ( where ( where ( where .Site.Pages "Section" "blog" ) "Parent.Title" .Title ) ".Params.organisations" "intersect" $titles ) ".Params.redact" false }} {{ partial "cv/organisations/organisation-items.html" ( dict "section_title" $section_title "content" . ) }} {{ end }} {{ end }} {{ range ( where ( ( .GetPage "portfolio" ).Sections ) "Title" "!=" "Appearances" ).ByTitle }} {{ $section_title := .Title }} {{ with where ( where ( where ( where .Site.Pages "Section" "portfolio" ) "Parent.Title" .Title ) ".Params.organisations" "intersect" $titles ) ".Params.redact" false }} {{ partial "cv/organisations/organisation-items.html" ( dict "section_title" $section_title "content" . ) }} {{ end }} {{ end }} {{ range ( where ( ( .GetPage "cv" ).Sections ) "Title" "Qualifications" ) }} {{ $section_title := .Title }} {{ with where ( where ( where ( where .Site.Pages "Section" "cv" ) "Parent.Title" .Title ) ".Params.organisations" "intersect" $titles ) ".Params.redact" false }} {{ partial "cv/organisations/organisation-items.html" ( dict "section_title" $section_title "content" . ) }} {{ end }} {{ end }} {{ range ( where ( (.GetPage "cv").Sections ) "Title" "Awards" ) }} {{ $section_title := .Title }} {{ with where ( where ( where ( where .Site.Pages "Section" "cv" ) "Parent.Title" .Title ) ".Params.organisations" "intersect" $titles ) ".Params.redact" false }} {{ partial "cv/organisations/organisation-items.html" ( dict "section_title" $section_title "content" . ) }} {{ end }} {{ end }} {{ range ( where ( (.GetPage "portfolio").Sections ) "Title" "Appearances" ).ByTitle }} {{ $section_title := .Title }} {{ with where ( where ( where ( where .Site.Pages "Section" "portfolio" ) "Parent.Title" .Title ) ".Params.organisations" "intersect" $titles ) ".Params.redact" false }} {{ partial "cv/organisations/organisation-items.html" ( dict "section_title" $section_title "content" . ) }} {{ end }} {{ end }} </section> </main> {{ else if eq .Type "cv" }} <article class="site-content__body site-content__body--chart"> <div id="timeline" aria-label="Roles timeline" role="img">Javascript must be enabled to view this chart.</div> </article> {{ else }} {{ partial "items-grid.html" . }} {{ end }} {{ end }} {{ define "main-footer" }} {{ if .IsDescendant ( .GetPage "/cv/organisations" ) }} <footer class="site-content__footer"> <section id="hierarchy"> <h3 class="subheading">Hierarchy</h3> {{ $.Scratch.Set "parents" ( slice ) }} {{ partial "cv/organisations/recursive-parents.html" ( dict "c" . "g" $ ) }} {{- $parents := partial "cv/organisations/reverse-slice.html" ( $.Scratch.Get "parents" ) -}} {{- range $parents -}}<ul><li class="hierarchy-item hierarchy-item--parent"><a href="{{ .RelPermalink }}">{{ .Title | safeHTML }}</a>{{- end -}} <ul><li class="hierarchy-item hierarchy-item--current">{{ .Title | safeHTML }}</li> {{ range .Sections }}<ul>{{ partial "cv/organisations/recursive-children.html" . }}</ul>{{ end }} </ul> {{- range $parents -}}</li></ul>{{- end -}} </section> </footer> {{ end }} {{ end }}