initial commit

This commit is contained in:
Matthieu Bessat 2023-01-23 10:07:18 +01:00
commit 3d068a4adf
78 changed files with 3285 additions and 0 deletions

43
.gitignore vendored Normal file
View file

@ -0,0 +1,43 @@
### Hugo ###
# Generated files by hugo
/public/
/resources/_gen/
# Executable may be added to repository
hugo.exe
hugo.darwin
hugo.linux
### Code ###
.vscode/*
!.vscode/settings.json
!.vscode/tasks.json
!.vscode/launch.json
!.vscode/extensions.json
### Vim ###
# Swap
[._]*.s[a-v][a-z]
[._]*.sw[a-p]
[._]s[a-rt-v][a-z]
[._]ss[a-gi-z]
[._]sw[a-p]
# Session
Session.vim
Sessionx.vim
# Temporary
.netrwhist
*~
# Auto-generated tag files
tags
# Persistent undo
[._]*.un~
# Coc configuration directory
.vim
.hugo_build.lock

20
README.md Normal file
View file

@ -0,0 +1,20 @@
# Etoile de bethleem - site web
## Comment installer
- git clone etoiledebethleem/website website
- cd website
## Comment développer
- hugo server -D
## Comment build
- hugo
## Idées
- gallerie avec un scroll : https://staticbattery.com/ (on sera toujours obligé de faire de la navigation)

6
archetypes/default.md Normal file
View file

@ -0,0 +1,6 @@
---
title: "{{ replace .Name "-" " " | title }}"
date: {{ .Date }}
draft: true
---

BIN
assets/cover/cover.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

View file

@ -0,0 +1,36 @@
<?xml version="1.0" encoding="windows-1252"?>
<!-- Generator: Adobe Illustrator 18.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 455.73 455.73" style="enable-background:new 0 0 455.73 455.73;" xml:space="preserve">
<path style="fill:#3A559F;" d="M0,0v455.73h242.704V279.691h-59.33v-71.864h59.33v-60.353c0-43.893,35.582-79.475,79.475-79.475 h62.025v64.622h-44.382c-13.947,0-25.254,11.307-25.254,25.254v49.953h68.521l-9.47,71.864h-59.051V455.73H455.73V0H0z"/>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 849 B

152
assets/images/github.svg Normal file
View file

@ -0,0 +1,152 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
sodipodi:docname="github.svg"
inkscape:version="1.0 (4035a4fb49, 2020-05-01)"
id="svg158"
version="1.1"
viewBox="0 0 200 200"
height="200mm"
width="200mm">
<defs
id="defs152" />
<sodipodi:namedview
inkscape:window-maximized="1"
inkscape:window-y="20"
inkscape:window-x="0"
inkscape:window-height="1039"
inkscape:window-width="1920"
showgrid="false"
inkscape:document-rotation="0"
inkscape:current-layer="layer1"
inkscape:document-units="mm"
inkscape:cy="275.60508"
inkscape:cx="180.69725"
inkscape:zoom="0.63287671"
inkscape:pageshadow="2"
inkscape:pageopacity="1"
borderopacity="1.0"
bordercolor="#666666"
pagecolor="#ffffff"
id="base" />
<metadata
id="metadata155">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
id="layer1"
inkscape:groupmode="layer"
inkscape:label="Layer 1">
<image
style="opacity:1"
id="image398"
xlink:href="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cjxz
dmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxu
czpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6
Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0
cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAw
L3N2ZyIKICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vmb3JnZS5uZXQv
RFREL3NvZGlwb2RpLTAuZHRkIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2Fw
ZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgaW5rc2NhcGU6dmVyc2lvbj0iMS4wICg0MDM1
YTRmYjQ5LCAyMDIwLTA1LTAxKSIKICAgc29kaXBvZGk6ZG9jbmFtZT0iZ2l0aHViLnN2ZyIKICAg
eG1sOnNwYWNlPSJwcmVzZXJ2ZSIKICAgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg
NTY4LjAzNCA1NjguMDM0OyIKICAgdmlld0JveD0iMCAwIDU2OC4wMzQgNTY4LjAzNCIKICAgaGVp
Z2h0PSI1NjguMDM0cHgiCiAgIHdpZHRoPSI1NjguMDM0cHgiCiAgIHk9IjBweCIKICAgeD0iMHB4
IgogICBpZD0iQ2FwYV8xIgogICB2ZXJzaW9uPSIxLjEiPjxtZXRhZGF0YQogICBpZD0ibWV0YWRh
dGExMTIiPjxyZGY6UkRGPjxjYzpXb3JrCiAgICAgICByZGY6YWJvdXQ9IiI+PGRjOmZvcm1hdD5p
bWFnZS9zdmcreG1sPC9kYzpmb3JtYXQ+PGRjOnR5cGUKICAgICAgICAgcmRmOnJlc291cmNlPSJo
dHRwOi8vcHVybC5vcmcvZGMvZGNtaXR5cGUvU3RpbGxJbWFnZSIgLz48ZGM6dGl0bGU+PC9kYzp0
aXRsZT48L2NjOldvcms+PC9yZGY6UkRGPjwvbWV0YWRhdGE+PGRlZnMKICAgaWQ9ImRlZnMxMTAi
IC8+PHNvZGlwb2RpOm5hbWVkdmlldwogICBpbmtzY2FwZTpjdXJyZW50LWxheWVyPSJnNzMiCiAg
IGlua3NjYXBlOndpbmRvdy1tYXhpbWl6ZWQ9IjEiCiAgIGlua3NjYXBlOndpbmRvdy15PSIyMCIK
ICAgaW5rc2NhcGU6d2luZG93LXg9IjAiCiAgIGlua3NjYXBlOmN5PSIzMDMuNzI5NDQiCiAgIGlu
a3NjYXBlOmN4PSItNDYyLjQ0NTY5IgogICBpbmtzY2FwZTp6b29tPSIwLjI1IgogICBzaG93Z3Jp
ZD0iZmFsc2UiCiAgIGlkPSJuYW1lZHZpZXcxMDgiCiAgIGlua3NjYXBlOndpbmRvdy1oZWlnaHQ9
IjEwMzkiCiAgIGlua3NjYXBlOndpbmRvdy13aWR0aD0iMTkyMCIKICAgaW5rc2NhcGU6cGFnZXNo
YWRvdz0iMiIKICAgaW5rc2NhcGU6cGFnZW9wYWNpdHk9IjAiCiAgIGd1aWRldG9sZXJhbmNlPSIx
MCIKICAgZ3JpZHRvbGVyYW5jZT0iMTAiCiAgIG9iamVjdHRvbGVyYW5jZT0iMTAiCiAgIGJvcmRl
cm9wYWNpdHk9IjEiCiAgIGJvcmRlcmNvbG9yPSIjNjY2NjY2IgogICBwYWdlY29sb3I9IiNmZmZm
ZmYiIC8+CjxnCiAgIGlkPSJnNzUiPgoJPGcKICAgaWQ9Imc3MyI+CgkJPHBhdGgKICAgc29kaXBv
ZGk6bm9kZXR5cGVzPSJjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2Nj
Y2NjIgogICBpZD0icGF0aDcxIgogICBkPSJNIDU2NS42NjYyNywtMC4wMDg2ODE3OSAwLjEwODg0
Mzc2LDAuMDMwNjk2ODIgdiAwIEwgLTAuMDEwOTc4NTIsNTU5Ljg4MzA2IC0wLjAwOTcxMzAxLDU2
OC4xMzY3MSAxOTQuNTQ5LDU2OC4wMzQgdiAtMC4xMjkgYyA4LjAxMSwtMC4wOTIgMTQuMTQ5LC00
LjU3NyAxNC40MzEsLTEyLjE2NiAwLjcyOCwtMTkuNzI1IDAuMjE0LC0zOS40OTIgMC4yMTQsLTU4
LjU2MiAtMTQuMjk2LDAuNjY3IC0yNy45NDQsMi40NzMgLTQxLjQzOCwxLjY5NSAtMjkuNzYyLC0x
LjcxNCAtNTIuNjMyLC0xNC40MTMgLTY0LjQ5MywtNDMuNTU2IC03LjAyNiwtMTcuMjY1IC0xNy42
MTMsLTMyLjAzMiAtMzQuMTAxLC00MS44ODYgLTMuMDc5LC0xLjg0MiAtNS43NzEsLTQuNTU0IC04
LjEyNywtNy4zMDggLTMuMDc5LC0zLjU5MiAtMi41MDMsLTcuMjgyIDIuMzYyLC04LjI2OCA0Ljkw
OCwtMC45OTggMTAuMjcsLTEuNjk1IDE1LjExLC0wLjc5IDE5LjAwOSwzLjU2OCAzMi4xNTQsMTUu
NDkgNDIuMjE2LDMxLjM0NyAxOS44OTYsMzEuMzcxIDUwLjUyMSw0MC45NzQgODQuOTc2LDI2LjQ4
NyAxLjkyMSwtMC44MDggNC4zNjMsLTIuNzY2IDQuNzI1LC00LjU1MyAyLjc3OCwtMTMuODg3IDcu
OTY4LC0yNi41NDkgMTguNDI3LC0zNy42NSAtMTEuNjI4LC0yLjE1NCAtMjIuMzk5LC0zLjczOSAt
MzIuOTYyLC02LjE4OCAtMzAuNDE3LC03LjAzOCAtNTcuNzQyLC0xOS43IC03Ny43MjQsLTQ0Ljg0
OCBDIDEwMS44NjIsMzQxLjE0NSA5NC40MDcsMzE3LjEzMSA5MC45OCwyOTEuNTczIDg1LjYxMywy
NTEuNTQyIDkwLjQxNywyMTQuMDcgMTE3LjkwOCwxODIuMDggYyAxLjM4OSwtMS42MTYgMi4xNDIs
LTQuOTI3IDEuNTI0LC02Ljk0IC02Ljg4NSwtMjIuNDk3IC01LjgzMywtNDQuODA1IDAuOTkxLC02
Ny4wNTEgMy41ODEsLTExLjY4MyA0LjU3OCwtMTIuMjY1IDE2LjUsLTEwLjYzNyAwLjcyOSwwLjA5
OCAxLjQzOCwwLjI4MSAyLjE2MSwwLjQwNCAyMy44OTgsMy45NTQgNDQuNDY4LDE1LjUyNiA2NC43
MzEsMjcuOTUgMi43MjQsMS42NzEgNi44NzMsMi43MTEgOS44NjYsMS45ODMgNDguMzk3LC0xMS43
NDQgOTYuNzAyLC0xMS42OTUgMTQ1LjA5MywwLjA0MyAyLjgwOSwwLjY3OSA2LjU2MSwtMC4yODgg
OS4yNDcsLTEuNjk1IDExLjAxNiwtNS43NTkgMjEuNTYxLC0xMi40NTQgMzIuNzE4LC0xNy45MTQg
MTIuOTgsLTYuMzQ2IDI2LjY1MiwtMTEuMTIgNDEuMzcxLC0xMC44NTcgMi41NzYsMC4wNDkgNi41
NjEsMi41MDkgNy40MjMsNC43ODYgOC44NTYsMjMuNDY0IDEwLjcyMyw0Ny4zNzUgMy42NjYsNzEu
Nzk0IC0wLjc1MywyLjYwNyAwLjM2Nyw2LjMyMiAxLjc2OSw4Ljg5MiA2Ljk2NSwxMi43NzkgMTYu
Njg5LDI0LjU3MiAyMS4wOTYsMzguMTI3IDEzLjQzNCw0MS4zMTYgOC41MzgsODIuMjI5IC05Ljc0
OSwxMjEuMDYgLTE2Ljc1NywzNS41OTQgLTQ3LjgzNCw1My42MyAtODQuNjIxLDYyLjkzMyAtMTIu
NDI0LDMuMTQgLTI1LjE1Myw1LjA0OSAtMzguNTU2LDcuNjgxIDE3LjU2NCwxOC4zNDggMjAuMzE4
LDQwLjc0IDIwLjAwNiw2NC4xOTIgLTAuMzI0LDI0LjE5MiAtMC4yMzgsNDguMzkxIC0wLjI1MSw3
Mi41ODkgLTAuMDA2LDExLjcyIDUuMTEsMTguMTk1IDE0LjAzOSwxOC41NzQgLTAuMDA2LDAuMDM3
IDE5MS4xMDkzMywwLjA5MzEgMTkxLjEwOTMzLDAuMDkzMSBMIDU2OC4wMzIsLTAuMDA1MzQ1OTIg
WiIgLz4KCTwvZz4KPC9nPgo8ZwogICBpZD0iZzc3Ij4KPC9nPgo8ZwogICBpZD0iZzc5Ij4KPC9n
Pgo8ZwogICBpZD0iZzgxIj4KPC9nPgo8ZwogICBpZD0iZzgzIj4KPC9nPgo8ZwogICBpZD0iZzg1
Ij4KPC9nPgo8ZwogICBpZD0iZzg3Ij4KPC9nPgo8ZwogICBpZD0iZzg5Ij4KPC9nPgo8ZwogICBp
ZD0iZzkxIj4KPC9nPgo8ZwogICBpZD0iZzkzIj4KPC9nPgo8ZwogICBpZD0iZzk1Ij4KPC9nPgo8
ZwogICBpZD0iZzk3Ij4KPC9nPgo8ZwogICBpZD0iZzk5Ij4KPC9nPgo8ZwogICBpZD0iZzEwMSI+
CjwvZz4KPGcKICAgaWQ9ImcxMDMiPgo8L2c+CjxnCiAgIGlkPSJnMTA1Ij4KPC9nPgo8L3N2Zz4K
"
height="190"
width="190"
inkscape:svg-dpi="96"
preserveAspectRatio="none"
x="5"
y="10" />
<rect
y="0"
x="-1.3877788e-17"
height="200"
width="13"
id="rect514"
style="opacity:1;fill:#000000;stroke-width:0.267033" />
<rect
style="opacity:1;fill:#000000;stroke-width:0.331214"
id="rect514-3"
width="20"
height="200"
x="180"
y="0" />
<rect
y="2.220446e-16"
x="0.24231023"
height="27.419388"
width="200"
id="rect514-3-6"
style="opacity:1;fill:#000000;stroke-width:0.387813" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 7.1 KiB

View file

@ -0,0 +1,35 @@
<?xml version="1.0" encoding="windows-1252"?>
<!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 455.73 455.73" style="enable-background:new 0 0 455.73 455.73;" xml:space="preserve">
<path style="fill:#C536A4;" d="M227.86,182.55c-24.98,0-45.32,20.33-45.32,45.31c0,24.99,20.34,45.33,45.32,45.33 c24.99,0,45.32-20.34,45.32-45.33C273.18,202.88,252.85,182.55,227.86,182.55z M227.86,182.55c-24.98,0-45.32,20.33-45.32,45.31 c0,24.99,20.34,45.33,45.32,45.33c24.99,0,45.32-20.34,45.32-45.33C273.18,202.88,252.85,182.55,227.86,182.55z M303.36,108.66 H152.37c-24.1,0-43.71,19.61-43.71,43.71v150.99c0,24.1,19.61,43.71,43.71,43.71h150.99c24.1,0,43.71-19.61,43.71-43.71V152.37 C347.07,128.27,327.46,108.66,303.36,108.66z M227.86,306.35c-43.27,0-78.48-35.21-78.48-78.49c0-43.27,35.21-78.48,78.48-78.48 c43.28,0,78.49,35.21,78.49,78.48C306.35,271.14,271.14,306.35,227.86,306.35z M308.87,165.61c-10.24,0-18.57-8.33-18.57-18.57 s8.33-18.57,18.57-18.57s18.57,8.33,18.57,18.57S319.11,165.61,308.87,165.61z M227.86,182.55c-24.98,0-45.32,20.33-45.32,45.31 c0,24.99,20.34,45.33,45.32,45.33c24.99,0,45.32-20.34,45.32-45.33C273.18,202.88,252.85,182.55,227.86,182.55z M303.36,108.66 H152.37c-24.1,0-43.71,19.61-43.71,43.71v150.99c0,24.1,19.61,43.71,43.71,43.71h150.99c24.1,0,43.71-19.61,43.71-43.71V152.37 C347.07,128.27,327.46,108.66,303.36,108.66z M227.86,306.35c-43.27,0-78.48-35.21-78.48-78.49c0-43.27,35.21-78.48,78.48-78.48 c43.28,0,78.49,35.21,78.49,78.48C306.35,271.14,271.14,306.35,227.86,306.35z M308.87,165.61c-10.24,0-18.57-8.33-18.57-18.57 s8.33-18.57,18.57-18.57s18.57,8.33,18.57,18.57S319.11,165.61,308.87,165.61z M227.86,182.55c-24.98,0-45.32,20.33-45.32,45.31 c0,24.99,20.34,45.33,45.32,45.33c24.99,0,45.32-20.34,45.32-45.33C273.18,202.88,252.85,182.55,227.86,182.55z M0,0v455.73h455.73 V0H0z M380.23,303.36c0,42.39-34.48,76.87-76.87,76.87H152.37c-42.39,0-76.87-34.48-76.87-76.87V152.37 c0-42.39,34.48-76.87,76.87-76.87h150.99c42.39,0,76.87,34.48,76.87,76.87V303.36z M303.36,108.66H152.37 c-24.1,0-43.71,19.61-43.71,43.71v150.99c0,24.1,19.61,43.71,43.71,43.71h150.99c24.1,0,43.71-19.61,43.71-43.71V152.37 C347.07,128.27,327.46,108.66,303.36,108.66z M227.86,306.35c-43.27,0-78.48-35.21-78.48-78.49c0-43.27,35.21-78.48,78.48-78.48 c43.28,0,78.49,35.21,78.49,78.48C306.35,271.14,271.14,306.35,227.86,306.35z M308.87,165.61c-10.24,0-18.57-8.33-18.57-18.57 s8.33-18.57,18.57-18.57s18.57,8.33,18.57,18.57S319.11,165.61,308.87,165.61z M227.86,182.55c-24.98,0-45.32,20.33-45.32,45.31 c0,24.99,20.34,45.33,45.32,45.33c24.99,0,45.32-20.34,45.32-45.33C273.18,202.88,252.85,182.55,227.86,182.55z M227.86,182.55 c-24.98,0-45.32,20.33-45.32,45.31c0,24.99,20.34,45.33,45.32,45.33c24.99,0,45.32-20.34,45.32-45.33 C273.18,202.88,252.85,182.55,227.86,182.55z M227.86,182.55c-24.98,0-45.32,20.33-45.32,45.31c0,24.99,20.34,45.33,45.32,45.33 c24.99,0,45.32-20.34,45.32-45.33C273.18,202.88,252.85,182.55,227.86,182.55z M303.36,108.66H152.37 c-24.1,0-43.71,19.61-43.71,43.71v150.99c0,24.1,19.61,43.71,43.71,43.71h150.99c24.1,0,43.71-19.61,43.71-43.71V152.37 C347.07,128.27,327.46,108.66,303.36,108.66z M227.86,306.35c-43.27,0-78.48-35.21-78.48-78.49c0-43.27,35.21-78.48,78.48-78.48 c43.28,0,78.49,35.21,78.49,78.48C306.35,271.14,271.14,306.35,227.86,306.35z M308.87,165.61c-10.24,0-18.57-8.33-18.57-18.57 s8.33-18.57,18.57-18.57s18.57,8.33,18.57,18.57S319.11,165.61,308.87,165.61z M227.86,182.55c-24.98,0-45.32,20.33-45.32,45.31 c0,24.99,20.34,45.33,45.32,45.33c24.99,0,45.32-20.34,45.32-45.33C273.18,202.88,252.85,182.55,227.86,182.55z M227.86,182.55 c-24.98,0-45.32,20.33-45.32,45.31c0,24.99,20.34,45.33,45.32,45.33c24.99,0,45.32-20.34,45.32-45.33 C273.18,202.88,252.85,182.55,227.86,182.55z M227.86,182.55c-24.98,0-45.32,20.33-45.32,45.31c0,24.99,20.34,45.33,45.32,45.33 c24.99,0,45.32-20.34,45.32-45.33C273.18,202.88,252.85,182.55,227.86,182.55z M303.36,108.66H152.37 c-24.1,0-43.71,19.61-43.71,43.71v150.99c0,24.1,19.61,43.71,43.71,43.71h150.99c24.1,0,43.71-19.61,43.71-43.71V152.37 C347.07,128.27,327.46,108.66,303.36,108.66z M227.86,306.35c-43.27,0-78.48-35.21-78.48-78.49c0-43.27,35.21-78.48,78.48-78.48 c43.28,0,78.49,35.21,78.49,78.48C306.35,271.14,271.14,306.35,227.86,306.35z M308.87,165.61c-10.24,0-18.57-8.33-18.57-18.57 s8.33-18.57,18.57-18.57s18.57,8.33,18.57,18.57S319.11,165.61,308.87,165.61z M227.86,182.55c-24.98,0-45.32,20.33-45.32,45.31 c0,24.99,20.34,45.33,45.32,45.33c24.99,0,45.32-20.34,45.32-45.33C273.18,202.88,252.85,182.55,227.86,182.55z"/>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 4.7 KiB

BIN
assets/images/logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 81 KiB

39
assets/images/twitter.svg Normal file
View file

@ -0,0 +1,39 @@
<?xml version="1.0" encoding="windows-1252"?>
<!-- Generator: Adobe Illustrator 18.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 455.731 455.731" style="enable-background:new 0 0 455.731 455.731;" xml:space="preserve">
<g>
<rect x="0" y="0" style="fill:#50ABF1;" width="455.731" height="455.731"/>
<path style="fill:#FFFFFF;" d="M60.377,337.822c30.33,19.236,66.308,30.368,104.875,30.368c108.349,0,196.18-87.841,196.18-196.18 c0-2.705-0.057-5.39-0.161-8.067c3.919-3.084,28.157-22.511,34.098-35c0,0-19.683,8.18-38.947,10.107 c-0.038,0-0.085,0.009-0.123,0.009c0,0,0.038-0.019,0.104-0.066c1.775-1.186,26.591-18.079,29.951-38.207 c0,0-13.922,7.431-33.415,13.932c-3.227,1.072-6.605,2.126-10.088,3.103c-12.565-13.41-30.425-21.78-50.25-21.78 c-38.027,0-68.841,30.805-68.841,68.803c0,5.362,0.617,10.581,1.784,15.592c-5.314-0.218-86.237-4.755-141.289-71.423 c0,0-32.902,44.917,19.607,91.105c0,0-15.962-0.636-29.733-8.864c0,0-5.058,54.416,54.407,68.329c0,0-11.701,4.432-30.368,1.272 c0,0,10.439,43.968,63.271,48.077c0,0-41.777,37.74-101.081,28.885L60.377,337.822z"/>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.4 KiB

44
assets/images/youtube.svg Normal file
View file

@ -0,0 +1,44 @@
<?xml version="1.0" encoding="windows-1252"?>
<!-- Generator: Adobe Illustrator 18.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 455.731 455.731" style="enable-background:new 0 0 455.731 455.731;" xml:space="preserve">
<g>
<rect x="0" y="0" style="fill:#DC472E;" width="455.731" height="455.731"/>
<g>
<path style="fill:#FFFFFF;" d="M263.259,291.734c-0.01-1.7-0.51-3.47-1.14-5.06c-0.84-2.09-2.64-3.13-4.9-3.35 c-2.65-0.26-4.77,0.81-6.69,2.51c-0.77,0.67-1.12,1.67-1.12,1.67l0.04,53.97v1.33c0,0,0.46,0.62,0.53,0.7 c1.56,1.69,3.38,3.03,5.71,3.51c3.84,0.79,6.55-0.81,7.3-4.37c0.19-0.89,0.3-1.81,0.3-2.72 C263.309,323.854,263.339,307.794,263.259,291.734z M263.259,291.734c-0.01-1.7-0.51-3.47-1.14-5.06 c-0.84-2.09-2.64-3.13-4.9-3.35c-2.65-0.26-4.77,0.81-6.69,2.51c-0.77,0.67-1.12,1.67-1.12,1.67l0.04,53.97v1.33 c0,0,0.46,0.62,0.53,0.7c1.56,1.69,3.38,3.03,5.71,3.51c3.84,0.79,6.55-0.81,7.3-4.37c0.19-0.89,0.3-1.81,0.3-2.72 C263.309,323.854,263.339,307.794,263.259,291.734z M323.689,210.344c-63.87-1.37-127.77-1.37-191.65,0 c-22.16,0.47-39.88,18.59-39.88,40.76v99.76c0,22.18,17.72,40.3,39.88,40.77c63.88,1.37,127.78,1.37,191.65,0 c22.17-0.47,39.89-18.59,39.89-40.77v-99.76C363.579,228.935,345.859,210.814,323.689,210.344z M150.799,359.955h-18.42v-104.13 h-19.07v-17.42h56.6v17.38h-19.11V359.955z M216.719,316.734v43.23h-16.31v-9.88c-0.59,0.63-0.92,0.97-1.23,1.32 c-3.51,3.96-7.49,7.26-12.57,9.01c-2.48,0.85-5.03,1.14-7.64,0.69c-3.56-0.59-5.95-2.64-7.39-5.88c-1.34-2.99-1.68-6.19-1.69-9.41 c-0.04-11.9-0.02-74.88-0.02-75.49h16.27c0.03,0.55,0.09,45.76,0.1,67.81c0,1.2,0.01,2.43,0.25,3.6c0.6,2.96,2.87,4.23,5.72,3.19 c3.28-1.2,5.78-3.46,7.88-6.17c0.31-0.39,0.31-1.09,0.31-1.65v-66.88l16.32-0.04C216.719,270.185,216.719,301.754,216.719,316.734 z M278.769,351.324c-2.18,6.56-6.98,9.9-13.88,9.83c-5.61-0.05-10.16-2.28-13.91-6.35c-0.42-0.45-1.58-1.68-1.58-1.68v6.82h-16.34 v-121.55h16.34c0,12.94,0,40.01,0,40.01s0.92-1.84,1.76-2.79c2.53-2.83,5.61-5.02,9.41-5.98c6.27-1.57,13.5,0.37,16.94,7.7 c2.03,4.33,2.6,8.95,2.6,13.65c0.03,16.99,0.03,33.98,0.01,50.97C280.109,345.134,279.779,348.275,278.769,351.324z M339.119,347.905c-2.83,8.29-8.68,12.89-17.26,14.15c-5.32,0.78-10.59,0.67-15.58-1.59c-6.83-3.08-10.7-8.65-12.36-15.74 c-0.77-3.3-1.15-6.76-1.19-10.15c-0.13-13.31-0.07-26.63-0.04-39.94c0.01-6.96,1.67-13.38,6.44-18.71 c5.44-6.09,12.4-8.36,20.35-7.85c2.39,0.15,4.83,0.54,7.1,1.29c7.73,2.54,11.86,8.33,13.48,16.01c0.62,2.96,0.85,6.03,0.9,9.06 c0.13,7.1-0.05,22.75-0.05,22.75h-31.29v22.43c0,4.03,3.26,7.29,7.29,7.29c4.02,0,7.28-3.26,7.28-7.29v-11.53h16.81 C340.999,328.084,341.249,341.695,339.119,347.905z M324.189,290.685c0-4.02-3.26-7.29-7.28-7.29c-4.03,0-7.29,3.27-7.29,7.29 v12.59h14.57V290.685z M262.119,286.675c-0.84-2.09-2.64-3.13-4.9-3.35c-2.65-0.26-4.77,0.81-6.69,2.51 c-0.77,0.67-1.12,1.67-1.12,1.67l0.04,53.97v1.33c0,0,0.46,0.62,0.53,0.7c1.56,1.69,3.38,3.03,5.71,3.51 c3.84,0.79,6.55-0.81,7.3-4.37c0.19-0.89,0.3-1.81,0.3-2.72c0.02-16.07,0.05-32.13-0.03-48.19 C263.249,290.034,262.749,288.264,262.119,286.675z"/>
<path style="fill:#FFFFFF;" d="M303.887,94.99l-0.005,90.244H287.16l0.02-9.695c-1.849,1.821-3.427,3.522-5.161,5.05 c-3.074,2.708-6.556,4.727-10.629,5.524c-6.253,1.223-11.579-0.754-13.573-7.23c-0.664-2.157-1.065-4.482-1.082-6.734V94.99 h16.596v68.821c0,0.912,0.073,1.834,0.233,2.728c0.504,2.836,2.6,4.171,5.331,3.224c3.329-1.152,5.869-3.457,8.024-6.173 c0.306-0.388,0.251-1.112,0.251-1.681V94.99H303.887z"/>
<path style="fill:#FFFFFF;" d="M165.578,110.672c-3.63-15.301-11.235-47.602-11.235-47.602h-19.029 c0,0,14.62,48.487,21.158,70.111c0.235,0.782,0.343,1.631,0.343,2.45l-0.007,49.584h17.547l-0.007-49.584 c0-0.819,0.108-1.668,0.343-2.45c6.538-21.624,21.158-70.111,21.158-70.111H176.82c0,0-7.606,32.301-11.235,47.602H165.578z"/>
<path style="fill:#FFFFFF;" d="M218.752,92.731L218.752,92.731c-13.224,0-23.944,10.72-23.944,23.944v46.859 c0,13.224,10.72,23.944,23.944,23.944h0c13.224,0,23.944-10.72,23.944-23.944v-46.859 C242.697,103.451,231.976,92.731,218.752,92.731z M225.662,164.48c0,3.81-3.1,6.909-6.909,6.909s-6.909-3.099-6.909-6.909v-48.752 c0-3.81,3.1-6.909,6.909-6.909s6.909,3.1,6.909,6.909V164.48z"/>
</g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 4.5 KiB

View file

@ -0,0 +1,45 @@
.button {
line-height: 1.15 !important;
display: flex;
box-shadow: inset 0 0 10px rgba(0, 0, 0, 0.2);
color: white;
.button-text {
padding: 10px;
border-radius: 2px;
}
.button-icon {
box-shadow: inset 0 0 10px rgba(0, 0, 0, 0.2);
padding: 10px;
border-radius: 2px;
}
transition: opacity 0.2s;
text-decoration: none;
border-radius: 2px;
}
.button-primary {
background-color: #3498db;
.button-icon {
background-color: #2980b9;
}
}
.button:hover {
opacity: 0.8;
cursor: pointer;
transition: opacity 0.2s;
}
.button.disabled {
opacity: 0.5;
filter: grayscale(100);
transform: none !important;
}
@media (max-width: $responsive-small) {
.button.mobile-icon {
.button-text {
display: none;
}
}
}

View file

@ -0,0 +1,88 @@
$card-border-radius: 5px;
.card {
margin-bottom: 1em;
.card-title {
border-top-left-radius: $card-border-radius;
border-top-right-radius: $card-border-radius;
padding: 10px 10px 10px 15px;
font-weight: bold;
font-size: 1.2em;
.fa {
margin-right: 0.2em;
}
}
.card-text {
box-shadow: inset 0 0 10px rgba(0, 0, 0, 0.2);
padding: 10px 15px 20px 15px;
}
.card-actions {
border-bottom-left-radius: $card-border-radius;
border-bottom-right-radius: $card-border-radius;
display: flex;
justify-content: flex-end;
padding: 10px 15px 10px 15px;
font-weight: bold;
.card-action {
opacity: 0.8;
text-decoration: none;
color: inherit;
}
.card-action:hover {
cursor: pointer;
opacity: 1;
}
}
}
.card.no-actions {
.card-text {
border-bottom-left-radius: $card-border-radius;
border-bottom-right-radius: $card-border-radius;
}
}
.card.card-green {
color: #2f3640;
.card-title {
background-color: #27ae60;
}
.card-text {
background-color: #2ecc71;
}
.card-actions {
background-color: #27ae60;
}
}
.card.card-purple {
color: #f5f6fa;
a {
color: #f5f6fa;
}
.card-title {
background-color: #8e44ad;
}
.card-text {
background-color: #9b59b6;
}
.card-actions {
background-color: #8e44ad;
}
}
.card.card-blue {
color: #f5f6fa;
a {
color: #f5f6fa;
}
.card-title {
background-color: #2980b9;
}
.card-text {
background-color: #3498db;
}
.card-actions {
background-color: #2980b9;
}
}

View file

@ -0,0 +1,11 @@
@media (max-width: $responsive-medium) {
.container {
width: 94% !important;
}
}
@media (max-width: $responsive-interlarge) {
.container {
width: 90% !important;
}
}

View file

@ -0,0 +1,6 @@
.divider {
//margin-top: 3vh;
border-bottom: 1px solid #a4b0be;
border-radius: 1px;
//margin-bottom: 5vh;
}

View file

@ -0,0 +1,24 @@
a:focus, a:active {
outline:0 !important;
}
.link {
color: inherit;
transition: opacity 0.2s;
text-decoration: none;
}
.link:hover {
text-decoration: none;
opacity: 0.8;
transition: opacity 0.2s;
cursor: pointer;
}
.link.link-primary {
color: $primary-color;
}
.link.no-opacity:hover {
opacity: 1 !important;
}

View file

@ -0,0 +1,192 @@
.articles {
display: grid;
grid-template-columns: repeat(3, 1fr);
grid-column-gap: 1.3em;
grid-row-gap: 1.3em;
article {
height: 100%;
}
.article {
position: relative;
overflow: hidden;
background-color: #fff;
box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.3);
transition: box-shadow 0.3s;
border-radius: 5px;
width: 100%;
height: 25em;
}
a {
color: inherit;
text-decoration: none;
opacity: initial;
}
a:hover {
opacity: initial;
}
.article:hover {
box-shadow: 0px 0px 50px rgba(0, 0, 0, 0.3);
}
.article-status {
position: absolute;
top: 20px;
right: 20px;
width: 55px;
height: 55px;
padding-top: 10px;
color: #fff;
line-height: 2.3;
font-size: 15px;
font-weight: bold;
text-align: center;
background-color: $primary-color;
border-radius: 50%;
text-transform: uppercase;
display: block;
}
.article-status-day {
display: block;
font-size: 14px;
}
.article-status-month {
display: block;
font-size: 14px;
text-transform: uppercase;
}
.article-thumb {
height: 15em;
overflow: hidden;
background-color: white;
background-size: cover;
background-position: center;
transition: height 0.3s;
}
.article-thumb img {
display: block;
opacity: 1;
transition: opacity 0.3s, transform 0.3s;
transform: scale(1);
}
.article-body {
position: absolute;
bottom: 0;
background: white;
width: 100%;
display: flex;
flex-direction: column;
padding: 1em;
height: 12em;
transition: height 0.3s;
}
.article:hover .article-body {
height: 18em;
}
.article-title {
margin: 0;
padding: 0 0 10px 0;
font-size: 22px;
color: #000;
font-weight: bold;
transition: all 0.3s;
}
.article-subtitle {
margin: 0;
padding: 0 0 10px 0;
font-size: 19px;
color: $primary-color;
}
.article-description {
margin: 0;
padding: 0;
color: #666C74;
font-size: 14px;
line-height: 27px;
opacity: 0;
transition: opacity 0.2s, transform 0.2s;
transition-delay: 0s;
transform: translateY(25px);
height: 100%;
// text-overflow: ellipsis;
// white-space: nowrap;
// overflow: hidden;
}
.article:hover .article-description {
opacity: 1;
transition-delay: 0.1s;
transform: translateY(0);
}
// @keyframes titleBlur {
// 0% {
// opacity: 0.6;
// text-shadow: 0px 5px 5px rgba(0, 0, 0, 0.6);
// }
// 100% {
// opacity: 1;
// text-shadow: 0px 5px 5px transparent;
// }
// }
// @keyframes subtitleBlur {
// 0% {
// opacity: 0.6;
// text-shadow: 0px 5px 5px rgba(239, 90, 49, 0.6);
// }
// 100% {
// opacity: 1;
// text-shadow: 0px 5px 5px rgba(239, 90, 49, 0);
// }
// }
}
@media (max-width: $responsive-medium) {
.articles {
display: flex;
justify-content: center;
flex-wrap: wrap;
.article {
max-width: 22em;
}
}
}
@media (max-width: $responsive-small) {
.blog-title-container {
padding: 0;
.blog-title {
display: none;
}
.sort {
margin-top: 0 !important;
padding-top: 1em;
padding-bottom: 1em;
}
}
.articles {
align-items: center;
flex-direction: column;
.article {
width: 100%;
}
}
}

View file

@ -0,0 +1,346 @@
.d-flex {
display: flex;
}
.blog-title-container {
display: flex;
justify-content: space-between;
}
.blog-pagination {
display: flex;
justify-content: space-between;
width: 100%;
}
.icon {
content: none;
}
.logo {
transform: scale(1.2);
}
.page-container.not-complete {
position: relative;
top: 97px;
padding-bottom: 97px;
}
.content {
margin-top: 1em;
line-height: 2.2em;
font-size: 16px;
&.negative-top-margin {
margin-top: -1.2em;
}
.blog-article {
img.sm-img {
width: 25vh !important;
}
img.md-img {
width: 40vh !important;
}
img {
display: flex;
padding-top: 1.5em;
padding-bottom: 1.5em;
width: 60vh;
margin: 0 auto;
}
iframe {
padding-top: 1.5em;
padding-bottom: 1.5em;
max-width: 100%;
margin: 0 auto;
display: flex;
}
}
.page-details {
display: flex;
width: 100%;
//border-bottom: 2px solid rgba(127, 130, 139, 0.8);
border-radius: 1px;
justify-content: flex-end;
//padding-bottom: 0.5em;
margin-bottom: .5em;
.page-details-item {
i {
margin-right: 10px;
}
margin-right: 1em;
opacity: 0.7;
display: flex;
align-items: center;
}
}
.content-side {
padding-left: 20px;
border: 1px solid #47494e;
padding-bottom: 2em;
margin-left: 2em;
}
.content-title {
color: #2c3e50;
}
&.text {
a {
color: $primary-color;
transition: opacity 0.2s;
text-decoration: none;
}
a:hover {
text-decoration: none;
opacity: 0.8;
transition: opacity 0.2s;
cursor: pointer;
}
ul {
margin-top: 0.5em;
margin-bottom: 0.5em;
}
h1 {
text-decoration: underline;
margin-top: 1em;
margin-bottom: 1em;
}
h2 {
margin-top: 1em;
margin-bottom: 0.5em;
}
h3 {
margin-top: .75em;
margin-bottom: 0.5em;
}
}
}
.index-icon-title {
padding-left: 1em;
.fa {
margin-right: 10px;
}
}
.index-more-section {
float: right;
}
.clear-fix {
clear: both;
height: 1px;
overflow: hidden;
margin-bottom: -1px;
line-height: 1%;
font-size: 0px;
}
.section-error-container {
display: flex;
justify-content: center;
align-items: center;
height: 12vh;
width: 100%;
background-color: #ecf0f1;
border-radius: 10px;
.section-error-content {
font-size: 1.2em;
opacity: 0.8;
.fa {
margin-right: 0.5em;
}
}
}
.loading-container {
display: flex;
justify-content: center;
align-items: center;
height: 12vh;
width: 100%;
background-color: #ecf0f1;
border-radius: 10px;
.loading-content {
font-size: 1.2em;
opacity: 0.8;
.fa {
margin-right: 0.5em;
}
}
}
.mosaic, .image-mosaic {
padding-top: 1.2em;
padding-bottom: 1.2em;
margin: 0 auto;
justify-content: center;
align-items: center;
display: grid;
grid-template-columns: repeat(auto-fill, 30%);
justify-self: center;
grid-row-gap: 1em;
grid-column-gap: 1em;
img, .mosaic-item {
display: block !important;
padding: 0 !important;
width: 100% !important;
}
}
.mosaic.two-columns {
grid-template-columns: repeat(auto-fill, 48%);
}
.mosaic.three-columns {
grid-template-columns: repeat(auto-fill, 30%);
}
.mosaic.four-columns {
grid-template-columns: repeat(auto-fill, 22%);
}
.flex-mosaic {
display: flex;
justify-content: center;
}
.flex-mosaic-item {
margin-right: 1em;
}
.flex-mosaic .flex-mosaic-item:first-of-type {
margin-left: 0;
}
.flex-mosaic .flex-mosaic-item:last-of-type {
margin-right: 0;
}
.full-iframe-container {
display: flex;
flex-direction: column;
min-height: 100vh;
width: 100%;
iframe {
border: none;
flex-grow: 1;
width: 100%;
}
}
.multistage-mosaic {
margin: 0 auto;
width: 75%;
display: grid;
grid-template-columns: 1.8fr 1fr;
grid-template-rows: 1fr 1fr;
gap: 0px 0px;
.multistage-item {
// display: flex;
// justify-content: center;
// align-items: center;
img {
margin: 0;
width: 49vh !important;
}
}
.multistage-top-left {
grid-column: 1 / 2;
grid-row: 1 / 2;
}
.multistage-right {
grid-column: 2 / 3;
grid-row: 1 / 3;
img {
width: 35vh !important;
}
}
.multistage-bottom-left {
grid-column: 1 / 2;
grid-row: 2 / 3;
}
}
@media (max-width: $responsive-medium) {
.mosaic, .image-mosaic {
display: flex;
justify-content: space-around;
flex-wrap: wrap;
img, .mosaic-item {
margin-bottom: 1em !important;
display: block !important;
padding: 0 !important;
}
img:last-of-type, .mosaic-item:last-of-type {
margin-bottom: 0 !important;
}
}
.flex-mosaic {
display: block;
}
.multistage-mosaic {
margin: 0;
width: 100%;
}
}
@media (max-width: $responsive-small) {
.sort-by-dates-container {
margin-bottom: .5em;
}
.blog-title-container {
display: flex;
flex-direction: column;
justify-content: start;
.sort {
margin-top: 1em;
margin-left: 2em;
margin-right: 2em;
}
}
.blog-pagination {
padding-left: 1em;
padding-right: 1em;
}
.multistage-mosaic {
grid-template-columns: auto;
grid-template-rows: auto;
.multistage-item {
display: flex;
justify-content: center;
}
.multistage-top-left {
grid-column: auto;
grid-row: auto;
}
.multistage-right {
grid-column: auto;
grid-row: auto;
img {
padding: 0;
margin: 0 auto;
width: 28vh !important;
}
}
.multistage-bottom-left {
grid-column: auto;
grid-row: auto;
}
}
}

View file

@ -0,0 +1,43 @@
.contact-card {
display: flex;
padding: 1em;
border: 1px solid gray;
border-radius: 10px;
.contact-card-left {
width: 5em;
background-size: contain;
background-repeat: no-repeat;
background-position: center;
}
.contact-card-right {
margin-left: 1.5em;
}
.contact-card-title {
font-size: 1.3em;
}
.contact-methods {
padding: 0;
list-style-type: none;
.contact-method {
display: flex;
.contact-method-icon {
opacity: 0.8;
margin-right: 1em;
}
}
}
}
@media (max-width: $responsive-small) {
.contact-card {
padding: .5em;
.contact-card-right {
margin-left: .75em !important;
}
.contact-method-icon {
margin-right: .5em !important;
}
}
}

View file

@ -0,0 +1,120 @@
$cover-height: 15em;
.cover {
position: relative;
.cover-back {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-image: url('https://s.werobot.fr/headerCover.jpeg');
background-size: cover;
background-position: center;
z-index: -1;
}
.cover-container {
width: 100%;
box-shadow: inset 0 0 10px rgba(0, 0, 0, 0.5);
min-height: $cover-height;
background-color: rgba(41, 128, 185, 0.8);
display: flex;
align-items: center;
color: white;
padding: 5em 0;
}
.cover-title {
line-height: 3em;
font-size: 1.5em;
padding-left: 1.5em;
}
&.large-cover {
.cover-container {
padding: 6em 0;
}
}
&.cover-mode-small .cover-container {
padding: 6em 0;
}
&.cover-mode-medium .cover-container {
height: 40vh;
}
&.cover-mode-large .cover-container {
height: 50vh;
}
&.cover-mode-full .cover-container {
height: 77vh;
}
.cover-date {
padding-top: 2em;
padding-bottom: 1em;
font-size: 1.2em;
opacity: 0.7;
display: flex;
align-items: center;
.cover-date-icon{
margin-right: 1em;
}
}
}
@media (max-width: $responsive-small) {
.cover {
&.cover-mode-medium .cover-container {
height: 49vh !important;
}
}
}
@media (max-width: $responsive-interlarge) {
.cover {
&.cover-mode-large .cover-container {
height: 40vh !important;
}
&.cover-mode-full .cover-container {
height: 65vh;
}
}
}
@media (max-width: $responsive-medium) {
.cover {
.cover-back {
background-position: center !important;
}
.cover-title {
font-size: 1.3em;
padding-left: 0;
}
&.cover-mode-medium .cover-container {
height: 45vh;
}
&.large-cover .cover-container { padding: 5em 0; }
&.cover-mdoe-small .cover-container { padding: 5em 0; }
//&.cover-mode-large .cover-container {
//padding: 11em 0 !important;
//}
}
}
@media (min-width: $responsive-large) {
.cover {
&.large-cover .cover-container { padding: 8em 0; }
//&.cover-mode-large .cover-container {
//padding: 21em 0 !important;
//}
}
}

View file

@ -0,0 +1,82 @@
body {
overflow-x: hidden !important;
}
.drawer {
.bm-menu {
background-color: #2c3e50 !important;
}
.cross-style {
right: -4px !important;
top: 13px !important;
}
}
.drawer-body-scrolling-disabled {
overflow: hidden;
}
.main-page-wrap {
transition: transform 0.5s ease 0s;
}
.disabled {
transform: translate3d(-300px, 0px, 0px) !important;
}
.drawer {
background-color: #2c3e50;
position: fixed;
width: 0;
transition: width 0.5s ease;
z-index: 999;
right: 0;
top: 0;
height: 100%;
padding-top: 1em;
padding-bottom: 1em;
white-space: nowrap;
overflow: hidden;
.drawer-content {
width: 300px;
padding-left: 1em;
transition: opacity 0.5s ease;
opacity: 1;
}
.drawer-links {
flex-direction: column;
display: flex;
}
.drawer-link {
display: flex;
justify-content: center;
align-items: center;
padding-bottom: 1em;
padding-top: 1em;
color: white;
transition: opacity 0.2s;
&:hover {
opacity: 0.8;
transition: opacity 0.2s;
}
}
&.drawer-enabled {
width: 300px;
.drawer-links {
opacity: 1;
}
}
.drawer-close-container {
display: flex;
justify-content: flex-end;
align-items: center;
color: white;
padding-right: 1em;
font-size: 1.3em;
}
}

View file

@ -0,0 +1,22 @@
.error-container {
height: 20vh;
display: flex;
justify-content: center;
align-items: center;
margin-top: 5em;
.error {
color: #2f3640;
display: flex;
align-items: center;
.error-icon {
margin-right: 2.2em;
margin-left: 1.3em;
i {
font-size: 1.5em;
}
}
.error-title {
margin-bottom: 0.3em;
}
}
}

View file

@ -0,0 +1,3 @@
body {
font-family: 'Roboto Slab', serif;
}

View file

@ -0,0 +1,132 @@
$social-icon-height: 2em;
$footer-cover-height: 10em;
.footer {
margin-top: 5em;
.footer-cover-back {
height: $footer-cover-height;
background-image: url("https://s.werobot.fr/footerCover.jpeg");
background-size: cover;
background-position-x: center;
background-position-y: top;
}
.footer-cover {
margin-top: -$footer-cover-height;
height: $footer-cover-height;
background-color: rgba(41, 128, 185, .8);
box-shadow: inset 0 0 10px rgba(0, 0, 0, .5);
}
.footer-border {
display: flex;
.footer-border-item {
display: block;
content: "";
border-bottom: 1px solid black;
}
.footer-border-item:nth-child(1) {
border-color: #bdc3c7;
width: 100%;
}
}
.footer-container {
height: 20em;
padding-top: 3em;
padding-bottom: 3em;
.footer-title-container {
display: flex;
align-items: center;
justify-content: space-between;
margin-bottom: 2em;
.footer-title {
font-size: 1.8em;
opacity: 0.9;
margin-bottom: 0.5em;
}
.footer-description {
opacity: 0.9;
line-height: 1.5em;
}
.footer-logo {
margin-right: 2.5em;
img {
width: 38em;
}
}
}
.footer-footer {
margin-top: 3em;
padding-bottom: 2em;
}
.footer-socials {
margin-left: 1em;
display: flex;
justify-content: flex-start;
.footer-socials-item {
margin-right: 1em;
display: flex;
justify-content: center;
align-items: center;
opacity: 0.8 !important;
img, svg {
width: $social-icon-height;
height: $social-icon-height;
}
&:hover {
opacity: 1 !important;
}
}
}
.footer-links {
text-align: right;
display: flex;
flex-direction: column;
a {
margin-bottom: 10px;
font-size: 1em;
color: #2980b9;
}
}
}
}
@media (max-width: $responsive-medium) {
.footer {
.footer-container {
padding-top: 1em;
.footer-title-container {
flex-direction: column;
text-align: center;
.footer-logo {
margin-right: 0;
margin-bottom: 1em;
img {
display: flex;
margin: 0 auto;
width: 8em;
}
}
}
.footer-links {
text-align: center;
margin-top: 1em;
margin-bottom: 1em;
}
.footer-footer {
margin-top: 2em;
padding-bottom: 2em;
}
.footer-socials {
margin-left: 0;
.footer-socials-item img {
width: 2.4em;
height: 2.4em;
}
}
}
}
}

View file

@ -0,0 +1,142 @@
$logo-height: 6em;
$logo-responsive-height: 4em;
.header-border {
border-top: 1px solid #7f828b;
}
.header {
.header-container {
position: relative;
padding-top: 2em;
padding-bottom: 2em;
display: flex;
justify-content: space-between;
align-content: center;
align-items: center;
.header-nav-responsive-button-container {
display: none;
}
.header-title-container {
display: flex;
justify-content: center;
align-content: center;
align-items: center;
.header-title {
margin-left: 0.5em;
.header-title-title {
//font-family: 'Audiowide', serif;
font-size: 2.2em;
opacity: 0.9;
margin-bottom: 10px;
}
.header-sub-title {
margin-left: 1px;
}
}
.header-logo {
width: $logo-height;
height: $logo-height;
margin-right: 2em;
}
}
.header-nav {
display: flex;
justify-content: space-between;
.header-nav-item {
margin-left: 3em;
}
.header-nav-item .link.active {
border-bottom: 2px dotted #7f828b;
padding-bottom: 2px;
//border-style: dashed;
}
}
}
}
.header.not-complete {
//box-shadow: inset -8px -24px 66px -11px rgba(0,0,0,0.75);
position: fixed;
width: 100%;
background-color: white;
z-index: 1500;
transition:0.4s top cubic-bezier(.3,.73,.3,.74);
border-bottom: 2px solid #a4b0be;
.header-container {
padding-top: 0;
padding-bottom: 0;
}
.header-locale-container {
display: none;
}
.header-sub-title {
display: none;
}
}
@media (max-width: $responsive-medium) {
.header {
display: flex;
justify-content: center;
align-items: center;
.header-container {
justify-content: space-between;
padding-left: 1em;
padding-right: 1.5em;
.header-title-container {
width: 100%;
justify-content: space-between;
.header-title {
font-size: 1em;
margin: 0;
.header-title-title {
font-size: 1.5em;
margin: 0;
}
.header-sub-title {
display: none;
}
}
.header-logo {
width: $logo-responsive-height;
height: $logo-responsive-height;
margin-right: 1em;
}
}
.header-nav {
display: none;
}
.header-nav-responsive-button-container {
display: block;
.header-nav-responsive-button {
color: #2c3e50;
font-size: 1.8em;
opacity: 0.8;
transition: opacity 0.2s;
&:hover {
opacity: 1;
transition: opacity 0.2s;
cursor: pointer;
}
}
}
}
}
}
.header-locale-container {
display: flex;
justify-content: flex-end;
position: absolute;
right: 0;
bottom: 0;
height: 0;
z-index: 888;
}

View file

@ -0,0 +1,19 @@
.ol-attribution {
ul {
margin: 0 !important;
padding: .5em !important;
line-height: normal;
font-size: small;
}
}
.about-place-map {
width: 50em;
height: 30em;
}
@media (max-width: $responsive-small) {
.about-place-map {
width: 100%;
}
}

View file

@ -0,0 +1,132 @@
.partners {
margin-top: 2em;
.partner {
//GiGa
&:first-child img {
width: 60%;
}
//uimm
/*&:nth-child(2) img {
width: 50%;
}*/
//papavoine
&:nth-child(2) img {
width: 40%;
margin-bottom: 1em;
}
//Girv
&:nth-child(3) img {
width: 60%;
}
// arianegroup
&:nth-child(4) img {
width: 65%;
}
// gaillon
&:nth-child(5) img {
width: 40%;
}
// skf
&:nth-child(6) {
margin-top: 2.2em;
img {
width: 55%;
}
}
// AtisComputer
&:nth-child(7) {
margin-top: 2.2em;
img {
width: 75%;
}
}
margin-top: 1.2em;
.partner-image {
display: flex;
justify-content: center;
align-items: center;
text-align: center;
}
}
}
.partners-quick {
margin-top: 1.5em;
margin-bottom: -2em;
justify-content: space-around;
.partner-quick-title {
margin-bottom: .5em;
}
.partner-item {
display: flex;
justify-content: center;
align-items: center;
img {
width: auto;
height: 7em;
}
&:nth-of-type(4) {
img {
height: 5em;
}
}
&:nth-of-type(5) {
img {
height: 6em;
}
}
&:nth-of-type(6) {
//margin-top: 2.5em;
img {
height: 4em;
}
}
&:nth-of-type(7) {
img {
padding: 1em;
}
}
}
}
@media (max-width: $responsive-medium) {
.partners-quick .partner-item {
img {
padding: 10px;
}
}
.partners {
margin-top: 2em;
.partner {
//Girv
&:nth-child(3) img {
margin-top: .5em;
margin-bottom: 1em;
}
// arianegroup
&:nth-child(4) img {
margin-top: .5em;
margin-bottom: 1em;
}
// gaillon
&:nth-child(5) img {
margin-top: 1em;
margin-bottom: .5em;
}
//skf
&:nth-child(6) {
margin-top: 2em;
img {
margin-bottom: 1em;
}
}
&:nth-child(7) {
margin-top: 2em;
img {
margin-bottom: 1em;
}
}
}
}
}

View file

@ -0,0 +1,52 @@
.photos-list {
.photos-list-title {
margin-bottom: 1em;
.fa {
margin-right: 10px;
}
}
.photos-list-photos {
display: grid;
grid-template-columns: repeat(4, 1fr);
grid-column-gap: 1.2em;
grid-row-gap: 1.2em;
justify-content: center;
}
.photos-list-item {
border-radius: 5px;
height: 17.5em;
min-width: 14em;
background-size: cover;
background-position: center;
opacity: 1;
display: block;
transition: opacity 0.2s;
}
.photos-list-item:hover {
opacity: 0.8;
cursor: pointer;
transition: opacity 0.2s;
}
.photos-more {
float: right;
}
}
@media (max-width: $responsive-medium) {
.photos-list {
.photos-list-photos {
display: flex;
justify-content: center;
flex-wrap: wrap;
}
.photos-list-item {
min-width: 17.5em;
}
}
}

View file

@ -0,0 +1,43 @@
.team-mosaic {
margin-top: 2.5em;
display: grid;
grid-template-columns: 30% 30% 30%;
grid-column-gap: 28px;
grid-row-gap: 2em;
.team-item {
text-align: center;
.team-item-title {
margin-top: 0.3em;
margin-bottom: 0.2em;
font-size: 1.4em;
font-weight: 300;
}
.team-item-image {
margin: 0 auto;
display: flex;
justify-content: center;
align-items: center;
width: 10em;
height: 10em;
overflow: hidden;
img {
width: auto;
height: 10em;
}
}
.team-item-description {
font-size: 0.9em;
}
}
.team-item:last-of-type{
margin-right: 0;
}
}
@media (max-width: $responsive-medium) {
.team-mosaic {
grid-template-columns: 50% 50%;
grid-column-gap: 0;
}
}

View file

@ -0,0 +1,29 @@
.page-enter-active,
.page-leave-active {
transition: all 0.15s ease-out;
}
.page-enter,
.page-leave-active {
opacity: 0.15;
transform: translateZ(0);
backface-visibility: hidden;
}
.main-transition-enter-active, .main-transition-leave-active {
transition: opacity .5s
}
.main-transition-enter, .main-transition-leave-active, .main-transition-leave-to {
opacity: 0
}
.transition-parent {
min-height: 10em;
position: relative;
}
.transition-child {
position: absolute;
top: 0;
left: 0;
}

31
assets/scss/main.scss Normal file
View file

@ -0,0 +1,31 @@
$responsive-small: 475px;
$responsive-medium: 1050px;
$responsive-interlarge: 1400px;
$responsive-large: 1500px;
@import url("https://cdnjs.cloudflare.com/ajax/libs/tailwindcss/2.2.8/tailwind.min.css");
@import url('https://fonts.googleapis.com/css?family=Audiowide|Roboto+Slab');
@import url('https://use.fontawesome.com/releases/v5.3.1/css/all.css');
@import "variables";
@import "helpers/container";
@import "helpers/link";
@import "helpers/card";
@import "helpers/divider";
@import "helpers/button";
@import "layouts/fonts";
@import "layouts/header";
@import "layouts/articles";
@import "layouts/body";
@import "layouts/partner";
@import "layouts/team";
@import "layouts/cover";
@import "layouts/footer";
@import "layouts/photos";
@import "layouts/error";
@import "layouts/drawer";
@import "layouts/transitions";
@import "layouts/contact-card";
@import "layouts/map";

View file

@ -0,0 +1 @@
$primary-color: #2980b9;

30
config.toml Normal file
View file

@ -0,0 +1,30 @@
baseURL = '/'
languageCode = 'fr'
defaultContentLanguage = 'fr'
title = "We Robot"
summaryLength = 50
# THIS IS UNACCEPTALBE, I REALLY THOUGH THIS WAS THE DEFAULT IN HUGO!!
assetDir = "assets"
[sitemap]
changefreq = 'weekly'
[params]
dateFmt = "02.01.2006 15:04"
[params.defaultImage]
local = true
src = "cover/cover.jpg"
[taxonomies]
imtag = 'imtags'
# theme = "custom"
# [markup]
# [markup.goldmark]
# [markup.goldmark.renderer]
# unsafe = true

20
content/_index.md Normal file
View file

@ -0,0 +1,20 @@
---
title: Accueil
---
Bicycl'Eure est un atelier mobile de réparation et d'entretien de VÉLOS. Sur simple rendez-vous et après un diagnostic gratuit, Laurent, technicien cycle qualifié, redonnera vie à votre monture !
Éco-Responsable et Économique !
## L' Histoire de Bicycl'Eure
Sensible aux questions denvironnement et de surconsommation, Bicycl'Eure, situé dans le Val-d'Hazey à Aubevoye, vous propose des services d'entretien et de réparation de vos vélos ( quelque soit le modèle ) afin de leur donner une 2ème vie et déviter quils terminent inutilement en déchetterie. 
Titulaire du CQP Technicicien / Mecanicien Cycles obtenu au CNPC de Paris, j'ai décidé de créer un Atelier Mobile dans le but de recréer un service de proximité aussi bien rural quurbain.  
## Comment ça marche ?
Lors d'un RDV pris avec Bicycl'Eure, vous amenez votre vélo à l'atelier ou Bicycl'Eure se déplace pour réparer votre vélo devant chez vous.
BicyclEure travaille dans le respect des gestes barrières.

View file

@ -0,0 +1,6 @@
# A propos de ce site
## Technologies
Pour les curieux, ce site est réalisé avec [Hugo](https://gohugo.io/).

191
content/about/index.md Normal file
View file

@ -0,0 +1,191 @@
---
title: A propos
---
## Notre histoire
L'association a vu le jour en mai 2017. Son premier but était la participation au [First Global Challenge 2017](https://first.global/archive/fgc-2017/) à Washington D.C.
### Première compétition
Après trois mois de préparation et de communication, nous rencontrons les 156 pays participants. Le jeu des alliances et un robot pas très performant font que nous nous classons très mal. Néanmoins, la tenue régulière du blog pendant toutes les phases de notre préparation nous permettent de revenir avec la médaille d'argent du prix Sofia Kovalevskaya.
### Saison 2017-2018
<div class="d-flex justify-center pb-2">
<img alt="Notre ancien logo" data-src="https://s.werobot.fr/old_logo.png" title="Notre ancien logo" width="100" />
</div>
Nous avons participé à deux compétitions cette année :
- Les [trophées de robotique](http://tropheesderobotique.fr)
- Tout d'abord l'épreuve régionale Normande à laquelle nous sommes arrivés deuxième nous qualifiant ainsi pour l'épreuve nationale.
- Puis la compétition nationale, sur deux jours à Saint-Quentin.Nous nous y classons 20ième sur 62 équipes.
- Le 18ème World Adolescent Robot Contest dans la catégorie FGC
Cette compétition se déroule à Guyiang en chine, trente équipes y participent dont 15 chinoises et 15 internationales.
Nous y remportons deux prix :
- Le prix de l'unité internationale pour notre investissement dans la cohésion ainsi que notre aide technique et linguistique.
- Le prix de l'alliance victorieuse car nous remportons ce championnat
### Saison 2018-2019
L'association évolue. Non seulement elle accueille de nouveaux jeunes pour particper aux concours mais elle ouvre un volet éducation en proposant un atelier hebdomadaire d'initiation à la robotique aux enfants du [Centre Social Condorcet](https://www.espacecondorcet.org/).
Les concours actuellement prévus cette année sont une nouvelle fois les [trophées de robotique](http://tropheesderobotique.fr) et [Astro-Pi](https://www.astro-pi.org).
### Saison 2019-2020
Saison très mouvementée évidemment. L'atelier hebdomadaire d'initiation à la robotique aux enfants du [Centre Social Condorcet](https://www.espacecondorcet.org/) a continué jusqu'au confinement. Nous avons par ailleurs pu organiser deux ateliers de découverte des [micro-bits](https://archive.microbit.org/fr/). En ce qui concerne les concours de robotique, nos deux jeunes ont bossé d'arrache-pieds mais les [trophées](http://tropheesderobotique.fr) on tout d'abord été programmés à une date impossible (trop proche du bac) nous avons réussi à négocier notre inscription à la [coupe de France](https://www.coupederobotique.fr/) mais ces événements ont finis par être annulés/reportés.
<div id="members"></div>
## Nos membres
<div class="team-mosaic">
<div class="team-item">
<div class="team-item-image"><img data-src="https://static.werobot.fr/profiles/franck.jpg" alt="avatar"></div>
<p class="team-item-title">Franck</p>
<p class="team-item-description">Président de l'association, Coach</p>
</div>
<div class="team-item">
<div class="team-item-image"><img data-src="https://static.werobot.fr/profiles/francois.jpg" alt="avatar"></div>
<p class="team-item-title">François</p>
<p class="team-item-description">Trésorier de l'association, Coach</p>
</div>
<div class="team-item">
<div class="team-item-image"><img data-src="https://static.werobot.fr/profiles/katia.jpg" alt="avatar"></div>
<p class="team-item-title">Katia</p>
<p class="team-item-description">Secrétaire</p>
</div>
<!-- <div class="team-item">
<div class="team-item-image"><img data-src="https://static.werobot.fr/profiles/antoine.jpg" alt="avatar"></div>
<p class="team-item-title">Antoine</p>
<p class="team-item-description">Trophées, Astro-Pi, Communication</p>
</div> -->
<div class="team-item">
<div class="team-item-image"><img data-src="https://static.werobot.fr/profiles/mathis.jpg" alt="avatar"></div>
<p class="team-item-title">Mathis</p>
<p class="team-item-description">Trophées, Astro-Pi, atelier de robotique</p>
</div>
<div class="team-item">
<div class="team-item-image"><img data-src="https://static.werobot.fr/profiles/matthieu.jpg" alt="avatar"></div>
<p class="team-item-title">Matthieu</p>
<p class="team-item-description">Trophées, Astro-Pi, Communication</p>
</div>
<div class="team-item">
<div class="team-item-image"><img data-src="https://static.werobot.fr/profiles/mohamed.jpg" alt="avatar"></div>
<p class="team-item-title">Mohamed</p>
<p class="team-item-description">Trophées, Astro-Pi, Communication</p>
</div>
<!--<div class="team-item">
<div class="team-item-image"><img data-src="https://static.werobot.fr/profiles/quentin.jpg" alt="avatar"></div>
<p class="team-item-title">Quentin</p>
<p class="team-item-description">Communication</p>
</div>-->
</div>
<div id="partners"></div>
## Ils nous soutiennent
<div class="partners">
<div class="partner flex flex-wrap">
<div class="w-full md:w-1/3 partner-image">
<img data-src="https://s.werobot.fr/logoGIGAreduit.png">
</div>
<div class="w-full md:w-2/3">
Depuis octobre 2017 le GIGA est à nos côtés. Nous leur avons présenté l'association en assemblée générale, nous avons bénéficié d'un fort soutien financier de leur part pour nos déplacements ainsi que l'achat de matériel.
</div>
</div>
<!--<div class="partner flex flex-wrap">
<a class="w-full md:w-1/3 partner-image" href="https://uimm.lafabriquedelavenir.fr/">
<img data-src="https://s.werobot.fr/UIMMfabriqueMetiers.jpg">
</a>
<div class="w-full md:w-2/3">
<div>
Depuis décembre 2018, l'<a href="https://uimm.lafabriquedelavenir.fr/">UIMM</a> du département de l'Eure nous soutient et nous aide dans l'achat de notre matériel et nos supports de communications
</div>
</div>
</div> -->
<div class="partner flex flex-wrap">
<a class="w-full md:w-1/3 partner-image" href="https://www.papavoine-menuiserie.com/">
<img data-src="https://s.werobot.fr/papavoine.jpg">
</a>
<div class="w-full md:w-2/3">
<div>
Pour la saison 2018-2019, la <a href="https://www.papavoine-menuiserie.com/">menuiserie Papavoine</a> nous propose de nous aider à réaliser les éléments de la table de jeu des Trophées de robotique.
</div>
</div>
</div>
<div class="partner flex flex-wrap">
<a class="w-full md:w-1/3 partner-image" href="https://www.girv.com/">
<img data-src="https://s.werobot.fr/girv.png">
</a>
<div class="w-full md:w-2/3">
<div>
Depuis novembre 2018, le <a href="https://www.girv.com/">Groupement Interprofessionnel de la Région de Vernon</a> nous fait confiance en nous permettant de rencontrer des partenaires membres. Nous avons pu présenter notre association au salon professionnel du GIRV puis à son assemblée générale de décembre. Suite à celle-ci, il a participé à l'achat de l'imprimante 3D de notre association en février 2019.
</div>
</div>
</div>
<div class="partner flex flex-wrap">
<a class="w-full md:w-1/3 partner-image" href="https://www.ariane.group">
<img data-src="https://s.werobot.fr/arianegroup_lg.png">
</a>
<div class="w-full md:w-2/3">
<div>
Ariane Group Vernon a participé à l'achat de l'imprimante 3D de notre association en février 2019.
</div>
</div>
</div>
<!-- <div class="partner flex flex-wrap">
<a class="w-full md:w-1/3 partner-image" href="https://marianneurope.fr/">
<img src="https://s.werobot.fr/marianneEurope.png">
</a>
<div class="w-full md:w-2/3">
<div>
Depuis novembre 2018, l'<a href="https://marianneurope.fr/">agence de conseil Marianne Europe</a> nous a inscrit à ses deux newsletters professionnelles afin que nous puissions nous tenir informer des initiatives et des innovations locales et nous mettre en relation avec les entreprises innovantes de notre secteur.
</div>
</div>
</div> -->
<div class="partner flex flex-wrap">
<a class="w-full md:w-1/3 partner-image" href="http://www.ville-gaillon.fr/">
<img data-src="https://s.werobot.fr/logoVilleGaillon.jpg">
</a>
<div class="w-full md:w-2/3">
En début de saison 2017-2018, la mairie de Gaillon nous a accordé une petite subvention.
Depuis avril 2019, elle nous prête de grands locaux pour toutes nos activités et se montre très à l'écoute de nos besoins.
</div>
</div>
<div class="partner flex flex-wrap">
<a class="w-full md:w-1/3 partner-image" href="https://www.skf.com/fr">
<img data-src="https://s.werobot.fr/skf.png">
</a>
<div class="w-full md:w-2/3">
SKF Vernon a participé à l'achat de l'imprimante 3D de notre association en février 2019.
</div>
</div>
<div class="partner flex flex-wrap">
<a class="w-full md:w-1/3 partner-image" href="https://www.atiscomputer.com">
<img data-src="https://s.werobot.fr/atisComputer.jpg">
</a>
<div class="w-full md:w-2/3">
Nous soutient depuis avril 2019. Nous a déjà fourni 2 <a href="https://www.raspberrypi.org/">Raspberry Pi</a> 3B+
</div>
</div>
</div>
<div id="place-anchor" style="position: relative; opacity: 0; top: -550px;"></div>
<div class="pt-3"></div>
## Nos locaux
Nous disposons de locaux prêtés par la ville de Gaillon situés à proximité du centre de loisir des Douaires. Pour en savoir plus, [lisez notre article de blog à ce sujet.](/blog/voici-nos-nouveau-locaux)
<div class="about-place-container mt-5 d-flex justify-center">
<div
id="place-map"
class="about-place-map">
</div>
</div>

View file

@ -0,0 +1,4 @@
---
title: Informations de contact
---

6
content/posts/_index.md Normal file
View file

@ -0,0 +1,6 @@
---
title: Les dernières nouvelles
---
Ici vous trouverez des billets de blog rapportant les (bonnes !) dernières nouvelles de l'association et de son action autour de la chapelle de bethléem.

View file

@ -0,0 +1,40 @@
---
title: Annonce d'une assemblée générale constitutive d'une association autour de la Chapelle de Bethléem
date: 2022-09-10
---
Depuis la création du groupe Facebook dédié à la Chapelle de Bethléem, vous n'avez cessé d'être de plus en plus nombreux à témoigner votre intérêt.🙏
Cet intérêt s'est traduit par le souhait croissant de constituer une association de sauvegarde et de valorisation du site.
Nous avions à cet égard sondé vos intentions au printemps.
## ⭐ Le moment est venu de prendre rendez-vous.
Nous vous convions donc le samedi 24 septembre 2022 à 14 h 30, en la salle fête de Saint-Aubin sur Gaillon.
Nous vous y présenterons le projet d'association, auquel vous pourrez vous joindre comme membres fondateurs.
<!-- Nous vous remercions de bien vouloir nous indiquer par cet évènement si vous souhaitez assister à cette réunion de lancement. -->
## Le Projet d'association
Cette association culturelle et patrimoniale aura à cœur de préserver, promouvoir et valoriser sous tous ses aspects un patrimoine unique.
À cet égard, il sera notamment demandé aux membres fondateurs d'approuver les statuts de LEtoile de Bethléem - Association des Amis de la Chapelle de Bethléem dAubevoye, dont le projet d'article 2 propose l'objet social comme suit :
> LAssociation a pour objet de :
> - Contribuer à la sauvegarde et à la restauration de la Chapelle de Bethléem sise à Aubevoye, dans la commune administrative du Val dHazey (Eure) en Normandie ;
> - Promouvoir ce monument, particulièrement sa crypte unique, en approfondissant sa connaissance, en défendant son image et en assurant sa communication ;
> - Valoriser le site par des actions concourant à lentretien, à la promotion et à l'animation de ce patrimoine historique, culturel, religieux et naturel et de tout ce qui le constitue, qu'elle entend mieux faire connaître, apprécier et protéger.
>
> A cet égard, lAssociation reconnaît et sattache à préserver le caractère chrétien du monument, légué par son histoire, depuis sa fondation par le Cardinal Charles 1er de Bourbon.
## 👉 L'ordre du jour
- Présentation du projet,
- Adoption des statuts,
- Constitution des instances,
- Détermination du montant de la cotisation.
La chapelle compte sur vous ⛪

View file

@ -0,0 +1,10 @@
---
title: "Random test article"
date: 2022-12-10
---
Hello world
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
footer

Binary file not shown.

After

Width:  |  Height:  |  Size: 61 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.6 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 642 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 642 KiB

View file

@ -0,0 +1,21 @@
---
title: "Ils se sont rencontrés !"
date: 2022-09-28
featured_image:
src: ensemble.jpg
---
L'association existe ! ╰(*°▽°*)╯
Ce 24 septembre 2022, grâce au bienveillant accueil de l'association T'es pas cap ? et tout particulièrement de sa très active présidente, madame Jessica Jehan, assistée du soutien non moins précieux de madame Isabelle Roussel, l'Assemblée générale constitutive de l'Association des Amis de la chapelle de Bethléem a pu se tenir en ouverture du Salon du petit patrimoine local, dans la salle des fêtes de Saint-Aubin-sur-Gaillon 🎊
Une petite quarantaine de personne est venue suivre la réunion, au cours de laquelle a tout d'abord été brièvement rappelée l'histoire mouvementée de la chapelle, plusieurs fois malmenée, plusieurs fois restaurée depuis 1582, date de sa fondation par Charles 1er, cardinal de Bourbon. Aux noms des familles Mignot et Vilain qui conduisirent les deux dernières restaurations, respectivement dans les années 1890 et 1950, vient s'ajouter désormais celui de la famille Blondel, nouvelle protectrice du site que l'association a l'ambition de soutenir.
😴🤗 Si la rébarbative, mais nécessaire présentation des projets de statuts à reçu un accueil patient, compréhensif et approbateur, c'est néanmoins la nature du projet qui a bien sûr retenue toute l'attention de l'auditoire : apporter une assistance, fédérer les énergies, rechercher des financement pour sauvegarder, animer et promouvoir le site. Des actions de sécurisation des lieux et de mise hors d'eau sont nécessaires. Des actions plus symboliques sont également envisagées, comme la restauration de l'Etoile d'autel de la crypte. ⭐
C'est d'ailleurs en raison de la forte symbolique des deux étoiles, celles brisée et éparpillée de la crypte résumant l'état actuel de la chapelle, celle encore fièrement dressée au faîte du campanile, qui semble appeler au relèvement, que l'association se dénommera "L'étoile De Bethléem, association des amis de la chapelle de Bethléem d'Aubevoye."
🥳 Le public à manifesté à cet égard ses attentes et sa hâte de passer à l'action. C'est à la fois un encouragement et un rude défi pour le tout nouveau Conseil d'administration qui vous sera prochainement présenté.
Celui-ci aura en tous cas à cœur de faire tout son possible pour redonner son lustre au site, tout autant que pour donner corps à l'espérance bien vivace exprimée au cours de cette belle journée, placée sous le signe des étoiles. 🤩

3
content/tarifs/_index.md Normal file
View file

@ -0,0 +1,3 @@
# Grille tarifaire
Tarifs atelier 2021 (hors pièces éventuelles). Diagnostic Gratuit.

20
data/contact.yaml Normal file
View file

@ -0,0 +1,20 @@
name: "Laurent Gringoire"
phone: "+33 06 52 64 05 37"
email: "bicycleure@laposte.net"
website: "https://www.bicycleure.fr"
facebook:
name: "Bicycl'Eure"
url: https://www.facebook.com/profile.php?id=100064205644693
siret: "537577 785 00018"
# https://www.openstreetmap.org/node/9526690022
# 49.1755136, 1.3343608
address:
house_number: 30
street_name: Résidence des Trois Moulins
postal_code: 27940
quarter: Aubevoye
city: Le Val d'Hazey
location:
lat: 49.1755136
lng: 1.3343608

131
data/pricing.yaml Normal file
View file

@ -0,0 +1,131 @@
# Basé sur la plaquette 2021
# "Tarifs atelier 2021 (hors pièces éventuelles), Diagnostic Gratuit"
move:
- min: 0
max: 5
price: 0
- min: 5
max: 10
price: 10
- min: 10
max: 25
price: 15
forfait:
- name: "Forfait révision"
price: 35
components:
- name: "Serrage cintre, potence et poste de pilotage"
- name: "Serrage selle et tige de selle"
- name: "Pression des pneus"
- name: "Réglage freins"
- name: "Régalge dérailleurs avant et arrière"
- name: "Vérification pièces d'usure"
description: "Chaine, casette, plateaux, pneus, patins ou plaquettes de freins"
- name: "Lubrification de la transmission"
- name: "Dévoilage"
standalone:
- name: "Roues"
components:
- name: "Changement de pneu ou chambre à air"
variant: "Roue classique"
price: 7
- name: "Changement de pneu ou chambre à air"
variant: "Roue spéciale (avec moteur etc.)"
price: 19
- name: "Dévoilage roue"
price: 9
- name: "Réglage jeu de moyeu"
price: 7
- name: "Graissage moyeu et réglage du jeu"
price: 14
- name: "Changement de rayon et dévoilage (jusqu'a 3 rayons)"
price: 18
- name: "Direction"
components:
- name: "Réglage jeu de direction standard"
price: 6
- name: "Réglage jeu de direction Aheadset"
price: 9
- name: "Nettoyage et graissage jeu de direction"
price: 25
- name: "Changement jeu de direction"
price: 25
- name: "Changement cintre VTT, VTC, BMX"
price: 12
- name: "Changement cintre Route"
price: 12
- name: "Changement potence"
price: 12
- name: "Changement guidoline"
price: 9
- name: "Changement de grip"
price: 6
- name: "Changement de fourche"
price: 29
- name: "Transmission"
components:
- name: "Changement chaine"
price: 9
- name: "Changement casette et roue libre"
price: 9
- name: "Changement ou graissage boitier de pédalier"
price: 25
- name: "Changement pédales"
price: 6
- name: "Changement de pédalier"
price: 15
- name: "Changement et réglage manette dérailleur VTT/VTC"
price: 19
- name: "Guidoline Route"
price: 26
- name: "Changement et réglage dérailleur"
price: 19
- name: "Réglage 1 dérailleur"
price: 9
- name: "Réglage 2 dérailleurs"
price: 15
- name: "Changement de galet"
price: 12
- name: "Réglage 1 frein"
price: 9
- name: "Réglage 2 freins"
price: 15
- name: "Changement et réglage patins ou plaquettes"
price: 10
- name: "Changement disque"
price: 10
- name: "Changement levier de frein VTT/VTC"
price: 12
- name: "Changement d'étrier de frein"
price: 15
- name: "Changement de frein hydraulique VTT/VTC"
price: 15
- name: "Changement de frein hydraulique Route"
price: 26
- name: "Purge frein hydraulique"
price: 20
- name: "Changement ou nettoyage plaquettes"
price: 9
- name: "Divers"
components:
- name: "Changement de selle ou tige de selle"
price: 6
- name: "Pose d'un porte bagage"
price: 8
- name: "Pose d'une béquille"
price: 6
- name: "Pose d'un compteur"
price: 9
- name: "Pose d'un panier"
price: 6
- name: "Pose garde-boue"
price: 10
- name: "Forfait nettoyage"
price: 10

1
data/site.yaml Normal file
View file

@ -0,0 +1 @@

3
layouts/404.html Normal file
View file

@ -0,0 +1,3 @@
{{ define "main" }}
<h1>Page non trouvé</h1>
{{ end }}

View file

@ -0,0 +1,11 @@
{{ if .Title }}
<figure>
<img src="{{ .Destination | safeURL }}" alt="{{ .Text }}" />
<figcaption>{{ .Title }}</figcaption>
</figure>
{{ else }}
<figure>
<img src="{{ .Destination | safeURL }}" alt="{{ .Text }}" />
</figure>
{{ end }}

View file

@ -0,0 +1,18 @@
<!DOCTYPE html>
<html lang="{{ .Site.LanguageCode }}">
<head>
{{ partial "head.html" . }}
{{- block "head" . -}}{{ end }}
</head>
<body>
<div
id="main-page-wrap"
class="main-page-wrap"
>
{{ partial "header" . }}
{{ block "main" . }}{{ end }}
</div>
{{ partial "footer" . }}
</body>
</html>

View file

@ -0,0 +1,36 @@
{{ define "main" }}
<div class="cover">
<div class="cover-back"></div>
<div class="cover-container">
<div class="container mx-auto">
<div class="cover-title">
<h1>{{ .Title }}</h1>
</div>
</div>
</div>
</div>
<main class="content container mx-auto">
{{ $listtitle := .Title }}
{{ if or .Title .Content }}
<div>
{{ with .Title }}<h1>{{ . }}</h1>{{ end }}
{{ with .Content }}<div>{{ . }}</div>{{ end }}
</div>
{{ end }}
<ul>
{{ range .Paginator.Pages }}
<li>
<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>
</li>
{{ end }}
</ul>
{{ partial "pagination.html" . }}
</main>
{{ end }}

View file

@ -0,0 +1,42 @@
{{ define "main" }}
<div class="cover">
<div class="cover-back"></div>
<div class="cover-container">
<div class="container mx-auto">
<div class="cover-title">
<h1>{{ .Title }}</h1>
</div>
</div>
</div>
</div>
<main class="container mx-auto content text">
<article class="article">
{{ with .Date }}
<div>Publié le <b><time>{{ . | time.Format ":date_full" }}</time></b></div>
{{ end }}
{{ if .Params.featured_image }}
{{ $featuredImage := .Resources.GetMatch (.Params.featured_image.src | safeURL) }}
{{ if $featuredImage }}
{{ $featuredImage = $featuredImage.Resize "600x" }}
<figure>
<img alt="" src="{{ $featuredImage.RelPermalink }}" />
{{ with .Params.featured_image.caption }}
<figcaption>{{ . }}</figcaption>
{{ end }}
</figure>
{{ end }}
{{ end }}
{{ range .Params.tags }}
<a href="{{ "/tags/" | relLangURL }}{{ . | urlize }}">{{ . }}</a>
{{ end }}
<div>
{{ .Content }}
</div>
</article>
</main>
{{ end }}

View file

@ -0,0 +1,13 @@
<article>
<h1><a href="{{ .Permalink }}">{{ .Title }}</a></h1>
<b><time>{{ .Date.Format (default "2006-01-02 15:04:05" .Site.Params.dateFmt) }}</time></b>
{{ range .Params.tags }}
<a href="{{ "/tags/" | relLangURL }}{{ . | urlize }}">{{ . }}</a>
{{ end }}
<div>
{{ .Summary }}
{{ if .Truncated }}
<a href="{{ .Permalink }}">Read more...</a>
{{ end }}
</div>
</article>

View file

@ -0,0 +1,53 @@
{{ define "main" }}
<main class="page-container">
{{ $listtitle := .Title }}
{{ if or .Title .Content }}
<div>
{{ with .Title }}<h1>{{ . }}</h1>{{ end }}
{{ with .Content }}<div>{{ . }}</div>{{ end }}
</div>
{{ end }}
<ul class="news-list">
{{ range .Paginator.Pages }}
<li class="news-item">
<a href="{{ .RelPermalink }}" class="news-item__image">
{{ $featuredImage := (resources.Get (printf "%s" ("cover/cover.jpg" | safeURL))) }}
{{ if .Params.featured_image }}
{{ $featuredImage = .Resources.GetMatch (.Params.featured_image.src | safeURL) }}
{{ end }}
{{ $featuredImage := $featuredImage.Resize "450x" }}
<figure>
<img alt="" src="{{ $featuredImage.RelPermalink }}" />
{{ with .Params.featured_image.caption }}
<figcaption>{{ . }}</figcaption>
{{ end }}
</figure>
</a>
<div class="news-item__content">
<h2
class="news-item__title"
>
<a
href="{{ .RelPermalink }}"
>
{{.Title }}
</a>
</h2>
<p class="news-item__date">
{{ $date := .Date.Format "2006-01-02" }}
<time datetime="{{ $date }}">
{{ time.Format "2 January 2006" $date }}
</time>
</p>
<div class="news-item__summary">
{{ .Summary }}...
</div>
</div>
</li>
{{ end }}
</ul>
{{ partial "pagination.html" . }}
</main>
{{ end }}

View file

@ -0,0 +1,36 @@
{{ define "main" }}
<main class="page-container">
<article class="article">
<h1>{{ .Title }}</h1>
{{ if .Date }}
<div class="article__date">
Publié le
{{ $date := .Date.Format "2006-01-02" }}
<time date="{{ $date }}">{{ time.Format "2 January 2006" $date }}</time>
</div>
{{ end }}
{{ if .Params.featured_image }}
{{ $featuredImage := .Resources.GetMatch (.Params.featured_image.src | safeURL) }}
{{ if $featuredImage }}
{{ $featuredImage = $featuredImage.Resize "600x" }}
<figure class="article__featured-image">
<img alt="" src="{{ $featuredImage.RelPermalink }}" />
{{ with .Params.featured_image.caption }}
<figcaption>{{ . }}</figcaption>
{{ end }}
</figure>
{{ end }}
{{ end }}
{{ range .Params.tags }}
<a href="{{ "/tags/" | relLangURL }}{{ . | urlize }}">{{ . }}</a>
{{ end }}
<div>
{{ .Content }}
</div>
</article>
</main>
{{ end }}

View file

@ -0,0 +1,16 @@
{{ define "main" }}
<main class="page-container">
<h1>Informations de contact</h2>
<div class="columns-two">
<div>
{{ partial "contact-card" }}
</div>
<div>
<!-- https://www.openstreetmap.org/node/9526690022 -->
<!-- 49,1755136, 1,3343608 -->
{{ partial "slippy-map" (dict "lat" 49.175513 "lng" 1.33436 "zoom" 15) }}
</div>
</div>
</main>
{{ end }}

12
layouts/index.html Normal file
View file

@ -0,0 +1,12 @@
{{ define "main" }}
<main class="page-container">
Index
{{/*
{{ $paginator := .Paginate (where .Site.RegularPages "Type" "in" .Site.Params.mainSections) }}
{{ range $paginator.Pages }}
{{ .Render "summary" }}
{{ end }}
{{ partial "pagination.html" . }}
*/}}
</main>
{{ end }}

View file

@ -0,0 +1,37 @@
<dl class="card contact-card">
<dt>
Nom
</dt>
<dd>
{{ site.Data.contact.name }}
</dd>
<dt>Téléphone</dt>
<dd>
<a href="tel:{{ site.Data.contact.phone }}">{{ site.Data.contact.phone }}</a>
</dd>
<dt>Adresse électronique</dt>
<dd>
<a href="mailto:{{ site.Data.contact.email }}">{{ site.Data.contact.email }}</a>
</dd>
<dt>Facebook</dt>
<dd>
<a href="{{ site.Data.contact.facebook.url }}">{{ site.Data.contact.facebook.name }}</a>
</dd>
<dt>Adresse</dt>
<dd>
{{ site.Data.contact.address.house_number }}
{{ site.Data.contact.address.street_name }}<br>
{{ site.Data.contact.address.postal_code }}
{{ site.Data.contact.address.quarter }}
{{ site.Data.contact.address.city }}
</dd>
<dt>SIRET</dt>
<dd>
{{ site.Data.contact.siret }}
</dd>
</dl>

View 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)}}

View 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 }}

View file

@ -0,0 +1,136 @@
<footer
id="footer"
class="footer">
<div class="footer-cover-back"></div>
<div class="footer-cover"></div>
<div class="footer-border">
<span class="footer-border-item"></span>
<span class="footer-border-item"></span>
<span class="footer-border-item"></span>
</div>
<div class="footer-container container mx-auto">
<div>
<div class="flex flex-wrap">
<div class="w-full md:w-1/2">
<div class="footer-title-container">
<a
class="link footer-logo"
href="/"
>
{{ $image := resources.Get "images/logo.png" }}
<img
src="{{ $image.RelPermalink }}"
class="logo">
</a>
<div>
<div class="footer-title">
We Robot
</div>
<div class="footer-description">
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
</div>
</div>
</div>
</div>
<div class="w-full md:w-1/4">
<div class="footer-links">
<a
href="/"
class="link">
Home
</a>
<a
href="/blog"
class="link">
Blog
</a>
<a
href="/photos"
class="link">
Photos
</a>
<a
href="/donate"
class="link">
Donate
</a>
</div>
</div>
<div class="w-full md:w-1/4">
<div class="footer-links">
<a
href="/about"
class="link">
About
</a>
<a
href="/about#place"
class="link">
Où sommes nous
</a>
<a
href="/contact"
class="link">
Contact us
</a>
<a
href="/legals"
class="link">
Legals
</a>
</div>
</div>
</div>
<div class="flex justify-between footer-footer">
<div class="footer-socials">
<a
href=""
class="footer-socials-item link">
{{ partial "svg" "facebook" }}
</a>
<a
href=""
class="footer-socials-item link">
{{ partial "svg" "instagram" }}
</a>
<a
href=""
class="footer-socials-item link">
{{ partial "svg" "twitter" }}
</a>
<!--
<a
:href="$env.socials.youtube"
class="footer-socials-item link">
<img src="~/assets/img/youtube.svg">
</a> -->
<a
href=""
class="footer-socials-item link">
{{ partial "svg" "github" }}
</a>
</div>
<div
id="h"
class="footer-locale">
<a
class="button button-primary"
@click="onSwapLocale">
<div class="button-icon">
<i class="fa fas fa-flag"></i>
</div>
<div
class="link button-text">
<span>
Français
</span>
</div>
</a>
</div>
</div>
</div>
</div>
</div>

View file

@ -0,0 +1,29 @@
<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 }}</title>
<link rel="canonical" href="{{ .Permalink }}">
{{ partial "opengraph/include.html" . }}
{{ range .AlternativeOutputFormats }}
<link rel="{{ .Rel }}" type="{{ .MediaType.Type }}" href="{{ .Permalink | safeURL }}">
{{ end }}
{{ with .Site.Params.favicon }}
<link rel="shortcut icon" href="{{ . }}" />
{{ end }}
<!-- 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 "scss/main.scss" | resources.ToCSS | resources.Fingerprint }}
<link rel="stylesheet" href="{{ $style.Permalink }}" integrity="{{ $style.Data.Integrity }}">

View file

@ -0,0 +1,82 @@
<!-- :class="{'not-complete' : $store.state.headerComplete === false}" -->
<div
id="header"
class="header"
>
<div class="header-container container mx-auto">
<a
href="/"
class="link">
<div class="header-title-container">
<div class="header-logo">
{{ $image := resources.Get "images/logo.png" }}
<img
src="{{ $image.RelPermalink }}"
class="logo">
</div>
<div class="header-title">
<div class="header-title-title">header title</div>
<div class="header-sub-title">header sub title</div>
</div>
</div>
</a>
<div class="header-nav-responsive-button-container">
<div
class="header-nav-responsive-button"
>
<i class="fa fas fa-bars"></i>
</div>
</div>
<div class="header-nav">
<div class="header-nav-item">
<a
href="/"
class="link">
Home
</a>
</div>
<div class="header-nav-item">
<a
href="/blog"
class="link">Blog</a>
</div>
<div class="header-nav-item">
<a
href="/about"
class="link">About</a>
</div>
<div class="header-nav-item">
<a
href="/contact-us"
class="link">Contact</a>
</div>
<div class="header-nav-item">
<a
href="/donate"
class="link link-primary">Donate</a>
</div>
</div>
<div class="header-locale-container">
<div
id="h"
class="footer-locale ">
<a
class="button button-primary"
>
<div class="button-icon">
<i class="fa fas fa-flag"></i>
</div>
<div
class="link button-text">
<!-- <span> -->
<!-- English -->
<!-- </span> -->
<span>
Français
</span>
</div>
</a>
</div>
</div>
</div>
</div>

View file

@ -0,0 +1,63 @@
<!-- 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 }}
{{ printf "%#v" "hello debu" }}
{{ 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 := .Context.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.defaultImage }}
{{ $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 }}

View 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>

View file

@ -0,0 +1,42 @@
{{- $title := partialCached "data/title" . .RelPermalink -}}
{{- $description := partialCached "data/description" . .RelPermalink -}}
<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 := partialCached "helpers/image" (dict "Context" . "Type" "opengraph") .RelPermalink "opengraph" }}
{{- if $image.exists -}}
<meta property='og:image' content='{{ absURL $image.permalink }}' />
{{- end -}}

View 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>

View 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>

View file

@ -0,0 +1,16 @@
<div class="maplibre-map" id="short-code-slippy-map"></div>
<script src="https://unpkg.com/maplibre-gl@2.4.0/dist/maplibre-gl.js"></script>
<link href="https://unpkg.com/maplibre-gl@2.4.0/dist/maplibre-gl.css" rel="stylesheet" />
<script>
var map = new maplibregl.Map({
container: 'short-code-slippy-map',
style:
'https://api.maptiler.com/maps/streets/style.json?key=get_your_own_OpIi9ZULNHzrESv6T2vL',
center: [{{ .lng}}, {{ .lat }}],
zoom: {{ .zoom }}
});
var marker = new maplibregl.Marker()
.setLngLat([{{ .lng }}, {{ .lat }}])
.addTo(map);
</script>

View file

@ -0,0 +1,7 @@
{{ $svg := . }}
{{ $class := print $svg "-icon" }}
{{ $match := "<svg (.*)?>(.*)</svg>" }}
{{ $replaceWith := printf `<svg class="%s" ${1}>${2}</svg>` $class }}
{{ return (replaceRE $match $replaceWith (printf "/assets/images/%s.svg" $svg | readFile) | safeHTML) }}

View file

@ -0,0 +1,16 @@
<div class="maplibre-map" id="short-code-slippy-map"></div>
<script src="https://unpkg.com/maplibre-gl@2.4.0/dist/maplibre-gl.js"></script>
<link href="https://unpkg.com/maplibre-gl@2.4.0/dist/maplibre-gl.css" rel="stylesheet" />
<script>
var map = new maplibregl.Map({
container: 'short-code-slippy-map',
style:
'https://api.maptiler.com/maps/streets/style.json?key=get_your_own_OpIi9ZULNHzrESv6T2vL',
center: [{{ .Get "lng" }}, {{ .Get "lat" }}],
zoom: {{ .Get "zoom" }}
});
var marker = new maplibregl.Marker()
.setLngLat([{{ .Get "lng" }}, {{ .Get "lat" }}])
.addTo(map);
</script>

View file

@ -0,0 +1,57 @@
{{ define "main" }}
<main class="large-container">
{{ .Content }}
<div class="pricing-layout">
<div>
<div class="moves">
<h2>Forfait déplacement</h2>
<ul>
{{ range $.Site.Data.pricing.move }}
<li class="move-item">
De {{ .min }} à {{ .max }} km : {{ if eq .price 0 }}Gratuit{{ else }}{{ .price }} €{{ end }}
</li>
{{ end }}
</ul>
</div>
<div class="forfaits">
{{ range $.Site.Data.pricing.forfait }}
<div class="forfait">
<h2>{{ .name }}</h2>
<div class="forfait-price">{{ .price }} €</div>
<ul>
{{ range .components }}
<li>{{ .name }}</li>
{{ end }}
</ul>
</div>
{{ end }}
</div>
</div>
<div class="operations-container">
<h2>Liste des opérations</h2>
<div class="operations-mosaic">
{{ range $.Site.Data.pricing.standalone }}
<div class="operations-category">
<h3>{{ .name }}</h3>
<table class="operations-table">
<tr>
<th>Opération</th>
<th class="operation-price">Prix</th>
</tr>
{{ range .components }}
<tr>
<td>{{ .name }}</td>
<td class="operation-price">{{ .price }} €</td>
</tr>
{{ end }}
</table>
</div>
{{ end }}
</div>
</div>
</div>
</main>
{{ end }}

BIN
static/Teko-Bold.ttf Normal file

Binary file not shown.

BIN
static/Teko-Light.ttf Normal file

Binary file not shown.

BIN
static/Teko-Medium.ttf Normal file

Binary file not shown.

BIN
static/Teko-Regular.ttf Normal file

Binary file not shown.

BIN
static/Teko-SemiBold.ttf Normal file

Binary file not shown.