commit 3d068a4adfa3ea8ceddb12ef0719ef5c2bbfd6ec Author: Matthieu Bessat Date: Mon Jan 23 10:07:18 2023 +0100 initial commit diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..f848803 --- /dev/null +++ b/.gitignore @@ -0,0 +1,43 @@ +### Hugo ### +# Generated files by hugo +/public/ +/resources/_gen/ + +# Executable may be added to repository +hugo.exe +hugo.darwin +hugo.linux + +### Code ### +.vscode/* +!.vscode/settings.json +!.vscode/tasks.json +!.vscode/launch.json +!.vscode/extensions.json + +### Vim ### +# Swap +[._]*.s[a-v][a-z] +[._]*.sw[a-p] +[._]s[a-rt-v][a-z] +[._]ss[a-gi-z] +[._]sw[a-p] + +# Session +Session.vim +Sessionx.vim + +# Temporary +.netrwhist +*~ + +# Auto-generated tag files +tags + +# Persistent undo +[._]*.un~ + +# Coc configuration directory +.vim + +.hugo_build.lock 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/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/facebook.svg b/assets/images/facebook.svg new file mode 100644 index 0000000..f1721e3 --- /dev/null +++ b/assets/images/facebook.svg @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/assets/images/github.svg b/assets/images/github.svg new file mode 100644 index 0000000..e9b7b38 --- /dev/null +++ b/assets/images/github.svg @@ -0,0 +1,152 @@ + + + + + + + + image/svg+xml + + + + + + + + + + + + diff --git a/assets/images/instagram.svg b/assets/images/instagram.svg new file mode 100644 index 0000000..3459756 --- /dev/null +++ b/assets/images/instagram.svg @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/assets/images/logo.png b/assets/images/logo.png new file mode 100644 index 0000000..0bcf5cf Binary files /dev/null and b/assets/images/logo.png differ diff --git a/assets/images/twitter.svg b/assets/images/twitter.svg new file mode 100644 index 0000000..5d49ea4 --- /dev/null +++ b/assets/images/twitter.svg @@ -0,0 +1,39 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/assets/images/youtube.svg b/assets/images/youtube.svg new file mode 100644 index 0000000..221b0c0 --- /dev/null +++ b/assets/images/youtube.svg @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/assets/scss/helpers/button.scss b/assets/scss/helpers/button.scss new file mode 100644 index 0000000..4271e30 --- /dev/null +++ b/assets/scss/helpers/button.scss @@ -0,0 +1,45 @@ +.button { + line-height: 1.15 !important; + display: flex; + box-shadow: inset 0 0 10px rgba(0, 0, 0, 0.2); + color: white; + .button-text { + padding: 10px; + border-radius: 2px; + } + .button-icon { + box-shadow: inset 0 0 10px rgba(0, 0, 0, 0.2); + padding: 10px; + border-radius: 2px; + } + transition: opacity 0.2s; + text-decoration: none; + border-radius: 2px; +} + +.button-primary { + background-color: #3498db; + .button-icon { + background-color: #2980b9; + } +} + +.button:hover { + opacity: 0.8; + cursor: pointer; + transition: opacity 0.2s; +} + +.button.disabled { + opacity: 0.5; + filter: grayscale(100); + transform: none !important; +} + +@media (max-width: $responsive-small) { + .button.mobile-icon { + .button-text { + display: none; + } + } +} \ No newline at end of file diff --git a/assets/scss/helpers/card.scss b/assets/scss/helpers/card.scss new file mode 100644 index 0000000..85ff63d --- /dev/null +++ b/assets/scss/helpers/card.scss @@ -0,0 +1,88 @@ +$card-border-radius: 5px; +.card { + margin-bottom: 1em; + .card-title { + border-top-left-radius: $card-border-radius; + border-top-right-radius: $card-border-radius; + padding: 10px 10px 10px 15px; + font-weight: bold; + font-size: 1.2em; + .fa { + margin-right: 0.2em; + } + } + .card-text { + box-shadow: inset 0 0 10px rgba(0, 0, 0, 0.2); + padding: 10px 15px 20px 15px; + } + .card-actions { + border-bottom-left-radius: $card-border-radius; + border-bottom-right-radius: $card-border-radius; + display: flex; + justify-content: flex-end; + padding: 10px 15px 10px 15px; + font-weight: bold; + + .card-action { + opacity: 0.8; + text-decoration: none; + color: inherit; + } + .card-action:hover { + cursor: pointer; + opacity: 1; + } + } +} + +.card.no-actions { + .card-text { + border-bottom-left-radius: $card-border-radius; + border-bottom-right-radius: $card-border-radius; + } +} + +.card.card-green { + color: #2f3640; + .card-title { + background-color: #27ae60; + } + .card-text { + background-color: #2ecc71; + } + .card-actions { + background-color: #27ae60; + } +} + +.card.card-purple { + color: #f5f6fa; + a { + color: #f5f6fa; + } + .card-title { + background-color: #8e44ad; + } + .card-text { + background-color: #9b59b6; + } + .card-actions { + background-color: #8e44ad; + } +} + +.card.card-blue { + color: #f5f6fa; + a { + color: #f5f6fa; + } + .card-title { + background-color: #2980b9; + } + .card-text { + background-color: #3498db; + } + .card-actions { + background-color: #2980b9; + } +} \ No newline at end of file diff --git a/assets/scss/helpers/container.scss b/assets/scss/helpers/container.scss new file mode 100644 index 0000000..86c1201 --- /dev/null +++ b/assets/scss/helpers/container.scss @@ -0,0 +1,11 @@ +@media (max-width: $responsive-medium) { + .container { + width: 94% !important; + } +} + +@media (max-width: $responsive-interlarge) { + .container { + width: 90% !important; + } +} diff --git a/assets/scss/helpers/divider.scss b/assets/scss/helpers/divider.scss new file mode 100644 index 0000000..a37135b --- /dev/null +++ b/assets/scss/helpers/divider.scss @@ -0,0 +1,6 @@ +.divider { + //margin-top: 3vh; + border-bottom: 1px solid #a4b0be; + border-radius: 1px; + //margin-bottom: 5vh; +} \ No newline at end of file diff --git a/assets/scss/helpers/link.scss b/assets/scss/helpers/link.scss new file mode 100644 index 0000000..99c4452 --- /dev/null +++ b/assets/scss/helpers/link.scss @@ -0,0 +1,24 @@ +a:focus, a:active { + outline:0 !important; +} + +.link { + color: inherit; + transition: opacity 0.2s; + text-decoration: none; +} + +.link:hover { + text-decoration: none; + opacity: 0.8; + transition: opacity 0.2s; + cursor: pointer; +} + +.link.link-primary { + color: $primary-color; +} + +.link.no-opacity:hover { + opacity: 1 !important; +} diff --git a/assets/scss/layouts/articles.scss b/assets/scss/layouts/articles.scss new file mode 100644 index 0000000..8f28511 --- /dev/null +++ b/assets/scss/layouts/articles.scss @@ -0,0 +1,192 @@ +.articles { + display: grid; + grid-template-columns: repeat(3, 1fr); + grid-column-gap: 1.3em; + grid-row-gap: 1.3em; + + article { + height: 100%; + } + + .article { + position: relative; + overflow: hidden; + background-color: #fff; + box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.3); + transition: box-shadow 0.3s; + border-radius: 5px; + width: 100%; + height: 25em; + } + + a { + color: inherit; + text-decoration: none; + opacity: initial; + } + + a:hover { + opacity: initial; + } + + .article:hover { + box-shadow: 0px 0px 50px rgba(0, 0, 0, 0.3); + } + + .article-status { + position: absolute; + top: 20px; + right: 20px; + width: 55px; + height: 55px; + padding-top: 10px; + color: #fff; + line-height: 2.3; + font-size: 15px; + font-weight: bold; + text-align: center; + background-color: $primary-color; + border-radius: 50%; + text-transform: uppercase; + display: block; + } + + .article-status-day { + display: block; + font-size: 14px; + } + + .article-status-month { + display: block; + font-size: 14px; + text-transform: uppercase; + } + + .article-thumb { + height: 15em; + overflow: hidden; + background-color: white; + background-size: cover; + background-position: center; + transition: height 0.3s; + } + + .article-thumb img { + display: block; + opacity: 1; + transition: opacity 0.3s, transform 0.3s; + transform: scale(1); + } + + .article-body { + position: absolute; + bottom: 0; + background: white; + width: 100%; + display: flex; + flex-direction: column; + + padding: 1em; + height: 12em; + transition: height 0.3s; + } + + .article:hover .article-body { + height: 18em; + } + + .article-title { + margin: 0; + padding: 0 0 10px 0; + font-size: 22px; + color: #000; + font-weight: bold; + transition: all 0.3s; + } + + .article-subtitle { + margin: 0; + padding: 0 0 10px 0; + font-size: 19px; + color: $primary-color; + } + + .article-description { + margin: 0; + padding: 0; + color: #666C74; + font-size: 14px; + line-height: 27px; + opacity: 0; + transition: opacity 0.2s, transform 0.2s; + transition-delay: 0s; + transform: translateY(25px); + + height: 100%; + // text-overflow: ellipsis; + // white-space: nowrap; + // overflow: hidden; + } + + .article:hover .article-description { + opacity: 1; + transition-delay: 0.1s; + transform: translateY(0); + } + + // @keyframes titleBlur { + // 0% { + // opacity: 0.6; + // text-shadow: 0px 5px 5px rgba(0, 0, 0, 0.6); + // } + + // 100% { + // opacity: 1; + // text-shadow: 0px 5px 5px transparent; + // } + // } + // @keyframes subtitleBlur { + // 0% { + // opacity: 0.6; + // text-shadow: 0px 5px 5px rgba(239, 90, 49, 0.6); + // } + + // 100% { + // opacity: 1; + // text-shadow: 0px 5px 5px rgba(239, 90, 49, 0); + // } + // } +} + + +@media (max-width: $responsive-medium) { + .articles { + display: flex; + justify-content: center; + flex-wrap: wrap; + .article { + max-width: 22em; + } + } +} + +@media (max-width: $responsive-small) { + .blog-title-container { + padding: 0; + .blog-title { + display: none; + } + .sort { + margin-top: 0 !important; + padding-top: 1em; + padding-bottom: 1em; + } + } + .articles { + align-items: center; + flex-direction: column; + .article { + width: 100%; + } + } +} diff --git a/assets/scss/layouts/body.scss b/assets/scss/layouts/body.scss new file mode 100644 index 0000000..65b580b --- /dev/null +++ b/assets/scss/layouts/body.scss @@ -0,0 +1,346 @@ +.d-flex { + display: flex; +} + +.blog-title-container { + display: flex; + justify-content: space-between; +} + +.blog-pagination { + display: flex; + justify-content: space-between; + width: 100%; +} + +.icon { + content: none; +} + +.logo { + transform: scale(1.2); +} + + +.page-container.not-complete { + position: relative; + top: 97px; + padding-bottom: 97px; +} + +.content { + margin-top: 1em; + line-height: 2.2em; + font-size: 16px; + + &.negative-top-margin { + margin-top: -1.2em; + } + + .blog-article { + img.sm-img { + width: 25vh !important; + } + img.md-img { + width: 40vh !important; + } + img { + display: flex; + padding-top: 1.5em; + padding-bottom: 1.5em; + width: 60vh; + margin: 0 auto; + } + iframe { + padding-top: 1.5em; + padding-bottom: 1.5em; + max-width: 100%; + margin: 0 auto; + display: flex; + } + } + + .page-details { + display: flex; + width: 100%; + //border-bottom: 2px solid rgba(127, 130, 139, 0.8); + border-radius: 1px; + justify-content: flex-end; + //padding-bottom: 0.5em; + margin-bottom: .5em; + .page-details-item { + i { + margin-right: 10px; + } + margin-right: 1em; + opacity: 0.7; + display: flex; + align-items: center; + } + } + + .content-side { + padding-left: 20px; + border: 1px solid #47494e; + padding-bottom: 2em; + margin-left: 2em; + } + + .content-title { + color: #2c3e50; + } + + &.text { + a { + color: $primary-color; + transition: opacity 0.2s; + text-decoration: none; + } + + a:hover { + text-decoration: none; + opacity: 0.8; + transition: opacity 0.2s; + cursor: pointer; + } + ul { + margin-top: 0.5em; + margin-bottom: 0.5em; + } + h1 { + text-decoration: underline; + margin-top: 1em; + margin-bottom: 1em; + } + h2 { + margin-top: 1em; + margin-bottom: 0.5em; + } + h3 { + margin-top: .75em; + margin-bottom: 0.5em; + } + } +} + +.index-icon-title { + padding-left: 1em; + .fa { + margin-right: 10px; + } +} + +.index-more-section { + float: right; +} + +.clear-fix { + clear: both; + height: 1px; + overflow: hidden; + margin-bottom: -1px; + line-height: 1%; + font-size: 0px; +} + +.section-error-container { + display: flex; + justify-content: center; + align-items: center; + height: 12vh; + width: 100%; + background-color: #ecf0f1; + border-radius: 10px; + .section-error-content { + font-size: 1.2em; + opacity: 0.8; + .fa { + margin-right: 0.5em; + } + } +} + +.loading-container { + display: flex; + justify-content: center; + align-items: center; + height: 12vh; + width: 100%; + background-color: #ecf0f1; + border-radius: 10px; + .loading-content { + font-size: 1.2em; + opacity: 0.8; + .fa { + margin-right: 0.5em; + } + } +} + +.mosaic, .image-mosaic { + padding-top: 1.2em; + padding-bottom: 1.2em; + margin: 0 auto; + justify-content: center; + align-items: center; + display: grid; + grid-template-columns: repeat(auto-fill, 30%); + justify-self: center; + grid-row-gap: 1em; + grid-column-gap: 1em; + img, .mosaic-item { + display: block !important; + padding: 0 !important; + width: 100% !important; + } +} + +.mosaic.two-columns { + grid-template-columns: repeat(auto-fill, 48%); +} + +.mosaic.three-columns { + grid-template-columns: repeat(auto-fill, 30%); +} + +.mosaic.four-columns { + grid-template-columns: repeat(auto-fill, 22%); +} + +.flex-mosaic { + display: flex; + justify-content: center; +} + +.flex-mosaic-item { + margin-right: 1em; +} + +.flex-mosaic .flex-mosaic-item:first-of-type { + margin-left: 0; +} +.flex-mosaic .flex-mosaic-item:last-of-type { + margin-right: 0; +} + +.full-iframe-container { + display: flex; + flex-direction: column; + min-height: 100vh; + width: 100%; + iframe { + border: none; + flex-grow: 1; + width: 100%; + } +} + +.multistage-mosaic { + margin: 0 auto; + width: 75%; + + display: grid; + grid-template-columns: 1.8fr 1fr; + grid-template-rows: 1fr 1fr; + gap: 0px 0px; + .multistage-item { + // display: flex; + // justify-content: center; + // align-items: center; + + img { + margin: 0; + width: 49vh !important; + } + } + .multistage-top-left { + grid-column: 1 / 2; + grid-row: 1 / 2; + } + .multistage-right { + grid-column: 2 / 3; + grid-row: 1 / 3; + + img { + width: 35vh !important; + } + } + .multistage-bottom-left { + grid-column: 1 / 2; + grid-row: 2 / 3; + } +} + +@media (max-width: $responsive-medium) { + .mosaic, .image-mosaic { + display: flex; + justify-content: space-around; + flex-wrap: wrap; + img, .mosaic-item { + margin-bottom: 1em !important; + display: block !important; + padding: 0 !important; + } + img:last-of-type, .mosaic-item:last-of-type { + margin-bottom: 0 !important; + } + } + .flex-mosaic { + display: block; + } + + .multistage-mosaic { + margin: 0; + width: 100%; + } +} + +@media (max-width: $responsive-small) { + .sort-by-dates-container { + margin-bottom: .5em; + } + .blog-title-container { + display: flex; + flex-direction: column; + justify-content: start; + + .sort { + margin-top: 1em; + margin-left: 2em; + margin-right: 2em; + } + } + .blog-pagination { + padding-left: 1em; + padding-right: 1em; + } + + .multistage-mosaic { + grid-template-columns: auto; + grid-template-rows: auto; + + .multistage-item { + display: flex; + justify-content: center; + } + + .multistage-top-left { + grid-column: auto; + grid-row: auto; + } + .multistage-right { + grid-column: auto; + grid-row: auto; + + img { + padding: 0; + margin: 0 auto; + width: 28vh !important; + } + } + .multistage-bottom-left { + grid-column: auto; + grid-row: auto; + } + } +} diff --git a/assets/scss/layouts/contact-card.scss b/assets/scss/layouts/contact-card.scss new file mode 100644 index 0000000..ea47a15 --- /dev/null +++ b/assets/scss/layouts/contact-card.scss @@ -0,0 +1,43 @@ +.contact-card { + display: flex; + padding: 1em; + border: 1px solid gray; + border-radius: 10px; + .contact-card-left { + width: 5em; + background-size: contain; + background-repeat: no-repeat; + background-position: center; + } + .contact-card-right { + margin-left: 1.5em; + } + .contact-card-title { + font-size: 1.3em; + } + .contact-methods { + padding: 0; + list-style-type: none; + .contact-method { + display: flex; + .contact-method-icon { + opacity: 0.8; + margin-right: 1em; + } + } + } +} + + +@media (max-width: $responsive-small) { + .contact-card { + padding: .5em; + + .contact-card-right { + margin-left: .75em !important; + } + .contact-method-icon { + margin-right: .5em !important; + } + } +} diff --git a/assets/scss/layouts/cover.scss b/assets/scss/layouts/cover.scss new file mode 100644 index 0000000..c41f1b1 --- /dev/null +++ b/assets/scss/layouts/cover.scss @@ -0,0 +1,120 @@ +$cover-height: 15em; + +.cover { + position: relative; + + .cover-back { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + background-image: url('https://s.werobot.fr/headerCover.jpeg'); + background-size: cover; + background-position: center; + z-index: -1; + } + + .cover-container { + width: 100%; + box-shadow: inset 0 0 10px rgba(0, 0, 0, 0.5); + min-height: $cover-height; + background-color: rgba(41, 128, 185, 0.8); + display: flex; + align-items: center; + color: white; + padding: 5em 0; + } + + .cover-title { + line-height: 3em; + font-size: 1.5em; + padding-left: 1.5em; + } + + &.large-cover { + .cover-container { + padding: 6em 0; + } + } + + &.cover-mode-small .cover-container { + padding: 6em 0; + } + + &.cover-mode-medium .cover-container { + height: 40vh; + } + + &.cover-mode-large .cover-container { + height: 50vh; + } + + &.cover-mode-full .cover-container { + height: 77vh; + } + + .cover-date { + padding-top: 2em; + padding-bottom: 1em; + font-size: 1.2em; + opacity: 0.7; + display: flex; + align-items: center; + .cover-date-icon{ + margin-right: 1em; + } + } +} + + +@media (max-width: $responsive-small) { + .cover { + &.cover-mode-medium .cover-container { + height: 49vh !important; + } + } +} + +@media (max-width: $responsive-interlarge) { + .cover { + &.cover-mode-large .cover-container { + height: 40vh !important; + } + &.cover-mode-full .cover-container { + height: 65vh; + } + } +} + +@media (max-width: $responsive-medium) { + .cover { + .cover-back { + background-position: center !important; + } + .cover-title { + font-size: 1.3em; + padding-left: 0; + } + + &.cover-mode-medium .cover-container { + height: 45vh; + } + &.large-cover .cover-container { padding: 5em 0; } + &.cover-mdoe-small .cover-container { padding: 5em 0; } + + //&.cover-mode-large .cover-container { + //padding: 11em 0 !important; + //} + } +} + +@media (min-width: $responsive-large) { + .cover { + &.large-cover .cover-container { padding: 8em 0; } + + //&.cover-mode-large .cover-container { + //padding: 21em 0 !important; + //} + } +} diff --git a/assets/scss/layouts/drawer.scss b/assets/scss/layouts/drawer.scss new file mode 100644 index 0000000..9374ec6 --- /dev/null +++ b/assets/scss/layouts/drawer.scss @@ -0,0 +1,82 @@ +body { + overflow-x: hidden !important; +} + +.drawer { + .bm-menu { + background-color: #2c3e50 !important; + } + + .cross-style { + right: -4px !important; + top: 13px !important; + } + + +} + +.drawer-body-scrolling-disabled { + overflow: hidden; +} + +.main-page-wrap { + transition: transform 0.5s ease 0s; +} + +.disabled { + transform: translate3d(-300px, 0px, 0px) !important; +} + +.drawer { + background-color: #2c3e50; + position: fixed; + width: 0; + transition: width 0.5s ease; + z-index: 999; + right: 0; + top: 0; + height: 100%; + padding-top: 1em; + padding-bottom: 1em; + white-space: nowrap; + overflow: hidden; + .drawer-content { + width: 300px; + padding-left: 1em; + transition: opacity 0.5s ease; + opacity: 1; + } + .drawer-links { + flex-direction: column; + display: flex; + } + .drawer-link { + display: flex; + justify-content: center; + align-items: center; + padding-bottom: 1em; + padding-top: 1em; + color: white; + transition: opacity 0.2s; + + &:hover { + opacity: 0.8; + transition: opacity 0.2s; + } + + } + &.drawer-enabled { + width: 300px; + .drawer-links { + opacity: 1; + } + } + .drawer-close-container { + display: flex; + justify-content: flex-end; + align-items: center; + color: white; + padding-right: 1em; + font-size: 1.3em; + } +} \ No newline at end of file diff --git a/assets/scss/layouts/error.scss b/assets/scss/layouts/error.scss new file mode 100644 index 0000000..d149432 --- /dev/null +++ b/assets/scss/layouts/error.scss @@ -0,0 +1,22 @@ +.error-container { + height: 20vh; + display: flex; + justify-content: center; + align-items: center; + margin-top: 5em; + .error { + color: #2f3640; + display: flex; + align-items: center; + .error-icon { + margin-right: 2.2em; + margin-left: 1.3em; + i { + font-size: 1.5em; + } + } + .error-title { + margin-bottom: 0.3em; + } + } +} \ No newline at end of file diff --git a/assets/scss/layouts/fonts.scss b/assets/scss/layouts/fonts.scss new file mode 100644 index 0000000..20fab55 --- /dev/null +++ b/assets/scss/layouts/fonts.scss @@ -0,0 +1,3 @@ +body { + font-family: 'Roboto Slab', serif; +} \ No newline at end of file diff --git a/assets/scss/layouts/footer.scss b/assets/scss/layouts/footer.scss new file mode 100644 index 0000000..1a2940f --- /dev/null +++ b/assets/scss/layouts/footer.scss @@ -0,0 +1,132 @@ +$social-icon-height: 2em; +$footer-cover-height: 10em; + +.footer { + margin-top: 5em; + + .footer-cover-back { + height: $footer-cover-height; + background-image: url("https://s.werobot.fr/footerCover.jpeg"); + background-size: cover; + background-position-x: center; + background-position-y: top; + } + + .footer-cover { + margin-top: -$footer-cover-height; + height: $footer-cover-height; + background-color: rgba(41, 128, 185, .8); + box-shadow: inset 0 0 10px rgba(0, 0, 0, .5); + } + + .footer-border { + display: flex; + .footer-border-item { + display: block; + content: ""; + border-bottom: 1px solid black; + } + .footer-border-item:nth-child(1) { + border-color: #bdc3c7; + width: 100%; + } + } + + .footer-container { + height: 20em; + padding-top: 3em; + padding-bottom: 3em; + .footer-title-container { + display: flex; + align-items: center; + justify-content: space-between; + margin-bottom: 2em; + .footer-title { + font-size: 1.8em; + opacity: 0.9; + margin-bottom: 0.5em; + } + .footer-description { + opacity: 0.9; + line-height: 1.5em; + } + .footer-logo { + margin-right: 2.5em; + img { + width: 38em; + } + } + } + .footer-footer { + margin-top: 3em; + padding-bottom: 2em; + } + .footer-socials { + margin-left: 1em; + display: flex; + justify-content: flex-start; + + .footer-socials-item { + margin-right: 1em; + display: flex; + justify-content: center; + align-items: center; + opacity: 0.8 !important; + img, svg { + width: $social-icon-height; + height: $social-icon-height; + } + &:hover { + opacity: 1 !important; + } + } + } + .footer-links { + text-align: right; + display: flex; + flex-direction: column; + a { + margin-bottom: 10px; + font-size: 1em; + color: #2980b9; + } + } + } +} + +@media (max-width: $responsive-medium) { + .footer { + .footer-container { + padding-top: 1em; + .footer-title-container { + flex-direction: column; + text-align: center; + .footer-logo { + margin-right: 0; + margin-bottom: 1em; + img { + display: flex; + margin: 0 auto; + width: 8em; + } + } + } + .footer-links { + text-align: center; + margin-top: 1em; + margin-bottom: 1em; + } + .footer-footer { + margin-top: 2em; + padding-bottom: 2em; + } + .footer-socials { + margin-left: 0; + .footer-socials-item img { + width: 2.4em; + height: 2.4em; + } + } + } + } +} diff --git a/assets/scss/layouts/header.scss b/assets/scss/layouts/header.scss new file mode 100644 index 0000000..497fa7b --- /dev/null +++ b/assets/scss/layouts/header.scss @@ -0,0 +1,142 @@ +$logo-height: 6em; +$logo-responsive-height: 4em; + +.header-border { + border-top: 1px solid #7f828b; +} +.header { + .header-container { + position: relative; + padding-top: 2em; + padding-bottom: 2em; + display: flex; + justify-content: space-between; + align-content: center; + align-items: center; + .header-nav-responsive-button-container { + display: none; + } + .header-title-container { + display: flex; + justify-content: center; + align-content: center; + align-items: center; + .header-title { + + margin-left: 0.5em; + .header-title-title { + //font-family: 'Audiowide', serif; + font-size: 2.2em; + opacity: 0.9; + margin-bottom: 10px; + } + .header-sub-title { + margin-left: 1px; + } + + } + .header-logo { + width: $logo-height; + height: $logo-height; + margin-right: 2em; + } + } + .header-nav { + display: flex; + justify-content: space-between; + + .header-nav-item { + margin-left: 3em; + } + .header-nav-item .link.active { + border-bottom: 2px dotted #7f828b; + padding-bottom: 2px; + //border-style: dashed; + } + } + } +} + +.header.not-complete { + //box-shadow: inset -8px -24px 66px -11px rgba(0,0,0,0.75); + position: fixed; + width: 100%; + background-color: white; + z-index: 1500; + transition:0.4s top cubic-bezier(.3,.73,.3,.74); + border-bottom: 2px solid #a4b0be; + .header-container { + padding-top: 0; + padding-bottom: 0; + } + + .header-locale-container { + display: none; + } + + .header-sub-title { + display: none; + } +} + +@media (max-width: $responsive-medium) { + .header { + display: flex; + justify-content: center; + align-items: center; + .header-container { + justify-content: space-between; + padding-left: 1em; + padding-right: 1.5em; + .header-title-container { + width: 100%; + justify-content: space-between; + .header-title { + font-size: 1em; + margin: 0; + .header-title-title { + font-size: 1.5em; + margin: 0; + } + .header-sub-title { + display: none; + } + } + .header-logo { + width: $logo-responsive-height; + height: $logo-responsive-height; + margin-right: 1em; + } + } + .header-nav { + display: none; + } + .header-nav-responsive-button-container { + display: block; + .header-nav-responsive-button { + color: #2c3e50; + font-size: 1.8em; + opacity: 0.8; + transition: opacity 0.2s; + + &:hover { + opacity: 1; + transition: opacity 0.2s; + cursor: pointer; + } + } + + } + } + } +} + +.header-locale-container { + display: flex; + justify-content: flex-end; + position: absolute; + right: 0; + bottom: 0; + height: 0; + z-index: 888; +} diff --git a/assets/scss/layouts/map.scss b/assets/scss/layouts/map.scss new file mode 100644 index 0000000..29ed35f --- /dev/null +++ b/assets/scss/layouts/map.scss @@ -0,0 +1,19 @@ +.ol-attribution { + ul { + margin: 0 !important; + padding: .5em !important; + line-height: normal; + font-size: small; + } +} + +.about-place-map { + width: 50em; + height: 30em; +} + +@media (max-width: $responsive-small) { + .about-place-map { + width: 100%; + } +} diff --git a/assets/scss/layouts/partner.scss b/assets/scss/layouts/partner.scss new file mode 100644 index 0000000..be8d12f --- /dev/null +++ b/assets/scss/layouts/partner.scss @@ -0,0 +1,132 @@ +.partners { + margin-top: 2em; + .partner { + //GiGa + &:first-child img { + width: 60%; + } + //uimm + /*&:nth-child(2) img { + width: 50%; + }*/ + //papavoine + &:nth-child(2) img { + width: 40%; + margin-bottom: 1em; + } + //Girv + &:nth-child(3) img { + width: 60%; + } + // arianegroup + &:nth-child(4) img { + width: 65%; + } + // gaillon + &:nth-child(5) img { + width: 40%; + } + // skf + &:nth-child(6) { + margin-top: 2.2em; + img { + width: 55%; + } + } + // AtisComputer + &:nth-child(7) { + margin-top: 2.2em; + img { + width: 75%; + } + } + margin-top: 1.2em; + + .partner-image { + display: flex; + justify-content: center; + align-items: center; + text-align: center; + } + } +} + +.partners-quick { + margin-top: 1.5em; + margin-bottom: -2em; + justify-content: space-around; + .partner-quick-title { + margin-bottom: .5em; + } + .partner-item { + display: flex; + justify-content: center; + align-items: center; + img { + width: auto; + height: 7em; + } + &:nth-of-type(4) { + img { + height: 5em; + } + } + &:nth-of-type(5) { + img { + height: 6em; + } + } + &:nth-of-type(6) { + //margin-top: 2.5em; + img { + height: 4em; + } + } + &:nth-of-type(7) { + img { + padding: 1em; + } + } + } +} + +@media (max-width: $responsive-medium) { + .partners-quick .partner-item { + img { + padding: 10px; + } + } + .partners { + margin-top: 2em; + .partner { + //Girv + &:nth-child(3) img { + margin-top: .5em; + margin-bottom: 1em; + } + // arianegroup + &:nth-child(4) img { + margin-top: .5em; + margin-bottom: 1em; + } + // gaillon + &:nth-child(5) img { + margin-top: 1em; + margin-bottom: .5em; + } + //skf + &:nth-child(6) { + margin-top: 2em; + img { + margin-bottom: 1em; + } + } + &:nth-child(7) { + margin-top: 2em; + img { + margin-bottom: 1em; + } + } + } + } +} diff --git a/assets/scss/layouts/photos.scss b/assets/scss/layouts/photos.scss new file mode 100644 index 0000000..14cdf29 --- /dev/null +++ b/assets/scss/layouts/photos.scss @@ -0,0 +1,52 @@ +.photos-list { + + .photos-list-title { + margin-bottom: 1em; + .fa { + margin-right: 10px; + } + } + + .photos-list-photos { + display: grid; + grid-template-columns: repeat(4, 1fr); + grid-column-gap: 1.2em; + grid-row-gap: 1.2em; + justify-content: center; + } + + .photos-list-item { + border-radius: 5px; + height: 17.5em; + min-width: 14em; + background-size: cover; + background-position: center; + opacity: 1; + display: block; + transition: opacity 0.2s; + } + + .photos-list-item:hover { + opacity: 0.8; + cursor: pointer; + transition: opacity 0.2s; + } + + .photos-more { + float: right; + } +} + + +@media (max-width: $responsive-medium) { + .photos-list { + .photos-list-photos { + display: flex; + justify-content: center; + flex-wrap: wrap; + } + .photos-list-item { + min-width: 17.5em; + } + } +} \ No newline at end of file diff --git a/assets/scss/layouts/team.scss b/assets/scss/layouts/team.scss new file mode 100644 index 0000000..08f1653 --- /dev/null +++ b/assets/scss/layouts/team.scss @@ -0,0 +1,43 @@ +.team-mosaic { + margin-top: 2.5em; + display: grid; + grid-template-columns: 30% 30% 30%; + grid-column-gap: 28px; + grid-row-gap: 2em; + .team-item { + text-align: center; + .team-item-title { + margin-top: 0.3em; + margin-bottom: 0.2em; + font-size: 1.4em; + font-weight: 300; + } + .team-item-image { + margin: 0 auto; + display: flex; + justify-content: center; + align-items: center; + width: 10em; + height: 10em; + overflow: hidden; + img { + width: auto; + height: 10em; + } + } + .team-item-description { + font-size: 0.9em; + } + } + + .team-item:last-of-type{ + margin-right: 0; + } +} + +@media (max-width: $responsive-medium) { + .team-mosaic { + grid-template-columns: 50% 50%; + grid-column-gap: 0; + } +} diff --git a/assets/scss/layouts/transitions.scss b/assets/scss/layouts/transitions.scss new file mode 100644 index 0000000..4c848a4 --- /dev/null +++ b/assets/scss/layouts/transitions.scss @@ -0,0 +1,29 @@ +.page-enter-active, +.page-leave-active { + transition: all 0.15s ease-out; +} +.page-enter, +.page-leave-active { + opacity: 0.15; + transform: translateZ(0); + backface-visibility: hidden; +} + +.main-transition-enter-active, .main-transition-leave-active { + transition: opacity .5s +} + +.main-transition-enter, .main-transition-leave-active, .main-transition-leave-to { + opacity: 0 +} + +.transition-parent { + min-height: 10em; + position: relative; +} + +.transition-child { + position: absolute; + top: 0; + left: 0; +} diff --git a/assets/scss/main.scss b/assets/scss/main.scss new file mode 100644 index 0000000..b9b54cc --- /dev/null +++ b/assets/scss/main.scss @@ -0,0 +1,31 @@ +$responsive-small: 475px; +$responsive-medium: 1050px; +$responsive-interlarge: 1400px; +$responsive-large: 1500px; + +@import url("https://cdnjs.cloudflare.com/ajax/libs/tailwindcss/2.2.8/tailwind.min.css"); +@import url('https://fonts.googleapis.com/css?family=Audiowide|Roboto+Slab'); +@import url('https://use.fontawesome.com/releases/v5.3.1/css/all.css'); + +@import "variables"; + + +@import "helpers/container"; +@import "helpers/link"; +@import "helpers/card"; +@import "helpers/divider"; +@import "helpers/button"; +@import "layouts/fonts"; +@import "layouts/header"; +@import "layouts/articles"; +@import "layouts/body"; +@import "layouts/partner"; +@import "layouts/team"; +@import "layouts/cover"; +@import "layouts/footer"; +@import "layouts/photos"; +@import "layouts/error"; +@import "layouts/drawer"; +@import "layouts/transitions"; +@import "layouts/contact-card"; +@import "layouts/map"; diff --git a/assets/scss/variables.scss b/assets/scss/variables.scss new file mode 100644 index 0000000..d19bf23 --- /dev/null +++ b/assets/scss/variables.scss @@ -0,0 +1 @@ +$primary-color: #2980b9; \ No newline at end of file diff --git a/config.toml b/config.toml new file mode 100644 index 0000000..362740a --- /dev/null +++ b/config.toml @@ -0,0 +1,30 @@ +baseURL = '/' +languageCode = 'fr' +defaultContentLanguage = 'fr' +title = "We Robot" + +summaryLength = 50 + +# THIS IS UNACCEPTALBE, I REALLY THOUGH THIS WAS THE DEFAULT IN HUGO!! +assetDir = "assets" + +[sitemap] +changefreq = 'weekly' + +[params] +dateFmt = "02.01.2006 15:04" + +[params.defaultImage] +local = true +src = "cover/cover.jpg" + +[taxonomies] +imtag = 'imtags' + +# theme = "custom" + +# [markup] +# [markup.goldmark] +# [markup.goldmark.renderer] +# unsafe = true + 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..c621298 --- /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/about/index.md b/content/about/index.md new file mode 100644 index 0000000..f6d7b31 --- /dev/null +++ b/content/about/index.md @@ -0,0 +1,191 @@ +--- +title: A propos +--- + +## Notre histoire + +L'association a vu le jour en mai 2017. Son premier but était la participation au [First Global Challenge 2017](https://first.global/archive/fgc-2017/) à Washington D.C. + +### Première compétition + +Après trois mois de préparation et de communication, nous rencontrons les 156 pays participants. Le jeu des alliances et un robot pas très performant font que nous nous classons très mal. Néanmoins, la tenue régulière du blog pendant toutes les phases de notre préparation nous permettent de revenir avec la médaille d'argent du prix Sofia Kovalevskaya. + +### Saison 2017-2018 + +
+ Notre ancien logo +
+ +Nous avons participé à deux compétitions cette année : +- Les [trophées de robotique](http://tropheesderobotique.fr) + - Tout d'abord l'épreuve régionale Normande à laquelle nous sommes arrivés deuxième nous qualifiant ainsi pour l'épreuve nationale. + - Puis la compétition nationale, sur deux jours à Saint-Quentin.Nous nous y classons 20ième sur 62 équipes. +- Le 18ème World Adolescent Robot Contest dans la catégorie FGC + +Cette compétition se déroule à Guyiang en chine, trente équipes y participent dont 15 chinoises et 15 internationales. + +Nous y remportons deux prix : + - Le prix de l'unité internationale pour notre investissement dans la cohésion ainsi que notre aide technique et linguistique. + - Le prix de l'alliance victorieuse car nous remportons ce championnat + +### Saison 2018-2019 + +L'association évolue. Non seulement elle accueille de nouveaux jeunes pour particper aux concours mais elle ouvre un volet éducation en proposant un atelier hebdomadaire d'initiation à la robotique aux enfants du [Centre Social Condorcet](https://www.espacecondorcet.org/). + +Les concours actuellement prévus cette année sont une nouvelle fois les [trophées de robotique](http://tropheesderobotique.fr) et [Astro-Pi](https://www.astro-pi.org). + +### Saison 2019-2020 + +Saison très mouvementée évidemment. L'atelier hebdomadaire d'initiation à la robotique aux enfants du [Centre Social Condorcet](https://www.espacecondorcet.org/) a continué jusqu'au confinement. Nous avons par ailleurs pu organiser deux ateliers de découverte des [micro-bits](https://archive.microbit.org/fr/). En ce qui concerne les concours de robotique, nos deux jeunes ont bossé d'arrache-pieds mais les [trophées](http://tropheesderobotique.fr) on tout d'abord été programmés à une date impossible (trop proche du bac) nous avons réussi à négocier notre inscription à la [coupe de France](https://www.coupederobotique.fr/) mais ces événements ont finis par être annulés/reportés. + +
+ +## Nos membres + +
+
+
avatar
+

Franck

+

Président de l'association, Coach

+
+
+
avatar
+

François

+

Trésorier de l'association, Coach

+
+
+
avatar
+

Katia

+

Secrétaire

+
+ +
+
avatar
+

Mathis

+

Trophées, Astro-Pi, atelier de robotique

+
+
+
avatar
+

Matthieu

+

Trophées, Astro-Pi, Communication

+
+
+
avatar
+

Mohamed

+

Trophées, Astro-Pi, Communication

+
+ +
+ +
+ +## Ils nous soutiennent + +
+
+
+ +
+
+ Depuis octobre 2017 le GIGA est à nos côtés. Nous leur avons présenté l'association en assemblée générale, nous avons bénéficié d'un fort soutien financier de leur part pour nos déplacements ainsi que l'achat de matériel. +
+
+ +
+ + + +
+
+ Pour la saison 2018-2019, la menuiserie Papavoine nous propose de nous aider à réaliser les éléments de la table de jeu des Trophées de robotique. +
+
+
+
+ + + +
+
+ Depuis novembre 2018, le Groupement Interprofessionnel de la Région de Vernon nous fait confiance en nous permettant de rencontrer des partenaires membres. Nous avons pu présenter notre association au salon professionnel du GIRV puis à son assemblée générale de décembre. Suite à celle-ci, il a participé à l'achat de l'imprimante 3D de notre association en février 2019. +
+
+
+
+ + + +
+
+ Ariane Group Vernon a participé à l'achat de l'imprimante 3D de notre association en février 2019. +
+
+
+ +
+ + + +
+ En début de saison 2017-2018, la mairie de Gaillon nous a accordé une petite subvention. + Depuis avril 2019, elle nous prête de grands locaux pour toutes nos activités et se montre très à l'écoute de nos besoins. +
+
+
+ + + +
+ SKF Vernon a participé à l'achat de l'imprimante 3D de notre association en février 2019. +
+
+
+ + + +
+ Nous soutient depuis avril 2019. Nous a déjà fourni 2 Raspberry Pi 3B+ +
+
+
+ +
+
+ +## Nos locaux + +Nous disposons de locaux prêtés par la ville de Gaillon situés à proximité du centre de loisir des Douaires. Pour en savoir plus, [lisez notre article de blog à ce sujet.](/blog/voici-nos-nouveau-locaux) + +
+
+
+
+ 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/posts/_index.md b/content/posts/_index.md new file mode 100644 index 0000000..c1224f4 --- /dev/null +++ b/content/posts/_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/posts/annonce-assemble-generale-consultative/index.md b/content/posts/annonce-assemble-generale-consultative/index.md new file mode 100644 index 0000000..1bdc794 --- /dev/null +++ b/content/posts/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/posts/article-de-test/index.md b/content/posts/article-de-test/index.md new file mode 100644 index 0000000..939ce96 --- /dev/null +++ b/content/posts/article-de-test/index.md @@ -0,0 +1,10 @@ +--- +title: "Random test article" +date: 2022-12-10 +--- + +Hello world + +Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. + +footer diff --git a/content/posts/ils-se-sont-rencontres/309393450_108762475334926_4612223320137316636_n.jpg b/content/posts/ils-se-sont-rencontres/309393450_108762475334926_4612223320137316636_n.jpg new file mode 100644 index 0000000..84b8460 Binary files /dev/null and b/content/posts/ils-se-sont-rencontres/309393450_108762475334926_4612223320137316636_n.jpg differ diff --git a/content/posts/ils-se-sont-rencontres/P1030003.JPG b/content/posts/ils-se-sont-rencontres/P1030003.JPG new file mode 100644 index 0000000..2d44d8a Binary files /dev/null and b/content/posts/ils-se-sont-rencontres/P1030003.JPG differ diff --git a/content/posts/ils-se-sont-rencontres/ensemble.jpg b/content/posts/ils-se-sont-rencontres/ensemble.jpg new file mode 100644 index 0000000..69acad2 Binary files /dev/null and b/content/posts/ils-se-sont-rencontres/ensemble.jpg differ diff --git a/content/posts/ils-se-sont-rencontres/images/ensemble.jpg b/content/posts/ils-se-sont-rencontres/images/ensemble.jpg new file mode 100644 index 0000000..69acad2 Binary files /dev/null and b/content/posts/ils-se-sont-rencontres/images/ensemble.jpg differ diff --git a/content/posts/ils-se-sont-rencontres/index.md b/content/posts/ils-se-sont-rencontres/index.md new file mode 100644 index 0000000..c8c1d2c --- /dev/null +++ b/content/posts/ils-se-sont-rencontres/index.md @@ -0,0 +1,21 @@ +--- +title: "Ils se sont rencontrés !" +date: 2022-09-28 +featured_image: + src: ensemble.jpg +--- + +L'association existe ! ╰(*°▽°*)╯ + +Ce 24 septembre 2022, grâce au bienveillant accueil de l'association T'es pas cap ? et tout particulièrement de sa très active présidente, madame Jessica Jehan, assistée du soutien non moins précieux de madame Isabelle Roussel, l'Assemblée générale constitutive de l'Association des Amis de la chapelle de Bethléem a pu se tenir en ouverture du Salon du petit patrimoine local, dans la salle des fêtes de Saint-Aubin-sur-Gaillon 🎊 + +Une petite quarantaine de personne est venue suivre la réunion, au cours de laquelle a tout d'abord été brièvement rappelée l'histoire mouvementée de la chapelle, plusieurs fois malmenée, plusieurs fois restaurée depuis 1582, date de sa fondation par Charles 1er, cardinal de Bourbon. Aux noms des familles Mignot et Vilain qui conduisirent les deux dernières restaurations, respectivement dans les années 1890 et 1950, vient s'ajouter désormais celui de la famille Blondel, nouvelle protectrice du site que l'association a l'ambition de soutenir. + +😴🤗 Si la rébarbative, mais nécessaire présentation des projets de statuts à reçu un accueil patient, compréhensif et approbateur, c'est néanmoins la nature du projet qui a bien sûr retenue toute l'attention de l'auditoire : apporter une assistance, fédérer les énergies, rechercher des financement pour sauvegarder, animer et promouvoir le site. Des actions de sécurisation des lieux et de mise hors d'eau sont nécessaires. Des actions plus symboliques sont également envisagées, comme la restauration de l'Etoile d'autel de la crypte. ⭐ + +C'est d'ailleurs en raison de la forte symbolique des deux étoiles, celles brisée et éparpillée de la crypte résumant l'état actuel de la chapelle, celle encore fièrement dressée au faîte du campanile, qui semble appeler au relèvement, que l'association se dénommera "L'étoile De Bethléem, association des amis de la chapelle de Bethléem d'Aubevoye." + +🥳 Le public à manifesté à cet égard ses attentes et sa hâte de passer à l'action. C'est à la fois un encouragement et un rude défi pour le tout nouveau Conseil d'administration qui vous sera prochainement présenté. + +Celui-ci aura en tous cas à cœur de faire tout son possible pour redonner son lustre au site, tout autant que pour donner corps à l'espérance bien vivace exprimée au cours de cette belle journée, placée sous le signe des étoiles. 🤩 + 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..29f253d --- /dev/null +++ b/layouts/_default/baseof.html @@ -0,0 +1,18 @@ + + + + {{ partial "head.html" . }} + + {{- block "head" . -}}{{ end }} + + +
+ {{ partial "header" . }} + {{ block "main" . }}{{ end }} +
+ {{ partial "footer" . }} + + diff --git a/layouts/_default/list.html b/layouts/_default/list.html new file mode 100644 index 0000000..2a44532 --- /dev/null +++ b/layouts/_default/list.html @@ -0,0 +1,36 @@ +{{ define "main" }} +
+
+
+
+
+

{{ .Title }}

+
+
+
+
+
+ {{ $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..c52134b --- /dev/null +++ b/layouts/_default/single.html @@ -0,0 +1,42 @@ +{{ 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..12fdf37 --- /dev/null +++ b/layouts/index.html @@ -0,0 +1,12 @@ +{{ define "main" }} +
+ Index + {{/* + {{ $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..f541d50 --- /dev/null +++ b/layouts/partials/footer.html @@ -0,0 +1,136 @@ +