Start repo
This commit is contained in:
15
app/templates/_flash_msgs.html
Normal file
15
app/templates/_flash_msgs.html
Normal file
@@ -0,0 +1,15 @@
|
||||
<div class="msginfo">
|
||||
{# on affiche les messages d'erreurs puis les messages de succes #}
|
||||
{% for categorie in ['error', 'success'] %}
|
||||
{% with msgs = get_flashed_messages(category_filter=[categorie]) %}
|
||||
{% if msgs %}
|
||||
<div class="flashed {{ categorie }}">
|
||||
{% for m in msgs %}
|
||||
<p class="center {{ categorie }}" >{{ m|safe }}</p>
|
||||
{% endfor %}
|
||||
</div>
|
||||
{% endif %}
|
||||
{% endwith %}
|
||||
{% endfor %}
|
||||
</div>
|
||||
|
||||
26
app/templates/_js_dropzone.html
Normal file
26
app/templates/_js_dropzone.html
Normal file
@@ -0,0 +1,26 @@
|
||||
|
||||
<script>
|
||||
window.onload = function () {
|
||||
|
||||
var dropzoneOptions = {
|
||||
dictDefaultMessage: 'Déposez vos fichiers ici!',
|
||||
paramName: "file",
|
||||
maxFilesize: 1024, // MB
|
||||
url: "/upload-dropzone",
|
||||
chunking: true,
|
||||
forceChunking: true,
|
||||
chunkSize: 1000000,
|
||||
autoProcessQueue: true,
|
||||
init: function () {
|
||||
this.on("success", function (file) {
|
||||
console.log("success > " + file.name);
|
||||
setTimeout(() => { this.removeFile(file); }, 2000);
|
||||
});
|
||||
}
|
||||
};
|
||||
var uploader = document.querySelector('#uploader');
|
||||
var myDropzone = new Dropzone(uploader, dropzoneOptions);
|
||||
console.log("Loaded");
|
||||
};
|
||||
</script>
|
||||
|
||||
62
app/templates/admin/_menu-edit.html
Normal file
62
app/templates/admin/_menu-edit.html
Normal file
@@ -0,0 +1,62 @@
|
||||
|
||||
<form class="sortable" action="/editmenu" method="POST">
|
||||
<div id="menu" class="list">
|
||||
{% for item in menu.keys() %}
|
||||
<div class="entry">
|
||||
{% if menu[item] is mapping %}
|
||||
|
||||
{{item }}
|
||||
|
||||
{% for subitem in menu[item].keys() %}
|
||||
<div class="entry n1">
|
||||
{{ subitem }}
|
||||
<input class="input" id="{{ item }}">
|
||||
</div>
|
||||
{% endfor %}
|
||||
|
||||
|
||||
{% else %}
|
||||
<div class="entry">
|
||||
{{ item }}
|
||||
<input class="input" value="{{ menu[item] }}">
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
</form>
|
||||
|
||||
<style>
|
||||
.n1 > div {
|
||||
background-color: lightblue;
|
||||
padd ing-left: 50px;
|
||||
}
|
||||
|
||||
.n2 > div {
|
||||
background-color: lightgreen;
|
||||
padding-left: 50px;
|
||||
}
|
||||
|
||||
.list {
|
||||
padding: 50px;
|
||||
}
|
||||
|
||||
</style>
|
||||
|
||||
<script src="/static/vendors/Sortable/Sortable.min.js"></script>
|
||||
|
||||
<script type="text/javascript">
|
||||
var elements = document.getElementsByClassName('list');
|
||||
|
||||
for (var i = 0; i < elements.length; i++) {
|
||||
|
||||
new Sortable(elements[i], {
|
||||
group: 'shared',
|
||||
animation: 150,
|
||||
fallbackOnBody: true,
|
||||
swapThreshold: 0.65
|
||||
});
|
||||
|
||||
}
|
||||
</script>
|
||||
|
||||
200
app/templates/casual.html
Normal file
200
app/templates/casual.html
Normal file
@@ -0,0 +1,200 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||
<meta name="description" content="">
|
||||
<meta name="author" content="">
|
||||
|
||||
<title> MaPagePerso </title>
|
||||
|
||||
<!-- Bootstrap core CSS -->
|
||||
<link href="static/vendor/bootstrap/css/bootstrap.min.css" rel="stylesheet">
|
||||
|
||||
<!-- Custom fonts for this template -->
|
||||
<link href="https://fonts.googleapis.com/css?family=Raleway:100,100i,200,200i,300,300i,400,400i,500,500i,600,600i,700,700i,800,800i,900,900i" rel="stylesheet">
|
||||
<link href="https://fonts.googleapis.com/css?family=Lora:400,400i,700,700i" rel="stylesheet">
|
||||
|
||||
<!-- Custom styles for this template -->
|
||||
<link href="static/css/business-casual.css" rel="stylesheet">
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
<h1 class="site-heading text-center text-white d-none d-lg-block">
|
||||
<span class="site-heading-upper text-primary mb-3">{{ mesinfos.texte_acceuil }}</span>
|
||||
<span class="site-heading-lower">{{ mesinfos.nom }}</span>
|
||||
</h1>
|
||||
|
||||
|
||||
<!-- Navigation -->
|
||||
<nav class="navbar navbar-expand-lg navbar-dark py-lg-4" id="mainNav">
|
||||
<div class="container">
|
||||
<a class="navbar-brand text-uppercase text-expanded font-weight-bold d-lg-none" href="#">{{ mesinfos.nom }}</a>
|
||||
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarResponsive" aria-controls="navbarResponsive" aria-expanded="false" aria-label="Toggle navigation">
|
||||
<span class="navbar-toggler-icon"></span>
|
||||
</button>
|
||||
|
||||
<div class="collapse navbar-collapse" id="navbarResponsive">
|
||||
<ul class="navbar-nav mx-auto">
|
||||
<li class="nav-item px-lg-4">
|
||||
<a class="nav-link text-uppercase text-expanded" href="#about">A propos</a>
|
||||
</li>
|
||||
|
||||
<li class="nav-item px-lg-4">
|
||||
<a class="nav-link text-uppercase text-expanded" href="#produits">Produits</a>
|
||||
</li>
|
||||
|
||||
<li class="nav-item px-lg-4">
|
||||
<a class="nav-link text-uppercase text-expanded" href="#contact">Contact</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
|
||||
<!-- Introduction -->
|
||||
<section class="page-section clearfix" id="about" >
|
||||
<div class="container">
|
||||
<div class="intro">
|
||||
<img class="intro-img img-fluid mb-3 mb-lg-0 rounded" src="static/img/header.jpg" alt="">
|
||||
<div class="intro-text left-0 text-center bg-faded p-5 rounded">
|
||||
<h2 class="section-heading mb-4">
|
||||
<span class="section-heading-upper">{{ mesinfos.nom }}</span>
|
||||
<span class="section-heading-lower">{{ mesinfos.titre_description}}</span>
|
||||
</h2>
|
||||
<p class="mb-3"> {{ mesinfos.description }} </p>
|
||||
|
||||
<div class="intro-button mx-auto">
|
||||
<a class="btn btn-primary btn-xl" href="#produits">{{ mesinfos.bouton_presentation }}</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
|
||||
<!-- Galerie -->
|
||||
<section class="page-section" id="produits">
|
||||
<div id="myCarousel" class="carousel slide" data-ride="carousel">
|
||||
|
||||
<div class="carousel-inner">
|
||||
{% for image in mesimages.values() %}
|
||||
{% if image['nom_fichier'] == "1.jpg" %}
|
||||
<div class="carousel-item active">
|
||||
<div class="container">
|
||||
<div class="carousel-caption">
|
||||
<div class="product-item">
|
||||
<div class="product-item-title d-flex">
|
||||
<div class="bg-faded p-5 d-flex mr-auto rounded">
|
||||
<h2 class="section-heading mb-0">
|
||||
<span class="section-heading-upper text-primary">{{ image.titre }}</span>
|
||||
<span class="section-heading-lower">{{ image.sous_titre }}</span>
|
||||
</h2>
|
||||
</div>
|
||||
</div>
|
||||
<img class="product-item-img mx-auto d-flex rounded img-fluid mb-5 mb-lg-0" src="/static/img/portfolio/fullsize/{{ image.nom_fichier }}" aalt="">
|
||||
<div class="product-item-description d-flex ml-auto">
|
||||
<div class="bg-faded p-5 rounded">
|
||||
<p class="mb-0 text-paragraph"> {{ image.description }} </p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% else %}
|
||||
|
||||
<div class="carousel-item">
|
||||
<div class="container">
|
||||
<div class="carousel-caption">
|
||||
<div class="product-item">
|
||||
<div class="product-item-title d-flex">
|
||||
<div class="bg-faded p-5 d-flex mr-auto rounded">
|
||||
<h2 class="section-heading mb-0">
|
||||
<span class="section-heading-upper text-primary">{{ image.titre }}</span>
|
||||
<span class="section-heading-lower"> {{ image.sous_titre }}</span>
|
||||
</h2>
|
||||
</div>
|
||||
</div>
|
||||
<img class="product-item-img mx-auto d-flex rounded img-fluid mb-3 mb-lg-0" src="/static/img/portfolio/fullsize/{{ image.nom_fichier }}" alt=""/ >
|
||||
<div class="product-item-description d-flex ml-auto">
|
||||
<div class="bg-faded p-5 rounded">
|
||||
<p class="mb-0"> {{ image.description }}</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</div>
|
||||
<a class="carousel-control-prev" href="#myCarousel" role="button" data-slide="prev">
|
||||
<span class="carousel-control-prev-icon" aria-hidden="true"></span>
|
||||
<span class="sr-only">Précédent</span>
|
||||
</a>
|
||||
<a class="carousel-control-next" href="#myCarousel" role="button" data-slide="next">
|
||||
<span class="carousel-control-next-icon" aria-hidden="true"></span>
|
||||
<span class="sr-only">Suivant</span>
|
||||
</a>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
|
||||
<section class="page-section cta" id="contact" >
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-xl-9 mx-auto">
|
||||
<div class="cta-inner text-center rounded">
|
||||
<h2 class="section-heading mb-5">
|
||||
<span class="section-heading-upper">{{ mesinfos.titre_contact }}</span>
|
||||
</h2>
|
||||
|
||||
<ul class="list-unstyled list-hours mb-5 text-left mx-auto">
|
||||
<li class="list-unstyled-item list-hours-item d-flex">
|
||||
{{ mesinfos.texte_contact }}
|
||||
<span class="ml-auto">{{ mesinfos.horraires }} </span>
|
||||
</li>
|
||||
</ul>
|
||||
<p class="address mb-5">
|
||||
<em>
|
||||
<strong>{{ mesinfos.adresse }}</strong>
|
||||
<br>
|
||||
{{ mesinfos.code_postal }}, {{ mesinfos.ville }}
|
||||
</em>
|
||||
</p>
|
||||
|
||||
<p class="mb-0">
|
||||
<small>
|
||||
<em>Téléphone</em>
|
||||
</small>
|
||||
<br>
|
||||
{{ mesinfos.phone }}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
|
||||
|
||||
<footer class="footer text-faded text-center py-5">
|
||||
<div class="container">
|
||||
<p class="m-0 small">Copyright © {{ mesinfos.nom }} 2018</p>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
<!-- Bootstrap core JavaScript -->
|
||||
<script src="static/vendor/jquery/jquery.min.js"></script>
|
||||
<script src="static/vendor/bootstrap/js/bootstrap.bundle.min.js"></script>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
||||
18
app/templates/creative/_about-edit.html
Normal file
18
app/templates/creative/_about-edit.html
Normal file
@@ -0,0 +1,18 @@
|
||||
<section class="bg-primary" id="about">
|
||||
<div class="container">
|
||||
<form method='POST' action='/edit/description'>
|
||||
{{ form.csrf_token }}
|
||||
|
||||
<div class="row">
|
||||
<div class="col-lg-8 mx-auto text-center">
|
||||
{{ form.titre_description(col=5,value=bloc.titre_description,
|
||||
class="form-control form-control-lg text-center") }}
|
||||
<hr class="light my-4">
|
||||
{{ form.description(value=bloc.description, class="form-control text-center") }}
|
||||
<br/>
|
||||
{{ form.submit() }}
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</section>
|
||||
11
app/templates/creative/_about.html
Normal file
11
app/templates/creative/_about.html
Normal file
@@ -0,0 +1,11 @@
|
||||
<section class="bg-primary" id="about">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-lg-8 mx-auto text-center">
|
||||
<h2 class="section-heading text-white">{{ mesinfos.text.title }}</h2>
|
||||
<hr class="light my-4">
|
||||
<p class="text-faded mb-4"> {{ mesinfos.text.text }} </p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
52
app/templates/creative/_contact-edit.html
Normal file
52
app/templates/creative/_contact-edit.html
Normal file
@@ -0,0 +1,52 @@
|
||||
<section id="contact" id="{{ bloc.name }}">
|
||||
<div class="container" id="{{ bloc.name }}" hx_swap="beforeend">
|
||||
<form method='POST' action="/edit/{{ bloc.name }}" hx-post='/edit//{{ bloc.name }}' hx-swap="outerHTML" hx-target="#{{ bloc.name }}" >
|
||||
{{ form.csrf_token }}
|
||||
|
||||
<div class="row">
|
||||
<div class="col-lg-8 mx-auto text-center">
|
||||
{{ form.title(col=5, value=bloc.title,
|
||||
class="form-control form-control-lg text-center") }}
|
||||
<hr class="my-4">
|
||||
<textarea class="form-control text-center" id="text" name="text"> {{ bloc.text }} </textarea>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-lg-4 ml-auto text-center">
|
||||
<i class="fa fa-phone fa-3x mb-3 sr-contact"></i>
|
||||
{{form.phone(col=3,value=bloc.phone,
|
||||
class="form-control form-control-lg text-center")}}
|
||||
</div>
|
||||
<div class="col-lg-4 mr-auto text-center">
|
||||
<i class="fa fa-envelope-o fa-3x mb-3 sr-contact"></i>
|
||||
|
||||
{{form.email(col=5,value=bloc.email,
|
||||
class="form-control obfuscate form-control-lg text-center")}}
|
||||
|
||||
</div>
|
||||
<div class="col-lg-8 mx-auto text-center">
|
||||
<br/> <br/>
|
||||
<label> {{ form.address.label }} </label>
|
||||
<p class="mb-2"> {{ form.address(col=5, value=bloc.address,
|
||||
class="form-control form-control-lg text-center") }} </p>
|
||||
<div class="row">
|
||||
<div class="col-lg-4 ml-auto text-center">
|
||||
<label> {{ form.postal_code.label }} </label>
|
||||
{{ form.postal_code( value=bloc.postal_code,
|
||||
class="form-control form-control-lg-3 text-center") }}
|
||||
</div>
|
||||
<div class="col-lg-4 mr-auto text-center">
|
||||
<label> {{ form.city.label }} </label>
|
||||
{{ form.city( value=bloc.city,
|
||||
class="form-control form-control-lg-3 text-center") }}
|
||||
</div>
|
||||
</div>
|
||||
<br/>
|
||||
{{ form.submit(class="btn") }}
|
||||
<button class="btn btn-danger" hx-get="/view/{{ bloc.name }}" hx-swap="outerHTML" hx-target="#{{ bloc.name }}" > Annuler </button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</section>
|
||||
30
app/templates/creative/_contact.html
Normal file
30
app/templates/creative/_contact.html
Normal file
@@ -0,0 +1,30 @@
|
||||
<section id="contact" >
|
||||
<div class="container" id="{{ bloc.name }}">
|
||||
<div class="row">
|
||||
<div class="col-lg-8 mx-auto text-center">
|
||||
<h2 class="section-heading"> {{ bloc.title }} </h2>
|
||||
<hr class="my-4">
|
||||
<p class="mb-5"> {{ bloc.text }} </p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-lg-4 ml-auto text-center">
|
||||
<i class="fa fa-phone fa-3x mb-3 sr-contact"></i>
|
||||
<p>{{ bloc.phone }}</p>
|
||||
</div>
|
||||
<div class="col-lg-4 mr-auto text-center">
|
||||
<i class="fa fa-envelope-o fa-3x mb-3 sr-contact"></i>
|
||||
<p>
|
||||
<a href="{{ bloc.email }}" class="obfuscate" > {{bloc.email }}</a>
|
||||
</p>
|
||||
</div>
|
||||
<div class="col-lg-8 mx-auto text-center">
|
||||
<br/> <br/>
|
||||
<p class="mb-2"> {{ bloc.address }} </p>
|
||||
<h3 class="section-heading">
|
||||
{{ bloc.postal_code }} - {{ bloc.city }}
|
||||
</h3>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
28
app/templates/creative/_external_link-edit.html
Normal file
28
app/templates/creative/_external_link-edit.html
Normal file
@@ -0,0 +1,28 @@
|
||||
|
||||
<div class="container text-center">
|
||||
<form method='POST' action='/edit/{{ bloc.name }}' hx-post='/edit//{{ bloc.name }}' hx-swap="outerHTML" hx-target="#{{ bloc.name }}">
|
||||
{{ form.csrf_token }}
|
||||
|
||||
<h2 class="mb-4"> Titre du lien </h2>
|
||||
{{ form.title(value=bloc.title,
|
||||
class="form-control form-control-lg text-center") }}
|
||||
<h3> Description du lien </h3>
|
||||
{{ form.text(value=bloc.text,
|
||||
class="form-control text-center") }}
|
||||
<h3> Votre lien (https://exemple.com) </h3>
|
||||
{{ form.link(value=bloc.link, class="form-control text-center") }}
|
||||
<br />
|
||||
<div class="col-lg-4 form-group mx-auto">
|
||||
{{ form.text_button(value=bloc.text_button,
|
||||
class="form-control text-center") }}
|
||||
{% for error in form.text_button.errors %}
|
||||
<span style="color: red;">
|
||||
{{ error }}</span>
|
||||
{% endfor %}
|
||||
</div>
|
||||
{{ form.submit(class="btn") }}
|
||||
<button class="btn btn-danger" hx-get="/view/{{ bloc.name }}" hx-swap="outerHTML" hx-target="#{{ bloc.name }}" > Annuler </button>
|
||||
|
||||
</form>
|
||||
</div>
|
||||
|
||||
10
app/templates/creative/_external_link.html
Normal file
10
app/templates/creative/_external_link.html
Normal file
@@ -0,0 +1,10 @@
|
||||
<section class="bg-dark text-white" id="{{ bloc.name }}" hx-swap-oob="true" >
|
||||
<div class="container text-center">
|
||||
<h2 class="mb-4">{{ bloc.title }}</h2>
|
||||
<p> {{ bloc.text }} </p>
|
||||
<a class="btn btn-light btn-xl sr-button" href="{{ bloc.link }}">
|
||||
{{ bloc.text_button }}
|
||||
</a>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
37
app/templates/creative/_gallery-edit.html
Normal file
37
app/templates/creative/_gallery-edit.html
Normal file
@@ -0,0 +1,37 @@
|
||||
<section class="p-0" id="{{ bloc.name }}">
|
||||
<div class="container-fluid p-0">
|
||||
<div class="row no-gutters ">
|
||||
{% for image in bloc.values() %}
|
||||
{% if image.file %}
|
||||
<div class="col-lg-4 col-sm-6 text-center">
|
||||
<a class="portfolio-box">
|
||||
<img class="img-fluid" src="/static/img/portfolio/thumbnails/{{ image.file }}" alt="{{ image.description }}">
|
||||
<div class="portfolio-box-caption">
|
||||
<div class="portfolio-box-caption-content">
|
||||
<div class="project-category text-faded">
|
||||
{{ image.subtitle }}
|
||||
</div>
|
||||
<div class="project-name">
|
||||
{{ image.title }}
|
||||
<br/><br/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
<button type="button" class="btn btn-success m-4"
|
||||
hx-get="/edit/images/{{ bloc.name }}/{{ image.file }}"
|
||||
hx-target="#{{bloc.name}}"
|
||||
hw-swap="none">
|
||||
<i class="fa fa-pencil-square-o"></i>
|
||||
</button>
|
||||
|
||||
</div>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</section>
|
||||
|
||||
|
||||
|
||||
27
app/templates/creative/_gallery.html
Normal file
27
app/templates/creative/_gallery.html
Normal file
@@ -0,0 +1,27 @@
|
||||
|
||||
<section class="p-0" id="{{ bloc.name }}">
|
||||
<div class="container-fluid p-0">
|
||||
<div class="row no-gutters popup-gallery">
|
||||
{% for image in bloc.values() %}
|
||||
{% if image.file %}
|
||||
<div class="col-lg-4 col-sm-6 text-center">
|
||||
<a class="portfolio-box" href="/static/img/portfolio/fullsize/{{ image.file }}" alt="{{ image.description }}">
|
||||
<img class="img-fluid" src="/static/img/portfolio/thumbnails/{{ image.file }}" alt="{{ image.description }}">
|
||||
<div class="portfolio-box-caption">
|
||||
<div class="portfolio-box-caption-content">
|
||||
<div class="project-category text-faded">
|
||||
{{ image.subtitle }}
|
||||
</div>
|
||||
<div class="project-name">
|
||||
{{ image.title }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
19
app/templates/creative/_head.html
Normal file
19
app/templates/creative/_head.html
Normal file
@@ -0,0 +1,19 @@
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||
<meta name="description" content="{{ config.siteDescription }}">
|
||||
<meta name="author" content=" {{config.siteAuthor}} ">
|
||||
|
||||
<title> {{ config.siteTitle }} </title>
|
||||
|
||||
{% block css %} {% endblock %}
|
||||
<!-- Bootstrap core CSS -->
|
||||
<link href="/static/vendors/bootstrap/css/bootstrap.min.css" rel="stylesheet">
|
||||
<!-- Custom fonts for this template -->
|
||||
<link href="/static/vendors/font-awesome/css/font-awesome.min.css" rel="stylesheet" type="text/css">
|
||||
<link href="/static/css/fontes-creative.css">
|
||||
<!-- Plugin CSS -->
|
||||
<link href="/static/vendors/magnific-popup/magnific-popup.css" rel="stylesheet">
|
||||
<!-- Custom styles for this template -->
|
||||
<link href="/static/css/creative.css" rel="stylesheet">
|
||||
|
||||
|
||||
41
app/templates/creative/_header-edit.html
Normal file
41
app/templates/creative/_header-edit.html
Normal file
@@ -0,0 +1,41 @@
|
||||
<header class="masthead text-center text-white d-flex" style="background-image: url('/static/img/{{ bloc.bg_img }}');">
|
||||
<div class="container my-auto">
|
||||
<form method='POST' action='/edit/accueil' enctype="multipart/form-data">
|
||||
{{ form.csrf_token }}
|
||||
<div class="row">
|
||||
<div class="col-lg-10 form-group mx-auto">
|
||||
{{ form.titre(value=bloc.title,
|
||||
class="form-control form-control-lg text-center text-uppercase")
|
||||
}}
|
||||
{% for error in form.titre.errors %}
|
||||
<span style="color: red;">{{ error }}</span>
|
||||
{% endfor %}
|
||||
<hr>
|
||||
</div>
|
||||
<div class="col-lg-8 form-group mx-auto">
|
||||
{% set f = form.presentation.process_data(bloc.text) %}
|
||||
{{ form.presentation(
|
||||
class="form-control text-center",
|
||||
rows="7")
|
||||
}}
|
||||
{% for error in form.presentation.errors %}
|
||||
<span style="color: red;">{{ error }}</span>
|
||||
{% endfor %}
|
||||
<br/>
|
||||
<div class="col-lg-4 form-group mx-auto">
|
||||
{{ form.texte_boutton(value=bloc.text_button,
|
||||
class="form-control text-center") }}
|
||||
{% for error in form.texte_boutton.errors %}
|
||||
<span style="color: red;">
|
||||
{{ error }}</span>
|
||||
{% endfor %}
|
||||
</div>
|
||||
<div class="col-lg-3 form-group mx-auto">
|
||||
{{ form.image(class="form-control" ) }}
|
||||
</div>
|
||||
{{ form.submit() }}
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</header>
|
||||
16
app/templates/creative/_header.html
Normal file
16
app/templates/creative/_header.html
Normal file
@@ -0,0 +1,16 @@
|
||||
<header class="masthead text-center text-white d-flex" style="background-image: url('/static/img/{{ mesinfos.presentation.bg_img }}');" >
|
||||
<div class="container my-auto">
|
||||
<div class="row">
|
||||
<div class="col-lg-10 mx-auto">
|
||||
<h1 class="text-uppercase">
|
||||
<strong> {{ mesinfos.presentation.title }} </strong>
|
||||
</h1>
|
||||
<hr>
|
||||
</div>
|
||||
<div class="col-lg-8 mx-auto">
|
||||
<p class="text-faded mb-5"> {{ mesinfos.presentation.text }} </p>
|
||||
<a class="btn btn-primary btn-xl js-scroll-trigger" href="#about">{{ mesinfos.presentation.text_button }} </a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</header>
|
||||
34
app/templates/creative/_image-edit.html
Normal file
34
app/templates/creative/_image-edit.html
Normal file
@@ -0,0 +1,34 @@
|
||||
|
||||
<div class="container-fluid p-0">
|
||||
<form method='POST' action='/edit/images/{{ bloc.name }}/{{ image.file }}' hx-swap="outerHTML" hx-target="#{{ bloc.name }}">
|
||||
{{ form.csrf_token }}
|
||||
<div class="row">
|
||||
<div class="col-lg-2 mx-auto my-4 text-center">
|
||||
<img class="img-fluid" src="/static/img/portfolio/thumbnails/{{ image.file }}" alt="{{ image.description }}">
|
||||
</div>
|
||||
<div class="col-lg-4 mx-auto my-4 text-center">
|
||||
<h3> Titre </h3>
|
||||
{{ form.title(value=image.title,
|
||||
class="form-control form-control-lg text-center") }}
|
||||
<hr class="light my-4">
|
||||
<h3>Sous-titre</h3>
|
||||
{{ form.subtitle(value=image.subtitle, class="form-control text-center") }}
|
||||
<br/>
|
||||
<h3> Catégorie </h3>
|
||||
{{ form.category(value=image.category, class="form-control text-center") }}
|
||||
<hr class="light my-4">
|
||||
<h3> Description de votre image </h3>
|
||||
<p> Une description de l'image est utile pour les personnes mal-voyantes et au référecement de votre site </p>
|
||||
{{ form.description(value=image.description, class="form-control text-center") }}
|
||||
<br/>
|
||||
<button class="btn btn-success" type="submit" data-dismiss="modal"
|
||||
hx-post="/edit/images/{{ bloc.name }}/{{ image.file }}"
|
||||
hx-swap="outerHTML"
|
||||
hx-target="#{{ bloc.name }}"> Valider </button>
|
||||
<a class="btn btn-danger mx-auto" href="/edit/images/del/{{ image.nom_fichier }}">Supprimer l'image</a>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
</div>
|
||||
|
||||
19
app/templates/creative/_layout.html
Normal file
19
app/templates/creative/_layout.html
Normal file
@@ -0,0 +1,19 @@
|
||||
{# creative/_layout.html #}
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html lang="fr">
|
||||
|
||||
<head>
|
||||
<!-- Style CSS -->
|
||||
{% include 'creative/_head.html' %}
|
||||
</head>
|
||||
|
||||
<body id="page-top">
|
||||
{% block body %}
|
||||
|
||||
{% endblock %}
|
||||
|
||||
|
||||
</body>
|
||||
{% include 'creative/javascript.html' %}
|
||||
</html>
|
||||
31
app/templates/creative/_nav.html
Normal file
31
app/templates/creative/_nav.html
Normal file
@@ -0,0 +1,31 @@
|
||||
<!-- Navigation -->
|
||||
<nav class="navbar navbar-expand-lg navbar-light fixed-top" id="mainNav">
|
||||
<div class="container">
|
||||
<a class="navbar-brand js-scroll-trigger" href="#page-top">{{ siteTitle }}</a>
|
||||
<button class="navbar-toggler navbar-toggler-right" type="button" data-toggle="collapse" data-target="#navbarResponsive" aria-controls="navbarResponsive" aria-expanded="false" aria-label="Toggle navigation">
|
||||
<span class="navbar-toggler-icon"></span>
|
||||
</button>
|
||||
<div class="collapse navbar-collapse" id="navbarResponsive">
|
||||
<ul class="navbar-nav ml-auto">
|
||||
{% for item in menu.keys() %}
|
||||
{% if menu[item] is mapping %}
|
||||
<li class="nav-item dropdown">
|
||||
<a class="nav-link dropdown-toggle" href="#" id="{{ item }}" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
||||
{{ item }}
|
||||
</a>
|
||||
<div class="dropdown-menu" aria-labelledby="{{ item }}">
|
||||
{% for subitem in menu[item].keys() %}
|
||||
<a class="dropdown-item" href="{{item[subitem]}}">{{ subitem }}</a>
|
||||
{% endfor %}
|
||||
</div>
|
||||
</li>
|
||||
{% else %}
|
||||
<li class="nav-item">
|
||||
<a class="nav-link js-scroll-trigger" href="{{ menu[item] }}"> {{ item }} </a>
|
||||
</li>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
61
app/templates/creative/_navtool.html
Normal file
61
app/templates/creative/_navtool.html
Normal file
@@ -0,0 +1,61 @@
|
||||
<!-- Navigation -->
|
||||
<nav class="navbar navbar-expand-lg navbar-light fixed-bottom navbar-skrink" id="toolNav">
|
||||
<div class="container">
|
||||
<button class="btn btn-secondary" type="button" data-toggle="modal" data-target="#parameters" > Paramètres de mon site </button>
|
||||
<a class="btn btn-warning nav-brand js-scroll-trigger" href="/edit/save"> Publier mes modifications </a>
|
||||
</div>
|
||||
|
||||
</nav>
|
||||
|
||||
<div class="modal" id="parameters">
|
||||
<div class="modal-dialog modal-lg">
|
||||
<div class="modal-content">
|
||||
<!-- Modal Header -->
|
||||
<div class="modal-header">
|
||||
<h4 class="modal-title">Paramètres </h4>
|
||||
<button type="button" class="close" data-dismiss="modal">×</button>
|
||||
</div>
|
||||
|
||||
<!-- Modal body -->
|
||||
<div class="modal-body">
|
||||
<ul class="nav nav-pills nav-justified">
|
||||
<li class="nav-item">
|
||||
<a class="nav-link active" data-toggle="pill" href="#menu">Menu</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" data-toggle="pill" href="#options"> Options </a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" data-toggle="pill" href="#publication">Publication</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<!-- Tab panes -->
|
||||
<div class="tab-content">
|
||||
<div class="tab-pane container text-center active" id="menu">
|
||||
<br/>
|
||||
<h4> Organiser mes pages </h4>
|
||||
|
||||
{% include 'admin/_menu-edit.html' %}
|
||||
|
||||
</div>
|
||||
<div class="tab-pane container text-center fade" id="options">
|
||||
<br/>
|
||||
<h4> Mes réseaux sociaux </h4>
|
||||
</div>
|
||||
<div class="tab-pane container fade text-center" id="publication">
|
||||
<br/>
|
||||
<h4> Serveur(s) où publier mon site </h4>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Modal footer -->
|
||||
<div class="modal-footer mx-auto">
|
||||
<button class="btn btn-success">Enregistrer </button>
|
||||
<a class="btn btn-danger" href="/edit" > Annuler </a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
42
app/templates/creative/_presentation-edit.html
Normal file
42
app/templates/creative/_presentation-edit.html
Normal file
@@ -0,0 +1,42 @@
|
||||
<div class="container my-auto">
|
||||
<form method='POST' action='/edit/{{ bloc.name }}' hx-swap="outerHTML" hx-target="#{{ bloc.name }}" enctype="multipart/form-data">
|
||||
{{ form.csrf_token }}
|
||||
<div class="row">
|
||||
<div class="col-lg-10 form-group mx-auto">
|
||||
{{ form.title(value=bloc.title,
|
||||
class="form-control form-control-lg text-center text-uppercase")
|
||||
}}
|
||||
{% for error in form.title.errors %}
|
||||
<span style="color: red;">{{ error }}</span>
|
||||
{% endfor %}
|
||||
<hr>
|
||||
</div>
|
||||
<div class="col-lg-8 form-group mx-auto">
|
||||
{% set f = form.text.process_data(bloc.text) %}
|
||||
<textarea class="form-control text-center" id="text" name="text"> {{ bloc.text }} </textarea>
|
||||
{% for error in form.text.errors %}
|
||||
<span style="color: red;">{{ error }}</span>
|
||||
{% endfor %}
|
||||
<br/>
|
||||
<div class="col-lg-4 form-group mx-auto">
|
||||
{{ form.text_button(value=bloc.text_button,
|
||||
class="form-control text-center") }}
|
||||
{% for error in form.text_button.errors %}
|
||||
<span style="color: red;">
|
||||
{{ error }}</span>
|
||||
{% endfor %}
|
||||
<h4> cible du bouton </h4>
|
||||
{{ form.link(value=bloc.link, class="form-control text-center") }}
|
||||
<br />
|
||||
</div>
|
||||
<div class="col-lg-3 form-group mx-auto">
|
||||
{{ form.image(class="form-control" ) }}
|
||||
</div>
|
||||
{{ form.submit(class="btn") }}
|
||||
<button class="btn btn-danger" hx-get="/view/{{ bloc.name }}" hx-swap="outerHTML" hx-target="#{{ bloc.name }}" > Annuler </button>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
16
app/templates/creative/_presentation.html
Normal file
16
app/templates/creative/_presentation.html
Normal file
@@ -0,0 +1,16 @@
|
||||
<header class="masthead text-center text-white d-flex" style="background-image: url('/static/img/{{ bloc.bg_img }}');" id="{{ bloc.name }}" >
|
||||
<div class="container my-auto">
|
||||
<div class="row">
|
||||
<div class="col-lg-10 mx-auto">
|
||||
<h1 class="text-uppercase">
|
||||
<strong> {{ bloc.title }} </strong>
|
||||
</h1>
|
||||
<hr>
|
||||
</div>
|
||||
<div class="col-lg-8 mx-auto">
|
||||
<p class="text-faded mb-5"> {{ bloc.text }} </p>
|
||||
<a class="btn btn-primary btn-xl js-scroll-trigger" href="{{bloc.link}}">{{ bloc.text_button }} </a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</header>
|
||||
19
app/templates/creative/_text-edit.html
Normal file
19
app/templates/creative/_text-edit.html
Normal file
@@ -0,0 +1,19 @@
|
||||
|
||||
<div class="container">
|
||||
<form method='POST' action='/edit//{{ bloc.name }}' hx-post='/edit//{{ bloc.name }}' hx-swap="outerHTML" hx-target="#{{ bloc.name }}">
|
||||
{{ form.csrf_token }}
|
||||
|
||||
<div class="row">
|
||||
<div class="col-lg-8 mx-auto text-center">
|
||||
{{ form.title(col=5,value=bloc.title,
|
||||
class="form-control form-control-lg text-center") }}
|
||||
<hr class="light my-4">
|
||||
<textarea class="form-control text-center" id="text" name="text"> {{ bloc.text }} </textarea>
|
||||
<br/>
|
||||
{{ form.submit(class="btn") }}
|
||||
<button class="btn btn-danger" hx-get="/view/{{ bloc.name }}" hx-swap="outerHTML" hx-target="#{{ bloc.name }}" > Annuler </button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</section>
|
||||
12
app/templates/creative/_text.html
Normal file
12
app/templates/creative/_text.html
Normal file
@@ -0,0 +1,12 @@
|
||||
<section class="bg-primary" id="{{ bloc.name }}">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-lg-8 mx-auto text-center">
|
||||
<h2 class="section-heading text-white">{{ bloc.title }}</h2>
|
||||
<hr class="light my-4">
|
||||
<p class="text-faded mb-4"> {{ bloc.text }} </p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
30
app/templates/creative/edit.html
Normal file
30
app/templates/creative/edit.html
Normal file
@@ -0,0 +1,30 @@
|
||||
{% extends 'creative/_layout.html' %}
|
||||
|
||||
{% block body %}
|
||||
|
||||
{% include 'creative/_nav.html' %}
|
||||
{% include 'creative/_navtool.html' %}
|
||||
|
||||
|
||||
{% for bloc in myblocs.values() %}
|
||||
|
||||
{% if blocEdit == bloc.name %}
|
||||
{% include 'creative/_'+bloc.type+'-edit.html' %}
|
||||
{% else %}
|
||||
|
||||
{% include 'creative/_'+bloc.type+'.html' %}
|
||||
|
||||
<button class="btn btn-success btn-xl pull-right"
|
||||
style="margin-top:-7rem; margin-right:1rem;"
|
||||
hx-get="/edit/{{ bloc.name }}"
|
||||
hx-target="#{{bloc.name}}"
|
||||
hw-swap="none"
|
||||
> Éditer </button>
|
||||
|
||||
{% endif %}
|
||||
|
||||
{% endfor %}
|
||||
|
||||
|
||||
|
||||
{% endblock %}
|
||||
15
app/templates/creative/index.html
Normal file
15
app/templates/creative/index.html
Normal file
@@ -0,0 +1,15 @@
|
||||
{% extends "creative/layout.html" %}
|
||||
|
||||
{% block body %}
|
||||
|
||||
<!-- Navigation -->
|
||||
{% include 'creative/_nav.html' %}
|
||||
|
||||
{% for bloc in myblocs.values() %}
|
||||
|
||||
{% include 'creative/_'+bloc.type+'.html' %}
|
||||
|
||||
{% endfor %}
|
||||
|
||||
|
||||
{% endblock %}
|
||||
15
app/templates/creative/index.html.tpl
Normal file
15
app/templates/creative/index.html.tpl
Normal file
@@ -0,0 +1,15 @@
|
||||
{% extends "creative/layout.html" %}
|
||||
|
||||
{% block body %}
|
||||
|
||||
<!-- Navigation -->
|
||||
{% include 'creative/_nav.html' %}
|
||||
|
||||
{% for bloc in myblocs.values() %}
|
||||
|
||||
{% include 'creative/_'+bloc.type+'.html' %}
|
||||
|
||||
{% endfor %}
|
||||
|
||||
|
||||
{% endblock %}
|
||||
16
app/templates/creative/javascript.html
Normal file
16
app/templates/creative/javascript.html
Normal file
@@ -0,0 +1,16 @@
|
||||
|
||||
|
||||
<!-- Bootstrap core JavaScript -->
|
||||
<script src="/static/vendors/jquery/jquery.min.js"></script>
|
||||
<script src="/static/vendors/bootstrap/js/bootstrap.bundle.min.js"></script>
|
||||
|
||||
<!-- Plugin JavaScript -->
|
||||
<script src="/static/vendors/jquery-easing/jquery.easing.min.js"></script>
|
||||
<script src="/static/vendors/scrollreveal/scrollreveal.min.js"></script>
|
||||
<script src="/static/vendors/magnific-popup/jquery.magnific-popup.min.js"></script>
|
||||
<script src="/static/vendors/htmx/htmx.min.js"></script>
|
||||
|
||||
<!-- Custom scripts for this template -->
|
||||
<script src="/static/js/creative.js"></script>
|
||||
|
||||
{% block js %} {% endblock %}
|
||||
19
app/templates/creative/layout.html
Normal file
19
app/templates/creative/layout.html
Normal file
@@ -0,0 +1,19 @@
|
||||
{# creative/layout.html #}
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html lang="fr">
|
||||
|
||||
<head>
|
||||
<!-- Style CSS -->
|
||||
{% include 'creative/_head.html' %}
|
||||
</head>
|
||||
|
||||
<body id="page-top">
|
||||
{% block body %}
|
||||
|
||||
{% endblock %}
|
||||
</body>
|
||||
|
||||
{% include 'creative/javascript.html' %}
|
||||
|
||||
</html>
|
||||
13
app/templates/creative/login.html
Normal file
13
app/templates/creative/login.html
Normal file
@@ -0,0 +1,13 @@
|
||||
|
||||
<div class="container text-center">
|
||||
<form method='POST' action='/login'>
|
||||
{{ form.csrf_token }}
|
||||
|
||||
<h2 class="mb-4"> Entrez votre mot de passe : </h2>
|
||||
{{ form.passwd(col=5, class="form-control form-control-lg text-center" ) }}
|
||||
<br />
|
||||
{{ form.submit() }}
|
||||
|
||||
</form>
|
||||
</div>
|
||||
|
||||
3
app/templates/edit-tools/css/dropzone
Normal file
3
app/templates/edit-tools/css/dropzone
Normal file
@@ -0,0 +1,3 @@
|
||||
<script src="{{ url_for('static', filename='vendors/dropzone/dropzone-min.js') }}"></script>
|
||||
<link href="{{ url_for('static', filename='vendors/dropzone/dropzone.css') }}" rel="stylesheet">
|
||||
|
||||
27
app/templates/edit-tools/js/dropzone
Normal file
27
app/templates/edit-tools/js/dropzone
Normal file
@@ -0,0 +1,27 @@
|
||||
|
||||
<script>
|
||||
window.onload = function () {
|
||||
|
||||
var dropzoneOptions = {
|
||||
dictDefaultMessage: 'Déposez vos images ici !',
|
||||
paramName: "file",
|
||||
maxFilesize: 8, // MB
|
||||
acceptedFiles: "image/*",
|
||||
url: "/upload-gallery/{{ bloc.name }}",
|
||||
chunking: true,
|
||||
forceChunking: true,
|
||||
chunkSize: 1000000,
|
||||
autoProcessQueue: true,
|
||||
init: function () {
|
||||
this.on("success", function (file) {
|
||||
console.log("success > " + file.name);
|
||||
setTimeout(() => { this.removeFile(file); }, 2000);
|
||||
});
|
||||
}
|
||||
};
|
||||
var uploader = document.querySelector('#uploader');
|
||||
var myDropzone = new Dropzone(uploader, dropzoneOptions);
|
||||
console.log("Loaded");
|
||||
};
|
||||
</script>
|
||||
|
||||
26
app/templates/edit-tools/js/dropzone~
Normal file
26
app/templates/edit-tools/js/dropzone~
Normal file
@@ -0,0 +1,26 @@
|
||||
|
||||
<script>
|
||||
window.onload = function () {
|
||||
|
||||
var dropzoneOptions = {
|
||||
dictDefaultMessage: 'Déposez vos fichiers ici!',
|
||||
paramName: "file",
|
||||
maxFilesize: 1024, // MB
|
||||
url: "/upload-dropzone",
|
||||
chunking: true,
|
||||
forceChunking: true,
|
||||
chunkSize: 1000000,
|
||||
autoProcessQueue: true,
|
||||
init: function () {
|
||||
this.on("success", function (file) {
|
||||
console.log("success > " + file.name);
|
||||
setTimeout(() => { this.removeFile(file); }, 2000);
|
||||
});
|
||||
}
|
||||
};
|
||||
var uploader = document.querySelector('#uploader');
|
||||
var myDropzone = new Dropzone(uploader, dropzoneOptions);
|
||||
console.log("Loaded");
|
||||
};
|
||||
</script>
|
||||
|
||||
35
app/templates/edit.html.tpl
Normal file
35
app/templates/edit.html.tpl
Normal file
@@ -0,0 +1,35 @@
|
||||
{% extends 'index.html.tpl' %}
|
||||
|
||||
{% block css %}
|
||||
{% include 'edit-tools/css/dropzone' %}
|
||||
|
||||
{% endblock %}
|
||||
|
||||
{% block body %}
|
||||
|
||||
{% include config.theme+'/_nav.html' %}
|
||||
{% include config.theme+'/_navtool.html' %}
|
||||
|
||||
{% for bloc in myblocs.values() %}
|
||||
|
||||
{% if blocEdit == bloc.name %}
|
||||
{% include config.theme+'/_'+bloc.type+'-edit.html' %}
|
||||
{% else %}
|
||||
{% include config.theme+'/_'+bloc.type+'.html' %}
|
||||
|
||||
<button class="btn btn-success btn-xl pull-right"
|
||||
style="margin-top:-7rem; margin-right:1rem;"
|
||||
hx-get="/edit/{{ bloc.name }}"
|
||||
hx-target="#{{bloc.name}}"
|
||||
hw-swap="none"
|
||||
> Éditer </button>
|
||||
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
{% include '_flash_msgs.html' %}
|
||||
|
||||
{% endblock %}
|
||||
|
||||
{% block js %}
|
||||
|
||||
{% endblock %}
|
||||
148
app/templates/grayscale.html
Normal file
148
app/templates/grayscale.html
Normal file
@@ -0,0 +1,148 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||
<meta name="description" content="">
|
||||
<meta name="author" content="">
|
||||
|
||||
<title> MaPagePerso </title>
|
||||
|
||||
<!-- Bootstrap core CSS -->
|
||||
<link href="static/vendor/bootstrap/css/bootstrap.min.css" rel="stylesheet">
|
||||
|
||||
<!-- Custom fonts for this template -->
|
||||
<link href="static/vendor/font-awesome/css/font-awesome.min.css" rel="stylesheet" type="text/css">
|
||||
<link href="https://fonts.googleapis.com/css?family=Lora:400,700,400italic,700italic" rel="stylesheet" type="text/css">
|
||||
<link href='https://fonts.googleapis.com/css?family=Cabin:700' rel='stylesheet' type='text/css'>
|
||||
|
||||
<!-- Custom styles for this template -->
|
||||
<link href="static/css/grayscale.css" rel="stylesheet">
|
||||
|
||||
</head>
|
||||
|
||||
<body id="page-top">
|
||||
|
||||
<!-- Navigation -->
|
||||
<nav class="navbar navbar-expand-lg navbar-light fixed-top" id="mainNav">
|
||||
<div class="container">
|
||||
<a class="navbar-brand js-scroll-trigger" href="#page-top">{{ mesinfos.nom }}</a>
|
||||
<button class="navbar-toggler navbar-toggler-right" type="button" data-toggle="collapse" data-target="#navbarResponsive" aria-controls="navbarResponsive" aria-expanded="false" aria-label="Toggle navigation">
|
||||
Menu
|
||||
<i class="fa fa-bars"></i>
|
||||
</button>
|
||||
<div class="collapse navbar-collapse" id="navbarResponsive">
|
||||
<ul class="navbar-nav ml-auto">
|
||||
<li class="nav-item">
|
||||
<a class="nav-link js-scroll-trigger" href="#about">A Propos</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link js-scroll-trigger" href="#download"> Produits </a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link js-scroll-trigger" href="#contact">Contact</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<!-- Intro Header -->
|
||||
<header class="masthead">
|
||||
<div class="intro-body">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-lg-8 mx-auto">
|
||||
<h1 class="brand-heading">{{ mesinfos.nom }}</h1>
|
||||
<p class="intro-text">{{ mesinfos.presentation }} </p>
|
||||
<a href="#about" class="btn btn-circle js-scroll-trigger">
|
||||
<i class="fa fa-angle-double-down animated"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</header>
|
||||
|
||||
<!-- About Section -->
|
||||
<section id="about" class="content-section text-center">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-lg-8 mx-auto">
|
||||
<h2>{{ mesinfos.titre_description }}</h2>
|
||||
<p>{{ mesinfos.description }}</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- Download Section -->
|
||||
<section id="download" class="download-section content-section text-center">
|
||||
<div class="container">
|
||||
<div class="col-lg-8 mx-auto">
|
||||
<h2>{{ mesinfos.titre_lien }}</h2>
|
||||
<p> {{ mesinfos.description_lien }} </p>
|
||||
<a href="{{ mesinfos.lien }}" class="btn btn-default btn-lg">
|
||||
{{ mesinfos.bouton_lien }}</a>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- Contact Section -->
|
||||
<section id="contact" class="content-section text-center">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-lg-8 mx-auto">
|
||||
<h2>{{mesinfos.titre_contact}}</h2>
|
||||
<p> {{ mesinfos.texte_contact }}</p>
|
||||
<p> {{ mesinfos.horraires }} </p>
|
||||
<ul class="list-inline banner-social-buttons">
|
||||
<li class="list-inline-item">
|
||||
<a href="mailto:{{mesinfos.email}}" class="btn btn-default btn-lg">
|
||||
<i class="fa fa-enveloppe-o fa-fw"></i>
|
||||
<span class="network-name"> {{ mesinfos.email }} </span>
|
||||
</a>
|
||||
</li>
|
||||
<li class="list-inline-item">
|
||||
<a href="phone://{{ mesinfos.phone }}" class="btn btn-default btn-lg">
|
||||
<i class="fa fa-phone fa-fw"></i>
|
||||
<span class="network-name">{{ mesinfos.telephone }}</span>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
<br/>
|
||||
<p> {{ mesinfos.adresse }} <br/>
|
||||
{{ mesinfos.code_postal }} - {{ mesinfos.ville }} </p>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
|
||||
<!-- Footer -->
|
||||
<footer>
|
||||
<div class="container text-center">
|
||||
<p>Copyright © Your Website 2018</p>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
<!-- Bootstrap core JavaScript -->
|
||||
<script src="static/vendor/jquery/jquery.min.js"></script>
|
||||
<script src="static/vendor/bootstrap/js/bootstrap.bundle.min.js"></script>
|
||||
|
||||
<!-- Plugin JavaScript -->
|
||||
<script src="static/vendor/jquery-easing/jquery.easing.min.js"></script>
|
||||
|
||||
<!-- Google Maps API Key - Use your own API key to enable the map feature. More information on the Google Maps API can be found at https://developers.google.com/maps/ -->
|
||||
<script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyCRngKslUGJTlibkQ3FkfTxj3Xss1UlZDA&sensor=false"></script>
|
||||
|
||||
<!-- Custom scripts for this template -->
|
||||
<script src="static/js/grayscale.min.js"></script>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
||||
28
app/templates/index.html.tpl
Normal file
28
app/templates/index.html.tpl
Normal file
@@ -0,0 +1,28 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="{{ config.lang }}">
|
||||
|
||||
<head>
|
||||
<!-- Style CSS -->
|
||||
{% include config.theme+'/_head.html' %}
|
||||
{% block css %}
|
||||
{% endblock %}
|
||||
</head>
|
||||
|
||||
<body id="page-top">
|
||||
{% block body %}
|
||||
|
||||
{% include config.theme+'/_nav.html' %}
|
||||
|
||||
{% for bloc in myblocs.values() %}
|
||||
{% include config.theme+'/_'+bloc.type+'.html' %}
|
||||
{% endfor %}
|
||||
|
||||
|
||||
{% endblock %}
|
||||
</body>
|
||||
|
||||
{% include config.theme+'/javascript.html' %}
|
||||
{% block js %}
|
||||
{% endblock js %}
|
||||
</html>
|
||||
|
||||
Reference in New Issue
Block a user