commit b55f54eb6d7f8a0ea0dda5131d39454aa4120542 Author: Matthieu Bessat Date: Sat Dec 10 11:37:36 2022 +0100 initial commit diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..86c95ef --- /dev/null +++ b/.gitignore @@ -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 diff --git a/README.md b/README.md new file mode 100644 index 0000000..1ec65a4 --- /dev/null +++ b/README.md @@ -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) + + diff --git a/Teko.zip b/Teko.zip new file mode 100644 index 0000000..7e51bd8 Binary files /dev/null and b/Teko.zip differ diff --git a/archetypes/default.md b/archetypes/default.md new file mode 100644 index 0000000..00e77bd --- /dev/null +++ b/archetypes/default.md @@ -0,0 +1,6 @@ +--- +title: "{{ replace .Name "-" " " | title }}" +date: {{ .Date }} +draft: true +--- + diff --git a/assets/cover/cover.jpg b/assets/cover/cover.jpg new file mode 100644 index 0000000..8ec8708 Binary files /dev/null and b/assets/cover/cover.jpg differ diff --git a/assets/images/full_logo.jpg b/assets/images/full_logo.jpg new file mode 100644 index 0000000..306222d Binary files /dev/null and b/assets/images/full_logo.jpg differ diff --git a/assets/images/half_wheel_logo.svg b/assets/images/half_wheel_logo.svg new file mode 100644 index 0000000..28be227 --- /dev/null +++ b/assets/images/half_wheel_logo.svg @@ -0,0 +1,144 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/sass/article.scss b/assets/sass/article.scss new file mode 100644 index 0000000..d09c461 --- /dev/null +++ b/assets/sass/article.scss @@ -0,0 +1,15 @@ +.article__date { + font-style: italic; +} + +.article__featured-image { + max-width: 100%; + + img { + max-width: 100%; + } +} + +.article { + line-height: 1.8rem; +} diff --git a/assets/sass/card.scss b/assets/sass/card.scss new file mode 100644 index 0000000..d8e6169 --- /dev/null +++ b/assets/sass/card.scss @@ -0,0 +1,3 @@ +.card { + +} diff --git a/assets/sass/contact.scss b/assets/sass/contact.scss new file mode 100644 index 0000000..26d3243 --- /dev/null +++ b/assets/sass/contact.scss @@ -0,0 +1,3 @@ +.contact-card { + +} diff --git a/assets/sass/footer.scss b/assets/sass/footer.scss new file mode 100644 index 0000000..e079e10 --- /dev/null +++ b/assets/sass/footer.scss @@ -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 { + +} diff --git a/assets/sass/gallery.scss b/assets/sass/gallery.scss new file mode 100644 index 0000000..c9dfd2f --- /dev/null +++ b/assets/sass/gallery.scss @@ -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; + } +} + diff --git a/assets/sass/general.scss b/assets/sass/general.scss new file mode 100644 index 0000000..6bafbc2 --- /dev/null +++ b/assets/sass/general.scss @@ -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; +} diff --git a/assets/sass/header.scss b/assets/sass/header.scss new file mode 100644 index 0000000..03f8f30 --- /dev/null +++ b/assets/sass/header.scss @@ -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; + } +} diff --git a/assets/sass/landing.scss b/assets/sass/landing.scss new file mode 100644 index 0000000..505f6c2 --- /dev/null +++ b/assets/sass/landing.scss @@ -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; + } +} + diff --git a/assets/sass/main.scss b/assets/sass/main.scss new file mode 100644 index 0000000..cd47c66 --- /dev/null +++ b/assets/sass/main.scss @@ -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'; + diff --git a/assets/sass/news.scss b/assets/sass/news.scss new file mode 100644 index 0000000..6c2155b --- /dev/null +++ b/assets/sass/news.scss @@ -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; + } +} diff --git a/assets/sass/page_container.scss b/assets/sass/page_container.scss new file mode 100644 index 0000000..a38b11f --- /dev/null +++ b/assets/sass/page_container.scss @@ -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; + } +} + diff --git a/assets/sass/prices.scss b/assets/sass/prices.scss new file mode 100644 index 0000000..78358a4 --- /dev/null +++ b/assets/sass/prices.scss @@ -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; + } +} diff --git a/assets/sass/single_image.scss b/assets/sass/single_image.scss new file mode 100644 index 0000000..8c72249 --- /dev/null +++ b/assets/sass/single_image.scss @@ -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; + } + } + +} + + + + + + diff --git a/assets/sass/tags.scss b/assets/sass/tags.scss new file mode 100644 index 0000000..7d0e83f --- /dev/null +++ b/assets/sass/tags.scss @@ -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; + } +} diff --git a/config.toml b/config.toml new file mode 100644 index 0000000..19bd641 --- /dev/null +++ b/config.toml @@ -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 + diff --git a/content/_index.md b/content/_index.md new file mode 100644 index 0000000..5189e78 --- /dev/null +++ b/content/_index.md @@ -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. + diff --git a/content/a-propos-du-site/index.md b/content/a-propos-du-site/index.md new file mode 100644 index 0000000..5f3d3a8 --- /dev/null +++ b/content/a-propos-du-site/index.md @@ -0,0 +1,6 @@ +# A propos de ce site + +## Technologies + +Pour les curieux, ce site est réalisé avec [Hugo](https://gohugo.io/) + diff --git a/content/actualites/_index.md b/content/actualites/_index.md new file mode 100644 index 0000000..c1224f4 --- /dev/null +++ b/content/actualites/_index.md @@ -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. + diff --git a/content/actualites/annonce-assemble-generale-consultative/index.md b/content/actualites/annonce-assemble-generale-consultative/index.md new file mode 100644 index 0000000..1bdc794 --- /dev/null +++ b/content/actualites/annonce-assemble-generale-consultative/index.md @@ -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. + + + +## 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 ⛪ + diff --git a/content/actualites/ils-se-sont-rencontres/309393450_108762475334926_4612223320137316636_n.jpg b/content/actualites/ils-se-sont-rencontres/309393450_108762475334926_4612223320137316636_n.jpg new file mode 100644 index 0000000..84b8460 Binary files /dev/null and b/content/actualites/ils-se-sont-rencontres/309393450_108762475334926_4612223320137316636_n.jpg differ diff --git a/content/actualites/ils-se-sont-rencontres/P1030003.JPG b/content/actualites/ils-se-sont-rencontres/P1030003.JPG new file mode 100644 index 0000000..2d44d8a Binary files /dev/null and b/content/actualites/ils-se-sont-rencontres/P1030003.JPG differ diff --git a/content/actualites/ils-se-sont-rencontres/ensemble.jpg b/content/actualites/ils-se-sont-rencontres/ensemble.jpg new file mode 100644 index 0000000..69acad2 Binary files /dev/null and b/content/actualites/ils-se-sont-rencontres/ensemble.jpg differ diff --git a/content/actualites/ils-se-sont-rencontres/images/ensemble.jpg b/content/actualites/ils-se-sont-rencontres/images/ensemble.jpg new file mode 100644 index 0000000..69acad2 Binary files /dev/null and b/content/actualites/ils-se-sont-rencontres/images/ensemble.jpg differ diff --git a/content/actualites/ils-se-sont-rencontres/index.md b/content/actualites/ils-se-sont-rencontres/index.md new file mode 100644 index 0000000..48bf03c --- /dev/null +++ b/content/actualites/ils-se-sont-rencontres/index.md @@ -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. 🤩 + diff --git a/content/actualites/noel-2021.md b/content/actualites/noel-2021.md new file mode 100644 index 0000000..c71a2bf --- /dev/null +++ b/content/actualites/noel-2021.md @@ -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 ! diff --git a/content/actualites/present-au-salon-du-velo/index.md b/content/actualites/present-au-salon-du-velo/index.md new file mode 100644 index 0000000..958a716 --- /dev/null +++ b/content/actualites/present-au-salon-du-velo/index.md @@ -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. diff --git a/content/contact/_index.md b/content/contact/_index.md new file mode 100644 index 0000000..6ae44b3 --- /dev/null +++ b/content/contact/_index.md @@ -0,0 +1,4 @@ +--- +title: Informations de contact +--- + diff --git a/content/tarifs/_index.md b/content/tarifs/_index.md new file mode 100644 index 0000000..fba5e17 --- /dev/null +++ b/content/tarifs/_index.md @@ -0,0 +1,3 @@ +# Grille tarifaire + +Tarifs atelier 2021 (hors pièces éventuelles). Diagnostic Gratuit. diff --git a/data/contact.yaml b/data/contact.yaml new file mode 100644 index 0000000..1c02f1a --- /dev/null +++ b/data/contact.yaml @@ -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 + diff --git a/data/pricing.yaml b/data/pricing.yaml new file mode 100644 index 0000000..2eaa1bb --- /dev/null +++ b/data/pricing.yaml @@ -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 + diff --git a/data/site.yaml b/data/site.yaml new file mode 100644 index 0000000..1a4baf5 --- /dev/null +++ b/data/site.yaml @@ -0,0 +1 @@ + diff --git a/layouts/404.html b/layouts/404.html new file mode 100644 index 0000000..a76580f --- /dev/null +++ b/layouts/404.html @@ -0,0 +1,3 @@ +{{ define "main" }} +

Page non trouvé

+{{ end }} diff --git a/layouts/_default/_markup/render-image.html b/layouts/_default/_markup/render-image.html new file mode 100644 index 0000000..41008ca --- /dev/null +++ b/layouts/_default/_markup/render-image.html @@ -0,0 +1,11 @@ +{{ if .Title }} +
+ {{ .Text }} +
{{ .Title }}
+
+{{ else }} +
+ {{ .Text }} +
+{{ end }} + diff --git a/layouts/_default/baseof.html b/layouts/_default/baseof.html new file mode 100644 index 0000000..6b2e822 --- /dev/null +++ b/layouts/_default/baseof.html @@ -0,0 +1,15 @@ + + + + {{ partial "head.html" . }} + + {{- block "head" . -}}{{ end }} + + + + {{ partial "footer" . }} + + diff --git a/layouts/_default/list.html b/layouts/_default/list.html new file mode 100644 index 0000000..eeb4745 --- /dev/null +++ b/layouts/_default/list.html @@ -0,0 +1,26 @@ +{{ define "main" }} +
+ {{ $listtitle := .Title }} + {{ if or .Title .Content }} +
+ {{ with .Title }}

{{ . }}

{{ end }} + {{ with .Content }}
{{ . }}
{{ end }} +
+ {{ end }} + + + {{ partial "pagination.html" . }} +
+{{ end }} diff --git a/layouts/_default/single.html b/layouts/_default/single.html new file mode 100644 index 0000000..b35ed48 --- /dev/null +++ b/layouts/_default/single.html @@ -0,0 +1,32 @@ +{{ define "main" }} +
+
+

{{ .Title }}

+ + {{ with .Date }} +
Publié le
+ {{ end }} + + + {{ if .Params.featured_image }} + {{ $featuredImage := .Resources.GetMatch (.Params.featured_image.src | safeURL) }} + {{ if $featuredImage }} + {{ $featuredImage = $featuredImage.Resize "600x" }} +
+ + {{ with .Params.featured_image.caption }} +
{{ . }}
+ {{ end }} +
+ {{ end }} + {{ end }} + + {{ range .Params.tags }} + {{ . }} + {{ end }} +
+ {{ .Content }} +
+
+
+{{ end }} diff --git a/layouts/_default/summary.html b/layouts/_default/summary.html new file mode 100644 index 0000000..a347932 --- /dev/null +++ b/layouts/_default/summary.html @@ -0,0 +1,13 @@ +
+

{{ .Title }}

+ + {{ range .Params.tags }} + {{ . }} + {{ end }} +
+ {{ .Summary }} + {{ if .Truncated }} + Read more... + {{ end }} +
+
diff --git a/layouts/actualites/list.html b/layouts/actualites/list.html new file mode 100644 index 0000000..6d175ae --- /dev/null +++ b/layouts/actualites/list.html @@ -0,0 +1,53 @@ +{{ define "main" }} +
+ {{ $listtitle := .Title }} + {{ if or .Title .Content }} +
+ {{ with .Title }}

{{ . }}

{{ end }} + {{ with .Content }}
{{ . }}
{{ end }} +
+ {{ end }} + + + {{ partial "pagination.html" . }} +
+{{ end }} diff --git a/layouts/actualites/single.html b/layouts/actualites/single.html new file mode 100644 index 0000000..11454c0 --- /dev/null +++ b/layouts/actualites/single.html @@ -0,0 +1,36 @@ +{{ define "main" }} +
+
+

{{ .Title }}

+ + {{ if .Date }} + + {{ end }} + + + {{ if .Params.featured_image }} + {{ $featuredImage := .Resources.GetMatch (.Params.featured_image.src | safeURL) }} + {{ if $featuredImage }} + {{ $featuredImage = $featuredImage.Resize "600x" }} +
+ + {{ with .Params.featured_image.caption }} +
{{ . }}
+ {{ end }} +
+ {{ end }} + {{ end }} + + {{ range .Params.tags }} + {{ . }} + {{ end }} +
+ {{ .Content }} +
+
+
+{{ end }} diff --git a/layouts/contact/section.html b/layouts/contact/section.html new file mode 100644 index 0000000..e685f46 --- /dev/null +++ b/layouts/contact/section.html @@ -0,0 +1,16 @@ +{{ define "main" }} +
+

Informations de contact

+
+
+ {{ partial "contact-card" }} +
+ +
+ + + {{ partial "slippy-map" (dict "lat" 49.175513 "lng" 1.33436 "zoom" 15) }} +
+
+
+{{ end }} diff --git a/layouts/index.html b/layouts/index.html new file mode 100644 index 0000000..6d1d506 --- /dev/null +++ b/layouts/index.html @@ -0,0 +1,53 @@ +{{ define "main" }} +
+
+
+
+ + +

Bicycl'Eure

+
+

Atelier mobile

+
+
Réparation & Entretien - Toutes marques
+ +
+
+ + + + + {{ .Content }} +
+
+ + + + + + + + + + + + + + + + + + +
+ + {{/* + {{ $paginator := .Paginate (where .Site.RegularPages "Type" "in" .Site.Params.mainSections) }} + {{ range $paginator.Pages }} + {{ .Render "summary" }} + {{ end }} + {{ partial "pagination.html" . }} + */}} +
+{{ end }} diff --git a/layouts/partials/contact-card.html b/layouts/partials/contact-card.html new file mode 100644 index 0000000..11315b2 --- /dev/null +++ b/layouts/partials/contact-card.html @@ -0,0 +1,37 @@ +
+
+ Nom +
+
+ {{ site.Data.contact.name }} +
+ +
Téléphone
+
+ {{ site.Data.contact.phone }} +
+ +
Adresse électronique
+
+ {{ site.Data.contact.email }} +
+ +
Facebook
+
+ {{ site.Data.contact.facebook.name }} +
+ +
Adresse
+
+ {{ site.Data.contact.address.house_number }} + {{ site.Data.contact.address.street_name }}
+ {{ site.Data.contact.address.postal_code }} + {{ site.Data.contact.address.quarter }} + {{ site.Data.contact.address.city }} +
+ +
SIRET
+
+ {{ site.Data.contact.siret }} +
+
diff --git a/layouts/partials/data/description.html b/layouts/partials/data/description.html new file mode 100644 index 0000000..4127b2a --- /dev/null +++ b/layouts/partials/data/description.html @@ -0,0 +1,13 @@ + +{{ $description := .Site.Params.sidebar.subtitle }} + +{{ if .Description }} + + {{ $description = .Description }} +{{ else if .IsPage }} + + {{ $description = .Summary }} +{{ end }} + +{{ return ($description | plainify)}} + diff --git a/layouts/partials/data/title.html b/layouts/partials/data/title.html new file mode 100644 index 0000000..8193fe7 --- /dev/null +++ b/layouts/partials/data/title.html @@ -0,0 +1,39 @@ +{{- $title := .Title -}} +{{- $siteTitle := .Site.Title -}} + +{{- if .IsHome -}} + + + + {{ $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 }} + + {{ $title = printf "%s - %s" .Paginator $siteTitle }} + {{ else }} + {{ $title = $siteTitle}} + {{ end }} +{{- else if eq .Kind "term" -}} + + + + {{ $notHidden := where .Pages "Params.hidden" "!=" true }} + {{ $pag := .Paginate ($notHidden) }} + + + {{ $title = slice (title .Data.Singular) ": " $title }} + + {{ if .Paginator.HasPrev }} + + {{ $title = $title | append " - " .Paginator }} + {{ end }} + + {{ $title = $title | append " - " $siteTitle }} + {{ $title = delimit $title "" }} +{{- end -}} + +{{ return $title }} + diff --git a/layouts/partials/footer.html b/layouts/partials/footer.html new file mode 100644 index 0000000..c2c5ab0 --- /dev/null +++ b/layouts/partials/footer.html @@ -0,0 +1,7 @@ + diff --git a/layouts/partials/head.html b/layouts/partials/head.html new file mode 100644 index 0000000..54cd7cc --- /dev/null +++ b/layouts/partials/head.html @@ -0,0 +1,29 @@ + + + +{{- $description := partialCached "data/description" . .RelPermalink -}} + + +{{- with .Site.Params.author -}} + +{{ end }} + +{{- $title := partialCached "data/title" . .RelPermalink -}} +{{ $title }} + + + +{{ partial "opengraph/include.html" . }} + +{{ range .AlternativeOutputFormats }} + +{{ end }} + +{{ with .Site.Params.favicon }} + +{{ end }} + + +{{ $style := resources.Get "sass/main.scss" | resources.ToCSS | resources.Fingerprint }} + + diff --git a/layouts/partials/header.html b/layouts/partials/header.html new file mode 100644 index 0000000..8de5086 --- /dev/null +++ b/layouts/partials/header.html @@ -0,0 +1,20 @@ + diff --git a/layouts/partials/helpers/image.html b/layouts/partials/helpers/image.html new file mode 100644 index 0000000..590ab3b --- /dev/null +++ b/layouts/partials/helpers/image.html @@ -0,0 +1,63 @@ + +{{ $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" }} + + {{ $result = merge $result (dict "exists" true) }} + {{ $url := urls.Parse $imageValue }} + + {{ if or (eq $url.Scheme "http") (eq $url.Scheme "https") }} + + {{ $result = merge $result (dict "permalink" $imageValue) }} + {{ else }} + {{ $pageResourceImage := .Context.Resources.GetMatch (printf "%s" ($imageValue | safeURL)) }} + + {{ if $pageResourceImage }} + + {{ $result = merge $result (dict "permalink" $pageResourceImage.RelPermalink) }} + + + {{ if ne (path.Ext $imageValue) ".svg" }} + {{ $result = merge $result (dict "resource" $pageResourceImage) }} + {{ end }} + {{ else }} + + {{ $result = merge $result (dict "permalink" (relURL $imageValue)) }} + {{ end }} + + {{ end }} + +{{ else }} + + {{ $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 }} + + {{ $result = merge $result (dict "permalink" $siteResourceImage.RelPermalink) }} + {{ $result = merge $result (dict "resource" $siteResourceImage) }} + {{ else }} + + {{ errorf "Failed loading image: %q" $defaultImageSetting.src }} + {{ $result = merge $result (dict "exists" false) }} + {{ end }} + + {{ else }} + + {{ $result = merge $result (dict "permalink" (relURL $defaultImageSetting.src)) }} + {{ end }} + + +{{ end }} + +{{ return $result }} + diff --git a/layouts/partials/images-list.html b/layouts/partials/images-list.html new file mode 100644 index 0000000..a5f4599 --- /dev/null +++ b/layouts/partials/images-list.html @@ -0,0 +1,54 @@ + diff --git a/layouts/partials/opengraph/include.html b/layouts/partials/opengraph/include.html new file mode 100644 index 0000000..cb7cc54 --- /dev/null +++ b/layouts/partials/opengraph/include.html @@ -0,0 +1,42 @@ +{{- $title := partialCached "data/title" . .RelPermalink -}} +{{- $description := partialCached "data/description" . .RelPermalink -}} + + + + + + + + + +{{- if .IsPage -}} + + {{- range .Params.tags -}} + + {{- end -}} +{{- end -}} + +{{- if .IsPage -}} + {{- if not .Date.IsZero -}} + + {{- end -}} + {{- if not .Lastmod.IsZero -}} + + {{- end -}} +{{- else -}} + {{- if not .Site.LastChange.IsZero -}} + + {{- end -}} +{{- end -}} + +{{ $image := partialCached "helpers/image" (dict "Context" . "Type" "opengraph") .RelPermalink "opengraph" }} +{{- if $image.exists -}} + +{{- end -}} + diff --git a/layouts/partials/pagination.html b/layouts/partials/pagination.html new file mode 100644 index 0000000..902d4e3 --- /dev/null +++ b/layouts/partials/pagination.html @@ -0,0 +1,19 @@ +
+
+ {{ if .Paginator.HasPrev }} + + Page précédente + + {{ end }} +
+
+ {{ .Paginator.PageNumber }} de {{ .Paginator.TotalPages }} +
+
+ {{ if .Paginator.HasNext }} + + Page suivante + + {{ end }} +
+
diff --git a/layouts/partials/sidebar.html b/layouts/partials/sidebar.html new file mode 100644 index 0000000..92bbd80 --- /dev/null +++ b/layouts/partials/sidebar.html @@ -0,0 +1,14 @@ + diff --git a/layouts/partials/slippy-map.html b/layouts/partials/slippy-map.html new file mode 100644 index 0000000..b6c80e0 --- /dev/null +++ b/layouts/partials/slippy-map.html @@ -0,0 +1,16 @@ +
+ + + diff --git a/layouts/partials/svg.html b/layouts/partials/svg.html new file mode 100644 index 0000000..943761c --- /dev/null +++ b/layouts/partials/svg.html @@ -0,0 +1,7 @@ +{{ $svg := . }} +{{ $class := print $svg "-icon" }} +{{ $match := "(.*)" }} + +{{ $replaceWith := printf `${2}` $class }} +{{ return (replaceRE $match $replaceWith (printf "/assets/images/%s.svg" $svg | readFile) | safeHTML) }} + diff --git a/layouts/shortcodes/slippy-map.html b/layouts/shortcodes/slippy-map.html new file mode 100644 index 0000000..6ff7782 --- /dev/null +++ b/layouts/shortcodes/slippy-map.html @@ -0,0 +1,16 @@ +
+ + + diff --git a/layouts/tarifs/section.html b/layouts/tarifs/section.html new file mode 100644 index 0000000..598ec2b --- /dev/null +++ b/layouts/tarifs/section.html @@ -0,0 +1,57 @@ +{{ define "main" }} +
+ {{ .Content }} +
+
+
+

Forfait déplacement

+
    + {{ range $.Site.Data.pricing.move }} +
  • + De {{ .min }} à {{ .max }} km : {{ if eq .price 0 }}Gratuit{{ else }}{{ .price }} €{{ end }} +
  • + {{ end }} +
+
+ +
+ + {{ range $.Site.Data.pricing.forfait }} +
+

{{ .name }}

+
{{ .price }} €
+
    + {{ range .components }} +
  • {{ .name }}
  • + {{ end }} +
+
+ {{ end }} +
+
+ +
+

Liste des opérations

+
+ {{ range $.Site.Data.pricing.standalone }} +
+

{{ .name }}

+ + + + + + {{ range .components }} + + + + + {{ end }} +
OpérationPrix
{{ .name }}{{ .price }} €
+
+ {{ end }} +
+
+
+
+{{ end }} diff --git a/static/Teko-Bold.ttf b/static/Teko-Bold.ttf new file mode 100644 index 0000000..d5c4a11 Binary files /dev/null and b/static/Teko-Bold.ttf differ diff --git a/static/Teko-Light.ttf b/static/Teko-Light.ttf new file mode 100644 index 0000000..1c9eb68 Binary files /dev/null and b/static/Teko-Light.ttf differ diff --git a/static/Teko-Medium.ttf b/static/Teko-Medium.ttf new file mode 100644 index 0000000..4c4d79c Binary files /dev/null and b/static/Teko-Medium.ttf differ diff --git a/static/Teko-Regular.ttf b/static/Teko-Regular.ttf new file mode 100644 index 0000000..91a9222 Binary files /dev/null and b/static/Teko-Regular.ttf differ diff --git a/static/Teko-SemiBold.ttf b/static/Teko-SemiBold.ttf new file mode 100644 index 0000000..4e80568 Binary files /dev/null and b/static/Teko-SemiBold.ttf differ