En cours...

This commit is contained in:
2025-09-16 10:21:01 +02:00
parent abf8f1894e
commit a1e977dbd0
140 changed files with 3861 additions and 0 deletions

View File

@@ -0,0 +1,122 @@
// Preloader js
$(window).on('load', function () {
$('.preloader').fadeOut(100);
});
(function ($) {
'use strict';
// navigation
$(window).scroll(function () {
if ($('.navigation').offset().top > 1) {
$('.navigation').addClass('nav-bg');
} else {
$('.navigation').removeClass('nav-bg');
}
});
// video modal popup
var $videoSrc;
$('.video-modal').click(function () {
$videoSrc = $(this).data("src");
});
$('#videoModal').on('shown.bs.modal', function (e) {
$("#video").attr('src', $videoSrc + "?autoplay=1&modestbranding=1&showinfo=0");
})
$('#videoModal').on('hide.bs.modal', function (e) {
$("#video").attr('src', $videoSrc);
})
$('#videoModal2').on('shown.bs.modal', function (e) {
$("#video2").attr('src', $videoSrc + "?autoplay=1&modestbranding=1&showinfo=0");
})
$('#videoModal2').on('hide.bs.modal', function (e) {
$("#video2").attr('src', $videoSrc);
})
// testimonial slider
$('.testimonial-slider').slick({
dots: false,
infinite: true,
speed: 300,
slidesToShow: 3,
slidesToScroll: 1,
arrows: true,
prevArrow: '<button type=\'button\' class=\'prevArrow\'><i class=\'ti-arrow-left\'></i></button>',
nextArrow: '<button type=\'button\' class=\'nextArrow\'><i class=\'ti-arrow-right\'></i></button>',
autoplay: true,
responsive: [{
breakpoint: 1024,
settings: {
slidesToShow: 3
}
},
{
breakpoint: 600,
settings: {
slidesToShow: 2
}
},
{
breakpoint: 401,
settings: {
slidesToShow: 1
}
}
]
});
// product Slider
$('.product-slider').slick({
autoplay: false,
infinite: true,
arrows: false,
dots: true,
customPaging: function (slider, i) {
var image = $(slider.$slides[i]).data('image');
return '<img class="img-fluid" src="' + image + '" alt="product-img">';
}
});
// Accordions
$('.collapse').on('shown.bs.collapse', function () {
$(this).parent().find('.ti-plus').removeClass('ti-plus').addClass('ti-minus');
}).on('hidden.bs.collapse', function () {
$(this).parent().find('.ti-minus').removeClass('ti-minus').addClass('ti-plus');
});
// Contact Form
$( document ).ready(function() {
var $contactForm = $('#contact-form');
$contactForm.submit(function(e) {
e.preventDefault();
$.ajax({
url: 'https://mailbear.delmar.bzh/api/v1/form/En7Bq5f4izuYs2zsnYHzmomNXbLzJE6V',
method: 'POST',
data: $(this).serialize(),
dataType: 'json',
beforeSend: function() {
$contactForm.find('.overlay div').html('<div class="alert alert--loading"><i class="fa fa-circle-o-notch fa-spin"></i> &nbsp; Envoi...</div>');
$contactForm.find('.overlay').fadeIn();
},
success: function(data) {
$contactForm.find('.alert--loading').hide();
$contactForm.find('.overlay div').html('<div class="alert alert--success"><i class="fa fa-check"></i> &nbsp; Message envoyé !</div>');
$contactForm.find('.overlay').fadeIn();
},
error: function(err) {
$contactForm.find('.alert--loading').hide();
$contactForm.find('.overlay div').html('<div class="alert alert--error"><i class="fa fa-warning"></i> &nbsp; Ooops, c\'est tout pêté !!!</div>');
$contactForm.find('.overlay').fadeIn();
}
});
});
$contactForm.find('.overlay').click(function(e) {
$(this).fadeOut();
});
});
})(jQuery);

View File

@@ -0,0 +1,98 @@
/* Button style */
.btn {
font-size: 14px;
font-family: $primary-font;
text-transform: capitalize;
padding: 13px 40px;
border-radius: 35px;
font-weight: 500;
border: 1px solid;
position: relative;
z-index: 1;
transition: .2s ease;
&:hover,
&:active,
&:focus {
outline: 0;
box-shadow: 0 8px 10px rgba(33,33,33,.2) !important;
}
}
.btn-sm{
padding: 10px 30px;
}
.btn-primary {
background: $primary-gradient;
color: $white;
border-color: $primary-color;
&:active,
&:hover,
&.focus,
&.active {
background: $primary-gradient !important;
border-color: $primary-color !important;
}
}
.btn-outline-primary {
background: transparent;
color: $text-color;
border-color: $primary-color;
transition: none;
&:active,
&:hover,
&.focus,
&.active {
background: $primary-gradient !important;
border-color: $primary-color !important;
color: $white;
}
}
.btn-light {
background: $white;
color: $text-color;
border-color: $white;
&:active,
&:hover,
&.focus,
&.active {
background: $white !important;
border-color: $white !important;
}
}
.btn-play{
height: 50px;
width: 50px;
padding: 0;
line-height: 45px;
display: inline-block;
border-radius: 50%;
text-align: center;
color: $white;
}
.btn-play-lg{
height: 70px;
width: 70px;
padding: 0;
line-height: 70px;
display: inline-block;
border-radius: 50%;
text-align: center;
color: $white;
font-size: 30px;
box-shadow: 0 0 0 20px rgba($color: $white, $alpha: .5);
transition: .2s ease;
&:hover{
box-shadow: 0 0 0 25px rgba($color: $white, $alpha: .5);
}
}

View File

@@ -0,0 +1,215 @@
body {
background-color: $body-color;
overflow-x: hidden;
}
::selection {
background: lighten($color: $primary-color, $amount: 10);
color: $white;
}
/* preloader */
.preloader {
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
background-color: #fff;
z-index: 99999;
display: flex;
align-items: center;
justify-content: center;
}
a,
a:hover,
a:focus {
text-decoration: none;
}
a,
button,
select {
cursor: pointer;
transition: .2s ease;
&:focus {
outline: 0;
}
}
a:hover {
color: $primary-color;
}
.slick-slide {
outline: 0;
}
.section {
padding-top: 100px;
padding-bottom: 100px;
&-sm {
padding-top: 50px;
padding-bottom: 50px;
}
}
.bg-cover {
background-size: cover;
background-position: center center;
background-repeat: no-repeat;
}
.border-primary {
border-color: $border-color !important;
}
/* overlay */
.overlay {
position: relative;
&::before {
position: absolute;
content: '';
height: 100%;
width: 100%;
top: 0;
left: 0;
background: $black;
opacity: .5;
}
}
.outline-0 {
outline: 0 !important;
}
.d-unset {
display: unset !important;
}
.bg-primary {
background: $primary-color !important;
}
.bg-gradient {
background: $primary-gradient !important;
}
.hover-shadow {
transition: .2s ease;
&:hover {
box-shadow: 0 8px 10px rgba(33, 33, 33, .2) !important;
}
}
.text-primary {
color: $primary-color !important;
}
.text-color {
color: $text-color;
}
.mb-10 {
margin-bottom: 10px !important;
}
.mb-20 {
margin-bottom: 20px !important;
}
.mb-30 {
margin-bottom: 30px !important;
}
.mb-40 {
margin-bottom: 40px !important;
}
.mb-50 {
margin-bottom: 50px !important;
}
.mb-60 {
margin-bottom: 60px !important;
}
.mb-70 {
margin-bottom: 70px !important;
}
.mb-80 {
margin-bottom: 80px !important;
}
.mb-90 {
margin-bottom: 90px !important;
}
.mb-100 {
margin-bottom: 100px !important;
}
.zindex-1 {
z-index: 1;
}
.top-100 {
top: 100px;
}
.overflow-hidden {
overflow: hidden;
}
.font-weight-medium {
font-weight: 500 !important;
}
.border-primary {
border-color: $primary-color !important;
}
/* form control */
.form-control {
height: 50px;
border: 1px solid $primary-color;
&:focus{
outline: 0;
box-shadow: none;
border-color: $primary-color;
}
}
textarea.form-control {
height: 100px;
}
.badge-primary {
background: $primary-color;
}
/* nav-tab */
.nav-tabs {
margin-bottom: 20px;
.nav-item {
margin-right: 10px;
.nav-link {
border: 0;
padding: 10px 0;
color: $text-color;
font-weight: 500;
&.active{
color: $primary-color;
}
}
}
}

View File

@@ -0,0 +1,29 @@
@mixin mobile-xs{
@media(max-width:400px){
@content;
}
}
@mixin mobile{
@media(max-width:575px){
@content;
}
}
@mixin tablet{
@media(max-width:767px){
@content;
}
}
@mixin desktop{
@media(max-width:991px){
@content;
}
}
@mixin desktop-lg{
@media(max-width:1200px){
@content;
}
}
@mixin size($size){
width: $size; height: $size;
}

View File

@@ -0,0 +1,49 @@
/* typography */
@import url('https://fonts.googleapis.com/css?family=Quicksand:300,400,500,600,700&display=swap');
body {
line-height: 1.4;
font-family: $primary-font;
-webkit-font-smoothing: antialiased;
font-size: 15px;
color: $text-color;
}
p, .paragraph {
font-weight: 400;
color: $text-color;
font-size: 15px;
line-height: 1.7;
font-family: $primary-font;
}
h1,h2,h3,h4,h5,h6 {
color: $text-color-dark;
font-family: $primary-font;
font-weight: 400;
line-height: 1.2;
}
h1, .h1{
font-size: 48px;
}
h2, .h2{
font-size: 42px;
}
h3, .h3{
font-size: 26px;
}
h4, .h4{
font-size: 20px;
}
h5, .h5{
font-size: 18px;
}
h6, .h6{
font-size: 14px;
}

View File

@@ -0,0 +1,15 @@
// Color Variables
$primary-color: #47210C;
$text-color: #333333;
$text-color-dark: #222222;
$body-color: #fff;
$border-color: #D1D1D1;
$black: #000;
$white: #fff;
$light: rgb(223, 223, 223);
$primary-gradient: linear-gradient( 45deg, rgb(115,53,19) 0%, rgb(159,73,26) 100%);
// Font Variables
$primary-font: 'Quicksand', sans-serif;
$icon-font: 'themify';

View File

@@ -0,0 +1,26 @@
/*!------------------------------------------------------------------
[MAIN STYLESHEET]
PROJECT: Project Name
VERSION: Versoin Number
-------------------------------------------------------------------*/
/*------------------------------------------------------------------
[TABLE OF CONTENTS]
-------------------------------------------------------------------*/
@import 'variables';
@import 'mixins';
@import 'typography';
@import 'buttons';
@import 'common';
@import 'templates/navigation';
@import 'templates/homepage';
@import 'images';

View File

@@ -0,0 +1,354 @@
.overlay-image {
position: absolute;
left: 0;
right: 0;
top: 0;
height: 100%;
width: 100%;
}
.cta-image {
position: absolute;
top: 50%;
transform: translateY(-50%);
right: 0;
@include tablet {
display: none;
}
}
.img-border {
position: relative;
display: inline-block;
&::before {
position: absolute;
content: "";
height: 100%;
width: 100%;
border: 1px solid $primary-color;
top: 5%;
left: 5%;
border-radius: inherit;
z-index: -1;
}
}
.content-center {
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
}
/* testimonial */
.testimonial-slider {
margin-bottom: 80px;
.slick-slide {
margin-top: 80px;
}
}
.client-img {
height: 100px;
width: 100px;
border-radius: 50%;
border: 1px solid $primary-color;
margin: -70px auto 20px;
}
/* rating */
.rating {
&.five {
li {
i {
color: #f9aa1f;
}
}
}
&.four {
li {
&:not(:last-child) {
i {
color: #f9aa1f;
}
}
}
}
&.three {
li {
i {
color: #f9aa1f;
}
&:last-child {
i {
color: $text-color;
}
}
&:nth-child(4) {
i {
color: $text-color;
}
}
}
}
&.two {
li {
&:first-child {
i {
color: #f9aa1f;
}
}
&:nth-child(2) {
i {
color: #f9aa1f;
}
}
}
}
&.one {
li {
&:first-child {
i {
color: #f9aa1f;
}
}
}
}
}
/* /rating */
.slick-arrow {
position: absolute;
z-index: 1;
border: 0;
transition: all linear .2s;
background: transparent;
bottom: -50px;
&.prevArrow {
left: calc(50% - 50px);
}
&.nextArrow {
right: calc(50% - 50px);
}
}
.quoted {
position: relative;
padding: 0 10px;
&::before {
position: absolute;
font-family: $icon-font;
content: "\e67f";
left: -10px;
top: -5px;
}
&::after {
position: absolute;
font-family: $icon-font;
content: "\e67e";
right: -10px;
top: -5px;
}
}
/* google map */
#map_canvas {
height: 450px;
}
/* blog */
.pagination {
justify-content: center;
.page-item {
.page-link {
display: inline-block;
width: 40px;
height: 40px;
border-radius: 100%;
border: 1px solid $border-color;
text-align: center;
margin-right: 6px;
font-weight: 700;
color: $primary-color;
&:hover {
background: $primary-color;
color: $white;
}
}
&:first-child,
&:last-child {
.page-link {
border-radius: 50%;
}
}
&.active {
.page-link {
background: $primary-color;
color: $white;
border-color: $primary-color;
}
}
}
}
/* content style */
.content {
* {
margin-bottom: 20px;
}
a {
text-decoration: underline;
}
h1,
h2,
h3,
h4,
h5,
h6 {
margin-bottom: 10px;
}
ol {
padding-left: 20px;
}
ul {
padding-left: 0;
li {
position: relative;
padding-left: 20px;
margin-bottom: 10px;
list-style-type: none;
&::before {
position: absolute;
content: "\e65d";
font-family: $icon-font;
font-size: 14px;
left: 0;
top: 1px;
color: $primary-color;
transition: .3s ease;
}
}
}
table {
text-align: left;
width: 100%;
max-width: 100%;
margin-bottom: 1rem;
border: 1px solid #dee2e6;
th,
td {
padding: .75rem;
vertical-align: top;
border: 1px solid #dee2e6
}
thead {
background: darken($color: $light, $amount: 2);
}
tbody {
background: $light;
td {
text-align: left !important;
}
}
}
blockquote {
border-left: 1px solid $primary-color;
padding: 20px;
p {
margin-bottom: 0;
color: $text-color;
font-style: italic;
font-size: 22px;
font-weight: 500;
}
}
pre {
padding: 10px 20px;
background: $light;
}
}
/* snipcart */
.snip-layout .snip-layout__main-container {
top: 100px;
}
.snip-header__title {
color: $white;
}
/* rating widget */
.rw-ui-report{
z-index: 9 !important;
}
/* product sinngle page */
.product-slider {
.slick-list{
border: 1px solid $primary-color;
margin-bottom: 10px;
border-radius: 5px;
}
.slick-dots {
margin-top: 10px;
padding-left: 0;
display: flex;
li {
list-style-type: none;
border: 1px solid $primary-color;
margin: 10px;
border-radius: 5px;
padding: 10px;
cursor: pointer;
&:first-child {
margin-left: 0;
}
&:last-child {
margin-right: 0;
}
img {
height: auto;
max-width: 100%;
}
}
}
}

View File

@@ -0,0 +1,169 @@
.navigation {
transition: .3s ease;
background: $white;
@include desktop {
border-bottom: 1px solid $border-color;
.navbar{
padding: 10px 0;
}
}
&.sticky-top{
z-index: 9;
}
}
.nav-bg {
border-bottom: 1px solid $border-color;
.navbar {
padding: 10px 0;
}
}
.navbar {
padding: 25px 0;
transition: .3s ease;
.dropdown {
&:hover {
.dropdown-menu {
visibility: visible;
opacity: 1;
transform: scaleX(1);
}
}
&-menu {
box-shadow: 0px 3px 9px 0px rgba(0, 0, 0, 0.12);
padding: 15px;
border: 0;
top: 50px;
left: -10px;
border-radius: 0;
display: block;
visibility: hidden;
transition: .3s ease;
opacity: 0;
transform: scale(.95);
background: $white;
@include desktop {
display: none;
opacity: 1;
visibility: visible;
transform: scale(1);
transform-origin: unset;
}
&.show {
visibility: hidden;
@include desktop {
visibility: visible;
display: block;
}
}
}
&-item {
color: $text-color;
transition: .2s ease;
padding: 10px;
&:hover {
color: $primary-color;
background: transparent;
}
}
}
}
.nav-item {
margin: 0;
.nav-link {
text-transform: capitalize;
font-size: 18px;
}
}
.navbar-light .navbar-nav .nav-link {
color: $text-color;
&:hover {
color: $primary-color;
}
}
.navbar-expand-lg .navbar-nav .nav-link {
padding: 20px;
}
/* search */
.search-btn {
border: 0;
background: transparent;
color: $white;
}
.search-wrapper {
position: absolute;
top: 0;
left: 0;
right: 0;
height: 100%;
z-index: 2;
visibility: hidden;
transition: .2s ease;
opacity: 0;
&.open {
visibility: visible;
opacity: 1;
}
}
.search-box {
height: 100%;
width: 100%;
border: 0;
background: $white;
font-size: 20px;
padding: 0;
&:focus {
box-shadow: none !important;
}
}
.search-close {
position: absolute;
right: 5px;
top: 50%;
transform: translateY(-50%);
border: 0;
background: transparent;
page-break-after: 10px;
font-size: 20px;
}
/* cart */
.cart {
background: transparent;
border: 0;
position: relative;
@include desktop {
position: absolute;
top: 23px;
right: 50px;
}
.badge {
position: absolute;
top: -5px;
border-radius: 50%;
right: -10px;
}
}

View File

View File

@@ -0,0 +1,10 @@
<!DOCTYPE html>
<html lang="{{ with site.Params.LanguageCode }}{{ . }}{{ else }}fr{{ end }}">
{{- partial "head.html" . -}}
<body>
{{- partial "preloader.html" . -}}
{{- partial "header.html" . -}}
{{- block "main" . }}{{- end }}
{{- partial "footer.html" . -}}
</body>
</html>

View File

@@ -0,0 +1,33 @@
{{ define "main" }}
{{ partial "page-title.html" . }}
<section class="section pt-0">
<div class="container">
<div class="row">
{{ $paginator := .Paginate .Data.Pages }}
{{ range $paginator.Pages }}
<div class="col-lg-8 mx-auto mb-5">
<article class="card rounded-0 border-0">
{{ partial "image.html" (dict "Src" .Params.Image "Alt" .Title "Class" "card-img-top rounded-top-0") }}
<div class="card-body px-0">
<a href="{{ .Permalink }}" class="h4 d-block">{{ .Title | markdownify }}</a>
<ul class="list-inline">
<li class="list-inline-item"><i class="ti-pencil-alt text-primary mr-2"></i> By {{ .Params.Author }}</li>
<li class="list-inline-item"><i class="ti-calendar text-primary mr-2"></i>
{{ .PublishDate.Format "02 Jan, 2006" }}</li>
</ul>
<p>{{ .Summary }}</p>
<a href="{{ .Permalink }}" class="btn btn-sm btn-outline-primary">Read More</a>
</div>
</article>
</div>
{{ end }}
</div>
{{ template "_internal/pagination.html" . }}
</div>
</section>
{{ partial "cta.html" . }}
{{ end }}

View File

@@ -0,0 +1,26 @@
{{ define "main" }}
<section class="section pt-0">
<div class="container">
<div class="row">
<div class="col-lg-8 mx-auto">
<article>
<h2>{{ .Title }}</h2>
<ul class="list-inline mb-4">
<li class="list-inline-item"><i class="ti-pencil-alt text-primary mr-2"></i> By {{ .Params.Author }}</li>
<li class="list-inline-item"><i class="ti-calendar text-primary mr-2"></i>
{{ .PublishDate.Format "02 Jan, 2006" }}</li>
</ul>
{{ partial "image.html" (dict "Src" .Params.Image "Alt" .Title "Class" "img-fluid w-100 mb-4") }}
<div class="content">
{{.Content}}
</div>
</article>
</div>
</div>
</div>
</section>
{{ partial "cta.html" . }}
{{ end }}

View File

@@ -0,0 +1,19 @@
{{ define "main" }}
{{ partial "page-title.html" . }}
<section class="section pt-0">
<div class="container">
<div class="row">
<div class="col-12 mb-5">
<div class="content">
{{.Content}}
</div>
</div>
</div>
</div>
</section>
{{ partial "cta.html" . }}
{{ end }}

View File

@@ -0,0 +1,52 @@
{{ define "main" }}
{{ partial "page-title.html" . }}
{{ if site.Data.contact.contact.enable }}
<section class="section pt-0">
<div class="container">
<div class="row">
<div class="col-lg-4 col-sm-6">
{{ with site.Data.contact.contact.office }}
<h3 class="mb-4">{{ .title | markdownify }}</h3>
<p>{{ .content | markdownify }}</p>
{{ end }}
<ul class="list-unstyled">
<li class="mb-3"><a class="text-color" href="tel:{{ site.Params.mobile }}"><i
class="ti-mobile text-primary mr-2"></i>
{{ site.Params.mobile }}</a></li>
<li class="mb-3"><a class="text-color" href="mailto:{{ site.Params.email }}"><i
class="ti-email text-primary mr-2"></i>{{ site.Params.email }}</a></li>
<li class="mb-3"><i class="ti-location-pin text-primary mr-2"></i>{{ site.Params.location }}
</li>
</ul>
</div>
<div class="col-lg-3 offset-lg-1 col-sm-6">
{{ with site.Data.contact.contact.opennigHour }}
<h3 class="mb-4">{{ .title | markdownify }}</h3>
<ul class="list-unstyled">
{{ range .dayTimeList }}
<li class="mb-3">{{ .dayTime | markdownify }}</li>
{{ end }}
</ul>
{{ end }}
</div>
</div>
</div>
</section>
{{ end }}
{{ if site.Data.contact.map.enable }}
<section class="section pt-0">
<div class="container">
<div id="map_canvas">
<iframe width="100%" height="100%" frameborder="0" allowfullscreen allow="geolocation" src="//umap.openstreetmap.fr/fr/map/rennes_1281988?scaleControl=false&miniMap=false&scrollWheelZoom=false&zoomControl=true&editMode=disabled&moreControl=true&searchControl=null&tilelayersControl=null&embedControl=null&datalayersControl=true&onLoadPanel=none&captionBar=false&captionMenus=true"></iframe><p><a href="//umap.openstreetmap.fr/fr/map/rennes_1281988?scaleControl=false&miniMap=false&scrollWheelZoom=true&zoomControl=true&editMode=disabled&moreControl=true&searchControl=null&tilelayersControl=null&embedControl=null&datalayersControl=true&onLoadPanel=none&captionBar=false&captionMenus=true">Voir en plein écran</a></p>
</div>
</div>
</section>
{{ end }}
{{ partial "cta.html" . }}
{{ end }}

View File

@@ -0,0 +1,245 @@
{{ define "main" }}
<!-- banner -->
{{ if site.Data.homepage.banner.enable }}
{{ with site.Data.homepage.banner }}
<section class="section-sm">
<div class="container">
<div class="row justify-content-between align-items-center">
<div class="col-lg-5 col-md-6 order-2 order-md-1">
<h1>{{ .title | markdownify }}</h1>
<p>{{ .content | markdownify }}</p>
{{ if .button.enable }}
{{ with .button }}
<a href="{{ .link }}" class="btn btn-primary mr-3">{{ .label }}</a>
{{ end }}
{{ end }}
{{ if .video.enable }}
{{ with .video }}
<a data-toggle="modal" data-src="{{ .videoURL | safeURL }}" data-target="#videoModal"
class="text-color video-modal"><i
class="ti-control-play bg-gradient hover-shadow btn-play mr-2"></i><span>Watch Video</span></a>
{{ end }}
<!-- Modal -->
<div class="modal fade" id="videoModal" tabindex="-1" role="dialog" aria-hidden="true">
<div class="modal-dialog modal-dialog-centered" role="document">
<div class="modal-content border-0 rounded-0">
<iframe width="560" height="315" src="" id="video" frameborder="0"
allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture"
allowfullscreen></iframe>
</div>
</div>
</div>
{{ end }}
</div>
<div class="col-lg-7 col-md-6 order-1 order-lg-2">
{{ partial "image.html" (dict "Src" .image "Alt" "image" "Class" "img-fluid") }}
</div>
</div>
</div>
</section>
{{ end }}
{{ end }}
<!-- /banner -->
<!-- about -->
{{ if site.Data.homepage.about.enable }}
{{ with site.Data.homepage.about }}
<section class="section">
<div class="container">
<div class="row justify-content-around align-items-center">
<div class="col-lg-5 col-md-6">
{{ partial "image.html" (dict "Src" .image "Alt" "image" "Class" "img-fluid") }}
</div>
<div class="col-md-6 col-lg-5">
<h2>{{ .title | markdownify }}</h2>
<p>{{ .content | markdownify }}</p>
</div>
</div>
</div>
</section>
{{ end }}
{{ end }}
<!-- /about -->
{{ if site.Data.homepage.cta.enable }}
{{ partial "cta.html" . }}
{{ end }}
<!-- material -->
{{ if site.Data.homepage.material.enable }}
{{ with site.Data.homepage.material }}
<section class="section pb-0">
<div class="container">
<div class="row">
<div class="col-lg-6 mx-auto text-center">
<h2>{{ .title | markdownify }}</h2>
<p>{{ .subtitle | markdownify }}</p>
</div>
</div>
<div class="row">
{{ range .materialItem }}
<div class="col-lg-3 col-md-4 col-sm-6">
<div class="card border-0 text-center">
{{ partial "image.html" (dict "Src" .image "Alt" "material" "Class" "card-img-top border-0") }}
<div class="card-body">
<h4>{{ .title | markdownify }}</h4>
<p>{{ .content | markdownify }}</p>
</div>
</div>
</div>
{{ end }}
</div>
</div>
</section>
{{ end }}
{{ end }}
<!-- /material -->
<!-- advantage -->
{{ if site.Data.homepage.advantage.enable }}
{{ with site.Data.homepage.advantage }}
<section class="section pb-0">
<div class="container">
<div class="row align-items-center">
<div class="col-md-6">
<h2>{{ .title | markdownify }}</h2>
<p class="mb-4">{{ .subtitle | markdownify }}</p>
<ul class="list-unstyled" style="columns: 2;">
{{ range .advantageList }}
<li class="mb-3"><i class="ti-arrow-circle-right text-primary mr-2"></i>{{ .listItem }}</li>
{{ end }}
</ul>
</div>
<div class="col-md-6">
{{ partial "image.html" (dict "Src" .image "Alt" "image" "Class" "img-fluid") }}
</div>
</div>
</div>
</section>
{{ end }}
{{ end }}
<!-- /advantage -->
<!-- promo video -->
{{ if site.Data.homepage.video.enable }}
{{ with site.Data.homepage.video }}
<section class="section pb-0">
<div class="container">
<div class="row align-items-center justify-content-between">
<div class="col-lg-5 col-md-6">
<div class="img-border rounded mb-5 mb-md-0">
{{ partial "image.html" (dict "Src" .videoThumb "Alt" "video thumb" "Class" "img-fluid rounded") }}
<a data-toggle="modal" data-src="{{ .videoURL | safeURL }}" data-target="#videoModal2"
class="text-color video-modal content-center"><i class="ti-control-play bg-gradient btn-play-lg"></i></a>
<!-- Modal -->
<div class="modal fade" id="videoModal2" tabindex="-1" role="dialog" aria-hidden="true">
<div class="modal-dialog modal-dialog-centered" role="document">
<div class="modal-content border-0 rounded-0">
<iframe width="560" height="315" src="" id="video2" frameborder="0"
allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture"
allowfullscreen></iframe>
</div>
</div>
</div>
</div>
</div>
<div class="col-md-6">
<h2>{{ .title | markdownify }}</h2>
<p>{{ .content | markdownify }}</p>
</div>
</div>
</div>
</section>
{{ end }}
{{ end }}
<!-- /promo video -->
<!-- products -->
{{ if site.Data.homepage.products.enable }}
<section class="section pb-0">
<div class="container">
<div class="row">
<div class="col-12 text-center mb-4">
{{ with site.Data.homepage.products }}
<h2>{{ .title | markdownify }}</h2>
{{ end }}
</div>
{{ range first 6 (where site.RegularPages "Type" "products") }}
<div class="col-lg-4 col-sm-6 mb-4">
<div class="card border-0 text-center">
<a href="{{ .Permalink }}">
{{ range first 1 .Params.Images }}
{{ partial "image.html" (dict "Src" .image "Alt" .Title "Class" "card-img-top") }}
{{ end }}
</a>
<div class="card-body">
<a href="{{ .Permalink }}" class="h4">{{ .Title }}</a>
<p>{{ .Params.Description }}</p>
<div class="mb-4">
{{ if .Params.PriceBefore }}
<s>{{ site.Params.currencySymbol }}{{ .Params.PriceBefore }}</s>
{{ end }}
<span class="lead text-primary">{{ site.Params.currencySymbol }}{{ .Params.Price }}</span>
</div>
<!-- <button class="snipcart-add-item btn btn-sm btn-outline-primary" data-item-id="{{ .Params.ProductID }}"
data-item-name="{{ .Title }}" {{ range first 1 .Params.Images }} data-item-image="{{ .image | absURL }}"
{{ end }} data-item-price="{{ .Params.Price }}" data-item-url="{{ .Permalink }}" data-item-description="{{ .Description }}"> -->
<button class="snipcart-add-item btn btn-primary" data-item-id="{{ .Params.ProductID }}"
data-item-name="{{ .Title }}" {{ range first 1 .Params.Images }} data-item-image="{{ .image | absURL }}"
{{ end }} data-item-price="{{ .Params.Price }}" data-item-url="{{ .Permalink }}" data-item-description="{{ .Description }}">
Ajouter au Panier
</button>
</div>
</div>
</div>
{{ end }}
</div>
</div>
</section>
{{ end }}
<!-- /products -->
<!-- testimonial -->
{{ if site.Data.homepage.testimonial.enable }}
{{ with site.Data.homepage.testimonial }}
<section class="section">
<div class="container">
<div class="row">
<div class="col-12 text-center">
<h2>{{ .title | markdownify }}</h2>
</div>
</div>
<div class="row testimonial-slider">
{{ range .testimonialItem }}
<div class="col-4">
<div class="card border-primary text-center">
<div class="card-body">
{{ partial "image.html" (dict "Src" .image "Alt" .name "Class" "client-img") }}
<p class="quoted">{{ .content | markdownify }}</p>
<h6 class="font-weight-medium">{{ .name | markdownify }}</h6>
<small>{{ .designation | markdownify }}</small>
<ul class="list-inline rating {{ .rating | lower }} mt-3">
<li class="list-inline-item mx-0"><i class="ti-star"></i></li>
<li class="list-inline-item mx-0"><i class="ti-star"></i></li>
<li class="list-inline-item mx-0"><i class="ti-star"></i></li>
<li class="list-inline-item mx-0"><i class="ti-star"></i></li>
<li class="list-inline-item mx-0"><i class="ti-star"></i></li>
</ul>
</div>
</div>
</div>
{{ end }}
</div>
</div>
</section>
{{ end }}
{{ end }}
<!-- /testimonial -->
{{ if site.Data.homepage.cta.enable }}
{{ partial "cta.html" . }}
{{ end }}
{{ end }}

View File

@@ -0,0 +1,11 @@
<form id="contact-form">
<input type="text" required class="form-control mb-2" id="name" name="name" placeholder="Nom" />
<input type="email" required class="form-control mb-2" id="email" name="email" placeholder="Email" />
<textarea name="message" required class="form-control mb-2" id="message" placeholder="Sujet" rows="7"></textarea>
<input type="hidden" class="form-control mb-2" id="Origin" name="Origin" value="https://shop.delmar.bzh" />
<button type="submit" value="send" class="btn btn-block btn-outline-primary rounded">Envoyer</button>
<div class="overlay">
<div>
</div>
</div>
</form>

View File

@@ -0,0 +1,23 @@
<!-- call to action -->
{{ if site.Data.homepage.cta.enable }}
{{ with site.Data.homepage.cta }}
<section class="py-4 bg-gradient position-relative">
{{ partial "image.html" (dict "Src" .overlayImage "Alt" "image" "Class" "img-fluid overlay-image") }}
<div class="container">
<div class="row">
<div class="col-lg-8 col-md-7">
<h2 class="text-white">{{ .title | markdownify }}</h2>
<p class="text-white">{{ .content | markdownify }}</p>
{{ with .button }}
<a href="{{ .link | absURL }}" class="btn btn-light">{{ .label }}</a>
{{ end }}
</div>
<div class="col-lg-4 col-md-5 position-relative">
{{ partial "image.html" (dict "Src" .image "Alt" "image" "Class" "cta-image") }}
</div>
</div>
</div>
</section>
{{ end }}
{{ end }}
<!-- /call to action -->

View File

@@ -0,0 +1,119 @@
<footer class="section pb-0">
<div class="container">
<div class="row border-bottom pb-5 justify-content-between">
<div class="col-12 text-center section-sm">
<a href="{{ site.BaseURL }}">
{{ partial "image.html" (dict "Src" site.Params.logo_footer "Alt" site.Title "Class" "img-fluid") }}
</a>
</div>
<div class="col-md-3 col-sm-6">
<h5 class="font-weight-medium mb-4">{{i18n `important_link`}}</h5>
<ul class="list-unstyled">
{{ range site.Menus.footer }}
<li class="mb-3"><a class="text-color" href="{{ .URL | absURL }}">{{ .Name }}</a></li>
{{ end }}
</ul>
</div>
<div class="col-md-4 col-sm-6">
<h5 class="font-weight-medium mb-4">{{i18n `connect_us`}}</h5>
<ul class="list-unstyled mb-5">
<li class="mb-3"><a class="text-color" href="tel:{{ site.Params.mobile }}"><i
class="ti-mobile text-primary mr-2"></i>
{{ site.Params.mobile }}</a></li>
<li class="mb-3"><a class="text-color" href="mailto:{{ site.Params.email }}"><i
class="ti-email text-primary mr-2"></i> {{ site.Params.email }}</a></li>
<li class="mb-3"><i class="ti-location-pin text-primary mr-2"></i> {{ site.Params.location }}
</li>
</ul>
<!-- Social Icons -->
<ul class="list-inline">
{{ range site.Params.social }}
<li class="list-inline-item"><a href="{{ .link | safeURL }}"><i class="{{ .icon }} text-primary"></i></a></li>
{{ end }}
</ul>
</div>
<div class="col-lg-4 col-md-5">
<h5 class="font-weight-medium mb-4">Contact us</h5>
{{- partial "contact-form.html" . -}}
</div>
</div>
<div class="row">
<div class="col-12 text-center py-4">
{{ site.Params.copyright | markdownify }}
</div>
</div>
</div>
</footer>
{{ with site.Params.snipcartApiKey }}
{{ "<!-- Snipcart -->" | safeHTML }}
<div id="snipcart" data-api-key="{{ . }}" hidden></div>
{{ end }}
{{ "<!-- Google Maps API -->" | safeHTML }}
<script src="{{ site.Params.gmapAPI | absURL }}"></script>
{{ "<!-- JS Plugins -->" | safeHTML }}
{{ range site.Params.plugins.js}}
<script src="{{ .link | absURL }}"></script>
{{ end }}
{{ "<!-- Main Script -->" | safeHTML }}
{{ $script := resources.Get "js/script.js" | minify}}
<script src="{{ $script.Permalink }}"></script>
{{ with site.Params.googleAnalyticsID }}
{{ "<!-- Google Analytics -->" | safeHTML }}
<script>
(function (i, s, o, g, r, a, m) {
i['GoogleAnalyticsObject'] = r;
i[r] = i[r] || function () {
(i[r].q = i[r].q || []).push(arguments)
}, i[r].l = 1 * new Date();
a = s.createElement(o),
m = s.getElementsByTagName(o)[0];
a.async = 1;
a.src = g;
m.parentNode.insertBefore(a, m)
})(window, document, 'script', '//www.google-analytics.com/analytics.js', 'ga');
ga('create', '{{ . }}', 'auto');
ga('send', 'pageview');
</script>
{{ end }}
{{ if site.Params.rating.enable }}
{{ "<!-- Product Ratings -->" | safeHTML }}
<script>
(function (d, t, e, m) {
// Async Rating-Widget initialization
window.RW_Async_Init = function () {
RW.init({
huid: "{{ site.Params.rating.websiteID }}",
uid: "{{ site.Params.rating.publicKey }}",
source: "website",
options: {
"size": "medium",
"style": "oxygen",
"isDummy": false
}
});
RW.render();
};
// Append Rating-Widget JavaScript library
var rw, s = d.getElementsByTagName(e)[0],
id = "rw-js",
l = d.location,
ck = "Y" + t.getFullYear() +
"M" + t.getMonth() + "D" + t.getDate(),
p = l.protocol,
f = ((l.search.indexOf("DBG=") > -1) ? "" : ".min"),
a = ("https:" == p ? "secure." + m + "js/" : "js." + m);
if (d.getElementById(id)) return;
rw = d.createElement(e);
rw.id = id;
rw.async = true;
rw.type = "text/javascript";
rw.src = p + "//" + a + "external" + f + ".js?ck=" + ck;
s.parentNode.insertBefore(rw, s);
}(document, new Date(), "script", "rating-widget.com/"));
</script>
{{ end }}

View File

@@ -0,0 +1,34 @@
<head>
<meta charset="UTF-8">
<title>{{ .Title }}</title>
{{ "<!-- Mobile Responsive Meta -->" | safeHTML }}
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="{{ with .Description }}{{ . }}{{ else }}{{ with site.Params.description }}{{ . }}{{ end }}{{ end }}">
{{ with site.Params.author }}<meta name="author" content="{{ . }}">{{ end }}
{{ hugo.Generator }}
<!-- theme meta -->
<meta name="theme-name" content="hargo-hugo" />
{{ "<!-- Plugins -->" | safeHTML }}
{{ range site.Params.plugins.css }}
<link rel="stylesheet" href="{{ .link | absURL }}">
{{ end }}
{{ with site.Params.snipcartApiKey }}
{{ "<!-- Snipcart -->" | safeHTML }}
<link rel="preconnect" href="https://app.snipcart.com/">
<link rel="preconnect" href="https://cdn.snipcart.com/">
<link rel="stylesheet" href="https://cdn.snipcart.com/themes/v3.0.28/default/snipcart.css">
<script async src="https://cdn.snipcart.com/themes/v3.0.28/default/snipcart.js"></script>
{{ end }}
{{ "<!-- Main Stylesheet -->" | safeHTML }}
{{ $styles := resources.Get "scss/style.scss" | toCSS | minify }}
<link rel="stylesheet" href="{{ $styles.Permalink }}" media="screen">
{{ "<!-- Favicon -->" | safeHTML }}
<link rel="shortcut icon" href="{{ `favicon.png` | absURL }} " type="image/x-icon">
<link rel="icon" href="{{ `images/favicon.png` | absURL }} " type="image/x-icon">
</head>

View File

@@ -0,0 +1,42 @@
{{ "<!-- navigation -->" | safeHTML }}
<header class="sticky-top navigation">
<div class="container">
<!-- navbar -->
<nav class="navbar navbar-expand-lg navbar-light">
<a class="navbar-brand" href="{{ site.BaseURL }}">
{{ partial "image.html" (dict "Src" site.Params.logo "Alt" site.Title "Class" "img-fluid") }}
</a>
<button class="navbar-toggler border-0" type="button" data-toggle="collapse" data-target="#navigation">
<i class="ti-menu"></i>
</button>
<div class="collapse navbar-collapse text-center" id="navigation">
<ul class="navbar-nav mx-auto">
<li class="nav-item">
<a class="nav-link" href="{{ site.BaseURL }}">{{ with site.Params.Home }} {{ . }} {{ end }}</a>
</li>
{{ range site.Menus.main }}
{{ if .HasChildren }}
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
{{ .Name }}
</a>
<div class="dropdown-menu">
{{ range .Children }}
<a class="dropdown-item" href="{{ .URL | absURL }}">{{ .Name }}</a>
{{ end }}
</div>
</li>
{{ else }}
<li class="nav-item">
<a class="nav-link" href="{{ .URL | absURL }}">{{ .Name }}</a>
</li>
{{ end }}
{{ end }}
</ul>
</div>
<button class="cart snipcart-summary"><a href="" class="snipcart-checkout text-dark"><i class="ti-shopping-cart"></i><span class="badge badge-primary snipcart-items-count"></span></a></button>
</nav>
</div>
</header>
{{ "<!-- /navigation -->" | safeHTML }}

View File

@@ -0,0 +1,15 @@
<section class="section-sm">
<div class="container">
<div class="row">
<div class="col-12">
<h2>{{ .Title }}</h2>
<nav aria-label="breadcrumb">
<ol class="breadcrumb bg-transparent p-0">
<li class="breadcrumb-item"><a class="text-dark" href="{{ site.BaseURL }}">{{ site.Params.home }}</a></li>
<li class="breadcrumb-item active" aria-current="page">{{ .Title }}</li>
</ol>
</nav>
</div>
</div>
</div>
</section>

View File

@@ -0,0 +1,9 @@
{{ if site.Params.preloader.enable }}
{{ "<!-- preloader start -->" | safeHTML }}
<div class="preloader">
{{ with site.Params.preloader.preloader }}
{{ partial "image.html" (dict "Src" . "Alt" "preloader") }}
{{ end }}
</div>
{{ "<!-- preloader end -->" | safeHTML }}
{{ end }}

View File

@@ -0,0 +1,48 @@
<!-- Bootstrap scripts -->
{{ $bootstrap := resources.Get "js/bootstrap.js" }}
{{ $params := dict }}
{{ $sourceMap := cond hugo.IsProduction "" "inline" }}
{{ $opts := dict "sourceMap" $sourceMap "target" "es2018" "params" $params }}
{{ $bootstrap = $bootstrap | js.Build $opts }}
{{ if hugo.IsProduction }}
{{ $bootstrap = $bootstrap | fingerprint "sha512" }}
{{ end }}
<script crossorigin="anonymous" defer {{ if hugo.IsProduction }}integrity="{{ $bootstrap.Data.Integrity }}"{{end}} type="application/javascript">{{$bootstrap.Content | safeJS}}</script>
<!-- JS Plugins + Main script -->
{{ $scripts := slice }}
{{ range site.Params.plugins.js }}
{{ if findRE "^http" .link }}
<script
src="{{ .link | relURL }}"
type="application/javascript"
{{ .attributes | safeHTMLAttr }}></script>
{{ else }}
{{ $scripts = $scripts | append (resources.Get .link) }}
{{ end }}
{{ end }}
<!-- main script -->
{{ $scripts = $scripts | append (resources.Get "js/script.js") }}
{{ $scripts = $scripts | resources.Concat "js/scripts.js" }}
{{ if hugo.IsProduction }}
{{ $scripts = $scripts | fingerprint "sha512" }}
{{ end }}
<script crossorigin="anonymous" defer {{ if hugo.IsProduction }}integrity="{{ $scripts.Data.Integrity }}"{{end}} type="application/javascript">{{$scripts.Content | safeJS}}</script>
<!-- font family -->
{{ $pf:= site.Params.variables.font_primary }}
{{ $sf:= site.Params.variables.font_secondary }}
<script type="application/javascript">
WebFont.load({
google: {
api: 'https://fonts.googleapis.com/css2',
families: ['{{$pf | default `Lato:wght@400`}}{{if not $sf}}&display=swap{{end}}'{{with $sf}},'{{. | default `Lato:wght@400`}}&display=swap'{{end}}],
version: 2
},
active: () => {sessionStorage.fontsLoaded = true}
});
</script>

View File

@@ -0,0 +1,39 @@
<!-- DNS preconnect -->
<meta http-equiv="x-dns-prefetch-control" content="on" />
<link rel="preconnect" href="//ajax.googleapis.com" />
<link
rel="preconnect"
href="https://fonts.gstatic.com"
crossorigin="anonymous" />
<link rel="preconnect" href="https://use.fontawesome.com" crossorigin />
<link rel="preconnect" href="//cdnjs.cloudflare.com" />
<link rel="preconnect" href="//www.googletagmanager.com" />
<link rel="preconnect" href="//www.google-analytics.com" />
<link rel="dns-prefetch" href="https://fonts.gstatic.com" />
<link rel="dns-prefetch" href="https://use.fontawesome.com" />
<link rel="dns-prefetch" href="//ajax.googleapis.com" />
<link rel="dns-prefetch" href="//cdnjs.cloudflare.com" />
<link rel="dns-prefetch" href="//www.googletagmanager.com" />
<link rel="dns-prefetch" href="//www.google-analytics.com" />
<link rel="dns-prefetch" href="//fonts.googleapis.com" />
<link rel="dns-prefetch" href="//connect.facebook.net" />
<link rel="dns-prefetch" href="//platform.linkedin.com" />
<link rel="dns-prefetch" href="//platform.twitter.com" />
<!-- plugins + stylesheet -->
{{ $styles := slice }}
{{ range site.Params.plugins.css }}
{{ if findRE "^http" .link }}
<link
crossorigin="anonymous"
media="all"
rel="stylesheet"
href="{{ .link | relURL }}"
{{ .attributes | safeHTMLAttr }} />
{{ else }}
{{ $styles = $styles | append (resources.Get .link) }}
{{ end }}
{{ end }}
{{ $styles := $styles | append (resources.Get "scss/style.scss" | resources.ExecuteAsTemplate "style.scss" . | toCSS) }}
{{ $styles := $styles | resources.Concat "/css/style.css" | fingerprint "sha512" }}
<style type="text/css">{{$styles.Content | safeCSS}}</style>

View File

@@ -0,0 +1,53 @@
{{ define "main" }}
{{ partial "page-title.html" . }}
{{ if site.Data.contact.contact.enable }}
<section class="section pt-0">
<div class="container">
<div class="row">
<div class="col-12 mb-5">
<div class="content">
{{.Content}}
</div>
</div>
<div class="col-lg-4">
<div class="sticky-top top-100">
<h3 class="mb-4">Ask Your Question</h3>
<form action="{{ site.Params.contact.formAction }}" method="POST">
<input type="text" class="form-control mb-2" id="name" name="name" placeholder="Your Name">
<input type="email" class="form-control mb-2" id="email" name="email" placeholder="Your Email">
<textarea name="message" id="message" class="form-control mb-2" placeholder="Your Message"></textarea>
<button type="submit" value="send" class="btn btn-block btn-outline-primary rounded">Send Now</button>
</form>
</div></div>
{{ with site.Data.faq}}
<div class="col-lg-7 offset-lg-1">
<div id="accordion" class="mt-5">
{{ $.Scratch.Set "counter" 0 }}
{{ range .faqItem }}
{{ $.Scratch.Set "counter" (add ($.Scratch.Get "counter") 1) }}
{{ "<!-- accordion item -->" | safeHTML }}
<div class="card mb-1 rounded-0 border-0">
<div class="card-header rounded-0 bg-white border p-0 border-0">
<a class="card-link h4 d-flex tex-dark mb-0 p-2 justify-content-between" data-toggle="collapse"
href="#collapse{{$.Scratch.Get `counter`}}">
<span>{{ .title | markdownify }}</span> <div class="ml-3"><i class="ti-plus h6 text-primary text-right border p-2 d-inline-block border-primary"></i></div>
</a>
</div>
<div id="collapse{{$.Scratch.Get `counter`}}" class="collapse" data-parent="#accordion">
<div class="card-body p-2 font-secondary text-color">{{ .content | markdownify }}</div>
</div>
</div>
{{ end }}
</div>
</div>
{{ end }}
</div>
</div>
</section>
{{ end }}
{{ partial "cta.html" . }}
{{ end }}

View File

@@ -0,0 +1,40 @@
{{ define "main" }}
{{ partial "page-title.html" . }}
<section class="section pt-0">
<div class="container">
<div class="row">
{{ range .Data.Pages }}
<div class="col-lg-4 col-sm-6 mb-4">
<div class="card border-0 text-center">
<a href="{{ .Permalink }}">
{{ range first 1 .Params.Images }}
{{ partial "image.html" (dict "Src" .image "Alt" .Title "Class" "card-img-top") }}
{{ end }}
</a>
<div class="card-body">
<a href="{{ .Permalink }}" class="h4">{{ .Title }}</a>
<p>{{ .Params.Description }}</p>
<div class="mb-4">
{{ if .Params.PriceBefore }}
<s>{{ site.Params.currencySymbol }}{{ .Params.PriceBefore }}</s>
{{ end }}
<span class="lead text-primary">{{ site.Params.currencySymbol }}{{ .Params.Price }}</span>
</div>
<button class="snipcart-add-item btn btn-sm btn-outline-primary" data-item-id="{{ .Params.ProductID }}"
data-item-name="{{ .Title }}" {{ range first 1 .Params.Images }} data-item-image="{{ .image | absURL }}"
{{ end }} data-item-price="{{ .Params.Price }}" data-item-url="{{ .Permalink }}" data-item-description="{{ .Description }}">
Ajouter au Panier
</button>
</div>
</div>
</div>
{{ end }}
</div>
</div>
</section>
{{ partial "cta.html" . }}
{{ end }}

View File

@@ -0,0 +1,64 @@
{{ define "main" }}
{{ partial "page-title.html" . }}
<section class="section pt-0">
<div class="container">
<div class="row">
<div class="col-lg-5 mb-4 mb-lg-0">
<!-- product image slider -->
<div class="product-slider">
{{ range .Params.Images }}
<div data-image="{{ .image | absURL }}">
{{ partial "image.html" (dict "Src" .image "Alt" "product-img" "Class" "img-fluid w-100") }}
</div>
{{ end }}
</div>
</div>
<div class="col-lg-5 offset-lg-1">
<h4 class="font-weight-medium">{{ .Title }}</h4>
<!-- rating star -->
{{ if site.Params.rating.enable }}
<div class="rw-ui-container"></div>
{{ end }}
<div class="my-4">
{{ if .Params.PriceBefore }}
<s>{{ site.Params.currencySymbol }}{{ .Params.PriceBefore }}</s>
{{ end }}
<span class="lead text-primary font-weight-medium">{{ site.Params.currencySymbol }}{{ .Params.Price }}</span>
</div>
<h5>{{i18n `shortDescriptionTitle`}}</h5>
<p>{{ .Params.ShortDescription | markdownify }}</p>
<button class="snipcart-add-item btn btn-primary" data-item-id="{{ .Params.ProductID }}"
data-item-name="{{ .Title }}" {{ range first 1 .Params.Images }} data-item-image="{{ .image | absURL }}"
{{ end }} data-item-price="{{ .Params.Price }}" data-item-url="{{ .Permalink }}" data-item-description="{{ .Description }}">
Ajouter au Panier
</button>
</div>
<div class="col-12 mt-5">
<ul class="nav nav-tabs border-bottom-0" id="myTab" role="tablist">
<li class="nav-item mr-3">
<a class="nav-link active" id="description-tab" data-toggle="tab" href="#description" role="tab"
aria-controls="description" aria-selected="true">Description</a>
</li>
<li class="nav-item">
<a class="nav-link" id="reviews-tab" data-toggle="tab" href="#reviews" role="tab" aria-controls="reviews"
aria-selected="false">Avis</a>
</li>
</ul>
<div class="tab-content" id="myTabContent">
<div class="tab-pane fade show active" id="description" role="tabpanel" aria-labelledby="description-tab">
<div class="content">{{ .Content }}</div>
</div>
<div class="tab-pane fade" id="reviews" role="tabpanel" aria-labelledby="reviews-tab">
{{ template "_internal/disqus.html" . }}
</div>
</div>
</div>
</div>
</div>
</section>
{{ partial "cta.html" . }}
{{ end }}

View File

@@ -0,0 +1,16 @@
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript
AddOutputFilterByType DEFLATE image/jpg
AddOutputFilterByType DEFLATE image/png
AddOutputFilterByType DEFLATE image/gif
AddOutputFilterByType DEFLATE image/jpeg
AddOutputFilterByType DEFLATE image/svg+xml
</IfModule>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,80 @@
window.marker = null;
function initialize() {
var map;
var latitude = $('#map_canvas').attr('data-latitude');
var longitude = $('#map_canvas').attr('data-longitude');
var mapMarker = $('#map_canvas').attr('data-marker');
var mapMarkerName = $('#map_canvas').attr('data-marker-name');
var nottingham = new google.maps.LatLng(latitude, longitude);
var style = [{
"featureType": "road",
"elementType": "geometry",
"stylers": [{
"lightness": 100
},
{
"visibility": "simplified"
}
]
},
{
"featureType": "water",
"elementType": "geometry",
"stylers": [{
"visibility": "on"
},
{
"color": "#C6E2FF"
}
]
},
{
"featureType": "poi",
"elementType": "geometry.fill",
"stylers": [{
"color": "#C5E3BF"
}]
},
{
"featureType": "road",
"elementType": "geometry.fill",
"stylers": [{
"color": "#D1D1B8"
}]
}
];
var mapOptions = {
center: nottingham,
mapTypeId: google.maps.MapTypeId.ROADMAP,
backgroundColor: "#000",
zoom: 15,
panControl: false,
zoomControl: true,
mapTypeControl: false,
scaleControl: false,
streetViewControl: false,
overviewMapControl: false,
zoomControlOptions: {
style: google.maps.ZoomControlStyle.LARGE
}
}
map = new google.maps.Map(document.getElementById('map_canvas'), mapOptions);
var mapType = new google.maps.StyledMapType(style, {
name: "Grayscale"
});
map.mapTypes.set('grey', mapType);
map.setMapTypeId('grey');
var marker_image = mapMarker;
var pinIcon = new google.maps.MarkerImage(marker_image, null, null, null, new google.maps.Size(45, 45));
marker = new google.maps.Marker({
position: nottingham,
map: map,
icon: pinIcon,
title: mapMarkerName
});
}
var map = document.getElementById('map_canvas');
if (map != null) {
google.maps.event.addDomListener(window, 'load', initialize);
}

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
.slick-list,.slick-slider,.slick-track{position:relative;display:block}.slick-loading .slick-slide,.slick-loading .slick-track{visibility:hidden}.slick-slider{box-sizing:border-box;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-touch-callout:none;-khtml-user-select:none;-ms-touch-action:pan-y;touch-action:pan-y;-webkit-tap-highlight-color:transparent}.slick-list{overflow:hidden;margin:0;padding:0}.slick-list:focus{outline:0}.slick-list.dragging{cursor:pointer;cursor:hand}.slick-slider .slick-list,.slick-slider .slick-track{-webkit-transform:translate3d(0,0,0);-moz-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0);-o-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.slick-track{top:0;left:0;margin-left:auto;margin-right:auto}.slick-track:after,.slick-track:before{display:table;content:''}.slick-track:after{clear:both}.slick-slide{display:none;float:left;height:100%;min-height:1px}[dir=rtl] .slick-slide{float:right}.slick-slide img{display:block}.slick-slide.slick-loading img{display:none}.slick-slide.dragging img{pointer-events:none}.slick-initialized .slick-slide{display:block}.slick-vertical .slick-slide{display:block;height:auto;border:1px solid transparent}.slick-arrow.slick-hidden{display:none}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 229 KiB

File diff suppressed because one or more lines are too long