initial commit
This commit is contained in:
commit
b55f54eb6d
68 changed files with 1761 additions and 0 deletions
13
.gitignore
vendored
Normal file
13
.gitignore
vendored
Normal file
|
@ -0,0 +1,13 @@
|
|||
# Generated files by hugo
|
||||
/public/
|
||||
/resources/_gen/
|
||||
/assets/jsconfig.json
|
||||
hugo_stats.json
|
||||
|
||||
# Executable may be added to repository
|
||||
hugo.exe
|
||||
hugo.darwin
|
||||
hugo.linux
|
||||
|
||||
# Temporary lock file while building
|
||||
/.hugo_build.lock
|
20
README.md
Normal file
20
README.md
Normal 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)
|
||||
|
||||
|
BIN
Teko.zip
Normal file
BIN
Teko.zip
Normal file
Binary file not shown.
6
archetypes/default.md
Normal file
6
archetypes/default.md
Normal file
|
@ -0,0 +1,6 @@
|
|||
---
|
||||
title: "{{ replace .Name "-" " " | title }}"
|
||||
date: {{ .Date }}
|
||||
draft: true
|
||||
---
|
||||
|
BIN
assets/cover/cover.jpg
Normal file
BIN
assets/cover/cover.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.2 MiB |
BIN
assets/images/full_logo.jpg
Normal file
BIN
assets/images/full_logo.jpg
Normal file
Binary file not shown.
144
assets/images/half_wheel_logo.svg
Normal file
144
assets/images/half_wheel_logo.svg
Normal file
|
@ -0,0 +1,144 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
width="380"
|
||||
height="169"
|
||||
viewBox="0 0 100.54173 44.714586"
|
||||
version="1.1"
|
||||
id="svg24876"
|
||||
inkscape:version="1.2.1 (9c6d41e410, 2022-07-14, custom)"
|
||||
sodipodi:docname="drawing.svg"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<sodipodi:namedview
|
||||
id="namedview24878"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#000000"
|
||||
borderopacity="0.25"
|
||||
inkscape:showpageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
inkscape:deskcolor="#d1d1d1"
|
||||
inkscape:document-units="mm"
|
||||
showgrid="false"
|
||||
inkscape:zoom="1.0973349"
|
||||
inkscape:cx="176.33632"
|
||||
inkscape:cy="51.488384"
|
||||
inkscape:window-width="958"
|
||||
inkscape:window-height="1038"
|
||||
inkscape:window-x="960"
|
||||
inkscape:window-y="20"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="layer1" />
|
||||
<defs
|
||||
id="defs24873" />
|
||||
<g
|
||||
inkscape:label="Layer 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1">
|
||||
<g
|
||||
id="g24838"
|
||||
style="display:inline;fill:none;fill-opacity:0.740741;stroke:#fff;stroke-opacity:1;stroke-width:0.4px"
|
||||
transform="matrix(0.60631117,0,0,0.60631117,-14.51726,-4.2269977)"
|
||||
inkscape:label="g24838">
|
||||
<path
|
||||
d="m 26.720591,79.239101 159.710859,0.0048"
|
||||
id="path6002" />
|
||||
<path
|
||||
d="M 93.621425,79.240009 50.526021,60.053219"
|
||||
id="path6004" />
|
||||
<path
|
||||
d="m 47.940693,70.803549 59.781797,3.259842"
|
||||
id="path6117"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<path
|
||||
d="M 60.493936,41.956018 99.106552,79.219009"
|
||||
id="path6119" />
|
||||
<path
|
||||
d="M 98.243548,79.263427 111.92888,69.224545 151.59243,40.129329"
|
||||
id="path6121"
|
||||
sodipodi:nodetypes="ccc" />
|
||||
<path
|
||||
d="m 166.16688,78.103486 -58.4498,-4.047385"
|
||||
id="path8301"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<path
|
||||
d="M 162.25307,57.784105 89.193146,79.122318"
|
||||
id="path8303"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<path
|
||||
d="M 76.058405,28.355186 100.90557,79.260411"
|
||||
id="path8305" />
|
||||
<path
|
||||
d="M 100.60935,79.250226 135.5288,27.155765"
|
||||
id="path8307"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<path
|
||||
d="m 54.380325,51.195686 65.446655,28.02692"
|
||||
id="path8309"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<path
|
||||
d="M 114.38097,79.204235 67.147638,34.947182"
|
||||
id="path8311"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<path
|
||||
d="M 101.49849,79.250343 95.324154,20.914635"
|
||||
id="path8313" />
|
||||
<path
|
||||
d="M 84.692685,24.035454 112.66878,79.216071"
|
||||
id="path8315"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<path
|
||||
d="M 101.4735,79.258452 115.97908,20.518044"
|
||||
id="path8319"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<path
|
||||
d="m 104.93647,19.850453 7.09014,59.347338"
|
||||
id="path8321"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<path
|
||||
d="M 112.16833,79.230298 125.36373,22.79313"
|
||||
id="path8491" />
|
||||
<path
|
||||
d="M 113.06324,79.259633 143.55448,32.559939"
|
||||
id="path8493" />
|
||||
<path
|
||||
d="M 115.53123,79.277667 157.29608,47.955403"
|
||||
id="path9221" />
|
||||
<path
|
||||
d="M 124.93766,79.268258 164.9318,67.110612"
|
||||
id="path9223" />
|
||||
<path
|
||||
d="m 176.54693,79.152226 c 0,-11.976445 -3.1228,-23.521671 -8.6227,-33.476273 -7.01234,-12.692075 -17.84519,-22.896727 -30.52331,-29.176667 -6.57238,-3.255542 -13.51568,-5.603 -20.89596,-6.375633 C 104.48044,8.86482 97.335393,9.1527008 85.187021,12.912324 64.84609,19.207343 44.144926,37.515568 38.429157,65.138645 c -0.912054,4.40776 -1.42647,9.208934 -1.40059,14.087355"
|
||||
id="path15833"
|
||||
sodipodi:nodetypes="csssssc" />
|
||||
<path
|
||||
d="m 169.46231,79.113168 c 0,-10.763617 -2.80717,-21.139681 -7.75118,-30.086203 -6.30356,-11.406775 -15.02024,-19.710744 -27.28272,-26.124839 -4.94921,-2.588763 -11.55614,-4.549012 -18.67527,-5.754833 -5.76233,-0.976008 -13.25289,-0.636761 -17.535971,-0.09097 -3.266452,0.416243 -6.842775,1.275576 -10.880628,2.524923 -18.284987,5.657533 -36.893793,22.111728 -42.031845,46.937475 -0.819867,3.961396 -1.282291,8.276364 -1.259027,12.660758"
|
||||
id="path15833-6"
|
||||
sodipodi:nodetypes="cssssssc" />
|
||||
<path
|
||||
d="m 166.16434,79.174005 c 0,-10.196336 -2.65997,-20.025548 -7.3447,-28.500555 -5.97301,-10.8056 -15.01988,-19.619725 -25.99935,-24.840018 -5.45522,-2.593736 -10.26408,-4.3356 -16.88928,-5.342488 -8.26088,-1.255477 -16.872836,-1.021417 -27.407811,2.165284 -9.034241,2.732748 -19.144737,8.846149 -27.014507,18.025006 -6.13697,7.157817 -10.858033,16.258101 -12.991187,26.562086 -0.776875,3.752616 -1.215048,7.840172 -1.193002,11.993493"
|
||||
id="path15833-3"
|
||||
sodipodi:nodetypes="cssssssc" />
|
||||
<path
|
||||
d="m 170.9542,79.173392 c -0.0462,-2.618946 -0.2437,-9.4018 -2.33033,-16.858009 -2.04826,-7.319094 -5.55252,-15.03443 -11.14672,-22.334432 -3.72627,-4.86249 -7.85438,-8.596774 -12.13048,-11.95744"
|
||||
id="path18186"
|
||||
sodipodi:nodetypes="cssc" />
|
||||
<path
|
||||
d="m 172.08755,79.272764 c -0.0462,-2.618949 0.0421,-8.056623 -2.36522,-17.120268 -2.68428,-10.218945 -7.35663,-18.00569 -11.85493,-23.541985"
|
||||
id="path18186-7"
|
||||
sodipodi:nodetypes="ccc" />
|
||||
<path
|
||||
d="M 41.322082,79.252563 C 40.950677,65.2193 46.490924,51.763365 51.026828,44.903305 53.573704,41.051432 60.162248,31.0805 72.671228,23.48493 81.33176,18.226174 92.947609,13.878173 108.28307,14.089929"
|
||||
id="path21855"
|
||||
sodipodi:nodetypes="cssc" />
|
||||
<path
|
||||
d="m 42.429996,79.248618 c 0.115612,-5.176361 0.24113,-17.66706 8.686898,-32.242438 3.27236,-5.647313 7.34512,-10.401359 11.404443,-14.314182 8.451458,-8.146448 19.744679,-13.790035 29.683928,-15.909176 6.432025,-1.371367 11.933575,-1.64594 14.205265,-1.582445"
|
||||
id="path21857"
|
||||
sodipodi:nodetypes="csssc" />
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 6.1 KiB |
15
assets/sass/article.scss
Normal file
15
assets/sass/article.scss
Normal file
|
@ -0,0 +1,15 @@
|
|||
.article__date {
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
.article__featured-image {
|
||||
max-width: 100%;
|
||||
|
||||
img {
|
||||
max-width: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
.article {
|
||||
line-height: 1.8rem;
|
||||
}
|
3
assets/sass/card.scss
Normal file
3
assets/sass/card.scss
Normal file
|
@ -0,0 +1,3 @@
|
|||
.card {
|
||||
|
||||
}
|
3
assets/sass/contact.scss
Normal file
3
assets/sass/contact.scss
Normal file
|
@ -0,0 +1,3 @@
|
|||
.contact-card {
|
||||
|
||||
}
|
34
assets/sass/footer.scss
Normal file
34
assets/sass/footer.scss
Normal file
|
@ -0,0 +1,34 @@
|
|||
html {
|
||||
height: 100%;
|
||||
}
|
||||
body {
|
||||
min-height: 100%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
.footer-push {
|
||||
flex-grow: 1;
|
||||
|
||||
}
|
||||
|
||||
.site-footer {
|
||||
border-top: .5rem solid $primary;
|
||||
margin-top: 1rem;
|
||||
padding-top: 2rem;
|
||||
padding-bottom: 4rem;
|
||||
background-color: $background;
|
||||
color: white;
|
||||
|
||||
a {
|
||||
color: white;
|
||||
text-decoration: none;
|
||||
}
|
||||
a:hover {
|
||||
opacity: 0.8;
|
||||
text-decoration: underline;
|
||||
}
|
||||
}
|
||||
|
||||
.site-footer__content {
|
||||
|
||||
}
|
78
assets/sass/gallery.scss
Normal file
78
assets/sass/gallery.scss
Normal file
|
@ -0,0 +1,78 @@
|
|||
.gallery {
|
||||
// display: flex;
|
||||
// flex-wrap: wrap;
|
||||
display: grid;
|
||||
grid-template-columns: repeat(12, 1fr);
|
||||
grid-column-gap: 1rem;
|
||||
}
|
||||
|
||||
.gallery__side {
|
||||
grid-column-start: 1;
|
||||
grid-column-end: 3;
|
||||
}
|
||||
|
||||
.gallery__side {
|
||||
margin-bottom: .5rem;
|
||||
}
|
||||
|
||||
.gallery-tags__title {
|
||||
|
||||
|
||||
}
|
||||
|
||||
.gallery__items-container {
|
||||
grid-column-start: 3;
|
||||
grid-column-end: 13;
|
||||
}
|
||||
|
||||
.gallery__items {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(4, minmax(13rem, 1fr));
|
||||
|
||||
grid-gap: 1rem;
|
||||
}
|
||||
|
||||
.gallery__item {
|
||||
aspect-ratio: 1;
|
||||
// $size: 25rem;
|
||||
// width: $size;
|
||||
// height: $size;
|
||||
img {
|
||||
width: 0;
|
||||
height: 0;
|
||||
min-height: 100%;
|
||||
min-width: 100%;
|
||||
display: block;
|
||||
object-fit: cover;
|
||||
}
|
||||
}
|
||||
|
||||
.gallery__nextprev {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
}
|
||||
|
||||
@media (max-width: $lg-breakpoint) {
|
||||
// .gallery__items {
|
||||
// grid-template-columns: repeat(auto-fill, minmax(15rem, 1fr))
|
||||
// }
|
||||
}
|
||||
|
||||
@media (max-width: $md-breakpoint) {
|
||||
.gallery {
|
||||
display: block;
|
||||
}
|
||||
.gallery__items {
|
||||
grid-template-columns: repeat(auto-fill, minmax(10rem, 1fr));
|
||||
}
|
||||
.gallery__side {
|
||||
margin-bottom: 1rem;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: $xs-breakpoint) {
|
||||
.gallery__items {
|
||||
grid-template-columns: 1fr;
|
||||
}
|
||||
}
|
||||
|
59
assets/sass/general.scss
Normal file
59
assets/sass/general.scss
Normal file
|
@ -0,0 +1,59 @@
|
|||
body {
|
||||
// font-family: 'Trebuchet MS', Tahoma,sans-serif;
|
||||
// font-family: 'Trebuchet MS', 'Lucida Sans Unicode', 'Lucida Grande', 'Lucida Sans', Arial, sans-serif;
|
||||
font-family: "Open Sans",Helvetica,Arial,sans-serif;
|
||||
margin: 0;
|
||||
background: $background-dark;
|
||||
color: white;
|
||||
}
|
||||
|
||||
* {
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
article {
|
||||
font-size: 1.1rem;
|
||||
}
|
||||
|
||||
h1, h2, h3 {
|
||||
font-family: "Teko Light",Helvetica,Arial,sans-serif;
|
||||
}
|
||||
|
||||
h1 {
|
||||
font-size: 1.75rem;
|
||||
color: $secondary;
|
||||
}
|
||||
|
||||
h2 {
|
||||
font-size: 1.4rem;
|
||||
color: $primary;
|
||||
margin-top: 1.5rem;
|
||||
margin-bottom: .5rem;
|
||||
}
|
||||
|
||||
h3 {
|
||||
margin-top: .5em;
|
||||
margin-bottom: .5em;
|
||||
}
|
||||
|
||||
a {
|
||||
color: $primary;
|
||||
}
|
||||
|
||||
a:hover {
|
||||
opacity: 0.8;
|
||||
}
|
||||
|
||||
.maplibre-map {
|
||||
width: 100%;
|
||||
min-height: 25rem;
|
||||
}
|
||||
|
||||
.columns-two {
|
||||
display: grid;
|
||||
grid-template-columns: 1fr 1fr;
|
||||
}
|
||||
|
||||
.half-wheel-logo {
|
||||
color: white;
|
||||
}
|
47
assets/sass/header.scss
Normal file
47
assets/sass/header.scss
Normal file
|
@ -0,0 +1,47 @@
|
|||
$header-height: 6.5rem;
|
||||
|
||||
.site-header {
|
||||
background: $background;
|
||||
margin-bottom: 1rem;
|
||||
color: white;
|
||||
height: $header-height;
|
||||
}
|
||||
|
||||
.site-header__content {
|
||||
height: 100%;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.site-header__nav {
|
||||
a {
|
||||
color: white;
|
||||
text-decoration: none;
|
||||
}
|
||||
a:hover {
|
||||
opacity: 0.8;
|
||||
text-decoration: underline;
|
||||
}
|
||||
}
|
||||
|
||||
.site-header__title {
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.site-header__logo {
|
||||
width: $header-height;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
@media (max-width: $md-breakpoint) {
|
||||
.site-header .page-container {
|
||||
width: 100% !important;
|
||||
}
|
||||
.site-header__title {
|
||||
padding-right: 1rem;
|
||||
}
|
||||
.site-header__nav {
|
||||
line-height: 2rem;
|
||||
}
|
||||
}
|
39
assets/sass/landing.scss
Normal file
39
assets/sass/landing.scss
Normal file
|
@ -0,0 +1,39 @@
|
|||
.full-logo {
|
||||
width: 100%;
|
||||
}
|
||||
.landing {
|
||||
|
||||
|
||||
}
|
||||
|
||||
.landing-brand {
|
||||
border: 1px solid rgba(0, 0, 0, 0.4);
|
||||
padding: 1rem;
|
||||
text-align: center;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.brand__name {
|
||||
text-transform: uppercase;
|
||||
font-size: 3rem;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.brand__role1-container {
|
||||
.text {
|
||||
margin: 0;
|
||||
}
|
||||
margin-bottom: 1rem;
|
||||
|
||||
}
|
||||
.brand__role2 {
|
||||
|
||||
}
|
||||
|
||||
.brand__logo {
|
||||
svg {
|
||||
stroke: white;
|
||||
}
|
||||
}
|
||||
|
48
assets/sass/main.scss
Normal file
48
assets/sass/main.scss
Normal file
|
@ -0,0 +1,48 @@
|
|||
$xl-breakpoint: 1800px;
|
||||
$lg-breakpoint: 1600px;
|
||||
$md-breakpoint: 1100px;
|
||||
$sm-breakpoint: 900px;
|
||||
$xs-breakpoint: 400px;
|
||||
|
||||
|
||||
$background-dark: #1f1f1e;
|
||||
$background: #303131;
|
||||
$primary: #db8d42;
|
||||
$secondary: #f15a24;
|
||||
|
||||
@font-face {
|
||||
font-family: "Teko";
|
||||
size-adjust: 140%;
|
||||
src: url("../Teko-Regular.ttf");
|
||||
}
|
||||
@font-face {
|
||||
font-family: "Teko Light";
|
||||
size-adjust: 140%;
|
||||
src: url("../Teko-Light.ttf");
|
||||
}
|
||||
|
||||
.pagination-nav {
|
||||
margin-top: 1em;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
}
|
||||
|
||||
|
||||
@import 'general.scss';
|
||||
@import 'page_container.scss';
|
||||
@import 'header.scss';
|
||||
@import 'news.scss';
|
||||
@import 'article.scss';
|
||||
@import 'gallery.scss';
|
||||
@import 'single_image.scss';
|
||||
@import 'footer.scss';
|
||||
|
||||
// components
|
||||
@import 'tags.scss';
|
||||
|
||||
@import 'prices.scss';
|
||||
@import 'landing.scss';
|
||||
// @import 'about.scss';
|
||||
@import 'card.scss';
|
||||
@import 'contact.scss';
|
||||
|
52
assets/sass/news.scss
Normal file
52
assets/sass/news.scss
Normal file
|
@ -0,0 +1,52 @@
|
|||
.news-list {
|
||||
list-style-type: none;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.news-item {
|
||||
border-bottom: 1px solid $background;
|
||||
padding: 1rem 0rem;
|
||||
margin-bottom: 1rem;
|
||||
|
||||
display: grid;
|
||||
grid-template-columns: 33% 1fr;
|
||||
grid-column-gap: 2rem;
|
||||
}
|
||||
|
||||
.news-item__image {
|
||||
width: 100%;
|
||||
|
||||
figure {
|
||||
margin: 0;
|
||||
height: 100%;
|
||||
}
|
||||
img {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
object-fit: cover;
|
||||
}
|
||||
}
|
||||
|
||||
.news-item__title {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
.news-item__date {
|
||||
opacity: 0.8;
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
.news-item__summary {
|
||||
font-size: .9rem;
|
||||
}
|
||||
|
||||
@media (max-width: $md-breakpoint) {
|
||||
.news-item {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
padding-top: 0;
|
||||
}
|
||||
.news-item__content {
|
||||
margin-top: 1rem;
|
||||
}
|
||||
}
|
47
assets/sass/page_container.scss
Normal file
47
assets/sass/page_container.scss
Normal file
|
@ -0,0 +1,47 @@
|
|||
.large-container {
|
||||
width: 90%;
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
.page-container {
|
||||
width: 80%;
|
||||
margin: 0 auto;
|
||||
}
|
||||
.page-full {
|
||||
padding: 0 2rem;
|
||||
}
|
||||
|
||||
@media (min-width: $xl-breakpoint) {
|
||||
.page-container {
|
||||
width: 60% !important;
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: $lg-breakpoint) {
|
||||
.page-container {
|
||||
width: 70%;
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: $md-breakpoint) {
|
||||
.page-container {
|
||||
width: 70%;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: $md-breakpoint) {
|
||||
.page-container {
|
||||
width: 75%;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: $sm-breakpoint) {
|
||||
.page-container {
|
||||
width: 100%;
|
||||
padding: 0 .8rem;
|
||||
}
|
||||
.page-full {
|
||||
padding: 0 .8rem;
|
||||
}
|
||||
}
|
||||
|
46
assets/sass/prices.scss
Normal file
46
assets/sass/prices.scss
Normal file
|
@ -0,0 +1,46 @@
|
|||
.pricing-layout {
|
||||
display: grid;
|
||||
grid-template-columns: 1fr 1fr 1fr 1fr;
|
||||
}
|
||||
|
||||
.operations-container {
|
||||
grid-column: 2/5;
|
||||
}
|
||||
|
||||
.operations-mosaic {
|
||||
// display: grid;
|
||||
// grid-template-columns: 1fr 1fr;
|
||||
// grid-gap: 1rem;
|
||||
columns: 2;
|
||||
}
|
||||
|
||||
.operations-category {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.operations-table {
|
||||
border: 1px solid black;
|
||||
border-radius: 5px;
|
||||
width: 100%;
|
||||
padding: .5rem;
|
||||
border-collapse: separate;
|
||||
background: lighten($background-dark, 8%);
|
||||
th {
|
||||
opacity: 0.6;
|
||||
text-align: left;
|
||||
padding-bottom: .5rem;
|
||||
margin-bottom: 1rem;
|
||||
border-bottom: 1px solid gray;
|
||||
}
|
||||
tr {
|
||||
td {
|
||||
}
|
||||
}
|
||||
.operation-price {
|
||||
text-align: right;
|
||||
}
|
||||
td.operation-price {
|
||||
color: $primary;
|
||||
}
|
||||
}
|
71
assets/sass/single_image.scss
Normal file
71
assets/sass/single_image.scss
Normal file
|
@ -0,0 +1,71 @@
|
|||
.single-image {
|
||||
background: #ecf0f1;
|
||||
display: grid;
|
||||
grid-template-columns: 1fr 1fr;
|
||||
grid-column-gap: 1rem;
|
||||
.single-image__side {
|
||||
padding: 2rem 1rem 2rem 2rem;
|
||||
}
|
||||
.single-image__image-container {
|
||||
background: #95a5a6;
|
||||
min-width: 70vh;
|
||||
min-height: 50vh;
|
||||
max-height: 80vh;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
|
||||
.single-image__image {
|
||||
max-width: 100%;
|
||||
max-height: 100%;
|
||||
width: auto;
|
||||
height: auto;
|
||||
}
|
||||
.single-image__property {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin-bottom: .2rem;
|
||||
min-height: 2rem;
|
||||
div:first-of-type {
|
||||
margin-right: 1rem;
|
||||
}
|
||||
.icon {
|
||||
margin-right: .5rem;
|
||||
}
|
||||
pre {
|
||||
margin: 0;
|
||||
}
|
||||
}
|
||||
.single-image__tags {
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@media (max-width: $md-breakpoint) {
|
||||
.single-image {
|
||||
display: block;
|
||||
.single-image__image-container {
|
||||
min-width: initial;
|
||||
max-height: initial;
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@media (max-width: $sm-breakpoint) {
|
||||
.single-image {
|
||||
.single-image__property {
|
||||
display: block;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
19
assets/sass/tags.scss
Normal file
19
assets/sass/tags.scss
Normal file
|
@ -0,0 +1,19 @@
|
|||
.tags-list {
|
||||
margin: 0;
|
||||
list-style-type: none;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
flex-wrap: wrap;
|
||||
padding: 0;
|
||||
.tags-list__item {
|
||||
border: 1px solid black;
|
||||
border-radius: 3px;
|
||||
margin-right: .3rem;
|
||||
padding: .3rem;
|
||||
font-size: .9rem;
|
||||
margin-bottom: .4rem;
|
||||
}
|
||||
.tags-list__item:last-of-type {
|
||||
margin-right: 0;
|
||||
}
|
||||
}
|
30
config.toml
Normal file
30
config.toml
Normal file
|
@ -0,0 +1,30 @@
|
|||
baseURL = '/'
|
||||
languageCode = 'fr'
|
||||
defaultContentLanguage = 'fr'
|
||||
title = "Bicycl'Eure"
|
||||
|
||||
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
20
content/_index.md
Normal 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 d’environnement 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 qu’ils 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 qu’urbain.
|
||||
|
||||
## 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.
|
||||
|
||||
Bicycl’Eure travaille dans le respect des gestes barrières.
|
||||
|
6
content/a-propos-du-site/index.md
Normal file
6
content/a-propos-du-site/index.md
Normal file
|
@ -0,0 +1,6 @@
|
|||
# A propos de ce site
|
||||
|
||||
## Technologies
|
||||
|
||||
Pour les curieux, ce site est réalisé avec [Hugo](https://gohugo.io/)
|
||||
|
6
content/actualites/_index.md
Normal file
6
content/actualites/_index.md
Normal 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.
|
||||
|
|
@ -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 L’Etoile de Bethléem - Association des Amis de la Chapelle de Bethléem d’Aubevoye, dont le projet d'article 2 propose l'objet social comme suit :
|
||||
|
||||
> L’Association a pour objet de :
|
||||
> - Contribuer à la sauvegarde et à la restauration de la Chapelle de Bethléem sise à Aubevoye, dans la commune administrative du Val d’Hazey (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 à l’entretien, à 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, l’Association reconnaît et s’attache à 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 ⛪
|
||||
|
Binary file not shown.
After Width: | Height: | Size: 61 KiB |
BIN
content/actualites/ils-se-sont-rencontres/P1030003.JPG
Normal file
BIN
content/actualites/ils-se-sont-rencontres/P1030003.JPG
Normal file
Binary file not shown.
After Width: | Height: | Size: 8.6 MiB |
BIN
content/actualites/ils-se-sont-rencontres/ensemble.jpg
Normal file
BIN
content/actualites/ils-se-sont-rencontres/ensemble.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 642 KiB |
BIN
content/actualites/ils-se-sont-rencontres/images/ensemble.jpg
Normal file
BIN
content/actualites/ils-se-sont-rencontres/images/ensemble.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 642 KiB |
21
content/actualites/ils-se-sont-rencontres/index.md
Normal file
21
content/actualites/ils-se-sont-rencontres/index.md
Normal file
|
@ -0,0 +1,21 @@
|
|||
---
|
||||
title: "Ils se sont rencontrés !"
|
||||
date: 2022-09-28T20:00:00+02:00
|
||||
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. 🤩
|
||||
|
37
content/actualites/noel-2021.md
Normal file
37
content/actualites/noel-2021.md
Normal file
|
@ -0,0 +1,37 @@
|
|||
---
|
||||
title: Noël 2021
|
||||
date: 2021-12-24
|
||||
---
|
||||
|
||||
À la suite de notre article sur le rafraîchissement anonyme cet été de Notre Dame d'Aubevoye, nous espérions des réponses à différentes questions concernant la statue.
|
||||
|
||||
[Le récent article de l'Impartial](https://actu.fr/normandie/le-val-d-hazey_27022/eure-mais-qui-a-maquille-la-vierge-noire-d-aubevoye_47325455.html) qui lui a été consacré relève, hélas, de la rubrique des faits divers. Ce n'était pas l'une des réponses attendues.
|
||||
|
||||
Des actes regrettables y ont été commis, sans doute plus par désœuvrement et manque de repères que par réelle méchanceté.
|
||||
|
||||
Mais dans ce cas, comme dans le cas, nettement plus grave, du saccage de la chapelle de Bethléem à l'orée des années 2000, que d'énergies inutilement dépensées.
|
||||
Nous le déplorons.
|
||||
|
||||
Nous pouvons rappeler que toute dégradation, tout acte de vandalisme est pénalement répréhensible.
|
||||
|
||||
Mais à la veille de fêter Noël, nous préférons croire en la véracité :
|
||||
- qui de la phrase d'Hölderlin : « Là où croît le péril croît aussi ce qui sauve »,
|
||||
- qui de la phrase de l'Evangile : « là où le pêché abonde, la grâce surabonde »
|
||||
|
||||
Nous préférons espérer que les énergies se canalisent de façon plus constructives, pour œuvrer à faire le bien, magnifier le beau, poursuivre le vrai.
|
||||
|
||||
Mieux même, nous souhaitons donner corps et vie à cette Esperance en appelant à contribuer, chacun avec nos talents, à relever la chapelle de Bethléem.
|
||||
|
||||
Ces dernières années, une communauté virtuelle s'est créée autour de la Chapelle. Celle-ci peut prendre la réalité d'une magnifique équipe pour œuvrer en lien avec les propriétaires a ce que le souvenir ne soit pas une nostalgie, mais une inspiration.
|
||||
|
||||
À l'heure des vœux, tel est le nôtre et il ne saurait que rester pieux s'il ne s'accompagne pas d'une volonté.
|
||||
|
||||
Que pouvons nous faire pour la chapelle de Bethléem ? Quel talent pouvons nous mettre à son service ?
|
||||
|
||||
Telle est la question à laquelle chacun se doit de répondre en son for interne.
|
||||
|
||||
Telle est la question à laquelle nous vous invitons à nous répondre pour envisager ce projet...
|
||||
|
||||
« Ce n'est pas parce les choses sont difficiles que nous n'osons pas, c'est parce que nous n'osons pas qu'elles sont difficiles. »
|
||||
|
||||
Bonnes fêtes de Noël !
|
7
content/actualites/present-au-salon-du-velo/index.md
Normal file
7
content/actualites/present-au-salon-du-velo/index.md
Normal file
|
@ -0,0 +1,7 @@
|
|||
---
|
||||
title: Présent au super salon
|
||||
---
|
||||
|
||||
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.
|
||||
|
||||
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.
|
4
content/contact/_index.md
Normal file
4
content/contact/_index.md
Normal file
|
@ -0,0 +1,4 @@
|
|||
---
|
||||
title: Informations de contact
|
||||
---
|
||||
|
3
content/tarifs/_index.md
Normal file
3
content/tarifs/_index.md
Normal file
|
@ -0,0 +1,3 @@
|
|||
# Grille tarifaire
|
||||
|
||||
Tarifs atelier 2021 (hors pièces éventuelles). Diagnostic Gratuit.
|
20
data/contact.yaml
Normal file
20
data/contact.yaml
Normal 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
131
data/pricing.yaml
Normal 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
1
data/site.yaml
Normal file
|
@ -0,0 +1 @@
|
|||
|
3
layouts/404.html
Normal file
3
layouts/404.html
Normal file
|
@ -0,0 +1,3 @@
|
|||
{{ define "main" }}
|
||||
<h1>Page non trouvé</h1>
|
||||
{{ end }}
|
11
layouts/_default/_markup/render-image.html
Normal file
11
layouts/_default/_markup/render-image.html
Normal 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 }}
|
||||
|
15
layouts/_default/baseof.html
Normal file
15
layouts/_default/baseof.html
Normal file
|
@ -0,0 +1,15 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="{{ .Site.LanguageCode }}">
|
||||
<head>
|
||||
{{ partial "head.html" . }}
|
||||
|
||||
{{- block "head" . -}}{{ end }}
|
||||
</head>
|
||||
<body>
|
||||
<div class="footer-push">
|
||||
{{ partial "header" . }}
|
||||
{{ block "main" . }}{{ end }}
|
||||
</div>
|
||||
{{ partial "footer" . }}
|
||||
</body>
|
||||
</html>
|
26
layouts/_default/list.html
Normal file
26
layouts/_default/list.html
Normal file
|
@ -0,0 +1,26 @@
|
|||
{{ 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>
|
||||
{{ 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 }}
|
32
layouts/_default/single.html
Normal file
32
layouts/_default/single.html
Normal file
|
@ -0,0 +1,32 @@
|
|||
{{ define "main" }}
|
||||
<main class="page-container">
|
||||
<article class="article">
|
||||
<h1>{{ .Title }}</h1>
|
||||
|
||||
{{ 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 }}
|
13
layouts/_default/summary.html
Normal file
13
layouts/_default/summary.html
Normal 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>
|
53
layouts/actualites/list.html
Normal file
53
layouts/actualites/list.html
Normal 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 }}
|
36
layouts/actualites/single.html
Normal file
36
layouts/actualites/single.html
Normal 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 }}
|
16
layouts/contact/section.html
Normal file
16
layouts/contact/section.html
Normal 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 }}
|
53
layouts/index.html
Normal file
53
layouts/index.html
Normal file
|
@ -0,0 +1,53 @@
|
|||
{{ define "main" }}
|
||||
<main class="page-container">
|
||||
<div class="landing">
|
||||
<div class="landing-one">
|
||||
<div class="landing-brand">
|
||||
<!-- <img class="half-wheel-logo" src="/half_wheel_logo.svg" alt="Demi Roue" /> -->
|
||||
<div class="brand__logo landing-half-wheel-logo">
|
||||
{{ partial "svg" "half_wheel_logo" }}
|
||||
</div>
|
||||
<h1 class="brand__name">Bicycl'Eure</h1>
|
||||
<div class="brand__role1-container">
|
||||
<h2 class="text">Atelier mobile</h2>
|
||||
</div>
|
||||
<div class="brand__role2">Réparation & Entretien - Toutes marques</div>
|
||||
<!-- <img class="full-logo" src="/full_logo.jpg" alt="Logo complet" /> -->
|
||||
</div>
|
||||
<div class="landing-description">
|
||||
<!-- <p> -->
|
||||
<!-- 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 ! -->
|
||||
<!-- </p> -->
|
||||
<!-- <p>Éco-Responsable et Économique !</p> -->
|
||||
{{ .Content }}
|
||||
</div>
|
||||
</div>
|
||||
<!-- <div class="contact-card-container"> -->
|
||||
<!-- <div class="contact-card"> -->
|
||||
<!-- <div class="address"> -->
|
||||
<!-- <div> -->
|
||||
<!-- 30 Résidence des Trois Moulins -->
|
||||
<!-- </div> -->
|
||||
<!-- <div> -->
|
||||
<!-- 27940 Aubevoye Le Val d'Hazey -->
|
||||
<!-- </div> -->
|
||||
<!-- </div> -->
|
||||
<!-- <div class="legal-id"> -->
|
||||
<!-- SIRET 537577 785 00018 -->
|
||||
<!-- </div> -->
|
||||
<!-- <div class="phone"> -->
|
||||
<!-- 06 52 64 05 37 -->
|
||||
<!-- </div> -->
|
||||
<!-- </div> -->
|
||||
<!-- </div> -->
|
||||
</div>
|
||||
|
||||
{{/*
|
||||
{{ $paginator := .Paginate (where .Site.RegularPages "Type" "in" .Site.Params.mainSections) }}
|
||||
{{ range $paginator.Pages }}
|
||||
{{ .Render "summary" }}
|
||||
{{ end }}
|
||||
{{ partial "pagination.html" . }}
|
||||
*/}}
|
||||
</main>
|
||||
{{ end }}
|
37
layouts/partials/contact-card.html
Normal file
37
layouts/partials/contact-card.html
Normal 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>
|
13
layouts/partials/data/description.html
Normal file
13
layouts/partials/data/description.html
Normal file
|
@ -0,0 +1,13 @@
|
|||
<!-- Use site subtitle by default -->
|
||||
{{ $description := .Site.Params.sidebar.subtitle }}
|
||||
|
||||
{{ if .Description }}
|
||||
<!-- Page description exists -->
|
||||
{{ $description = .Description }}
|
||||
{{ else if .IsPage }}
|
||||
<!-- Use page summary -->
|
||||
{{ $description = .Summary }}
|
||||
{{ end }}
|
||||
|
||||
{{ return ($description | plainify)}}
|
||||
|
39
layouts/partials/data/title.html
Normal file
39
layouts/partials/data/title.html
Normal file
|
@ -0,0 +1,39 @@
|
|||
{{- $title := .Title -}}
|
||||
{{- $siteTitle := .Site.Title -}}
|
||||
|
||||
{{- if .IsHome -}}
|
||||
<!-- Homepage, and it's pagination -->
|
||||
|
||||
<!-- Build paginator -->
|
||||
{{ $pages := where .Site.RegularPages "Section" "in" .Site.Params.mainSections }}
|
||||
{{ $notHidden := where .Site.RegularPages "Params.hidden" "!=" true }}
|
||||
{{ $filtered := ($pages | intersect $notHidden) }}
|
||||
{{ $pag := .Paginate ($filtered) }}
|
||||
|
||||
{{ if .Paginator.HasPrev }}
|
||||
<!-- Paginated. Append page number to title -->
|
||||
{{ $title = printf "%s - %s" .Paginator $siteTitle }}
|
||||
{{ else }}
|
||||
{{ $title = $siteTitle}}
|
||||
{{ end }}
|
||||
{{- else if eq .Kind "term" -}}
|
||||
<!-- Taxonomy page -->
|
||||
|
||||
<!-- Build paginator -->
|
||||
{{ $notHidden := where .Pages "Params.hidden" "!=" true }}
|
||||
{{ $pag := .Paginate ($notHidden) }}
|
||||
|
||||
<!-- {TAXONOMY_TYPE}: {TAXONOMY_TERM} -->
|
||||
{{ $title = slice (title .Data.Singular) ": " $title }}
|
||||
|
||||
{{ if .Paginator.HasPrev }}
|
||||
<!-- Add page number-->
|
||||
{{ $title = $title | append " - " .Paginator }}
|
||||
{{ end }}
|
||||
|
||||
{{ $title = $title | append " - " $siteTitle }}
|
||||
{{ $title = delimit $title "" }}
|
||||
{{- end -}}
|
||||
|
||||
{{ return $title }}
|
||||
|
7
layouts/partials/footer.html
Normal file
7
layouts/partials/footer.html
Normal file
|
@ -0,0 +1,7 @@
|
|||
<footer class="site-footer">
|
||||
<div class="site-footer__content page-container">
|
||||
<a href="/"><b>{{ .Site.Title }}</b></a>.
|
||||
<a href="/a-propos-du-site">A propos de ce site</a>.
|
||||
<a href="/contact">Nous contacter</a>.
|
||||
</div>
|
||||
</footer>
|
29
layouts/partials/head.html
Normal file
29
layouts/partials/head.html
Normal 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 "sass/main.scss" | resources.ToCSS | resources.Fingerprint }}
|
||||
<link rel="stylesheet" href="{{ $style.Permalink }}" integrity="{{ $style.Data.Integrity }}">
|
||||
|
20
layouts/partials/header.html
Normal file
20
layouts/partials/header.html
Normal file
|
@ -0,0 +1,20 @@
|
|||
<header class="site-header">
|
||||
<div class="site-header__content page-container">
|
||||
<a class="site-header__title" href="/">
|
||||
<img
|
||||
class="site-header__logo"
|
||||
src=""
|
||||
alt="Logo Bicycleure"
|
||||
/>
|
||||
</a>
|
||||
<nav class="site-header__nav">
|
||||
<a href="/tarifs">Tarifs</a>.
|
||||
<a href="/contact">Contact</a>.
|
||||
<a href="/actualites">Actualités</a>.
|
||||
<a href="/avis">Avis</a>.
|
||||
{{ range .Site.Menus.main }}
|
||||
<a href="{{ .URL | relURL }}"><b>{{ .Name }}</b></a>.
|
||||
{{ end }}
|
||||
</nav>
|
||||
</div>
|
||||
</header>
|
63
layouts/partials/helpers/image.html
Normal file
63
layouts/partials/helpers/image.html
Normal 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 }}
|
||||
|
54
layouts/partials/images-list.html
Normal file
54
layouts/partials/images-list.html
Normal file
|
@ -0,0 +1,54 @@
|
|||
<div class="gallery">
|
||||
<div class="gallery__side">
|
||||
{{ $listtitle := .Title }}
|
||||
{{ if or .Title .Content }}
|
||||
<div>
|
||||
{{ with .Title }}<h1>{{ . }}</h1>{{ end }}
|
||||
{{ with .Content }}<div>{{ . }}</div>{{ end }}
|
||||
</div>
|
||||
{{ end }}
|
||||
<p class="gallery-tags__title">Filtrer par étiquettes :</p>
|
||||
<ul class="gallery-tags__list tags-list">
|
||||
{{- if eq (.Scratch.Get "image_list_context") "imtags" -}}
|
||||
<li class="gallery-tags__item tags-list__item">
|
||||
<a href="/images">Tout</a>
|
||||
</li>
|
||||
{{- end -}}
|
||||
{{- range .Site.Taxonomies.imtags -}}
|
||||
<li class="gallery-tags__item tags-list__item">
|
||||
<a href="{{ .Page.RelPermalink }}">{{ .Page.Title }}</a>
|
||||
</li>
|
||||
{{- end -}}
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="gallery__items-container">
|
||||
<div class="gallery__items">
|
||||
{{ range $item := (.Paginator 8).Pages }}
|
||||
<a class="gallery__item" href="{{ .RelPermalink }}">
|
||||
{{ $image := .Resources.GetMatch "original.jpg" }}
|
||||
{{ $image := $image.Resize "x350" }}
|
||||
{{ with $image }}
|
||||
<img
|
||||
class="gallery__image"
|
||||
title="{{ $item.Title }}"
|
||||
src="{{ .RelPermalink }}" width="{{ .Width }}" height="{{ .Height }}"
|
||||
/>
|
||||
{{ end }}
|
||||
|
||||
{{/*
|
||||
<div class="post-title">
|
||||
{{ if eq $listtitle "Posts" }}
|
||||
{{ .Date.Format "2006-01-02" }} <a href="{{ .RelPermalink }}">{{.Title }}</a>
|
||||
{{ else }}
|
||||
<a href="{{ .RelPermalink }}">{{.Title }}</a>
|
||||
{{ end }}
|
||||
</div>
|
||||
*/}}
|
||||
|
||||
</a>
|
||||
{{ end }}
|
||||
</div>
|
||||
{{ partial "pagination.html" . }}
|
||||
</div>
|
||||
</div>
|
42
layouts/partials/opengraph/include.html
Normal file
42
layouts/partials/opengraph/include.html
Normal 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 -}}
|
||||
|
19
layouts/partials/pagination.html
Normal file
19
layouts/partials/pagination.html
Normal file
|
@ -0,0 +1,19 @@
|
|||
<div class="pagination-nav">
|
||||
<div>
|
||||
{{ if .Paginator.HasPrev }}
|
||||
<a class="pagination-nav__prev" href="{{ .Paginator.Prev.URL }}">
|
||||
Page précédente
|
||||
</a>
|
||||
{{ end }}
|
||||
</div>
|
||||
<div class="pagination-nav__page">
|
||||
{{ .Paginator.PageNumber }} de {{ .Paginator.TotalPages }}
|
||||
</div>
|
||||
<div>
|
||||
{{ if .Paginator.HasNext }}
|
||||
<a class="pagination-nav__next" href="{{ .Paginator.Next.URL }}">
|
||||
Page suivante
|
||||
</a>
|
||||
{{ end }}
|
||||
</div>
|
||||
</div>
|
14
layouts/partials/sidebar.html
Normal file
14
layouts/partials/sidebar.html
Normal file
|
@ -0,0 +1,14 @@
|
|||
<aside>
|
||||
<div>
|
||||
<div>
|
||||
<h3>LATEST POSTS</h3>
|
||||
</div>
|
||||
<div>
|
||||
<ul>
|
||||
{{ range first 5 (where .Site.RegularPages "Type" "in" .Site.Params.mainSections) }}
|
||||
<li><a href="{{ .RelPermalink }}">{{ .Title }}</a></li>
|
||||
{{ end }}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</aside>
|
16
layouts/partials/slippy-map.html
Normal file
16
layouts/partials/slippy-map.html
Normal 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>
|
7
layouts/partials/svg.html
Normal file
7
layouts/partials/svg.html
Normal 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) }}
|
||||
|
16
layouts/shortcodes/slippy-map.html
Normal file
16
layouts/shortcodes/slippy-map.html
Normal 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>
|
57
layouts/tarifs/section.html
Normal file
57
layouts/tarifs/section.html
Normal 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
BIN
static/Teko-Bold.ttf
Normal file
Binary file not shown.
BIN
static/Teko-Light.ttf
Normal file
BIN
static/Teko-Light.ttf
Normal file
Binary file not shown.
BIN
static/Teko-Medium.ttf
Normal file
BIN
static/Teko-Medium.ttf
Normal file
Binary file not shown.
BIN
static/Teko-Regular.ttf
Normal file
BIN
static/Teko-Regular.ttf
Normal file
Binary file not shown.
BIN
static/Teko-SemiBold.ttf
Normal file
BIN
static/Teko-SemiBold.ttf
Normal file
Binary file not shown.
Loading…
Reference in a new issue