feat: basic website with basic content
This commit is contained in:
parent
3379242f31
commit
ba403c815f
76 changed files with 2167 additions and 4 deletions
36
layouts/partials/FormatHistoricalDate.html
Normal file
36
layouts/partials/FormatHistoricalDate.html
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
{{ $formattedDate := "" }}
|
||||
{{ $rawDate := . }}
|
||||
{{- $date := "1800-01-01" -}}
|
||||
{{- $datePrecision := "day" -}}
|
||||
|
||||
{{ if reflect.IsMap $rawDate }}
|
||||
{{ partial "FormatHistoricalDate" ($rawDate.from) }}
|
||||
-
|
||||
{{ partial "FormatHistoricalDate" ($rawDate.to) }}
|
||||
{{ else }}
|
||||
{{ $rawDate = string $rawDate }}
|
||||
{{ if eq (len $rawDate) 4 }}
|
||||
{{ $datePrecision = "year" }}
|
||||
{{ $date = printf "%s-01-01" $rawDate }}
|
||||
{{ end }}
|
||||
{{ if eq (len $rawDate) 7 }}
|
||||
{{ $datePrecision = "month" }}
|
||||
{{ $date = printf "%s-01" $rawDate }}
|
||||
{{ end }}
|
||||
{{ if eq (len $rawDate) 10 }}
|
||||
{{ $datePrecision = "day" }}
|
||||
{{ $date = $rawDate }}
|
||||
{{ end }}
|
||||
|
||||
{{- if eq $datePrecision "year" -}}
|
||||
{{ $formattedDate = ($date | time.Format "2006") }}
|
||||
{{- end -}}
|
||||
{{- if eq $datePrecision "month" -}}
|
||||
{{ $formattedDate = ($date | time.Format "January 2006") }}
|
||||
{{- end -}}
|
||||
{{- if eq $datePrecision "day" -}}
|
||||
{{ $formattedDate = ($date | time.Format "2 January 2006") }}
|
||||
{{- end -}}
|
||||
{{ end }}
|
||||
|
||||
{{ printf "%s" $formattedDate }}
|
||||
13
layouts/partials/data/description.html
Normal file
13
layouts/partials/data/description.html
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
<!-- Use site subtitle by default -->
|
||||
{{ $description := .Site.Params.sidebar.subtitle }}
|
||||
|
||||
{{ if .Description }}
|
||||
<!-- Page description exists -->
|
||||
{{ $description = .Description }}
|
||||
{{ else if .IsPage }}
|
||||
<!-- Use page summary -->
|
||||
{{ $description = .Summary }}
|
||||
{{ end }}
|
||||
|
||||
{{ return ($description | plainify)}}
|
||||
|
||||
39
layouts/partials/data/title.html
Normal file
39
layouts/partials/data/title.html
Normal file
|
|
@ -0,0 +1,39 @@
|
|||
{{- $title := .Title -}}
|
||||
{{- $siteTitle := .Site.Title -}}
|
||||
|
||||
{{- if .IsHome -}}
|
||||
<!-- Homepage, and it's pagination -->
|
||||
|
||||
<!-- Build paginator -->
|
||||
{{ $pages := where .Site.RegularPages "Section" "in" .Site.Params.mainSections }}
|
||||
{{ $notHidden := where .Site.RegularPages "Params.hidden" "!=" true }}
|
||||
{{ $filtered := ($pages | intersect $notHidden) }}
|
||||
{{ $pag := .Paginate ($filtered) }}
|
||||
|
||||
{{ if .Paginator.HasPrev }}
|
||||
<!-- Paginated. Append page number to title -->
|
||||
{{ $title = printf "%s - %s" .Paginator $siteTitle }}
|
||||
{{ else }}
|
||||
{{ $title = $siteTitle}}
|
||||
{{ end }}
|
||||
{{- else if eq .Kind "term" -}}
|
||||
<!-- Taxonomy page -->
|
||||
|
||||
<!-- Build paginator -->
|
||||
{{ $notHidden := where .Pages "Params.hidden" "!=" true }}
|
||||
{{ $pag := .Paginate ($notHidden) }}
|
||||
|
||||
<!-- {TAXONOMY_TYPE}: {TAXONOMY_TERM} -->
|
||||
{{ $title = slice (title .Data.Singular) ": " $title }}
|
||||
|
||||
{{ if .Paginator.HasPrev }}
|
||||
<!-- Add page number-->
|
||||
{{ $title = $title | append " - " .Paginator }}
|
||||
{{ end }}
|
||||
|
||||
{{ $title = $title | append " - " $siteTitle }}
|
||||
{{ $title = delimit $title "" }}
|
||||
{{- end -}}
|
||||
|
||||
{{ return $title }}
|
||||
|
||||
2
layouts/partials/footer.html
Normal file
2
layouts/partials/footer.html
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
<footer class="site-footer">
|
||||
</footer>
|
||||
4
layouts/partials/fullmod.html
Normal file
4
layouts/partials/fullmod.html
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
{{- $a := index . 0 -}}
|
||||
{{- $b := index . 1 -}}
|
||||
{{- $c := mod $a $b -}}
|
||||
{{- if lt $c 0 -}}{{- add $c $b -}}{{- else -}}{{- $c -}}{{- end -}}
|
||||
44
layouts/partials/head.html
Normal file
44
layouts/partials/head.html
Normal file
|
|
@ -0,0 +1,44 @@
|
|||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
|
||||
{{- $description := partialCached "data/description" . .RelPermalink -}}
|
||||
<meta name="description" content="{{ $description }}">
|
||||
|
||||
{{- with .Site.Params.author -}}
|
||||
<meta name="author" content="{{ . }}">
|
||||
{{ end }}
|
||||
|
||||
{{- $title := partialCached "data/title" . .RelPermalink -}}
|
||||
|
||||
<title>{{ $title }} {{ if not .IsHome }}- L'Étoile de Bethléem{{ end }}</title>
|
||||
|
||||
<link rel="canonical" href="{{ .Permalink }}">
|
||||
|
||||
{{ partial "opengraph/include.html" . }}
|
||||
|
||||
{{ range .AlternativeOutputFormats }}
|
||||
<link rel="{{ .Rel }}" type="{{ .MediaType.Type }}" href="{{ .Permalink | safeURL }}">
|
||||
{{ end }}
|
||||
|
||||
<link rel="apple-touch-icon" sizes="57x57" href="/icons/apple-icon-57x57.png">
|
||||
<link rel="apple-touch-icon" sizes="60x60" href="/icons/apple-icon-60x60.png">
|
||||
<link rel="apple-touch-icon" sizes="72x72" href="/icons/apple-icon-72x72.png">
|
||||
<link rel="apple-touch-icon" sizes="76x76" href="/icons/apple-icon-76x76.png">
|
||||
<link rel="apple-touch-icon" sizes="114x114" href="/icons/apple-icon-114x114.png">
|
||||
<link rel="apple-touch-icon" sizes="120x120" href="/icons/apple-icon-120x120.png">
|
||||
<link rel="apple-touch-icon" sizes="144x144" href="/icons/apple-icon-144x144.png">
|
||||
<link rel="apple-touch-icon" sizes="152x152" href="/icons/apple-icon-152x152.png">
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="/icons/apple-icon-180x180.png">
|
||||
<link rel="icon" type="image/png" sizes="192x192" href="/icons/android-icon-192x192.png">
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="/icons/favicon-32x32.png">
|
||||
<link rel="icon" type="image/png" sizes="96x96" href="/icons/favicon-96x96.png">
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="/icons/favicon-16x16.png">
|
||||
<link rel="manifest" href="/manifest.json">
|
||||
<meta name="msapplication-TileColor" content="#025E73">
|
||||
<meta name="msapplication-TileImage" content="/icons/ms-icon-144x144.png">
|
||||
<meta name="theme-color" content="#025E73">
|
||||
|
||||
<!-- Note: j'ai galérer à rajouter du scss car en fait y'avait déja une variable $style de définit plus haut... -->
|
||||
{{ $style := resources.Get "sass/main.scss" | resources.ToCSS | resources.Fingerprint }}
|
||||
<link rel="stylesheet" href="{{ $style.Permalink }}" integrity="{{ $style.Data.Integrity }}">
|
||||
|
||||
2
layouts/partials/header.html
Normal file
2
layouts/partials/header.html
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
<header class="site-header">
|
||||
</header>
|
||||
60
layouts/partials/helpers/image.html
Normal file
60
layouts/partials/helpers/image.html
Normal file
|
|
@ -0,0 +1,60 @@
|
|||
<!-- Modified to have the featured image field as a dict (being able to specify meta data and display option for image) -->
|
||||
{{ $result := dict "exists" false "permalink" nil "resource" nil "isDefault" false }}
|
||||
{{ $imageField := "featured_image" }}
|
||||
{{ $imageValue := index .Context.Params $imageField }}
|
||||
|
||||
{{ if $imageValue }}
|
||||
{{ $imageValue := index $imageValue "src" }}
|
||||
<!-- If page has `image` field set -->
|
||||
{{ $result = merge $result (dict "exists" true) }}
|
||||
{{ $url := urls.Parse $imageValue }}
|
||||
|
||||
{{ if or (eq $url.Scheme "http") (eq $url.Scheme "https") }}
|
||||
<!-- Is an external image -->
|
||||
{{ $result = merge $result (dict "permalink" $imageValue) }}
|
||||
{{ else }}
|
||||
{{ $pageResourceImage := resources.GetMatch (printf "%s" ($imageValue | safeURL)) }}
|
||||
|
||||
{{ if $pageResourceImage }}
|
||||
<!-- If image is found under page bundle -->
|
||||
{{ $result = merge $result (dict "permalink" $pageResourceImage.RelPermalink) }}
|
||||
|
||||
<!-- Disable SVG image processing, not supported by Hugo -->
|
||||
{{ if ne (path.Ext $imageValue) ".svg" }}
|
||||
{{ $result = merge $result (dict "resource" $pageResourceImage) }}
|
||||
{{ end }}
|
||||
{{ else }}
|
||||
<!-- Can not find the image under page bundle. Could be a relative linked image -->
|
||||
{{ $result = merge $result (dict "permalink" (relURL $imageValue)) }}
|
||||
{{ end }}
|
||||
|
||||
{{ end }}
|
||||
|
||||
{{ else }}
|
||||
<!-- Type arg is set, check for defaultImage setting -->
|
||||
{{ $defaultImageSetting := .Context.Site.Params.defaultCoverImage }}
|
||||
|
||||
{{ $result = merge $result (dict "isDefault" true) }}
|
||||
{{ $result = merge $result (dict "exists" true) }}
|
||||
|
||||
{{ if $defaultImageSetting.local }}
|
||||
{{ $siteResourceImage := resources.GetMatch (printf "%s" ($defaultImageSetting.src | safeURL)) }}
|
||||
|
||||
{{ if $siteResourceImage }}
|
||||
<!-- Try search image under site's assets folder -->
|
||||
{{ $result = merge $result (dict "permalink" $siteResourceImage.RelPermalink) }}
|
||||
{{ $result = merge $result (dict "resource" $siteResourceImage) }}
|
||||
{{ else }}
|
||||
<!-- Can not find the image -->
|
||||
{{ errorf "Failed loading image: %q" $defaultImageSetting.src }}
|
||||
{{ $result = merge $result (dict "exists" false) }}
|
||||
{{ end }}
|
||||
|
||||
{{ else }}
|
||||
<!-- External image -->
|
||||
{{ $result = merge $result (dict "permalink" (relURL $defaultImageSetting.src)) }}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
|
||||
{{ return $result }}
|
||||
|
||||
7
layouts/partials/helpers/svg.html
Normal file
7
layouts/partials/helpers/svg.html
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
{{ $svg := .path }}
|
||||
{{ $match := `<svg((\s|\S)*)>((\s|\S)*)</svg>` }}
|
||||
|
||||
{{ $input := (printf "/assets/images/%s.svg" $svg | readFile) }}
|
||||
{{ $replaceWith := printf `<svg class="%s" ${1}>${2}</svg>` .class }}
|
||||
|
||||
{{ return (replaceRE $match $replaceWith $input | safeHTML) }}
|
||||
54
layouts/partials/images-list.html
Normal file
54
layouts/partials/images-list.html
Normal file
|
|
@ -0,0 +1,54 @@
|
|||
<div class="gallery">
|
||||
<div class="gallery__side">
|
||||
{{ $listtitle := .Title }}
|
||||
{{ if or .Title .Content }}
|
||||
<div>
|
||||
{{ with .Title }}<h1>{{ . }}</h1>{{ end }}
|
||||
{{ with .Content }}<div>{{ . }}</div>{{ end }}
|
||||
</div>
|
||||
{{ end }}
|
||||
<p class="gallery-tags__title">Filtrer par étiquettes :</p>
|
||||
<ul class="gallery-tags__list tags-list">
|
||||
{{- if eq (.Scratch.Get "image_list_context") "imtags" -}}
|
||||
<li class="gallery-tags__item tags-list__item">
|
||||
<a href="/images">Tout</a>
|
||||
</li>
|
||||
{{- end -}}
|
||||
{{- range .Site.Taxonomies.imtags -}}
|
||||
<li class="gallery-tags__item tags-list__item">
|
||||
<a href="{{ .Page.RelPermalink }}">{{ .Page.Title }}</a>
|
||||
</li>
|
||||
{{- end -}}
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="gallery__items-container">
|
||||
<div class="gallery__items">
|
||||
{{ range $item := (.Paginator 8).Pages }}
|
||||
<a class="gallery__item" href="{{ .RelPermalink }}">
|
||||
{{ $image := .Resources.GetMatch "original.jpg" }}
|
||||
{{ $image := $image.Resize "x350" }}
|
||||
{{ with $image }}
|
||||
<img
|
||||
class="gallery__image"
|
||||
title="{{ $item.Title }}"
|
||||
src="{{ .RelPermalink }}" width="{{ .Width }}" height="{{ .Height }}"
|
||||
/>
|
||||
{{ end }}
|
||||
|
||||
{{/*
|
||||
<div class="post-title">
|
||||
{{ if eq $listtitle "Posts" }}
|
||||
{{ .Date.Format "2006-01-02" }} <a href="{{ .RelPermalink }}">{{.Title }}</a>
|
||||
{{ else }}
|
||||
<a href="{{ .RelPermalink }}">{{.Title }}</a>
|
||||
{{ end }}
|
||||
</div>
|
||||
*/}}
|
||||
|
||||
</a>
|
||||
{{ end }}
|
||||
</div>
|
||||
{{ partial "pagination.html" . }}
|
||||
</div>
|
||||
</div>
|
||||
44
layouts/partials/opengraph/include.html
Normal file
44
layouts/partials/opengraph/include.html
Normal file
|
|
@ -0,0 +1,44 @@
|
|||
{{- $title := partialCached "data/title" . .RelPermalink -}}
|
||||
{{- $description := partialCached "data/description" . .RelPermalink -}}
|
||||
|
||||
{{/* OpenGraph protocol reference https://ogp.me/ */}}
|
||||
|
||||
<meta property="og:title" content="{{ $title }}">
|
||||
<meta property="og:description" content="{{ $description }}">
|
||||
<meta property="og:url" content="{{ .Permalink }}">
|
||||
<meta property="og:site_name" content="{{ .Site.Title }}">
|
||||
<meta property="og:type" content="
|
||||
{{- if .IsPage -}}
|
||||
article
|
||||
{{- else -}}
|
||||
website
|
||||
{{- end -}}
|
||||
">
|
||||
|
||||
<meta property="og:locale" content="{{ .Site.LanguageCode }}">
|
||||
|
||||
{{- if .IsPage -}}
|
||||
<meta property="article:section" content="{{ .Section | title }}" />
|
||||
{{- range .Params.tags -}}
|
||||
<meta property="article:tag" content="{{ . }}" />
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
|
||||
{{- if .IsPage -}}
|
||||
{{- if not .Date.IsZero -}}
|
||||
<meta property="article:published_time" content="{{- .Date.Format "2006-01-02T15:04:05-07:00" | safeHTML -}}" />
|
||||
{{- end -}}
|
||||
{{- if not .Lastmod.IsZero -}}
|
||||
<meta property="article:modified_time" content="{{- .Lastmod.Format "2006-01-02T15:04:05-07:00" | safeHTML -}}" />
|
||||
{{- end -}}
|
||||
{{- else -}}
|
||||
{{ if not .Site.LastChange.IsZero }}
|
||||
<meta property="og:updated_time" content="{{- .Site.LastChange.Format "2006-01-02T15:04:05-07:00" | safeHTML -}}" />
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
|
||||
{{ $image := partial "helpers/image" (dict "Context" . "Type" "opengraph") .RelPermalink "opengraph" }}
|
||||
{{ if $image.exists }}
|
||||
<meta property="og:image" content="{{ absURL $image.permalink }}" />
|
||||
{{- end -}}
|
||||
|
||||
19
layouts/partials/pagination.html
Normal file
19
layouts/partials/pagination.html
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
<div class="pagination-nav">
|
||||
<div>
|
||||
{{ if .Paginator.HasPrev }}
|
||||
<a class="pagination-nav__prev" href="{{ .Paginator.Prev.URL }}">
|
||||
Page précédente
|
||||
</a>
|
||||
{{ end }}
|
||||
</div>
|
||||
<div class="pagination-nav__page">
|
||||
{{ .Paginator.PageNumber }} de {{ .Paginator.TotalPages }}
|
||||
</div>
|
||||
<div>
|
||||
{{ if .Paginator.HasNext }}
|
||||
<a class="pagination-nav__next" href="{{ .Paginator.Next.URL }}">
|
||||
Page suivante
|
||||
</a>
|
||||
{{ end }}
|
||||
</div>
|
||||
</div>
|
||||
14
layouts/partials/sidebar.html
Normal file
14
layouts/partials/sidebar.html
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
<aside>
|
||||
<div>
|
||||
<div>
|
||||
<h3>LATEST POSTS</h3>
|
||||
</div>
|
||||
<div>
|
||||
<ul>
|
||||
{{ range first 5 (where .Site.RegularPages "Type" "in" .Site.Params.mainSections) }}
|
||||
<li><a href="{{ .RelPermalink }}">{{ .Title }}</a></li>
|
||||
{{ end }}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</aside>
|
||||
Loading…
Add table
Add a link
Reference in a new issue