Compare commits
88 Commits
Author | SHA1 | Date | |
---|---|---|---|
c08146134c | |||
8d9d8df85e | |||
37d4fe3f38 | |||
715b1c2962 | |||
38e4e4442e | |||
80e1d4cac2 | |||
f06bf79045 | |||
ce44bcfc7b | |||
c288fd65c3 | |||
c58bee231f | |||
17836fd225 | |||
714bd53440 | |||
edd6922edf | |||
d405699aef | |||
be58f7ee3c | |||
ba722498ef | |||
857d14c063 | |||
8be665bc03 | |||
6b4b5a43fb | |||
21696a6ee3 | |||
171b1fd7e2 | |||
28374e7c64 | |||
fa31548d1c | |||
cd72b4eb75 | |||
79c92e475b | |||
bfd18e628a | |||
07604b7423 | |||
0b56f89d5b | |||
0e7fd8bc1c | |||
baa8ba4d0f | |||
0663f009fb | |||
df864de28e | |||
30fcf05297 | |||
117d025460 | |||
b607185102 | |||
aef8c035b2 | |||
64a3c1ed3b | |||
1d232e8676 | |||
854210e2a9 | |||
24204cdec0 | |||
4ad75f4fc6 | |||
8f08f87772 | |||
1c832f5409 | |||
ae38f37390 | |||
620183ff78 | |||
4f75033344 | |||
3f54c0585a | |||
0a13df2f63 | |||
59be2c030f | |||
65f001a5d7 | |||
5322a9ae29 | |||
29e31804c8 | |||
085cb35c4b | |||
804993d718 | |||
167eb0dd4b | |||
a2d274375a | |||
512dc21b3c | |||
7f33a2bf7f | |||
8951cb1437 | |||
fa3c8e53dd | |||
3ab127e6a2 | |||
5d7191b105 | |||
45db4db8ae | |||
811a2930af | |||
e9c742b3b1 | |||
ef67acd71c | |||
e075c39e90 | |||
62b9c3d4bc | |||
4bd4e6d5bc | |||
28d18bd86f | |||
772b35753f | |||
7a06a5299b | |||
f94fa106a0 | |||
cd507cdb74 | |||
f5244ad5ae | |||
88184395e8 | |||
b112a7c9d4 | |||
f55bf18f93 | |||
0b00b2f3d9 | |||
e27416d123 | |||
d19a417d95 | |||
f9fabd2c54 | |||
d1dcfa18fa | |||
6123c61de3 | |||
f1aae27099 | |||
7c74245736 | |||
8339b4a49b | |||
989e53330f |
5
.gitignore
vendored
@ -1,4 +1 @@
|
||||
.Rproj.user
|
||||
.Rhistory
|
||||
.RData
|
||||
.Ruserdata
|
||||
*.pptx
|
113
ACTUALITE.html
@ -1,113 +0,0 @@
|
||||
<!DOCTYPE HTML>
|
||||
<html>
|
||||
<head>
|
||||
<!-- Global site tag (gtag.js) - Google Analytics -->
|
||||
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-167417611-1"></script>
|
||||
<script>
|
||||
window.dataLayer = window.dataLayer || [];
|
||||
function gtag(){dataLayer.push(arguments);}
|
||||
gtag('js', new Date());
|
||||
|
||||
gtag('config', 'UA-167417611-1');
|
||||
</script>
|
||||
<title>Adrien CHARBONNEAU – Naturaliste écologue</title>
|
||||
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no" />
|
||||
<meta name="description" content="Site de présentation d'Adrien CHARBONNEAU - Naturaliste écologue et ornithologue passionné.">
|
||||
<meta name="author" content="Adrien CHARBONNEAU">
|
||||
|
||||
<meta property="og:title" content="Adrien CHARBONNEAU – Naturaliste écologue" />
|
||||
<meta property="og:image" content="https://adriencharbonneau.fr/images/avatar.jpg" />
|
||||
<meta property="og:url" content="https://adriencharbonneau.fr" />
|
||||
<meta property="og:description" content="Site de présentation d'Adrien CHARBONNEAU - Naturaliste écologue et ornithologue passionné." />
|
||||
<meta property="og:nom_du_site" content="Adrien CHARBONNEAU – Naturaliste écologue"/>
|
||||
|
||||
<link rel="stylesheet" href="assets/css/main.css" />
|
||||
<link rel="icon" type="image/png" href="images/AC_favicon.png" />
|
||||
</head>
|
||||
<body class="is-preload">
|
||||
|
||||
<section>
|
||||
<div class="container">
|
||||
<header class="major">
|
||||
<h2 id="logo">Actualité</h2>
|
||||
<p>Mes projets, études, suivis ou intérêts du moment.</p>
|
||||
</header>
|
||||
</div>
|
||||
|
||||
</section>
|
||||
<section>
|
||||
<div class="container">
|
||||
<sup>Date de mise à jour de la page : 01/05/2021</sup>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<div class="container">
|
||||
<blockquote>Un peu plus de détails sur mes compétences : <a href="./" class="button alt small">- PRÉSENTATION -</a></blockquote>
|
||||
</div>
|
||||
|
||||
</section>
|
||||
|
||||
|
||||
<section>
|
||||
<div class="container">
|
||||
<div class="features">
|
||||
<article>
|
||||
<a class="image"><img src="images/SYNERGIS.jpg" alt="" /></a>
|
||||
<div class="inner">
|
||||
<h4>PROFESSIONNEL</h4>
|
||||
<ul class="alt">
|
||||
<li>Chargé d'études ornithologiques (et naturalistes en général) chez Synergis Environnement.</li>
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
</article>
|
||||
<article>
|
||||
<a class="image"><img src="images/BAGUAGE.jpg" alt="" /></a>
|
||||
<div class="inner">
|
||||
<h4>NATURALISME</h4>
|
||||
<ul class="alt">
|
||||
<li>Suivi de la migration pré-nuptiale</li>
|
||||
<li>Baguage ornithologique</li>
|
||||
<li>STOC EPS</li>
|
||||
<li>EPOC - ODF</li>
|
||||
</ul>
|
||||
</div>
|
||||
</article>
|
||||
<article>
|
||||
<a class="image"><img src="images/NBM.jpg" alt="" /></a>
|
||||
<div class="inner">
|
||||
<h4>PROJETS</h4>
|
||||
<ul class="alt">
|
||||
<li>Nocturnal Bird Migration</li>
|
||||
<li>Silent-Cities</li>
|
||||
</ul>
|
||||
</div>
|
||||
</article>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- Footer -->
|
||||
<section id="footer">
|
||||
<div class="container">
|
||||
<ul class="copyright">
|
||||
<li>© Adrien CHARBONNEAU - 2021. Tous droits réservés.</li>
|
||||
<li>Inspiré de : <a href="http://html5up.net">HTML5 UP</a></li>
|
||||
<li><img style="margin-right: .5rem; vertical-align: middle;" src="images/git.png" width="25px" height="25px"><b>Version : </b><span class="git git_color1 blanc"> v1.0 </span><b> Branch : </b><span class="git git_color1 blanc"> master </span>
|
||||
</ul>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- Scripts -->
|
||||
<script src="assets/js/jquery.min.js"></script>
|
||||
<script src="assets/js/jquery.scrollex.min.js"></script>
|
||||
<script src="assets/js/jquery.scrolly.min.js"></script>
|
||||
<script src="assets/js/browser.min.js"></script>
|
||||
<script src="assets/js/breakpoints.min.js"></script>
|
||||
<script src="assets/js/util.js"></script>
|
||||
<script src="assets/js/main.js"></script>
|
||||
</body>
|
||||
</html>
|
167
ACTUALITE/index.php
Normal file
@ -0,0 +1,167 @@
|
||||
<!DOCTYPE HTML>
|
||||
<!-- Vous visitez mon code ? 😇 Vous pouvez le visualiser bien plus facilement directement ici : https://git.charbonneau.fr/Adrien/Site-internet
|
||||
Bonne lecture ! -->
|
||||
<html>
|
||||
<head>
|
||||
</script>
|
||||
<title>Adrien CHARBONNEAU – Naturaliste écologue</title>
|
||||
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no" />
|
||||
<meta name="description" content="Site de présentation d'Adrien CHARBONNEAU - Naturaliste écologue et ornithologue passionné.">
|
||||
<meta name="author" content="Adrien CHARBONNEAU">
|
||||
|
||||
<meta property="og:title" content="Adrien CHARBONNEAU – Naturaliste écologue" />
|
||||
<meta property="og:image" content="https://adriencharbonneau.fr/images/avatar.jpg" />
|
||||
<meta property="og:url" content="https://adriencharbonneau.fr" />
|
||||
<meta property="og:description" content="Site de présentation d'Adrien CHARBONNEAU - Naturaliste écologue et ornithologue passionné." />
|
||||
<meta property="og:nom_du_site" content="Adrien CHARBONNEAU – Naturaliste écologue"/>
|
||||
|
||||
<link rel="stylesheet" href="../assets/css/tailwind.css">
|
||||
<link rel="stylesheet" href="../assets/css/main.css" />
|
||||
<link rel="icon" type="image/png" href="../images/AC_favicon.png" />
|
||||
|
||||
<!-- Matomo : petit analyseur de visites libre et opensource -->
|
||||
<script>
|
||||
var _paq = window._paq = window._paq || [];
|
||||
/* tracker methods like "setCustomDimension" should be called before "trackPageView" */
|
||||
_paq.push(["setDocumentTitle", document.title]);
|
||||
_paq.push(["setCookieDomain", "*.adriencharbonneau.fr"]);
|
||||
_paq.push(["setDomains", ["*.adriencharbonneau.fr"]]);
|
||||
_paq.push(['trackPageView']);
|
||||
_paq.push(['enableLinkTracking']);
|
||||
(function() {
|
||||
var u="https://stats.charbonneau.fr/";
|
||||
_paq.push(['setTrackerUrl', u+'matomo.php']);
|
||||
_paq.push(['setSiteId', '1']);
|
||||
var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
|
||||
g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
|
||||
})();
|
||||
</script>
|
||||
<!-- End Matomo Code -->
|
||||
|
||||
|
||||
</head>
|
||||
<body class="is-preload">
|
||||
|
||||
<?php
|
||||
class Version {
|
||||
public static function get() {
|
||||
$tag = trim(exec('git describe --tags --abbrev=0'));
|
||||
return sprintf('%s', $tag);
|
||||
}
|
||||
}
|
||||
|
||||
class DateVersion {
|
||||
public static function get() {
|
||||
$commitDate = new \DateTime(trim(exec('git log -n1 --pretty=%ci index.php')));
|
||||
$commitDate->setTimezone(new \DateTimeZone('Europe/Paris'));
|
||||
return sprintf('%s', $commitDate->format('d/m/Y à H:i:s'));
|
||||
}
|
||||
}
|
||||
|
||||
// echo 'Version du site : ' . Version::get();
|
||||
|
||||
?>
|
||||
|
||||
<section>
|
||||
<div class="container">
|
||||
<header class="major">
|
||||
<h2 id="logo">Actualité</h2>
|
||||
<p>Mes projets, études, suivis ou intérêts du moment.</p>
|
||||
</header>
|
||||
<div class="container"><sup>Mise à jour de la page : <?php echo DateVersion::get(); ?></sup></div>
|
||||
<div class="identity">Un peu plus de détails sur mes compétences : <a href="../" class="button small">- PRÉSENTATION -</a></div><br>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<div class="p-10 grid grid-cols-1 sm:grid-cols-1 md:grid-cols-3 lg:grid-cols-3 xl:grid-cols-3 gap-5">
|
||||
<!-- Première carte -->
|
||||
<div class="rounded overflow-hidden shadow-lg">
|
||||
<img class="w-full" src="../images/CEN_PACA.png" alt="" loading="lazy"/>
|
||||
<div class="px-6 py-4">
|
||||
<div class="font-bold text-xl mb-2">PROFESSIONNEL</div>
|
||||
<p class="text-gray-700 text-base">
|
||||
<ul class="alt">
|
||||
Chargé de mission ornithologie et gestion de sites au <a href="https://cen-paca.org/">Conservatoire d’espaces naturels de Provence-Alpes-Côte d’Azur (CEN PACA)</a> ▼ Var (83)
|
||||
</ul>
|
||||
</p>
|
||||
</div>
|
||||
<div class="px-6 pt-4 pb-2">
|
||||
<span class="inline-block bg-gray-200 rounded-full px-3 py-1 text-sm font-semibold text-gray-700 mr-2 mb-2">#profession</span>
|
||||
<span class="inline-block bg-gray-200 rounded-full px-3 py-1 text-sm font-semibold text-gray-700 mr-2 mb-2">#association</span>
|
||||
<span class="inline-block bg-gray-200 rounded-full px-3 py-1 text-sm font-semibold text-gray-700 mr-2 mb-2">#emploi</span>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Seconde carte-->
|
||||
<div class="rounded overflow-hidden shadow-lg">
|
||||
<img class="w-full" src="../images/BAGUAGE.jpg" alt="" loading="lazy"/>
|
||||
<div class="px-6 py-4">
|
||||
<div class="font-bold text-xl mb-2">NATURALISME</div>
|
||||
<p class="text-gray-700 text-base">
|
||||
<ul class="alt">
|
||||
<li>Suivi de la migration nocturne (dépôt d'un enregistreur / analyse)</li>
|
||||
<!-- <li><a href="https://oiseauxdefrance.org/news/actualite-35">Suivi des rassemblements d'Œdicnèmes criards (automne 2022)</a> ▼ Corse-du-Sud (2A)</li> -->
|
||||
<!-- <li><a href="https://www.vigienature.fr/fr/suivi-hivernal-des-oiseaux-communs-shoc">SHOC (hiver 2023)</a> ▼ Drôme (26)</li> -->
|
||||
<!-- <li><a href="https://www.faune-france.org/index.php?m_id=1164&a=2088#FN2088">EPOC - ODF (hiver 2022)</a> ▼ Drôme (26) et Corse-du-Sud (2A)</li> -->
|
||||
<li>Baguage ornithologique (en particulier programmes <a href="https://crbpo.mnhn.fr/IMG/pdf/protocole_pheno_v1_7.pdf">PHENO</a> et <a href="https://crbpo.mnhn.fr/IMG/pdf/protocole_sejour_v1_7.pdf">SEJOUR</a> du <a href="https://crbpo.mnhn.fr/">CRBPO</a>)</li>
|
||||
<li><a href="https://www.vigienature.fr/fr/observatoires/suivi-temporel-oiseaux-communs-stoc/detail-protocole-3362">STOC EPS (printemps 2024)</a></li>
|
||||
<!-- <li><a href="https://oiseauxdefrance.org/get-involved/epoc-odf">EPOC - ODF (printemps 2022)</a></li> -->
|
||||
</ul>
|
||||
</p>
|
||||
</div>
|
||||
<div class="px-6 pt-4 pb-2">
|
||||
<span class="inline-block bg-gray-200 rounded-full px-3 py-1 text-sm font-semibold text-gray-700 mr-2 mb-2">#ornithologie</span>
|
||||
<span class="inline-block bg-gray-200 rounded-full px-3 py-1 text-sm font-semibold text-gray-700 mr-2 mb-2">#passion</span>
|
||||
<span class="inline-block bg-gray-200 rounded-full px-3 py-1 text-sm font-semibold text-gray-700 mr-2 mb-2">#science</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Troisième carte -->
|
||||
<div class="rounded overflow-hidden shadow-lg">
|
||||
<img class="w-full" src="../images/NBM.jpg" alt="" loading="lazy"/>
|
||||
<div class="px-6 py-4">
|
||||
<div class="font-bold text-xl mb-2">PROJETS</div>
|
||||
<p class="text-gray-700 text-base">
|
||||
<ul class="alt">
|
||||
<li>Construction d'un site web personnel et des services associés (serveur, applications web, etc...) - <a href="https://git.charbonneau.fr/Adrien/Site-internet"><b>accès à l'évolution du projet</b></a></li>
|
||||
<li><a href="https://gitlab.com/nbm.challenge/nbm-nocturnal-bird-migration">Nocturnal Bird Migration</a></li>
|
||||
<li><a href="https://laboratoireparallele.com/2020/04/17/silent%c2%b7cities-paysages-sonores-dun-monde-confine/">Silent-Cities</a></li>
|
||||
</ul>
|
||||
</p>
|
||||
</div>
|
||||
<div class="px-6 pt-4 pb-2">
|
||||
<span class="inline-block bg-gray-200 rounded-full px-3 py-1 text-sm font-semibold text-gray-700 mr-2 mb-2">#site internet</span>
|
||||
<span class="inline-block bg-gray-200 rounded-full px-3 py-1 text-sm font-semibold text-gray-700 mr-2 mb-2">#étude</span>
|
||||
<span class="inline-block bg-gray-200 rounded-full px-3 py-1 text-sm font-semibold text-gray-700 mr-2 mb-2">#apprentissage</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- Pied de page -->
|
||||
<section id="footer">
|
||||
<div class="container">
|
||||
<ul class="copyright">
|
||||
<li>© Adrien CHARBONNEAU - <?php echo date("Y"); ?>. Tous droits réservés.</li>
|
||||
<li><a href="../">Présentation</a></li>
|
||||
<li><a href="../ACTUALITE/">Actualité</a></li>
|
||||
</ul>
|
||||
<ul class="copyright">
|
||||
<li><a href="https://git.charbonneau.fr/Adrien/Site-internet" class="a_git"><img style="margin-right: .5rem; vertical-align: middle;" src="../images/GIT.svg" width="25px" height="25px"/><b>Version : </b><span class="git git_color1 blanc"><?php echo Version::get(); ?></span><b> Branch : </b><span class="git git_color1 blanc"> master </span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- Scripts -->
|
||||
<script src="../assets/js/jquery.min.js"></script>
|
||||
<script src="../assets/js/jquery.scrollex.min.js"></script>
|
||||
<script src="../assets/js/jquery.scrolly.min.js"></script>
|
||||
<script src="../assets/js/browser.min.js"></script>
|
||||
<script src="../assets/js/breakpoints.min.js"></script>
|
||||
<script src="../assets/js/util.js"></script>
|
||||
<script src="../assets/js/main.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
18
README.md
@ -1,7 +1,21 @@
|
||||
# Code du site internet
|
||||
Dépôt git du site internet https://adriencharbonneau.fr
|
||||
Dépôt git du site internet https://www.adriencharbonneau.fr
|
||||
|
||||
[![Version du Site Internet](https://flat.badgen.net/badge/Site%20Internet/2.0/green?icon=git)](https://adriencharbonneau.fr/)
|
||||
|
||||
*Librairies utilisées :*
|
||||
|
||||
* Font Awesome
|
||||
* Tailwind
|
||||
|
||||
### Objectifs :
|
||||
- **Construire un site internet statique** : son contenu ne variera pas en fonction des lecteurs, il s'agit simplement d'une unique page HTML affichant un contenu statique
|
||||
- Posséder un **historique de version** (*versionning*) du site
|
||||
- **Code disponible** afin d'être réutilisé
|
||||
- **Code disponible** afin d'être réutilisé. Je m'inspire énormément sur internet ([Inspiration initiale](https://html5up.net/)), il est donc logique que ce soit réciproque.
|
||||
- **automatiser** au maximum les informations (*ex : intégration automatique du CV lors d'une mise à jour*)
|
||||
|
||||
### Participation du lecteur (*pas implémentée pour l'instant*) :
|
||||
Dans le cas où le lecteur du site internet remarquerait une anomalie, un dysfonctionnement ou toute autre information qui permettrait d'améliorer le site, ce dernier pourrait communiquer par le biais des tickets/issues.
|
||||
**Attention cependant : cette fonctionnalité (créer un ticket sans inscription au préalable sur le site) est impossible actuellement, les développeurs travaillent sur le sujet**
|
||||
|
||||
Néanmoins n'hésitez surtout pas à faire remonter, par le moyen qu'il vous plaira, les problèmes rencontrés sur le site ! Merci par avance 😊
|
||||
|
@ -1,13 +0,0 @@
|
||||
Version: 1.0
|
||||
|
||||
RestoreWorkspace: Default
|
||||
SaveWorkspace: Default
|
||||
AlwaysSaveHistory: Default
|
||||
|
||||
EnableCodeIndexing: Yes
|
||||
UseSpacesForTab: Yes
|
||||
NumSpacesForTab: 2
|
||||
Encoding: UTF-8
|
||||
|
||||
RnwWeave: Sweave
|
||||
LaTeX: pdfLaTeX
|
4
assets/css/fontawesome-all.min.css
vendored
@ -19,6 +19,14 @@ section, summary, time, mark, audio, video {
|
||||
font: inherit;
|
||||
vertical-align: baseline;}
|
||||
|
||||
.identity {
|
||||
box-shadow: 1px 1px 10px #aaa;
|
||||
padding: 1em;
|
||||
}
|
||||
|
||||
.a_git {
|
||||
border-bottom: none;
|
||||
}
|
||||
.git {
|
||||
font-size: 75%;
|
||||
display: inline-block;
|
||||
@ -29,13 +37,19 @@ section, summary, time, mark, audio, video {
|
||||
}
|
||||
|
||||
.git_color1 {
|
||||
background-color: #4aca62;
|
||||
background-color: #4cae4f; /* ancien 4aca62 */
|
||||
}
|
||||
|
||||
.blanc {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.crop {
|
||||
height: 1000px;
|
||||
object-fit: cover;
|
||||
object-position: 60%;
|
||||
}
|
||||
|
||||
p.details {
|
||||
color:#484848;
|
||||
font-weight: 400;
|
||||
@ -67,6 +81,7 @@ legend {
|
||||
font-weight: 400;
|
||||
line-height: 1.75em;
|
||||
font-style: italic;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
body {
|
||||
@ -75,7 +90,7 @@ body {
|
||||
|
||||
ol, ul {
|
||||
list-style: none;
|
||||
}
|
||||
}
|
||||
|
||||
blockquote, q {
|
||||
quotes: none;
|
||||
@ -157,7 +172,7 @@ input, select, textarea {
|
||||
|
||||
a:hover {
|
||||
border-bottom-color: transparent;
|
||||
color: #4ACA62 !important;
|
||||
color: #4cae4f !important;
|
||||
}
|
||||
|
||||
strong, b {
|
||||
@ -194,6 +209,7 @@ input, select, textarea {
|
||||
h3 {
|
||||
font-size: 1.75em;
|
||||
line-height: 1.5em;
|
||||
color: #4cae4f;
|
||||
}
|
||||
|
||||
h4 {
|
||||
@ -1750,7 +1766,7 @@ input, select, textarea {
|
||||
.container {
|
||||
margin: 0 auto;
|
||||
max-width: calc(100% - 4.5em);
|
||||
width: 45em;
|
||||
width: 50em;
|
||||
}
|
||||
|
||||
.container.xsmall {
|
||||
@ -1802,7 +1818,7 @@ input, select, textarea {
|
||||
header p {
|
||||
color: #aaa;
|
||||
position: relative;
|
||||
margin: 0 0 1.6875em 0;
|
||||
margin: 0 0 2em 0;
|
||||
}
|
||||
|
||||
header h2 + p {
|
||||
@ -1826,7 +1842,7 @@ input, select, textarea {
|
||||
}
|
||||
|
||||
header.major h2 {
|
||||
color: #4ACA62;
|
||||
color: #4cae4f;
|
||||
font-size: 3.5em;
|
||||
}
|
||||
|
||||
@ -1889,7 +1905,7 @@ input, select, textarea {
|
||||
input[type="email"]:focus,
|
||||
select:focus,
|
||||
textarea:focus {
|
||||
border-color: #4ACA62;
|
||||
border-color: #4cae4f;
|
||||
}
|
||||
|
||||
select {
|
||||
@ -1994,7 +2010,7 @@ input, select, textarea {
|
||||
|
||||
input[type="checkbox"]:focus + label:before,
|
||||
input[type="radio"]:focus + label:before {
|
||||
border-color: #4ACA62;
|
||||
border-color: #4cae4f;
|
||||
}
|
||||
|
||||
input[type="checkbox"] + label:before {
|
||||
@ -2219,8 +2235,8 @@ input, select, textarea {
|
||||
|
||||
.image.fit {
|
||||
display: block;
|
||||
margin: 0 0 2.25em 0;
|
||||
width: 100%;
|
||||
margin: auto;
|
||||
width: 70%;
|
||||
}
|
||||
|
||||
.image.fit img {
|
||||
@ -2265,10 +2281,11 @@ input, select, textarea {
|
||||
list-style: disc;
|
||||
margin: 0 0 2.25em 0;
|
||||
padding-left: 1em;
|
||||
|
||||
}
|
||||
|
||||
ul li {
|
||||
padding-left: 0.5em;
|
||||
padding-left: 0em;
|
||||
}
|
||||
|
||||
ul.alt {
|
||||
@ -2277,7 +2294,7 @@ input, select, textarea {
|
||||
}
|
||||
|
||||
ul.alt li {
|
||||
border-top: solid 2px #f4f4f4;
|
||||
border-top: dashed 2px #f4f4f4;
|
||||
padding: 0.5em 0;
|
||||
}
|
||||
|
||||
@ -2423,17 +2440,24 @@ input, select, textarea {
|
||||
ul.feature-icons li.menu {
|
||||
text-decoration: none;
|
||||
display: inline-block;
|
||||
margin: 0 0 1.6875em 0;
|
||||
margin: 0 0 2em 0;
|
||||
padding: 0.35em 0 0 3.5em;
|
||||
position: relative;
|
||||
vertical-align: top;
|
||||
width: 48%;
|
||||
}
|
||||
|
||||
ul.feature-icons li.icon {
|
||||
text-decoration: none;
|
||||
margin: 0 0 2em 0;
|
||||
padding: 0.35em 0 0 3.5em;
|
||||
position: relative;
|
||||
vertical-align: top;
|
||||
}
|
||||
|
||||
ul.feature-icons li {
|
||||
text-decoration: none;
|
||||
margin: 0 0 1.6875em 0;
|
||||
padding: 0.35em 0 0 3.5em;
|
||||
margin: 0 0 2em 0;
|
||||
position: relative;
|
||||
vertical-align: top;
|
||||
}
|
||||
@ -2453,7 +2477,7 @@ input, select, textarea {
|
||||
}
|
||||
|
||||
ul.feature-icons li:before {
|
||||
background: #4ACA62;
|
||||
background: #4cae4f;
|
||||
border-radius: 100%;
|
||||
color: #ffffff;
|
||||
display: block;
|
||||
@ -2669,7 +2693,7 @@ input, select, textarea {
|
||||
input[type="reset"].primary,
|
||||
input[type="button"].primary,
|
||||
.button.primary {
|
||||
background-color: #4ACA62;
|
||||
background-color: #4cae4f;
|
||||
color: #ffffff !important;
|
||||
}
|
||||
|
||||
@ -2765,7 +2789,7 @@ input, select, textarea {
|
||||
-webkit-justify-content: space-between;
|
||||
-ms-justify-content: space-between;
|
||||
justify-content: space-between;
|
||||
background: #4ACA62;
|
||||
background: #4cae4f;
|
||||
color: #d2f2e9;
|
||||
height: 100%;
|
||||
overflow-y: auto;
|
||||
@ -2874,12 +2898,12 @@ input, select, textarea {
|
||||
|
||||
#menu a:hover {
|
||||
background: #fff;
|
||||
color: #4ACA62 !important;
|
||||
color: #4cae4f !important;
|
||||
}
|
||||
|
||||
#header > nav ul li a.active {
|
||||
background: #fff;
|
||||
color: #4ACA62 !important;
|
||||
color: #4cae4f !important;
|
||||
}
|
||||
|
||||
#header > nav ul li:first-child {
|
||||
@ -2900,7 +2924,7 @@ input, select, textarea {
|
||||
}
|
||||
|
||||
#main > section > .container {
|
||||
padding: 6em 0 4em 0;
|
||||
padding: 2em 0 2em 0;
|
||||
}
|
||||
|
||||
#main > section:first-child {
|
||||
@ -2915,12 +2939,14 @@ input, select, textarea {
|
||||
color: #c0c0c0;
|
||||
overflow: hidden;
|
||||
padding: 4em 0 2em 0;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
#footer .copyright {
|
||||
line-height: 1em;
|
||||
list-style: none;
|
||||
padding: 0;
|
||||
margin: 0 0 1em 0;
|
||||
}
|
||||
|
||||
#footer .copyright li {
|
||||
@ -3101,7 +3127,7 @@ input, select, textarea {
|
||||
top: 0;
|
||||
width: 100%;
|
||||
z-index: 10001;
|
||||
background: #222;
|
||||
background: #4cae4f;
|
||||
color: #fff;
|
||||
min-width: 320px;
|
||||
}
|
||||
@ -3147,7 +3173,7 @@ input, select, textarea {
|
||||
}
|
||||
|
||||
#titleBar .toggle:before {
|
||||
background: #4ACA62;
|
||||
background: #4cae4f;
|
||||
color: #ffffff;
|
||||
content: '\f0c9';
|
||||
display: block;
|
||||
@ -3268,7 +3294,7 @@ input, select, textarea {
|
||||
}
|
||||
|
||||
#header > header .avatar {
|
||||
margin: 0 auto 1.6875em auto;
|
||||
margin: 0 auto 2em auto;
|
||||
width: 6em;
|
||||
}
|
||||
|
||||
@ -3583,6 +3609,10 @@ input, select, textarea {
|
||||
font-size: 0.8rem;
|
||||
}
|
||||
|
||||
.caption p {
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
.gallery.style1 article .caption a {
|
||||
pointer-events: auto;
|
||||
}
|
||||
|
175460
assets/css/tailwind.css
Normal file
2
assets/js-old/breakpoints.min.js
vendored
@ -1,2 +0,0 @@
|
||||
/* breakpoints.js v1.0 | @ajlkn | MIT licensed */
|
||||
var breakpoints=function(){"use strict";function e(e){t.init(e)}var t={list:null,media:{},events:[],init:function(e){t.list=e,window.addEventListener("resize",t.poll),window.addEventListener("orientationchange",t.poll),window.addEventListener("load",t.poll),window.addEventListener("fullscreenchange",t.poll)},active:function(e){var n,a,s,i,r,d,c;if(!(e in t.media)){if(">="==e.substr(0,2)?(a="gte",n=e.substr(2)):"<="==e.substr(0,2)?(a="lte",n=e.substr(2)):">"==e.substr(0,1)?(a="gt",n=e.substr(1)):"<"==e.substr(0,1)?(a="lt",n=e.substr(1)):"!"==e.substr(0,1)?(a="not",n=e.substr(1)):(a="eq",n=e),n&&n in t.list)if(i=t.list[n],Array.isArray(i)){if(r=parseInt(i[0]),d=parseInt(i[1]),isNaN(r)){if(isNaN(d))return;c=i[1].substr(String(d).length)}else c=i[0].substr(String(r).length);if(isNaN(r))switch(a){case"gte":s="screen";break;case"lte":s="screen and (max-width: "+d+c+")";break;case"gt":s="screen and (min-width: "+(d+1)+c+")";break;case"lt":s="screen and (max-width: -1px)";break;case"not":s="screen and (min-width: "+(d+1)+c+")";break;default:s="screen and (max-width: "+d+c+")"}else if(isNaN(d))switch(a){case"gte":s="screen and (min-width: "+r+c+")";break;case"lte":s="screen";break;case"gt":s="screen and (max-width: -1px)";break;case"lt":s="screen and (max-width: "+(r-1)+c+")";break;case"not":s="screen and (max-width: "+(r-1)+c+")";break;default:s="screen and (min-width: "+r+c+")"}else switch(a){case"gte":s="screen and (min-width: "+r+c+")";break;case"lte":s="screen and (max-width: "+d+c+")";break;case"gt":s="screen and (min-width: "+(d+1)+c+")";break;case"lt":s="screen and (max-width: "+(r-1)+c+")";break;case"not":s="screen and (max-width: "+(r-1)+c+"), screen and (min-width: "+(d+1)+c+")";break;default:s="screen and (min-width: "+r+c+") and (max-width: "+d+c+")"}}else s="("==i.charAt(0)?"screen and "+i:i;t.media[e]=!!s&&s}return t.media[e]!==!1&&window.matchMedia(t.media[e]).matches},on:function(e,n){t.events.push({query:e,handler:n,state:!1}),t.active(e)&&n()},poll:function(){var e,n;for(e=0;e<t.events.length;e++)n=t.events[e],t.active(n.query)?n.state||(n.state=!0,n.handler()):n.state&&(n.state=!1)}};return e._=t,e.on=function(e,n){t.on(e,n)},e.active=function(e){return t.active(e)},e}();!function(e,t){"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?module.exports=t():e.breakpoints=t()}(this,function(){return breakpoints});
|
2
assets/js-old/browser.min.js
vendored
@ -1,2 +0,0 @@
|
||||
/* browser.js v1.0 | @ajlkn | MIT licensed */
|
||||
var browser=function(){"use strict";var e={name:null,version:null,os:null,osVersion:null,touch:null,mobile:null,_canUse:null,canUse:function(n){e._canUse||(e._canUse=document.createElement("div"));var o=e._canUse.style,r=n.charAt(0).toUpperCase()+n.slice(1);return n in o||"Moz"+r in o||"Webkit"+r in o||"O"+r in o||"ms"+r in o},init:function(){var n,o,r,i,t=navigator.userAgent;for(n="other",o=0,r=[["firefox",/Firefox\/([0-9\.]+)/],["bb",/BlackBerry.+Version\/([0-9\.]+)/],["bb",/BB[0-9]+.+Version\/([0-9\.]+)/],["opera",/OPR\/([0-9\.]+)/],["opera",/Opera\/([0-9\.]+)/],["edge",/Edge\/([0-9\.]+)/],["safari",/Version\/([0-9\.]+).+Safari/],["chrome",/Chrome\/([0-9\.]+)/],["ie",/MSIE ([0-9]+)/],["ie",/Trident\/.+rv:([0-9]+)/]],i=0;i<r.length;i++)if(t.match(r[i][1])){n=r[i][0],o=parseFloat(RegExp.$1);break}for(e.name=n,e.version=o,n="other",o=0,r=[["ios",/([0-9_]+) like Mac OS X/,function(e){return e.replace("_",".").replace("_","")}],["ios",/CPU like Mac OS X/,function(e){return 0}],["wp",/Windows Phone ([0-9\.]+)/,null],["android",/Android ([0-9\.]+)/,null],["mac",/Macintosh.+Mac OS X ([0-9_]+)/,function(e){return e.replace("_",".").replace("_","")}],["windows",/Windows NT ([0-9\.]+)/,null],["bb",/BlackBerry.+Version\/([0-9\.]+)/,null],["bb",/BB[0-9]+.+Version\/([0-9\.]+)/,null],["linux",/Linux/,null],["bsd",/BSD/,null],["unix",/X11/,null]],i=0;i<r.length;i++)if(t.match(r[i][1])){n=r[i][0],o=parseFloat(r[i][2]?r[i][2](RegExp.$1):RegExp.$1);break}e.os=n,e.osVersion=o,e.touch="wp"==e.os?navigator.msMaxTouchPoints>0:!!("ontouchstart"in window),e.mobile="wp"==e.os||"android"==e.os||"ios"==e.os||"bb"==e.os}};return e.init(),e}();!function(e,n){"function"==typeof define&&define.amd?define([],n):"object"==typeof exports?module.exports=n():e.browser=n()}(this,function(){return browser});
|
@ -1,563 +0,0 @@
|
||||
/*
|
||||
Story by HTML5 UP
|
||||
html5up.net | @ajlkn
|
||||
Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
|
||||
|
||||
Note: Only needed for demo purposes. Delete for production sites.
|
||||
*/
|
||||
|
||||
(function($) {
|
||||
|
||||
var $window = $(window);
|
||||
|
||||
// Styles.
|
||||
$(
|
||||
'<style>' +
|
||||
'.demo-animate-all:not(.gallery), .demo-animate-all:not(.gallery) *, .demo-animate-all:not(.gallery) *:before, .demo-animate-all:not(.gallery) *:after { transition: all 0.5s ease-in-out; }' +
|
||||
'.demo-controls .property .classes { display: none; }' +
|
||||
'.demo-controls .property[data-requires] { display: none; }' +
|
||||
'.demo-controls .property[data-requires].active { display: inline; }' +
|
||||
'.demo-controls .property .tooltip { position: relative; }' +
|
||||
'.demo-controls .property .tooltip:before { content: \'Click to change!\'; font-size: 0.7rem; position: absolute; bottom: 100%; left: 0; background: #47D3E5; color: #ffffff; line-height: 1; white-space: nowrap; font-weight: bold; border-radius: 0.125rem; padding: 0.325rem 0.425rem; animation: demo-controls-tooltip 1.5s forwards; animation-delay: 1s; opacity: 0; }' +
|
||||
'.demo-controls .property .tooltip:after { content: \'\'; position: absolute; bottom: calc(100% - 0.25rem); left: 0.5rem; border-left: solid 0.5rem transparent; border-right: solid 0.5rem transparent; border-top: solid 0.5rem #47D3E5; width: 0.5rem; height: 0.5rem; animation: demo-controls-tooltip 1.5s forwards; animation-delay: 1s; opacity: 0; }' +
|
||||
'@keyframes demo-controls-tooltip {' +
|
||||
'0% { opacity: 0; transform: translateY(0); }' +
|
||||
'10% { opacity: 1; transform: translateY(0.125rem); }' +
|
||||
'20% { opacity: 1; transform: translateY(-0.125rem); }' +
|
||||
'30% { opacity: 1; transform: translateY(0.125rem); }' +
|
||||
'40% { opacity: 1; transform: translateY(-0.125rem); }' +
|
||||
'50% { opacity: 1; transform: translateY(0.125rem); }' +
|
||||
'60% { opacity: 1; transform: translateY(0); }' +
|
||||
'90% { opacity: 1; }' +
|
||||
'100% { opacity: 0; }' +
|
||||
'}' +
|
||||
'</style>'
|
||||
).appendTo($('head'));
|
||||
|
||||
// Functions.
|
||||
$.fn.demo_controls = function(styles, userOptions) {
|
||||
|
||||
var $this = $(this),
|
||||
$styleProperty, $stylePropertyClasses,
|
||||
$controls, $x, $y, $z,
|
||||
options,
|
||||
current, i, j, k, s, n, count;
|
||||
|
||||
// No elements?
|
||||
if (this.length == 0)
|
||||
return $this;
|
||||
|
||||
// Multiple elements?
|
||||
if (this.length > 1) {
|
||||
|
||||
for (var i=0; i < this.length; i++)
|
||||
$(this[i]).demo_controls(styles, userOptions);
|
||||
|
||||
return $this;
|
||||
|
||||
}
|
||||
|
||||
// Options.
|
||||
options = $.extend({
|
||||
target: null,
|
||||
palette: true
|
||||
}, userOptions);
|
||||
|
||||
// Controls.
|
||||
if (styles) {
|
||||
|
||||
$controls = $(
|
||||
'<span class="demo-controls">' +
|
||||
'<span class="property" data-name="style">' +
|
||||
'<a href="#" class="title tooltip">style</a>' +
|
||||
'<span class="classes"></span>' + (options.palette ? ', ' : ' ') +
|
||||
'</span>' +
|
||||
(options.palette ?
|
||||
'<span class="property active" data-name="scheme">' +
|
||||
'<a href="#" class="title">scheme</a>' +
|
||||
'<span class="classes">' +
|
||||
'<span data-class="-" class="active">default</span>' +
|
||||
'<span data-class="invert">invert</span>' +
|
||||
'</span>, ' +
|
||||
'</span>' +
|
||||
'<span class="property active" data-name="color">' +
|
||||
'<a href="#" class="title">color</a>' +
|
||||
'<span class="classes">' +
|
||||
'<span data-class="-" class="active">default</span>' +
|
||||
'<span data-class="color1">color1</span>' +
|
||||
'<span data-class="color2">color2</span>' +
|
||||
'<span data-class="color3">color3</span>' +
|
||||
'<span data-class="color4">color4</span>' +
|
||||
'<span data-class="color5">color5</span>' +
|
||||
'<span data-class="color6">color6</span>' +
|
||||
'<span data-class="color7">color7</span>' +
|
||||
'</span>, ' +
|
||||
'</span>'
|
||||
: '') +
|
||||
'</span>'
|
||||
);
|
||||
|
||||
}
|
||||
else {
|
||||
|
||||
$controls = $(
|
||||
'<span class="demo-controls">' +
|
||||
(options.palette ?
|
||||
'<span class="property active" data-name="scheme">' +
|
||||
'<a href="#" class="title">scheme</a>' +
|
||||
'<span class="classes">' +
|
||||
'<span data-class="-" class="active">default</span>' +
|
||||
'<span data-class="invert">invert</span>' +
|
||||
'</span> and ' +
|
||||
'</span>' +
|
||||
'<span class="property active" data-name="color">' +
|
||||
'<a href="#" class="title">color</a>' +
|
||||
'<span class="classes">' +
|
||||
'<span data-class="-" class="active">default</span>' +
|
||||
'<span data-class="color1">color1</span>' +
|
||||
'<span data-class="color2">color2</span>' +
|
||||
'<span data-class="color3">color3</span>' +
|
||||
'<span data-class="color4">color4</span>' +
|
||||
'<span data-class="color5">color5</span>' +
|
||||
'<span data-class="color6">color6</span>' +
|
||||
'<span data-class="color7">color7</span>' +
|
||||
'</span>' +
|
||||
'</span>'
|
||||
: '') +
|
||||
'</span>'
|
||||
);
|
||||
|
||||
}
|
||||
|
||||
// Target.
|
||||
switch (options.target) {
|
||||
|
||||
case 'previous':
|
||||
$this.prev().find('.demo-controls').replaceWith($controls);
|
||||
break;
|
||||
|
||||
default:
|
||||
$this.find('.demo-controls').replaceWith($controls);
|
||||
break;
|
||||
|
||||
}
|
||||
|
||||
// Styles.
|
||||
if (styles) {
|
||||
|
||||
$styleProperty = $controls.find('.property[data-name="style"]');
|
||||
$stylePropertyClasses = $styleProperty.children('.classes');
|
||||
|
||||
for (i in styles) {
|
||||
|
||||
current = false;
|
||||
count = Object.keys(styles[i]).length;
|
||||
n = 1;
|
||||
|
||||
// Add to style property.
|
||||
$x = $('<span data-class="' + i + '">, ' + i + '</span>')
|
||||
.appendTo($stylePropertyClasses);
|
||||
|
||||
if ($this.hasClass(i)) {
|
||||
|
||||
$x.addClass('active');
|
||||
current = true;
|
||||
|
||||
}
|
||||
|
||||
// Step through properties.
|
||||
for (j in styles[i]) {
|
||||
|
||||
$x = $(
|
||||
'<span class="property" data-name="' + j + '" data-requires="' + i + '">' +
|
||||
(n == count ? '<span>and </span>' : '') +
|
||||
'<a href="#" class="title">' + j + '</a>' +
|
||||
'<span class="classes">' +
|
||||
'</span>' + (n < count ? ', ' : '') +
|
||||
'</span>'
|
||||
).appendTo($controls);
|
||||
|
||||
$y = $x.children('.classes');
|
||||
|
||||
if (current)
|
||||
$x.addClass('active');
|
||||
|
||||
for (k in styles[i][j]) {
|
||||
|
||||
$z = $('<span data-class="' + k + '">, ' + styles[i][j][k].replace('*', '') + '</span>')
|
||||
.appendTo($y);
|
||||
|
||||
if (styles[i][j][k].substr(-1, 1) == '*')
|
||||
$z.addClass('default');
|
||||
|
||||
if (current
|
||||
&& $this.hasClass(k))
|
||||
$z.addClass('active');
|
||||
|
||||
}
|
||||
|
||||
n++;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// Events.
|
||||
$controls.on('click', 'a', function(event) {
|
||||
event.preventDefault();
|
||||
});
|
||||
|
||||
$controls.on('click', '.property.active', function(event) {
|
||||
|
||||
var $property = $(this);
|
||||
var $classes = $property.find('.classes > *');
|
||||
var $current = $classes.filter('.active');
|
||||
var $next;
|
||||
|
||||
// Determine next.
|
||||
if ($current.length == 0
|
||||
|| $current.index() == $classes.length - 1)
|
||||
$next = $classes.first();
|
||||
else
|
||||
$next = $current.next();
|
||||
|
||||
// Turn on animate all.
|
||||
$this.addClass('demo-animate-all');
|
||||
|
||||
// Deactivate current.
|
||||
$current.removeClass('active');
|
||||
$this.removeClass($current.data('class'));
|
||||
|
||||
// Activate next.
|
||||
$next.addClass('active');
|
||||
$this.addClass($next.data('class'));
|
||||
|
||||
// Turn off animate all.
|
||||
setTimeout(function() {
|
||||
$this.removeClass('demo-animate-all');
|
||||
}, 500);
|
||||
|
||||
});
|
||||
|
||||
$controls.on('click', '.property[data-name="style"]', function(event) {
|
||||
|
||||
var $property = $(this);
|
||||
var $classes = $property.find('.classes > *');
|
||||
var $current = $classes.filter('.active');
|
||||
var $next;
|
||||
|
||||
// Determine next.
|
||||
if ($current.length == 0
|
||||
|| $current.index() == $classes.length - 1)
|
||||
$next = $classes.first();
|
||||
else
|
||||
$next = $current.next();
|
||||
|
||||
// Turn on animate all.
|
||||
$this.addClass('demo-animate-all');
|
||||
|
||||
// Deactivate current.
|
||||
$current.removeClass('active');
|
||||
$this.removeClass($current.data('class'));
|
||||
|
||||
$controls.find('.property[data-requires="' + $current.data('class') + '"]')
|
||||
.removeClass('active');
|
||||
|
||||
$controls.find('.property[data-requires="' + $current.data('class') + '"] > .classes > .active').each(function() {
|
||||
|
||||
$(this).removeClass('active');
|
||||
|
||||
if ($(this).data('class') != '-')
|
||||
$this.removeClass($(this).data('class'));
|
||||
|
||||
});
|
||||
|
||||
// Activate next.
|
||||
$next.addClass('active');
|
||||
$this.addClass($next.data('class'));
|
||||
|
||||
$controls.find('.property[data-requires="' + $next.data('class') + '"]')
|
||||
.addClass('active');
|
||||
|
||||
$controls.find('.property[data-requires="' + $next.data('class') + '"] > .classes > .default').each(function() {
|
||||
|
||||
$(this).addClass('active');
|
||||
|
||||
if ($(this).data('class') != '-')
|
||||
$this.addClass($(this).data('class'));
|
||||
|
||||
});
|
||||
|
||||
// Turn off animate all.
|
||||
setTimeout(function() {
|
||||
$this.removeClass('demo-animate-all');
|
||||
}, 500);
|
||||
|
||||
});
|
||||
|
||||
};
|
||||
|
||||
// Elements.
|
||||
|
||||
// Wrappers.
|
||||
$('.wrapper').demo_controls(null, {
|
||||
palette: true
|
||||
});
|
||||
|
||||
// Banner.
|
||||
$('.banner').demo_controls({
|
||||
style1: {
|
||||
'size': {
|
||||
'-': 'normal',
|
||||
'fullscreen': 'fullscreen*'
|
||||
},
|
||||
'orientation': {
|
||||
'orient-left': 'left*',
|
||||
'orient-right': 'right'
|
||||
},
|
||||
'content alignment': {
|
||||
'content-align-left': 'left*',
|
||||
'content-align-center': 'center',
|
||||
'content-align-right': 'right'
|
||||
},
|
||||
'image position': {
|
||||
'image-position-left': 'left',
|
||||
'image-position-center': 'center*',
|
||||
'image-position-right': 'right'
|
||||
}
|
||||
},
|
||||
style2: {
|
||||
'size': {
|
||||
'-': 'normal',
|
||||
'fullscreen': 'fullscreen*'
|
||||
},
|
||||
'orientation': {
|
||||
'orient-left': 'left',
|
||||
'orient-center': 'center*',
|
||||
'orient-right': 'right'
|
||||
},
|
||||
'content alignment': {
|
||||
'content-align-left': 'left',
|
||||
'content-align-center': 'center*',
|
||||
'content-align-right': 'right'
|
||||
},
|
||||
'image position': {
|
||||
'image-position-left': 'left',
|
||||
'image-position-center': 'center*',
|
||||
'image-position-right': 'right'
|
||||
}
|
||||
},
|
||||
style3: {
|
||||
'size': {
|
||||
'-': 'normal',
|
||||
'fullscreen': 'fullscreen*'
|
||||
},
|
||||
'orientation': {
|
||||
'orient-left': 'left',
|
||||
'orient-right': 'right*'
|
||||
},
|
||||
'content alignment': {
|
||||
'content-align-left': 'left*',
|
||||
'content-align-center': 'center',
|
||||
'content-align-right': 'right'
|
||||
},
|
||||
'image position': {
|
||||
'image-position-left': 'left',
|
||||
'image-position-center': 'center*',
|
||||
'image-position-right': 'right'
|
||||
}
|
||||
},
|
||||
style4: {
|
||||
'size': {
|
||||
'-': 'normal',
|
||||
'fullscreen': 'fullscreen*'
|
||||
},
|
||||
'phone type': {
|
||||
'iphone': 'iphone*',
|
||||
'android': 'android'
|
||||
},
|
||||
'orientation': {
|
||||
'orient-left': 'left',
|
||||
'orient-right': 'right*'
|
||||
},
|
||||
'content alignment': {
|
||||
'content-align-left': 'left*',
|
||||
'content-align-center': 'center',
|
||||
'content-align-right': 'right'
|
||||
},
|
||||
'image position': {
|
||||
'image-position-left': 'left',
|
||||
'image-position-center': 'center*',
|
||||
'image-position-right': 'right'
|
||||
}
|
||||
},
|
||||
style5: {
|
||||
'size': {
|
||||
'-': 'normal',
|
||||
'fullscreen': 'fullscreen*'
|
||||
},
|
||||
'content alignment': {
|
||||
'content-align-left': 'left',
|
||||
'content-align-center': 'center*',
|
||||
'content-align-right': 'right'
|
||||
},
|
||||
'image position': {
|
||||
'image-position-left': 'left',
|
||||
'image-position-center': 'center*',
|
||||
'image-position-right': 'right'
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
// Spotlight.
|
||||
$('.spotlight').demo_controls({
|
||||
style1: {
|
||||
'orientation': {
|
||||
'orient-left': 'left',
|
||||
'orient-right': 'right*'
|
||||
},
|
||||
'content alignment': {
|
||||
'content-align-left': 'left*',
|
||||
'content-align-center': 'center',
|
||||
'content-align-right': 'right'
|
||||
},
|
||||
'image position': {
|
||||
'image-position-left': 'left*',
|
||||
'image-position-center': 'center',
|
||||
'image-position-right': 'right'
|
||||
}
|
||||
},
|
||||
style2: {
|
||||
'orientation': {
|
||||
'orient-left': 'left',
|
||||
'orient-right': 'right*'
|
||||
},
|
||||
'content alignment': {
|
||||
'content-align-left': 'left*',
|
||||
'content-align-center': 'center',
|
||||
'content-align-right': 'right'
|
||||
},
|
||||
'image position': {
|
||||
'image-position-left': 'left',
|
||||
'image-position-center': 'center*',
|
||||
'image-position-right': 'right'
|
||||
}
|
||||
},
|
||||
style3: {
|
||||
'phone type': {
|
||||
'iphone': 'iphone*',
|
||||
'android': 'android'
|
||||
},
|
||||
'orientation': {
|
||||
'orient-left': 'left',
|
||||
'orient-right': 'right*'
|
||||
},
|
||||
'content alignment': {
|
||||
'content-align-left': 'left*',
|
||||
'content-align-center': 'center',
|
||||
'content-align-right': 'right'
|
||||
},
|
||||
'image position': {
|
||||
'image-position-left': 'left',
|
||||
'image-position-center': 'center*',
|
||||
'image-position-right': 'right'
|
||||
}
|
||||
},
|
||||
style4: {
|
||||
'size': {
|
||||
'-size': 'normal',
|
||||
'fullscreen': 'fullscreen*',
|
||||
'halfscreen': 'halfscreen'
|
||||
},
|
||||
'orientation': {
|
||||
'orient-left': 'left*',
|
||||
'orient-center': 'center',
|
||||
'orient-right': 'right'
|
||||
},
|
||||
'content alignment': {
|
||||
'content-align-left': 'left*',
|
||||
'content-align-center': 'center',
|
||||
'content-align-right': 'right'
|
||||
},
|
||||
'image position': {
|
||||
'image-position-left': 'left',
|
||||
'image-position-center': 'center*',
|
||||
'image-position-right': 'right'
|
||||
}
|
||||
},
|
||||
style5: {
|
||||
'size': {
|
||||
'-size': 'normal',
|
||||
'fullscreen': 'fullscreen*',
|
||||
'halfscreen': 'halfscreen'
|
||||
},
|
||||
'orientation': {
|
||||
'orient-left': 'left*',
|
||||
'orient-center': 'center',
|
||||
'orient-right': 'right'
|
||||
},
|
||||
'content alignment': {
|
||||
'content-align-left': 'left*',
|
||||
'content-align-center': 'center',
|
||||
'content-align-right': 'right'
|
||||
},
|
||||
'image position': {
|
||||
'image-position-left': 'left',
|
||||
'image-position-center': 'center*',
|
||||
'image-position-right': 'right'
|
||||
}
|
||||
},
|
||||
});
|
||||
|
||||
// Gallery.
|
||||
$('.gallery').demo_controls({
|
||||
style1: {
|
||||
'size': {
|
||||
'small': 'small',
|
||||
'medium': 'medium*',
|
||||
'big': 'big'
|
||||
}
|
||||
},
|
||||
style2: {
|
||||
'size': {
|
||||
'small': 'small',
|
||||
'medium': 'medium*',
|
||||
'big': 'big'
|
||||
}
|
||||
},
|
||||
}, {
|
||||
target: 'previous',
|
||||
palette: false
|
||||
});
|
||||
|
||||
// Items.
|
||||
$('.items').demo_controls({
|
||||
style1: {
|
||||
'size': {
|
||||
'small': 'small',
|
||||
'medium': 'medium*',
|
||||
'big': 'big'
|
||||
}
|
||||
},
|
||||
style2: {
|
||||
'size': {
|
||||
'small': 'small',
|
||||
'medium': 'medium*',
|
||||
'big': 'big'
|
||||
}
|
||||
},
|
||||
style3: {
|
||||
'size': {
|
||||
'small': 'small',
|
||||
'medium': 'medium*',
|
||||
'big': 'big'
|
||||
}
|
||||
}
|
||||
}, {
|
||||
target: 'previous',
|
||||
palette: false
|
||||
});
|
||||
|
||||
})(jQuery);
|
2
assets/js-old/jquery.min.js
vendored
2
assets/js-old/jquery.scrollex.min.js
vendored
@ -1,2 +0,0 @@
|
||||
/* jquery.scrollex v0.2.1 | (c) @ajlkn | github.com/ajlkn/jquery.scrollex | MIT licensed */
|
||||
!function(t){function e(t,e,n){return"string"==typeof t&&("%"==t.slice(-1)?t=parseInt(t.substring(0,t.length-1))/100*e:"vh"==t.slice(-2)?t=parseInt(t.substring(0,t.length-2))/100*n:"px"==t.slice(-2)&&(t=parseInt(t.substring(0,t.length-2)))),t}var n=t(window),i=1,o={};n.on("scroll",function(){var e=n.scrollTop();t.map(o,function(t){window.clearTimeout(t.timeoutId),t.timeoutId=window.setTimeout(function(){t.handler(e)},t.options.delay)})}).on("load",function(){n.trigger("scroll")}),jQuery.fn.scrollex=function(l){var s=t(this);if(0==this.length)return s;if(this.length>1){for(var r=0;r<this.length;r++)t(this[r]).scrollex(l);return s}if(s.data("_scrollexId"))return s;var a,u,h,c,p;switch(a=i++,u=jQuery.extend({top:0,bottom:0,delay:0,mode:"default",enter:null,leave:null,initialize:null,terminate:null,scroll:null},l),u.mode){case"top":h=function(t,e,n,i,o){return t>=i&&o>=t};break;case"bottom":h=function(t,e,n,i,o){return n>=i&&o>=n};break;case"middle":h=function(t,e,n,i,o){return e>=i&&o>=e};break;case"top-only":h=function(t,e,n,i,o){return i>=t&&n>=i};break;case"bottom-only":h=function(t,e,n,i,o){return n>=o&&o>=t};break;default:case"default":h=function(t,e,n,i,o){return n>=i&&o>=t}}return c=function(t){var i,o,l,s,r,a,u=this.state,h=!1,c=this.$element.offset();i=n.height(),o=t+i/2,l=t+i,s=this.$element.outerHeight(),r=c.top+e(this.options.top,s,i),a=c.top+s-e(this.options.bottom,s,i),h=this.test(t,o,l,r,a),h!=u&&(this.state=h,h?this.options.enter&&this.options.enter.apply(this.element):this.options.leave&&this.options.leave.apply(this.element)),this.options.scroll&&this.options.scroll.apply(this.element,[(o-r)/(a-r)])},p={id:a,options:u,test:h,handler:c,state:null,element:this,$element:s,timeoutId:null},o[a]=p,s.data("_scrollexId",p.id),p.options.initialize&&p.options.initialize.apply(this),s},jQuery.fn.unscrollex=function(){var e=t(this);if(0==this.length)return e;if(this.length>1){for(var n=0;n<this.length;n++)t(this[n]).unscrollex();return e}var i,l;return(i=e.data("_scrollexId"))?(l=o[i],window.clearTimeout(l.timeoutId),delete o[i],e.removeData("_scrollexId"),l.options.terminate&&l.options.terminate.apply(this),e):e}}(jQuery);
|
2
assets/js-old/jquery.scrolly.min.js
vendored
@ -1,2 +0,0 @@
|
||||
/* jquery.scrolly v1.0.0-dev | (c) @ajlkn | MIT licensed */
|
||||
(function(e){function u(s,o){var u,a,f;if((u=e(s))[t]==0)return n;a=u[i]()[r];switch(o.anchor){case"middle":f=a-(e(window).height()-u.outerHeight())/2;break;default:case r:f=Math.max(a,0)}return typeof o[i]=="function"?f-=o[i]():f-=o[i],f}var t="length",n=null,r="top",i="offset",s="click.scrolly",o=e(window);e.fn.scrolly=function(i){var o,a,f,l,c=e(this);if(this[t]==0)return c;if(this[t]>1){for(o=0;o<this[t];o++)e(this[o]).scrolly(i);return c}l=n,f=c.attr("href");if(f.charAt(0)!="#"||f[t]<2)return c;a=jQuery.extend({anchor:r,easing:"swing",offset:0,parent:e("body,html"),pollOnce:!1,speed:1e3},i),a.pollOnce&&(l=u(f,a)),c.off(s).on(s,function(e){var t=l!==n?l:u(f,a);t!==n&&(e.preventDefault(),a.parent.stop().animate({scrollTop:t},a.speed,a.easing))})}})(jQuery);
|
@ -1,341 +0,0 @@
|
||||
/*
|
||||
Story by HTML5 UP
|
||||
html5up.net | @ajlkn
|
||||
Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
|
||||
*/
|
||||
|
||||
(function($) {
|
||||
|
||||
var $window = $(window),
|
||||
$body = $('body'),
|
||||
$wrapper = $('#wrapper');
|
||||
|
||||
// Breakpoints.
|
||||
breakpoints({
|
||||
xlarge: [ '1281px', '1680px' ],
|
||||
large: [ '981px', '1280px' ],
|
||||
medium: [ '737px', '980px' ],
|
||||
small: [ '481px', '736px' ],
|
||||
xsmall: [ '361px', '480px' ],
|
||||
xxsmall: [ null, '360px' ]
|
||||
});
|
||||
|
||||
// Play initial animations on page load.
|
||||
$window.on('load', function() {
|
||||
window.setTimeout(function() {
|
||||
$body.removeClass('is-preload');
|
||||
}, 100);
|
||||
});
|
||||
|
||||
// Browser fixes.
|
||||
|
||||
// IE: Flexbox min-height bug.
|
||||
if (browser.name == 'ie')
|
||||
(function() {
|
||||
|
||||
var flexboxFixTimeoutId;
|
||||
|
||||
$window.on('resize.flexbox-fix', function() {
|
||||
|
||||
var $x = $('.fullscreen');
|
||||
|
||||
clearTimeout(flexboxFixTimeoutId);
|
||||
|
||||
flexboxFixTimeoutId = setTimeout(function() {
|
||||
|
||||
if ($x.prop('scrollHeight') > $window.height())
|
||||
$x.css('height', 'auto');
|
||||
else
|
||||
$x.css('height', '100vh');
|
||||
|
||||
}, 250);
|
||||
|
||||
}).triggerHandler('resize.flexbox-fix');
|
||||
|
||||
})();
|
||||
|
||||
// Object fit workaround.
|
||||
if (!browser.canUse('object-fit'))
|
||||
(function() {
|
||||
|
||||
$('.banner .image, .spotlight .image').each(function() {
|
||||
|
||||
var $this = $(this),
|
||||
$img = $this.children('img'),
|
||||
positionClass = $this.parent().attr('class').match(/image-position-([a-z]+)/);
|
||||
|
||||
// Set image.
|
||||
$this
|
||||
.css('background-image', 'url("' + $img.attr('src') + '")')
|
||||
.css('background-repeat', 'no-repeat')
|
||||
.css('background-size', 'cover');
|
||||
|
||||
// Set position.
|
||||
switch (positionClass.length > 1 ? positionClass[1] : '') {
|
||||
|
||||
case 'left':
|
||||
$this.css('background-position', 'left');
|
||||
break;
|
||||
|
||||
case 'right':
|
||||
$this.css('background-position', 'right');
|
||||
break;
|
||||
|
||||
default:
|
||||
case 'center':
|
||||
$this.css('background-position', 'center');
|
||||
break;
|
||||
|
||||
}
|
||||
|
||||
// Hide original.
|
||||
$img.css('opacity', '0');
|
||||
|
||||
});
|
||||
|
||||
})();
|
||||
|
||||
// Smooth scroll.
|
||||
$('.smooth-scroll').scrolly();
|
||||
$('.smooth-scroll-middle').scrolly({ anchor: 'middle' });
|
||||
|
||||
// Wrapper.
|
||||
$wrapper.children()
|
||||
.scrollex({
|
||||
top: '30vh',
|
||||
bottom: '30vh',
|
||||
initialize: function() {
|
||||
$(this).addClass('is-inactive');
|
||||
},
|
||||
terminate: function() {
|
||||
$(this).removeClass('is-inactive');
|
||||
},
|
||||
enter: function() {
|
||||
$(this).removeClass('is-inactive');
|
||||
},
|
||||
leave: function() {
|
||||
|
||||
var $this = $(this);
|
||||
|
||||
if ($this.hasClass('onscroll-bidirectional'))
|
||||
$this.addClass('is-inactive');
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
// Items.
|
||||
$('.items')
|
||||
.scrollex({
|
||||
top: '30vh',
|
||||
bottom: '30vh',
|
||||
delay: 50,
|
||||
initialize: function() {
|
||||
$(this).addClass('is-inactive');
|
||||
},
|
||||
terminate: function() {
|
||||
$(this).removeClass('is-inactive');
|
||||
},
|
||||
enter: function() {
|
||||
$(this).removeClass('is-inactive');
|
||||
},
|
||||
leave: function() {
|
||||
|
||||
var $this = $(this);
|
||||
|
||||
if ($this.hasClass('onscroll-bidirectional'))
|
||||
$this.addClass('is-inactive');
|
||||
|
||||
}
|
||||
})
|
||||
.children()
|
||||
.wrapInner('<div class="inner"></div>');
|
||||
|
||||
// Gallery.
|
||||
$('.gallery')
|
||||
.wrapInner('<div class="inner"></div>')
|
||||
.prepend(browser.mobile ? '' : '<div class="forward"></div><div class="backward"></div>')
|
||||
.scrollex({
|
||||
top: '30vh',
|
||||
bottom: '30vh',
|
||||
delay: 50,
|
||||
initialize: function() {
|
||||
$(this).addClass('is-inactive');
|
||||
},
|
||||
terminate: function() {
|
||||
$(this).removeClass('is-inactive');
|
||||
},
|
||||
enter: function() {
|
||||
$(this).removeClass('is-inactive');
|
||||
},
|
||||
leave: function() {
|
||||
|
||||
var $this = $(this);
|
||||
|
||||
if ($this.hasClass('onscroll-bidirectional'))
|
||||
$this.addClass('is-inactive');
|
||||
|
||||
}
|
||||
})
|
||||
.children('.inner')
|
||||
//.css('overflow', 'hidden')
|
||||
.css('overflow-y', browser.mobile ? 'visible' : 'hidden')
|
||||
.css('overflow-x', browser.mobile ? 'scroll' : 'hidden')
|
||||
.scrollLeft(0);
|
||||
|
||||
// Style #1.
|
||||
// ...
|
||||
|
||||
// Style #2.
|
||||
$('.gallery')
|
||||
.on('wheel', '.inner', function(event) {
|
||||
|
||||
var $this = $(this),
|
||||
delta = (event.originalEvent.deltaX * 10);
|
||||
|
||||
// Cap delta.
|
||||
if (delta > 0)
|
||||
delta = Math.min(25, delta);
|
||||
else if (delta < 0)
|
||||
delta = Math.max(-25, delta);
|
||||
|
||||
// Scroll.
|
||||
$this.scrollLeft( $this.scrollLeft() + delta );
|
||||
|
||||
})
|
||||
.on('mouseenter', '.forward, .backward', function(event) {
|
||||
|
||||
var $this = $(this),
|
||||
$inner = $this.siblings('.inner'),
|
||||
direction = ($this.hasClass('forward') ? 1 : -1);
|
||||
|
||||
// Clear move interval.
|
||||
clearInterval(this._gallery_moveIntervalId);
|
||||
|
||||
// Start interval.
|
||||
this._gallery_moveIntervalId = setInterval(function() {
|
||||
$inner.scrollLeft( $inner.scrollLeft() + (5 * direction) );
|
||||
}, 10);
|
||||
|
||||
})
|
||||
.on('mouseleave', '.forward, .backward', function(event) {
|
||||
|
||||
// Clear move interval.
|
||||
clearInterval(this._gallery_moveIntervalId);
|
||||
|
||||
});
|
||||
|
||||
// Lightbox.
|
||||
$('.gallery.lightbox')
|
||||
.on('click', 'a', function(event) {
|
||||
|
||||
var $a = $(this),
|
||||
$gallery = $a.parents('.gallery'),
|
||||
$modal = $gallery.children('.modal'),
|
||||
$modalImg = $modal.find('img'),
|
||||
href = $a.attr('href');
|
||||
|
||||
// Not an image? Bail.
|
||||
if (!href.match(/\.(jpg|gif|png|mp4)$/))
|
||||
return;
|
||||
|
||||
// Prevent default.
|
||||
event.preventDefault();
|
||||
event.stopPropagation();
|
||||
|
||||
// Locked? Bail.
|
||||
if ($modal[0]._locked)
|
||||
return;
|
||||
|
||||
// Lock.
|
||||
$modal[0]._locked = true;
|
||||
|
||||
// Set src.
|
||||
$modalImg.attr('src', href);
|
||||
|
||||
// Set visible.
|
||||
$modal.addClass('visible');
|
||||
|
||||
// Focus.
|
||||
$modal.focus();
|
||||
|
||||
// Delay.
|
||||
setTimeout(function() {
|
||||
|
||||
// Unlock.
|
||||
$modal[0]._locked = false;
|
||||
|
||||
}, 600);
|
||||
|
||||
})
|
||||
.on('click', '.modal', function(event) {
|
||||
|
||||
var $modal = $(this),
|
||||
$modalImg = $modal.find('img');
|
||||
|
||||
// Locked? Bail.
|
||||
if ($modal[0]._locked)
|
||||
return;
|
||||
|
||||
// Already hidden? Bail.
|
||||
if (!$modal.hasClass('visible'))
|
||||
return;
|
||||
|
||||
// Lock.
|
||||
$modal[0]._locked = true;
|
||||
|
||||
// Clear visible, loaded.
|
||||
$modal
|
||||
.removeClass('loaded')
|
||||
|
||||
// Delay.
|
||||
setTimeout(function() {
|
||||
|
||||
$modal
|
||||
.removeClass('visible')
|
||||
|
||||
setTimeout(function() {
|
||||
|
||||
// Clear src.
|
||||
$modalImg.attr('src', '');
|
||||
|
||||
// Unlock.
|
||||
$modal[0]._locked = false;
|
||||
|
||||
// Focus.
|
||||
$body.focus();
|
||||
|
||||
}, 475);
|
||||
|
||||
}, 125);
|
||||
|
||||
})
|
||||
.on('keypress', '.modal', function(event) {
|
||||
|
||||
var $modal = $(this);
|
||||
|
||||
// Escape? Hide modal.
|
||||
if (event.keyCode == 27)
|
||||
$modal.trigger('click');
|
||||
|
||||
})
|
||||
.prepend('<div class="modal" tabIndex="-1"><div class="inner"><img src="" /></div></div>')
|
||||
.find('img')
|
||||
.on('load', function(event) {
|
||||
|
||||
var $modalImg = $(this),
|
||||
$modal = $modalImg.parents('.modal');
|
||||
|
||||
setTimeout(function() {
|
||||
|
||||
// No longer visible? Bail.
|
||||
if (!$modal.hasClass('visible'))
|
||||
return;
|
||||
|
||||
// Set loaded.
|
||||
$modal.addClass('loaded');
|
||||
|
||||
}, 275);
|
||||
|
||||
});
|
||||
|
||||
})(jQuery);
|
@ -1,587 +0,0 @@
|
||||
(function($) {
|
||||
|
||||
/**
|
||||
* Generate an indented list of links from a nav. Meant for use with panel().
|
||||
* @return {jQuery} jQuery object.
|
||||
*/
|
||||
$.fn.navList = function() {
|
||||
|
||||
var $this = $(this);
|
||||
$a = $this.find('a'),
|
||||
b = [];
|
||||
|
||||
$a.each(function() {
|
||||
|
||||
var $this = $(this),
|
||||
indent = Math.max(0, $this.parents('li').length - 1),
|
||||
href = $this.attr('href'),
|
||||
target = $this.attr('target');
|
||||
|
||||
b.push(
|
||||
'<a ' +
|
||||
'class="link depth-' + indent + '"' +
|
||||
( (typeof target !== 'undefined' && target != '') ? ' target="' + target + '"' : '') +
|
||||
( (typeof href !== 'undefined' && href != '') ? ' href="' + href + '"' : '') +
|
||||
'>' +
|
||||
'<span class="indent-' + indent + '"></span>' +
|
||||
$this.text() +
|
||||
'</a>'
|
||||
);
|
||||
|
||||
});
|
||||
|
||||
return b.join('');
|
||||
|
||||
};
|
||||
|
||||
/**
|
||||
* Panel-ify an element.
|
||||
* @param {object} userConfig User config.
|
||||
* @return {jQuery} jQuery object.
|
||||
*/
|
||||
$.fn.panel = function(userConfig) {
|
||||
|
||||
// No elements?
|
||||
if (this.length == 0)
|
||||
return $this;
|
||||
|
||||
// Multiple elements?
|
||||
if (this.length > 1) {
|
||||
|
||||
for (var i=0; i < this.length; i++)
|
||||
$(this[i]).panel(userConfig);
|
||||
|
||||
return $this;
|
||||
|
||||
}
|
||||
|
||||
// Vars.
|
||||
var $this = $(this),
|
||||
$body = $('body'),
|
||||
$window = $(window),
|
||||
id = $this.attr('id'),
|
||||
config;
|
||||
|
||||
// Config.
|
||||
config = $.extend({
|
||||
|
||||
// Delay.
|
||||
delay: 0,
|
||||
|
||||
// Hide panel on link click.
|
||||
hideOnClick: false,
|
||||
|
||||
// Hide panel on escape keypress.
|
||||
hideOnEscape: false,
|
||||
|
||||
// Hide panel on swipe.
|
||||
hideOnSwipe: false,
|
||||
|
||||
// Reset scroll position on hide.
|
||||
resetScroll: false,
|
||||
|
||||
// Reset forms on hide.
|
||||
resetForms: false,
|
||||
|
||||
// Side of viewport the panel will appear.
|
||||
side: null,
|
||||
|
||||
// Target element for "class".
|
||||
target: $this,
|
||||
|
||||
// Class to toggle.
|
||||
visibleClass: 'visible'
|
||||
|
||||
}, userConfig);
|
||||
|
||||
// Expand "target" if it's not a jQuery object already.
|
||||
if (typeof config.target != 'jQuery')
|
||||
config.target = $(config.target);
|
||||
|
||||
// Panel.
|
||||
|
||||
// Methods.
|
||||
$this._hide = function(event) {
|
||||
|
||||
// Already hidden? Bail.
|
||||
if (!config.target.hasClass(config.visibleClass))
|
||||
return;
|
||||
|
||||
// If an event was provided, cancel it.
|
||||
if (event) {
|
||||
|
||||
event.preventDefault();
|
||||
event.stopPropagation();
|
||||
|
||||
}
|
||||
|
||||
// Hide.
|
||||
config.target.removeClass(config.visibleClass);
|
||||
|
||||
// Post-hide stuff.
|
||||
window.setTimeout(function() {
|
||||
|
||||
// Reset scroll position.
|
||||
if (config.resetScroll)
|
||||
$this.scrollTop(0);
|
||||
|
||||
// Reset forms.
|
||||
if (config.resetForms)
|
||||
$this.find('form').each(function() {
|
||||
this.reset();
|
||||
});
|
||||
|
||||
}, config.delay);
|
||||
|
||||
};
|
||||
|
||||
// Vendor fixes.
|
||||
$this
|
||||
.css('-ms-overflow-style', '-ms-autohiding-scrollbar')
|
||||
.css('-webkit-overflow-scrolling', 'touch');
|
||||
|
||||
// Hide on click.
|
||||
if (config.hideOnClick) {
|
||||
|
||||
$this.find('a')
|
||||
.css('-webkit-tap-highlight-color', 'rgba(0,0,0,0)');
|
||||
|
||||
$this
|
||||
.on('click', 'a', function(event) {
|
||||
|
||||
var $a = $(this),
|
||||
href = $a.attr('href'),
|
||||
target = $a.attr('target');
|
||||
|
||||
if (!href || href == '#' || href == '' || href == '#' + id)
|
||||
return;
|
||||
|
||||
// Cancel original event.
|
||||
event.preventDefault();
|
||||
event.stopPropagation();
|
||||
|
||||
// Hide panel.
|
||||
$this._hide();
|
||||
|
||||
// Redirect to href.
|
||||
window.setTimeout(function() {
|
||||
|
||||
if (target == '_blank')
|
||||
window.open(href);
|
||||
else
|
||||
window.location.href = href;
|
||||
|
||||
}, config.delay + 10);
|
||||
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
// Event: Touch stuff.
|
||||
$this.on('touchstart', function(event) {
|
||||
|
||||
$this.touchPosX = event.originalEvent.touches[0].pageX;
|
||||
$this.touchPosY = event.originalEvent.touches[0].pageY;
|
||||
|
||||
})
|
||||
|
||||
$this.on('touchmove', function(event) {
|
||||
|
||||
if ($this.touchPosX === null
|
||||
|| $this.touchPosY === null)
|
||||
return;
|
||||
|
||||
var diffX = $this.touchPosX - event.originalEvent.touches[0].pageX,
|
||||
diffY = $this.touchPosY - event.originalEvent.touches[0].pageY,
|
||||
th = $this.outerHeight(),
|
||||
ts = ($this.get(0).scrollHeight - $this.scrollTop());
|
||||
|
||||
// Hide on swipe?
|
||||
if (config.hideOnSwipe) {
|
||||
|
||||
var result = false,
|
||||
boundary = 20,
|
||||
delta = 50;
|
||||
|
||||
switch (config.side) {
|
||||
|
||||
case 'left':
|
||||
result = (diffY < boundary && diffY > (-1 * boundary)) && (diffX > delta);
|
||||
break;
|
||||
|
||||
case 'right':
|
||||
result = (diffY < boundary && diffY > (-1 * boundary)) && (diffX < (-1 * delta));
|
||||
break;
|
||||
|
||||
case 'top':
|
||||
result = (diffX < boundary && diffX > (-1 * boundary)) && (diffY > delta);
|
||||
break;
|
||||
|
||||
case 'bottom':
|
||||
result = (diffX < boundary && diffX > (-1 * boundary)) && (diffY < (-1 * delta));
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
|
||||
}
|
||||
|
||||
if (result) {
|
||||
|
||||
$this.touchPosX = null;
|
||||
$this.touchPosY = null;
|
||||
$this._hide();
|
||||
|
||||
return false;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// Prevent vertical scrolling past the top or bottom.
|
||||
if (($this.scrollTop() < 0 && diffY < 0)
|
||||
|| (ts > (th - 2) && ts < (th + 2) && diffY > 0)) {
|
||||
|
||||
event.preventDefault();
|
||||
event.stopPropagation();
|
||||
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
// Event: Prevent certain events inside the panel from bubbling.
|
||||
$this.on('click touchend touchstart touchmove', function(event) {
|
||||
event.stopPropagation();
|
||||
});
|
||||
|
||||
// Event: Hide panel if a child anchor tag pointing to its ID is clicked.
|
||||
$this.on('click', 'a[href="#' + id + '"]', function(event) {
|
||||
|
||||
event.preventDefault();
|
||||
event.stopPropagation();
|
||||
|
||||
config.target.removeClass(config.visibleClass);
|
||||
|
||||
});
|
||||
|
||||
// Body.
|
||||
|
||||
// Event: Hide panel on body click/tap.
|
||||
$body.on('click touchend', function(event) {
|
||||
$this._hide(event);
|
||||
});
|
||||
|
||||
// Event: Toggle.
|
||||
$body.on('click', 'a[href="#' + id + '"]', function(event) {
|
||||
|
||||
event.preventDefault();
|
||||
event.stopPropagation();
|
||||
|
||||
config.target.toggleClass(config.visibleClass);
|
||||
|
||||
});
|
||||
|
||||
// Window.
|
||||
|
||||
// Event: Hide on ESC.
|
||||
if (config.hideOnEscape)
|
||||
$window.on('keydown', function(event) {
|
||||
|
||||
if (event.keyCode == 27)
|
||||
$this._hide(event);
|
||||
|
||||
});
|
||||
|
||||
return $this;
|
||||
|
||||
};
|
||||
|
||||
/**
|
||||
* Apply "placeholder" attribute polyfill to one or more forms.
|
||||
* @return {jQuery} jQuery object.
|
||||
*/
|
||||
$.fn.placeholder = function() {
|
||||
|
||||
// Browser natively supports placeholders? Bail.
|
||||
if (typeof (document.createElement('input')).placeholder != 'undefined')
|
||||
return $(this);
|
||||
|
||||
// No elements?
|
||||
if (this.length == 0)
|
||||
return $this;
|
||||
|
||||
// Multiple elements?
|
||||
if (this.length > 1) {
|
||||
|
||||
for (var i=0; i < this.length; i++)
|
||||
$(this[i]).placeholder();
|
||||
|
||||
return $this;
|
||||
|
||||
}
|
||||
|
||||
// Vars.
|
||||
var $this = $(this);
|
||||
|
||||
// Text, TextArea.
|
||||
$this.find('input[type=text],textarea')
|
||||
.each(function() {
|
||||
|
||||
var i = $(this);
|
||||
|
||||
if (i.val() == ''
|
||||
|| i.val() == i.attr('placeholder'))
|
||||
i
|
||||
.addClass('polyfill-placeholder')
|
||||
.val(i.attr('placeholder'));
|
||||
|
||||
})
|
||||
.on('blur', function() {
|
||||
|
||||
var i = $(this);
|
||||
|
||||
if (i.attr('name').match(/-polyfill-field$/))
|
||||
return;
|
||||
|
||||
if (i.val() == '')
|
||||
i
|
||||
.addClass('polyfill-placeholder')
|
||||
.val(i.attr('placeholder'));
|
||||
|
||||
})
|
||||
.on('focus', function() {
|
||||
|
||||
var i = $(this);
|
||||
|
||||
if (i.attr('name').match(/-polyfill-field$/))
|
||||
return;
|
||||
|
||||
if (i.val() == i.attr('placeholder'))
|
||||
i
|
||||
.removeClass('polyfill-placeholder')
|
||||
.val('');
|
||||
|
||||
});
|
||||
|
||||
// Password.
|
||||
$this.find('input[type=password]')
|
||||
.each(function() {
|
||||
|
||||
var i = $(this);
|
||||
var x = $(
|
||||
$('<div>')
|
||||
.append(i.clone())
|
||||
.remove()
|
||||
.html()
|
||||
.replace(/type="password"/i, 'type="text"')
|
||||
.replace(/type=password/i, 'type=text')
|
||||
);
|
||||
|
||||
if (i.attr('id') != '')
|
||||
x.attr('id', i.attr('id') + '-polyfill-field');
|
||||
|
||||
if (i.attr('name') != '')
|
||||
x.attr('name', i.attr('name') + '-polyfill-field');
|
||||
|
||||
x.addClass('polyfill-placeholder')
|
||||
.val(x.attr('placeholder')).insertAfter(i);
|
||||
|
||||
if (i.val() == '')
|
||||
i.hide();
|
||||
else
|
||||
x.hide();
|
||||
|
||||
i
|
||||
.on('blur', function(event) {
|
||||
|
||||
event.preventDefault();
|
||||
|
||||
var x = i.parent().find('input[name=' + i.attr('name') + '-polyfill-field]');
|
||||
|
||||
if (i.val() == '') {
|
||||
|
||||
i.hide();
|
||||
x.show();
|
||||
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
x
|
||||
.on('focus', function(event) {
|
||||
|
||||
event.preventDefault();
|
||||
|
||||
var i = x.parent().find('input[name=' + x.attr('name').replace('-polyfill-field', '') + ']');
|
||||
|
||||
x.hide();
|
||||
|
||||
i
|
||||
.show()
|
||||
.focus();
|
||||
|
||||
})
|
||||
.on('keypress', function(event) {
|
||||
|
||||
event.preventDefault();
|
||||
x.val('');
|
||||
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
// Events.
|
||||
$this
|
||||
.on('submit', function() {
|
||||
|
||||
$this.find('input[type=text],input[type=password],textarea')
|
||||
.each(function(event) {
|
||||
|
||||
var i = $(this);
|
||||
|
||||
if (i.attr('name').match(/-polyfill-field$/))
|
||||
i.attr('name', '');
|
||||
|
||||
if (i.val() == i.attr('placeholder')) {
|
||||
|
||||
i.removeClass('polyfill-placeholder');
|
||||
i.val('');
|
||||
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
})
|
||||
.on('reset', function(event) {
|
||||
|
||||
event.preventDefault();
|
||||
|
||||
$this.find('select')
|
||||
.val($('option:first').val());
|
||||
|
||||
$this.find('input,textarea')
|
||||
.each(function() {
|
||||
|
||||
var i = $(this),
|
||||
x;
|
||||
|
||||
i.removeClass('polyfill-placeholder');
|
||||
|
||||
switch (this.type) {
|
||||
|
||||
case 'submit':
|
||||
case 'reset':
|
||||
break;
|
||||
|
||||
case 'password':
|
||||
i.val(i.attr('defaultValue'));
|
||||
|
||||
x = i.parent().find('input[name=' + i.attr('name') + '-polyfill-field]');
|
||||
|
||||
if (i.val() == '') {
|
||||
i.hide();
|
||||
x.show();
|
||||
}
|
||||
else {
|
||||
i.show();
|
||||
x.hide();
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
case 'checkbox':
|
||||
case 'radio':
|
||||
i.attr('checked', i.attr('defaultValue'));
|
||||
break;
|
||||
|
||||
case 'text':
|
||||
case 'textarea':
|
||||
i.val(i.attr('defaultValue'));
|
||||
|
||||
if (i.val() == '') {
|
||||
i.addClass('polyfill-placeholder');
|
||||
i.val(i.attr('placeholder'));
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
default:
|
||||
i.val(i.attr('defaultValue'));
|
||||
break;
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
return $this;
|
||||
|
||||
};
|
||||
|
||||
/**
|
||||
* Moves elements to/from the first positions of their respective parents.
|
||||
* @param {jQuery} $elements Elements (or selector) to move.
|
||||
* @param {bool} condition If true, moves elements to the top. Otherwise, moves elements back to their original locations.
|
||||
*/
|
||||
$.prioritize = function($elements, condition) {
|
||||
|
||||
var key = '__prioritize';
|
||||
|
||||
// Expand $elements if it's not already a jQuery object.
|
||||
if (typeof $elements != 'jQuery')
|
||||
$elements = $($elements);
|
||||
|
||||
// Step through elements.
|
||||
$elements.each(function() {
|
||||
|
||||
var $e = $(this), $p,
|
||||
$parent = $e.parent();
|
||||
|
||||
// No parent? Bail.
|
||||
if ($parent.length == 0)
|
||||
return;
|
||||
|
||||
// Not moved? Move it.
|
||||
if (!$e.data(key)) {
|
||||
|
||||
// Condition is false? Bail.
|
||||
if (!condition)
|
||||
return;
|
||||
|
||||
// Get placeholder (which will serve as our point of reference for when this element needs to move back).
|
||||
$p = $e.prev();
|
||||
|
||||
// Couldn't find anything? Means this element's already at the top, so bail.
|
||||
if ($p.length == 0)
|
||||
return;
|
||||
|
||||
// Move element to top of parent.
|
||||
$e.prependTo($parent);
|
||||
|
||||
// Mark element as moved.
|
||||
$e.data(key, $p);
|
||||
|
||||
}
|
||||
|
||||
// Moved already?
|
||||
else {
|
||||
|
||||
// Condition is true? Bail.
|
||||
if (condition)
|
||||
return;
|
||||
|
||||
$p = $e.data(key);
|
||||
|
||||
// Move element back to its original location (using our placeholder).
|
||||
$e.insertAfter($p);
|
||||
|
||||
// Unmark element as moved.
|
||||
$e.removeData(key);
|
||||
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
};
|
||||
|
||||
})(jQuery);
|
@ -1,223 +0,0 @@
|
||||
// breakpoints.scss v1.0 | @ajlkn | MIT licensed */
|
||||
|
||||
// Vars.
|
||||
|
||||
/// Breakpoints.
|
||||
/// @var {list}
|
||||
$breakpoints: () !global;
|
||||
|
||||
// Mixins.
|
||||
|
||||
/// Sets breakpoints.
|
||||
/// @param {map} $x Breakpoints.
|
||||
@mixin breakpoints($x: ()) {
|
||||
$breakpoints: $x !global;
|
||||
}
|
||||
|
||||
/// Wraps @content in a @media block targeting a specific orientation.
|
||||
/// @param {string} $orientation Orientation.
|
||||
@mixin orientation($orientation) {
|
||||
@media screen and (orientation: #{$orientation}) {
|
||||
@content;
|
||||
}
|
||||
}
|
||||
|
||||
/// Wraps @content in a @media block using a given query.
|
||||
/// @param {string} $query Query.
|
||||
@mixin breakpoint($query: null) {
|
||||
|
||||
$breakpoint: null;
|
||||
$op: null;
|
||||
$media: null;
|
||||
|
||||
// Determine operator, breakpoint.
|
||||
|
||||
// Greater than or equal.
|
||||
@if (str-slice($query, 0, 2) == '>=') {
|
||||
|
||||
$op: 'gte';
|
||||
$breakpoint: str-slice($query, 3);
|
||||
|
||||
}
|
||||
|
||||
// Less than or equal.
|
||||
@elseif (str-slice($query, 0, 2) == '<=') {
|
||||
|
||||
$op: 'lte';
|
||||
$breakpoint: str-slice($query, 3);
|
||||
|
||||
}
|
||||
|
||||
// Greater than.
|
||||
@elseif (str-slice($query, 0, 1) == '>') {
|
||||
|
||||
$op: 'gt';
|
||||
$breakpoint: str-slice($query, 2);
|
||||
|
||||
}
|
||||
|
||||
// Less than.
|
||||
@elseif (str-slice($query, 0, 1) == '<') {
|
||||
|
||||
$op: 'lt';
|
||||
$breakpoint: str-slice($query, 2);
|
||||
|
||||
}
|
||||
|
||||
// Not.
|
||||
@elseif (str-slice($query, 0, 1) == '!') {
|
||||
|
||||
$op: 'not';
|
||||
$breakpoint: str-slice($query, 2);
|
||||
|
||||
}
|
||||
|
||||
// Equal.
|
||||
@else {
|
||||
|
||||
$op: 'eq';
|
||||
$breakpoint: $query;
|
||||
|
||||
}
|
||||
|
||||
// Build media.
|
||||
@if ($breakpoint and map-has-key($breakpoints, $breakpoint)) {
|
||||
|
||||
$a: map-get($breakpoints, $breakpoint);
|
||||
|
||||
// Range.
|
||||
@if (type-of($a) == 'list') {
|
||||
|
||||
$x: nth($a, 1);
|
||||
$y: nth($a, 2);
|
||||
|
||||
// Max only.
|
||||
@if ($x == null) {
|
||||
|
||||
// Greater than or equal (>= 0 / anything)
|
||||
@if ($op == 'gte') {
|
||||
$media: 'screen';
|
||||
}
|
||||
|
||||
// Less than or equal (<= y)
|
||||
@elseif ($op == 'lte') {
|
||||
$media: 'screen and (max-width: ' + $y + ')';
|
||||
}
|
||||
|
||||
// Greater than (> y)
|
||||
@elseif ($op == 'gt') {
|
||||
$media: 'screen and (min-width: ' + ($y + 1) + ')';
|
||||
}
|
||||
|
||||
// Less than (< 0 / invalid)
|
||||
@elseif ($op == 'lt') {
|
||||
$media: 'screen and (max-width: -1px)';
|
||||
}
|
||||
|
||||
// Not (> y)
|
||||
@elseif ($op == 'not') {
|
||||
$media: 'screen and (min-width: ' + ($y + 1) + ')';
|
||||
}
|
||||
|
||||
// Equal (<= y)
|
||||
@else {
|
||||
$media: 'screen and (max-width: ' + $y + ')';
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// Min only.
|
||||
@else if ($y == null) {
|
||||
|
||||
// Greater than or equal (>= x)
|
||||
@if ($op == 'gte') {
|
||||
$media: 'screen and (min-width: ' + $x + ')';
|
||||
}
|
||||
|
||||
// Less than or equal (<= inf / anything)
|
||||
@elseif ($op == 'lte') {
|
||||
$media: 'screen';
|
||||
}
|
||||
|
||||
// Greater than (> inf / invalid)
|
||||
@elseif ($op == 'gt') {
|
||||
$media: 'screen and (max-width: -1px)';
|
||||
}
|
||||
|
||||
// Less than (< x)
|
||||
@elseif ($op == 'lt') {
|
||||
$media: 'screen and (max-width: ' + ($x - 1) + ')';
|
||||
}
|
||||
|
||||
// Not (< x)
|
||||
@elseif ($op == 'not') {
|
||||
$media: 'screen and (max-width: ' + ($x - 1) + ')';
|
||||
}
|
||||
|
||||
// Equal (>= x)
|
||||
@else {
|
||||
$media: 'screen and (min-width: ' + $x + ')';
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// Min and max.
|
||||
@else {
|
||||
|
||||
// Greater than or equal (>= x)
|
||||
@if ($op == 'gte') {
|
||||
$media: 'screen and (min-width: ' + $x + ')';
|
||||
}
|
||||
|
||||
// Less than or equal (<= y)
|
||||
@elseif ($op == 'lte') {
|
||||
$media: 'screen and (max-width: ' + $y + ')';
|
||||
}
|
||||
|
||||
// Greater than (> y)
|
||||
@elseif ($op == 'gt') {
|
||||
$media: 'screen and (min-width: ' + ($y + 1) + ')';
|
||||
}
|
||||
|
||||
// Less than (< x)
|
||||
@elseif ($op == 'lt') {
|
||||
$media: 'screen and (max-width: ' + ($x - 1) + ')';
|
||||
}
|
||||
|
||||
// Not (< x and > y)
|
||||
@elseif ($op == 'not') {
|
||||
$media: 'screen and (max-width: ' + ($x - 1) + '), screen and (min-width: ' + ($y + 1) + ')';
|
||||
}
|
||||
|
||||
// Equal (>= x and <= y)
|
||||
@else {
|
||||
$media: 'screen and (min-width: ' + $x + ') and (max-width: ' + $y + ')';
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// String.
|
||||
@else {
|
||||
|
||||
// Missing a media type? Prefix with "screen".
|
||||
@if (str-slice($a, 0, 1) == '(') {
|
||||
$media: 'screen and ' + $a;
|
||||
}
|
||||
|
||||
// Otherwise, use as-is.
|
||||
@else {
|
||||
$media: $a;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// Output.
|
||||
@media #{$media} {
|
||||
@content;
|
||||
}
|
||||
|
||||
}
|
@ -1,90 +0,0 @@
|
||||
/// Removes a specific item from a list.
|
||||
/// @author Hugo Giraudel
|
||||
/// @param {list} $list List.
|
||||
/// @param {integer} $index Index.
|
||||
/// @return {list} Updated list.
|
||||
@function remove-nth($list, $index) {
|
||||
|
||||
$result: null;
|
||||
|
||||
@if type-of($index) != number {
|
||||
@warn "$index: #{quote($index)} is not a number for `remove-nth`.";
|
||||
}
|
||||
@else if $index == 0 {
|
||||
@warn "List index 0 must be a non-zero integer for `remove-nth`.";
|
||||
}
|
||||
@else if abs($index) > length($list) {
|
||||
@warn "List index is #{$index} but list is only #{length($list)} item long for `remove-nth`.";
|
||||
}
|
||||
@else {
|
||||
|
||||
$result: ();
|
||||
$index: if($index < 0, length($list) + $index + 1, $index);
|
||||
|
||||
@for $i from 1 through length($list) {
|
||||
|
||||
@if $i != $index {
|
||||
$result: append($result, nth($list, $i));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@return $result;
|
||||
|
||||
}
|
||||
|
||||
/// Gets a value from a map.
|
||||
/// @author Hugo Giraudel
|
||||
/// @param {map} $map Map.
|
||||
/// @param {string} $keys Key(s).
|
||||
/// @return {string} Value.
|
||||
@function val($map, $keys...) {
|
||||
|
||||
@if nth($keys, 1) == null {
|
||||
$keys: remove-nth($keys, 1);
|
||||
}
|
||||
|
||||
@each $key in $keys {
|
||||
$map: map-get($map, $key);
|
||||
}
|
||||
|
||||
@return $map;
|
||||
|
||||
}
|
||||
|
||||
/// Gets a duration value.
|
||||
/// @param {string} $keys Key(s).
|
||||
/// @return {string} Value.
|
||||
@function _duration($keys...) {
|
||||
@return val($duration, $keys...);
|
||||
}
|
||||
|
||||
/// Gets a font value.
|
||||
/// @param {string} $keys Key(s).
|
||||
/// @return {string} Value.
|
||||
@function _font($keys...) {
|
||||
@return val($font, $keys...);
|
||||
}
|
||||
|
||||
/// Gets a misc value.
|
||||
/// @param {string} $keys Key(s).
|
||||
/// @return {string} Value.
|
||||
@function _misc($keys...) {
|
||||
@return val($misc, $keys...);
|
||||
}
|
||||
|
||||
/// Gets a palette value.
|
||||
/// @param {string} $keys Key(s).
|
||||
/// @return {string} Value.
|
||||
@function _palette($keys...) {
|
||||
@return val($palette, $keys...);
|
||||
}
|
||||
|
||||
/// Gets a size value.
|
||||
/// @param {string} $keys Key(s).
|
||||
/// @return {string} Value.
|
||||
@function _size($keys...) {
|
||||
@return val($size, $keys...);
|
||||
}
|
@ -1,149 +0,0 @@
|
||||
// html-grid.scss v1.0 | @ajlkn | MIT licensed */
|
||||
|
||||
// Mixins.
|
||||
|
||||
/// Initializes the current element as an HTML grid.
|
||||
/// @param {mixed} $gutters Gutters (either a single number to set both column/row gutters, or a list to set them individually).
|
||||
/// @param {mixed} $suffix Column class suffix (optional; either a single suffix or a list).
|
||||
@mixin html-grid($gutters: 1.5em, $suffix: '') {
|
||||
|
||||
// Initialize.
|
||||
$cols: 12;
|
||||
$multipliers: 0, 0.25, 0.5, 1, 1.50, 2.00;
|
||||
$unit: 100% / $cols;
|
||||
|
||||
// Suffixes.
|
||||
$suffixes: null;
|
||||
|
||||
@if (type-of($suffix) == 'list') {
|
||||
$suffixes: $suffix;
|
||||
}
|
||||
@else {
|
||||
$suffixes: ($suffix);
|
||||
}
|
||||
|
||||
// Gutters.
|
||||
$guttersCols: null;
|
||||
$guttersRows: null;
|
||||
|
||||
@if (type-of($gutters) == 'list') {
|
||||
|
||||
$guttersCols: nth($gutters, 1);
|
||||
$guttersRows: nth($gutters, 2);
|
||||
|
||||
}
|
||||
@else {
|
||||
|
||||
$guttersCols: $gutters;
|
||||
$guttersRows: 0;
|
||||
|
||||
}
|
||||
|
||||
// Row.
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
box-sizing: border-box;
|
||||
align-items: stretch;
|
||||
|
||||
// Columns.
|
||||
> * {
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
// Gutters.
|
||||
&.gtr-uniform {
|
||||
> * {
|
||||
> :last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Alignment.
|
||||
&.aln-left {
|
||||
justify-content: flex-start;
|
||||
}
|
||||
|
||||
&.aln-center {
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
&.aln-right {
|
||||
justify-content: flex-end;
|
||||
}
|
||||
|
||||
&.aln-top {
|
||||
align-items: flex-start;
|
||||
}
|
||||
|
||||
&.aln-middle {
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
&.aln-bottom {
|
||||
align-items: flex-end;
|
||||
}
|
||||
|
||||
// Step through suffixes.
|
||||
@each $suffix in $suffixes {
|
||||
|
||||
// Suffix.
|
||||
@if ($suffix != '') {
|
||||
$suffix: '-' + $suffix;
|
||||
}
|
||||
@else {
|
||||
$suffix: '';
|
||||
}
|
||||
|
||||
// Row.
|
||||
|
||||
// Important.
|
||||
> .imp#{$suffix} {
|
||||
order: -1;
|
||||
}
|
||||
|
||||
// Columns, offsets.
|
||||
@for $i from 1 through $cols {
|
||||
> .col-#{$i}#{$suffix} {
|
||||
width: $unit * $i;
|
||||
}
|
||||
|
||||
> .off-#{$i}#{$suffix} {
|
||||
margin-left: $unit * $i;
|
||||
}
|
||||
}
|
||||
|
||||
// Step through multipliers.
|
||||
@each $multiplier in $multipliers {
|
||||
|
||||
// Gutters.
|
||||
$class: null;
|
||||
|
||||
@if ($multiplier != 1) {
|
||||
$class: '.gtr-' + ($multiplier * 100);
|
||||
}
|
||||
|
||||
&#{$class} {
|
||||
margin-top: ($guttersRows * $multiplier * -1);
|
||||
margin-left: ($guttersCols * $multiplier * -1);
|
||||
|
||||
> * {
|
||||
padding: ($guttersRows * $multiplier) 0 0 ($guttersCols * $multiplier);
|
||||
}
|
||||
|
||||
// Uniform.
|
||||
&.gtr-uniform {
|
||||
margin-top: $guttersCols * $multiplier * -1;
|
||||
|
||||
> * {
|
||||
padding-top: $guttersCols * $multiplier;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
@ -1,78 +0,0 @@
|
||||
/// Makes an element's :before pseudoelement a FontAwesome icon.
|
||||
/// @param {string} $content Optional content value to use.
|
||||
/// @param {string} $category Optional category to use.
|
||||
/// @param {string} $where Optional pseudoelement to target (before or after).
|
||||
@mixin icon($content: false, $category: regular, $where: before) {
|
||||
|
||||
text-decoration: none;
|
||||
|
||||
&:#{$where} {
|
||||
|
||||
@if $content {
|
||||
content: $content;
|
||||
}
|
||||
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
display: inline-block;
|
||||
font-style: normal;
|
||||
font-variant: normal;
|
||||
text-rendering: auto;
|
||||
line-height: 1;
|
||||
text-transform: none !important;
|
||||
|
||||
@if ($category == brands) {
|
||||
font-family: 'Font Awesome 5 Brands';
|
||||
}
|
||||
@elseif ($category == solid) {
|
||||
font-family: 'Font Awesome 5 Free';
|
||||
font-weight: 900;
|
||||
}
|
||||
@else {
|
||||
font-family: 'Font Awesome 5 Free';
|
||||
font-weight: 400;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/// Applies padding to an element, taking the current element-margin value into account.
|
||||
/// @param {mixed} $tb Top/bottom padding.
|
||||
/// @param {mixed} $lr Left/right padding.
|
||||
/// @param {list} $pad Optional extra padding (in the following order top, right, bottom, left)
|
||||
/// @param {bool} $important If true, adds !important.
|
||||
@mixin padding($tb, $lr, $pad: (0,0,0,0), $important: null) {
|
||||
|
||||
@if $important {
|
||||
$important: '!important';
|
||||
}
|
||||
|
||||
$x: 0.1em;
|
||||
|
||||
@if unit(_size(element-margin)) == 'rem' {
|
||||
$x: 0.1rem;
|
||||
}
|
||||
|
||||
padding: ($tb + nth($pad,1)) ($lr + nth($pad,2)) max($x, $tb - _size(element-margin) + nth($pad,3)) ($lr + nth($pad,4)) #{$important};
|
||||
|
||||
}
|
||||
|
||||
/// Encodes a SVG data URL so IE doesn't choke (via codepen.io/jakob-e/pen/YXXBrp).
|
||||
/// @param {string} $svg SVG data URL.
|
||||
/// @return {string} Encoded SVG data URL.
|
||||
@function svg-url($svg) {
|
||||
|
||||
$svg: str-replace($svg, '"', '\'');
|
||||
$svg: str-replace($svg, '%', '%25');
|
||||
$svg: str-replace($svg, '<', '%3C');
|
||||
$svg: str-replace($svg, '>', '%3E');
|
||||
$svg: str-replace($svg, '&', '%26');
|
||||
$svg: str-replace($svg, '#', '%23');
|
||||
$svg: str-replace($svg, '{', '%7B');
|
||||
$svg: str-replace($svg, '}', '%7D');
|
||||
$svg: str-replace($svg, ';', '%3B');
|
||||
|
||||
@return url("data:image/svg+xml;charset=utf8,#{$svg}");
|
||||
|
||||
}
|
@ -1,64 +0,0 @@
|
||||
// Misc.
|
||||
$misc: (
|
||||
z-index-base: 10000,
|
||||
header-side: 'right'
|
||||
);
|
||||
|
||||
// Duration.
|
||||
$duration: (
|
||||
header: 0.5s,
|
||||
transition: 0.2s
|
||||
);
|
||||
|
||||
// Size.
|
||||
$size: (
|
||||
border-radius: 5px,
|
||||
border-width: 2px,
|
||||
element-height: 2.75em,
|
||||
element-margin: 2.25em,
|
||||
container-width: 45em
|
||||
);
|
||||
|
||||
// Font.
|
||||
$font: (
|
||||
family: ('Lato', sans-serif),
|
||||
family-fixed: ('Source Code Pro', monospace),
|
||||
weight: 400,
|
||||
weight-bold: 700
|
||||
);
|
||||
|
||||
// Palette.
|
||||
$palette: (
|
||||
bg: #fff,
|
||||
fg: #888,
|
||||
fg-bold: #777,
|
||||
fg-light: #aaa,
|
||||
border: #f4f4f4,
|
||||
border-bg: #fafafa,
|
||||
border2: #e4e4e4,
|
||||
border2-bg: #f4f4f4,
|
||||
border3: #e0e0e0,
|
||||
border3-bg: #eaeaea,
|
||||
|
||||
accent1: (
|
||||
bg: #4acaa8,
|
||||
fg-bold: #ffffff,
|
||||
fg: mix(#4acaa8, #ffffff, 25%),
|
||||
fg-light: mix(#4acaa8, #ffffff, 40%)
|
||||
),
|
||||
|
||||
accent2: (
|
||||
bg: #989898,
|
||||
fg-bold: #ffffff,
|
||||
fg: mix(#989898, #ffffff, 25%),
|
||||
fg-light: mix(#989898, #ffffff, 40%)
|
||||
),
|
||||
|
||||
header: (
|
||||
bg: #4acaa8,
|
||||
fg-bold: #ffffff,
|
||||
fg: mix(#4acaa8, #ffffff, 25%),
|
||||
fg-light: mix(#4acaa8, #ffffff, 40%),
|
||||
border: mix(#4acaa8, #ffffff, 90%)
|
||||
)
|
||||
);
|
@ -1,376 +0,0 @@
|
||||
// vendor.scss v1.0 | @ajlkn | MIT licensed */
|
||||
|
||||
// Vars.
|
||||
|
||||
/// Vendor prefixes.
|
||||
/// @var {list}
|
||||
$vendor-prefixes: (
|
||||
'-moz-',
|
||||
'-webkit-',
|
||||
'-ms-',
|
||||
''
|
||||
);
|
||||
|
||||
/// Properties that should be vendorized.
|
||||
/// Data via caniuse.com, github.com/postcss/autoprefixer, and developer.mozilla.org
|
||||
/// @var {list}
|
||||
$vendor-properties: (
|
||||
|
||||
// Animation.
|
||||
'animation',
|
||||
'animation-delay',
|
||||
'animation-direction',
|
||||
'animation-duration',
|
||||
'animation-fill-mode',
|
||||
'animation-iteration-count',
|
||||
'animation-name',
|
||||
'animation-play-state',
|
||||
'animation-timing-function',
|
||||
|
||||
// Appearance.
|
||||
'appearance',
|
||||
|
||||
// Backdrop filter.
|
||||
'backdrop-filter',
|
||||
|
||||
// Background image options.
|
||||
'background-clip',
|
||||
'background-origin',
|
||||
'background-size',
|
||||
|
||||
// Box sizing.
|
||||
'box-sizing',
|
||||
|
||||
// Clip path.
|
||||
'clip-path',
|
||||
|
||||
// Filter effects.
|
||||
'filter',
|
||||
|
||||
// Flexbox.
|
||||
'align-content',
|
||||
'align-items',
|
||||
'align-self',
|
||||
'flex',
|
||||
'flex-basis',
|
||||
'flex-direction',
|
||||
'flex-flow',
|
||||
'flex-grow',
|
||||
'flex-shrink',
|
||||
'flex-wrap',
|
||||
'justify-content',
|
||||
'order',
|
||||
|
||||
// Font feature.
|
||||
'font-feature-settings',
|
||||
'font-language-override',
|
||||
'font-variant-ligatures',
|
||||
|
||||
// Font kerning.
|
||||
'font-kerning',
|
||||
|
||||
// Fragmented borders and backgrounds.
|
||||
'box-decoration-break',
|
||||
|
||||
// Grid layout.
|
||||
'grid-column',
|
||||
'grid-column-align',
|
||||
'grid-column-end',
|
||||
'grid-column-start',
|
||||
'grid-row',
|
||||
'grid-row-align',
|
||||
'grid-row-end',
|
||||
'grid-row-start',
|
||||
'grid-template-columns',
|
||||
'grid-template-rows',
|
||||
|
||||
// Hyphens.
|
||||
'hyphens',
|
||||
'word-break',
|
||||
|
||||
// Masks.
|
||||
'mask',
|
||||
'mask-border',
|
||||
'mask-border-outset',
|
||||
'mask-border-repeat',
|
||||
'mask-border-slice',
|
||||
'mask-border-source',
|
||||
'mask-border-width',
|
||||
'mask-clip',
|
||||
'mask-composite',
|
||||
'mask-image',
|
||||
'mask-origin',
|
||||
'mask-position',
|
||||
'mask-repeat',
|
||||
'mask-size',
|
||||
|
||||
// Multicolumn.
|
||||
'break-after',
|
||||
'break-before',
|
||||
'break-inside',
|
||||
'column-count',
|
||||
'column-fill',
|
||||
'column-gap',
|
||||
'column-rule',
|
||||
'column-rule-color',
|
||||
'column-rule-style',
|
||||
'column-rule-width',
|
||||
'column-span',
|
||||
'column-width',
|
||||
'columns',
|
||||
|
||||
// Object fit.
|
||||
'object-fit',
|
||||
'object-position',
|
||||
|
||||
// Regions.
|
||||
'flow-from',
|
||||
'flow-into',
|
||||
'region-fragment',
|
||||
|
||||
// Scroll snap points.
|
||||
'scroll-snap-coordinate',
|
||||
'scroll-snap-destination',
|
||||
'scroll-snap-points-x',
|
||||
'scroll-snap-points-y',
|
||||
'scroll-snap-type',
|
||||
|
||||
// Shapes.
|
||||
'shape-image-threshold',
|
||||
'shape-margin',
|
||||
'shape-outside',
|
||||
|
||||
// Tab size.
|
||||
'tab-size',
|
||||
|
||||
// Text align last.
|
||||
'text-align-last',
|
||||
|
||||
// Text decoration.
|
||||
'text-decoration-color',
|
||||
'text-decoration-line',
|
||||
'text-decoration-skip',
|
||||
'text-decoration-style',
|
||||
|
||||
// Text emphasis.
|
||||
'text-emphasis',
|
||||
'text-emphasis-color',
|
||||
'text-emphasis-position',
|
||||
'text-emphasis-style',
|
||||
|
||||
// Text size adjust.
|
||||
'text-size-adjust',
|
||||
|
||||
// Text spacing.
|
||||
'text-spacing',
|
||||
|
||||
// Transform.
|
||||
'transform',
|
||||
'transform-origin',
|
||||
|
||||
// Transform 3D.
|
||||
'backface-visibility',
|
||||
'perspective',
|
||||
'perspective-origin',
|
||||
'transform-style',
|
||||
|
||||
// Transition.
|
||||
'transition',
|
||||
'transition-delay',
|
||||
'transition-duration',
|
||||
'transition-property',
|
||||
'transition-timing-function',
|
||||
|
||||
// Unicode bidi.
|
||||
'unicode-bidi',
|
||||
|
||||
// User select.
|
||||
'user-select',
|
||||
|
||||
// Writing mode.
|
||||
'writing-mode',
|
||||
|
||||
);
|
||||
|
||||
/// Values that should be vendorized.
|
||||
/// Data via caniuse.com, github.com/postcss/autoprefixer, and developer.mozilla.org
|
||||
/// @var {list}
|
||||
$vendor-values: (
|
||||
|
||||
// Cross fade.
|
||||
'cross-fade',
|
||||
|
||||
// Element function.
|
||||
'element',
|
||||
|
||||
// Filter function.
|
||||
'filter',
|
||||
|
||||
// Flexbox.
|
||||
'flex',
|
||||
'inline-flex',
|
||||
|
||||
// Grab cursors.
|
||||
'grab',
|
||||
'grabbing',
|
||||
|
||||
// Gradients.
|
||||
'linear-gradient',
|
||||
'repeating-linear-gradient',
|
||||
'radial-gradient',
|
||||
'repeating-radial-gradient',
|
||||
|
||||
// Grid layout.
|
||||
'grid',
|
||||
'inline-grid',
|
||||
|
||||
// Image set.
|
||||
'image-set',
|
||||
|
||||
// Intrinsic width.
|
||||
'max-content',
|
||||
'min-content',
|
||||
'fit-content',
|
||||
'fill',
|
||||
'fill-available',
|
||||
'stretch',
|
||||
|
||||
// Sticky position.
|
||||
'sticky',
|
||||
|
||||
// Transform.
|
||||
'transform',
|
||||
|
||||
// Zoom cursors.
|
||||
'zoom-in',
|
||||
'zoom-out',
|
||||
|
||||
);
|
||||
|
||||
// Functions.
|
||||
|
||||
/// Removes a specific item from a list.
|
||||
/// @author Hugo Giraudel
|
||||
/// @param {list} $list List.
|
||||
/// @param {integer} $index Index.
|
||||
/// @return {list} Updated list.
|
||||
@function remove-nth($list, $index) {
|
||||
|
||||
$result: null;
|
||||
|
||||
@if type-of($index) != number {
|
||||
@warn "$index: #{quote($index)} is not a number for `remove-nth`.";
|
||||
}
|
||||
@else if $index == 0 {
|
||||
@warn "List index 0 must be a non-zero integer for `remove-nth`.";
|
||||
}
|
||||
@else if abs($index) > length($list) {
|
||||
@warn "List index is #{$index} but list is only #{length($list)} item long for `remove-nth`.";
|
||||
}
|
||||
@else {
|
||||
|
||||
$result: ();
|
||||
$index: if($index < 0, length($list) + $index + 1, $index);
|
||||
|
||||
@for $i from 1 through length($list) {
|
||||
|
||||
@if $i != $index {
|
||||
$result: append($result, nth($list, $i));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@return $result;
|
||||
|
||||
}
|
||||
|
||||
/// Replaces a substring within another string.
|
||||
/// @author Hugo Giraudel
|
||||
/// @param {string} $string String.
|
||||
/// @param {string} $search Substring.
|
||||
/// @param {string} $replace Replacement.
|
||||
/// @return {string} Updated string.
|
||||
@function str-replace($string, $search, $replace: '') {
|
||||
|
||||
$index: str-index($string, $search);
|
||||
|
||||
@if $index {
|
||||
@return str-slice($string, 1, $index - 1) + $replace + str-replace(str-slice($string, $index + str-length($search)), $search, $replace);
|
||||
}
|
||||
|
||||
@return $string;
|
||||
|
||||
}
|
||||
|
||||
/// Replaces a substring within each string in a list.
|
||||
/// @param {list} $strings List of strings.
|
||||
/// @param {string} $search Substring.
|
||||
/// @param {string} $replace Replacement.
|
||||
/// @return {list} Updated list of strings.
|
||||
@function str-replace-all($strings, $search, $replace: '') {
|
||||
|
||||
@each $string in $strings {
|
||||
$strings: set-nth($strings, index($strings, $string), str-replace($string, $search, $replace));
|
||||
}
|
||||
|
||||
@return $strings;
|
||||
|
||||
}
|
||||
|
||||
// Mixins.
|
||||
|
||||
/// Wraps @content in vendorized keyframe blocks.
|
||||
/// @param {string} $name Name.
|
||||
@mixin keyframes($name) {
|
||||
|
||||
@-moz-keyframes #{$name} { @content; }
|
||||
@-webkit-keyframes #{$name} { @content; }
|
||||
@-ms-keyframes #{$name} { @content; }
|
||||
@keyframes #{$name} { @content; }
|
||||
|
||||
}
|
||||
|
||||
/// Vendorizes a declaration's property and/or value(s).
|
||||
/// @param {string} $property Property.
|
||||
/// @param {mixed} $value String/list of value(s).
|
||||
@mixin vendor($property, $value) {
|
||||
|
||||
// Determine if property should expand.
|
||||
$expandProperty: index($vendor-properties, $property);
|
||||
|
||||
// Determine if value should expand (and if so, add '-prefix-' placeholder).
|
||||
$expandValue: false;
|
||||
|
||||
@each $x in $value {
|
||||
@each $y in $vendor-values {
|
||||
@if $y == str-slice($x, 1, str-length($y)) {
|
||||
|
||||
$value: set-nth($value, index($value, $x), '-prefix-' + $x);
|
||||
$expandValue: true;
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Expand property?
|
||||
@if $expandProperty {
|
||||
@each $vendor in $vendor-prefixes {
|
||||
#{$vendor}#{$property}: #{str-replace-all($value, '-prefix-', $vendor)};
|
||||
}
|
||||
}
|
||||
|
||||
// Expand just the value?
|
||||
@elseif $expandValue {
|
||||
@each $vendor in $vendor-prefixes {
|
||||
#{$property}: #{str-replace-all($value, '-prefix-', $vendor)};
|
||||
}
|
||||
}
|
||||
|
||||
// Neither? Treat them as a normal declaration.
|
||||
@else {
|
||||
#{$property}: #{$value};
|
||||
}
|
||||
|
||||
}
|
BIN
images/BAGUAGE-BIGUGLIA.jpg
Normal file
After Width: | Height: | Size: 124 KiB |
BIN
images/BAGUAGE-MAIN.jpg
Normal file
After Width: | Height: | Size: 359 KiB |
BIN
images/BAGUAGE-ROITELET.jpg
Normal file
After Width: | Height: | Size: 154 KiB |
Before Width: | Height: | Size: 359 KiB After Width: | Height: | Size: 1.5 MiB |
BIN
images/CEN_PACA.png
Normal file
After Width: | Height: | Size: 734 KiB |
Before Width: | Height: | Size: 189 KiB After Width: | Height: | Size: 249 KiB |
@ -54,7 +54,7 @@
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1">
|
||||
<path
|
||||
style="fill:#4aca62;fill-opacity:1;stroke:#4aca62;stroke-width:2.59184;stroke-opacity:1"
|
||||
style="fill:#4cae4f;fill-opacity:1;stroke:#4cae4f;stroke-width:2.59184;stroke-opacity:1"
|
||||
d="M 103.9962,270.31995 H 97.3487 L 36.021874,209.69006 -25.304957,149.06015 v -7.22293 -7.22293 L 15.426034,93.594848 56.15702,52.575399 l 14.9935,14.837052 14.9935,14.837051 v 8.102901 8.102901 l 5.18367,4.691156 5.18368,4.69116 v 34.5881 34.5881 l -5.18368,5.18368 -5.18367,5.18367 v 8.88332 8.88331 l 7.01537,5.51829 7.01537,5.5183 6.59178,-1.55295 6.59176,-1.55294 4.53572,-5.36029 4.53571,-5.36028 v -5.84293 -5.84293 l -5.18367,-6.58997 -5.18367,-6.58998 V 143.00856 108.525 l 12.95918,12.76432 12.95918,12.76432 v 7.3428 7.34279 l 6.36178,6.36179 6.36178,6.36178 h 6.31027 6.31027 l 5.90278,-4.77978 5.90278,-4.77979 v -8.14595 -8.14596 l -4.72143,-5.21712 -4.72143,-5.21712 h -8.1103 -8.11031 l -13.5186,-13.68865 -13.51861,-13.688643 v -7.163861 -7.16386 l -6.36178,-6.361783 -6.36178,-6.36178 h -7.3339 -7.3339 L 80.87181,56.371409 66.70524,41.994317 81.38037,27.861204 96.05551,13.72809 h 7.19235 7.19235 l 60.42333,60.274601 60.42333,60.274599 v 7.69973 7.69974 l -60.32158,60.3216 -60.32159,60.32159 z"
|
||||
id="path40"
|
||||
inkscape:export-xdpi="9.8000002"
|
||||
|
Before Width: | Height: | Size: 2.8 KiB After Width: | Height: | Size: 2.8 KiB |
Before Width: | Height: | Size: 34 KiB |
BIN
images/git.png
Before Width: | Height: | Size: 3.3 KiB |
442
index.html
@ -1,442 +0,0 @@
|
||||
<!DOCTYPE HTML>
|
||||
<html>
|
||||
<head>
|
||||
<!-- Global site tag (gtag.js) - Google Analytics -->
|
||||
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-167417611-1"></script>
|
||||
<script>
|
||||
window.dataLayer = window.dataLayer || [];
|
||||
function gtag(){dataLayer.push(arguments);}
|
||||
gtag('js', new Date());
|
||||
|
||||
gtag('config', 'UA-167417611-1');
|
||||
</script>
|
||||
<title>Adrien CHARBONNEAU – Naturaliste écologue</title>
|
||||
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no" />
|
||||
<meta name="description" content="Site de présentation d'Adrien CHARBONNEAU - Naturaliste écologue et ornithologue passionné.">
|
||||
<meta name="author" content="Adrien CHARBONNEAU">
|
||||
|
||||
<meta property="og:title" content="Adrien CHARBONNEAU – Naturaliste écologue" />
|
||||
<meta property="og:image" content="https://adriencharbonneau.fr/images/CORSICA.jpg" />
|
||||
<meta property="og:url" content="https://adriencharbonneau.fr" />
|
||||
<meta property="og:description" content="Site de présentation d'Adrien CHARBONNEAU - Naturaliste écologue et ornithologue passionné." />
|
||||
<meta property="og:nom_du_site" content="Adrien CHARBONNEAU – Naturaliste écologue"/>
|
||||
|
||||
<link rel="stylesheet" href="assets/css/main.css" />
|
||||
<link rel="icon" type="image/png" href="images/AC_favicon.png" />
|
||||
</head>
|
||||
<body class="is-preload">
|
||||
|
||||
<!-- Header -->
|
||||
<section id="header">
|
||||
<header>
|
||||
<span class="image avatar"><img src="images/avatar.jpg" alt="" /></span>
|
||||
<h1 id="logo"><a href="#">Adrien CHARBONNEAU</a></h1>
|
||||
<p>Naturaliste écologue <br>
|
||||
et ornithologue passionné</p>
|
||||
</header>
|
||||
<nav id="nav">
|
||||
<ul id="menu">
|
||||
<li><a href="#presentation" class="active">Présentation</a>
|
||||
<li><a href="#publications">Publications</a></li>
|
||||
<li><a href="#supports">Supports de stage</a></li>
|
||||
<li><a href="#competences">Compétences professionnelles</a></li>
|
||||
<!-- <li><a href="#contact">Contact</a></li> -->
|
||||
</ul>
|
||||
</nav>
|
||||
<footer>
|
||||
<ul class="icons">
|
||||
<li><a href="https://www.linkedin.com/in/adrien-charbonneau/" target="_blank" class="icon brands fa-linkedin-in" title="Linkedin"><span class="label">Linkedin</span></a></li>
|
||||
<li><a href="https://www.researchgate.net/profile/Adrien-Charbonneau" target="_blank" class="icon brands fa-researchgate" title="ResearchGate"><span class="label">ResearchGate</span></a></li>
|
||||
<li><a href="https://git.adriencharbonneau.fr/Adrien/Site-internet" target="_blank" class="icon brands fa-git" title="Dépôt git"><span class="label">Dépôt Git</span></a></li>
|
||||
<li><a href="mailto:adrien.charbonneau@free.fr" class="icon solid fa-envelope" title="Adresse courriel"><span class="label">Email</span></a></li>
|
||||
<li><a href="docs/CV_Adrien_CHARBONNEAU.pdf" target="_blank" class="icon solid fa-address-card" title="Curriculum Vitae"><span class="label">Curriculum Vitae</span></a></li>
|
||||
</ul>
|
||||
</footer>
|
||||
</section>
|
||||
|
||||
<!-- Wrapper -->
|
||||
<div id="wrapper">
|
||||
|
||||
<!-- Main -->
|
||||
<div id="main">
|
||||
|
||||
<!-- presentation -->
|
||||
<section id="presentation">
|
||||
<div class="image main" data-position="center">
|
||||
<img src="images/banner.jpg" alt="" />
|
||||
</div>
|
||||
<div class="container">
|
||||
<header class="major">
|
||||
<h2>Présentation</h2>
|
||||
<p>Bonjour et bienvenue sur mon site !</p>
|
||||
</header>
|
||||
<blockquote>
|
||||
<b>Adrien CHARBONNEAU</b><br>
|
||||
24 ans<br>
|
||||
69100 - Villeurbanne, Rhône - France
|
||||
</blockquote>
|
||||
<p>Cette page est, comme vous l'aurez compris, complémentaire à mon Curriculum Vitae (<i>que vous pourrez retrouver ci-dessous</i>).<br>
|
||||
Elle vous présente divers liens et informations utiles à ma présentation. Vous retrouverez notamment la liste de mes <u><b>compétences professionnelles</b></u>.<br>
|
||||
<blockquote>Que fais-je en ce moment ? Pour le savoir rendez-vous ici : <a href="ACTUALITE.html" class="button alt small">- ACTUALITÉ -</a></blockquote><br>
|
||||
N’hésitez pas à me contacter, que ce soit pour une question, une compétence ou une demande de précision sur une expérience professionnelle, en utilisant mon adresse courriel ci-dessous :<br>
|
||||
<ul>
|
||||
<li><a href="mailto:adrien.charbonneau@free.fr">adrien.charbonneau@free.fr</a></li>
|
||||
</ul></p>
|
||||
<p align="center"><a href="docs/CV_Adrien_CHARBONNEAU.pdf" target="_blank" class="button">– CURRICULUM VITAE –</a></p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- Gallery -->
|
||||
<div class="gallery lightbox style1 small">
|
||||
<article>
|
||||
<a href="images/galerie/fulls/ATHNOC2.jpg" class="image">
|
||||
<img src="images/galerie/thumbs/ATHNOC2.jpg" alt="" />
|
||||
</a>
|
||||
<div class="caption">
|
||||
<h3 align="center">Chevêche d'Athéna</h3>
|
||||
<p>Athene noctua</p>
|
||||
<ul class="actions fixed">
|
||||
<li><span class="button small">Agrandir</span></li>
|
||||
</ul>
|
||||
</div>
|
||||
</article>
|
||||
<article>
|
||||
<a href="images/galerie/fulls/EMBSCH.jpg" class="image">
|
||||
<img src="images/galerie/thumbs/EMBSCH.jpg" alt="" />
|
||||
</a>
|
||||
<div class="caption">
|
||||
<h3>Bruant des roseaux</h3>
|
||||
<p>Emberiza schoeniclus</p>
|
||||
<ul class="actions fixed">
|
||||
<li><span class="button small">Agrandir</span></li>
|
||||
</ul>
|
||||
</div>
|
||||
</article>
|
||||
<article>
|
||||
<a href="images/galerie/fulls/PARCAE.jpg" class="image">
|
||||
<img src="images/galerie/thumbs/PARCAE.jpg" alt="" />
|
||||
</a>
|
||||
<div class="caption">
|
||||
<h3>Mésange bleue</h3>
|
||||
<p>Cyanistes caeruleus</p>
|
||||
<ul class="actions fixed">
|
||||
<li><span class="button small">Agrandir</span></li>
|
||||
</ul>
|
||||
</div>
|
||||
</article>
|
||||
<article>
|
||||
<a href="images/galerie/fulls/PARMAJ.jpg" class="image">
|
||||
<img src="images/galerie/thumbs/PARMAJ.jpg" alt="" />
|
||||
</a>
|
||||
<div class="caption">
|
||||
<h3>Mésange charbonnière</h3>
|
||||
<p>Parus major</p>
|
||||
<ul class="actions fixed">
|
||||
<li><span class="button small">Agrandir</span></li>
|
||||
</ul>
|
||||
</div>
|
||||
</article>
|
||||
<article>
|
||||
<a href="images/galerie/fulls/POCHONS.jpg" class="image">
|
||||
<img src="images/galerie/thumbs/POCHONS.jpg" alt="" />
|
||||
</a>
|
||||
<div class="caption">
|
||||
<h3>Pochons</h3>
|
||||
<p>Sac en tissu pour le transport des oiseaux</p>
|
||||
<ul class="actions fixed">
|
||||
<li><span class="button small">Agrandir</span></li>
|
||||
</ul>
|
||||
</div>
|
||||
</article>
|
||||
<article>
|
||||
<a href="images/galerie/fulls/PRUMOD.jpg" class="image">
|
||||
<img src="images/galerie/thumbs/PRUMOD.jpg" alt="" />
|
||||
</a>
|
||||
<div class="caption">
|
||||
<h3>Accenteur mouchet</h3>
|
||||
<p>Prunella modularis</p>
|
||||
<ul class="actions fixed">
|
||||
<li><span class="button small">Agrandir</span></li>
|
||||
</ul>
|
||||
</div>
|
||||
</article>
|
||||
<article>
|
||||
<a href="images/galerie/fulls/TRAVEE.jpg" class="image">
|
||||
<img src="images/galerie/thumbs/TRAVEE.jpg" alt="" />
|
||||
</a>
|
||||
<div class="caption">
|
||||
<h3>Travée de baguage</h3>
|
||||
<p>Zone ouverte où les filets de capture sont tendus</p>
|
||||
<ul class="actions fixed">
|
||||
<li><span class="button small">Agrandir</span></li>
|
||||
</ul>
|
||||
</div>
|
||||
</article>
|
||||
<article>
|
||||
<a href="images/galerie/fulls/PHYCOL.jpg" class="image">
|
||||
<img src="images/galerie/thumbs/PHYCOL.jpg" alt="" />
|
||||
</a>
|
||||
<div class="caption">
|
||||
<h3>Pouillot véloce</h3>
|
||||
<p>Phylloscopus collybita</p>
|
||||
<ul class="actions fixed">
|
||||
<li><span class="button small">Agrandir</span></li>
|
||||
</ul>
|
||||
</div>
|
||||
</article>
|
||||
</div>
|
||||
|
||||
<!-- publications -->
|
||||
<section id="publications">
|
||||
<div class="container">
|
||||
<h3>Publications</h3>
|
||||
<p>Mes différentes publications et écrits scientifiques majeurs qui ont jalonnés mon Master en Biodiversité, Écologie et Évolution.</p>
|
||||
<div class="features">
|
||||
<article>
|
||||
<a href="" class="image"><img src="images/GECKO.jpg" alt="" /></a>
|
||||
<div class="inner">
|
||||
<h4>Compétition entre deux espèces de Geckos sur l’île de Porquerolles (<i>2019-2020</i>)</h4>
|
||||
<p>(<i><b>Bientôt disponible</b></i>) - La Tarente de Maurétanie (<i>Tarentola mauritanica</i>) est, sur l'île de Porquerolles (83), une espèce importée par l'homme. Le Gecko indigène de l'île et occupant la même niche écologique que cette dernière est l'Hémidactyle verruqueux (<i>Hemidactylus turcicus</i>). Il est supposé qu'une compétition réside entre les deux espèces.</p>
|
||||
</div>
|
||||
</article>
|
||||
<article>
|
||||
<a href="docs/PGM.pdf" class="image"><img src="images/PGM.jpg" alt="" /></a>
|
||||
<div class="inner">
|
||||
<h4>Caractérisation du territoire de reproduction de la Pie-grièche méridionale (<i>2019</i>)</h4>
|
||||
<p>La superficie du territoire de reproduction de la Pie-grièche méridionale (<i>Lanius meridionalis</i>) étant très peu connu, cette étude souhaite apporter des précisions quant à cela.</p>
|
||||
</div>
|
||||
</article>
|
||||
<article>
|
||||
<a href="docs/ORTHOPTERES.pdf" class="image"><img src="images/ORTHO.jpg" alt="" /></a>
|
||||
<div class="inner">
|
||||
<h4>Étude du lien entre communautés d’Orthoptères et hauteur de végétation par différentes méthodes d’échantillonnage dans la vallée de l’Ubaye (<i>2018-2019</i>)</h4>
|
||||
<p>Sujet de l'école de terrain 2018. Dans le Parc National du Mercantour, la hauteur de végétation a-t-elle une importance dans la répartition des communautés d'Orthoptères ?</p>
|
||||
</div>
|
||||
</article>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
|
||||
<!-- supports -->
|
||||
<section id="supports">
|
||||
<div class="container">
|
||||
<h3>Supports de stage</h3>
|
||||
<p>De nombreuses données et annexes sont disponible durant un stage. Elles sont regroupées par stage :</p>
|
||||
<div class="features">
|
||||
<article>
|
||||
<a href="http://adrien.charbonneau.free.fr/PRO/STAGE/ALAN/" class="image"><img src="images/ALAN.jpg" alt="" /></a>
|
||||
<div class="inner">
|
||||
<h4>Support de stage de Master 2 : <b>Impact de la lumière artificielle et de la structure du paysage sur la biodiversité en période nocturne</b> (<i>2020</i>)</h4>
|
||||
<p>Il est admis que la lumière artificielle a des effets néfastes sur la biodiversité. Qu'en est-il en addition à la structure paysagère et au sein du Parc Naturel Régional des Baronnies provençales ?</p>
|
||||
</div>
|
||||
</article>
|
||||
<article>
|
||||
<a href="http://adrien.charbonneau.free.fr/PRO/STAGE/PGM/" class="image"><img src="images/PGM.jpg" alt="" /></a>
|
||||
<div class="inner">
|
||||
<h4>Support de stage de Master 1 : <b>Caractérisation du territoire de reproduction de la Pie-grièche méridionale</b> (<i>2019</i>)</h4>
|
||||
<p>Dans un but de mesures de gestion de la garrigue et de précision du protocole d'échantillonnage du Plan National d'Actions sur les Pie-grièches (ici la Pie-grièche méridionale), la surface du territoire de reproduction de l'espèce est une information clé.</p>
|
||||
</div>
|
||||
</article>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- competences -->
|
||||
<section id="competences">
|
||||
<div class="container">
|
||||
<h3>Compétences</h3>
|
||||
<p>Mes compétences sont présentées dans la liste ci-dessous, vous y trouverez les références du matériel et des ressources technologiques (<i>ex : logiciel</i>) que je maîtrise. N’hésitez pas, comme précisé précédemment, à me questionner (<i>ou demander un avis</i>) sur une compétence, méthode ou matériel utilisé, j’y répondrai avec plaisir.<br>
|
||||
<i>Dans les parties concernant le matériel, un astérisque (<b>*</b>) signifie que je possède le matériel cité. Pour les identifications acoustiques, le matériel est cité dans la section “acoustique”.</i></p>
|
||||
<ul class="feature-icons">
|
||||
<li class="icon solid fa-feather-alt menu"><a href="#naturalistes">Naturalistes</a></li>
|
||||
<li class="icon solid fa-clipboard-check menu"><a href="#science">Méthodologie et démarche scientifique</a></li>
|
||||
<li class="icon solid fa-percentage menu"><a href="#statistiques">Analyses statistiques et Modélisation</a></li>
|
||||
<li class="icon solid fa-map-marked-alt menu"><a href="#cartographie">Analyses spatiales et Cartographie</a></li>
|
||||
<li class="icon solid fa-microphone-alt menu"><a href="#acoustique">Acoustique</a></li>
|
||||
<li class="icon solid fa-mountain menu"><a href="#interets">Autres compétences et intérêts divers</a></li>
|
||||
</ul>
|
||||
<hr>
|
||||
<div class="features">
|
||||
<article>
|
||||
<h5 id="naturalistes">Compétences naturalistes</h5>
|
||||
<a class="image comp"><img src="images/ADRIEN_CHARBONNEAU.png" alt="" /><legend>Suivi ornithologique et entomologique (odonates) dans la Tarentaise (73)</legend></a>
|
||||
<div class="inner comp">
|
||||
<ul class="feature-icons">
|
||||
<li class="icon solid fa-feather-alt">Ornithologie<p class="details">Identification visuelle, en main (<i>formation de baguage</i>) et acoustique.</p></li>
|
||||
<li class="icon solid fa-spider">Entomologie<p class="details">(<i>Lépidoptères, Odonates, Orthoptères</i>) - Identification visuelle, en main (<i>capture au filet, prospection au "drap" nocturne</i>) et acoustique.</p></li>
|
||||
<li class="icon solid fa-paw">Mammalogie<p class="details">(<i>Chiroptères, Macro/Méso/Micro-mammifères</i>) - Identification visuelle et auditive - Télémétrie / Analyse de pelote de réjection.</p></li>
|
||||
<li class="icon solid fa-frog">Herpétologie<p class="details">Identification visuelle, en main (<i>plaque à reptiles, "seau" à amphibiens</i>) et acoustique.</p></li>
|
||||
<li class="icon solid fa-tree">Botanique généraliste<p class="details">Identification des familles et utilisation des flores (<i>Flora Gallica / Flore Méd' / Flores forestières...</i>) - Détermination des habitats - Loupe de botanique, mise en herbier et photographie.</p></li>
|
||||
</ul>
|
||||
</div>
|
||||
</article>
|
||||
<article>
|
||||
<h5 id="science">Compétences en méthodologie et en démarche scientifique</h5>
|
||||
<a class="image comp"><img src="images/RADIOPISTAGE.png" alt="" /><legend>Radiopistage de Pie-grièche méridionale (Lanius meridionalis) dans les Garrigues de Lançon (13)</legend></a>
|
||||
<div class="inner comp">
|
||||
<ul class="feature-icons">
|
||||
<li class="icon solid fa-book">Bases théoriques de l'écologie<p class="details">
|
||||
<ul class="sublist">
|
||||
<li>Évolution</li>
|
||||
<li>Conservation</li>
|
||||
<li>Gestion de la biodiversité</li>
|
||||
<li>Bio/Éco-acoustique</li>
|
||||
<li>Paysage</li>
|
||||
</ul>
|
||||
</p></li>
|
||||
<li class="icon solid fa-clipboard-list">Mise en place de protocole / étude pilote</p></li>
|
||||
<li class="icon solid fa-map-marked-alt">Application de protocole/stratégie d'échantillonnage</li>
|
||||
<li class="icon solid fa-chart-bar">Analyse de données<p class="ref">(voir Modélisation et Cartographie ci-dessous)</p></li>
|
||||
<li class="icon solid fa-paragraph">Rédaction de rapports d'étude/articles scientifiques<p class="details">Introduction, Matériel et Méthode, Résultats, Discussion/Conclusion</p></li>
|
||||
<li class="icon solid fa-file-alt">Rédaction de rapports d'inventaires/prédiagnostics/Volet Naturel d'Étude d'Impact</li>
|
||||
</ul>
|
||||
</div>
|
||||
</article>
|
||||
|
||||
<article>
|
||||
<h5 id="statistiques">Compétences en analyses statistiques et en modélisation</h5>
|
||||
<a class="image comp"><img src="images/ABON-HV.png" alt="" /><legend>Représentation de l’abondance en orthoptères dans le massif du Mercantour (04) en fonction de la hauteur de végétation</legend></a>
|
||||
<div class="inner comp">
|
||||
<ul class="feature-icons">
|
||||
<li class="icon solid fa-chart-line">Modèles Linéaires<p class="details">Simples et mixtes</p></li>
|
||||
<li class="icon solid fa-percentage">Modèles Linéaires Généralisés<p class="details">Simples et mixtes - GLM/GLMM - Logiciel R</p></li>
|
||||
<li class="icon solid fa-chart-area">Species Distribution Model<p class="details">SDM - Logiciel R et Maxent</p></li>
|
||||
<li class="icon solid fa-ring">Capture-Marquage-Recapture<p class="details">CMR - Logiciel Mark</p></li>
|
||||
</ul>
|
||||
</div>
|
||||
</article>
|
||||
|
||||
<article>
|
||||
<h5 id="cartographie">Compétences en analyses spatiales et en cartographie</h5>
|
||||
<a class="image comp"><img src="images/CARTE.png" alt="" /><legend>Tirage aléatoire de positions sur le territoire de la France métropolitaine</legend></a>
|
||||
<div class="inner comp">
|
||||
<ul class="feature-icons">
|
||||
<li class="icon solid fa-layer-group">QGIS<p class="details">SAGA, GRASS, Modéleur graphique</p></li>
|
||||
<li class="icon solid fa-globe">ARCGIS (<i>bases</i>)</li>
|
||||
<li class="icon solid fa-code">R / packages<p class="details"><ul class="sublist">
|
||||
<li><b><i>Cartographie</i></b> : rgdal ; rgeos ; gridExtra ; raster ; RSAGA ; maptools ; spatstat ; cartography ; sf ; sp</li>
|
||||
<li><b><i>Acoustique</i></b> : tuneR ; seewave ; soundecology ; pumilioR</li>
|
||||
<li><b><i>Écologie du paysage</i></b> : spatialEco ; landscapemetrics ; landscapetools</li>
|
||||
<li><b><i>Domaine vital d'espèce</i></b> : adehabitatHR</li>
|
||||
</ul></p></li>
|
||||
</ul>
|
||||
</div>
|
||||
</article>
|
||||
|
||||
<article>
|
||||
<h5 id="acoustique">Compétences acoustiques et audionaturalistes</h5>
|
||||
<a class="image comp"><img src="images/AUDIOMOTH.jpg" alt="" /><legend>AudioMoth durant le stage de M2</legend></a>
|
||||
<div class="inner comp">
|
||||
<ul class="feature-icons">
|
||||
<li class="icon solid fa-microphone-alt">Prise de son<p class="details"><ul class="sublist">
|
||||
<li>Song Meter Acoustic Recorder (<i>SM4 Acoustic</i>)</li>
|
||||
<li>AudioMoth (<i>version 1.1.0 et 1.2.0</i>) <b>*</b></li>
|
||||
<li>Song Meter SM4BAT-FS Ultrasonic Recorder (<i>SM4 bat</i>)</li>
|
||||
<li>Enregistreur ZOOM H5 <b>*</b> (<i>couplé à des microphones Primo EM172 et une parabole</i>)</li>
|
||||
<li>PETTERSSON D240x</li>
|
||||
<li>Echo Meter Touch 2 Pro</li>
|
||||
<li>Magenta Bat 5 Detector <b>*</b></li>
|
||||
|
||||
</ul></p></li>
|
||||
<li class="icon solid fa-file-audio">Analyse acoustique<p class="details">Identification des espèces, calcul des indices acoustiques,...<ul class="sublist">
|
||||
<li>Audacity</li>
|
||||
<li>Syrinx</li>
|
||||
<li>Kaléidoscope</li>
|
||||
<li>Batexplorer</li>
|
||||
<li>Raven Lite</li>
|
||||
<li><b><i>R / packages</i></b> : tuneR ; seewave ; soundecology ; pumilioR</li>
|
||||
|
||||
</ul></p></li>
|
||||
</ul>
|
||||
</div>
|
||||
</article>
|
||||
<p>
|
||||
<span class="image fit"><img src="images/CLAGLA.jpg" alt="" /><legend>Sonogramme partiel d’un Coucou geai (<i>Clamator glandarius</i>) en migration nocturne – © Adrien CHARBONNEAU</legend></span>
|
||||
|
||||
|
||||
</p>
|
||||
<article>
|
||||
<h5 id="interets">Les autres compétences et intérêts</h5>
|
||||
<a class="image comp"><img src="images/LAUZANIER.jpg" alt="" /><legend>Lac du Lauzanier - Mercantour (04)</legend></a>
|
||||
<div class="inner comp">
|
||||
<ul class="feature-icons">
|
||||
<li class="icon solid fa-cloud-sun-rain">Astronomie/Météorologie</li>
|
||||
<li class="icon solid fa-hiking">Randonnée<p class="details">Très bonne condition physique et très bonnes connaissances des milieux fréquentés</p></li>
|
||||
<li class="icon solid fa-server">Informatique<p class="details"><ul class="sublist">
|
||||
<li>Connaissances des systèmes d’exploitations Windows/MacOS/Distributions Linux – Maintenance de ces derniers</li>
|
||||
<li>Création de site internet : HTML / CSS / PHP</li>
|
||||
<li>Base de données MySQL</li>
|
||||
<li>Language de programmation : R, JavaScript, C++, Python, Bash (<i>shell</i>), Git (<i><a href="https://git.adriencharbonneau.fr/Adrien/Site-internet">Dépôt personnel</a> / Framagit / Github</i>)</li>
|
||||
<li>Gestion/Montage de vidéo et photographies</li>
|
||||
<li>Connaissances en sécurité informatique</li>
|
||||
</ul></p></li>
|
||||
<li class="icon solid fa-tools">Électronique et "bricolage"<p class="details"><ul class="sublist">
|
||||
<li>Utilisation et programmation de Raspberry Pi/Arduino : Récepteur ADS-B / Serveur web / Routeur wifi / Projet de station météo, d'enregistreur passif (<i>type SM4 / AudioMoth</i>) et de caméra pour nichoir.</li>
|
||||
<li>Montage d’ordinateur fixe et portable / connaissance du matériel</li>
|
||||
<li>“Touche à tout” : bricolage divers (<i>ex : nichoirs, parabole, modélisme,…</i>)</li>
|
||||
</ul></p></li>
|
||||
<li class="icon solid fa-share-alt">Communication<p class="details"><ul class="sublist">
|
||||
<li>Public : Prise de contact, oral, conférence, animation ...</li>
|
||||
<li>Réseaux sociaux : Facebook; Twitter, Instagram, Blog,...</li>
|
||||
</ul></p></li>
|
||||
</ul>
|
||||
</div>
|
||||
</article>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- contact
|
||||
<section id="contact">
|
||||
<div class="container">
|
||||
<h3>Contact</h3>
|
||||
<p>N’hésitez surtout pas à me contacter par le biais de ce formulaire ou de l'adresse courriel fournie en haut de page. J’y répondrai avec plaisir.</p>
|
||||
<form method="post" action="mailto:adrien.charbonneau@free.fr">
|
||||
<div class="row gtr-uniform">
|
||||
<div class="col-6 col-12-xsmall"><input type="text" name="prenom" id="prenom" placeholder="Prénom" /></div>
|
||||
<div class="col-6 col-12-xsmall"><input type="text" name="nom" id="nom" placeholder="Nom de famille" /></div>
|
||||
<div class="col-12"><input type="email" name="email" id="email" placeholder="Email" /></div>
|
||||
<div class="col-12"><input type="text" name="subject" id="subject" placeholder="Sujet" /></div>
|
||||
<div class="col-12"><textarea name="message" id="message" placeholder="Message" rows="6"></textarea></div>
|
||||
<div class="col-12">
|
||||
<ul class="actions">
|
||||
<li><input type="submit" class="primary" value="Envoyer le message" /></li>
|
||||
<li><input type="reset" value="Effacer" /></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</section>
|
||||
-->
|
||||
|
||||
</div>
|
||||
|
||||
<!-- Footer -->
|
||||
<section id="footer">
|
||||
<div class="container">
|
||||
<ul class="copyright">
|
||||
<li>© Adrien CHARBONNEAU - 2021. Tous droits réservés.</li>
|
||||
<li>Inspiré de : <a href="http://html5up.net">HTML5 UP</a></li>
|
||||
<li><img style="margin-right: .5rem; vertical-align: middle;" src="images/git.png" width="25px" height="25px"><b>Version : </b><span class="git git_color1 blanc"> v1.0 </span><b> Branch : </b><span class="git git_color1 blanc"> master </span>
|
||||
</ul>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
</div>
|
||||
|
||||
<!-- Scripts -->
|
||||
<script src="assets/js/jquery.min.js"></script>
|
||||
<script src="assets/js/jquery.scrollex.min.js"></script>
|
||||
<script src="assets/js/jquery.scrolly.min.js"></script>
|
||||
<script src="assets/js/browser.min.js"></script>
|
||||
<script src="assets/js/breakpoints.min.js"></script>
|
||||
<script src="assets/js/util.js"></script>
|
||||
<script src="assets/js/main.js"></script>
|
||||
</body>
|
||||
</html>
|
456
index.php
Normal file
@ -0,0 +1,456 @@
|
||||
<!DOCTYPE HTML>
|
||||
<!-- Vous visitez mon code ? 😇 Vous pouvez le visualiser bien plus facilement directement ici : https://git.charbonneau.fr/Adrien/Site-internet
|
||||
Bonne lecture ! -->
|
||||
<html>
|
||||
<head>
|
||||
<title>Adrien CHARBONNEAU – Naturaliste écologue</title>
|
||||
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no" />
|
||||
<meta name="description" content="Site de présentation d'Adrien CHARBONNEAU - Naturaliste écologue et ornithologue passionné.">
|
||||
<meta name="author" content="Adrien CHARBONNEAU">
|
||||
|
||||
<meta property="og:title" content="Adrien CHARBONNEAU – Naturaliste écologue" />
|
||||
<meta property="og:image" content="https://adriencharbonneau.fr/images/CORSICA.jpg" />
|
||||
<meta property="og:url" content="https://adriencharbonneau.fr" />
|
||||
<meta property="og:description" content="Site de présentation d'Adrien CHARBONNEAU - Naturaliste écologue et ornithologue passionné." />
|
||||
<meta property="og:nom_du_site" content="Adrien CHARBONNEAU – Naturaliste écologue"/>
|
||||
|
||||
<link rel="stylesheet" href="assets/css/tailwind.css">
|
||||
<link rel="stylesheet" href="assets/css/main.css" />
|
||||
<link rel="icon" type="image/png" href="images/AC_favicon.png" />
|
||||
|
||||
<!-- Matomo : petit analyseur de visites libre et opensource -->
|
||||
<script>
|
||||
var _paq = window._paq = window._paq || [];
|
||||
/* tracker methods like "setCustomDimension" should be called before "trackPageView" */
|
||||
_paq.push(["setDocumentTitle", document.title]);
|
||||
_paq.push(["setCookieDomain", "*.adriencharbonneau.fr"]);
|
||||
_paq.push(["setDomains", ["*.adriencharbonneau.fr"]]);
|
||||
_paq.push(['trackPageView']);
|
||||
_paq.push(['enableLinkTracking']);
|
||||
(function() {
|
||||
var u="https://stats.charbonneau.fr/";
|
||||
_paq.push(['setTrackerUrl', u+'matomo.php']);
|
||||
_paq.push(['setSiteId', '1']);
|
||||
var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
|
||||
g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
|
||||
})();
|
||||
</script>
|
||||
</head>
|
||||
|
||||
<body class="is-preload">
|
||||
|
||||
<?php
|
||||
class Version {
|
||||
public static function get() {
|
||||
$tag = trim(exec('git describe --tags --abbrev=0'));
|
||||
return sprintf('%s', $tag);
|
||||
}
|
||||
}
|
||||
|
||||
// echo 'Version du site : ' . Version::get();
|
||||
|
||||
?>
|
||||
|
||||
<!-- En-tête -->
|
||||
<section id="header">
|
||||
<header>
|
||||
<span class="image avatar"><img src="images/avatar.jpg" alt="Portrait d'Adrien CHARBONNEAU"/></span>
|
||||
<h1 id="logo"><a href="#">Adrien CHARBONNEAU</a></h1>
|
||||
<p>Naturaliste écologue <br>
|
||||
et ornithologue passionné</p>
|
||||
</header>
|
||||
<nav id="nav">
|
||||
<ul id="menu">
|
||||
<li><a href="#presentation" class="active">Présentation</a>
|
||||
<li><a href="#publications">Publications</a></li>
|
||||
<li><a href="#supports">Supports de stage</a></li>
|
||||
<li><a href="#competences">Compétences professionnelles</a></li>
|
||||
<!-- <li><a href="#contact">Contact</a></li> -->
|
||||
</ul>
|
||||
</nav>
|
||||
<footer>
|
||||
<ul class="icons">
|
||||
<li><a href="mailto:site-adrien@charbonneau.mozmail.com" class="icon solid fa-envelope" title="Adresse courriel"><span class="label">Email</span></a></li>
|
||||
<li><a href="https://git.charbonneau.fr/Adrien/CV/raw/branch/master/CV_Adrien_CHARBONNEAU.pdf" target="_blank" class="icon solid fa-address-card" title="Curriculum Vitae"><span class="label">Curriculum Vitae</span></a></li>
|
||||
<li><a class="icon solid fa-wrench" title="Documentation"><span class="label">Documentation du site internet</span></a></li>
|
||||
</ul>
|
||||
<ul class="icons">
|
||||
<li><a href="https://www.linkedin.com/in/adrien-charbonneau/" target="_blank" class="icon brands fa-linkedin" title="Linkedin"><span class="label">Linkedin</span></a></li>
|
||||
<li><a href="https://www.researchgate.net/profile/Adrien-Charbonneau" target="_blank" class="icon brands fa-researchgate" title="ResearchGate"><span class="label">ResearchGate</span></a></li>
|
||||
<li><a href="https://git.charbonneau.fr/Adrien/Site-internet" target="_blank" class="icon brands fa-git-square" title="Dépôt git"><span class="label">Dépôt Git</span></a></li>
|
||||
<li><a href="https://piaille.fr/web/@CharbonneauAdri" rel="me" target="_blank" class="icon brands fa-mastodon" title="Mastodon"><span class="label">Mastodon</span></a></li>
|
||||
<li><a href="https://www.twitter.com/CharbonneauAdri/" target="_blank" class="icon brands fa-twitter-square" title"Twitter"><span class="label">Twitter</span></a></li>
|
||||
</ul>
|
||||
</footer>
|
||||
</section>
|
||||
|
||||
<!-- Wrapper -->
|
||||
<div id="wrapper">
|
||||
|
||||
<!-- Main -->
|
||||
<div id="main">
|
||||
|
||||
<!-- presentation -->
|
||||
<section id="presentation">
|
||||
<div class="image main" data-position="center">
|
||||
<img src="images/banner.jpg" alt="Bannière du site internet"/>
|
||||
</div>
|
||||
<div class="container">
|
||||
<header class="major">
|
||||
<h2>Présentation</h2>
|
||||
<p>Bonjour et bienvenue sur mon site !</p>
|
||||
</header>
|
||||
<div class="identity">
|
||||
<b>Adrien CHARBONNEAU</b><br>
|
||||
27 ans<br>
|
||||
83340 - Flassans-sur-Issole, Var (83) - France<br>
|
||||
Permis B (2015) et A (2018)
|
||||
<div class="px-6 pt-4 pb-2">
|
||||
<span class="inline-block bg-gray-200 rounded-full px-3 py-1 text-sm font-semibold text-gray-700 mr-2 mb-2">#ornitho 🦅</span>
|
||||
<span class="inline-block bg-gray-200 rounded-full px-3 py-1 text-sm font-semibold text-gray-700 mr-2 mb-2">#naturaliste 🌲</span>
|
||||
<span class="inline-block bg-gray-200 rounded-full px-3 py-1 text-sm font-semibold text-gray-700 mr-2 mb-2">#science 🔭</span>
|
||||
<span class="inline-block bg-gray-200 rounded-full px-3 py-1 text-sm font-semibold text-gray-700 mr-2 mb-2">#biodiversité 🏞</span>
|
||||
</div>
|
||||
</div><br>
|
||||
<p>Cette page est, comme vous l'aurez compris, complémentaire à mon Curriculum Vitae (<i>que vous pourrez retrouver ci-dessous</i>).</p>
|
||||
<p align="center"><a href="https://git.charbonneau.fr/Adrien/CV/raw/branch/master/CV_Adrien_CHARBONNEAU.pdf" target="_blank" class="button">– CURRICULUM VITAE –</a></p>
|
||||
<p>Elle vous présente divers liens et informations utiles à ma présentation. Vous retrouverez notamment la liste de mes <u><b>compétences professionnelles</b></u>.<br>
|
||||
<br>
|
||||
<span class="image fit"><img src="images/CORSICA.jpg" alt="Comptage d'un rassemblement d'Œdicnèmes criards (Burhinus oedicnemus) en Corse" loading="lazy"/><legend>Comptage d'un rassemblement d'Œdicnèmes criards (<i>Burhinus oedicnemus</i>) en Corse</legend></span>
|
||||
<div class="identity">Que fais-je en ce moment ? Pour le savoir rendez-vous ici : <a href="./ACTUALITE/" class="button small">- ACTUALITÉ -</a></div><br>
|
||||
N’hésitez pas à me contacter, que ce soit pour une question, une compétence ou une demande de précision sur une expérience professionnelle, en utilisant mon adresse courriel ci-dessous :<br>
|
||||
<ul>
|
||||
<li><a href="mailto:site-adrien@charbonneau.mozmail.com">site-adrien@charbonneau.mozmail.com</a></li>
|
||||
</ul></p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- Galerie -->
|
||||
<div class="gallery lightbox style1 small">
|
||||
<article>
|
||||
<a href="images/galerie/fulls/ATHNOC2.jpg" class="image">
|
||||
<img src="images/galerie/thumbs/ATHNOC2.jpg" alt="Chevêche d'Athéna au baguage" loading="lazy"/>
|
||||
</a>
|
||||
<div class="caption">
|
||||
<h3 align="center">Chevêche d'Athéna</h3>
|
||||
<p>Athene noctua</p>
|
||||
</div>
|
||||
</article>
|
||||
<article>
|
||||
<a href="images/galerie/fulls/EMBSCH.jpg" class="image">
|
||||
<img src="images/galerie/thumbs/EMBSCH.jpg" alt="Bruant des roseaux au baguage" loading="lazy"/>
|
||||
</a>
|
||||
<div class="caption">
|
||||
<h3>Bruant des roseaux</h3>
|
||||
<p>Emberiza schoeniclus</p>
|
||||
</div>
|
||||
</article>
|
||||
<article>
|
||||
<a href="images/galerie/fulls/PARCAE.jpg" class="image">
|
||||
<img src="images/galerie/thumbs/PARCAE.jpg" alt="Mésange bleue au baguage" loading="lazy"/>
|
||||
</a>
|
||||
<div class="caption">
|
||||
<h3>Mésange bleue</h3>
|
||||
<p>Cyanistes caeruleus</p>
|
||||
</div>
|
||||
</article>
|
||||
<article>
|
||||
<a href="images/galerie/fulls/PARMAJ.jpg" class="image">
|
||||
<img src="images/galerie/thumbs/PARMAJ.jpg" alt="Mésange charbonnière au baguage" loading="lazy"/>
|
||||
</a>
|
||||
<div class="caption">
|
||||
<h3>Mésange charbonnière</h3>
|
||||
<p>Parus major</p>
|
||||
</div>
|
||||
</article>
|
||||
<article>
|
||||
<a href="images/galerie/fulls/POCHONS.jpg" class="image">
|
||||
<img src="images/galerie/thumbs/POCHONS.jpg" alt="Sac en tissu pour le transport des oiseaux" loading="lazy"/>
|
||||
</a>
|
||||
<div class="caption">
|
||||
<h3>Pochons</h3>
|
||||
<p>Sac en tissu pour le transport des oiseaux</p>
|
||||
</div>
|
||||
</article>
|
||||
<article>
|
||||
<a href="images/galerie/fulls/PRUMOD.jpg" class="image">
|
||||
<img src="images/galerie/thumbs/PRUMOD.jpg" alt="Accenteur mouchet au baguage" loading="lazy"/>
|
||||
</a>
|
||||
<div class="caption">
|
||||
<h3>Accenteur mouchet</h3>
|
||||
<p>Prunella modularis</p>
|
||||
</div>
|
||||
</article>
|
||||
<article>
|
||||
<a href="images/galerie/fulls/TRAVEE.jpg" class="image">
|
||||
<img src="images/galerie/thumbs/TRAVEE.jpg" alt="Zone ouverte où les filets de capture sont tendus<" loading="lazy"/>
|
||||
</a>
|
||||
<div class="caption">
|
||||
<h3>Travée de baguage</h3>
|
||||
<p>Zone ouverte où les filets de capture sont tendus</p>
|
||||
</div>
|
||||
</article>
|
||||
<article>
|
||||
<a href="images/galerie/fulls/PHYCOL.jpg" class="image">
|
||||
<img src="images/galerie/thumbs/PHYCOL.jpg" alt="Pouillot véloce au baguage" loading="lazy"/>
|
||||
</a>
|
||||
<div class="caption">
|
||||
<h3>Pouillot véloce</h3>
|
||||
<p>Phylloscopus collybita</p>
|
||||
</div>
|
||||
</article>
|
||||
</div>
|
||||
|
||||
<!-- publications -->
|
||||
<section id="publications">
|
||||
<div class="container">
|
||||
<h3>Publications 📑</h3>
|
||||
<p>Mes différentes publications et écrits scientifiques majeurs qui ont jalonnés mon Master en Biodiversité, Écologie et Évolution.</p>
|
||||
<div class="features">
|
||||
<article>
|
||||
<a href="" class="image"><img src="images/GECKO.jpg" alt="Tarente de Maurétanie" loading="lazy"/></a>
|
||||
<div class="inner">
|
||||
<h4>Compétition entre deux espèces de Geckos sur l’île de Porquerolles (<i>2019-2020</i>)</h4>
|
||||
<p>(<i><b>Bientôt disponible</b></i>) - La Tarente de Maurétanie (<i>Tarentola mauritanica</i>) est, sur l'île de Porquerolles (83), une espèce importée par l'homme. Le Gecko indigène de l'île et occupant la même niche écologique que cette dernière est l'Hémidactyle verruqueux (<i>Hemidactylus turcicus</i>). Il est supposé qu'une compétition réside entre les deux espèces.</p>
|
||||
</div>
|
||||
</article>
|
||||
<article>
|
||||
<a href="docs/PGM.pdf" class="image"><img src="images/PGM.jpg" alt="Pie-grièche méridionale au baguage" loading="lazy"/></a>
|
||||
<div class="inner">
|
||||
<h4>Caractérisation du territoire de reproduction de la Pie-grièche méridionale (<i>2019</i>)</h4>
|
||||
<p>La superficie du territoire de reproduction de la Pie-grièche méridionale (<i>Lanius meridionalis</i>) étant très peu connu, cette étude souhaite apporter des précisions quant à cela.</p>
|
||||
</div>
|
||||
</article>
|
||||
<article>
|
||||
<a href="docs/ORTHOPTERES.pdf" class="image"><img src="images/ORTHO.jpg" alt="Deux criquets lors d'une capture" loading="lazy"/></a>
|
||||
<div class="inner">
|
||||
<h4>Étude du lien entre communautés d’Orthoptères et hauteur de végétation par différentes méthodes d’échantillonnage dans la vallée de l’Ubaye (<i>2018-2019</i>)</h4>
|
||||
<p>Sujet de l'école de terrain 2018. Dans le Parc National du Mercantour, la hauteur de végétation a-t-elle une importance dans la répartition des communautés d'Orthoptères ?</p>
|
||||
</div>
|
||||
</article>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
|
||||
<!-- supports -->
|
||||
<section id="supports">
|
||||
<div class="container">
|
||||
<h3>Supports de stage 💼</h3>
|
||||
<p>De nombreuses données et annexes sont disponible durant un stage. Elles sont regroupées par stage :</p>
|
||||
<div class="features">
|
||||
<article>
|
||||
<a href="http://adrien.charbonneau.free.fr/PRO/STAGE/ALAN/" class="image"><img src="images/ALAN.jpg" alt="Illustration de la pollution lumineuse" loading="lazy"/></a>
|
||||
<div class="inner">
|
||||
<h4>Support de stage de Master 2 : <b>Impact de la lumière artificielle et de la structure du paysage sur la biodiversité en période nocturne</b> (<i>2020</i>)</h4>
|
||||
<p>Il est admis que la lumière artificielle a des effets néfastes sur la biodiversité. Qu'en est-il en addition à la structure paysagère et au sein du Parc Naturel Régional des Baronnies provençales ?</p>
|
||||
</div>
|
||||
</article>
|
||||
<article>
|
||||
<a href="http://adrien.charbonneau.free.fr/PRO/STAGE/PGM/" class="image"><img src="images/PGM.jpg" alt="Pie-grièche méridionale au baguage" loading="lazy"/></a>
|
||||
<div class="inner">
|
||||
<h4>Support de stage de Master 1 : <b>Caractérisation du territoire de reproduction de la Pie-grièche méridionale</b> (<i>2019</i>)</h4>
|
||||
<p>Dans un but de mesures de gestion de la garrigue et de précision du protocole d'échantillonnage du Plan National d'Actions sur les Pie-grièches (ici la Pie-grièche méridionale), la surface du territoire de reproduction de l'espèce est une information clé.</p>
|
||||
</div>
|
||||
</article>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- competences -->
|
||||
<section id="competences">
|
||||
<div class="container">
|
||||
<h3>Compétences 🔨</h3>
|
||||
<p>Mes compétences sont présentées dans la liste ci-dessous, vous y trouverez les références du matériel et des ressources technologiques (<i>ex : logiciel</i>) que je maîtrise. N’hésitez pas, comme précisé précédemment, à me questionner (<i>ou demander un avis</i>) sur une compétence, méthode ou matériel utilisé, j’y répondrai avec plaisir.<br>
|
||||
<i>Dans les parties concernant le matériel, un astérisque (<b>*</b>) signifie que je possède le matériel cité. Pour les identifications acoustiques, le matériel est cité dans la section “acoustique”.</i></p>
|
||||
<ul class="feature-icons">
|
||||
<li class="icon solid fa-feather-alt menu"><a href="#naturalistes">Naturalistes</a></li>
|
||||
<li class="icon solid fa-clipboard-check menu"><a href="#science">Méthodologie et démarche scientifique</a></li>
|
||||
<li class="icon solid fa-percentage menu"><a href="#statistiques">Analyses statistiques et Modélisation</a></li>
|
||||
<li class="icon solid fa-map-marked-alt menu"><a href="#cartographie">Analyses spatiales et Cartographie</a></li>
|
||||
<li class="icon solid fa-microphone-alt menu"><a href="#acoustique">Acoustique</a></li>
|
||||
<li class="icon solid fa-mountain menu"><a href="#interets">Autres compétences et intérêts divers</a></li>
|
||||
</ul>
|
||||
<hr>
|
||||
<div class="features">
|
||||
<article>
|
||||
<h5 id="naturalistes">Compétences naturalistes</h5>
|
||||
<a class="image comp"><img src="images/ADRIEN_CHARBONNEAU.png" alt="Portrait de Adrien CHARBONNEAU" loading="lazy"/><legend>Suivi ornithologique et entomologique (odonates) dans la Tarentaise (73)</legend></a>
|
||||
<div class="inner comp">
|
||||
<ul class="feature-icons">
|
||||
<li class="icon solid fa-feather-alt">Ornithologie<p class="details">Identification visuelle, en main (<i>formation de baguage</i>) et acoustique.</p></li>
|
||||
<li class="icon solid fa-spider">Entomologie<p class="details">(<i>Lépidoptères, Odonates, Orthoptères</i>) - Identification visuelle, en main (<i>capture au filet, prospection au "drap" nocturne</i>) et acoustique.</p></li>
|
||||
<li class="icon solid fa-paw">Mammalogie<p class="details">(<i>Macro/Méso/Micro-mammifères</i>) - Identification visuelle / Analyse de pelote de réjection.<br>(<i>Chiroptères</i>) - Bases d'identification visuelle et auditive - Télémétrie.</p></li>
|
||||
<li class="icon solid fa-frog">Herpétologie<p class="details">Identification visuelle, en main (<i>plaque à reptiles, "seau" à amphibiens</i>) et acoustique.</p></li>
|
||||
<li class="icon solid fa-tree">Botanique généraliste<p class="details">Identification des familles et utilisation basique des flores (<i>Flora Gallica / Flore Méd' / Flores forestières...</i>) - Loupe de botanique, mise en herbier et photographie.</p></li>
|
||||
</ul>
|
||||
</div>
|
||||
</article>
|
||||
<article>
|
||||
<h5 id="science">Compétences en méthodologie et en démarche scientifique</h5>
|
||||
<a class="image comp"><img src="images/RADIOPISTAGE.png" alt="Action de radiopistage de Pie-grièche méridionale" loading="lazy"/><legend>Radiopistage de Pie-grièche méridionale (Lanius meridionalis) dans les Garrigues de Lançon (13)</legend></a>
|
||||
<div class="inner comp">
|
||||
<ul class="feature-icons">
|
||||
<li class="icon solid fa-book">Bases théoriques de l'écologie<p class="details">
|
||||
<ul class="sublist">
|
||||
<li>Évolution</li>
|
||||
<li>Conservation</li>
|
||||
<li>Gestion de la biodiversité</li>
|
||||
<li>Bio/Éco-acoustique</li>
|
||||
<li>Paysage</li>
|
||||
</ul>
|
||||
</p></li>
|
||||
<li class="icon solid fa-clipboard-list">Mise en place de protocole / étude pilote</p></li>
|
||||
<li class="icon solid fa-map-marked-alt">Application de protocole/stratégie d'échantillonnage</li>
|
||||
<li class="icon solid fa-chart-bar">Analyse de données<p class="ref">(voir Modélisation et Cartographie ci-dessous)</p></li>
|
||||
<li class="icon solid fa-paragraph">Rédaction de rapports d'étude/articles scientifiques<p class="details">Introduction, Matériel et Méthode, Résultats, Discussion/Conclusion</p></li>
|
||||
<li class="icon solid fa-file-alt">Rédaction de rapports d'inventaires/prédiagnostics/Volet Naturel d'Étude d'Impact</li>
|
||||
</ul>
|
||||
</div>
|
||||
</article>
|
||||
|
||||
<article>
|
||||
<h5 id="statistiques">Compétences en analyses statistiques et en modélisation</h5>
|
||||
<a class="image comp"><img src="images/ABON-HV.png" alt="Graphique de l'abondance en orthoptère en fonction de la hauteur de végétation" loading="lazy"/><legend>Représentation de l’abondance en orthoptères dans le massif du Mercantour (04) en fonction de la hauteur de végétation</legend></a>
|
||||
<div class="inner comp">
|
||||
<ul class="feature-icons">
|
||||
<li class="icon solid fa-chart-line">Modèles Linéaires<p class="details">Simples et mixtes</p></li>
|
||||
<li class="icon solid fa-percentage">Modèles Linéaires Généralisés<p class="details">Simples et mixtes - GLM/GLMM - Logiciel R</p></li>
|
||||
<li class="icon solid fa-chart-area">Species Distribution Model<p class="details">SDM - Logiciel R et Maxent</p></li>
|
||||
<li class="icon solid fa-ring">Capture-Marquage-Recapture<p class="details">CMR - Logiciel Mark</p></li>
|
||||
</ul>
|
||||
</div>
|
||||
</article>
|
||||
|
||||
<article>
|
||||
<h5 id="cartographie">Compétences en analyses spatiales et en cartographie</h5>
|
||||
<a class="image comp"><img src="images/CARTE.png" alt="Carte de la France" loading="lazy"/><legend>Tirage aléatoire de positions sur le territoire de la France métropolitaine</legend></a>
|
||||
<div class="inner comp">
|
||||
<ul class="feature-icons">
|
||||
<li class="icon solid fa-layer-group">QGIS<p class="details">SAGA, GRASS, Modéleur graphique</p></li>
|
||||
<li class="icon solid fa-globe">ARCGIS (<i>bases</i>)</li>
|
||||
<li class="icon solid fa-code">R / packages<p class="details"><ul class="sublist">
|
||||
<li><b><i>Cartographie</i></b> : rgdal ; rgeos ; gridExtra ; raster ; RSAGA ; maptools ; spatstat ; cartography ; sf ; sp</li>
|
||||
<li><b><i>Acoustique</i></b> : tuneR ; seewave ; soundecology ; pumilioR</li>
|
||||
<li><b><i>Écologie du paysage</i></b> : spatialEco ; landscapemetrics ; landscapetools</li>
|
||||
<li><b><i>Domaine vital d'espèce</i></b> : adehabitatHR</li>
|
||||
</ul></p></li>
|
||||
</ul>
|
||||
</div>
|
||||
</article>
|
||||
|
||||
<article>
|
||||
<h5 id="acoustique">Compétences acoustiques et audionaturalistes</h5>
|
||||
<a class="image comp"><img src="images/AUDIOMOTH.jpg" alt="Enregistreur AudioMoth" class="crop" loading="lazy"/><legend>AudioMoth durant le stage de M2</legend></a>
|
||||
<div class="inner comp">
|
||||
<ul class="feature-icons">
|
||||
<li class="icon solid fa-microphone-alt">Prise de son<p class="details"><ul class="sublist">
|
||||
<li>Song Meter Acoustic Recorder (<i>SM4 Acoustic</i>)</li>
|
||||
<li>Song Meter Mini Acoustic Recorder (<i>SM4 Mini Acoustic</i>)</li>
|
||||
<li>AudioMoth (<i>version 1.1.0 et 1.2.0</i>) <b>*</b></li>
|
||||
<li>Song Meter SM4BAT-FS Ultrasonic Recorder (<i>SM4 bat</i>)</li>
|
||||
<li>Enregistreur ZOOM H5 <b>*</b> (<i>couplé à des microphones Primo EM172 et une parabole</i>)</li>
|
||||
<li>PETTERSSON D240x</li>
|
||||
<li>Echo Meter Touch 2 Pro</li>
|
||||
<li>Magenta Bat 5 Detector <b>*</b></li>
|
||||
|
||||
</ul></p></li>
|
||||
<li class="icon solid fa-file-audio">Analyse acoustique<p class="details">Identification des espèces, calcul des indices acoustiques,...<ul class="sublist">
|
||||
<li>Audacity</li>
|
||||
<li>ChiroSurf</li>
|
||||
<li>Syrinx</li>
|
||||
<li>Raven Lite</li>
|
||||
<li><b><i>R / packages</i></b> : tuneR ; seewave ; soundecology ; pumilioR</li>
|
||||
|
||||
</ul></p></li>
|
||||
</ul>
|
||||
</div>
|
||||
</article>
|
||||
<p>
|
||||
<span class="image fit"><img src="images/CLAGLA.jpg" alt="Sonogramme partiel d’un Coucou geai en migration nocturne" loading="lazy"/><legend>Sonogramme partiel d’un Coucou geai (<i>Clamator glandarius</i>) en migration nocturne</legend></span>
|
||||
</p>
|
||||
<article>
|
||||
<h5 id="interets">Les autres compétences et intérêts</h5>
|
||||
<a class="image comp"><img src="images/LAUZANIER.jpg" alt="Lac du Lauzanier" class="crop" loading="lazy"/><legend>Lac du Lauzanier - Mercantour (04)</legend></a>
|
||||
<div class="inner comp">
|
||||
<ul class="feature-icons">
|
||||
<li class="icon solid fa-hiking">Randonnée<p class="details">Très bonne condition physique et très bonnes connaissances des milieux fréquentés</p></li>
|
||||
<li class="icon solid fa-cloud-sun-rain">Astronomie/Météorologie</li>
|
||||
<li class="icon solid fa-server">Informatique<p class="details"><ul class="sublist">
|
||||
<li>Connaissances des systèmes d’exploitations Windows/MacOS/Distributions Linux – Maintenance de ces derniers</li>
|
||||
<li>Création de site internet : HTML / CSS / PHP</li>
|
||||
<li>Base de données MySQL</li>
|
||||
<li>Programmation et versionning : R, JavaScript, Python, PowerShell/Bash (<i>shell</i>), Git (<i><a href="https://git.charbonneau.fr/Adrien/Site-internet">Dépôt personnel</a> / <a href="https://github.com/Adri-Charbonneau/">Github</a></i>)</li>
|
||||
<li>Gestion/Montage de vidéo et photographies</li>
|
||||
<li>Connaissances en sécurité informatique</li>
|
||||
</ul></p></li>
|
||||
<li class="icon solid fa-tools">Électronique et "bricolage"<p class="details"><ul class="sublist">
|
||||
<li>Utilisation et programmation de Raspberry Pi/Arduino : Récepteur ADS-B / Serveur web / Routeur wifi / Projet de station météo, d'enregistreur passif (<i>type SM4 / AudioMoth</i>) et de caméra pour nichoir.</li>
|
||||
<li>Montage d’ordinateur fixe et portable / connaissance du matériel</li>
|
||||
<li>“Touche à tout” : bricolage divers (<i>ex : nichoirs, parabole, modélisme,…</i>)</li>
|
||||
</ul></p></li>
|
||||
<li class="icon solid fa-share-alt">Communication<p class="details"><ul class="sublist">
|
||||
<li>Public : Prise de contact, oral, conférence, animation ...</li>
|
||||
<li>Réseaux sociaux : Facebook; Twitter, Instagram, Blog, ...</li>
|
||||
</ul></p></li>
|
||||
</ul>
|
||||
</div>
|
||||
</article>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- contact
|
||||
<section id="contact">
|
||||
<div class="container">
|
||||
<h3>Contact</h3>
|
||||
<p>N’hésitez surtout pas à me contacter par le biais de ce formulaire ou de l'adresse courriel fournie en haut de page. J’y répondrai avec plaisir.</p>
|
||||
<form method="post" action="mailto:site-internet@adriencharbonneau.anonaddy.com">
|
||||
<div class="row gtr-uniform">
|
||||
<div class="col-6 col-12-xsmall"><input type="text" name="prenom" id="prenom" placeholder="Prénom" /></div>
|
||||
<div class="col-6 col-12-xsmall"><input type="text" name="nom" id="nom" placeholder="Nom de famille" /></div>
|
||||
<div class="col-12"><input type="email" name="email" id="email" placeholder="Email" /></div>
|
||||
<div class="col-12"><input type="text" name="subject" id="subject" placeholder="Sujet" /></div>
|
||||
<div class="col-12"><textarea name="message" id="message" placeholder="Message" rows="6"></textarea></div>
|
||||
<div class="col-12">
|
||||
<ul class="actions">
|
||||
<li><input type="submit" class="primary" value="Envoyer le message" /></li>
|
||||
<li><input type="reset" value="Effacer" /></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</section>
|
||||
-->
|
||||
|
||||
</div>
|
||||
|
||||
<!-- Pied de page -->
|
||||
<section id="footer">
|
||||
<div class="container">
|
||||
<ul class="copyright">
|
||||
<li>© Adrien CHARBONNEAU - <?php echo date("Y"); ?>. Tous droits réservés.</li> <li><a href="./">Présentation</a></li> <li><a href="./ACTUALITE/">Actualité</a></li>
|
||||
</ul>
|
||||
<ul class="copyright">
|
||||
<li><a href="https://git.charbonneau.fr/Adrien/Site-internet" class="a_git"><img style="margin-right: .5rem; vertical-align: middle;" src="images/GIT.svg" width="25px" height="25px"/><b>Version : </b><span class="git git_color1 blanc"><?php echo Version::get(); ?></span><b> Branch : </b><span class="git git_color1 blanc"> master </span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
</div>
|
||||
|
||||
<!-- Scripts -->
|
||||
<script src="assets/js/jquery.min.js"></script>
|
||||
<script src="assets/js/jquery.scrollex.min.js"></script>
|
||||
<script src="assets/js/jquery.scrolly.min.js"></script>
|
||||
<script src="assets/js/browser.min.js"></script>
|
||||
<script src="assets/js/breakpoints.min.js"></script>
|
||||
<script src="assets/js/util.js"></script>
|
||||
<script src="assets/js/main.js"></script>
|
||||
</body>
|
||||
</html>
|
@ -8,9 +8,6 @@
|
||||
<url>
|
||||
<loc>https://adriencharbonneau.fr/</loc>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://adriencharbonneau.fr/docs/CV_Adrien_CHARBONNEAU.pdf</loc>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://adriencharbonneau.fr/ACTUALITE.html</loc>
|
||||
</url>
|
||||
|