CHANGE image handling, ADD partials to reuse structure, REFACTOR
This commit is contained in:
parent
1265491dee
commit
01dcf04b8a
36 changed files with 1181 additions and 864 deletions
1
assets/images/notfound.svg
Normal file
1
assets/images/notfound.svg
Normal file
File diff suppressed because one or more lines are too long
After Width: | Height: | Size: 21 KiB |
|
@ -5,7 +5,7 @@
|
|||
flex-shrink: 0;
|
||||
text-align: center;
|
||||
display: block;
|
||||
background-color: #333;
|
||||
background-color: {{ .Site.Params.footer.color | default "#333" }};
|
||||
color: #f2f2f2;
|
||||
}
|
||||
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
overflow: hidden;
|
||||
flex-shrink: 0;
|
||||
background: white;
|
||||
box-shadow: 0px 4px 4px 0px rgba(0,0,0,0.2);
|
||||
box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.2);
|
||||
position: fixed;
|
||||
z-index: 999;
|
||||
top: 0;
|
||||
|
@ -76,7 +76,7 @@
|
|||
position: fixed;
|
||||
background-color: #ffffff;
|
||||
min-width: 160px;
|
||||
box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
|
||||
box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2);
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
|
@ -157,14 +157,15 @@
|
|||
.header-items.responsive .dropdown {
|
||||
float: none;
|
||||
}
|
||||
|
||||
.header-items.responsive .dropdown-content {
|
||||
position: relative;
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
.header-items.responsive .dropdown .dropbtn {
|
||||
display: block;
|
||||
width: 100vw;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
}
|
|
@ -7,8 +7,3 @@
|
|||
background-position: center center;
|
||||
{{ end }}
|
||||
}
|
||||
|
||||
.hero-icon-container {
|
||||
padding: 1rem;
|
||||
margin: auto;
|
||||
}
|
||||
|
|
|
@ -1,24 +1,17 @@
|
|||
$font: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
|
||||
|
||||
{{ with .Site.Params.font }}
|
||||
|
||||
{{ if .name }}
|
||||
|
||||
{{ if .url }}
|
||||
|
||||
@font-face {
|
||||
font-family: {{ .name }};
|
||||
src: url({{ .url }}) format( {{ .format | default "ttf" }} );
|
||||
font-weight: 400;
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
{{ end }}
|
||||
|
||||
$font: {{ .name }} !important;
|
||||
|
||||
{{ end }}
|
||||
|
||||
{{ end }}
|
||||
|
||||
* {
|
||||
|
@ -44,6 +37,13 @@ body {
|
|||
font-style: normal;
|
||||
}
|
||||
|
||||
main {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
flex-grow: 1;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
h1 {
|
||||
margin: 0rem;
|
||||
margin-bottom: 0.5rem;
|
||||
|
@ -59,17 +59,22 @@ a {
|
|||
color: {{ .Site.Params.color.secondary }};
|
||||
}
|
||||
|
||||
{{ if .Site.Params.list.image }}
|
||||
img {
|
||||
max-width: 100%;
|
||||
height: auto;
|
||||
margin: auto;
|
||||
object-fit: contain;
|
||||
border-radius: 6px;
|
||||
}
|
||||
|
||||
{{ if .Site.Params.list.image }}
|
||||
ul {
|
||||
list-style: none;
|
||||
padding-left: 1rem;
|
||||
}
|
||||
|
||||
ul li {
|
||||
display: flex;
|
||||
}
|
||||
|
||||
ul li:before {
|
||||
content: url({{ .Site.Params.list.image }});
|
||||
display: inline-block;
|
||||
|
@ -78,20 +83,8 @@ a {
|
|||
margin-right: 10px;
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
{{ end }}
|
||||
|
||||
button {
|
||||
font-family: inherit;
|
||||
font-size: 100%;
|
||||
line-height: inherit;
|
||||
color: inherit;
|
||||
background-color: transparent;
|
||||
background-image: none;
|
||||
text-transform: none;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.col-3 {flex: 25%; width: 25%; max-width: 25%;}
|
||||
.col-4 {flex: 33.33%; width: 33.33%; max-width: 33.33%;}
|
||||
.col-5 {flex: 41.66%; width: 41.66%; max-width: 41.66%;}
|
||||
|
@ -166,7 +159,7 @@ button {
|
|||
}
|
||||
|
||||
.section-even {
|
||||
background-color: #eee;
|
||||
background-color: {{ .Site.Params.color.background | default "#eee" }};
|
||||
}
|
||||
|
||||
.section-highlight {
|
||||
|
@ -204,7 +197,7 @@ button {
|
|||
flex-grow: 1;
|
||||
}
|
||||
|
||||
.notfoundimage {
|
||||
.notfound img {
|
||||
width: 100%;
|
||||
max-width: 912px;
|
||||
}
|
||||
|
@ -220,11 +213,10 @@ button {
|
|||
display: flex;
|
||||
flex-direction: row;
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
|
||||
.team-list a {
|
||||
a {
|
||||
color: inherit;
|
||||
margin: 0 auto;
|
||||
}
|
||||
}
|
||||
|
||||
.teammember {
|
||||
|
@ -335,14 +327,15 @@ button {
|
|||
align-items: center;
|
||||
}
|
||||
|
||||
.service-icon-container {
|
||||
padding: 1.5rem;
|
||||
.side-image {
|
||||
padding: 1rem;
|
||||
margin: auto;
|
||||
}
|
||||
|
||||
.service-icon {
|
||||
.side-image img {
|
||||
width: 100%;
|
||||
height: auto;
|
||||
max-height: 90vh;
|
||||
object-fit: contain;
|
||||
}
|
||||
|
||||
|
@ -366,7 +359,22 @@ button {
|
|||
margin-inline-end: -0.5rem;
|
||||
}
|
||||
|
||||
.button-filled {
|
||||
button {
|
||||
font-family: inherit;
|
||||
font-size: 100%;
|
||||
line-height: inherit;
|
||||
color: inherit;
|
||||
background-color: transparent;
|
||||
background-image: none;
|
||||
text-transform: none;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.button:hover {
|
||||
filter: brightness(60%);
|
||||
}
|
||||
|
||||
.button.filled {
|
||||
background-color: {{ .Site.Params.color.primary }};
|
||||
color: white;
|
||||
border: 2px solid {{ .Site.Params.color.primary }};
|
||||
|
@ -378,7 +386,7 @@ button {
|
|||
font-size: 1rem;
|
||||
}
|
||||
|
||||
.button-outlined {
|
||||
.button.outlined {
|
||||
background-color: transparent;
|
||||
color: {{ .Site.Params.color.primary }};
|
||||
border: 2px solid {{ .Site.Params.color.primary }};
|
||||
|
@ -390,11 +398,80 @@ button {
|
|||
font-size: 1rem;
|
||||
}
|
||||
|
||||
.button-outlined:hover {
|
||||
.button.outlined:hover {
|
||||
background-color: {{ .Site.Params.color.primary }};
|
||||
color: white;
|
||||
}
|
||||
|
||||
.button.text {
|
||||
display: inline-block;
|
||||
padding: 0.5rem 1.5rem;
|
||||
text-align: center;
|
||||
font-size: 1rem;
|
||||
color: {{ .Site.Params.color.primary }};
|
||||
}
|
||||
|
||||
.button.inverted {
|
||||
background-color: white;
|
||||
color: {{ .Site.Params.color.primary }};
|
||||
border-radius: 4px;
|
||||
padding: 0.5rem 1.5rem;
|
||||
text-align: center;
|
||||
text-decoration: none;
|
||||
display: inline-block;
|
||||
font-size: 1rem;
|
||||
margin-top: 1rem;
|
||||
}
|
||||
|
||||
.button.fab {
|
||||
display: inline-flex;
|
||||
background-color: {{ .Site.Params.color.primary }};
|
||||
color: #f2f2f2;
|
||||
width: 50px;
|
||||
height: 50px;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
border-radius: 50%;
|
||||
margin: 30px;
|
||||
position: fixed;
|
||||
bottom: 0px;
|
||||
right: 0px;
|
||||
transition: background-color .3s;
|
||||
z-index: 1000;
|
||||
}
|
||||
|
||||
.button.play {
|
||||
background: url('/button/google-play-button.svg');
|
||||
background-repeat: no-repeat;
|
||||
background-size: cover;
|
||||
display: inline-block;
|
||||
width: 10rem;
|
||||
height: 3rem;
|
||||
}
|
||||
|
||||
.button.appstore {
|
||||
background: url('/button/apple-appstore-button.svg');
|
||||
background-repeat: no-repeat;
|
||||
background-size: cover;
|
||||
display: inline-block;
|
||||
width: 10rem;
|
||||
height: 3rem;
|
||||
}
|
||||
|
||||
.button.block {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.show {
|
||||
visibility: visible;
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
.hide {
|
||||
visibility: hidden;
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
.contact {
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
|
@ -406,18 +483,6 @@ button {
|
|||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
.contact-button {
|
||||
background-color: white;
|
||||
color: {{ .Site.Params.color.primary }};
|
||||
border-radius: 4px;
|
||||
padding: 0.5rem 1.5rem;
|
||||
text-align: center;
|
||||
text-decoration: none;
|
||||
display: inline-block;
|
||||
font-size: 1rem;
|
||||
margin-top: 1rem;
|
||||
}
|
||||
|
||||
.contact-text {
|
||||
text-align: center;
|
||||
color: white;
|
||||
|
@ -483,18 +548,17 @@ button {
|
|||
height: 150px;
|
||||
border-radius: 5px 5px 0px 0px;
|
||||
object-fit: cover;
|
||||
i {
|
||||
margin: auto;
|
||||
font-size: 8em;
|
||||
color: {{ .Site.Params.color.secondary }};
|
||||
}
|
||||
}
|
||||
|
||||
.noCover {
|
||||
object-fit: unset !important;
|
||||
}
|
||||
|
||||
.cardIcon {
|
||||
margin: auto;
|
||||
font-size: 8em;
|
||||
color: {{ .Site.Params.color.secondary }};
|
||||
}
|
||||
|
||||
.cardTitle {
|
||||
text-align: center;
|
||||
font-size: 18px;
|
||||
|
@ -540,19 +604,12 @@ button {
|
|||
font-size: small;
|
||||
}
|
||||
|
||||
.more-button {
|
||||
padding-top: 1rem;
|
||||
text-align: center;
|
||||
color: {{ .Site.Params.color.primary }};
|
||||
}
|
||||
|
||||
@media screen and (max-width: 600px) {
|
||||
[class*="col-"] {
|
||||
display: block;
|
||||
width: 100%;
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
.services {
|
||||
display: inline-block;
|
||||
}
|
||||
|
|
|
@ -1,33 +0,0 @@
|
|||
.totop {
|
||||
display: inline-flex;
|
||||
background-color: {{ .Site.Params.color.primary }};
|
||||
color: #f2f2f2;
|
||||
width: 50px;
|
||||
height: 50px;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
border-radius: 50%;
|
||||
margin: 30px;
|
||||
position: fixed;
|
||||
bottom: 0px;
|
||||
right: 0px;
|
||||
transition: background-color .3s;
|
||||
z-index: 1000;
|
||||
}
|
||||
|
||||
.show {
|
||||
visibility: visible;
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
.hide {
|
||||
visibility: hidden;
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
@media screen and (min-width: 600px) {
|
||||
.totop:hover {
|
||||
cursor: pointer;
|
||||
background-color: black;
|
||||
}
|
||||
}
|
|
@ -1,5 +1,5 @@
|
|||
{{ define "main" }}
|
||||
<div class="notfound">
|
||||
<img class="notfoundimage" src="/images/undraw_page_not_found_su7k.svg" alt="Not Found Image">
|
||||
{{- partial "components/image.html" (dict "type" "svg" "url" "/images/notfound.svg" "alt" "Not Found Image") -}}
|
||||
</div>
|
||||
{{ end }}
|
1
layouts/_default/_markup/render-image.html
Normal file
1
layouts/_default/_markup/render-image.html
Normal file
|
@ -0,0 +1 @@
|
|||
{{- partial "components/image.html" (dict "url" .Destination "alt" .Text "caption" .Title) -}}
|
|
@ -1,63 +1,52 @@
|
|||
|
||||
|
||||
<!DOCTYPE html>
|
||||
<!doctype html>
|
||||
<html lang="{{ .Site.LanguageCode }}">
|
||||
<head>
|
||||
<meta name="description" content="{{ if .Params.summary }}{{ .Params.summary }}{{ else if .Site.Params.Description }}{{ .Site.Params.Description }}{{ else }}Hardcoded description; the author should update :){{ end }}" />
|
||||
|
||||
<head>
|
||||
<meta name="description"
|
||||
content="{{ if .Params.summary }}{{ .Params.summary }}{{ else if .Site.Params.Description }}{{ .Site.Params.Description }}{{ else }}Hardcoded description; the author should update :){{ end }}" />
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, shrink-to-fit=no" />
|
||||
<meta http-equiv="x-ua-compatible" content="ie=edge">
|
||||
<title>{{ if .Title }}{{ .Title }}{{ else }}{{ .Site.Title }}{{ end }}</title>
|
||||
{{ block "opengraph" . }}
|
||||
<meta property="og:type" content="website" />
|
||||
{{ with .Site.LanguageCode }}
|
||||
<meta property="og:locale" content='{{ replace . "-" "_" }}' />
|
||||
<meta http-equiv="x-ua-compatible" content="ie=edge" />
|
||||
<meta name="color-scheme" content="light">
|
||||
{{ template "_internal/opengraph.html" . }}
|
||||
<title>
|
||||
{{ if .Title }}{{ .Title }}{{ else }}{{ .Site.Title }}{{ end }}
|
||||
</title>
|
||||
{{ with .Site.Params.favIcon }}
|
||||
{{ if .ico }}
|
||||
<link rel="icon" type="image/x-icon" href="{{ .ico }}">
|
||||
{{ end }}
|
||||
<meta property="og:title" content="{{ if .Title }}{{ .Title }}{{ else }}{{ .Site.Title }}{{ end }}" />
|
||||
<meta property="og:url" content="{{ .Permalink }}" />
|
||||
<meta property="og:site_name" content="{{ .Site.Title }}" />
|
||||
{{ if .Params.image }}
|
||||
<meta property="og:image" content="{{ .Params.image | absURL }}" />
|
||||
{{ else }}
|
||||
<meta property="og:image" content="{{ .Site.Params.logo | absURL }}" />
|
||||
{{ if .small }}
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="{{ .small }}">
|
||||
{{ end }}
|
||||
{{ if .Params.summary }}
|
||||
<meta property="og:description" content="{{ .Params.summary }}" />
|
||||
{{ else if .Content }}
|
||||
<meta property="og:description" content="{{ .Content | safeHTML | truncate 100 }}" />
|
||||
{{ else }}
|
||||
<meta property="og:description" content="{{ .Site.Params.Description }}" />
|
||||
{{ if .big }}
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="{{ .big }}">
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
{{- $favIcon := .Site.Params.favIcon }}
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="{{ if $favIcon.small }}{{ $favIcon.small }}{{ else }}/favIcon16x16.png{{ end }}">
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="{{ if $favIcon.big }}{{ $favIcon.big }}{{ else }}/favIcon32x32.png{{ end }}">
|
||||
{{ with .Site.Params.tracking }}
|
||||
<script src="{{ . }}"></script>
|
||||
{{ end }}
|
||||
<link rel="stylesheet" type="text/css" href="/icons/fontawesome.css">
|
||||
{{ $template := resources.Get "scss/index.scss" }}
|
||||
{{ if $template }}
|
||||
{{ $index := $template | resources.ExecuteAsTemplate "css/index.scss" . | resources.ToCSS (dict "outputStyle" "compressed") | fingerprint }}
|
||||
<link rel="stylesheet" type="text/css" href="{{ $index.RelPermalink }}">
|
||||
{{ end }}
|
||||
{{ block "styling" . }}
|
||||
{{ end }}
|
||||
{{ $template := resources.Get "scss/totop.scss" }}
|
||||
{{ if $template }}
|
||||
{{ $totop := $template | resources.ExecuteAsTemplate "css/totop.scss" . | resources.ToCSS (dict "outputStyle" "compressed") | fingerprint }}
|
||||
<link rel="stylesheet" type="text/css" href="{{ $totop.RelPermalink }}">
|
||||
{{ end }}
|
||||
</head>
|
||||
<body>
|
||||
{{ block "header" . }}
|
||||
{{- partial "header.html" . -}}
|
||||
<link rel="stylesheet" type="text/css" href="/icons/fontawesome.css" />
|
||||
{{ $template := resources.Get "scss/index.scss" }} {{ if $template }} {{
|
||||
$index := $template | resources.ExecuteAsTemplate "css/index.scss" . |
|
||||
resources.ToCSS (dict "outputStyle" "compressed") | fingerprint }}
|
||||
<link rel="stylesheet" type="text/css" href="{{ $index.RelPermalink }}" />
|
||||
{{ end }} {{ block "styling" . }} {{ end }} {{ $template := resources.Get
|
||||
"scss/totop.scss" }} {{ if $template }} {{ $totop := $template |
|
||||
resources.ExecuteAsTemplate "css/totop.scss" . | resources.ToCSS (dict
|
||||
"outputStyle" "compressed") | fingerprint }}
|
||||
<link rel="stylesheet" type="text/css" href="{{ $totop.RelPermalink }}" />
|
||||
{{ end }}
|
||||
</head>
|
||||
|
||||
<body>
|
||||
{{ block "header" . }} {{- partial "header.html" . -}} {{ end }}
|
||||
<main>
|
||||
{{ block "main" . }}
|
||||
<!-- The part of the page that begins to differ between templates -->
|
||||
{{ end }}
|
||||
{{ block "footer" . }}
|
||||
{{- partial "footer.html" . -}}
|
||||
{{ end }}
|
||||
</body>
|
||||
</main>
|
||||
{{ block "footer" . }} {{- partial "footer.html" . -}} {{ end }}
|
||||
</body>
|
||||
|
||||
</html>
|
|
@ -1,27 +1,24 @@
|
|||
{{ define "main" }}
|
||||
{{ with .Params.image }}
|
||||
{{ if .url }}
|
||||
<img class="coverimage" src="{{ .url }}" alt="{{ .alt }}" />
|
||||
{{- partial "components/image.html" (dict "style" "coverimage" "url" .url "alt" .alt) -}}
|
||||
{{ else }}
|
||||
<img class="coverimage" src="{{ . }}" />
|
||||
{{- partial "components/image.html" (dict "style" "coverimage" "url" .) -}}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
{{ if .Content }}
|
||||
<div class="content">
|
||||
{{ with .Title }}
|
||||
<div class="title">
|
||||
<h1 class="content-title">{{ . }}</h1>
|
||||
<div class="divider"></div>
|
||||
</div>
|
||||
{{ partial "components/title.html" . }}
|
||||
{{ end }}
|
||||
{{.Content}}
|
||||
</div>
|
||||
{{ else }}
|
||||
{{ else if .Params.header.enabled }}
|
||||
<div class="header-blocker"></div>
|
||||
{{ end }}
|
||||
{{- range $index, $page := .Pages }}
|
||||
{{ $odd := mod $index 2 }}
|
||||
{{ $id := .Params.id | default $page.File.ContentBaseName }}
|
||||
{{ $id := .Params.id | default $page.Name }}
|
||||
{{ if eq .Params.type "slider" }}
|
||||
{{- partial "slider.html" (dict "id" $id "slider" .Params "color" $.Site.Params.color "odd" $odd) -}}
|
||||
{{ else if eq .Params.type "hero" }}
|
||||
|
|
|
@ -1,17 +1,14 @@
|
|||
{{ define "main" }}
|
||||
{{ with .Params.image }}
|
||||
{{ if .url }}
|
||||
<img class="coverimage" src="{{ .url }}" alt="{{ .alt }}" />
|
||||
{{- partial "components/image.html" (dict "style" "coverimage" "url" .url "alt" .alt) -}}
|
||||
{{ else }}
|
||||
<img class="coverimage" src="{{ . }}" />
|
||||
{{- partial "components/image.html" (dict "style" "coverimage" "url" . "alt" "Cover") -}}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
<div class="content">
|
||||
{{ with .Title }}
|
||||
<div class="title">
|
||||
<h1 class="content-title">{{ . }}</h1>
|
||||
<div class="divider"></div>
|
||||
</div>
|
||||
{{ partial "components/title.html" . }}
|
||||
{{ end }}
|
||||
{{ .Content }}
|
||||
</div>
|
||||
|
|
|
@ -1,10 +1,7 @@
|
|||
{{ define "main" }}
|
||||
<div class="content">
|
||||
<article>
|
||||
<div class="title">
|
||||
<h1 class="content-title">{{ .Title }}</h1>
|
||||
<div class="divider"></div>
|
||||
</div>
|
||||
{{ partial "components/title.html" .Title }}
|
||||
{{.Content}}
|
||||
</article>
|
||||
<div class="cardList">
|
||||
|
@ -13,9 +10,9 @@
|
|||
<a href="{{.Permalink}}">
|
||||
<div class="cardContent">
|
||||
{{ if .Params.image }}
|
||||
<img class="cardImage {{ if eq .Params.image.cover false }} noCover {{ end }}" alt="{{ .Params.image.alt }}" src="{{ .Params.image.url }}" />
|
||||
{{- partial "components/image.html" (dict "style" "cardImage" "url" .Params.image.url "alt" .Params.image.alt) -}}
|
||||
{{ else }}
|
||||
<img class="cardImage" src="{{ .Site.Params.defaultimage }}" alt="Default Image" />
|
||||
{{- partial "components/image.html" (dict "style" "cardImage" "url" .Site.Params.defaultimage "alt" "Placeholder") -}}
|
||||
{{ end }}
|
||||
<div class="cardTitle">{{.Title}}</div>
|
||||
<div class="cardDescription">{{ .Summary | safeHTML | truncate 320 }}</div>
|
||||
|
|
|
@ -1,10 +1,7 @@
|
|||
{{ define "main" }}
|
||||
<div class="content">
|
||||
<article>
|
||||
<div class="title">
|
||||
<h1 class="content-title">{{ .Title }}</h1>
|
||||
<div class="divider"></div>
|
||||
</div>
|
||||
{{ partial "components/title.html" .Title }}
|
||||
</article>
|
||||
<!-- Ranges through content/posts/*.md -->
|
||||
<div class="cardList">
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
{{ $outlined := "outlined"}}
|
||||
<a class="{{if eq .type $outlined}} button-outlined {{else}} button-filled {{end}}" href="{{ .url }}">
|
||||
<a id="{{ .id }}" class='button {{ .type | default "filled" }}' href="{{ .url }}">
|
||||
{{ with .icon }}
|
||||
<i class="icon-{{ . }}"></i>
|
||||
{{ end }}
|
||||
|
|
9
layouts/partials/components/icon.html
Normal file
9
layouts/partials/components/icon.html
Normal file
|
@ -0,0 +1,9 @@
|
|||
<!--
|
||||
type: string - default: link
|
||||
text: string (optional)
|
||||
url: string
|
||||
-->
|
||||
<a href="{{ .url }}" rel="{{ .rel }}">
|
||||
<i class="{{ if .type }} icon-{{ .type }} {{ else }} icon-link {{ end }}"></i>
|
||||
{{ if .text }} {{ .text }}{{ end }}
|
||||
</a>
|
90
layouts/partials/components/image.html
Normal file
90
layouts/partials/components/image.html
Normal file
|
@ -0,0 +1,90 @@
|
|||
<!--
|
||||
id: string
|
||||
style: string - default empty
|
||||
url: string
|
||||
alt: string
|
||||
caption: string
|
||||
width: int
|
||||
height: int
|
||||
-->
|
||||
{{ $sizes := slice "320" "640" "960" "1280" }}
|
||||
{{ $mediaWidthControl := "(max-width: 360px) 320px, (max-width: 680px) 640px, (max-width: 1100px) 960px, 1280px" }}
|
||||
|
||||
{{ $id := .id }}
|
||||
{{ $style := .style }}
|
||||
{{ $alt := .alt }}
|
||||
{{ $caption := .caption }}
|
||||
{{ $width := .width }}
|
||||
{{ $height := .height }}
|
||||
|
||||
{{ $img := .Page.Resources.GetMatch .url }}
|
||||
{{ if not $img }}
|
||||
{{ $img = resources.Get .url }}
|
||||
{{ if not $img }}
|
||||
{{ $img := resources.GetRemote .url | resources.Copy (path.Join "images" (path.Base .url )) }}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
|
||||
{{ with $img }}
|
||||
{{ $url := .RelPermalink }}
|
||||
{{ $type := .MediaType.SubType }}
|
||||
{{ $ext := path.Ext $url }}
|
||||
{{ $name := path.Base (replace $url $ext "") }}
|
||||
{{ $dir := path.Dir $url }}
|
||||
|
||||
{{ if eq $type "svg" }}
|
||||
<img
|
||||
id="{{ $id }}"
|
||||
class="{{ $style }}"
|
||||
src="{{ $url }}"
|
||||
alt="{{ $alt }}"
|
||||
loading="lazy"
|
||||
decoding="async"
|
||||
>
|
||||
{{ else }}
|
||||
<picture>
|
||||
<source
|
||||
type="image/avif"
|
||||
srcset="
|
||||
{{ range $i, $size := $sizes }}
|
||||
{{ $dir }}/{{ $name }}-{{ $size }}{{ $ext }}.avif {{ $size }}w,
|
||||
{{ end }}
|
||||
{{ $url }}.avif {{ $width | default .Width }}w
|
||||
"
|
||||
sizes="{{ $mediaWidthControl }}"
|
||||
/>
|
||||
<source
|
||||
type="image/webp"
|
||||
srcset="
|
||||
{{ range $i, $size := $sizes }}
|
||||
{{ $dir }}/{{ $name }}-{{ $size }}{{ $ext }}.webp {{ $size }}w,
|
||||
{{ end }}
|
||||
{{ $url }}.webp {{ $width | default .Width }}w
|
||||
"
|
||||
sizes="{{ $mediaWidthControl }}"
|
||||
/>
|
||||
<img
|
||||
id="{{ $id }}"
|
||||
class="{{ $style }}"
|
||||
width="{{ $width | default .Width }}"
|
||||
height="{{ $height | default .Height }}"
|
||||
srcset="
|
||||
{{ range $i, $size := $sizes }}
|
||||
{{ $dir }}/{{ $name }}-{{ $size }}{{ $ext }} {{ $size }}w,
|
||||
{{ end }}
|
||||
{{ $url }} {{ $width | default .Width }}w
|
||||
"
|
||||
src="{{ $url }}"
|
||||
alt="{{ $alt }}"
|
||||
loading="lazy"
|
||||
decoding="async"
|
||||
>
|
||||
</picture>
|
||||
{{ end }}
|
||||
{{ if $caption }}
|
||||
<p class="caption">{{ $caption }}</p>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
|
||||
|
||||
{{/* https://www.brycewray.com/posts/2023/05/better-code-image-processing-hugo-render-hook-edition/ */}}
|
4
layouts/partials/components/title.html
Normal file
4
layouts/partials/components/title.html
Normal file
|
@ -0,0 +1,4 @@
|
|||
<div class="title">
|
||||
<h1 class="content-title">{{ . }}</h1>
|
||||
<div class="divider"></div>
|
||||
</div>
|
|
@ -1,10 +1,5 @@
|
|||
{{- $contact := .contact }}
|
||||
{{- $content := .content }}
|
||||
{{- $id := "contact"}}
|
||||
{{if $contact.id}}
|
||||
{{- $id = $contact.id}}
|
||||
{{else if .id}}
|
||||
{{- $id = .id }}
|
||||
{{- $contact := .contact }} {{- $content := .content }} {{- $id := "contact"}}
|
||||
{{if $contact.id}} {{- $id = $contact.id}} {{else if .id}} {{- $id = .id }}
|
||||
{{end}}
|
||||
<div id="{{ $id }}" class="section section-highlight">
|
||||
<div class="section-content contact">
|
||||
|
@ -16,7 +11,9 @@
|
|||
<p>{{ $content }}</p>
|
||||
</div>
|
||||
<div class="contact-button-container">
|
||||
<a class="contact-button" href="{{ $contact.button.url }}">{{ $contact.button.text }}</a>
|
||||
{{ with $contact.button }}
|
||||
{{ partial "components/button.html" . }}
|
||||
{{ end }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -9,10 +9,7 @@
|
|||
<div id="{{ $id }}" class="section {{if eq $odd 0}} section-even {{end}}">
|
||||
<div class="section-content funding">
|
||||
{{ with $params.title }}
|
||||
<div class="title">
|
||||
<h1 class="content-title">{{ . }}</h1>
|
||||
<div class="divider"></div>
|
||||
</div>
|
||||
{{ partial "components/title.html" . }}
|
||||
{{ end }}
|
||||
{{ .content }}
|
||||
</div>
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
{{- $footer := .Site.Params.footer }}
|
||||
{{ if $footer.enabled }}
|
||||
{{- $social := index $footer "social" }}
|
||||
{{- $links := index $footer "links" }}
|
||||
{{ $template := resources.Get "scss/footer.scss" }}
|
||||
|
@ -10,9 +11,11 @@
|
|||
<div class="social-media-footer">
|
||||
<span>
|
||||
{{- range $social}}
|
||||
<a href="{{ .url }}"><i class="icon-{{ .type }}"></i></a>
|
||||
{{ partial "components/icon.html" . }}
|
||||
{{- end }}
|
||||
<a href="/posts/index.xml"><i class="icon-rss"></i></a>
|
||||
{{ if $footer.rss }}
|
||||
{{ partial "components/icon.html" (dict "type" "rss" "url" "/posts/index.xml") }}
|
||||
{{ end }}
|
||||
</span>
|
||||
</div>
|
||||
<div>
|
||||
|
@ -26,5 +29,6 @@
|
|||
© {{ dateFormat "2006" now }} {{ $footer.copyright }}</a>
|
||||
</div>
|
||||
</footer>
|
||||
<a class="totop hide" id="totop" href="#"><i class="icon-angle-up"></i></a>
|
||||
{{ end }}
|
||||
{{ partial "components/button.html" (dict "id" "totop" "type" "fab hide" "url" "#" "icon" "angle-up") }}
|
||||
<script src="/js/totop.js"></script>
|
|
@ -1,19 +1,24 @@
|
|||
{{- $header := .Site.Params.header }}
|
||||
{{- $links := index $header "links" }}
|
||||
{{ $template := resources.Get "scss/header.scss" }}
|
||||
{{ if $template }}
|
||||
{{ $index := $template | resources.ExecuteAsTemplate "css/header.scss" . | resources.ToCSS (dict "outputStyle" "compressed") | fingerprint }}
|
||||
<link rel="stylesheet" type="text/css" href="{{ $index.RelPermalink }}">
|
||||
{{ end }}
|
||||
{{ $template := resources.Get "scss/progressbar.scss" }}
|
||||
{{ if $template }}
|
||||
{{ $progressbar := $template | resources.ExecuteAsTemplate "css/progressbar.scss" . | resources.ToCSS (dict "outputStyle" "compressed") | fingerprint }}
|
||||
{{ $progressbar := $template | resources.ExecuteAsTemplate "css/progressbar.scss" . | resources.ToCSS (dict
|
||||
"outputStyle" "compressed") | fingerprint }}
|
||||
<link rel="stylesheet" type="text/css" href="{{ $progressbar.RelPermalink }}">
|
||||
{{ end }}
|
||||
<div class="progress"></div>
|
||||
{{ if $header.enabled }}
|
||||
{{ $template := resources.Get "scss/header.scss" }}
|
||||
{{ if $template }}
|
||||
{{ $index := $template | resources.ExecuteAsTemplate "css/header.scss" . | resources.ToCSS (dict "outputStyle"
|
||||
"compressed") | fingerprint }}
|
||||
<link rel="stylesheet" type="text/css" href="{{ $index.RelPermalink }}">
|
||||
{{ end }}
|
||||
<header class="header" id="header">
|
||||
<div class="header-container">
|
||||
<a class="home" href="/#"><img id="logo" class="logo" src="{{ .Site.Params.logo }}" alt="Logo"></a>
|
||||
<a class="home" href="/#">
|
||||
{{- partial "components/image.html" (dict "id" "logo" "style" "logo" "url" .Site.Params.logo "alt" "Logo") -}}
|
||||
</a>
|
||||
<div class="header-items" id="header-items">
|
||||
{{- range $links}}
|
||||
{{ if .links }}
|
||||
|
@ -41,4 +46,5 @@
|
|||
<a href="javascript:void(0);" id="menu-icon" class="menu-icon" onclick="unfoldHeader()">☰</a>
|
||||
</header>
|
||||
<script src="/js/header.js"></script>
|
||||
{{ end }}
|
||||
<script src="/js/progress.js"></script>
|
|
@ -4,22 +4,23 @@
|
|||
{{- $odd := .odd }}
|
||||
{{- $id := "hero"}}
|
||||
{{if $hero.id}}
|
||||
{{- $id := $hero.id}}
|
||||
{{- $id := $hero.id}}
|
||||
{{else if .id}}
|
||||
{{- $id := .id }}
|
||||
{{- $id := .id }}
|
||||
{{end}}
|
||||
{{ $template := resources.Get "scss/hero.scss" }}
|
||||
{{ if $template }}
|
||||
{{ $index := $template | resources.ExecuteAsTemplate "css/hero.scss" . | resources.ToCSS (dict "outputStyle" "compressed") | fingerprint }}
|
||||
{{ $index := $template | resources.ExecuteAsTemplate "css/hero.scss" . | resources.ToCSS (dict "outputStyle"
|
||||
"compressed") | fingerprint }}
|
||||
<link rel="stylesheet" type="text/css" href="{{ $index.RelPermalink }}">
|
||||
{{ end }}
|
||||
<div id="{{ $id }}" class="section {{if eq $odd 0}} section-even {{end}} row hero">
|
||||
<div class="section-content services">
|
||||
<div class="hero-description col-5">
|
||||
<div class="title">
|
||||
<h1 class="content-title">{{ $hero.title }}</h1>
|
||||
<div class="divider"></div>
|
||||
</div>
|
||||
{{ with $hero.logo }}
|
||||
{{- partial "components/image.html" (dict "type" .type "style" .style "url" .url "alt" .alt "width" .width "height" .height) -}}
|
||||
{{ end }}
|
||||
{{ partial "components/title.html" $hero.title }}
|
||||
<p>{{ $content }}</p>
|
||||
<br />
|
||||
{{ with $hero.button }}
|
||||
|
@ -28,8 +29,8 @@
|
|||
{{- end }}
|
||||
{{ end }}
|
||||
</div>
|
||||
<div class="hero-icon-container col-7">
|
||||
<img class="service-icon" alt="{{ $hero.image.alt }}" src="{{ $hero.image.url }}">
|
||||
<div class="side-image col-7">
|
||||
{{- partial "components/image.html" $hero.image -}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
|
@ -10,10 +10,7 @@
|
|||
<div id="{{ $id }}" class="section {{if eq $odd 0}} section-even {{end}}">
|
||||
<div class="section-content">
|
||||
{{ with $links.title }}
|
||||
<div class="title">
|
||||
<h1 class="content-title">{{ . }}</h1>
|
||||
<div class="divider"></div>
|
||||
</div>
|
||||
{{ partial "components/title.html" . }}
|
||||
{{ end }}
|
||||
<div class="cardList">
|
||||
{{- range $links.links}}
|
||||
|
@ -21,13 +18,14 @@
|
|||
<a href="{{ .url }}">
|
||||
<div class="cardContent">
|
||||
{{ if .image }}
|
||||
<img class="cardImage {{ if eq .image.cover false }} noCover {{ end }}" alt="{{ .image.alt }}" src="{{ .image.url }}" />
|
||||
{{ $style := "cardImage {{if ne .Params.image.cover }} noCover {{ end }}" }}
|
||||
{{- partial "components/image.html" (dict "style" $style "url" .image.url "alt" .image.alt) -}}
|
||||
{{ else if .icon }}
|
||||
<div class="cardImage">
|
||||
<i class="icon-{{ .icon }} cardIcon"></i>
|
||||
<i class="icon-{{ .icon }}"></i>
|
||||
</div>
|
||||
{{ else }}
|
||||
<img class="cardImage" alt="default image" src="{{ $defaultimage }}" />
|
||||
{{- partial "components/image.html" (dict "style" "cardImage" "url" $defaultimage "alt" "Placeholder") -}}
|
||||
{{ end }}
|
||||
<div class="cardTitle">{{ .title }}</div>
|
||||
</div>
|
||||
|
|
|
@ -9,14 +9,13 @@
|
|||
<div id="{{ $id }}" class="section {{if eq $odd 0}} section-even {{end}}">
|
||||
<div class="section-content funding">
|
||||
{{ with $logos.title }}
|
||||
<div class="title">
|
||||
<h1 class="content-title">{{ . }}</h1>
|
||||
<div class="divider"></div>
|
||||
</div>
|
||||
{{ partial "components/title.html" . }}
|
||||
{{ end }}
|
||||
<div class="funding-logos">
|
||||
{{- range $logos.logos}}
|
||||
<a href="{{ .url }}"><img class="funding-logo" src="{{ .logo }}" alt="{{ .text }}"></a>
|
||||
<a href="{{ .url }}">
|
||||
{{- partial "components/image.html" (dict "style" "funding-logo" "url" .logo "alt" .text) -}}
|
||||
</a>
|
||||
{{- end}}
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -10,28 +10,31 @@
|
|||
{{end}}
|
||||
<div id="{{ $id }}" class="section {{if eq $odd 0}} section-even {{end}}">
|
||||
<div class="section-content posts">
|
||||
<div class="title">
|
||||
<h1 class="content-title">{{ $posts.title }}</h1>
|
||||
<div class="divider"></div>
|
||||
</div>
|
||||
{{ partial "components/title.html" $posts.title }}
|
||||
<div class="cardList">
|
||||
{{ range first 3 $pages }}
|
||||
<div class="card">
|
||||
<a href="{{.Permalink}}">
|
||||
<div class="cardContent">
|
||||
{{ if .Params.image }}
|
||||
<img class="cardImage {{ if eq .Params.image.cover false }} noCover {{ end }}" alt="{{ .Params.image.alt }}" src="{{ .Params.image.url }}" />
|
||||
{{ $style := "cardImage {{if ne .Params.image.cover }} noCover {{ end }}" }}
|
||||
{{- partial "components/image.html" (dict "style" $style "url" .image.url "alt" .image.alt) -}}
|
||||
{{ else }}
|
||||
<img class="cardImage" src="{{ $defaultimage }}" alt="Defaul Image" />
|
||||
{{- partial "components/image.html" (dict "style" "cardImage" "url" $defaultimage "alt" "Placeholder") -}}
|
||||
{{ end }}
|
||||
<div class="cardTitle">{{.Title}}</div>
|
||||
<div class="cardDescription">{{ .Summary | safeHTML | truncate 320 }}</div>
|
||||
<div class="cardDetail">{{.Date.Format "02.01.2006"}} | {{.ReadingTime}} Minuten</div>
|
||||
<div class="cardDescription">
|
||||
{{ .Summary | safeHTML | truncate 320 }}
|
||||
</div>
|
||||
<div class="cardDetail">
|
||||
{{.Date.Format "02.01.2006"}} | {{.ReadingTime}} Minuten
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
{{ end }}
|
||||
</div>
|
||||
<div class="more-button"><a href="{{ $posts.id }}"> {{ $posts.moretext }} </a></div>
|
||||
{{ partial "components/button.html" (dict "type" "text block" "url"
|
||||
$posts.id "text" ($posts.more | default "More")) }}
|
||||
</div>
|
||||
</div>
|
|
@ -10,16 +10,13 @@
|
|||
<div id="{{$id}}" class="section {{if eq $odd 0}} section-even {{end}} row">
|
||||
<div class="section-content services">
|
||||
{{if and ($service.image) (eq $service.image.direction "left")}}
|
||||
<div class="service-icon-container col-5">
|
||||
<img class="service-icon" src="{{ $service.image.url }}" alt="{{ $service.image.alt }}">
|
||||
<div class="side-image col-5">
|
||||
{{- partial "components/image.html" $service.image -}}
|
||||
</div>
|
||||
{{end}}
|
||||
<div class="service-description {{if $service.image}} col-7 {{end}}">
|
||||
{{ with $service.title }}
|
||||
<div class="title">
|
||||
<h1 class="content-title">{{ . }}</h1>
|
||||
<div class="divider"></div>
|
||||
</div>
|
||||
{{ partial "components/title.html" . }}
|
||||
{{ end }}
|
||||
<p>{{ $content }}</p>
|
||||
<br />
|
||||
|
@ -30,8 +27,8 @@
|
|||
{{ end }}
|
||||
</div>
|
||||
{{if and ($service.image) (eq $service.image.direction "right")}}
|
||||
<div class="service-icon-container col-5">
|
||||
<img class="service-icon" src="{{ $service.image.url }}" alt="{{ $service.image.alt }}">
|
||||
<div class="side-image col-5">
|
||||
{{- partial "components/image.html" $service.image -}}
|
||||
</div>
|
||||
{{end}}
|
||||
</div>
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
<div class="slides">
|
||||
{{- range $index, $slide := $slider.images}}
|
||||
<div class="slide">
|
||||
<img src="{{ $slide }}" alt="{{ $index }}">
|
||||
{{- partial "components/image.html" (dict "url" $slide "alt" $index) -}}
|
||||
{{ if gt $length 1}}
|
||||
<span class="slider-navigation-right" onclick="scrollToNextSlideNr({{$index}})">
|
||||
<i class="icon-angle-right"></i>
|
||||
|
|
|
@ -10,18 +10,15 @@
|
|||
{{end}}
|
||||
<div id="{{ $id }}" class="section {{if eq $odd 0}} section-even {{end}}">
|
||||
<div class="section-content team">
|
||||
<div class="title">
|
||||
<h1 class="content-title">{{ $team.title }}</h1>
|
||||
<div class="divider"></div>
|
||||
</div>
|
||||
<div class="team-list">
|
||||
{{ partial "components/title.html" $team.title }}
|
||||
<div class="list">
|
||||
{{- range first 4 ((where $pages "Params.leaveDate" "==" nil).ByParam "startDate") }}
|
||||
<a href="{{.Permalink}}">
|
||||
<div class="teammember">
|
||||
<div class="member">
|
||||
{{ if .Params.image }}
|
||||
<img class="avatar" src="{{ .Params.image }}" alt="{{ .Params.name }} Avatar">
|
||||
{{- partial "components/image.html" (dict "style" "avatar" "url" .Params.image "alt" .Params.name) -}}
|
||||
{{ else }}
|
||||
<img class="avatar" src="{{ $defaultimage }}" alt="Default Avatar">
|
||||
{{- partial "components/image.html" (dict "style" "avatar" "url" $defaultimage "alt" "Placeholder") -}}
|
||||
{{ end }}
|
||||
<h1 class="teammember-title">{{ .Params.name }}</h1>
|
||||
{{- range .Params.jobs }}
|
||||
|
@ -30,17 +27,18 @@
|
|||
<div class="social-media">
|
||||
<span>
|
||||
{{- range .Params.social}}
|
||||
<a href="{{ .url }}"><i class="icon-{{ .type }}"></i></a>
|
||||
{{ partial "components/icon.html" . }}
|
||||
{{- end}}
|
||||
{{if .Params.mail}}
|
||||
<a href="mailto:{{ .Params.mail }}"><i class="icon-at"></i></a>
|
||||
{{end}}
|
||||
{{ if .Params.mail }}
|
||||
{{ $mailto := "mailto:{{ .Params.mail }}" }}
|
||||
{{ partial "components/icon.html" (dict "type" "at" "url" $mailto) }}
|
||||
{{ end }}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
{{- end }}
|
||||
</div>
|
||||
<div class="more-button"><a href="{{ $team.id }}"> {{ $team.moretext }} </a></div>
|
||||
{{ partial "components/button.html" (dict "type" "text block" "url" $team.id "text" ($team.more | default "More")) }}
|
||||
</div>
|
||||
</div>
|
|
@ -1,11 +1,7 @@
|
|||
{{ define "main" }}
|
||||
<div class="content">
|
||||
<article>
|
||||
<div class="title">
|
||||
<h1 class="content-title">{{ .Title }}</h1>
|
||||
<div class="divider"></div>
|
||||
</div>
|
||||
<!-- "{{.Content}}" pulls from the markdown content of the corresponding _index.md -->
|
||||
{{ partial "components/title.html" .Title }}
|
||||
{{.Content}}
|
||||
</article>
|
||||
<!-- Ranges through content/posts/*.md -->
|
||||
|
@ -15,9 +11,10 @@
|
|||
<a href="{{.Permalink}}">
|
||||
<div class="cardContent">
|
||||
{{ if .Params.image }}
|
||||
<img class="cardImage {{ if eq .Params.image.cover false }} noCover {{ end }}" alt="{{ .Params.image.alt }}" src="{{ .Params.image.url }}" />
|
||||
{{ $style := "cardImage {{if ne .Params.image.cover }} noCover {{ end }}" }}
|
||||
{{- partial "components/image.html" (dict "style" $style "url" .Params.image.url "alt" .Params.image.alt) -}}
|
||||
{{ else }}
|
||||
<img class="cardImage" src="{{ .Site.Params.defaultimage }}" alt="Default Image" />
|
||||
{{- partial "components/image.html" (dict "style" "cardImage" "url" .Site.Params.defaultimage "alt" "Placeholder") -}}
|
||||
{{ end }}
|
||||
<div class="cardTitle">{{.Title}}</div>
|
||||
<div class="cardDescription">{{ .Summary | safeHTML | truncate 320 }}</div>
|
||||
|
|
|
@ -1,47 +1,7 @@
|
|||
{{ define "opengraph" }}
|
||||
<meta name="twitter:card" content="summary_large_image" />
|
||||
<meta property="og:type" content="article" />
|
||||
{{ with .Site.LanguageCode }}
|
||||
<meta property="og:locale" content='{{ replace . "-" "_" }}' />
|
||||
{{ end }}
|
||||
<meta property="og:title" content="{{ if .Title }}{{ .Title }}{{ else }}{{ .Site.Title }}{{ end }}" />
|
||||
<meta name="twitter:title" content="{{ if .Title }}{{ .Title }}{{ else }}{{ .Site.Title }}{{ end }}" />
|
||||
<meta property="og:url" content="{{ .Permalink }}" />
|
||||
<meta property="og:site_name" content="{{ .Site.Title }}" />
|
||||
{{ if .Params.image }}
|
||||
<meta property="og:image" content="{{ .Params.image | absURL }}" />
|
||||
<meta name="twitter:image" content="{{ .Params.image | absURL }}" />
|
||||
{{ else }}
|
||||
<meta property="og:image" content="{{ .Site.Params.logo | absURL }}" />
|
||||
<meta name="twitter:image" content="{{ .Site.Params.logo | absURL }}" />
|
||||
{{ end }}
|
||||
{{ if .Params.summary }}
|
||||
<meta property="og:description" content="{{ .Params.summary }}" />
|
||||
<meta name="twitter:description" content="{{ .Params.summary }}" />
|
||||
{{ else if .Content }}
|
||||
<meta property="og:description" content="{{ .Content | safeHTML | truncate 100 }}" />
|
||||
<meta name="twitter:description" content="{{ .Params.summary }}" />
|
||||
{{ else }}
|
||||
<meta property="og:description" content="{{ .Site.Params.Description }}" />
|
||||
<meta name="twitter:description" content="{{ .Params.summary }}" />
|
||||
{{ end }}
|
||||
<meta property="article:published_time" content='{{.Date.Format "2006-01-02"}}' />
|
||||
{{ with .Params.author }}
|
||||
<meta property="article:author" content="{{ . }}" />
|
||||
{{ end }}
|
||||
<meta property="article:section" content="Blog" />
|
||||
{{ with .Params.tags }}
|
||||
{{ range . }}
|
||||
<meta property="article:tag" content="{{ . }}" />
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
|
||||
|
||||
{{ end }}
|
||||
|
||||
{{ define "main" }}
|
||||
{{ with .Params.image }}
|
||||
<img class="coverimage {{ if eq .cover false }} noCover {{ end }}" alt="{{ .alt }}" src="{{ .url }}" />
|
||||
{{ $style := "coverimage {{if ne .Params.image.cover }} noCover {{ end }}" }}
|
||||
{{- partial "components/image.html" (dict "style" $style "url" .url "alt" .alt) -}}
|
||||
{{ with .copyright }}
|
||||
<div class="image-copyright">© {{ . }}</div>
|
||||
{{ end }}
|
||||
|
@ -67,18 +27,18 @@
|
|||
<a href="{{.Permalink}}">
|
||||
<div class="author">
|
||||
{{ if .Params.image }}
|
||||
<img class="avatar-small" src="{{ .Params.image }}" alt="{{ .Params.name }} Avatar">
|
||||
{{- partial "components/image.html" (dict "style" "avatar-small" "url" .Params.image "alt" .Params.name) -}}
|
||||
{{ else }}
|
||||
<img class="avatar-small" src="{{ $.Site.Params.defaultimage }}" alt="Default Avatar">
|
||||
{{- partial "components/image.html" (dict "style" "avatar-small" "url" $.Site.Params.defaultimage "alt" "Placeholder") -}}
|
||||
{{ end }}
|
||||
<h4 class="author-title">{{ .Params.name }}</h4>
|
||||
<div class="social-media">
|
||||
<span>
|
||||
{{- range .Params.social}}
|
||||
<a href="{{ .url }}"><i class="icon-{{ .type }}"></i></a>
|
||||
{{ partial "components/icon.html" . }}
|
||||
{{- end}}
|
||||
{{if .Params.mail}}
|
||||
<a href="mailto:{{ .Params.mail }}"><i class="icon-at"></i></a>
|
||||
{{ partial "components/icon.html" (dict "type" "at" "url" "mailto:{{ .Params.mail }}") }}
|
||||
{{end}}
|
||||
</span>
|
||||
</div>
|
||||
|
|
|
@ -1,10 +1,7 @@
|
|||
{{ define "main" }}
|
||||
<div class="content">
|
||||
<article>
|
||||
<div class="title">
|
||||
<h1 class="content-title">{{ .Title }}</h1>
|
||||
<div class="divider"></div>
|
||||
</div>
|
||||
{{ partial "components/title.html" .Title }}
|
||||
{{.Content}}
|
||||
</article>
|
||||
<div class="team-list">
|
||||
|
@ -12,9 +9,9 @@
|
|||
<a href="{{.Permalink}}">
|
||||
<div class="teammember">
|
||||
{{ if .Params.image }}
|
||||
<img class="avatar" src="{{ .Params.image }}" alt="{{ .Params.name }} Avatar">
|
||||
{{- partial "components/image.html" (dict "style" "avatar" "url" .Params.image "alt" .Params.name) -}}
|
||||
{{ else }}
|
||||
<img class="avatar" src="{{ $.Site.Params.defaultimage }}" alt="Default Avatar">
|
||||
{{- partial "components/image.html" (dict "style" "avatar" "url" $.Site.Params.defaultimage "alt" "Placeholder") -}}
|
||||
{{ end }}
|
||||
<h1 class="teammember-title">{{ .Params.name }}</h1>
|
||||
{{- range .Params.jobs }}
|
||||
|
@ -23,10 +20,10 @@
|
|||
<div class="social-media">
|
||||
<span>
|
||||
{{- range .Params.social}}
|
||||
<a href="{{ .url }}"><i class="icon-{{ .type }}"></i></a>
|
||||
{{ partial "components/icon.html" . }}
|
||||
{{- end}}
|
||||
{{if .Params.mail}}
|
||||
<a href="mailto:{{ .Params.mail }}"><i class="icon-at"></i></a>
|
||||
{{ partial "components/icon.html" (dict "type" "at" "url" "mailto:{{ .Params.mail }}") }}
|
||||
{{end}}
|
||||
</span>
|
||||
</div>
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
<div class="content">
|
||||
<div class="teammember-header">
|
||||
{{ with .Params.image }}
|
||||
<img class="teammember-header-avatar" src="{{ . }}" alt="Avatar">
|
||||
{{- partial "components/image.html" (dict "style" "teammember-header-avatar" "url" . "alt" "Avatar") -}}
|
||||
{{ end }}
|
||||
<div>
|
||||
<div class="teammember-header-title">
|
||||
|
@ -10,10 +10,10 @@
|
|||
<div class="teammember-header-social-media">
|
||||
<span>
|
||||
{{- range .Params.social}}
|
||||
<a href="{{ .url }}"><i class="icon-{{ .type }}"></i></a>
|
||||
{{ partial "components/icon.html" . }}
|
||||
{{- end}}
|
||||
{{if .Params.mail}}
|
||||
<a href="mailto:{{ .Params.mail }}"><i class="icon-at"></i></a>
|
||||
{{ partial "components/icon.html" (dict "type" "at" "url" "mailto:{{ .Params.mail }}") }}
|
||||
{{end}}
|
||||
</span>
|
||||
</div>
|
||||
|
@ -35,9 +35,10 @@
|
|||
<a href="{{.Permalink}}">
|
||||
<div class="cardContent">
|
||||
{{ if .Params.image }}
|
||||
<img class="cardImage {{ if eq .Params.image.cover false }} noCover {{ end }}" alt="{{ .Params.image.alt }}" src="{{ .Params.image.url }}" />
|
||||
{{ $style := "cardImage {{if ne .Params.image.cover }} noCover {{ end }}" }}
|
||||
{{- partial "components/image.html" (dict "style" $style "url" .Params.image.url "alt" .Params.image.alt) -}}
|
||||
{{ else }}
|
||||
<img class="cardImage" src="{{ .Site.Params.defaultimage }}" alt="Default Image" />
|
||||
{{- partial "components/image.html" (dict "style" "cardImage" "url" .Site.Params.defaultimage "alt" "Placeholder") -}}
|
||||
{{ end }}
|
||||
<div class="cardTitle">{{.Title}}</div>
|
||||
<div class="cardDescription">{{ .Summary | safeHTML | truncate 320 }}</div>
|
||||
|
|
91
static/button/apple-appstore-button.svg
Normal file
91
static/button/apple-appstore-button.svg
Normal file
|
@ -0,0 +1,91 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
|
||||
|
||||
<svg
|
||||
width="800.21259"
|
||||
height="237.1003"
|
||||
viewBox="0 -189.93 539.99946 160.00002"
|
||||
version="1.1"
|
||||
id="svg12"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<defs
|
||||
id="defs12" />
|
||||
<g
|
||||
transform="matrix(4.00216,0,0,4.0011,0,-189.92999)"
|
||||
id="g12">
|
||||
<path
|
||||
fill="#ffffff"
|
||||
d="m 134.032,35.268 a 3.83,3.83 0 0 1 -3.834,3.83 H 4.729 A 3.835,3.835 0 0 1 0.89,35.268 V 4.725 A 3.84,3.84 0 0 1 4.729,0.89 h 125.468 a 3.834,3.834 0 0 1 3.834,3.835 z"
|
||||
id="path1" />
|
||||
<path
|
||||
fill="#a6a6a6"
|
||||
d="M 130.198,39.989 H 4.729 A 4.73,4.73 0 0 1 0,35.268 V 4.726 A 4.733,4.733 0 0 1 4.729,0 h 125.468 a 4.735,4.735 0 0 1 4.729,4.726 v 30.542 c 0.002,2.604 -2.123,4.721 -4.728,4.721 z"
|
||||
id="path2" />
|
||||
<path
|
||||
d="m 134.032,35.268 a 3.83,3.83 0 0 1 -3.834,3.83 H 4.729 A 3.835,3.835 0 0 1 0.89,35.268 V 4.725 A 3.84,3.84 0 0 1 4.729,0.89 h 125.468 a 3.834,3.834 0 0 1 3.834,3.835 z"
|
||||
id="path3" />
|
||||
<path
|
||||
fill="#ffffff"
|
||||
d="m 30.128,19.784 c -0.029,-3.223 2.639,-4.791 2.761,-4.864 -1.511,-2.203 -3.853,-2.504 -4.676,-2.528 -1.967,-0.207 -3.875,1.177 -4.877,1.177 -1.022,0 -2.565,-1.157 -4.228,-1.123 -2.14,0.033 -4.142,1.272 -5.24,3.196 -2.266,3.923 -0.576,9.688 1.595,12.859 1.086,1.554 2.355,3.287 4.016,3.226 1.625,-0.066 2.232,-1.035 4.193,-1.035 1.943,0 2.513,1.035 4.207,0.996 1.744,-0.027 2.842,-1.56 3.89,-3.127 1.255,-1.779 1.759,-3.533 1.779,-3.623 -0.04,-0.014 -3.386,-1.292 -3.42,-5.154 z m -3.2,-9.478 c 0.874,-1.093 1.472,-2.58 1.306,-4.089 -1.265,0.056 -2.847,0.875 -3.758,1.944 -0.806,0.942 -1.526,2.486 -1.34,3.938 1.421,0.106 2.88,-0.717 3.792,-1.793 z"
|
||||
id="path4" />
|
||||
<linearGradient
|
||||
id="a"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="-23.235001"
|
||||
y1="97.431"
|
||||
x2="-23.235001"
|
||||
y2="61.386002"
|
||||
gradientTransform="matrix(4.0022,0,0,4.0011,191.95,-349.736)">
|
||||
<stop
|
||||
offset="0"
|
||||
stop-color="#1a1a1a"
|
||||
stop-opacity=".1"
|
||||
id="stop4" />
|
||||
<stop
|
||||
offset=".123"
|
||||
stop-color="#212121"
|
||||
stop-opacity=".151"
|
||||
id="stop5" />
|
||||
<stop
|
||||
offset=".308"
|
||||
stop-color="#353535"
|
||||
stop-opacity=".227"
|
||||
id="stop6" />
|
||||
<stop
|
||||
offset=".532"
|
||||
stop-color="#575757"
|
||||
stop-opacity=".318"
|
||||
id="stop7" />
|
||||
<stop
|
||||
offset=".783"
|
||||
stop-color="#858585"
|
||||
stop-opacity=".421"
|
||||
id="stop8" />
|
||||
<stop
|
||||
offset="1"
|
||||
stop-color="#b3b3b3"
|
||||
stop-opacity=".51"
|
||||
id="stop9" />
|
||||
</linearGradient>
|
||||
<path
|
||||
fill="url(#a)"
|
||||
d="M 130.198,0 H 62.993 l 26.323,39.989 h 40.882 a 4.733,4.733 0 0 0 4.729,-4.724 V 4.726 A 4.734,4.734 0 0 0 130.198,0 Z"
|
||||
id="path9"
|
||||
style="fill:url(#a)" />
|
||||
<g
|
||||
fill="#ffffff"
|
||||
id="g10">
|
||||
<path
|
||||
d="M 53.665,31.504 H 51.394 L 50.15,27.595 h -4.324 l -1.185,3.909 H 42.43 l 4.285,-13.308 h 2.646 z M 49.775,25.955 48.65,22.48 c -0.119,-0.355 -0.343,-1.191 -0.671,-2.507 h -0.04 c -0.132,0.566 -0.343,1.402 -0.632,2.507 l -1.106,3.475 z m 14.888,0.633 c 0,1.632 -0.443,2.922 -1.33,3.869 -0.794,0.843 -1.781,1.264 -2.958,1.264 -1.271,0 -2.185,-0.453 -2.74,-1.361 v 5.035 H 55.503 V 25.062 c 0,-1.025 -0.027,-2.076 -0.079,-3.154 h 1.875 l 0.119,1.521 h 0.04 c 0.711,-1.146 1.79,-1.719 3.238,-1.719 1.132,0 2.077,0.447 2.833,1.342 0.755,0.897 1.134,2.075 1.134,3.536 z m -2.172,0.078 c 0,-0.934 -0.21,-1.704 -0.632,-2.311 -0.461,-0.631 -1.08,-0.947 -1.856,-0.947 -0.526,0 -1.004,0.176 -1.431,0.523 -0.428,0.35 -0.708,0.807 -0.839,1.373 a 2.784,2.784 0 0 0 -0.099,0.649 v 1.601 c 0,0.697 0.214,1.286 0.642,1.768 0.428,0.48 0.984,0.721 1.668,0.721 0.803,0 1.428,-0.311 1.875,-0.928 0.448,-0.619 0.672,-1.435 0.672,-2.449 z M 75.7,26.588 c 0,1.632 -0.443,2.922 -1.33,3.869 -0.795,0.843 -1.781,1.264 -2.959,1.264 -1.271,0 -2.185,-0.453 -2.74,-1.361 v 5.035 H 66.539 V 25.062 c 0,-1.025 -0.027,-2.076 -0.079,-3.154 h 1.875 l 0.119,1.521 h 0.04 c 0.71,-1.146 1.789,-1.719 3.238,-1.719 1.131,0 2.076,0.447 2.834,1.342 0.754,0.897 1.134,2.075 1.134,3.536 z m -2.173,0.078 c 0,-0.934 -0.211,-1.704 -0.633,-2.311 -0.461,-0.631 -1.078,-0.947 -1.854,-0.947 -0.526,0 -1.004,0.176 -1.433,0.523 -0.428,0.35 -0.707,0.807 -0.838,1.373 -0.065,0.264 -0.1,0.479 -0.1,0.649 v 1.601 c 0,0.697 0.215,1.286 0.641,1.768 0.428,0.479 0.984,0.721 1.67,0.721 0.804,0 1.429,-0.311 1.875,-0.928 0.448,-0.619 0.672,-1.435 0.672,-2.449 z m 14.513,1.105 c 0,1.133 -0.396,2.054 -1.183,2.765 -0.866,0.776 -2.075,1.165 -3.625,1.165 -1.432,0 -2.58,-0.276 -3.446,-0.829 l 0.493,-1.777 c 0.935,0.554 1.962,0.83 3.08,0.83 0.804,0 1.429,-0.182 1.875,-0.543 0.447,-0.362 0.673,-0.846 0.673,-1.45 0,-0.541 -0.187,-0.994 -0.554,-1.363 -0.369,-0.368 -0.979,-0.711 -1.836,-1.026 -2.33,-0.869 -3.496,-2.14 -3.496,-3.812 0,-1.092 0.412,-1.986 1.234,-2.685 0.822,-0.698 1.912,-1.047 3.268,-1.047 1.211,0 2.22,0.211 3.021,0.632 l -0.535,1.738 c -0.754,-0.408 -1.605,-0.612 -2.557,-0.612 -0.752,0 -1.342,0.185 -1.764,0.553 -0.355,0.329 -0.535,0.73 -0.535,1.206 0,0.525 0.205,0.961 0.613,1.303 0.354,0.315 1,0.658 1.934,1.026 1.146,0.462 1.988,1 2.527,1.618 0.543,0.618 0.813,1.389 0.813,2.308 z m 7.067,-4.263 h -2.35 v 4.659 c 0,1.185 0.414,1.776 1.244,1.776 0.381,0 0.697,-0.032 0.947,-0.099 l 0.059,1.619 c -0.42,0.157 -0.973,0.236 -1.658,0.236 -0.842,0 -1.5,-0.257 -1.975,-0.771 -0.473,-0.514 -0.711,-1.375 -0.711,-2.587 v -4.837 h -1.4 v -1.6 h 1.4 v -1.757 l 2.094,-0.632 v 2.389 h 2.35 z m 10.582,3.119 c 0,1.475 -0.422,2.686 -1.264,3.633 -0.881,0.975 -2.053,1.461 -3.514,1.461 -1.41,0 -2.531,-0.467 -3.367,-1.4 -0.836,-0.935 -1.254,-2.113 -1.254,-3.534 0,-1.487 0.432,-2.705 1.293,-3.652 0.863,-0.948 2.025,-1.422 3.486,-1.422 1.408,0 2.539,0.468 3.395,1.402 0.818,0.906 1.225,2.076 1.225,3.512 z m -2.21,0.049 c 0,-0.879 -0.19,-1.633 -0.571,-2.264 -0.447,-0.762 -1.087,-1.143 -1.916,-1.143 -0.854,0 -1.509,0.381 -1.955,1.143 -0.382,0.631 -0.572,1.398 -0.572,2.304 0,0.88 0.19,1.636 0.572,2.265 0.461,0.762 1.104,1.143 1.937,1.143 0.815,0 1.454,-0.389 1.916,-1.162 0.392,-0.646 0.589,-1.405 0.589,-2.286 z m 9.143,-2.893 a 3.71,3.71 0 0 0 -0.672,-0.059 c -0.75,0 -1.33,0.282 -1.738,0.85 -0.354,0.5 -0.532,1.132 -0.532,1.895 v 5.035 h -2.132 V 24.93 a 67.43,67.43 0 0 0 -0.062,-3.021 h 1.857 l 0.078,1.836 h 0.059 c 0.226,-0.631 0.58,-1.14 1.066,-1.521 a 2.578,2.578 0 0 1 1.541,-0.514 c 0.197,0 0.375,0.014 0.533,0.039 z m 9.535,2.469 a 5,5 0 0 1 -0.078,0.967 h -6.396 c 0.024,0.948 0.334,1.674 0.928,2.174 0.539,0.446 1.236,0.67 2.092,0.67 0.947,0 1.811,-0.15 2.588,-0.453 l 0.334,1.479 c -0.908,0.396 -1.98,0.593 -3.217,0.593 -1.488,0 -2.656,-0.438 -3.506,-1.312 -0.848,-0.875 -1.273,-2.051 -1.273,-3.524 0,-1.446 0.395,-2.651 1.186,-3.612 0.828,-1.026 1.947,-1.539 3.355,-1.539 1.383,0 2.43,0.513 3.141,1.539 0.563,0.813 0.846,1.821 0.846,3.018 z m -2.033,-0.553 c 0.015,-0.633 -0.125,-1.178 -0.414,-1.639 -0.369,-0.594 -0.937,-0.89 -1.698,-0.89 -0.697,0 -1.265,0.289 -1.697,0.869 -0.355,0.461 -0.566,1.015 -0.631,1.658 z"
|
||||
id="path10" />
|
||||
</g>
|
||||
<g
|
||||
fill="#ffffff"
|
||||
id="g11">
|
||||
<path
|
||||
d="m 45.211,13.491 c -0.593,0 -1.106,-0.029 -1.533,-0.078 V 6.979 a 11.606,11.606 0 0 1 1.805,-0.136 c 2.445,0 3.571,1.203 3.571,3.164 0,2.262 -1.33,3.484 -3.843,3.484 z m 0.358,-5.823 c -0.33,0 -0.611,0.02 -0.844,0.068 v 4.891 c 0.126,0.02 0.368,0.029 0.708,0.029 1.602,0 2.514,-0.912 2.514,-2.62 0,-1.523 -0.825,-2.368 -2.378,-2.368 z m 6.994,5.872 c -1.378,0 -2.271,-1.029 -2.271,-2.426 0,-1.456 0.912,-2.494 2.349,-2.494 1.358,0 2.271,0.98 2.271,2.417 0,1.474 -0.941,2.503 -2.349,2.503 z m 0.04,-4.154 c -0.757,0 -1.242,0.708 -1.242,1.698 0,0.971 0.495,1.679 1.232,1.679 0.737,0 1.232,-0.757 1.232,-1.699 0,-0.96 -0.485,-1.678 -1.222,-1.678 z M 62.77,8.717 61.295,13.433 H 60.334 L 59.723,11.385 A 15.53,15.53 0 0 1 59.344,9.862 h -0.02 c -0.077,0.514 -0.223,1.029 -0.378,1.523 l -0.65,2.048 H 57.325 L 55.937,8.717 h 1.077 l 0.534,2.242 c 0.126,0.534 0.232,1.038 0.32,1.514 h 0.02 c 0.077,-0.397 0.203,-0.893 0.388,-1.504 l 0.67,-2.251 H 59.8 l 0.641,2.203 c 0.155,0.534 0.281,1.058 0.379,1.553 h 0.028 c 0.068,-0.485 0.175,-1 0.32,-1.553 l 0.573,-2.203 z m 5.43,4.716 h -1.048 v -2.708 c 0,-0.834 -0.32,-1.252 -0.951,-1.252 -0.621,0 -1.048,0.534 -1.048,1.155 v 2.805 h -1.048 v -3.368 c 0,-0.417 -0.01,-0.864 -0.039,-1.349 h 0.922 l 0.049,0.728 h 0.029 C 65.348,8.94 65.92,8.62 66.561,8.62 c 0.99,0 1.64,0.757 1.64,1.989 z m 2.89,0 h -1.049 v -6.88 h 1.049 z m 3.821,0.107 c -1.377,0 -2.271,-1.029 -2.271,-2.426 0,-1.456 0.912,-2.494 2.348,-2.494 1.359,0 2.271,0.98 2.271,2.417 0.001,1.474 -0.941,2.503 -2.348,2.503 z M 74.95,9.386 c -0.757,0 -1.242,0.708 -1.242,1.698 0,0.971 0.496,1.679 1.231,1.679 0.738,0 1.232,-0.757 1.232,-1.699 10e-4,-0.96 -0.483,-1.678 -1.221,-1.678 z m 6.441,4.047 -0.076,-0.543 h -0.028 c -0.32,0.437 -0.787,0.65 -1.379,0.65 -0.845,0 -1.445,-0.592 -1.445,-1.388 0,-1.164 1.009,-1.766 2.756,-1.766 v -0.087 c 0,-0.621 -0.329,-0.932 -0.979,-0.932 -0.465,0 -0.873,0.117 -1.232,0.35 L 78.795,9.028 c 0.436,-0.272 0.98,-0.408 1.619,-0.408 1.232,0 1.854,0.65 1.854,1.951 v 1.737 c 0,0.476 0.021,0.845 0.068,1.126 z m -0.144,-2.349 c -1.164,0 -1.748,0.282 -1.748,0.951 0,0.495 0.301,0.737 0.719,0.737 0.533,0 1.029,-0.407 1.029,-0.96 z m 6.11,2.349 -0.049,-0.757 h -0.029 c -0.301,0.572 -0.807,0.864 -1.514,0.864 -1.137,0 -1.979,-1 -1.979,-2.407 0,-1.475 0.873,-2.514 2.065,-2.514 0.631,0 1.078,0.213 1.33,0.641 h 0.021 V 6.553 h 1.049 v 5.609 c 0,0.456 0.011,0.883 0.039,1.271 z m -0.155,-2.775 c 0,-0.66 -0.437,-1.223 -1.104,-1.223 -0.777,0 -1.252,0.689 -1.252,1.659 0,0.951 0.493,1.602 1.231,1.602 0.659,0 1.125,-0.573 1.125,-1.252 z m 7.7,2.882 c -1.377,0 -2.27,-1.029 -2.27,-2.426 0,-1.456 0.912,-2.494 2.348,-2.494 1.359,0 2.271,0.98 2.271,2.417 10e-4,1.474 -0.94,2.503 -2.349,2.503 z m 0.039,-4.154 c -0.756,0 -1.241,0.708 -1.241,1.698 0,0.971 0.495,1.679 1.231,1.679 0.738,0 1.232,-0.757 1.232,-1.699 0.002,-0.96 -0.483,-1.678 -1.222,-1.678 z m 7.946,4.047 h -1.049 v -2.708 c 0,-0.834 -0.32,-1.252 -0.951,-1.252 -0.621,0 -1.047,0.534 -1.047,1.155 v 2.805 h -1.049 v -3.368 c 0,-0.417 -0.01,-0.864 -0.039,-1.349 h 0.922 l 0.049,0.728 h 0.029 c 0.281,-0.504 0.854,-0.825 1.494,-0.825 0.99,0 1.641,0.757 1.641,1.989 z m 7.051,-3.93 h -1.153 v 2.29 c 0,0.583 0.202,0.874 0.61,0.874 0.185,0 0.34,-0.02 0.465,-0.049 l 0.029,0.796 c -0.203,0.078 -0.475,0.117 -0.813,0.117 -0.826,0 -1.32,-0.456 -1.32,-1.65 V 9.503 h -0.688 V 8.717 h 0.688 V 7.853 l 1.029,-0.311 v 1.174 h 1.153 z m 5.548,3.93 h -1.047 v -2.688 c 0,-0.844 -0.319,-1.271 -0.951,-1.271 -0.543,0 -1.049,0.369 -1.049,1.116 v 2.843 h -1.047 v -6.88 h 1.047 v 2.833 h 0.021 c 0.33,-0.514 0.808,-0.767 1.418,-0.767 0.998,0 1.608,0.776 1.608,2.009 z m 5.684,-2.106 h -3.145 c 0.02,0.893 0.611,1.397 1.486,1.397 0.465,0 0.893,-0.078 1.271,-0.223 l 0.163,0.728 c -0.446,0.194 -0.971,0.291 -1.582,0.291 -1.475,0 -2.348,-0.932 -2.348,-2.377 0,-1.446 0.894,-2.533 2.23,-2.533 1.205,0 1.961,0.893 1.961,2.242 a 2.02,2.02 0 0 1 -0.036,0.475 z m -0.961,-0.747 c 0,-0.728 -0.367,-1.242 -1.037,-1.242 -0.602,0 -1.078,0.524 -1.146,1.242 z"
|
||||
id="path11" />
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 11 KiB |
170
static/button/google-play-button.svg
Normal file
170
static/button/google-play-button.svg
Normal file
|
@ -0,0 +1,170 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
|
||||
|
||||
<svg
|
||||
width="800"
|
||||
height="237.03702"
|
||||
viewBox="0 -47.5 135 39.999997"
|
||||
id="Layer_1"
|
||||
version="1.1"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<defs
|
||||
id="defs23" />
|
||||
<style
|
||||
id="style1">.st0{fill:#a6a6a6}.st1{stroke:#ffffff;stroke-width:.2;stroke-miterlimit:10}.st1,.st2{fill:#fff}.st3{fill:url(#SVGID_1_)}.st4{fill:url(#SVGID_2_)}.st5{fill:url(#SVGID_3_)}.st6{fill:url(#SVGID_4_)}.st7,.st8,.st9{opacity:.2;enable-background:new}.st8,.st9{opacity:.12}.st9{opacity:.25;fill:#fff}</style>
|
||||
<g
|
||||
id="g24"
|
||||
transform="translate(0,-47.5)">
|
||||
<path
|
||||
d="M 130,40 H 5 C 2.2,40 0,37.8 0,35 V 5 C 0,2.2 2.2,0 5,0 h 125 c 2.8,0 5,2.2 5,5 v 30 c 0,2.8 -2.2,5 -5,5 z"
|
||||
id="path1" />
|
||||
<path
|
||||
class="st1"
|
||||
d="m 47.4,10.2 c 0,0.8 -0.2,1.5 -0.7,2 -0.6,0.6 -1.3,0.9 -2.2,0.9 -0.9,0 -1.6,-0.3 -2.2,-0.9 -0.6,-0.6 -0.9,-1.3 -0.9,-2.2 0,-0.9 0.3,-1.6 0.9,-2.2 0.6,-0.6 1.3,-0.9 2.2,-0.9 0.4,0 0.8,0.1 1.2,0.3 0.4,0.2 0.7,0.4 0.9,0.7 L 46.1,8.4 C 45.7,7.9 45.2,7.7 44.5,7.7 c -0.6,0 -1.2,0.2 -1.6,0.7 -0.5,0.4 -0.7,1 -0.7,1.7 0,0.7 0.2,1.3 0.7,1.7 0.5,0.4 1,0.7 1.6,0.7 0.7,0 1.2,-0.2 1.7,-0.7 0.3,-0.3 0.5,-0.7 0.5,-1.2 H 44.5 V 9.8 h 2.9 z M 52,7.7 h -2.7 v 1.9 h 2.5 v 0.7 h -2.5 v 1.9 H 52 V 13 H 48.5 V 7 H 52 Z M 55.3,13 H 54.5 V 7.7 H 52.8 V 7 H 57 v 0.7 h -1.7 z m 4.6,0 V 7 h 0.8 v 6 z m 4.2,0 H 63.3 V 7.7 H 61.6 V 7 h 4.1 V 7.7 H 64 V 13 Z m 9.5,-0.8 c -0.6,0.6 -1.3,0.9 -2.2,0.9 -0.9,0 -1.6,-0.3 -2.2,-0.9 -0.6,-0.6 -0.9,-1.3 -0.9,-2.2 0,-0.9 0.3,-1.6 0.9,-2.2 0.6,-0.6 1.3,-0.9 2.2,-0.9 0.9,0 1.6,0.3 2.2,0.9 0.6,0.6 0.9,1.3 0.9,2.2 0,0.9 -0.3,1.6 -0.9,2.2 z m -3.8,-0.5 c 0.4,0.4 1,0.7 1.6,0.7 0.6,0 1.2,-0.2 1.6,-0.7 0.4,-0.4 0.7,-1 0.7,-1.7 C 73.7,9.3 73.5,8.7 73,8.3 72.6,7.9 72,7.6 71.4,7.6 c -0.6,0 -1.2,0.2 -1.6,0.7 -0.4,0.4 -0.7,1 -0.7,1.7 0,0.7 0.2,1.3 0.7,1.7 z M 75.6,13 V 7 h 0.9 l 2.9,4.7 V 7 h 0.8 v 6 H 79.4 L 76.3,8.1 V 13 Z"
|
||||
id="path3" />
|
||||
<path
|
||||
class="st2"
|
||||
d="m 68.1,21.8 c -2.4,0 -4.3,1.8 -4.3,4.3 0,2.4 1.9,4.3 4.3,4.3 2.4,0 4.3,-1.8 4.3,-4.3 0,-2.6 -1.9,-4.3 -4.3,-4.3 z m 0,6.8 c -1.3,0 -2.4,-1.1 -2.4,-2.6 0,-1.5 1.1,-2.6 2.4,-2.6 1.3,0 2.4,1 2.4,2.6 0,1.5 -1.1,2.6 -2.4,2.6 z m -9.3,-6.8 c -2.4,0 -4.3,1.8 -4.3,4.3 0,2.4 1.9,4.3 4.3,4.3 2.4,0 4.3,-1.8 4.3,-4.3 0,-2.6 -1.9,-4.3 -4.3,-4.3 z m 0,6.8 c -1.3,0 -2.4,-1.1 -2.4,-2.6 0,-1.5 1.1,-2.6 2.4,-2.6 1.3,0 2.4,1 2.4,2.6 0,1.5 -1.1,2.6 -2.4,2.6 z M 47.7,23.1 v 1.8 H 52 c -0.1,1 -0.5,1.8 -1,2.3 -0.6,0.6 -1.6,1.3 -3.3,1.3 -2.7,0 -4.7,-2.1 -4.7,-4.8 0,-2.7 2.1,-4.8 4.7,-4.8 1.4,0 2.5,0.6 3.3,1.3 l 1.3,-1.3 c -1.1,-1 -2.5,-1.8 -4.5,-1.8 -3.6,0 -6.7,3 -6.7,6.6 0,3.6 3.1,6.6 6.7,6.6 2,0 3.4,-0.6 4.6,-1.9 1.2,-1.2 1.6,-2.9 1.6,-4.2 0,-0.4 0,-0.8 -0.1,-1.1 z m 45.4,1.4 c -0.4,-1 -1.4,-2.7 -3.6,-2.7 -2.2,0 -4,1.7 -4,4.3 0,2.4 1.8,4.3 4.2,4.3 1.9,0 3.1,-1.2 3.5,-1.9 l -1.4,-1 c -0.5,0.7 -1.1,1.2 -2.1,1.2 -1,0 -1.6,-0.4 -2.1,-1.3 L 93.3,25 Z m -5.8,1.4 c 0,-1.6 1.3,-2.5 2.2,-2.5 0.7,0 1.4,0.4 1.6,0.9 z M 82.6,30 h 1.9 V 17.5 h -1.9 z m -3,-7.3 c -0.5,-0.5 -1.3,-1 -2.3,-1 -2.1,0 -4.1,1.9 -4.1,4.3 0,2.4 1.9,4.2 4.1,4.2 1,0 1.8,-0.5 2.2,-1 h 0.1 v 0.6 c 0,1.6 -0.9,2.5 -2.3,2.5 -1.1,0 -1.9,-0.8 -2.1,-1.5 l -1.6,0.7 c 0.5,1.1 1.7,2.5 3.8,2.5 2.2,0 4,-1.3 4,-4.4 V 22 h -1.8 z m -2.2,5.9 C 76.1,28.6 75,27.5 75,26 c 0,-1.5 1.1,-2.6 2.4,-2.6 1.3,0 2.3,1.1 2.3,2.6 0,1.5 -1,2.6 -2.3,2.6 z M 101.8,17.5 H 97.3 V 30 h 1.9 v -4.7 h 2.6 c 2.1,0 4.1,-1.5 4.1,-3.9 0,-2.4 -2,-3.9 -4.1,-3.9 z m 0.1,6 h -2.7 v -4.3 h 2.7 c 1.4,0 2.2,1.2 2.2,2.1 -0.1,1.1 -0.9,2.2 -2.2,2.2 z m 11.5,-1.8 c -1.4,0 -2.8,0.6 -3.3,1.9 l 1.7,0.7 c 0.4,-0.7 1,-0.9 1.7,-0.9 1,0 1.9,0.6 2,1.6 v 0.1 c -0.3,-0.2 -1.1,-0.5 -1.9,-0.5 -1.8,0 -3.6,1 -3.6,2.8 0,1.7 1.5,2.8 3.1,2.8 1.3,0 1.9,-0.6 2.4,-1.2 h 0.1 v 1 h 1.8 v -4.8 c -0.2,-2.2 -1.9,-3.5 -4,-3.5 z m -0.2,6.9 c -0.6,0 -1.5,-0.3 -1.5,-1.1 0,-1 1.1,-1.3 2,-1.3 0.8,0 1.2,0.2 1.7,0.4 -0.2,1.2 -1.2,2 -2.2,2 z m 10.5,-6.6 -2.1,5.4 h -0.1 L 119.3,22 h -2 l 3.3,7.6 -1.9,4.2 h 1.9 L 125.7,22 Z m -16.8,8 h 1.9 V 17.5 h -1.9 z"
|
||||
id="path4" />
|
||||
<g
|
||||
id="g23">
|
||||
<linearGradient
|
||||
id="SVGID_1_"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="21.799999"
|
||||
y1="33.290001"
|
||||
x2="5.0170002"
|
||||
y2="16.507999"
|
||||
gradientTransform="matrix(1,0,0,-1,0,42)">
|
||||
<stop
|
||||
offset="0"
|
||||
stop-color="#00a0ff"
|
||||
id="stop4" />
|
||||
<stop
|
||||
offset=".007"
|
||||
stop-color="#00a1ff"
|
||||
id="stop5" />
|
||||
<stop
|
||||
offset=".26"
|
||||
stop-color="#00beff"
|
||||
id="stop6" />
|
||||
<stop
|
||||
offset=".512"
|
||||
stop-color="#00d2ff"
|
||||
id="stop7" />
|
||||
<stop
|
||||
offset=".76"
|
||||
stop-color="#00dfff"
|
||||
id="stop8" />
|
||||
<stop
|
||||
offset="1"
|
||||
stop-color="#00e3ff"
|
||||
id="stop9" />
|
||||
</linearGradient>
|
||||
<path
|
||||
class="st3"
|
||||
d="M 10.4,7.5 C 10.1,7.8 10,8.3 10,8.9 V 31 c 0,0.6 0.2,1.1 0.5,1.4 L 10.6,32.5 23,20.1 v -0.2 z"
|
||||
id="path9"
|
||||
style="fill:url(#SVGID_1_)" />
|
||||
<linearGradient
|
||||
id="SVGID_2_"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="33.834"
|
||||
y1="21.999001"
|
||||
x2="9.6370001"
|
||||
y2="21.999001"
|
||||
gradientTransform="matrix(1,0,0,-1,0,42)">
|
||||
<stop
|
||||
offset="0"
|
||||
stop-color="#ffe000"
|
||||
id="stop10" />
|
||||
<stop
|
||||
offset=".409"
|
||||
stop-color="#ffbd00"
|
||||
id="stop11" />
|
||||
<stop
|
||||
offset=".775"
|
||||
stop-color="orange"
|
||||
id="stop12" />
|
||||
<stop
|
||||
offset="1"
|
||||
stop-color="#ff9c00"
|
||||
id="stop13" />
|
||||
</linearGradient>
|
||||
<path
|
||||
class="st4"
|
||||
d="m 27,24.3 -4.1,-4.1 v -0.3 l 4.1,-4.1 0.1,0.1 4.9,2.8 c 1.4,0.8 1.4,2.1 0,2.9 z"
|
||||
id="path13"
|
||||
style="fill:url(#SVGID_2_)" />
|
||||
<linearGradient
|
||||
id="SVGID_3_"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="24.827"
|
||||
y1="19.704"
|
||||
x2="2.069"
|
||||
y2="-3.0539999"
|
||||
gradientTransform="matrix(1,0,0,-1,0,42)">
|
||||
<stop
|
||||
offset="0"
|
||||
stop-color="#ff3a44"
|
||||
id="stop14" />
|
||||
<stop
|
||||
offset="1"
|
||||
stop-color="#c31162"
|
||||
id="stop15" />
|
||||
</linearGradient>
|
||||
<path
|
||||
class="st5"
|
||||
d="M 27.1,24.2 22.9,20 10.4,32.5 c 0.5,0.5 1.2,0.5 2.1,0.1 l 14.6,-8.4"
|
||||
id="path15"
|
||||
style="fill:url(#SVGID_3_)" />
|
||||
<linearGradient
|
||||
id="SVGID_4_"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="7.2969999"
|
||||
y1="41.824001"
|
||||
x2="17.459999"
|
||||
y2="31.660999"
|
||||
gradientTransform="matrix(1,0,0,-1,0,42)">
|
||||
<stop
|
||||
offset="0"
|
||||
stop-color="#32a071"
|
||||
id="stop16" />
|
||||
<stop
|
||||
offset=".069"
|
||||
stop-color="#2da771"
|
||||
id="stop17" />
|
||||
<stop
|
||||
offset=".476"
|
||||
stop-color="#15cf74"
|
||||
id="stop18" />
|
||||
<stop
|
||||
offset=".801"
|
||||
stop-color="#06e775"
|
||||
id="stop19" />
|
||||
<stop
|
||||
offset="1"
|
||||
stop-color="#00f076"
|
||||
id="stop20" />
|
||||
</linearGradient>
|
||||
<path
|
||||
class="st6"
|
||||
d="M 27.1,15.8 12.5,7.5 C 11.6,7 10.9,7.1 10.4,7.6 L 22.9,20 Z"
|
||||
id="path20"
|
||||
style="fill:url(#SVGID_4_)" />
|
||||
<path
|
||||
class="st7"
|
||||
d="m 27,24.1 -14.5,8.2 c -0.8,0.5 -1.5,0.4 -2,0 l -0.1,0.1 0.1,0.1 c 0.5,0.4 1.2,0.5 2,0 z"
|
||||
id="path21" />
|
||||
<path
|
||||
class="st8"
|
||||
d="M 10.4,32.3 C 10.1,32 10,31.5 10,30.9 V 31 c 0,0.6 0.2,1.1 0.5,1.4 v -0.1 z m 21.6,-11 -5,2.8 0.1,0.1 4.9,-2.8 c 0.7,-0.4 1,-0.9 1,-1.4 0,0.5 -0.4,0.9 -1,1.3 z"
|
||||
id="path22" />
|
||||
<path
|
||||
class="st9"
|
||||
d="M 12.5,7.6 32,18.7 c 0.6,0.4 1,0.8 1,1.3 0,-0.5 -0.3,-1 -1,-1.4 L 12.5,7.5 C 11.1,6.7 10,7.3 10,8.9 V 9 c 0,-1.5 1.1,-2.2 2.5,-1.4 z"
|
||||
id="path23" />
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 8 KiB |
|
@ -1,9 +1,9 @@
|
|||
const scrollToTopButton = document.getElementById('totop');
|
||||
const scrollToTopListener = () => {
|
||||
if (window.scrollY > 0) {
|
||||
scrollToTopButton.className = "totop show";
|
||||
scrollToTopButton.className = "button fab show";
|
||||
} else {
|
||||
scrollToTopButton.className = "totop hide";
|
||||
scrollToTopButton.className = "button fab hide";
|
||||
}
|
||||
};
|
||||
|
||||
|
|
Loading…
Reference in a new issue