first version
This commit is contained in:
		@@ -1,2 +0,0 @@
 | 
			
		||||
+++
 | 
			
		||||
+++
 | 
			
		||||
							
								
								
									
										41
									
								
								assets/styles/grid.scss
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										41
									
								
								assets/styles/grid.scss
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,41 @@
 | 
			
		||||
.grid            { display: flex; flex-wrap: wrap; }
 | 
			
		||||
.grid.\-top      { align-items: flex-start; }
 | 
			
		||||
.grid.\-middle   { align-items: center; }
 | 
			
		||||
.grid.\-bottom   { align-items: flex-end; }
 | 
			
		||||
.grid.\-stretch  { align-items: stretch; }
 | 
			
		||||
.grid.\-baseline { align-items: baseline; }
 | 
			
		||||
.grid.\-left     { justify-content: flex-start; }
 | 
			
		||||
.grid.\-center   { justify-content: center; }
 | 
			
		||||
.grid.\-right    { justify-content: flex-end; }
 | 
			
		||||
.grid.\-between  { justify-content: space-between; }
 | 
			
		||||
.grid.\-around   { justify-content: space-around; }
 | 
			
		||||
 | 
			
		||||
.cell            { flex: 1; box-sizing: border-box; }
 | 
			
		||||
.cell.\-left   { text-align: left ;}
 | 
			
		||||
.cell.\-right   { text-align: right; }
 | 
			
		||||
.cell.\-center   { text-align: center ;}
 | 
			
		||||
.cell img        { max-width: 100% }
 | 
			
		||||
 | 
			
		||||
@media screen and (min-width: 600px) {
 | 
			
		||||
  .\-even-reverse:nth-child(even) { flex-direction: row-reverse; }
 | 
			
		||||
  .cell.\-1of12    { flex: 0 0 calc(100% * 1 / 12); }
 | 
			
		||||
  .cell.\-2of12    { flex: 0 0 calc(100% * 2 / 12); }
 | 
			
		||||
  .cell.\-3of12    { flex: 0 0 calc(100% * 3 / 12); }
 | 
			
		||||
  .cell.\-4of12    { flex: 0 0 calc(100% * 4 / 12); }
 | 
			
		||||
  .cell.\-5of12    { flex: 0 0 calc(100% * 5 / 12); }
 | 
			
		||||
  .cell.\-6of12    { flex: 0 0 calc(100% * 6 / 12); }
 | 
			
		||||
  .cell.\-7of12    { flex: 0 0 calc(100% * 7 / 12); }
 | 
			
		||||
  .cell.\-8of12    { flex: 0 0 calc(100% * 8 / 12); }
 | 
			
		||||
  .cell.\-9of12    { flex: 0 0 calc(100% * 9 / 12); }
 | 
			
		||||
  .cell.\-10of12   { flex: 0 0 calc(100% * 10 / 12); }
 | 
			
		||||
  .cell.\-11of12   { flex: 0 0 calc(100% * 11 / 12); }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@media screen and (max-width: 599px) {
 | 
			
		||||
  .grid {
 | 
			
		||||
    flex-direction: column;
 | 
			
		||||
  }
 | 
			
		||||
  .cell {
 | 
			
		||||
    flex: 0 0 auto;
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										1
									
								
								assets/styles/main.sass
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								assets/styles/main.sass
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1 @@
 | 
			
		||||
@import "./grid"
 | 
			
		||||
@@ -0,0 +1,10 @@
 | 
			
		||||
<meta charset="utf-8">
 | 
			
		||||
<base href="{{ .Site.BaseURL }}">
 | 
			
		||||
 | 
			
		||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
 | 
			
		||||
<meta name="HandheldFriendly" content="True">
 | 
			
		||||
<meta name="MobileOptimized" content="320">
 | 
			
		||||
<meta name="viewport" content="width=device-width, initial-scale=1">
 | 
			
		||||
 | 
			
		||||
{{ partial "social_metadata.html" . }}
 | 
			
		||||
{{ partial "style.html" . }}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										47
									
								
								layouts/partials/social_metadata.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										47
									
								
								layouts/partials/social_metadata.html
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,47 @@
 | 
			
		||||
<!-- Configure meta and title tags -->
 | 
			
		||||
<meta property="og:type" content="website" />
 | 
			
		||||
{{ if .Site.Params.TwitterCardType }}
 | 
			
		||||
<meta name="twitter:card" content="{{ .Site.Params.TwitterCardType }}" />
 | 
			
		||||
{{ else }}
 | 
			
		||||
<meta name="twitter:card" content="summary_large_image" />
 | 
			
		||||
{{ end }}
 | 
			
		||||
{{ if .Site.Params.TwitterUsername }}
 | 
			
		||||
<meta name="twitter:site" content="{{ .Site.Params.TwitterUsername }}" />
 | 
			
		||||
{{ end }}
 | 
			
		||||
{{ if .IsHome }}
 | 
			
		||||
<title>{{ .Site.Title }}</title>
 | 
			
		||||
<meta name="description" content="{{ $.Site.Params.description }}" />
 | 
			
		||||
<meta name="keywords" content="{{ $.Site.Params.Keywords }}" />
 | 
			
		||||
<meta property="og:image" content="{{ .Site.BaseURL}}{{ .Site.Params.SocialImage }}" />
 | 
			
		||||
<meta property="og:url" content="{{ .Site.BaseURL }}" />
 | 
			
		||||
<meta property="og:title" content="{{ .Site.Title }}" />
 | 
			
		||||
<meta name="og:description" content="{{ $.Site.Params.description }}" />
 | 
			
		||||
<meta name="twitter:title" content="{{ .Site.Title }}" />
 | 
			
		||||
<meta name="twitter:description" content="{{ $.Site.Params.description }}" />
 | 
			
		||||
<meta name="twitter:url" content="{{ .Site.BaseURL }}" />
 | 
			
		||||
<meta name="twitter:image:src" content="{{ .Site.BaseURL}}{{ .Site.Params.SocialImage }}" />
 | 
			
		||||
{{ else }}
 | 
			
		||||
<title>{{ .Title }} · {{ .Site.Title }}</title>
 | 
			
		||||
<meta name="description" content="{{ .Description }}" />
 | 
			
		||||
{{ if .Params.tags }}
 | 
			
		||||
<meta name="keywords" content="{{ range .Params.tags }}{{ . }},{{ end }}" />
 | 
			
		||||
{{ else }}
 | 
			
		||||
<meta name="keywords" content="{{ $.Site.Params.Keywords }}" />
 | 
			
		||||
{{ end }}
 | 
			
		||||
<meta property="og:url" content="{{ .Permalink }}" />
 | 
			
		||||
<meta property="og:title" content="{{ .Title }} · {{ .Site.Title }}" />
 | 
			
		||||
<meta name="twitter:title" content="{{ .Title }} · {{ .Site.Title }}" />
 | 
			
		||||
{{ if .Description }}
 | 
			
		||||
<meta name="og:description" content="{{ .Description }}" />
 | 
			
		||||
<meta name="twitter:description" content="{{ .Description }}" />
 | 
			
		||||
{{ else }}
 | 
			
		||||
<meta name="og:description" content="{{ $.Site.Params.description }}" />
 | 
			
		||||
<meta name="twitter:description" content="{{ $.Site.Params.description }}" />
 | 
			
		||||
{{ end }}
 | 
			
		||||
<meta name="twitter:url" content="{{ .Permalink }}" />
 | 
			
		||||
{{ if .Params.SocialImage }}
 | 
			
		||||
<meta name="twitter:image:src" content="{{ .Site.BaseURL }}{{ .Params.SocialImage }}" />
 | 
			
		||||
{{ else }}
 | 
			
		||||
<meta name="twitter:image:src" content="{{ .Site.Params.SocialImage }}" />
 | 
			
		||||
{{ end }}
 | 
			
		||||
{{ end }}
 | 
			
		||||
							
								
								
									
										2
									
								
								layouts/partials/style.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								layouts/partials/style.html
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,2 @@
 | 
			
		||||
{{ $style := resources.Get "css/main.sass" | toCSS | minify | fingerprint }}
 | 
			
		||||
<link rel="stylesheet" href="{{ $style.Permalink }}">
 | 
			
		||||
							
								
								
									
										10
									
								
								layouts/shortcodes/cell.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								layouts/shortcodes/cell.html
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,10 @@
 | 
			
		||||
{{ $class := .Get "class" }}
 | 
			
		||||
{{ $body := .Get "text" | default .Inner }}
 | 
			
		||||
{{ $markdown := .Get "markdown" | default false }}
 | 
			
		||||
<div class="cell{{ with $class }} {{ . }}{{ end }}">
 | 
			
		||||
  {{ if $markdown }}
 | 
			
		||||
    {{ $.Page.RenderString .Inner }}
 | 
			
		||||
  {{ else }}
 | 
			
		||||
    {{ .Inner }}
 | 
			
		||||
  {{ end }}
 | 
			
		||||
</div>
 | 
			
		||||
							
								
								
									
										39
									
								
								layouts/shortcodes/cloakemail.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										39
									
								
								layouts/shortcodes/cloakemail.html
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,39 @@
 | 
			
		||||
{{/* https://github.com/martignoni/hugo-cloak-email */}}
 | 
			
		||||
{{/* Get address, protocol and other parameters */}}
 | 
			
		||||
{{- $address := .Get "address" | default (.Get 0) -}}
 | 
			
		||||
{{- $protocol := .Get "protocol" | default "mailto" -}}
 | 
			
		||||
{{- $class := .Get "class" -}}
 | 
			
		||||
{{- $displaytext := .Get "display" -}}
 | 
			
		||||
{{- $parts := split $address "@" -}}
 | 
			
		||||
{{- $user := (index $parts 0) -}}
 | 
			
		||||
{{- $domain := (index $parts 1) | default "" -}}
 | 
			
		||||
{{- $query := .Get "query" | default "" -}}
 | 
			
		||||
{{/* Compute md5 fingerprint */}}
 | 
			
		||||
{{- $fingerprint := md5 (print (.Get "address") $protocol (index (seq 999 | shuffle) 0)) | truncate 8 "" -}}
 | 
			
		||||
{{/* Set via CSS what is displayed when Javascript is disabled. Query is never displayed */}}
 | 
			
		||||
<style type="text/css">
 | 
			
		||||
  #id-{{ $fingerprint }}.cloaked-e-mail:before {
 | 
			
		||||
    content:{{ with $domain }}attr(data-domain) "\0040" {{ end }}attr(data-user);
 | 
			
		||||
    unicode-bidi:bidi-override;
 | 
			
		||||
    direction:rtl;
 | 
			
		||||
  }
 | 
			
		||||
</style>
 | 
			
		||||
 <span class="cloaked-e-mail" data-user="{{ range $index := seq (sub (len $user) 1) 0}}{{ substr $user $index 1}}{{ end }}"{{ with $domain }} data-domain="{{ range $index := seq (sub (len $domain) 1) 0}}{{ substr $domain $index 1}}{{ end }}"{{ end }} id="id-{{ $fingerprint }}"></span> 
 | 
			
		||||
{{/* Alter display with Javascript by changing DOM */}}
 | 
			
		||||
<script id="id-{{ $fingerprint }}">
 | 
			
		||||
  var scriptTag = document.getElementById("id-{{ $fingerprint }}");
 | 
			
		||||
  var link = document.createElement("a");
 | 
			
		||||
  var address = "{{ range $index := seq (sub (len $user) 1) 0}}{{ substr $user $index 1}}{{ end }}".split('').reverse().join(''){{ with $domain }} + "@" + "{{ range $index := seq (sub (len $domain) 1) 0}}{{ substr $domain $index 1}}{{ end }}".split('').reverse().join(''){{ with $query }} + "?" + "{{ range $index := seq (sub (len $query) 1) 0}}{{ substr $query $index 1}}{{ end }}".split('').reverse().join(''){{ end }}{{ end }};
 | 
			
		||||
  link.href = {{ $protocol }} + ":" + address;
 | 
			
		||||
  {{ with $displaytext }}
 | 
			
		||||
  link.innerText = {{ $displaytext }};
 | 
			
		||||
  {{ else }}
 | 
			
		||||
  link.innerText = address.split('?')[0];
 | 
			
		||||
  {{ end }}
 | 
			
		||||
  {{ with $class }}
 | 
			
		||||
  link.className = "{{ $class }}";
 | 
			
		||||
  {{ end }}
 | 
			
		||||
  scriptTag.parentElement.insertBefore(link, scriptTag.previousElementSibling);
 | 
			
		||||
  scriptTag.parentElement.removeChild(scriptTag.previousElementSibling)
 | 
			
		||||
</script>
 | 
			
		||||
{{/* The end */}}
 | 
			
		||||
							
								
								
									
										3
									
								
								layouts/shortcodes/grid.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								layouts/shortcodes/grid.html
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,3 @@
 | 
			
		||||
{{ $class := .Get "class" }}
 | 
			
		||||
{{ $body := .Get "text" | default .Inner }}
 | 
			
		||||
<div class="grid{{ with $class }} {{ . }}{{ end }}">{{ $body }}</div>
 | 
			
		||||
							
								
								
									
										9
									
								
								layouts/shortcodes/image.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								layouts/shortcodes/image.html
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,9 @@
 | 
			
		||||
{{ $file := .Get "fichier" }}
 | 
			
		||||
{{ $description := .Get "description" }}
 | 
			
		||||
{{ $width := .Get "taille" }}
 | 
			
		||||
{{ $file }}
 | 
			
		||||
{{ $description }}
 | 
			
		||||
{{ $width }}
 | 
			
		||||
Page : {{ .Page }}<br>
 | 
			
		||||
Context : {{ . }}<br>
 | 
			
		||||
Site : {{ resources.Get "apropors.png" }}<br>
 | 
			
		||||
							
								
								
									
										26
									
								
								layouts/shortcodes/imgproc.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										26
									
								
								layouts/shortcodes/imgproc.html
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,26 @@
 | 
			
		||||
{{ $original := .Page.Resources.GetMatch (printf "*%s*" (.Get 0)) }}
 | 
			
		||||
{{ $command := .Get 1 }}
 | 
			
		||||
{{ $options := .Get 2 }}
 | 
			
		||||
 | 
			
		||||
{{ if eq $command "Fit"}}
 | 
			
		||||
{{ .Scratch.Set "image" ($original.Fit $options) }}
 | 
			
		||||
{{ else if eq $command "Resize"}}
 | 
			
		||||
{{ .Scratch.Set "image" ($original.Resize $options) }}
 | 
			
		||||
{{ else if eq $command "Fill"}}
 | 
			
		||||
{{ .Scratch.Set "image" ($original.Fill $options) }}
 | 
			
		||||
{{ else }}
 | 
			
		||||
{{ errorf "Invalid image processing command: Must be one of Fit, Fill or Resize."}}
 | 
			
		||||
{{ end }}
 | 
			
		||||
{{ $image := .Scratch.Get "image" }}
 | 
			
		||||
<figure style="padding: 0.25rem; margin: 2rem 0; background-color: #cccc">
 | 
			
		||||
	<img style="max-width: 100%; width: auto; height: auto;" src="{{ $image.RelPermalink }}" width="{{ $image.Width }}" height="{{ $image.Height }}">
 | 
			
		||||
	<figcaption>
 | 
			
		||||
	<small>
 | 
			
		||||
	{{ with .Inner }}
 | 
			
		||||
	{{ . }}
 | 
			
		||||
	{{ else }}
 | 
			
		||||
	.{{ $command }} "{{ $options }}"
 | 
			
		||||
	{{ end }}
 | 
			
		||||
	</small>
 | 
			
		||||
	</figcaption>
 | 
			
		||||
</figure>
 | 
			
		||||
							
								
								
									
										1
									
								
								layouts/shortcodes/year.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								layouts/shortcodes/year.html
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1 @@
 | 
			
		||||
{{ now.Format "2006" }}
 | 
			
		||||
		Reference in New Issue
	
	Block a user