From 95685f9cda1f15cd7f7edc782b011608dac53360 Mon Sep 17 00:00:00 2001 From: Pierre Date: Thu, 16 Jan 2020 23:59:24 +0100 Subject: [PATCH] =?UTF-8?q?poitn=20z=C3=A9ro=20(copie=20champslibres)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 6 + action/creer_bien.php | 29 + action/enlever_une.php | 26 + action/mettre_une.php | 30 + action/promouvoir_photo.php | 42 + action/supprimer_bien.php | 27 + action/supprimer_photo.php | 28 + article.html | 17 + aside/dist.html | 6 + aside/z_apl.html | 10 + auteur.html | 3 + backend.html | 43 + base/champslibres.php | 56 + body.html | 25 + breadcrumb/401.html | 5 + breadcrumb/404.html | 5 + breadcrumb/auteur.html | 8 + breadcrumb/dist.html | 21 + breadcrumb/inc-objet.html | 9 + breadcrumb/login.html | 11 + breadcrumb/mentions_legales.html | 4 + breadcrumb/mot.html | 7 + breadcrumb/plan.html | 4 + breadcrumb/recherche.html | 4 + breve.html | 3 + champslibres_administrations.php | 66 + champslibres_autorisations.php | 23 + champslibres_fonctions.php | 78 + champslibres_options.php | 49 + champslibres_pipelines.php | 55 + content/401.html | 12 + content/404.html | 9 + content/article-bien.html | 3 + content/article-bien.xml | 5 + content/article-contact.html | 20 + content/article-contact.xml | 6 + content/article-edito.html | 13 + content/article-edito.xml | 4 + content/article.html | 55 + content/auteur.html | 9 + content/catalogue_biens.html | 11 + content/collectif.html | 6 + content/editer_bien.html | 35 + content/groupe_mots.html | 21 + content/inscription.html | 6 + content/login.html | 10 + content/mentions_legales.html | 1 + content/mes-articles.html | 26 + content/modifier_auteur.html | 18 + content/mot.html | 11 + content/motsar.html | 24 + content/nous-contacter.html | 3 + content/plan.html | 48 + content/rubrique.html | 13 + content/sommaire.html | 46 + content/sommaire_articles-un-mot.html | 34 + content/sommaire_mots-un-groupe-mot.html | 43 + content/test.html | 66 + content/z_apl.html | 10 + css/_body.scss | 10 + css/_form_spip.scss | 98 + css/_menu_spip.scss | 153 + css/_polices.scss | 30 + css/_sq_champslibres.scss | 907 ++ css/_utilitaires.scss | 5 + css/knacss/_config/_mixins.scss | 58 + css/knacss/_config/_variables.scss | 228 + css/knacss/_knacss.scss | 64 + css/knacss/_library/_base.scss | 274 + css/knacss/_library/_grillade-flex.scss | 146 + css/knacss/_library/_grillade-grid.scss | 118 + css/knacss/_library/_layout.scss | 65 + css/knacss/_library/_print.scss | 98 + css/knacss/_library/_responsive.scss | 284 + css/knacss/_library/_utilities.scss | 462 + css/knacss/_library/_wordpress.scss | 248 + css/knacss/_vendor/_reboot.scss | 334 + css/knacss/components/_alerts.scss | 55 + css/knacss/components/_arrows.scss | 34 + css/knacss/components/_badges.scss | 51 + css/knacss/components/_buttons.scss | 158 + css/knacss/components/_checkbox.scss | 119 + css/knacss/components/_forms.scss | 114 + css/knacss/components/_media.scss | 26 + css/knacss/components/_skip-links.scss | 25 + css/knacss/components/_tables.scss | 52 + css/knacss/components/_tabs.scss | 52 + css/knacss/components/_tags.scss | 52 + css/mon_site.css | 7533 +++++++++++++++++ css/mon_site.scss | 10 + css/tag_editor.css | 46 + css/theme.css | 0 extra/dist.html | 2 + font-awesome/_animated.scss | 34 + font-awesome/_bordered-pulled.scss | 25 + font-awesome/_core.scss | 12 + font-awesome/_fixed-width.scss | 6 + font-awesome/_icons.scss | 789 ++ font-awesome/_larger.scss | 13 + font-awesome/_list.scss | 19 + font-awesome/_mixins.scss | 60 + font-awesome/_path.scss | 15 + font-awesome/_rotated-flipped.scss | 20 + font-awesome/_screen-reader.scss | 5 + font-awesome/_stacked.scss | 20 + font-awesome/_variables.scss | 800 ++ font-awesome/font-awesome.scss | 18 + fonts/FontAwesome.otf | Bin 0 -> 134808 bytes fonts/bitter.woff2 | Bin 0 -> 28680 bytes fonts/fontawesome-webfont.eot | Bin 0 -> 165742 bytes fonts/fontawesome-webfont.svg | 2671 ++++++ fonts/fontawesome-webfont.ttf | Bin 0 -> 165548 bytes fonts/fontawesome-webfont.woff | Bin 0 -> 98024 bytes fonts/fontawesome-webfont.woff2 | Bin 0 -> 77160 bytes fonts/lato_regular.woff2 | Bin 0 -> 23316 bytes fonts/luxisr-webfont.woff | Bin 0 -> 24400 bytes fonts/oswald_regular.woff2 | Bin 0 -> 15248 bytes fonts/ubuntu_regular.woff2 | Bin 0 -> 46580 bytes footer/dist.html | 54 + formulaires/configurer_champslibres.html | 58 + formulaires/editer_auteur.html | 135 + formulaires/editer_auteur.php | 476 ++ formulaires/editer_bien.html | 161 + formulaires/editer_bien.php | 307 + formulaires/editer_bien_complet.html | 199 + formulaires/inscription.html | 60 + formulaires/inscription.php | 192 + formulaires/login.html | 57 + forum.html | 3 + gulpfile.js | 141 + head/404.html | 5 + head/article.html | 9 + head/dist.html | 29 + head/plan.html | 29 + head/rubrique.html | 9 + head_js/dist.html | 0 header/dist.html | 19 + header/distIMMO.html | 15 + images/gamuza_noir.png | Bin 0 -> 7919 bytes images/logo_spip_noir.png | Bin 0 -> 3497 bytes img/immomardi-64.png | Bin 0 -> 1654 bytes img/logo-espace-sud_NB.png | Bin 0 -> 46527 bytes img/logo_immomardi_placeholder.svg | 89 + img/sprite_symbol_pictos.svg | 1 + inclure/avatar_auteur.html | 6 + inclure/bloc_bien.html | 49 + inclure/bloc_mot.html | 11 + inclure/bloc_rub.html | 11 + inclure/bloc_une.html | 21 + inclure/bouton_supprimer.html | 4 + inclure/bouton_une.html | 12 + inclure/choix_articles.html | 27 + inclure/form_mots_unique.html | 1 + inclure/head.html | 52 + inclure/mentions_legales.html | 86 + inclure/nav.html | 46 + inclure/nav_principale.html | 5 + inclure/photo_bien.html | 11 + inclure/photo_mot.html | 11 + inclure/photo_rub.html | 11 + inclure/photos_bien.html | 26 + inclure/placeholder_bien.html | 6 + inclure/rss-item.html | 58 + inclure/un_bien.html | 98 + inclure/zone_tags.html | 10 + js/a_compresser/champslibres.js | 76 + js/a_compresser/sous_menu.js | 39 + js/caret.min.js | 3 + js/editer_bien.js | 46 + js/mon_site.min.js | 2 + js/tag_editor.min.js | 3 + js/test.js | 14 + json/gis.html | 13 + json/gis_articles.html | 13 + lang/champslibres_fr.php | 20 + lang/paquet-champslibres_fr.php | 14 + menus/page_speciale.html | 51 + menus/page_speciale.xml | 12 + modeles/article_aside.html | 6 + modeles/article_owl.html | 106 + modeles/articles_ps_owl.html | 77 + modeles/carte_yaller.html | 72 + modeles/favicon.html | 7 + modeles/nuage_popularite.html | 37 + modeles/player_video.html | 8 + mot.html | 3 + nav.html | 40 + package.json | 38 + paquet.xml | 38 + .../contenu/configurer_champslibres.html | 7 + rubrique.html | 3 + site.html | 6 + svg/by.svg | 58 + svg/cc.svg | 53 + svg/cc_txt.svg | 752 ++ svg/fleche_droite.svg | 31 + svg/fleche_gauche.svg | 46 + svg/nc.svg | 53 + svg/sa.svg | 54 + test.html | 6 + webfonts/README.md | 43 + .../SIL Open Font License.txt | 44 + .../alexbrush-regular/alexbrush-regular.ttf | Bin 0 -> 72292 bytes .../alexbrush-regular/alexbrush-regular.woff | Bin 0 -> 43564 bytes .../alexbrush-regular/alexbrush-regular.woff2 | Bin 0 -> 34700 bytes webfonts/alexbrush-regular/fonts.css | 10 + webfonts/calendas-plus-regular/calendas.ttf | Bin 0 -> 181268 bytes webfonts/calendas-plus-regular/calendas.woff | Bin 0 -> 77824 bytes webfonts/calendas-plus-regular/calendas.woff2 | Bin 0 -> 57076 bytes .../calendas_plus_webfont_license.pdf | Bin 0 -> 21727 bytes webfonts/calendas-plus-regular/stylesheet.css | 10 + webfonts/droidsans-bold/LICENSE.txt | 202 + webfonts/droidsans-bold/droidsans-bold.ttf | Bin 0 -> 51708 bytes webfonts/droidsans-bold/droidsans-bold.woff | Bin 0 -> 27644 bytes webfonts/droidsans-bold/droidsans-bold.woff2 | Bin 0 -> 21680 bytes webfonts/droidsans-bold/stylesheet.css | 10 + webfonts/droidsans-regular/LICENSE.txt | 202 + webfonts/droidsans-regular/droidsans.ttf | Bin 0 -> 50196 bytes webfonts/droidsans-regular/droidsans.woff | Bin 0 -> 26824 bytes webfonts/droidsans-regular/droidsans.woff2 | Bin 0 -> 21044 bytes webfonts/droidsans-regular/stylesheet.css | 10 + .../SIL Open Font License.txt | 44 + webfonts/grandhotel-regular/fonts.css | 10 + .../grandhotel-regular/grandhotel-regular.ttf | Bin 0 -> 85496 bytes .../grandhotel-regular.woff | Bin 0 -> 44460 bytes .../grandhotel-regular.woff2 | Bin 0 -> 34964 bytes webfonts/hack-bold/LICENSE.md | 64 + webfonts/hack-bold/fonts.css | 10 + webfonts/hack-bold/hack-bold.ttf | Bin 0 -> 38372 bytes webfonts/hack-bold/hack-bold.woff | Bin 0 -> 20280 bytes webfonts/hack-bold/hack-bold.woff2 | Bin 0 -> 16336 bytes webfonts/hack-bolditalic/LICENSE.md | 64 + webfonts/hack-bolditalic/fonts.css | 10 + webfonts/hack-bolditalic/hack-bolditalic.ttf | Bin 0 -> 45752 bytes webfonts/hack-bolditalic/hack-bolditalic.woff | Bin 0 -> 24872 bytes .../hack-bolditalic/hack-bolditalic.woff2 | Bin 0 -> 20372 bytes webfonts/hack-italic/LICENSE.md | 64 + webfonts/hack-italic/fonts.css | 10 + webfonts/hack-italic/hack-italic.ttf | Bin 0 -> 46104 bytes webfonts/hack-italic/hack-italic.woff | Bin 0 -> 24836 bytes webfonts/hack-italic/hack-italic.woff2 | Bin 0 -> 20436 bytes webfonts/hack-regular/LICENSE.md | 64 + webfonts/hack-regular/fonts.css | 10 + webfonts/hack-regular/hack-regular.ttf | Bin 0 -> 37908 bytes webfonts/hack-regular/hack-regular.woff | Bin 0 -> 19928 bytes webfonts/hack-regular/hack-regular.woff2 | Bin 0 -> 16028 bytes webfonts/lato-bold/OFL.txt | 92 + webfonts/lato-bold/fonts.css | 10 + webfonts/lato-bold/lato-bold.ttf | Bin 0 -> 56820 bytes webfonts/lato-bold/lato-bold.woff | Bin 0 -> 31600 bytes webfonts/lato-bold/lato-bold.woff2 | Bin 0 -> 24808 bytes webfonts/lato-italic/OFL.txt | 92 + webfonts/lato-italic/fonts.css | 10 + webfonts/lato-italic/lato-italic.ttf | Bin 0 -> 43720 bytes webfonts/lato-italic/lato-italic.woff | Bin 0 -> 27420 bytes webfonts/lato-italic/lato-italic.woff2 | Bin 0 -> 22076 bytes webfonts/lato-regular/OFL.txt | 92 + webfonts/lato-regular/fonts.css | 10 + webfonts/lato-regular/lato-regular.ttf | Bin 0 -> 55988 bytes webfonts/lato-regular/lato-regular.woff | Bin 0 -> 31016 bytes webfonts/lato-regular/lato-regular.woff2 | Bin 0 -> 24416 bytes .../SIL Open Font License.txt | 43 + .../leaguegothic-regular.ttf | Bin 0 -> 37328 bytes .../leaguegothic-regular.woff | Bin 0 -> 20784 bytes .../leaguegothic-regular.woff2 | Bin 0 -> 16332 bytes webfonts/leaguegothic-regular/stylesheet.css | 10 + webfonts/merriweather-bold/OFL.txt | 94 + webfonts/merriweather-bold/fonts.css | 10 + .../merriweather-bold/merriweather-bold.ttf | Bin 0 -> 55828 bytes .../merriweather-bold/merriweather-bold.woff | Bin 0 -> 32480 bytes .../merriweather-bold/merriweather-bold.woff2 | Bin 0 -> 26292 bytes webfonts/merriweather-regular/OFL.txt | 94 + webfonts/merriweather-regular/fonts.css | 10 + .../merriweather-regular.ttf | Bin 0 -> 56312 bytes .../merriweather-regular.woff | Bin 0 -> 31076 bytes .../merriweather-regular.woff2 | Bin 0 -> 25044 bytes webfonts/montserrat-bold/fonts.css | 9 + webfonts/montserrat-bold/montserrat-bold.woff | Bin 0 -> 26500 bytes .../montserrat-bold/montserrat-bold.woff2 | Bin 0 -> 20100 bytes webfonts/montserrat-regular/fonts.css | 9 + .../montserrat-regular.woff | Bin 0 -> 26488 bytes .../montserrat-regular.woff2 | Bin 0 -> 20276 bytes webfonts/opensans-bold/LICENSE.txt | 202 + webfonts/opensans-bold/fonts.css | 10 + webfonts/opensans-bold/opensans-bold.ttf | Bin 0 -> 43180 bytes webfonts/opensans-bold/opensans-bold.woff | Bin 0 -> 23992 bytes webfonts/opensans-bold/opensans-bold.woff2 | Bin 0 -> 18200 bytes webfonts/opensans-italic/LICENSE.txt | 202 + webfonts/opensans-italic/fonts.css | 10 + webfonts/opensans-italic/opensans-italic.ttf | Bin 0 -> 48292 bytes webfonts/opensans-italic/opensans-italic.woff | Bin 0 -> 26028 bytes .../opensans-italic/opensans-italic.woff2 | Bin 0 -> 19852 bytes webfonts/opensans-light/LICENSE.txt | 202 + webfonts/opensans-light/fonts.css | 10 + webfonts/opensans-light/opensans-light.ttf | Bin 0 -> 42488 bytes webfonts/opensans-light/opensans-light.woff | Bin 0 -> 23240 bytes webfonts/opensans-light/opensans-light.woff2 | Bin 0 -> 17476 bytes webfonts/opensans-regular/LICENSE.txt | 202 + webfonts/opensans-regular/fonts.css | 10 + .../opensans-regular/opensans-regular.ttf | Bin 0 -> 43320 bytes .../opensans-regular/opensans-regular.woff | Bin 0 -> 23880 bytes .../opensans-regular/opensans-regular.woff2 | Bin 0 -> 18168 bytes webfonts/oswald-regular/OFL.txt | 92 + webfonts/oswald-regular/fonts.css | 10 + webfonts/oswald-regular/oswald-regular.ttf | Bin 0 -> 45960 bytes webfonts/oswald-regular/oswald-regular.woff | Bin 0 -> 25620 bytes webfonts/oswald-regular/oswald-regular.woff2 | Bin 0 -> 20284 bytes webfonts/roboto-bold/LICENSE.txt | 202 + webfonts/roboto-bold/fonts.css | 10 + webfonts/roboto-bold/roboto-bold.ttf | Bin 0 -> 45612 bytes webfonts/roboto-bold/roboto-bold.woff | Bin 0 -> 25304 bytes webfonts/roboto-bold/roboto-bold.woff2 | Bin 0 -> 19140 bytes webfonts/roboto-italic/LICENSE.txt | 202 + webfonts/roboto-italic/fonts.css | 10 + webfonts/roboto-italic/roboto-italic.ttf | Bin 0 -> 53776 bytes webfonts/roboto-italic/roboto-italic.woff | Bin 0 -> 29652 bytes webfonts/roboto-italic/roboto-italic.woff2 | Bin 0 -> 23448 bytes webfonts/roboto-light/LICENSE.txt | 202 + webfonts/roboto-light/fonts.css | 9 + webfonts/roboto-light/roboto-light.woff | Bin 0 -> 27180 bytes webfonts/roboto-light/roboto-light.woff2 | Bin 0 -> 20628 bytes webfonts/roboto-regular/LICENSE.txt | 202 + webfonts/roboto-regular/fonts.css | 10 + webfonts/roboto-regular/roboto-regular.ttf | Bin 0 -> 45332 bytes webfonts/roboto-regular/roboto-regular.woff | Bin 0 -> 25040 bytes webfonts/roboto-regular/roboto-regular.woff2 | Bin 0 -> 18996 bytes 326 files changed, 25366 insertions(+) create mode 100644 .gitignore create mode 100644 action/creer_bien.php create mode 100644 action/enlever_une.php create mode 100644 action/mettre_une.php create mode 100644 action/promouvoir_photo.php create mode 100644 action/supprimer_bien.php create mode 100644 action/supprimer_photo.php create mode 100644 article.html create mode 100644 aside/dist.html create mode 100644 aside/z_apl.html create mode 100644 auteur.html create mode 100644 backend.html create mode 100644 base/champslibres.php create mode 100644 body.html create mode 100644 breadcrumb/401.html create mode 100644 breadcrumb/404.html create mode 100644 breadcrumb/auteur.html create mode 100644 breadcrumb/dist.html create mode 100644 breadcrumb/inc-objet.html create mode 100644 breadcrumb/login.html create mode 100644 breadcrumb/mentions_legales.html create mode 100644 breadcrumb/mot.html create mode 100644 breadcrumb/plan.html create mode 100644 breadcrumb/recherche.html create mode 100644 breve.html create mode 100644 champslibres_administrations.php create mode 100644 champslibres_autorisations.php create mode 100644 champslibres_fonctions.php create mode 100644 champslibres_options.php create mode 100644 champslibres_pipelines.php create mode 100644 content/401.html create mode 100644 content/404.html create mode 100644 content/article-bien.html create mode 100644 content/article-bien.xml create mode 100644 content/article-contact.html create mode 100644 content/article-contact.xml create mode 100644 content/article-edito.html create mode 100644 content/article-edito.xml create mode 100644 content/article.html create mode 100644 content/auteur.html create mode 100644 content/catalogue_biens.html create mode 100644 content/collectif.html create mode 100644 content/editer_bien.html create mode 100644 content/groupe_mots.html create mode 100644 content/inscription.html create mode 100644 content/login.html create mode 100644 content/mentions_legales.html create mode 100644 content/mes-articles.html create mode 100644 content/modifier_auteur.html create mode 100644 content/mot.html create mode 100644 content/motsar.html create mode 100644 content/nous-contacter.html create mode 100644 content/plan.html create mode 100644 content/rubrique.html create mode 100644 content/sommaire.html create mode 100644 content/sommaire_articles-un-mot.html create mode 100644 content/sommaire_mots-un-groupe-mot.html create mode 100644 content/test.html create mode 100644 content/z_apl.html create mode 100644 css/_body.scss create mode 100644 css/_form_spip.scss create mode 100644 css/_menu_spip.scss create mode 100644 css/_polices.scss create mode 100644 css/_sq_champslibres.scss create mode 100644 css/_utilitaires.scss create mode 100644 css/knacss/_config/_mixins.scss create mode 100644 css/knacss/_config/_variables.scss create mode 100644 css/knacss/_knacss.scss create mode 100644 css/knacss/_library/_base.scss create mode 100644 css/knacss/_library/_grillade-flex.scss create mode 100644 css/knacss/_library/_grillade-grid.scss create mode 100644 css/knacss/_library/_layout.scss create mode 100644 css/knacss/_library/_print.scss create mode 100644 css/knacss/_library/_responsive.scss create mode 100644 css/knacss/_library/_utilities.scss create mode 100644 css/knacss/_library/_wordpress.scss create mode 100644 css/knacss/_vendor/_reboot.scss create mode 100644 css/knacss/components/_alerts.scss create mode 100644 css/knacss/components/_arrows.scss create mode 100644 css/knacss/components/_badges.scss create mode 100644 css/knacss/components/_buttons.scss create mode 100644 css/knacss/components/_checkbox.scss create mode 100644 css/knacss/components/_forms.scss create mode 100644 css/knacss/components/_media.scss create mode 100644 css/knacss/components/_skip-links.scss create mode 100644 css/knacss/components/_tables.scss create mode 100644 css/knacss/components/_tabs.scss create mode 100644 css/knacss/components/_tags.scss create mode 100644 css/mon_site.css create mode 100644 css/mon_site.scss create mode 100644 css/tag_editor.css create mode 100644 css/theme.css create mode 100644 extra/dist.html create mode 100644 font-awesome/_animated.scss create mode 100644 font-awesome/_bordered-pulled.scss create mode 100644 font-awesome/_core.scss create mode 100644 font-awesome/_fixed-width.scss create mode 100644 font-awesome/_icons.scss create mode 100644 font-awesome/_larger.scss create mode 100644 font-awesome/_list.scss create mode 100644 font-awesome/_mixins.scss create mode 100644 font-awesome/_path.scss create mode 100644 font-awesome/_rotated-flipped.scss create mode 100644 font-awesome/_screen-reader.scss create mode 100644 font-awesome/_stacked.scss create mode 100644 font-awesome/_variables.scss create mode 100644 font-awesome/font-awesome.scss create mode 100644 fonts/FontAwesome.otf create mode 100644 fonts/bitter.woff2 create mode 100644 fonts/fontawesome-webfont.eot create mode 100644 fonts/fontawesome-webfont.svg create mode 100644 fonts/fontawesome-webfont.ttf create mode 100644 fonts/fontawesome-webfont.woff create mode 100644 fonts/fontawesome-webfont.woff2 create mode 100644 fonts/lato_regular.woff2 create mode 100644 fonts/luxisr-webfont.woff create mode 100644 fonts/oswald_regular.woff2 create mode 100644 fonts/ubuntu_regular.woff2 create mode 100644 footer/dist.html create mode 100644 formulaires/configurer_champslibres.html create mode 100644 formulaires/editer_auteur.html create mode 100644 formulaires/editer_auteur.php create mode 100644 formulaires/editer_bien.html create mode 100644 formulaires/editer_bien.php create mode 100644 formulaires/editer_bien_complet.html create mode 100644 formulaires/inscription.html create mode 100644 formulaires/inscription.php create mode 100644 formulaires/login.html create mode 100644 forum.html create mode 100644 gulpfile.js create mode 100644 head/404.html create mode 100644 head/article.html create mode 100644 head/dist.html create mode 100644 head/plan.html create mode 100644 head/rubrique.html create mode 100644 head_js/dist.html create mode 100644 header/dist.html create mode 100644 header/distIMMO.html create mode 100644 images/gamuza_noir.png create mode 100644 images/logo_spip_noir.png create mode 100644 img/immomardi-64.png create mode 100644 img/logo-espace-sud_NB.png create mode 100644 img/logo_immomardi_placeholder.svg create mode 100644 img/sprite_symbol_pictos.svg create mode 100644 inclure/avatar_auteur.html create mode 100644 inclure/bloc_bien.html create mode 100644 inclure/bloc_mot.html create mode 100644 inclure/bloc_rub.html create mode 100644 inclure/bloc_une.html create mode 100644 inclure/bouton_supprimer.html create mode 100644 inclure/bouton_une.html create mode 100644 inclure/choix_articles.html create mode 100644 inclure/form_mots_unique.html create mode 100644 inclure/head.html create mode 100644 inclure/mentions_legales.html create mode 100644 inclure/nav.html create mode 100644 inclure/nav_principale.html create mode 100644 inclure/photo_bien.html create mode 100644 inclure/photo_mot.html create mode 100644 inclure/photo_rub.html create mode 100644 inclure/photos_bien.html create mode 100644 inclure/placeholder_bien.html create mode 100644 inclure/rss-item.html create mode 100644 inclure/un_bien.html create mode 100644 inclure/zone_tags.html create mode 100644 js/a_compresser/champslibres.js create mode 100644 js/a_compresser/sous_menu.js create mode 100644 js/caret.min.js create mode 100644 js/editer_bien.js create mode 100644 js/mon_site.min.js create mode 100644 js/tag_editor.min.js create mode 100644 js/test.js create mode 100644 json/gis.html create mode 100644 json/gis_articles.html create mode 100644 lang/champslibres_fr.php create mode 100644 lang/paquet-champslibres_fr.php create mode 100644 menus/page_speciale.html create mode 100644 menus/page_speciale.xml create mode 100644 modeles/article_aside.html create mode 100644 modeles/article_owl.html create mode 100644 modeles/articles_ps_owl.html create mode 100644 modeles/carte_yaller.html create mode 100644 modeles/favicon.html create mode 100644 modeles/nuage_popularite.html create mode 100644 modeles/player_video.html create mode 100644 mot.html create mode 100644 nav.html create mode 100644 package.json create mode 100644 paquet.xml create mode 100644 prive/squelettes/contenu/configurer_champslibres.html create mode 100644 rubrique.html create mode 100644 site.html create mode 100644 svg/by.svg create mode 100644 svg/cc.svg create mode 100644 svg/cc_txt.svg create mode 100644 svg/fleche_droite.svg create mode 100644 svg/fleche_gauche.svg create mode 100644 svg/nc.svg create mode 100644 svg/sa.svg create mode 100644 test.html create mode 100644 webfonts/README.md create mode 100644 webfonts/alexbrush-regular/SIL Open Font License.txt create mode 100644 webfonts/alexbrush-regular/alexbrush-regular.ttf create mode 100644 webfonts/alexbrush-regular/alexbrush-regular.woff create mode 100644 webfonts/alexbrush-regular/alexbrush-regular.woff2 create mode 100644 webfonts/alexbrush-regular/fonts.css create mode 100644 webfonts/calendas-plus-regular/calendas.ttf create mode 100644 webfonts/calendas-plus-regular/calendas.woff create mode 100644 webfonts/calendas-plus-regular/calendas.woff2 create mode 100644 webfonts/calendas-plus-regular/calendas_plus_webfont_license.pdf create mode 100644 webfonts/calendas-plus-regular/stylesheet.css create mode 100644 webfonts/droidsans-bold/LICENSE.txt create mode 100644 webfonts/droidsans-bold/droidsans-bold.ttf create mode 100644 webfonts/droidsans-bold/droidsans-bold.woff create mode 100644 webfonts/droidsans-bold/droidsans-bold.woff2 create mode 100644 webfonts/droidsans-bold/stylesheet.css create mode 100644 webfonts/droidsans-regular/LICENSE.txt create mode 100644 webfonts/droidsans-regular/droidsans.ttf create mode 100644 webfonts/droidsans-regular/droidsans.woff create mode 100644 webfonts/droidsans-regular/droidsans.woff2 create mode 100644 webfonts/droidsans-regular/stylesheet.css create mode 100644 webfonts/grandhotel-regular/SIL Open Font License.txt create mode 100644 webfonts/grandhotel-regular/fonts.css create mode 100644 webfonts/grandhotel-regular/grandhotel-regular.ttf create mode 100644 webfonts/grandhotel-regular/grandhotel-regular.woff create mode 100644 webfonts/grandhotel-regular/grandhotel-regular.woff2 create mode 100644 webfonts/hack-bold/LICENSE.md create mode 100644 webfonts/hack-bold/fonts.css create mode 100644 webfonts/hack-bold/hack-bold.ttf create mode 100644 webfonts/hack-bold/hack-bold.woff create mode 100644 webfonts/hack-bold/hack-bold.woff2 create mode 100644 webfonts/hack-bolditalic/LICENSE.md create mode 100644 webfonts/hack-bolditalic/fonts.css create mode 100644 webfonts/hack-bolditalic/hack-bolditalic.ttf create mode 100644 webfonts/hack-bolditalic/hack-bolditalic.woff create mode 100644 webfonts/hack-bolditalic/hack-bolditalic.woff2 create mode 100644 webfonts/hack-italic/LICENSE.md create mode 100644 webfonts/hack-italic/fonts.css create mode 100644 webfonts/hack-italic/hack-italic.ttf create mode 100644 webfonts/hack-italic/hack-italic.woff create mode 100644 webfonts/hack-italic/hack-italic.woff2 create mode 100644 webfonts/hack-regular/LICENSE.md create mode 100644 webfonts/hack-regular/fonts.css create mode 100644 webfonts/hack-regular/hack-regular.ttf create mode 100644 webfonts/hack-regular/hack-regular.woff create mode 100644 webfonts/hack-regular/hack-regular.woff2 create mode 100644 webfonts/lato-bold/OFL.txt create mode 100644 webfonts/lato-bold/fonts.css create mode 100644 webfonts/lato-bold/lato-bold.ttf create mode 100644 webfonts/lato-bold/lato-bold.woff create mode 100644 webfonts/lato-bold/lato-bold.woff2 create mode 100644 webfonts/lato-italic/OFL.txt create mode 100644 webfonts/lato-italic/fonts.css create mode 100644 webfonts/lato-italic/lato-italic.ttf create mode 100644 webfonts/lato-italic/lato-italic.woff create mode 100644 webfonts/lato-italic/lato-italic.woff2 create mode 100644 webfonts/lato-regular/OFL.txt create mode 100644 webfonts/lato-regular/fonts.css create mode 100644 webfonts/lato-regular/lato-regular.ttf create mode 100644 webfonts/lato-regular/lato-regular.woff create mode 100644 webfonts/lato-regular/lato-regular.woff2 create mode 100644 webfonts/leaguegothic-regular/SIL Open Font License.txt create mode 100644 webfonts/leaguegothic-regular/leaguegothic-regular.ttf create mode 100644 webfonts/leaguegothic-regular/leaguegothic-regular.woff create mode 100644 webfonts/leaguegothic-regular/leaguegothic-regular.woff2 create mode 100644 webfonts/leaguegothic-regular/stylesheet.css create mode 100644 webfonts/merriweather-bold/OFL.txt create mode 100644 webfonts/merriweather-bold/fonts.css create mode 100644 webfonts/merriweather-bold/merriweather-bold.ttf create mode 100644 webfonts/merriweather-bold/merriweather-bold.woff create mode 100644 webfonts/merriweather-bold/merriweather-bold.woff2 create mode 100644 webfonts/merriweather-regular/OFL.txt create mode 100644 webfonts/merriweather-regular/fonts.css create mode 100644 webfonts/merriweather-regular/merriweather-regular.ttf create mode 100644 webfonts/merriweather-regular/merriweather-regular.woff create mode 100644 webfonts/merriweather-regular/merriweather-regular.woff2 create mode 100644 webfonts/montserrat-bold/fonts.css create mode 100644 webfonts/montserrat-bold/montserrat-bold.woff create mode 100644 webfonts/montserrat-bold/montserrat-bold.woff2 create mode 100644 webfonts/montserrat-regular/fonts.css create mode 100644 webfonts/montserrat-regular/montserrat-regular.woff create mode 100644 webfonts/montserrat-regular/montserrat-regular.woff2 create mode 100644 webfonts/opensans-bold/LICENSE.txt create mode 100644 webfonts/opensans-bold/fonts.css create mode 100644 webfonts/opensans-bold/opensans-bold.ttf create mode 100644 webfonts/opensans-bold/opensans-bold.woff create mode 100644 webfonts/opensans-bold/opensans-bold.woff2 create mode 100644 webfonts/opensans-italic/LICENSE.txt create mode 100644 webfonts/opensans-italic/fonts.css create mode 100644 webfonts/opensans-italic/opensans-italic.ttf create mode 100644 webfonts/opensans-italic/opensans-italic.woff create mode 100644 webfonts/opensans-italic/opensans-italic.woff2 create mode 100644 webfonts/opensans-light/LICENSE.txt create mode 100644 webfonts/opensans-light/fonts.css create mode 100644 webfonts/opensans-light/opensans-light.ttf create mode 100644 webfonts/opensans-light/opensans-light.woff create mode 100644 webfonts/opensans-light/opensans-light.woff2 create mode 100644 webfonts/opensans-regular/LICENSE.txt create mode 100644 webfonts/opensans-regular/fonts.css create mode 100644 webfonts/opensans-regular/opensans-regular.ttf create mode 100644 webfonts/opensans-regular/opensans-regular.woff create mode 100644 webfonts/opensans-regular/opensans-regular.woff2 create mode 100644 webfonts/oswald-regular/OFL.txt create mode 100644 webfonts/oswald-regular/fonts.css create mode 100644 webfonts/oswald-regular/oswald-regular.ttf create mode 100644 webfonts/oswald-regular/oswald-regular.woff create mode 100644 webfonts/oswald-regular/oswald-regular.woff2 create mode 100644 webfonts/roboto-bold/LICENSE.txt create mode 100644 webfonts/roboto-bold/fonts.css create mode 100644 webfonts/roboto-bold/roboto-bold.ttf create mode 100644 webfonts/roboto-bold/roboto-bold.woff create mode 100644 webfonts/roboto-bold/roboto-bold.woff2 create mode 100644 webfonts/roboto-italic/LICENSE.txt create mode 100644 webfonts/roboto-italic/fonts.css create mode 100644 webfonts/roboto-italic/roboto-italic.ttf create mode 100644 webfonts/roboto-italic/roboto-italic.woff create mode 100644 webfonts/roboto-italic/roboto-italic.woff2 create mode 100644 webfonts/roboto-light/LICENSE.txt create mode 100644 webfonts/roboto-light/fonts.css create mode 100644 webfonts/roboto-light/roboto-light.woff create mode 100644 webfonts/roboto-light/roboto-light.woff2 create mode 100644 webfonts/roboto-regular/LICENSE.txt create mode 100644 webfonts/roboto-regular/fonts.css create mode 100644 webfonts/roboto-regular/roboto-regular.ttf create mode 100644 webfonts/roboto-regular/roboto-regular.woff create mode 100644 webfonts/roboto-regular/roboto-regular.woff2 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..15ac888 --- /dev/null +++ b/.gitignore @@ -0,0 +1,6 @@ +node_modules/ +stocks/ +package-lock.json +swoopBuf +.DS_Store +*.map diff --git a/action/creer_bien.php b/action/creer_bien.php new file mode 100644 index 0000000..2cdc517 --- /dev/null +++ b/action/creer_bien.php @@ -0,0 +1,29 @@ + 'publie' + ); + $id_article = article_inserer($id_rubrique,$set); + include_spip('inc/invalideur'); + suivre_invalideur("id='id_article/$id_article'"); + } + + // redirection sur la création de la vidéo + $retour = 'spip.php?page=editer_bien&id_article='.$id_article; + include_spip('inc/headers'); + redirige_par_entete($retour); +} + diff --git a/action/enlever_une.php b/action/enlever_une.php new file mode 100644 index 0000000..9f0ad1b --- /dev/null +++ b/action/enlever_une.php @@ -0,0 +1,26 @@ + '""'),'id_article='.$id_article); + + // redirection sur la page d'édition du bien + $retour = 'spip.php?page=editer_bien&id_article='.$id_article; + include_spip('inc/headers'); + redirige_par_entete($retour); +} + diff --git a/action/mettre_une.php b/action/mettre_une.php new file mode 100644 index 0000000..533de05 --- /dev/null +++ b/action/mettre_une.php @@ -0,0 +1,30 @@ + 'une'),'id_article='.$id_article); + + // Cache + include_spip('inc/invalideur'); + suivre_invalideur("id='id_article/$id_article'"); + + // redirection sur la page d'édition du bien + $retour = 'spip.php?page=editer_bien&id_article='.$id_article; + include_spip('inc/headers'); + redirige_par_entete($retour); +} + diff --git a/action/promouvoir_photo.php b/action/promouvoir_photo.php new file mode 100644 index 0000000..bda0520 --- /dev/null +++ b/action/promouvoir_photo.php @@ -0,0 +1,42 @@ + ''),'id_document IN ('.join(',',$Tid_docs).')'); + sql_updateq('spip_documents', array('credits' => 'une'),'id_document = '.$id_document); + + // Cache + include_spip('inc/invalideur'); + suivre_invalideur("id='id_article/$id_article'"); + + // redirection sur la page d'édition du bien + $retour = 'spip.php?page=editer_bien&id_article='.$id_article.'#les_photos'; + include_spip('inc/headers'); + redirige_par_entete($retour); +} + diff --git a/action/supprimer_bien.php b/action/supprimer_bien.php new file mode 100644 index 0000000..513a3c0 --- /dev/null +++ b/action/supprimer_bien.php @@ -0,0 +1,27 @@ + 'poubelle' + ); + sql_updateq('spip_articles', $set,'id_article='.$id_article); + include_spip('inc/invalideur'); + suivre_invalideur("id='id_article/$id_article'"); + } + + // redirection sur l'accueil + $retour = 'spip.php?page=sommaire'; + include_spip('inc/headers'); + redirige_par_entete($retour); +} + diff --git a/action/supprimer_photo.php b/action/supprimer_photo.php new file mode 100644 index 0000000..1c7652f --- /dev/null +++ b/action/supprimer_photo.php @@ -0,0 +1,28 @@ + + [(#SESSION{id_auteur}|=={#ID_AUTEUR}|oui) + [(#INFO_STATUT{article,#ENV{id_article}}|setenv{statut})] + ] + + + + + + diff --git a/aside/dist.html b/aside/dist.html new file mode 100644 index 0000000..22200b8 --- /dev/null +++ b/aside/dist.html @@ -0,0 +1,6 @@ +[(#REM) Menu de navigation par rubriques ] + + + \ No newline at end of file diff --git a/aside/z_apl.html b/aside/z_apl.html new file mode 100644 index 0000000..2ba4dc1 --- /dev/null +++ b/aside/z_apl.html @@ -0,0 +1,10 @@ +[(#REM) + + Squelette Big_Pipe + http://www.facebook.com/notes/facebook-engineering/bigpipe-pipelining-web-pages-for-high-performance/389414033919 + + (c) 2010 Cedric Morin + Distribue sous licence GPL + +]#CACHE{0} +#INCLURE{fond=inclure/ajax_parallel_load,bloc=#SQUELETTE} \ No newline at end of file diff --git a/auteur.html b/auteur.html new file mode 100644 index 0000000..0f77cb5 --- /dev/null +++ b/auteur.html @@ -0,0 +1,3 @@ + + + diff --git a/backend.html b/backend.html new file mode 100644 index 0000000..962a75a --- /dev/null +++ b/backend.html @@ -0,0 +1,43 @@ +[(#REM) + Ce fichier sert à créer les flux RSS + qui permettent aux visiteurs de suivre l'actualité + de votre site depuis un lecteur de news. + + Cette page génère un code XML/RSS adapté + +][(#HTTP_HEADER{Content-type: text/xml[; charset=(#CHARSET)]})] + + + + [(#NOM_SITE_SPIP|textebrut|texte_backend)] + #URL_SITE_SPIP/ + [(#DESCRIPTIF_SITE_SPIP|supprimer_tags|texte_backend)] + #LANG + SPIP - www.spip.net + + +[ + [(#NOM_SITE_SPIP|texte_backend)] + (#LOGO_SITE_SPIP|image_reduire{144,400}|extraire_attribut{src}|url_absolue|texte_backend) + #URL_SITE_SPIP/ + [(#LOGO_SITE_SPIP|image_reduire{144,400}|extraire_attribut{height})] + [(#LOGO_SITE_SPIP|image_reduire{144,400}|extraire_attribut{width})] + +] + + + + + + + + + + + + diff --git a/base/champslibres.php b/base/champslibres.php new file mode 100644 index 0000000..f516dee --- /dev/null +++ b/base/champslibres.php @@ -0,0 +1,56 @@ + 'input',//Type du champ (voir plugin Saisies) + 'options' => array( + 'nom' => 'grigri', + 'label' => 'grigri', + 'sql' => "varchar(30) NOT NULL DEFAULT ''", + 'defaut' => '',// Valeur par défaut + 'restrictions'=>array( + 'voir' => array('auteur' => ''),//Tout le monde peut voir + 'modifier' => array('auteur' => 'webmestre')),//Seuls les webmestres peuvent modifier + ), + ); + $champs['spip_articles']['grigri'] = array( + 'saisie' => 'input',//Type du champ (voir plugin Saisies) + 'options' => array( + 'nom' => 'grigri', + 'label' => 'grigri', + 'sql' => "varchar(30) NOT NULL DEFAULT ''", + 'defaut' => '',// Valeur par défaut + 'restrictions'=>array( + 'voir' => array('auteur' => ''),//Tout le monde peut voir + 'modifier' => array('auteur' => 'webmestre')),//Seuls les webmestres peuvent modifier + ), + ); + $champs['spip_mots']['grigri'] = array( + 'saisie' => 'input',//Type du champ (voir plugin Saisies) + 'options' => array( + 'nom' => 'grigri', + 'label' => 'grigri', + 'sql' => "varchar(30) NOT NULL DEFAULT ''", + 'defaut' => '',// Valeur par défaut + 'restrictions'=>array( + 'voir' => array('auteur' => ''),//Tout le monde peut voir + 'modifier' => array('auteur' => 'webmestre')),//Seuls les webmestres peuvent modifier + ), + ); + + return $champs; +} diff --git a/body.html b/body.html new file mode 100644 index 0000000..9115ac8 --- /dev/null +++ b/body.html @@ -0,0 +1,25 @@ + + +
+ + + [(#REM)] + + + +
+ +
+ +
+ + +
+ + diff --git a/breadcrumb/401.html b/breadcrumb/401.html new file mode 100644 index 0000000..488e237 --- /dev/null +++ b/breadcrumb/401.html @@ -0,0 +1,5 @@ +[(#REM) Fil d'Ariane ] + diff --git a/breadcrumb/404.html b/breadcrumb/404.html new file mode 100644 index 0000000..1cb226d --- /dev/null +++ b/breadcrumb/404.html @@ -0,0 +1,5 @@ +[(#REM) Fil d'Ariane ] + diff --git a/breadcrumb/auteur.html b/breadcrumb/auteur.html new file mode 100644 index 0000000..ce90aed --- /dev/null +++ b/breadcrumb/auteur.html @@ -0,0 +1,8 @@ + +[(#REM) Fil d'Ariane ] + + \ No newline at end of file diff --git a/breadcrumb/dist.html b/breadcrumb/dist.html new file mode 100644 index 0000000..f553b89 --- /dev/null +++ b/breadcrumb/dist.html @@ -0,0 +1,21 @@ + diff --git a/breadcrumb/inc-objet.html b/breadcrumb/inc-objet.html new file mode 100644 index 0000000..05d33b2 --- /dev/null +++ b/breadcrumb/inc-objet.html @@ -0,0 +1,9 @@ +
  • <:accueil_site:> >
  • + + +[(#ID_SECTEUR|!={#ID_RUBRIQUE}|oui) +
  • [(#TITRE|couper{80})] >
  • +] + + +[(#ID_OBJET|generer_url_entite{#OBJET}|lien_ou_expose{#INFO_TITRE{#OBJET,#ID_OBJET}|sinon{?}|couper{80},#ENV{expose,' '}|?{span}})][(#ENV{expose,' '}|non)> ] diff --git a/breadcrumb/login.html b/breadcrumb/login.html new file mode 100644 index 0000000..5a444d7 --- /dev/null +++ b/breadcrumb/login.html @@ -0,0 +1,11 @@ +[(#REM) + Est-ce qu'on se connecte a l'espace prive ou pas ? +]#SET{prive,''} +[(#ENV{url}|=={''}|?{#SET{prive,' '}})] +[(#ENV{url}|match{^#EVAL{_DIR_RESTREINT_ABS}}|?{#SET{prive,' '}})] + +[(#REM) Fil d'Ariane ] + \ No newline at end of file diff --git a/breadcrumb/mentions_legales.html b/breadcrumb/mentions_legales.html new file mode 100644 index 0000000..979fe38 --- /dev/null +++ b/breadcrumb/mentions_legales.html @@ -0,0 +1,4 @@ + diff --git a/breadcrumb/mot.html b/breadcrumb/mot.html new file mode 100644 index 0000000..320ba13 --- /dev/null +++ b/breadcrumb/mot.html @@ -0,0 +1,7 @@ + + + diff --git a/breadcrumb/plan.html b/breadcrumb/plan.html new file mode 100644 index 0000000..7edbf47 --- /dev/null +++ b/breadcrumb/plan.html @@ -0,0 +1,4 @@ + \ No newline at end of file diff --git a/breadcrumb/recherche.html b/breadcrumb/recherche.html new file mode 100644 index 0000000..44f1e71 --- /dev/null +++ b/breadcrumb/recherche.html @@ -0,0 +1,4 @@ + \ No newline at end of file diff --git a/breve.html b/breve.html new file mode 100644 index 0000000..360e413 --- /dev/null +++ b/breve.html @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/champslibres_administrations.php b/champslibres_administrations.php new file mode 100644 index 0000000..33f34c4 --- /dev/null +++ b/champslibres_administrations.php @@ -0,0 +1,66 @@ + + * ex : [(#CHEMIN{IMG/rubon#ID_RUBRIQUE.svg}|afficher_svg{#ID_RUBRIQUE,#GET{class},#GET{titre},#GET{titre}})] + * + * + * @param $url_relative de l'image + * @param $id = numero de l'id + * @param $class + * @param $title + * @param $alt + * + * @return $svg (le code svg) + * @author tofulm + **/ +function afficher_svg($url_relative, $id=0, $class = '', $title='', $alt=''){ + // nettoyer $url_relative des ?timestamp et vérifier que le ficher existe + $url_relative = explode('?', $url_relative)[0]; + if (!file_exists($url_relative)) { + return; + } + $svg = file_get_contents($url_relative); + if ($id) { + $id = "id_$id"; + $class = ' class="'.$class.'" '; + $pattern = '/(.+?)/s'; + $replace = '$columnKey: $subArray[$columnKey]; + } elseif (array_key_exists($indexKey, $subArray)) { + if (is_null($columnKey)) { + $index = is_object($subArray)?$subArray->$indexKey: $subArray[$indexKey]; + $result[$index] = $subArray; + } elseif (array_key_exists($columnKey, $subArray)) { + $index = is_object($subArray)?$subArray->$indexKey: $subArray[$indexKey]; + $result[$index] = is_object($subArray)?$subArray->$columnKey: $subArray[$columnKey]; + } + } + } + return $result; + } +} diff --git a/champslibres_options.php b/champslibres_options.php new file mode 100644 index 0000000..0e4aa10 --- /dev/null +++ b/champslibres_options.php @@ -0,0 +1,49 @@ +' . "\n"; + //$flux .= '' . "\n"; + //return $flux; +//} + +/** + * Charger des scripts jquery + * + * @pipeline jqueryui_plugins + * @param array $scripts Liste à charger + * @return array Liste complétée +**/ +//function champslibres_jquery_plugins($scripts){ + //$scripts[] = "aa"; + //$scripts[] = produire_fond_statique('javascript/bigup.js'); + //return $scripts; +//} + +/** + * Charger des scripts jquery ui + * + * @pipeline jqueryui_plugins + * @param array $scripts Liste à charger + * @return array Liste complétée +**/ +function champslibres_jqueryui_plugins($scripts){ + $scripts[] = "datepicker"; + $scripts[] = "i18n/datepicker-fr"; + $scripts[] = "autocomplete"; + return $scripts; +} + diff --git a/content/401.html b/content/401.html new file mode 100644 index 0000000..079b5aa --- /dev/null +++ b/content/401.html @@ -0,0 +1,12 @@ +[(#REM) Fil d'Ariane ] +
    +
    +

    <:pass_erreur:>[ (#ENV{status})]

    +
    +
    + [
    (#ENV{erreur})
    ] +
    + +
    \ No newline at end of file diff --git a/content/404.html b/content/404.html new file mode 100644 index 0000000..864712b --- /dev/null +++ b/content/404.html @@ -0,0 +1,9 @@ +[(#REM) Fil d'Ariane ] +
    +
    +

    <:pass_erreur:> 404

    +
    +
    + [
    (#ENV{erreur})
    ] +
    +
    diff --git a/content/article-bien.html b/content/article-bien.html new file mode 100644 index 0000000..5d29d19 --- /dev/null +++ b/content/article-bien.html @@ -0,0 +1,3 @@ +
    + +
    diff --git a/content/article-bien.xml b/content/article-bien.xml new file mode 100644 index 0000000..ef076ac --- /dev/null +++ b/content/article-bien.xml @@ -0,0 +1,5 @@ + + Bien Immomardi + Grande image, petite colonne à droite + + \ No newline at end of file diff --git a/content/article-contact.html b/content/article-contact.html new file mode 100644 index 0000000..3ffebf8 --- /dev/null +++ b/content/article-contact.html @@ -0,0 +1,20 @@ + + [(#REM) AUTORISER{modifier, article, #ID_ARTICLE}) + Editer + ] +

    #TITRE

    +
    +
    + [

    (#SOUSTITRE)

    ] +
    #TEXTE
    +
    + [
    +
    (#DESCRIPTIF)
    +
    ] +
    +
    + [(#INCLURE{fond=modeles/carte_yaller, + autocenterandzoom=oui, + id_article=#ID_ARTICLE})] +
    + diff --git a/content/article-contact.xml b/content/article-contact.xml new file mode 100644 index 0000000..8e61951 --- /dev/null +++ b/content/article-contact.xml @@ -0,0 +1,6 @@ + + Page de contact + Article pour page de contact: + bloc principal = texte / aside = descritif / footer large = PS + + diff --git a/content/article-edito.html b/content/article-edito.html new file mode 100644 index 0000000..1a15e68 --- /dev/null +++ b/content/article-edito.html @@ -0,0 +1,13 @@ +#SET{id_grpe_tags, 0} +#SET{id_grpe_tags, #ID_GROUPE} + + + [(#AUTORISER{modifier, article, #ID_ARTICLE}) + Editer + ] +

    #TITRE

    +
    + [

    (#SOUSTITRE)

    ] +
    #TEXTE
    +
    + diff --git a/content/article-edito.xml b/content/article-edito.xml new file mode 100644 index 0000000..43823e0 --- /dev/null +++ b/content/article-edito.xml @@ -0,0 +1,4 @@ + + Article editorial + Article pour contenu éditorial (hors catalogue de biens) + diff --git a/content/article.html b/content/article.html new file mode 100644 index 0000000..f3cf24b --- /dev/null +++ b/content/article.html @@ -0,0 +1,55 @@ +#SET{id_grpe_tags, 0} #SET{grpes_importants,#ARRAY} +#SET{id_grpe_tags, #ID_GROUPE} +#SET{grpes_importants,#GET{grpes_importants}|push{#ID_GROUPE}} + +#SET{id_mot_statut_bien,0} + + + #SET{id_mot_statut_bien, #ID_MOT} + + + + + + [(#AUTORISER{modifier, article, #ID_ARTICLE}) + [(#INFO_STATUT{article,#ID_ARTICLE}|=={publie}|non) + Éditer + ] + ] + + + [(#INCLURE{fond=inclure/bouton_une,id_article=#ENV{id_article}})] + + +

    #TITRE

    + +
    +
    + [

    (#SOUSTITRE)

    ] + + [(#FICHIER|image_recadre{900:450,-,focus}|image_reduire{900,450})] + +
    #TEXTE
    + +
    + [(#REM) afficher mots-clés et tags dont le groupe est "important" ] + + + #TITRE + + +
    +
    + + + [(#FICHIER|image_recadre{350:200,-,focus}|image_reduire{350, 200})] + + +
    +
    + + + + + diff --git a/content/auteur.html b/content/auteur.html new file mode 100644 index 0000000..90cbc2a --- /dev/null +++ b/content/auteur.html @@ -0,0 +1,9 @@ + + + #NOM + #BIO + [site internet : + + #NOM_SITE + ] + \ No newline at end of file diff --git a/content/catalogue_biens.html b/content/catalogue_biens.html new file mode 100644 index 0000000..9e90243 --- /dev/null +++ b/content/catalogue_biens.html @@ -0,0 +1,11 @@ + +#SET{titre_mot,Liste des biens} +#SET{id_mot,0} + + #SET{titre_mot,#TITRE} + #SET{id_mot,#ID_MOT} + + +

    #GET{titre_mot}

    + + diff --git a/content/collectif.html b/content/collectif.html new file mode 100644 index 0000000..e6e5f1f --- /dev/null +++ b/content/collectif.html @@ -0,0 +1,6 @@ + +
    +

    #TITRE

    +
    #TEXTE
    +
    + \ No newline at end of file diff --git a/content/editer_bien.html b/content/editer_bien.html new file mode 100644 index 0000000..706190c --- /dev/null +++ b/content/editer_bien.html @@ -0,0 +1,35 @@ +[(#ENV{id_article}|?{ + [(#INCLURE{fond=inclure/bouton_supprimer,id_article=#ENV{id_article}})] + [(#INCLURE{fond=inclure/bouton_une,id_article=#ENV{id_article}})] +

    Éditer l'article n°[(#ENV{id_article})]

    + , +

    Créer un article

    +})] + +
    + [(#SESSION{id_auteur}|oui) + [(#ENV{id_article}|oui) + [(#AUTORISER{modifier, article, #ENV{id_article}}|?{ + [(#FORMULAIRE_EDITER_BIEN{#ENV{id_article}})]
    + , +
    Votre compte ne fait pas partie des auteurs autorisés à modifier cet article.
    + })] + ] + [(#ENV{id_article}|non) + [(#AUTORISER{creer, article}|?{ + [(#FORMULAIRE_EDITER_BIEN)] + , +
    Votre compte n'a pas les droits suffisants pour créer un article.
    + })] + ] + ] + [(#SESSION{id_auteur}|non) +
    + [(#FORMULAIRE_LOGIN{#ENV{url}})] +
    +

    ou

    +
    + [(#FORMULAIRE_INSCRIPTION)] +
    + ] +
    diff --git a/content/groupe_mots.html b/content/groupe_mots.html new file mode 100644 index 0000000..b31c916 --- /dev/null +++ b/content/groupe_mots.html @@ -0,0 +1,21 @@ + + +

    #TITRE

    + +
    + + + +
    + + + + +

    Situation des biens

    + [(#INCLURE{fond=modeles/carte_gis, + autocenterandzoom=oui, + objets=articles, + id_mot=#ENV{id_mot}, + zoom_wheel=non, + height=500px, + })] diff --git a/content/inscription.html b/content/inscription.html new file mode 100644 index 0000000..c2a87b9 --- /dev/null +++ b/content/inscription.html @@ -0,0 +1,6 @@ +
    +

    Création d'un compte étudiant

    + + [(#FORMULAIRE_INSCRIPTION)] + +
    diff --git a/content/login.html b/content/login.html new file mode 100644 index 0000000..464261c --- /dev/null +++ b/content/login.html @@ -0,0 +1,10 @@ +#CACHE{0} + +

    Connexion

    +
    +
    + [(#FORMULAIRE_LOGIN{#ENV{url}})] +
    +
    +
    + diff --git a/content/mentions_legales.html b/content/mentions_legales.html new file mode 100644 index 0000000..65795cc --- /dev/null +++ b/content/mentions_legales.html @@ -0,0 +1 @@ + diff --git a/content/mes-articles.html b/content/mes-articles.html new file mode 100644 index 0000000..8f14590 --- /dev/null +++ b/content/mes-articles.html @@ -0,0 +1,26 @@ +
    Vos articles en cours de rédaction
    + +
    + + + +
    +
    +
    + Aucun article en cours de rédaction. + Je publie un article ! +
    + + +
    Vos articles publiés
    + +
    + + + +
    +
    +
    + Aucun article publié. +
    + \ No newline at end of file diff --git a/content/modifier_auteur.html b/content/modifier_auteur.html new file mode 100644 index 0000000..82afb0f --- /dev/null +++ b/content/modifier_auteur.html @@ -0,0 +1,18 @@ +
    +

    Modifier mon profil

    + +
    + Mes articles + Me déconnecter + + +
    + #FORMULAIRE_EDITER_AUTEUR{#ID_AUTEUR,#URL_PAGE{auteur}|parametre_url{id_auteur,#ENV{id_auteur}}} +
    + +
    +
    + +
    Vous devez être connecté pour accéder à cette page.
    + + diff --git a/content/mot.html b/content/mot.html new file mode 100644 index 0000000..bc2cc73 --- /dev/null +++ b/content/mot.html @@ -0,0 +1,11 @@ + +#SET{titre_mot,Liste des biens} +#SET{id_mot,0} + + #SET{titre_mot,#TITRE} + #SET{id_mot,#ID_MOT} + + +

    #GET{titre_mot}

    + + diff --git a/content/motsar.html b/content/motsar.html new file mode 100644 index 0000000..ef97e95 --- /dev/null +++ b/content/motsar.html @@ -0,0 +1,24 @@ +

    Arborescence des mots clés

    + + + + + + +

    #TITRE

    + + +
      + +
    • + #TITRE +
    • + +
    +
    + + + diff --git a/content/nous-contacter.html b/content/nous-contacter.html new file mode 100644 index 0000000..410d03d --- /dev/null +++ b/content/nous-contacter.html @@ -0,0 +1,3 @@ + + #FORMULAIRE_ECRIRE_AUTEUR + \ No newline at end of file diff --git a/content/plan.html b/content/plan.html new file mode 100644 index 0000000..0e6f161 --- /dev/null +++ b/content/plan.html @@ -0,0 +1,48 @@ +

    Plan du site

    + +
    + + +

    #TITRE

    + + [(#REM) Articles et sous-rubriques ] + + + + + + + + + [(#REM) Sur le Web ] + +

    <:sites_web:>

    + +
    + + +
    diff --git a/content/rubrique.html b/content/rubrique.html new file mode 100644 index 0000000..b3703b2 --- /dev/null +++ b/content/rubrique.html @@ -0,0 +1,13 @@ + + +
    + [[(#TITRE|attribut_html)]] +
    +

    #TITRE

    + #TEXTE +
    +
    + + +

    Liste des articles

    + diff --git a/content/sommaire.html b/content/sommaire.html new file mode 100644 index 0000000..73c7fc8 --- /dev/null +++ b/content/sommaire.html @@ -0,0 +1,46 @@ +
    + +
    +

    #TITRE

    +
    #TEXTE
    +
    + + +
    +

    #TITRE

    +
    #TEXTE
    +
    + +
    + +

    À la une

    +
    + + + +
    + +

    Les rubriques du journal

    +
    + + + + + #SET{nb_rubs, #TOTAL_BOUCLE} + + +
    + + +[(#REM) +
    +

    Situation des biens

    +[(#INCLURE{fond=modeles/carte_gis, + autocenterandzoom=oui, + objets=articles, + id_mot=#ENV{id_mot}, + zoom_wheel=non, + height=500px, +})] +
    +] diff --git a/content/sommaire_articles-un-mot.html b/content/sommaire_articles-un-mot.html new file mode 100644 index 0000000..49a6e81 --- /dev/null +++ b/content/sommaire_articles-un-mot.html @@ -0,0 +1,34 @@ +

    [(#SLOGAN_SITE_SPIP)]

    + +
    +
    + +
    + [(#MODELE{articles_ps_owl}{autoplay=true}{caption=true}{navigation=false})] #SET{id_une,#ID_ARTICLE} +
    + + +
    + [(#MODELE{article_owl}{id_article=#ID_ARTICLE})] #SET{id_une,#ID_ARTICLE} +
    +

    #TITRE

    + + +
    + +
    +

    #TITRE

    +
    #TEXTE
    +
    + +
    + + +#SET{id_mot, #ID_MOT} +

    #TITRE

    + +

    Nos réalisations

    + + + + diff --git a/content/sommaire_mots-un-groupe-mot.html b/content/sommaire_mots-un-groupe-mot.html new file mode 100644 index 0000000..894b4c2 --- /dev/null +++ b/content/sommaire_mots-un-groupe-mot.html @@ -0,0 +1,43 @@ +

    [(#SLOGAN_SITE_SPIP)]

    + +
    +
    + +
    + [(#MODELE{articles_ps_owl}{autoplay=true}{caption=true}{navigation=false})] #SET{id_une,#ID_ARTICLE} +
    + + +
    + [(#MODELE{article_owl}{id_article=#ID_ARTICLE})] #SET{id_une,#ID_ARTICLE} +
    +

    #TITRE

    + + +
    + +
    +

    #TITRE

    +
    #TEXTE
    +
    + +
    + +
    + + + + + #SET{nb_rubs, #TOTAL_BOUCLE} + + + +
    +

    Situation des biens

    + [(#INCLURE{fond=modeles/carte_gis, + autocenterandzoom=oui, + objets=articles, + id_mot=#ENV{id_mot}, + zoom_wheel=non, + height=500px, + })] diff --git a/content/test.html b/content/test.html new file mode 100644 index 0000000..c20a407 --- /dev/null +++ b/content/test.html @@ -0,0 +1,66 @@ +
    + + +
    + +
    + + + + + +
    +
    +
    +
    +
    + +

    Appelez-nous

    +

    04 92 24 75 71

    +
    +
    +
    +
    + +

    4 Avenue René Froger
    05100 - BRIANÇON
    Email : feet.fit@orange.fr
    Siret : 790011837

    +
    +
    +
    +
    + +

    Cliquez ici

    +

    pour nous situer

    +
    +
    +
    +
    +
    + + +
    +
    +
    +

    Orthopédie et Podologie

    +

    Briançon (05)

    +
    +
    +
    + + +
    +
    + Feet & Fit est un centre spécialisé dans le domaine de la podologie. M. Dran, orthopédiste, orthésiste et podologiste, reçoivent les patients atteints de douleurs aux pieds afin de leur proposer un traitement adéquat.

    + Une mauvaise posture peut entraîner divers troubles tels que des douleurs aux pieds, aux chevilles et aux genoux. Il existe toutefois des solutions pour aider les personnes souffrant de ces maux à retrouver le plaisir de marcher. Grâce à un diagnostique établi par un orthopédiste reconnu, le centre Feet & Fit sera en mesure de concevoir des semelles et des chaussures sur mesure pour traiter votre maladie.

    + La pratique d'un sport tel que le ski et les randonnées en montagne peuvent également être la cause de problèmes aux pieds. Spécialisé dans la confection de semelles et de chaussures de sport, pour prévenir et traiter les douleurs dont souffrent les sportifs.

    + Chaque patient étant différent, le centre Feet & Fit s'engage à assurer le suivi du traitement mis en place pour vous soigner. +
    +
    + +
    diff --git a/content/z_apl.html b/content/z_apl.html new file mode 100644 index 0000000..2ba4dc1 --- /dev/null +++ b/content/z_apl.html @@ -0,0 +1,10 @@ +[(#REM) + + Squelette Big_Pipe + http://www.facebook.com/notes/facebook-engineering/bigpipe-pipelining-web-pages-for-high-performance/389414033919 + + (c) 2010 Cedric Morin + Distribue sous licence GPL + +]#CACHE{0} +#INCLURE{fond=inclure/ajax_parallel_load,bloc=#SQUELETTE} \ No newline at end of file diff --git a/css/_body.scss b/css/_body.scss new file mode 100644 index 0000000..cbd1086 --- /dev/null +++ b/css/_body.scss @@ -0,0 +1,10 @@ +/* Definition des containers pour Knacss */ +.inner-fluid { + margin: 2rem 2rem 0; +} + +// met une taille max +.inner { + max-width: $extra-large; + margin: 0 auto; +} diff --git a/css/_form_spip.scss b/css/_form_spip.scss new file mode 100644 index 0000000..b972c89 --- /dev/null +++ b/css/_form_spip.scss @@ -0,0 +1,98 @@ +/* ------------------------------------------ +/* Habillage des formulaires SPIP +/* ------------------------------------------ */ + +input, textarea, select {-webkit-box-sizing: border-box;-ms-box-sizing: border-box;-moz-box-sizing: border-box;box-sizing: border-box;} +.bugajaxie { display: none; } /* Bug IE/Win */ + +/* Structure generale des formulaires +----------------------------------------------- */ +.formulaire_spip { clear: both; margin-bottom: /*@margin-bottom*/1.5em/*/@*/; padding: /*@demi-line-height*/0.75em/*/@; border: 1px solid #ddd; background-color: #FCFCFC*/; text-align: left; } + +/* Fieldset */ +.formulaire_spip fieldset { clear: both; margin: 0; padding: 0; border: 0; } +.formulaire_spip fieldset legend { margin: 0; padding: 0; font-size: 1.25em; font-weight: bold; background-color: #FCFCFC; color: #333; } /* Preciser la couleur des legend et du fond pour IE/Win */ +.formulaire_spip fieldset fieldset { margin-top: /*@margin-bottom*/1.5em/*/@*/; } +.formulaire_spip fieldset fieldset legend { font-size: 1em; font-weight: normal; } + +/* Explications */ +.formulaire_spip .explication { color: #444;margin-bottom: 0;padding: /*@demi-line-height*/0.75em/*/@*/ 0;} + +/* Lignes */ +.formulaire_spip .editer { clear: both; margin: 0 /*@demi-line-height*/-0.75em/*/@*/; padding: /*@demi-line-height*/0.75em/*/@*/; } + +/* Labels */ +.formulaire_spip .editer>label { display: block; text-align: left; color: #444; font-weight: bold;} + +.formulaire_spip .choix label {display:inline;font-weight:normal;} +.formulaire_spip .choix input.radio, +/*.formulaire_spip .choix input.checkbox {width:auto;}*/ + + +/* Champs de saisie */ +.formulaire_spip input.text { width: 100%;} +.formulaire_spip textarea { width: 100%; } +.formulaire_spip select { width: 100%; } + +/* Boutons */ +.formulaire_spip .boutons { clear: both; margin: 0; padding: 0; text-align: right; margin-top: /*@margin-bottom*/1.5em/*/@*/; } +.formulaire_spip .boutons input { margin-left: 1em; } +.formulaire_spip .boutons input, input.submit {} + +@media print { + .formulaire_spip { display: none; } +} + +/* Reponses, previsu et erreurs +----------------------------------------------- */ + +/* Champs obligatoires */ +.formulaire_spip li.obligatoire {} +.formulaire_spip li.obligatoire label {font-weight: strong;} + + +/* Reponses */ +.reponse_formulaire { margin-bottom: /*@margin-bottom*/1.5em/*/@*/; padding: /*@demi-margin-bottom*/0.75em/*/@*/; border: 2px solid #ddd; } +.reponse_formulaire_ok { background: #e6efc2; color: #264409; border-color: #c6d880; } +.reponse_formulaire_erreur { background: #fbe3e4; color: #8a1f11; border-color: #fbc2c4; } +.reponse_formulaire_ok a { color: #264409; } +.reponse_formulaire_erreur a { color: #8a1f11; } + + +/* Previsualisation du message */ +fieldset.previsu { margin-bottom: /*@margin-bottom*/1.5em/*/@*/;padding: /*@demi-margin-bottom*/0.75em/*/@*/; border: 2px dashed #F57900; } +fieldset.previsu legend { color: #F57900; } +fieldset.previsu legend { padding-left:0.50em; font-weight: bold; color: #F57900; } +/* Reponse du formulaire */ +fieldset.previsu .reponse_formulaire { font-weight: bold; color: #e86519;} +fieldset.reponse_formulaire { border-color: #e86519; font-weight: normal; } + + +/* * Erreurs */ +.editer.erreur { background-color: #fbe3e4; } +.editer .erreur_message { display: block; color: #C30; font-weight: bold;} + + +/* Variantes et cas particuliers +----------------------------------------------- */ + +/* Selection des langues */ +.formulaire_menu_lang { margin: 0; padding: 0; background: none; border: 0;} +.formulaire_menu_lang select {width: 15em;} +.page_login .content .formulaire_menu_lang {margin-bottom:1.5em;} + +/* Formulaires de recherche (site / petitions) */ +.formulaire_recherche { padding: 0; background: none; border: 0;} +.formulaire_recherche * { display: inline; vertical-align: middle; } +.formulaire_recherche label {display: block;} +.formulaire_recherche input.text { width: 10em; padding-left: 25px; background: #FFF url(img/rechercher.gif) no-repeat left center; } +.formulaire_recherche input.submit {} + +/* Choix des mots-clefs */ +.choix_mots li { float: left; width: 30%; padding: 1%; } + +/* Formulaire de login dans une page */ +.formulaire_login .editer {clear:left;} +/*.formulaire_login input.text,.formulaire_login input.password {width:15em;}*/ +.formulaire_login .editer_password .details {margin-bottom:0;} +.formulaire_login #spip_logo_auteur {float:right;} diff --git a/css/_menu_spip.scss b/css/_menu_spip.scss new file mode 100644 index 0000000..509a477 --- /dev/null +++ b/css/_menu_spip.scss @@ -0,0 +1,153 @@ +/* Menu SPIP */ + + +/* cette variable permet de dire a quel breakpoint le burger est affiché ou caché */ +$burger: $large; // obsolete pour Knacss: on met le breakpoint a "large" + + +#barnav { + li { + list-style-type: none; + } + + a, a:focus, a:hover,a:active { + text-decoration: none; + display: block; + } +} +.on.active { + background-color: #000; + > a { + color: #fff; + padding: 0 1rem; + } +} + +img.spip_logo { + vertical-align: bottom; + margin: 0 2rem .5rem 0; + height: 40px; + width: auto; +} + +/* hamburger: Version mobile et tablette */ +/* @media (max-width: ($burger - 1)) { */ +@include respond-to("large") { + button.burgermenu { + position: absolute; + top: 30px; + right: 15px; + //margin-right: 31px; + } + .is-opened .js-sous-menu { + display: block; + } + #barnav { + width: 100%; + + li.menu-entree a { + padding: 10px; + } + } + nav > ul { + width: 100%; + position: absolute; + right: -74px; + top: 64px; + } + + /* habillage du bloc du menu à afficher sous-menu */ + ul.js-sous-menu { + display: none; + width: 100%; + padding: 10px; + background-color: $white; + z-index: $zindex-modal; + right: 0; + a { + @include font-size(h3); + font-weight: $weight-medium; + font-family: $font-family-headings; + } + } + li.menu-entree { + margin: 7px 0 5px 0; + text-align: left; + background-color: rgba(206, 206, 206, 1); + i { + display: none; + } + } + .contact_header { + display: none; + } +} + + +/* barrenav: Menu desktop */ +/*@media (min-width: $burger) { */ +@include respond-to("large-up") { + .contact_barrenav { + display: none; + } + .contact_header { + display: block; + } + button.burgermenu { + display: none; + } + ul.js-sous-menu { + opacity: $opacite_header; + display: flex; + justify-content: space-around; + width: 100%; + padding: 0; + > li.menu-entree { + position: relative; + list-style-type: none; + > ul.menu-liste { + left: -193px; + padding: 10px 0 10px 185px; + position: absolute; + flex-direction: column; + width: 932px; + z-index: 599; + } + } + a { + @include font-size(h3); + font-weight: $weight-medium; + font-family: $font-family-headings; + } + i { + padding: 10px; + } + } +} + +/* taille des caractères de la barre-nav pour passer en 5 items sur une largeur */ +ul.js-sous-menu a { + @include respond-to("large-up") { + font-size: 2rem; + } + @include respond-to("extra-large-up") { + font-size: 2.4rem; + } +} + +/* navbar fixed lors du scroll de la page => recup gocryo, à adapter si besoin */ +#header.navbar-fixed-top { + position: fixed; + z-index: ($zindex-navigation + 1); + width: 100%; + //padding: 0; + background-color: #fff; +/* img.spip_logo { + margin-top: 1rem; + }*/ +} +#barnav .fixed-top { + position: fixed; + z-index: ($zindex-navigation + 1); +} + diff --git a/css/_polices.scss b/css/_polices.scss new file mode 100644 index 0000000..2b1e0ea --- /dev/null +++ b/css/_polices.scss @@ -0,0 +1,30 @@ +/* les polices à charger en @font-face */ + +@font-face { + font-family: 'Lato'; + src: url("../fonts/lato_regular.woff2?#iefix") format("woff2"); + font-weight: normal; + font-style: normal; +} + +@font-face { + font-family: 'Bitter'; + src: url("../fonts/bitter.woff2?#iefix") format("woff2"); + font-weight: normal; + font-style: normal; +} +/* +@font-face { + font-family: 'luxi_sansregular'; + src: url("../fonts/luxisr-webfont.woff?#iefix") format("woff"); + font-weight: normal; + font-style: normal; +} + +@font-face { + font-family: 'Oswald'; + src: url('../fonts/oswald_regular.woff2?#iefix') format('woff2'); + font-weight: normal; + font-style: normal; +} +*/ diff --git a/css/_sq_champslibres.scss b/css/_sq_champslibres.scss new file mode 100644 index 0000000..a739c32 --- /dev/null +++ b/css/_sq_champslibres.scss @@ -0,0 +1,907 @@ +/* tous les éléments CSS spécifiques du squelettes Champslibres */ + +/* utilitaires */ +.hidden, .hide, .invisible { + display: none; +} + +.cursor { + cursor: pointer; +} +.row_odd { + background-color: $gray-400; +} + + +/* polices */ +* { font-family: Lato, sans-serif; } +i.fas { font-family: fontawesome; font-style: normal; font-weight: 400; } +h1, .h1, h2, .h2, h3, .h3, h4, .h4, legend, +.h1-like, .h2-like, .h3-like, .h4-like { font-family: Bitter, sans-serif; } + + +/* liens */ +a, a:hover { text-decoration: none; } +a:hover { background-color: #e8e8e8; } + + +#content { + h1, h2, h3 { + text-align: center; + @include respond-to("large-up") { + text-align: initial; + } + } +} +.container { + display: flex; + flex-wrap: wrap; + justify-content: space-between; + fieldset { + clear: none; + margin-bottom: 2rem; + border: solid 1px #BBB; + padding: 1.5rem; + background-color: #FCFCFC; + > div { margin-bottom: 1.2rem;} + } + > div { + width: 100%; + } +} + +.parent_prev_next { + display: flex; + margin-bottom: 1.5rem; + .fleche { + display: flex; + align-items: center; + &.gauche { + padding-right: 1rem; + } + &.droite { + padding-left: 1rem; + } + } + div.ajaxbloc { + width: 100%; + } + h1 { + margin: 0; + } +} + +.encadre{ + padding: 1rem; + border: solid 1px #BBB; +} + +/**********************************************************************/ +/************************* HEADER ******************************/ +/**********************************************************************/ + +#header { + .fas { + font-size: 3.1rem; + cursor: pointer; + } + .fa-times { color: red; } + .btn_hamburger { + align-items: end; + } + .hamburger { + margin-left: auto; + margin-top: auto; + } + .tt_plier { + margin-top: auto; + padding: 1rem; + } + .fas.plier { + cursor: pointer; + font-size: 1.2em; + padding-right: 1.5rem; + opacity: .5; + } + .btn_tags, .btn_mcs { + margin-top: auto; + } +} + +header { + padding: 1.5rem 0 0 0; + align-items: center; + justify-content: space-around; + border-bottom: solid 3px; + h1 { + margin: 0; + } + align-items: center; +} + +#header-droite{ + flex-grow: 1; +} +#sous-titre_site{ + display: none; + @include respond-to("large-up") { + display: block; + } +} + +#btn_mc_tags { + flex-direction: row; + display: flex; + margin-left: auto; + > div { padding-left: 3rem; } +} + + +/* MENU PRINCIPAL */ + + +.burgermenu.nav-button { + height: 1.9rem; + i { + height: 2.2rem; + } + @include respond-to("medium-up") { + height: 3.6rem; + top: 50px; + padding-right: 1rem; + i { + width: 3.6rem; + height: 2.6rem; + } + } +} + +#barnav { + padding: 2rem 0 0 0; + margin-top: -1rem; + ul.js-sous-menu { + top: 50px; + padding: 0 10px; + justify-content: space-between; + @include respond-to("medium-up") { + top: 110px; + } + a { + font-size: 1.9rem; + } + } +} + +/* BREADCRUMB */ + +.breadcrumb { + margin-bottom: 1rem; + ul { + list-style: none; + padding-left: 0; + } + li { + display: inline; + opacity: $opacite_header; + } + @include respond-to("medium-up") { + margin-bottom: 2rem; + } +} + +@include respond-to("medium-up") { + img.spip_logo { + vertical-align: bottom; + margin: 0 2rem .5rem 0; + height: 100px; + } +} +.contact_header { + align-self: end; + margin-bottom: 9px; +} + + +/* menu des mots-clés */ +nav.navbar, nav.tagbar, nav.mcbar { + float: right; + .pardessus { + position: absolute; + z-index: 99; + width: 100%; + } + .groupe_mots, .articles { + background-color: $gray-200; + display: block; + border-top: .2rem solid #FFF; + } + .nom_groupe { + padding: 1rem 1.5rem; + cursor: pointer; + font-size: 1.2em; + display: block; + } + .nom_groupe:hover, .nuage a:hover { + background-color: $gray-400; + } + .deplier_groupe_mots, .un_mot { + display: block; + width: 100%; + text-align: left; + } + ul.mots_groupe { + margin-bottom: 0; + padding-left: 0; + } + .mots_groupe li { + background-color: $gray-300; + display: block; + list-style: none; + border-top: .1rem solid $gray-100; + padding-left: 4rem; + } + .mots_groupe li:hover { + background-color: $gray-500; + } + .nuage a { + margin-right: 1rem; + } +} +nav.navbar, nav.tagbar, nav.mcbar { + width: 100%; + position: relative; +} +nav.navbar.is-opened, nav.mcbar.is-opened, nav.tagbar.is-opened { + margin-top: -2rem; + /*transform: translate(0,0); + transition: 0.3s transform;*/ +} +nav.tagbar .nuage { padding: .5rem; } +.zone_tags { + margin-bottom: 2rem; +} + +@include respond-to("medium-up") { + nav.navbar, nav.tagbar, nav.mcbar { width: 50%; } +} +@include respond-to("large-up") { + nav.navbar, nav.tagbar, nav.mcbar { width: 35%; } +} + +/**********************************************************************/ +/**************************** PAGE ACCUEIL ****************************/ +/**********************************************************************/ + +.la_une { + padding: 1rem; + display: flex; + flex-direction: column; + .video_une { + margin-bottom: 3rem; + width: 100%; + padding: 0; + h3 a { + display: block; + padding-left: 2rem; + } + } + .aside_une { + width: 100%; + padding: 0 0.5rem 1rem; + p { + text-align: justify; + } + @include respond-to("medium-up") { + padding: 0 2rem 1rem; + } + } + @include respond-to("extra-large-up") { + flex-direction: row; + .video_une { + width: 855px; + } + .aside_une { + width: calc(100% - 860px); + } + } +} + +#actualites{ + flex-grow: 1; + margin-left: 2rem; +} +/* ne pas afficher le slider en mode téléphone +.page_sommaire .video_une { + display: none; + @include respond-to("large-up") { + display: block; + } +} +*/ +.btn_une, .une_OK { + display: none; + @include respond-to("medium-up") { + display: block; + } +} + +.container_carte { + margin: 0 2rem; + @include respond-to("extra-large-up") { + margin: 0; + } +} + +.coordonnees_gps { + font-size: 85%; + @include respond-to("tiny-up") { + font-size: 100%; + } +} + + +/* le bronx pour les étiquettes en surimpression sur les photos de biens (blocs/articles) */ +.container_slider { + display: flex; + flex-direction: row-reverse; +} +.container_etiquette { + position: absolute; +} +/* affichage article */ +.surimpression { + font-size: 3rem; + font-style: oblique; + color: #FFF; + background-color: #F00; + position: relative; + z-index: $zindex-navigation; + /* transform: rotate(-45deg); */ + margin: 0; + padding-right: .4rem; + @include respond-to("tiny-up") { + margin: 0; + } + @include respond-to("medium-up") { + font-size: 4rem; + margin: 0; + padding: 0 1rem 0 .4rem; + } +} +.petit .surimpression { + font-size: 1.7rem; + @include respond-to("tiny-up") { + font-size: 2rem; + } + @include respond-to("medium-up") { + font-size: 3rem; + } + +} +/* affichage bloc */ +.une_video { + .surimpression { + font-size: 2.5rem; + } + .petit .surimpression { + font-size: 1.5rem; + padding: .5rem .8rem .5rem .4rem; + @include respond-to("tiny-up") { + font-size: 1.7rem; + } + @include respond-to("large-up") { + font-size: 1.9rem; + } + } +} +/* étiquette verte */ +.green, .vert { + .surimpression { + background-color: $green-500; + } +} + + +/* page sommaire */ +.titre_sommaire { + margin-bottom: 1.5rem; +} +/* le binz pour avoir les blocs de types de biens avant la présentation en mode tel */ +.page_sommaire .content { + display: flex; + flex-direction: column; + .titre_sommaire { + order: 1; + } + .la_une { + order: 2; + } + .liste_des_rubriques { + order: 3; + } + .container_carte { + order: 4; + } + @include respond-to("medium-up") { + display: initial; + } +} +/* les bidouillages de owl carousel */ +.lien_carousel { + @extend .btn--inverse; + h3 { + font-size: 1.3rem; + @include respond-to("small-up") { + font-size: 1.8rem; + } + @include respond-to("medium-up") { + @include font-size(h3); + } +/* display: none;*/ + } + +/* display: block;*/ +} +.la_une { + #demo .owl-slide > .caption { + left: initial; + width: initial; + } + .owl-theme .owl-nav { + display: flex; + justify-content: space-between; + font-size: 5rem; + line-height: 1; + } + .owl-theme .owl-dots { + display: flex; + justify-content: space-around; + margin: -55px auto 1rem; + margin-bottom: 1.2rem; + width: calc(100% - 50px); + @include respond-to("large-up") { + margin: -70px auto 1rem; + } + } + .owl-theme .owl-dots .owl-dot span { + width: initial; + height: initial; + } + .owl-theme .owl-dots .owl-dot { + opacity: .5; + } + .owl-theme .owl-dots .owl-dot.active { + opacity: 1; + } + .owl-theme .owl-nav.disabled, .owl-theme .owl-dots.disabled { + display: none; + } +} + +/* spécifique page présentation d'un bien = page article */ +.page_article .la_une { + h3 { + font-size: 1.8rem; + } + .mots .hashtag { + font-size: 1.2rem; + margin-right: .2rem; + } +} + +/* footer */ +.footer { + margin-top:4rem; + padding-top: 1rem; + border-top:3px solid; + padding-bottom: 2rem; + margin-bottom:0; + text-align: left; + position:relative; + /*.colophon { padding-right: 100px; }*/ + .nav li a, .colophon a { + padding: 10px 15px; + } + .colophon .generator { + max-width: 300px; + } + .lien_cc svg { + width: 30px; + height: 30px; + vertical-align: middle; + } + .nav { padding-left: 0; } + .nav li { display: block; } + .nav li:not(.generator) a { display: block; } + + @include respond-to("small-up") { + .nav li { display: inline-block !important; } + .nav li:not(.generator) a { display: inline; } + .nav li.separ { border: none; } + .nav li.separ:not(:first-of-type)::before { content: " | "; } + .generator { /*position: absolute; top: 1rem; right: 0; max-width: 200px;*/ float: right; } + .nav li a .title { display: none; } + } +} + +/* blocs biens */ +.liste_des_videos { + margin: 1rem 0; + display: flex; + flex-wrap: wrap; + justify-content: space-around; + .une_video { + border: 1px solid #DDD; + padding: 1rem; + margin: 1rem 0; + display: flex; + flex-direction: column; + /*justify-content: space-between;*/ + width: 100%; + .am_mots .tags { + font-size: .8em; + } + .am_tags { + line-height: 1.2rem; + .tags { + font-size: .6em; + &.mrs { + margin-right: .2rem; + } + } + } + .h3-like { + line-height: 1.1em; + min-height: 5rem; + margin: 1rem 0; + } + .une_ligne { + height: 2.75rem; + overflow: hidden; + } + .affmasq { + font-size: 2rem; + cursor: pointer; + } + } + .bloc_contenu { + display: flex; + flex-direction: column; + justify-content: space-between; + min-height: 100%; + } + @include respond-to("tiny-up") { + margin: 1rem; + } + @include respond-to("medium-up") { + .une_video { + width: 345px; + } + } + @include respond-to("large-up") { + .une_video { + width: 380px; + } + } + + @include respond-to("extra-large-up") { + justify-content: space-between; +/* :last-of-type { + margin-right: 0; + } + :first-of-type { + margin-left: 0; + }*/ + } + .bloc_placeholder { + display: none; + @include respond-to("extra-large-up") { + border: none; + display: flex; + } + } +} + +.photo_bien { + display: flex; + justify-content: center; + min-height: 180px; + img { + width: 100%; + } + .ico_defaut { + font-size: 160px; + padding-bottom: 20px; + } +} + +.placeholder { + margin: 1rem auto; + img { + max-height: 320px; + opacity: .1; + } +} + +.liste_des_rubriques { + display: flex; + flex-wrap: wrap!important; + .une_rub { + padding: 1rem; + a { + min-height: 100%; + h2 { + text-align: left; + } + } + } + .une_rub_contenu{ + padding: 1rem; + border: 1px solid #DDD; + display: flex; + flex-direction: column; + justify-content: space-between; + width: 100%; + min-height: 100%; + position: relative; + } + + a.etiquette_rubrique{ + position: absolute; + min-height:0; + top: -1.5rem; + right: 1.5rem; + padding: 0 0.5rem; + text-align: right; + background-color: #999; + color: white; + } + + .resume-article{ + flex-grow: 1; + } + +/* SOMMAIRE tous les bricolages pour la gestion responsive des blocs rubrique du sommaire */ + @include respond-to("small-up") { + .une_rub { width: 250px; } + .photo_bien{ + min-height: 157px; + } + } + @include respond-to("medium-up") { + .une_rub { width: 340px; } + } + @include respond-to("large-up") { +// flex-wrap: nowrap; + .une_rub { width: 340px; } + } + @include respond-to("extra-large-up") { + //flex-wrap: nowrap; + .une_rub { width: 300px; } + .photo_bien{ + min-height: 157px; + } + } +} + +/**********************************************************************/ +/*************************** PAGE RUBRIQUE ****************************/ +/**********************************************************************/ + +.rub_en-tete{ + position: relative; +} + +.rub_en-tete_titre{ + position: absolute; + top: 0; + left: 0; + z-index: 100; + background-color:rgba(0, 0, 0, 0.5); + color: white;; + padding: 2rem; + min-height: 100%; + width: 30%; + display: flex; + flex-direction: column; + justify-content: center; +} + + + +/* blocs mots/ss-rubriques */ +.liste_des_mots { + display: flex; + flex-wrap: wrap; + justify-content: space-around; + .un_mot { + border: 1px solid #DDD; + padding: 1rem; + margin: 1rem; + display: flex; + flex-direction: column; + justify-content: space-between; + width: 100%; + a { + display: flex; + flex-direction: column; + min-height: 100%; + h2 { + margin: auto; + text-align: center; + } + } + } + /* tous les bricolages pour la gestion responsive des blocs rubrique du sommaire */ + @include respond-to("small-up") { + .un_mot { width: 250px; } + } + @include respond-to("medium-up") { + .un_mot { width: 340px; } + } + @include respond-to("large-up") { + //flex-wrap: nowrap; + .un_mot { width: 340px; } + } + @include respond-to("extra-large-up") { + justify-content: space-between; + //flex-wrap: nowrap; +/* :first-of-type { + margin-left: 0; + } + :last-of-type { + margin-right: 0; + }*/ + } +} + + +/* tous formulaires */ +.boutons .submit { + font-size: 2.5rem; +} +.btn.pull-right, .une_OK { + margin-left: 2rem; +} +#editer_gis_oui_rechercher_geocodage{ + @extend .btn--inverse; +} + +/* formulaire de saisie d'un bien */ +.formulaire_editer_bien { + clear: none; + .resume textarea { min-height: 25rem; } + .upload_vignette { + label { display: block; } + .ajaxbloc { + clear: both; + @include respond-to("large-up") { + clear: initial; + } + } + } + .col_droite { + float: right; + width: 33%; + clear: right; + } + .principal, .auteurs { width: 60%; } + .formulaire_uploadhtml5 { + margin-bottom: 0; + float: left; + width: 100%; + .dropzone { + min-height: 50px; + .dz-message { margin: .5em 0; } + } + @include respond-to("large-up") { + width: 25%; + } + } + .photo_bien { + justify-content: left; + .une_photo { + margin-right: 1rem; + display: flex; + flex-direction: column; + max-width: 320px; + } + .boutons_actions { + width: 100%; + display: flex; + justify-content: space-around; + background-color: $gray-200; + a.btn_poubelle { + color: $red-500; + } + i.green { + color: $green-500; + padding: .6rem 1.5rem; + } + a { + margin: 0; + } + a:hover { + background-color: $gray-100; + } + } + } + legend { + width: auto; + } +} +.une_OK i.fas { color: green; } + +/* formulaire de connexion / création de compte */ +#choix_connexion { + fieldset { + clear: none; + margin-bottom: 2rem; + border: solid 1px #BBB; + padding: 1.5rem; + background-color: #FCFCFC; + > div { margin-bottom: 1.2rem;} + } +} +@include respond-to("medium-up") { + #choix_connexion { flex-wrap: nowrap; } +} +.bloc_connexion { + flex-grow: 1; +} +.creer_associer_compte { + flex-grow: 2; +} + +/* spip_admin */ +div#spip-admin { display:none; } +@include respond-to("small-up") { + div#spip-admin { display: initial; } +} + +/* fleche go-top (dans header/dist.html */ +#go_top { + position: fixed; + bottom: 2%; + right: 2%; + font-size: 3em; + opacity: .2; + /*:hover { + }*/ +} +#go_top:hover { + background-color: transparent; + opacity: 1; +} + +/* bloc aside pour les horaires d'ouverture dans la page contact */ +.composition_contact .la_une .aside_une { + width: 100%; + td { + padding-left: 1rem; + } + table { + table-layout: initial; + } + @include respond-to("small-up") { + width: calc(100% - 560px); + } +} + +/* + * modele iframe vidéo responsive + * cf http://blog.theodo.fr/2018/01/responsive-iframes-css-trick/ +*/ +.resp_container { + position: relative; + overflow: hidden; + padding-top: 56.25%; +} +.resp_iframe { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + border: 0; +} diff --git a/css/_utilitaires.scss b/css/_utilitaires.scss new file mode 100644 index 0000000..f2e24e4 --- /dev/null +++ b/css/_utilitaires.scss @@ -0,0 +1,5 @@ +/* __------__ CSS en commun (starter) __------__ */ + + + +/* --- Barre Nav --- */ diff --git a/css/knacss/_config/_mixins.scss b/css/knacss/_config/_mixins.scss new file mode 100644 index 0000000..d6574f0 --- /dev/null +++ b/css/knacss/_config/_mixins.scss @@ -0,0 +1,58 @@ +// font-size Mixin +// compiles to font-size mobile + font-size desktop on small-plus devices +// ex. h2 { @include font-size(h2);} +@mixin font-size($elem) { + $q: map-get($font-sizes, $elem); + $mob: map-get($q, "mobile"); + $desk: map-get($q, "desktop"); + font-size: $mob; + @include respond-to("small-up") { + font-size: $desk; + } +} + +// Grid Mixin +// arguments are : columns number, gutter, min-breakpoint +// ex. .ingrid { @include grid(4, 1rem, 640px); } +@mixin grid($number:1, $gutter:0, $breakpoint:0) { + @supports (display: grid) { + @media (min-width: $breakpoint) { + display: grid; + grid-template-columns: repeat($number, 1fr); + grid-gap: $gutter; + } + } +} + +// Additionnal "utility" breakpoints aliases +// ex. @include respond-to("medium-up") {...} +$bp-aliases: ( + 'tiny' : (max-width: #{$tiny - 1}), + 'small' : (max-width: #{$small - 1}), + 'medium' : (max-width: #{$medium - 1}), + 'large' : (max-width: #{$large - 1}), + 'extra-large' : (max-width: #{$extra-large - 1}), + 'tiny-up' : (min-width: #{$tiny}), + 'small-up' : (min-width: #{$small}), + 'medium-up' : (min-width: #{$medium}), + 'large-up' : (min-width: #{$large}), + 'extra-large-up' : (min-width: #{$extra-large}), + 'retina' : (min-resolution: 2dppx) +); + +// Source : https://www.sitepoint.com/managing-responsive-breakpoints-sass/ +@mixin respond-to($name) { + // If the key exists in the map + @if map-has-key($bp-aliases, $name) { + // Prints a media query based on the value + @media #{inspect(map-get($bp-aliases, $name))} { + @content; + } + } + + // If the key doesn't exist in the map + @else { + @warn "Unfortunately, no value could be retrieved from `#{$breakpoint}`. " + + "Please make sure it is defined in `$breakpoints` map."; + } +} diff --git a/css/knacss/_config/_variables.scss b/css/knacss/_config/_variables.scss new file mode 100644 index 0000000..ada8453 --- /dev/null +++ b/css/knacss/_config/_variables.scss @@ -0,0 +1,228 @@ +// Config file and project variables + +// ---------------- +// Breakpoints zone +// ---------------- + +// Warning: you should use your own values, regardless of the devices +// Best practice is Mobile First: (min-width: $breakpoint) +$tiny : 480px !default; // or 'em' if you prefer, of course +$small : 576px !default; +$medium : 768px !default; +$large : 992px !default; +$extra-large : 1200px !default; + +// ---------- +// Fonts zone +// ---------- + +// Font families +$font-family-base : -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif !default; // system font stack +$font-family-headings : sans-serif !default; // font for h1, h2.. h6 +$font-family-monospace : consolas, courier, monospace !default; // font for code and samples + +// Font sizes (1.6rem value is "16px" equivalent) +$font-size-base : 1.6rem !default; + +$font-sizes: ( + base: ( + mobile : 1.4rem, + desktop : $font-size-base + ), + h1: ( + mobile : 2.8rem, + desktop : 3.2rem + ), + h2: ( + mobile : 2.4rem, + desktop : 2.8rem + ), + h3: ( + mobile : 2.0rem, + desktop : 2.4rem + ), + h4: ( + mobile : 1.8rem, + desktop : 2.0rem + ), + h5: ( + mobile : 1.6rem, + desktop : 1.8rem + ), + h6: ( + mobile : 1.4rem, + desktop : 1.6rem + ) +) !default; + +// Line heights +$line-height-s : 1.3 !default; +$line-height-base : 1.5 !default; +$line-height-l : 1.7 !default; + +// Default margin-bottom +$margin-bottom-base : 1rem !default; +$headings-margin-bottom : $margin-bottom-base /2 !default; +$paragraph-margin-bottom: $margin-bottom-base !default; + +// Font weights +$weight-light : 200 !default; +$weight-book : 300 !default; +$weight-regular : 400 !default; +$weight-medium : 500 !default; +$weight-bold : 700 !default; + +// Activate hyphenation on small screens +$hyphens: false !default; + +// ------------ +// Spacing zone +// ------------ + +// Number of grid-columns +$cols: 12 !default; + +// Gutter +$gutter: null; + +// Grid gutters (for .has-gutter-* classes) +$grid-gutters: ( + '': 1rem, + '-l': 2rem, + '-xl': 4rem +) !default; + +// Spacings +$spacer-tiny : .5rem !default; +$spacer-tiny-plus : .7rem !default; +$spacer-small : 1rem !default; +$spacer-small-plus : 1.5rem !default; +$spacer-medium : 2rem !default; +$spacer-medium-plus : 3rem !default; +$spacer-large : 4rem !default; +$spacer-large-plus : 6rem !default; +$spacer-extra-large : 8rem !default; +$spacer-extra-large-plus : 12rem !default; +$spacer-ultra-large : 16rem !default; +$spacer-ultra-large-plus : 20rem !default; + +// z-indexes +$zindex-navigation : 1000 !default; +$zindex-dropdown : 2000 !default; +$zindex-popover : 3000 !default; +$zindex-tooltip : 4000 !default; +$zindex-modal : 5000 !default; +$zindex-notification : 6000 !default; +$zindex-debug : 7000 !default; + +// ---------- +// Color zone +// ---------- + +// Color names +$white : #fff !default; +$gray-100 : #f8f9fa !default; +$gray-200 : #e7e9ed !default; +$gray-300 : #dee2e6 !default; +$gray-400 : #ced4da !default; +$gray-500 : #acb3c2 !default; +$gray-600 : #727e96 !default; +$gray-700 : #454d5d !default; +$gray-800 : #333 !default; +$gray-900 : #212529 !default; +$black : #000 !default; + +$blue-300 : #5BC0DE !default; +$blue-500 : #0275D8 !default; +$green-500 : #5CB85C !default; +$orange-500 : #F0AD4E !default; +$red-500 : #D9534F !default; + +// Semantic colors +$color-brand : $green-500 !default; +$color-primary : $blue-500 !default; +$color-success : $green-500 !default; +$color-info : $blue-300 !default; +$color-warning : $orange-500 !default; +$color-danger : $red-500 !default; +$color-inverse : $gray-800 !default; +$color-ghost : transparent !default; +$color-muted : $gray-200 !default; + +$color-base : $gray-900 !default; +$background-base : $white !default; + +$forms-color : $gray-800 !default; + +// --------------- +// Components zone +// --------------- + +// Component: links +$link-color : $gray-800 !default; +$link-color-hover : darken($link-color, 15%) !default; +$link-decoration : underline !default; +$link-decoration-hover : underline !default; + +// Global border-radius +$border-radius: 0 !default; + +// Component: quotes +$quote-color : $gray-200 !default; + +// Component: arrows +$arrow-color : $black !default; + +// Components: checkboxes, radios, switches +$checkbox-color: $white !default; +$checkbox-background: $gray-800 !default; +$checkbox-size: 2rem !default; +$checkbox-border-radius: 4px !default; +$radio-color: $gray-800 !default; +$radio-background: $white !default; +$switch-color: $white !default; +$switch-background: $gray-800 !default; +$switch-size: 2rem !default; +$switch-border-radius: 3em !default; + +// Component: tables +$table-border : $gray-500 !default; +$table-caption-color : $gray-800 !default; +$table-background : transparent !default; +$table-head-color : $color-base !default; +$table-head-background : transparent !default; +$table-footer-color : $color-base !default; +$table-footer-background : transparent !default; + +// Components: buttons, badges, alerts color variants list +// Convention is: name - background-color - color - border +$variants-list: ( + (primary, $color-primary, $white, none), + (success, $color-success, $white, none), + (info, $color-info, $black, none), + (warning, $color-warning, $black, none), + (danger, $color-danger, $white, none), + (inverse, $color-inverse, $white, none), + (ghost, $color-ghost, $white, 0 0 0 1px $white inset) +) !default; + +// Component: tabs +$tabs-border : $gray-200 !default; +$tabs-active-border : $gray-800 !default; +$tabs-color : $color-base !default; +$tabs-active-color : $gray-800 !default; +$tabs-background : transparent !default; +$tabs-active-background : transparent !default; +$tabs-border-radius : 0 !default; + +// Component: nav burger button +$burger-color : $gray-800 !default; +$burger-background : transparent !default; +$burger-hover-background : transparent !default; +$burger-size : 2.6rem !default; +$burger-weight : 5px !default; // size of stripes +$burger-padding : 0 !default; + +// personnalisations pour sq_immomardi +$opacite_header : 0.6; +$header-height:205px; \ No newline at end of file diff --git a/css/knacss/_knacss.scss b/css/knacss/_knacss.scss new file mode 100644 index 0000000..e103caf --- /dev/null +++ b/css/knacss/_knacss.scss @@ -0,0 +1,64 @@ +/*! +* www.KNACSS.com v7.1.2 (january, 30 2019) @author: Alsacreations, Raphael Goetter +* Licence WTFPL http://www.wtfpl.net/ +*/ + +/* ----------------------------- */ +/* ==Table Of Content */ +/* ----------------------------- */ + +/* +1- Reboot (basic reset) +2- Libraries : + - Base + - Print + - Layout (alignment, modules, positionning) + - Utilities (width and spacers helpers) + - Responsive helpers + - WordPress reset (disabled by default) + - Grillade (Grid System) +3- Components : + - Media object + - Skip Links for accessibility + - Tables + - Forms + - Buttons + - Checkbox + - Tabs + - Tags + - Badges + - Alerts +*/ + +@import "_vendor/reboot"; // Bootstrap reboot (basic reset) (CSS file renamed and imported as if it was a partial because of libsass) + +// WARNING : you should comment the following @import (variables) +// and move variables file from knacss folder to your own project folder! +@import "_config/variables"; + +@import "_config/mixins"; + +// Core Libraries +@import "_library/base"; // basic styles +@import "_library/print"; // print quick reset +@import "_library/layout"; // alignment, modules, positionning +@import "_library/utilities"; // width and spacer helpers +@import "_library/responsive"; // Responsive Web Design helpers +// @import "_library/wordpress"; // WordPress reset and basic styles + +// New Grid System by default (Grid Layout). If you prefer old "Flexbox" Grid System, replace file with "_library/grillade-flex" +// Note that none of these files are prefixed by an underscore, in order to compile them. +@import "_library/grillade-grid"; // grid system with Grid Layout + +// Components +@import "components/media"; // media object +@import "components/skip-links"; // skip links +@import "components/tables"; // data tables consistency +@import "components/forms"; // forms consistency and styles +@import "components/buttons"; // buttons styles +@import "components/checkbox"; // checkbox, radio, switch styles +@import "components/tabs"; // tabs styles +@import "components/arrows"; // arrows styles +@import "components/tags"; // tags styles +@import "components/badges"; // badges styles +@import "components/alerts"; // alerts styles diff --git a/css/knacss/_library/_base.scss b/css/knacss/_library/_base.scss new file mode 100644 index 0000000..31b800d --- /dev/null +++ b/css/knacss/_library/_base.scss @@ -0,0 +1,274 @@ +/* ----------------------------- */ +/* ==Base (basic styles) */ +/* ----------------------------- */ + +/* disable animations styles when reduced rotion is enabled */ +@media (prefers-reduced-motion: reduce) { + * { + animation: none !important; + transition: none !important; + } +} + +/* switching to border-box model for all elements */ +html { + box-sizing: border-box; +} + +*, +*::before, +*::after { + box-sizing: inherit; + /* avoid min-width: auto on flex and grid children */ + min-width: 0; + min-height: 0; +} + +html { + /* set base font-size to equiv "10px", which is adapted to rem unit */ + font-size: 62.5%; + /* IE9-IE11 math fixing. See http://bit.ly/1g4X0bX */ + font-size: calc(1em * 0.625); +} + +body { + margin: 0; + @include font-size(base); + background-color: $background-base; + color: $color-base; + font-family: $font-family-base; + line-height: $line-height-base; +} + +/* Links */ +a { + color: $link-color; + text-decoration: $link-decoration; + + &:focus, + &:hover, + &:active { + color: $link-color-hover; + text-decoration: $link-decoration-hover; + } +} + +/* Headings */ +h1, .h1-like { + @include font-size(h1); + @if variable_exists(font-family-headings) and $font-family-headings != $font-family-base{ + font-family: $font-family-headings; + } + font-weight: $weight-medium; +} + +h2, .h2-like { + @include font-size(h2); + @if variable_exists(font-family-headings) and $font-family-headings != $font-family-base{ + font-family: $font-family-headings; + } + font-weight: $weight-medium; +} + +h3, .h3-like { + @include font-size(h3); + font-weight: $weight-medium; +} + +h4, .h4-like { + @include font-size(h4); + font-weight: $weight-medium; +} + +h5, .h5-like { + @include font-size(h5); + font-weight: $weight-medium; +} + +h6, .h6-like { + @include font-size(h6); + font-weight: $weight-medium; +} + +/* Vertical rythm */ +h1, +h2, +h3, +h4, +h5, +h6, +dd { + margin-top: 0; + margin-bottom: $headings-margin-bottom; +} + +p, +address, +ol, +ul, +dl, +blockquote, +pre { + margin-top: 0; + margin-bottom: $paragraph-margin-bottom; +} + +/* Avoid margins on nested elements */ +li p, +li .p-like, +li ul, +li ol, +ol ol, +ul ul { + margin-top: 0; + margin-bottom: 0; +} + +/* Max values */ +img, +table, +td, +blockquote, +code, +pre, +textarea, +input, +video, +svg { + max-width: 100%; +} + +img { + height: auto; +} + +/* Styling elements */ +ul, +ol { + padding-left: 2em; +} + +img { + vertical-align: middle; +} + +em, +.italic, +address, +cite, +i, +var { + font-style: italic; +} + +code, +kbd, +mark { + border-radius: 2px; +} + +kbd { + padding: 0 2px; + border: 1px solid #999; +} + +pre { + tab-size: 2; +} + +code { + padding: 2px 4px; + background: rgba(0, 0, 0, 0.04); + color: #b11; +} + +pre code { + padding: 0; + background: none; + color: inherit; + border-radius: 0; +} + +mark { + padding: 2px 4px; +} + +sup, +sub { + vertical-align: 0; +} + +sup { + bottom: 1ex; +} + +sub { + top: 0.5ex; +} + +blockquote { + position: relative; + padding-left: 3em; + min-height: 2em; +} + +blockquote::before { + content: "\201C"; + position: absolute; + left: 0; + top: 0; + font-family: georgia, serif; + font-size: 5em; + height: .4em; + line-height: .9; + color: $quote-color; +} + +blockquote > footer { + margin-top: .75em; + font-size: 0.9em; + color: rgba(0, 0, 0, .7); + + &::before { + content: "\2014 \0020"; + } +} + +q { + font-style: normal; +} + +q, +.q { + quotes: "“" "”" "‘" "’"; + + &:lang(fr) { + quotes: "«\00a0" "\00a0»" "“" "”"; + } +} + +hr { + display: block; + clear: both; + height: 1px; + margin: 1em 0 2em; + padding: 0; + border: 0; + color: #ccc; + background-color: #ccc; +} + +blockquote, +figure { + margin-left: 0; + margin-right: 0; +} + +code, +pre, +samp, +kbd { + white-space: pre-wrap; + font-family: $font-family-monospace; + line-height: normal; +} diff --git a/css/knacss/_library/_grillade-flex.scss b/css/knacss/_library/_grillade-flex.scss new file mode 100644 index 0000000..283ca5e --- /dev/null +++ b/css/knacss/_library/_grillade-flex.scss @@ -0,0 +1,146 @@ +/* ---------------------------------- */ +/* ==Grillade v6 */ +/* ---------------------------------- */ +/* IMPORTANT : this is the KNACSS v6 old Grid System based on Flexbox */ +/* You only need it for projects on older browsers (IE11-) */ + +// Responsive breakpoints variables + +// Warning : you should use your own values, regardless of the devices +// Best practice : (max-width: ($BP - 1)) and (min-width: $BP) + +$tiny: 480px !default; // or 'em' if you prefer, of course +$small: 576px !default; +$medium: 768px !default; +$large: 992px !default; +$extra-large: 1200px !default; +$cols: 12 !default; + +// gutter values for grid layouts. Unit can be: %, px, em, rem +$grid-gutters: ( '': 1rem, '-l': 2rem, '-xl': 4rem ); +// IEfixing, see +// https://github.com/alsacreations/KNACSS/issues/133; +$iefix: 0.01px; +@media (min-width: $small) { + [class*=" grid-"], + [class^="grid-"] { + display: flex; + flex-direction: row; + flex-wrap: wrap; + + & > * { + box-sizing: border-box; + min-width: 0; + min-height: 0; + } + } +} +// Multi-line grid constructor +// example : .grid-perso { @include grid(12, 3rem); } +@mixin grid($grid-number: 1, $own-gutter: 0) { + & > * { + width: calc(100% / #{$grid-number} - #{$iefix}); + } + @each $affix, $size in $grid-gutters { + &.has-gutter#{$affix} { + margin-right: -$size / 2; + margin-left: -$size / 2; + + & > * { + width: calc(100% / #{$grid-number} - #{$size} - #{$iefix}); + margin-right: $size / 2; + margin-left: $size / 2; + } + } + } + @if ($own-gutter != 0) { + margin-right: -$own-gutter / 2; + margin-left: -$own-gutter / 2; + + & > * { + width: calc(100% / #{$grid-number} - #{$own-gutter} - #{$iefix}); + margin-right: $own-gutter / 2; + margin-left: $own-gutter / 2; + } + } +} +// Mono-line grid constructor (.grid) +@media (min-width: $small) { + .grid, + .grid--reverse { + display: flex; + + & > * { + flex: 1 1 0%; + box-sizing: border-box; + min-width: 0; + min-height: 0; + } + @each $affix, $size in $grid-gutters { + &.has-gutter#{$affix} > * + * { + margin-left: calc(#{$size} - #{$iefix}); + } + } + } +} +// Constructing grids : will be compiled in CSS +@media (min-width: $small) { + @for $i from 2 through $cols { + [class*="grid-#{$i}"] { + @include grid(#{$i}, 0); + } + } +} + +// Grid offsets +.push { + margin-left: auto !important; +} + +.pull { + margin-right: auto !important; +} + +// Grid order +.item-first { + order: -1; +} + +.item-last { + order: 1; +} + +[class*="grid-"][class*="--reverse"] { + flex-direction: row-reverse; +} +// sizing individual children +@media (min-width: $small) { + @each $flow, $divider in ("full" "1"), ("one-half" "2"), ("one-third" "3"), ("one-quarter" "4"), ("one-fifth" "5"), ("one-sixth" "6"), ("two-thirds" "3 * 2"), ("three-quarters" "4 * 3"), ("five-sixths" "6 * 5") { + .#{$flow} { + flex: 0 0 auto; + width: calc(100% / #{$divider} - #{$iefix}); + } + @each $affix, $size in $grid-gutters { + .has-gutter#{$affix} > .#{$flow} { + width: calc(100% / #{$divider} - #{$size} - #{$iefix}); + } + } + } +} +/* Responsive Small Breakpoint */ +// -small-X suffix means "X columns on small-medium screen" +// example : .grid-4-small-2 will be 1 column (tiny and down) then 2 columns (until medium) then 4 columns +@media (min-width: $small) and (max-width: ($medium - 1)) { + @for $i from 1 through 4 { + [class*="-small-#{$i}"] { + & > * { + width: calc(100% / #{$i} - #{$iefix}); + } + @each $affix, $size in $grid-gutters { + &.has-gutter#{$affix} > * { + width: calc(100% / #{$i} - #{$size} - #{$iefix}); + } + } + } + } +} diff --git a/css/knacss/_library/_grillade-grid.scss b/css/knacss/_library/_grillade-grid.scss new file mode 100644 index 0000000..3780ed0 --- /dev/null +++ b/css/knacss/_library/_grillade-grid.scss @@ -0,0 +1,118 @@ +/* --------------------------------------- */ +/* ==Grillade : ultra light Grid System */ +/* --------------------------------------- */ +// WARNING: THIS IS NOT A COMPLETE GRID FRAMEWORK, just ultra light Grid System +// if you need complex Grid : +// 1- use vanilla CSS Grid Layout spec (perfect for you) +// 2- use Bootstrap (good luck) + +// use these variables only for a standalone Grillade +// in KNACSS, you shall modify variables file instead +$tiny: 480px !default; +$medium: 768px !default; +$cols: 12 !default; + +// classic Grid +[class*=" grid-"], +[class^="grid-"] { + @media (min-width: $tiny) { + display: grid; + grid-auto-flow: dense; + + // gutters + @if variable_exists(grid-gutters) { + $gutter: $grid-gutters !global; + } + @else { + $gutter: ( '': 1rem, '-l': 2rem, '-xl': 4rem ) !global; + } + @each $affix, $size in $gutter { + &.has-gutter#{$affix} { + grid-gap: $size; + } + } + } +} + +// autogrid +.autogrid, +.grid { + @media (min-width: $tiny) { + display: grid; + grid-auto-flow: column; + grid-auto-columns: 1fr; + + // gutters + @if variable_exists(grid-gutters) { + $gutter: $grid-gutters !global; + + } @else { + $gutter: ( '': 1rem, '-l': 2rem, '-xl': 4rem ) !global; + } + @each $affix, $size in $gutter { + &.has-gutter#{$affix} { + grid-column-gap: $size; + } + } + } +} + +// grid constructor (.grid-2 to .grid-$cols) +@for $i from 2 through $cols { + [class*="grid-#{$i}"] { + grid-template-columns: repeat(#{$i}, 1fr); + } +} + +// grid items constructor (.col-1 to .col-$cols, .row-1 to .row-$cols) +@for $i from 1 through $cols { + [class*="col-#{$i}"] { + grid-column: auto / span #{$i}; + } + + [class*="row-#{$i}"] { + grid-row: auto / span #{$i}; + } +} + +/* intermediate breakpoints */ +// -small-X suffix means "X columns when < medium screen" +// example : .grid-4-small-2 will be 1 column (< tiny) then 2 columns (< medium) then 4 columns +@media (min-width: $tiny) and (max-width: ($medium - 1)) { + @for $i from 1 through 4{ + [class*="grid-"][class*="-small-#{$i}"] { + grid-template-columns: repeat(#{$i}, 1fr); + } + + [class*="col-"][class*="-small-#{$i}"] { + grid-column: auto / span #{$i}; + } + } + + [class*="-small-all"] { + grid-column: 1 / -1; + } +} + +// grid order +.item-first { + order: -1; +} + +.item-last { + order: 1; +} + +// grid offset +.grid-offset { + visibility: hidden; +} + +// spanning all columns or rows +.col-all { + grid-column: 1 / -1; +} + +.row-all { + grid-row: 1 / -1; +} diff --git a/css/knacss/_library/_layout.scss b/css/knacss/_library/_layout.scss new file mode 100644 index 0000000..38dec9d --- /dev/null +++ b/css/knacss/_library/_layout.scss @@ -0,0 +1,65 @@ +/* ----------------------------- */ +/* ==Global Micro Layout */ +/* ----------------------------- */ + +/* Flexbox layout is KNACSS choice +http://www.alsacreations.com/tuto/lire/1493-css3-flexbox-layout-module.html +*/ + +.flex-container, +.d-flex { + display: flex; + flex-wrap: wrap; +} + +.flex-container--row, +.flex-row { + @extend .flex-container; + flex-direction: row; +} + +.flex-container--column, +.flex-column { + @extend .flex-container; + flex-direction: column; +} + +.flex-container--row-reverse, +.flex-row-reverse { + @extend .flex-container; + flex-direction: row-reverse; + justify-content: flex-end; +} + +.flex-container--column-reverse, +.flex-column-reverse { + @extend .flex-container; + flex-direction: column-reverse; + justify-content: flex-end; +} + +.flex-item-fluid, +.item-fluid { + flex: 1 1 0%; +} + +.flex-item-first, +.item-first { + order: -1; +} + +.flex-item-medium, +.item-medium { + order: 0; +} + +.flex-item-last, +.item-last { + order: 1; +} + +.flex-item-center, +.item-center, +.mr-auto { + margin: auto; +} diff --git a/css/knacss/_library/_print.scss b/css/knacss/_library/_print.scss new file mode 100644 index 0000000..5d45647 --- /dev/null +++ b/css/knacss/_library/_print.scss @@ -0,0 +1,98 @@ +/* ----------------------------- */ +/* ==Print (quick print reset) */ +/* ----------------------------- */ + +@media print { + * { + background: transparent !important; + box-shadow: none !important; + text-shadow: none !important; + } + + body { + width: auto; + margin: auto; + font-family: serif; + font-size: 12pt; + } + + p, + .p-like, + h1, + .h1-like, + h2, + .h2-like, + h3, + .h3-like, + h4, + .h4-like, + h5, + .h5-like, + h6, + .h6-like, + blockquote, + label, + ul, + ol { + color: #000; + margin: auto; + } + + .print { + display: block; + } + + .no-print { + display: none; + } + + /* no orphans, no widows */ + p, + .p-like, + blockquote { + orphans: 3; + widows: 3; + } + + /* no breaks inside these elements */ + blockquote, + ul, + ol { + page-break-inside: avoid; + } + + /* page break before main headers + h1, + .h1-like { + page-break-before: always; + } + */ + + /* no breaks after these elements */ + h1, + .h1-like, + h2, + .h2-like, + h3, + .h3-like, + caption { + page-break-after: avoid; + } + + a { + color: #000; + } + + /* displaying URLs + a[href]::after { + content: " (" attr(href) ")"; + } + */ + + a[href^="javascript:"], + a[href^="#"] { + &::after { + content: ""; + } + } +} diff --git a/css/knacss/_library/_responsive.scss b/css/knacss/_library/_responsive.scss new file mode 100644 index 0000000..58de0d5 --- /dev/null +++ b/css/knacss/_library/_responsive.scss @@ -0,0 +1,284 @@ +/* -------------------------- */ +/* ==Responsive helpers */ +/* -------------------------- */ + +/* large screens */ +/* ------------- */ + +@media (min-width: $large) { + + /* layouts for large screens */ + .large-hidden { + display: none !important; + } + + .large-visible { + display: block !important; + } + + .large-no-float { + float: none; + } + + .large-inbl { + display: inline-block; + float: none; + vertical-align: top; + } + + /* widths for large screens */ + .large-w25 { + width: 25% !important; + } + + .large-w33 { + width: 33.333333% !important; + } + + .large-w50 { + width: 50% !important; + } + + .large-w66 { + width: 66.666666% !important; + } + + .large-w75 { + width: 75% !important; + } + + .large-w100, + .large-wauto { + display: block !important; + float: none !important; + clear: none !important; + width: auto !important; + margin-left: 0 !important; + margin-right: 0 !important; + border: 0; + } + + /* margins for large screens */ + .large-man, + .large-ma0 { + margin: 0 !important; + } +} + +/* medium screens */ +/* -------------- */ + +@media (min-width: $medium) and (max-width: ($large - 1)) { + + /* layouts for medium screens */ + .medium-hidden { + display: none !important; + } + + .medium-visible { + display: block !important; + } + + .medium-no-float { + float: none; + } + + .medium-inbl { + display: inline-block; + float: none; + vertical-align: top; + } + + /* widths for medium screens */ + .medium-w25 { + width: 25% !important; + } + + .medium-w33 { + width: 33.333333% !important; + } + + .medium-w50 { + width: 50% !important; + } + + .medium-w66 { + width: 66.666666% !important; + } + + .medium-w75 { + width: 75% !important; + } + + .medium-w100, + .medium-wauto { + display: block !important; + float: none !important; + clear: none !important; + width: auto !important; + margin-left: 0 !important; + margin-right: 0 !important; + border: 0; + } + + /* margins for medium screens */ + .medium-man, + .medium-ma0 { + margin: 0 !important; + } +} + +/* small screens */ +/* ------------- */ + +@media (min-width: $small) and (max-width: ($medium - 1)) { + + /* layouts for small screens */ + .small-hidden { + display: none !important; + } + + .small-visible { + display: block !important; + } + + .small-no-float { + float: none; + } + + .small-inbl { + display: inline-block; + float: none; + vertical-align: top; + } + + /* widths for small screens */ + .small-w25 { + width: 25% !important; + } + + .small-w33 { + width: 33.333333% !important; + } + + .small-w50 { + width: 50% !important; + } + + .small-w66 { + width: 66.666666% !important; + } + + .small-w75 { + width: 75% !important; + } + + .small-w100, + .small-wauto { + display: block !important; + float: none !important; + clear: none !important; + width: auto !important; + margin-left: 0 !important; + margin-right: 0 !important; + border: 0; + } + + /* margins for small screens */ + .small-man, + .small-ma0 { + margin: 0 !important; + } + + .small-pan, + .small-pa0 { + padding: 0 !important; + } + +} + +/* tiny screens */ +/* ------------ */ + +@media (max-width: $small - 1) { + + /* quick small resolution reset */ + .mod, + .col, + fieldset { + display: block !important; + float: none !important; + clear: none !important; + width: auto !important; + margin-left: 0 !important; + margin-right: 0 !important; + border: 0; + } + + .flex-container { + flex-direction: column; + } + + /* layouts for tiny screens */ + .tiny-hidden { + display: none !important; + } + + .tiny-visible { + display: block !important; + } + + .tiny-no-float { + float: none; + } + + .tiny-inbl { + display: inline-block; + float: none; + vertical-align: top; + } + + /* widths for tiny screens */ + .tiny-w25 { + width: 25% !important; + } + + .tiny-w33 { + width: 33.333333% !important; + } + + .tiny-w50 { + width: 50% !important; + } + + .tiny-w66 { + width: 66.666666% !important; + } + + .tiny-w75 { + width: 75% !important; + } + + .tiny-w100, + .tiny-wauto { + display: block !important; + float: none !important; + clear: none !important; + width: auto !important; + margin-left: 0 !important; + margin-right: 0 !important; + border: 0; + } + + /* margins for tiny screens */ + .tiny-man, + .tiny-ma0 { + margin: 0 !important; + } + + .tiny-pan, + .tiny-pa0 { + padding: 0 !important; + } + +} diff --git a/css/knacss/_library/_utilities.scss b/css/knacss/_library/_utilities.scss new file mode 100644 index 0000000..4efb22d --- /dev/null +++ b/css/knacss/_library/_utilities.scss @@ -0,0 +1,462 @@ +/* ---------------------------------- */ +/* ==Helpers */ +/* ---------------------------------- */ + +/* Typo Helpers */ +/* ------------- */ + +.u-bold { + font-weight: $weight-bold; +} + +.u-italic { + font-style: italic; +} + +.u-normal { + font-weight: normal; + font-style: normal; +} + +.u-uppercase { + text-transform: uppercase; +} + +.u-lowercase { + text-transform: lowercase; +} + +.u-smaller { + font-size: 0.6em; +} + +.u-small { + font-size: 0.8em; +} + +.u-big { + font-size: 1.2em; +} + +.u-bigger { + font-size: 1.5em; +} + +.u-biggest { + font-size: 2em; +} + +.u-txt-wrap { + word-wrap: break-word; + overflow-wrap: break-word; + hyphens: auto; +} + +.u-txt-ellipsis { + white-space: nowrap; + text-overflow: ellipsis; +} + +/* text and contents alignment */ + +.txtleft, +.u-txt-left { + text-align: left; +} + +.txtright, +.u-txt-right { + text-align: right; +} + +.txtcenter, +.u-txt-center { + text-align: center; +} + +@if variable-exists(hyphens) and $hyphens==true { + @media (max-width: ($small - 1)) { + div, + textarea, + table, + td, + th, + code, + pre, + samp { + word-wrap: break-word; + overflow-wrap: break-word; + hyphens: auto; + } + } +} + +/* blocks that need to be placed under floats */ + +.clear, +.u-clear { + clear: both; +} + +/* blocks that must contain floats */ + +.clearfix, +.u-clearfix { + &::after { + content: ""; + display: table; + clear: both; + border-collapse: collapse; + } +} + +/* simple blocks alignment */ + +.left, +.u-left { + margin-right: auto; +} + +.right, +.u-right { + margin-left: auto; +} + +.center, +.u-center { + margin-left: auto; + margin-right: auto; +} + +/* Global Micro Layout */ +/* ------------------- */ + +/* module, gains superpower "BFC" Block Formating Context */ + +.mod, +.u-mod, +.bfc, +.u-bfc { + overflow: hidden; +} + +/* floating elements */ + +.fl, +.u-fl { + float: left; +} + +img.fl, +img.u-fl { + margin-right: $spacer-small; +} + +.fr, +.u-fr { + float: right; +} + +img.fr, +img.u-fr { + margin-left: $spacer-small; +} + +img.fl, +img.fr, +img.u-fl, +img.u-fr { + margin-bottom: $spacer-tiny; +} + +/* inline-block */ + +.inbl, +.u-inbl { + display: inline-block; + vertical-align: top; +} + +/* State Helpers */ +/* ------------- */ + +/* invisible for all */ +.is-hidden, +.js-hidden, +[hidden] { + display: none; +} + +/* hidden but not for an assistive technology like a screen reader, Yahoo! method */ +.visually-hidden { + position: absolute !important; + border: 0 !important; + height: 1px !important; + width: 1px !important; + padding: 0 !important; + overflow: hidden !important; + clip: rect(0, 0, 0, 0) !important; +} + +.is-disabled, +.js-disabled, +[disabled], +.is-disabled ~ label, +[disabled] ~ label { + opacity: 0.5; + cursor: not-allowed !important; + filter: grayscale(1); +} + +ul { + &.is-unstyled, + &.unstyled { + list-style: none; + padding-left: 0; + } +} + +.color--inverse { + color: $white; +} + +/* Width Helpers */ +/* ------------- */ + +/* blocks widths (percentage and pixels) */ +$i: 100; + +@while $i > 0 { + .w#{$i} { + width: $i * 1%; + } + $i: $i - 5; +} +.w66 { + width: calc(100% / 3 * 2); +} +.w33 { + width: calc(100% / 3); +} + +$i: 1000; + +.wauto { + width: auto; +} + +.w960p { + width: 960px; +} + +.mw960p { + max-width: 960px; +} + +.w1140p { + width: 1140px; +} + +.mw1140p { + max-width: 1140px; +} + +@while $i > 0 { + .w#{$i}p { + width: $i * 1px; + } + $i: $i - 50; +} + +/* Spacing Helpers */ +/* --------------- */ + +.man, +.ma0 { + margin: 0; +} + +.pan, +.pa0 { + padding: 0; +} + +.mas { + margin: $spacer-small; +} + +.mam { + margin: $spacer-medium; +} + +.mal { + margin: $spacer-large; +} + +.pas { + padding: $spacer-small; +} + +.pam { + padding: $spacer-medium; +} + +.pal { + padding: $spacer-large; +} + +.mtn, +.mt0 { + margin-top: 0; +} + +.mts { + margin-top: $spacer-small; +} + +.mtm { + margin-top: $spacer-medium; +} + +.mtl { + margin-top: $spacer-large; +} + +.mrn, +.mr0 { + margin-right: 0; +} + +.mrs { + margin-right: $spacer-small; +} + +.mrm { + margin-right: $spacer-medium; +} + +.mrl { + margin-right: $spacer-large; +} + +.mbn, +.mb0 { + margin-bottom: 0; +} + +.mbs { + margin-bottom: $spacer-small; +} + +.mbm { + margin-bottom: $spacer-medium; +} + +.mbl { + margin-bottom: $spacer-large; +} + +.mln, +.ml0 { + margin-left: 0; +} + +.mls { + margin-left: $spacer-small; +} + +.mlm { + margin-left: $spacer-medium; +} + +.mll { + margin-left: $spacer-large; +} + +.mauto { + margin: auto; +} + +.mtauto { + margin-top: auto; +} + +.mrauto { + margin-right: auto; +} + +.mbauto { + margin-bottom: auto; +} + +.mlauto { + margin-left: auto; +} + +.ptn, +.pt0 { + padding-top: 0; +} + +.pts { + padding-top: $spacer-small; +} + +.ptm { + padding-top: $spacer-medium; +} + +.ptl { + padding-top: $spacer-large; +} + +.prn, +.pr0 { + padding-right: 0; +} + +.prs { + padding-right: $spacer-small; +} + +.prm { + padding-right: $spacer-medium; +} + +.prl { + padding-right: $spacer-large; +} + +.pbn, +.pb0 { + padding-bottom: 0; +} + +.pbs { + padding-bottom: $spacer-small; +} + +.pbm { + padding-bottom: $spacer-medium; +} + +.pbl { + padding-bottom: $spacer-large; +} + +.pln, +.pl0 { + padding-left: 0; +} + +.pls { + padding-left: $spacer-small; +} + +.plm { + padding-left: $spacer-medium; +} + +.pll { + padding-left: $spacer-large; +} diff --git a/css/knacss/_library/_wordpress.scss b/css/knacss/_library/_wordpress.scss new file mode 100644 index 0000000..dbdd5e9 --- /dev/null +++ b/css/knacss/_library/_wordpress.scss @@ -0,0 +1,248 @@ +/* ----------------------------- */ +/* ==WordPress reset */ +/* ----------------------------- */ + +/* +Author: Geoffrey Crofte, Alsacréations +Contributors: Automattic, Geoffrey Crofte +Description: Reset styles for WordPress usage of KNACSS +*/ + +// current menu elements +.current_page_item > a { +} +.current-menu-item > a { +} +.current_page_ancestor > a { +} + +// blocks of content navigation +.comment-navigation, +.paging-navigation, +.post-navigation { + overflow: hidden; + margin: 0 0 1.5em; + + & .nav-previous { + float: left; + width: 50%; + } + + & .nav-next { + float: right; + width: 50%; + text-align: right; + } +} + +// class in img elements +.alignnone { + margin: .25em 1.5em 1.5em 0; +} + +.aligncenter { + clear: both; + display: block; + margin: 1.5em auto; +} + +.alignleft { + float: left; + margin: 0 1.5em .25em 0; +} + +.alignright { + float: right; + margin: 0 0 .25em 1.5em; +} + +.entry-content, +.comment-content { + clear: both; + + &::after, + &::before { + content: ""; + display: table; + } +} + +.widget + .widget { + margin: 1.5em 0 0; +} + +// usage example: +.widget select { + max-width: 100%; +} + +/* === 5.1 Posts - post_class === */ + +// featured content +.sticky { +} + +// attachment post +.attachment { +} + +// format of post +.format- { + &aside { + } + &gallery { + } + &link { + } + &image { + } + "e { + } + &status { + } + &video { + } + &chat { + } +} + +// class for a tag +.tag- { + &name-of-tag { + } +} + +// class for category +.category- { + &name-of-category { + } +} + +/* === 5.2 Pages - body_class === */ + +// front page +.home { + // if display posts + &.blog { + } + + // if static page + &.page { + } +} + +// page displays posts +.blog { + // if is frontpage + &.home { + } + + // if static page + &.page { + } +} + +// simple page +.page { +} + +// page of single post +.single { +} + +// page of archives +.archive { +} + +// page of search +.search { + // if has results + .search-results { + } + + // if has no results + .search-no-results { + } +} + +// page 404 +.error404 { +} + +// user logged in +.logged-in { +} + +// text direction if right-to-left +// prefer rtl.css: http://codex.wordpress.org/Right-to-Left_Language_Support +.rtl { +} + +/* === 5.3 Posts and Pages - Contents === */ + +.hentry { + margin: 0 0 1.5em; +} + +.page-content, +.entry-content, +.entry-summary { + margin: 1.5em 0 0; +} + +.page-links { + clear: both; + margin: 0 0 1.5em; +} + +.comment-content a { + word-wrap: break-word; +} + +.bypostauthor { + // some make-the-logo-bigger styles +} + +img.wp-smiley { + margin-bottom: 0; + margin-top: 0; + padding: 0; + border: none; +} + +.wp-caption { + max-width: 100%; + margin-bottom: 1.5em; +} + +.wp-caption img { + display: block; + margin: 0 auto; +} + +.wp-caption-text { + margin: 1em 0; + text-align: center; +} + +.gallery { + margin-bottom: 1.5em; +} + +.gallery-item { + display: inline-block; + width: 100%; + text-align: center; + vertical-align: top; + + @for $i from 2 through 9 { + .gallery-columns-#{$i} & { + $w: floor(10000 / $i) / 100; + max-width: unquote($w + '%'); + } + } +} + +.gallery-caption { + display: block; +} diff --git a/css/knacss/_vendor/_reboot.scss b/css/knacss/_vendor/_reboot.scss new file mode 100644 index 0000000..7b824bd --- /dev/null +++ b/css/knacss/_vendor/_reboot.scss @@ -0,0 +1,334 @@ +*, +*::before, +*::after { + box-sizing: border-box; +} + +html { + font-family: sans-serif; + line-height: 1.15; + -webkit-text-size-adjust: 100%; + -ms-text-size-adjust: 100%; + -ms-overflow-style: scrollbar; + -webkit-tap-highlight-color: transparent; +} + +@-ms-viewport { + width: device-width; +} + +article, aside, dialog, figcaption, figure, footer, header, hgroup, main, nav, section { + display: block; +} + +body { + margin: 0; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: #212529; + text-align: left; + background-color: #fff; +} + +[tabindex="-1"]:focus { + outline: none !important; +} + +hr { + box-sizing: content-box; + height: 0; + overflow: visible; +} + +h1, h2, h3, h4, h5, h6 { + margin-top: 0; + margin-bottom: 0.5rem; +} + +p { + margin-top: 0; + margin-bottom: 1rem; +} + +abbr[title], +abbr[data-original-title] { + text-decoration: underline; + -webkit-text-decoration: underline dotted; + text-decoration: underline dotted; + cursor: help; + border-bottom: 0; +} + +address { + margin-bottom: 1rem; + font-style: normal; + line-height: inherit; +} + +ol, +ul, +dl { + margin-top: 0; + margin-bottom: 1rem; +} + +ol ol, +ul ul, +ol ul, +ul ol { + margin-bottom: 0; +} + +dt { + font-weight: 700; +} + +dd { + margin-bottom: .5rem; + margin-left: 0; +} + +blockquote { + margin: 0 0 1rem; +} + +dfn { + font-style: italic; +} + +b, +strong { + font-weight: bold; +} + +small { + font-size: 80%; +} + +sub, +sup { + position: relative; + font-size: 75%; + line-height: 0; + vertical-align: baseline; +} + +sub { + bottom: -.25em; +} + +sup { + top: -.5em; +} + +a { + color: #007bff; + text-decoration: none; + background-color: transparent; + -webkit-text-decoration-skip: objects; +} + +a:hover { + color: #0056b3; + text-decoration: underline; +} + +a:not([href]):not([tabindex]) { + color: inherit; + text-decoration: none; +} + +a:not([href]):not([tabindex]):focus, a:not([href]):not([tabindex]):hover { + color: inherit; + text-decoration: none; +} + +a:not([href]):not([tabindex]):focus { + outline: 0; +} + +pre, +code, +kbd, +samp { + font-family: monospace, monospace; + font-size: 1em; +} + +pre { + margin-top: 0; + margin-bottom: 1rem; + overflow: auto; + -ms-overflow-style: scrollbar; +} + +figure { + margin: 0 0 1rem; +} + +img { + vertical-align: middle; + border-style: none; +} + +svg:not(:root) { + overflow: hidden; +} + +a, +area, +button, +[role="button"], +input:not([type="range"]), +label, +select, +summary, +textarea { + -ms-touch-action: manipulation; + touch-action: manipulation; +} + +table { + border-collapse: collapse; +} + +caption { + padding-top: 0.75rem; + padding-bottom: 0.75rem; + color: #868e96; + text-align: left; + caption-side: bottom; +} + +th { + text-align: inherit; +} + +label { + display: inline-block; + margin-bottom: .5rem; +} + +button { + border-radius: 0; +} + +button:focus { + outline: 1px dotted; + outline: 5px auto -webkit-focus-ring-color; +} + +input, +button, +select, +optgroup, +textarea { + margin: 0; + font-family: inherit; + font-size: inherit; + line-height: inherit; +} + +button, +input { + overflow: visible; +} + +button, +select { + text-transform: none; +} + +button, +html [type="button"], +[type="reset"], +[type="submit"] { + -webkit-appearance: button; +} + +button::-moz-focus-inner, +[type="button"]::-moz-focus-inner, +[type="reset"]::-moz-focus-inner, +[type="submit"]::-moz-focus-inner { + padding: 0; + border-style: none; +} + +input[type="radio"], +input[type="checkbox"] { + box-sizing: border-box; + padding: 0; +} + +input[type="date"], +input[type="time"], +input[type="datetime-local"], +input[type="month"] { + -webkit-appearance: listbox; +} + +textarea { + overflow: auto; + resize: vertical; +} + +fieldset { + min-width: 0; + padding: 0; + margin: 0; + border: 0; +} + +legend { + display: block; + width: 100%; + max-width: 100%; + padding: 0; + margin-bottom: .5rem; + font-size: 1.5rem; + line-height: inherit; + color: inherit; + white-space: normal; +} + +progress { + vertical-align: baseline; +} + +[type="number"]::-webkit-inner-spin-button, +[type="number"]::-webkit-outer-spin-button { + height: auto; +} + +[type="search"] { + outline-offset: -2px; + -webkit-appearance: none; +} + +[type="search"]::-webkit-search-cancel-button, +[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} + +::-webkit-file-upload-button { + font: inherit; + -webkit-appearance: button; +} + +output { + display: inline-block; +} + +summary { + display: list-item; +} + +template { + display: none; +} + +[hidden] { + display: none !important; +} diff --git a/css/knacss/components/_alerts.scss b/css/knacss/components/_alerts.scss new file mode 100644 index 0000000..e422264 --- /dev/null +++ b/css/knacss/components/_alerts.scss @@ -0,0 +1,55 @@ +/* ----------------------------- */ +/* ==Alerts */ +/* ----------------------------- */ +/* use .alert-- classes for variants */ + +.alert { + padding: $spacer-small $spacer-small; + margin-top: 0.75em; + margin-bottom: 0; + color: $color-base; + border-radius: $border-radius; + background-color: $color-muted; + + & a { + color: inherit; + text-decoration: underline; + } +} + +.alert { + @each $name, $background-color, $color, $border in $variants-list { + &--#{$name} { + @extend .alert; + background-color: $background-color; + color: $color; + box-shadow: $border; + } + } +} + +// alert state variants +.alert { + &--small { + font-size: $font-size-base - 0.4rem; + } + + &--big { + font-size: $font-size-base + 0.4rem; + } + + &--block { + width: 100% !important; + display: block; + } + + &.disabled, + &--disabled { + opacity: 0.5; + cursor: not-allowed; + } + + &:empty { + display: none; + } +} diff --git a/css/knacss/components/_arrows.scss b/css/knacss/components/_arrows.scss new file mode 100644 index 0000000..5dde53a --- /dev/null +++ b/css/knacss/components/_arrows.scss @@ -0,0 +1,34 @@ +/* ----------------------------- */ +/* ==Arrows */ +/* ----------------------------- */ +/* see https://knacss.com/styleguide.html#arrows */ + +[class*="icon-arrow--"] { + vertical-align: middle; + + &::after { + content: ""; + display: inline-block; + width: 1em; + height: 1em; + mask-size: cover; + background-color: $arrow-color; + line-height: 1; + } +} + +.icon-arrow--down::after { + mask-image: url("data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20standalone%3D%22no%22%3F%3E%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20xmlns%3Axlink%3D%22http%3A//www.w3.org/1999/xlink%22%20style%3D%22isolation%3Aisolate%22%20viewBox%3D%220%200%2020%2020%22%20width%3D%2220%22%20height%3D%2220%22%3E%3Cpath%20d%3D%22%20M%209.96%2011.966%20L%203.523%205.589%20C%202.464%204.627%200.495%206.842%201.505%207.771%20L%201.505%207.771%20L%208.494%2014.763%20C%209.138%2015.35%2010.655%2015.369%2011.29%2014.763%20L%2011.29%2014.763%20L%2018.49%207.771%20C%2019.557%206.752%2017.364%204.68%2016.262%205.725%20L%2016.262%205.725%20L%209.96%2011.966%20Z%20%22%20fill%3D%22inherit%22/%3E%3C/svg%3E"); +} + +.icon-arrow--up::after { + mask-image: url("data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20standalone%3D%22no%22%3F%3E%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20xmlns%3Axlink%3D%22http%3A//www.w3.org/1999/xlink%22%20style%3D%22isolation%3Aisolate%22%20viewBox%3D%220%200%2020%2020%22%20width%3D%2220%22%20height%3D%2220%22%3E%3Cpath%20d%3D%22%20M%209.96%208.596%20L%203.523%2014.973%20C%202.464%2015.935%200.495%2013.72%201.505%2012.791%20L%201.505%2012.791%20L%208.494%205.799%20C%209.138%205.212%2010.655%205.193%2011.29%205.799%20L%2011.29%205.799%20L%2018.49%2012.791%20C%2019.557%2013.809%2017.364%2015.882%2016.262%2014.837%20L%2016.262%2014.837%20L%209.96%208.596%20Z%20%22%20fill%3D%22inherit%22/%3E%3C/svg%3E"); +} + +.icon-arrow--right::after { + mask-image: url("data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20standalone%3D%22no%22%3F%3E%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20xmlns%3Axlink%3D%22http%3A//www.w3.org/1999/xlink%22%20style%3D%22isolation%3Aisolate%22%20viewBox%3D%220%200%2020%2020%22%20width%3D%2220%22%20height%3D%2220%22%3E%3Cpath%20d%3D%22%20M%2011.685%2010.321%20L%205.308%2016.758%20C%204.346%2017.817%206.561%2019.786%207.49%2018.776%20L%207.49%2018.776%20L%2014.482%2011.787%20C%2015.069%2011.142%2015.088%209.626%2014.482%208.991%20L%2014.482%208.991%20L%207.49%201.791%20C%206.472%200.724%204.399%202.916%205.444%204.019%20L%205.444%204.019%20L%2011.685%2010.321%20Z%20%22%20fill%3D%22inherit%22/%3E%3C/svg%3E"); +} + +.icon-arrow--left::after { + mask-image: url("data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20standalone%3D%22no%22%3F%3E%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20xmlns%3Axlink%3D%22http%3A//www.w3.org/1999/xlink%22%20style%3D%22isolation%3Aisolate%22%20viewBox%3D%220%200%2020%2020%22%20width%3D%2220%22%20height%3D%2220%22%3E%3Cpath%20d%3D%22%20M%208.315%2010.321%20L%2014.692%2016.758%20C%2015.654%2017.817%2013.439%2019.786%2012.51%2018.776%20L%2012.51%2018.776%20L%205.518%2011.787%20C%204.931%2011.142%204.912%209.626%205.518%208.991%20L%205.518%208.991%20L%2012.51%201.791%20C%2013.528%200.724%2015.601%202.916%2014.556%204.019%20L%2014.556%204.019%20L%208.315%2010.321%20Z%20%22%20fill%3D%22inherit%22/%3E%3C/svg%3E"); +} diff --git a/css/knacss/components/_badges.scss b/css/knacss/components/_badges.scss new file mode 100644 index 0000000..53805e2 --- /dev/null +++ b/css/knacss/components/_badges.scss @@ -0,0 +1,51 @@ +/* ----------------------------- */ +/* ==Badges */ +/* ----------------------------- */ +/* use .badge-- classes for variants */ + +.badge { + display: inline-block; + padding: $spacer-tiny; + border-radius: 50%; + color: $color-base; + background-color: $color-muted; + line-height: 1; + + &::before { + content: ""; + display: inline-block; + vertical-align: middle; + padding-top: 100%; + } +} + +.badge { + @each $name, $background-color, $color, $border in $variants-list { + &--#{$name} { + @extend .badge; + background-color: $background-color; + color: $color; + } + } +} + +// badge state variants +.badge { + &--small { + font-size: $font-size-base - 0.4rem; + } + + &--big { + font-size: $font-size-base + 0.4rem; + } + + &.disabled, + &--disabled { + opacity: 0.5; + cursor: not-allowed; + } + + &:empty { + display: none; + } +} diff --git a/css/knacss/components/_buttons.scss b/css/knacss/components/_buttons.scss new file mode 100644 index 0000000..cd1f6c6 --- /dev/null +++ b/css/knacss/components/_buttons.scss @@ -0,0 +1,158 @@ +/* ----------------------------- */ +/* ==Buttons */ +/* ----------------------------- */ +/* preferably use +// see doc : https://knacss.com/styleguide.html#buttons +.nav-button { + padding: 0; + background-color: transparent; + outline: 0; + border: 0; + cursor: pointer; + -webkit-tap-highlight-color: transparent; + + & > * { + display: inline-flex; + vertical-align: top; + flex-direction: column; + justify-content: space-between; + align-items: stretch; + height: $burger-size; + width: $burger-size; + padding: $burger-padding; + background-color: $burger-background; + background-image: linear-gradient($burger-color, $burger-color); + background-position: center; + background-repeat: no-repeat; + background-origin: content-box; + background-size: 100% $burger-weight; + transition: .25s; + transition-property: transform, background; + will-change: transform, background; + + &::before, + &::after { + content: ""; + height: $burger-weight; + background: $burger-color; + transition: .25s; + transition-property: transform, top; + will-change: transform, top; + } + } + + &:hover { + & > * { + background-color: $burger-hover-background; + } + } + + &:focus { + outline: 0; + } + + &.is-active { + & > * { + background-image: none; + justify-content: center; + + &::before { + transform: translateY(50%) rotate3d(0,0,1,45deg); + } + + &::after { + transform: translateY(-50%) rotate3d(0,0,1,-45deg); + } + } + } +} diff --git a/css/knacss/components/_checkbox.scss b/css/knacss/components/_checkbox.scss new file mode 100644 index 0000000..c5b12d6 --- /dev/null +++ b/css/knacss/components/_checkbox.scss @@ -0,0 +1,119 @@ +/* ----------------------------- */ +/* ==Checkbox, radio, switch */ +/* ----------------------------- */ +/* use .checkbox class on input type=checkbox */ +/* recommended HTML : */ +/* use .radio class on input type=radio */ +/* recommended HTML : */ +/* use .switch class on input type=checkbox */ +// + +// common styles +.checkbox { + border-radius: $checkbox-border-radius; +} + +.switch { + border-radius: $switch-border-radius; +} + +.radio { + border-radius: 50%; +} + +.switch, +.checkbox, +.radio { + appearance: none; + vertical-align: text-bottom; + outline: 0; + cursor: pointer; + + & ~ label { + cursor: pointer; + } + + &::-ms-check { + display: none; // unstyle IE checkboxes + } +} + +// switch styling +.switch { + width: $switch-size *2; + height: $switch-size; + line-height: $switch-size; + font-size: 70%; + box-shadow: inset -#{$switch-size} 0 0 $switch-background, + inset 0 0 0 1px $switch-background; + transition: box-shadow .15s; + background-color: $switch-color; + &::before, + &::after { + font-weight: bold; + color: $switch-color; + } + &::before { + content: "✕"; + float: right; + margin-right: $switch-size /3; + } + &:checked { + box-shadow: inset #{$switch-size} 0 0 $color-success, + inset 0 0 0 1px $color-success; + &::before { + content: "✓"; + float: left; + margin-left: $switch-size /3; + } + } +} + +// checkbox styling +.checkbox { + width: $checkbox-size; + height: $checkbox-size; + box-shadow: inset 0 0 0 1px $checkbox-background; + background-color: $checkbox-color; + transition: background-color .15s; + &:checked { + $red: red($checkbox-color); + $green: green($checkbox-color); + $blue: blue($checkbox-color); + $rgb: rgb($red, $green, $blue); + $slice: str-slice(ie-hex-str($rgb), 4); + $first: "data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0A%3Csvg%20version%3D%221.1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220%22%20y%3D%220%22%20viewBox%3D%220%200%208%208%22%20enable-background%3D%22new%200%200%208%208%22%20xml%3Aspace%3D%22preserve%22%3E%20%3Cpath%20fill%3D%22%23"; + $last: "%22%20d%3D%22M6.4%2C1L5.7%2C1.7L2.9%2C4.5L2.1%2C3.7L1.4%2C3L0%2C4.4l0.7%2C0.7l1.5%2C1.5l0.7%2C0.7l0.7-0.7l3.5-3.5l0.7-0.7L6.4%2C1L6.4%2C1z%22%20%2F%3E%0A%3C%2Fsvg%3E"; + $combo: "#{$first}#{$slice}#{$last}"; + background-image: url($combo); + background-size: 60% 60%; + background-position: center; + background-repeat: no-repeat; + background-color: $checkbox-background; + } +} + +// radio styling +.radio { + width: $checkbox-size; + height: $checkbox-size; + background-size: 0% 0%; + transition: background-size .15s; + box-shadow: inset 0 0 0 1px $radio-color; + background-color: $radio-background; + &:checked { + $red: red($radio-color); + $green: green($radio-color); + $blue: blue($radio-color); + $rgb: rgb($red, $green, $blue); + $slice: str-slice(ie-hex-str($rgb), 4); + $first: "data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20standalone%3D%22no%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%22100%22%20height%3D%22100%22%0AviewBox%3D%220%200%2080%2080%22%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%3E%3Ccircle%20cx%3D%2240%22%20cy%3D%2240%22%20r%3D%2224%22%20style%3D%22fill%3A%23"; + $last: "%22/%3E%3C/svg%3E"; + $combo: "#{$first}#{$slice}#{$last}"; + background-image: url($combo); + background-size: 90% 90%; + background-position: center; + background-repeat: no-repeat; + background-color: $radio-background; + } +} \ No newline at end of file diff --git a/css/knacss/components/_forms.scss b/css/knacss/components/_forms.scss new file mode 100644 index 0000000..7cad94a --- /dev/null +++ b/css/knacss/components/_forms.scss @@ -0,0 +1,114 @@ +/* ----------------------------- */ +/* ==Forms */ +/* ----------------------------- */ +/* thanks to HTML5boilerplate and https://shoelace.style/ */ + +/* forms items */ +form, +fieldset { + border: none; +} + +fieldset { + padding: $spacer-medium; + + & legend { + padding: 0 $spacer-tiny; + border: 0; + white-space: normal; + } +} + +label { + display: inline-block; + cursor: pointer; +} + +[type="color"], +[type="date"], +[type="datetime-local"], +[type="email"], +[type="month"], +[type="number"], +[type="password"], +[type="search"], +[type="submit"], +[type="tel"], +[type="text"], +[type="time"], +[type="url"], +[type="week"], +select, +textarea { + font-family: inherit; + font-size: inherit; + border: 0; + box-shadow: 0 0 0 1px $forms-color inset; + color: $color-base; + vertical-align: middle; + padding: $spacer-tiny $spacer-small; + margin: 0; + transition: 0.25s; + transition-property: box-shadow, background-color, color, border; + appearance: none; +} + +[type="submit"] { + background-color: $forms-color; + color: $white; + cursor: pointer; +} + +input[readonly] { + background-color: $color-muted; +} + +select { + padding-right: 2rem; + border-radius: $border-radius; + background-image: url("data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20standalone%3D%22no%22%3F%3E%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20xmlns%3Axlink%3D%22http%3A//www.w3.org/1999/xlink%22%20style%3D%22isolation%3Aisolate%22%20viewBox%3D%220%200%2020%2020%22%20width%3D%2220%22%20height%3D%2220%22%3E%3Cpath%20d%3D%22%20M%209.96%2011.966%20L%203.523%205.589%20C%202.464%204.627%200.495%206.842%201.505%207.771%20L%201.505%207.771%20L%208.494%2014.763%20C%209.138%2015.35%2010.655%2015.369%2011.29%2014.763%20L%2011.29%2014.763%20L%2018.49%207.771%20C%2019.557%206.752%2017.364%204.68%2016.262%205.725%20L%2016.262%205.725%20L%209.96%2011.966%20Z%20%22%20fill%3D%22inherit%22/%3E%3C/svg%3E"); + background-position: right .6rem center; + background-repeat: no-repeat; + background-size: 1.2rem; +} + +/* hiding IE11 arrow */ +select::-ms-expand { + display: none; +} + +textarea { + min-height: 5em; + vertical-align: top; + resize: vertical; + white-space: pre-wrap; +} + +/* 'x' appears on right of search input when text is entered. This removes it */ +[type="search"] { + &::-webkit-search-decoration, + &::-webkit-search-cancel-button, + &::-webkit-search-results-button, + &::-webkit-search-results-decoration { + display: none; + } +} + +::-webkit-input-placeholder { + color: #777; +} + +input:-moz-placeholder, +textarea:-moz-placeholder { + color: #777; +} + +input::placeholder, +textarea::placeholder { + color: #777; +} + +progress { + width: 100%; + vertical-align: middle; +} diff --git a/css/knacss/components/_media.scss b/css/knacss/components/_media.scss new file mode 100644 index 0000000..74634bc --- /dev/null +++ b/css/knacss/components/_media.scss @@ -0,0 +1,26 @@ +/* ----------------------------- */ +/* ==Media object */ +/* ----------------------------- */ +/* recommended HTML :
    */ +/* see http://codepen.io/raphaelgoetter/pen/KMWWwj */ + +@media (min-width: $tiny) { + .media { + display: flex; + align-items: flex-start; + + &-content { + flex: 1 1 0%; + } + + // vertical align image + &-figure--center { + align-self: center; + } + + // reverse variant + &--reverse { + flex-direction: row-reverse; + } + } +} diff --git a/css/knacss/components/_skip-links.scss b/css/knacss/components/_skip-links.scss new file mode 100644 index 0000000..e700ef7 --- /dev/null +++ b/css/knacss/components/_skip-links.scss @@ -0,0 +1,25 @@ +/* ----------------------------- */ +/* ==skip links */ +/* ----------------------------- */ +/* see https://www.alsacreations.com/article/lire/572-Les-liens-d-evitement.html */ + +/* styling skip links */ +.skip-links { + position: absolute; + + & a { + position: absolute; + overflow: hidden; + clip: rect(1px, 1px, 1px, 1px); + padding: 0.5em; + background: black; + color: white; + text-decoration: none; + + &:focus { + position: static; + overflow: visible; + clip: auto; + } + } +} diff --git a/css/knacss/components/_tables.scss b/css/knacss/components/_tables.scss new file mode 100644 index 0000000..86be778 --- /dev/null +++ b/css/knacss/components/_tables.scss @@ -0,0 +1,52 @@ +/* ----------------------------- */ +/* ==Tables */ +/* ----------------------------- */ + +table, +.table { + width: 100%; + max-width: 100%; + table-layout: fixed; + border-collapse: collapse; + vertical-align: top; + margin-bottom: $spacer-medium; +} + +.table { + display: table; + border: 1px solid $table-border; + background: $table-background; + + &--zebra { + & tbody tr:nth-child(odd) { + background: $gray-200; + } + } + + & caption { + caption-side: bottom; + padding: $spacer-small; + color: $table-caption-color; + font-style: italic; + text-align: right; + } + + & td, + & th { + padding: 0.3rem 0.6rem; + min-width: $spacer-medium; + vertical-align: top; + border: 1px $table-border dotted; + text-align: left; + cursor: default; + } + + & thead { + color: $table-head-color; + background: $table-head-background; + } +} + +.table--auto { + table-layout: auto; +} diff --git a/css/knacss/components/_tabs.scss b/css/knacss/components/_tabs.scss new file mode 100644 index 0000000..7807ca1 --- /dev/null +++ b/css/knacss/components/_tabs.scss @@ -0,0 +1,52 @@ +/* ----------------------------- */ +/* ==Tabs */ +/* ----------------------------- */ +/* see example on https://knacss.com/styleguide.html#tabs */ +/* NOTE : tabs need JavaScript to be activated */ + +.tabs-menu { + border-bottom: 2px solid $tabs-border; + + &-link { + display: block; + margin-bottom: -2px; + padding: $spacer-tiny $spacer-medium-plus; + border-bottom: 4px solid transparent; + color: $tabs-color; + background: $tabs-background; + text-decoration: none; + border-radius: $tabs-border-radius $tabs-border-radius 0 0; + transition: .25s; + transition-property: color, border, background-color; + + &.is-active { + border-bottom-color: $tabs-active-border; + color: $tabs-active-color; + background: $tabs-active-background; + outline: 0; + } + + &:focus { + border-bottom-color: $tabs-active-border; + color: $tabs-active-color; + outline: 0; + } + + @media (min-width: $small) { + display: inline-block; + } + } +} + +.tabs-content-item { + padding-top: $spacer-small; + + &[aria-hidden="true"] { + visibility: hidden; + @extend .visually-hidden; + } + + &[aria-hidden="false"] { + visibility: visible; + } +} diff --git a/css/knacss/components/_tags.scss b/css/knacss/components/_tags.scss new file mode 100644 index 0000000..fb8866e --- /dev/null +++ b/css/knacss/components/_tags.scss @@ -0,0 +1,52 @@ +/* ----------------------------- */ +/* ==Tags */ +/* ----------------------------- */ +/* use .tag-- classes for variants */ + +.tag { + display: inline-block; + padding: 3px $spacer-tiny; + vertical-align: baseline; + white-space: nowrap; + color: $color-base; + border-radius: $border-radius; + background-color: $color-muted; + line-height: 1; +} + +.tag { + @each $name, $background-color, $color, $border in $variants-list { + &--#{$name} { + @extend .tag; + background-color: $background-color; + color: $color; + box-shadow: $border; + } + } +} + +// tag state variants +.tag { + &--small { + font-size: $font-size-base - 0.4rem; + } + + &--big { + font-size: $font-size-base + 0.4rem; + } + + &--block { + width: 100% !important; + display: block; + } + + &.disabled, + &--disabled { + opacity: 0.5; + cursor: not-allowed; + } + + &:empty { + display: none; + } +} diff --git a/css/mon_site.css b/css/mon_site.css new file mode 100644 index 0000000..d672a12 --- /dev/null +++ b/css/mon_site.css @@ -0,0 +1,7533 @@ +@charset "UTF-8"; +/* Fichier scss principal du squelette */ +/*! +* www.KNACSS.com v7.1.2 (january, 30 2019) @author: Alsacreations, Raphael Goetter +* Licence WTFPL http://www.wtfpl.net/ +*/ +/* ----------------------------- */ +/* ==Table Of Content */ +/* ----------------------------- */ +/* +1- Reboot (basic reset) +2- Libraries : + - Base + - Print + - Layout (alignment, modules, positionning) + - Utilities (width and spacers helpers) + - Responsive helpers + - WordPress reset (disabled by default) + - Grillade (Grid System) +3- Components : + - Media object + - Skip Links for accessibility + - Tables + - Forms + - Buttons + - Checkbox + - Tabs + - Tags + - Badges + - Alerts +*/ +*, +*::before, +*::after { + box-sizing: border-box; +} + +html { + font-family: sans-serif; + line-height: 1.15; + -webkit-text-size-adjust: 100%; + -ms-text-size-adjust: 100%; + -ms-overflow-style: scrollbar; + -webkit-tap-highlight-color: transparent; +} + +@-ms-viewport { + width: device-width; +} + +article, aside, dialog, figcaption, figure, footer, header, hgroup, main, nav, section { + display: block; +} + +body { + margin: 0; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: #212529; + text-align: left; + background-color: #fff; +} + +[tabindex="-1"]:focus { + outline: none !important; +} + +hr { + box-sizing: content-box; + height: 0; + overflow: visible; +} + +h1, h2, h3, h4, h5, h6 { + margin-top: 0; + margin-bottom: 0.5rem; +} + +p { + margin-top: 0; + margin-bottom: 1rem; +} + +abbr[title], +abbr[data-original-title] { + text-decoration: underline; + -webkit-text-decoration: underline dotted; + text-decoration: underline dotted; + cursor: help; + border-bottom: 0; +} + +address { + margin-bottom: 1rem; + font-style: normal; + line-height: inherit; +} + +ol, +ul, +dl { + margin-top: 0; + margin-bottom: 1rem; +} + +ol ol, +ul ul, +ol ul, +ul ol { + margin-bottom: 0; +} + +dt { + font-weight: 700; +} + +dd { + margin-bottom: .5rem; + margin-left: 0; +} + +blockquote { + margin: 0 0 1rem; +} + +dfn { + font-style: italic; +} + +b, +strong { + font-weight: bold; +} + +small { + font-size: 80%; +} + +sub, +sup { + position: relative; + font-size: 75%; + line-height: 0; + vertical-align: baseline; +} + +sub { + bottom: -.25em; +} + +sup { + top: -.5em; +} + +a { + color: #007bff; + text-decoration: none; + background-color: transparent; + -webkit-text-decoration-skip: objects; +} + +a:hover { + color: #0056b3; + text-decoration: underline; +} + +a:not([href]):not([tabindex]) { + color: inherit; + text-decoration: none; +} + +a:not([href]):not([tabindex]):focus, a:not([href]):not([tabindex]):hover { + color: inherit; + text-decoration: none; +} + +a:not([href]):not([tabindex]):focus { + outline: 0; +} + +pre, +code, +kbd, +samp { + font-family: monospace, monospace; + font-size: 1em; +} + +pre { + margin-top: 0; + margin-bottom: 1rem; + overflow: auto; + -ms-overflow-style: scrollbar; +} + +figure { + margin: 0 0 1rem; +} + +img { + vertical-align: middle; + border-style: none; +} + +svg:not(:root) { + overflow: hidden; +} + +a, +area, +button, +[role="button"], +input:not([type="range"]), +label, +select, +summary, +textarea { + touch-action: manipulation; +} + +table { + border-collapse: collapse; +} + +caption { + padding-top: 0.75rem; + padding-bottom: 0.75rem; + color: #868e96; + text-align: left; + caption-side: bottom; +} + +th { + text-align: inherit; +} + +label { + display: inline-block; + margin-bottom: .5rem; +} + +button { + border-radius: 0; +} + +button:focus { + outline: 1px dotted; + outline: 5px auto -webkit-focus-ring-color; +} + +input, +button, +select, +optgroup, +textarea { + margin: 0; + font-family: inherit; + font-size: inherit; + line-height: inherit; +} + +button, +input { + overflow: visible; +} + +button, +select { + text-transform: none; +} + +button, +html [type="button"], +[type="reset"], +[type="submit"] { + -webkit-appearance: button; +} + +button::-moz-focus-inner, +[type="button"]::-moz-focus-inner, +[type="reset"]::-moz-focus-inner, +[type="submit"]::-moz-focus-inner { + padding: 0; + border-style: none; +} + +input[type="radio"], +input[type="checkbox"] { + box-sizing: border-box; + padding: 0; +} + +input[type="date"], +input[type="time"], +input[type="datetime-local"], +input[type="month"] { + -webkit-appearance: listbox; +} + +textarea { + overflow: auto; + resize: vertical; +} + +fieldset { + min-width: 0; + padding: 0; + margin: 0; + border: 0; +} + +legend { + display: block; + width: 100%; + max-width: 100%; + padding: 0; + margin-bottom: .5rem; + font-size: 1.5rem; + line-height: inherit; + color: inherit; + white-space: normal; +} + +progress { + vertical-align: baseline; +} + +[type="number"]::-webkit-inner-spin-button, +[type="number"]::-webkit-outer-spin-button { + height: auto; +} + +[type="search"] { + outline-offset: -2px; + -webkit-appearance: none; +} + +[type="search"]::-webkit-search-cancel-button, +[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} + +::-webkit-file-upload-button { + font: inherit; + -webkit-appearance: button; +} + +output { + display: inline-block; +} + +summary { + display: list-item; +} + +template { + display: none; +} + +[hidden] { + display: none !important; +} + +/* ----------------------------- */ +/* ==Base (basic styles) */ +/* ----------------------------- */ +/* disable animations styles when reduced rotion is enabled */ +@media (prefers-reduced-motion: reduce) { + * { + -webkit-animation: none !important; + animation: none !important; + -webkit-transition: none !important; + transition: none !important; + } +} + +/* switching to border-box model for all elements */ +html { + box-sizing: border-box; +} + +*, +*::before, +*::after { + box-sizing: inherit; + /* avoid min-width: auto on flex and grid children */ + min-width: 0; + min-height: 0; +} + +html { + /* set base font-size to equiv "10px", which is adapted to rem unit */ + font-size: 62.5%; + /* IE9-IE11 math fixing. See http://bit.ly/1g4X0bX */ + font-size: calc(1em * 0.625); +} + +body { + margin: 0; + font-size: 1.4rem; + background-color: #fff; + color: #212529; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; + line-height: 1.5; +} + +@media (min-width: 576px) { + body { + font-size: 1.6rem; + } +} + +/* Links */ +a { + color: #333; + text-decoration: underline; +} + +a:focus, a:hover, a:active { + color: #0d0d0d; + text-decoration: underline; +} + +/* Headings */ +h1, .h1-like { + font-size: 2.8rem; + font-family: sans-serif; + font-weight: 500; +} + +@media (min-width: 576px) { + h1, .h1-like { + font-size: 3.2rem; + } +} + +h2, .h2-like { + font-size: 2.4rem; + font-family: sans-serif; + font-weight: 500; +} + +@media (min-width: 576px) { + h2, .h2-like { + font-size: 2.8rem; + } +} + +h3, .h3-like { + font-size: 2rem; + font-weight: 500; +} + +@media (min-width: 576px) { + h3, .h3-like { + font-size: 2.4rem; + } +} + +h4, .h4-like { + font-size: 1.8rem; + font-weight: 500; +} + +@media (min-width: 576px) { + h4, .h4-like { + font-size: 2rem; + } +} + +h5, .h5-like { + font-size: 1.6rem; + font-weight: 500; +} + +@media (min-width: 576px) { + h5, .h5-like { + font-size: 1.8rem; + } +} + +h6, .h6-like { + font-size: 1.4rem; + font-weight: 500; +} + +@media (min-width: 576px) { + h6, .h6-like { + font-size: 1.6rem; + } +} + +/* Vertical rythm */ +h1, +h2, +h3, +h4, +h5, +h6, +dd { + margin-top: 0; + margin-bottom: 0.5rem; +} + +p, +address, +ol, +ul, +dl, +blockquote, +pre { + margin-top: 0; + margin-bottom: 1rem; +} + +/* Avoid margins on nested elements */ +li p, +li .p-like, +li ul, +li ol, +ol ol, +ul ul { + margin-top: 0; + margin-bottom: 0; +} + +/* Max values */ +img, +table, +td, +blockquote, +code, +pre, +textarea, +input, +video, +svg { + max-width: 100%; +} + +img { + height: auto; +} + +/* Styling elements */ +ul, +ol { + padding-left: 2em; +} + +img { + vertical-align: middle; +} + +em, +.italic, +address, +cite, +i, +var { + font-style: italic; +} + +code, +kbd, +mark { + border-radius: 2px; +} + +kbd { + padding: 0 2px; + border: 1px solid #999; +} + +pre { + -moz-tab-size: 2; + -o-tab-size: 2; + tab-size: 2; +} + +code { + padding: 2px 4px; + background: rgba(0, 0, 0, 0.04); + color: #b11; +} + +pre code { + padding: 0; + background: none; + color: inherit; + border-radius: 0; +} + +mark { + padding: 2px 4px; +} + +sup, +sub { + vertical-align: 0; +} + +sup { + bottom: 1ex; +} + +sub { + top: 0.5ex; +} + +blockquote { + position: relative; + padding-left: 3em; + min-height: 2em; +} + +blockquote::before { + content: "\201C"; + position: absolute; + left: 0; + top: 0; + font-family: georgia, serif; + font-size: 5em; + height: .4em; + line-height: .9; + color: #e7e9ed; +} + +blockquote > footer { + margin-top: .75em; + font-size: 0.9em; + color: rgba(0, 0, 0, 0.7); +} + +blockquote > footer::before { + content: "\2014 \0020"; +} + +q { + font-style: normal; +} + +q, +.q { + quotes: "“" "”" "‘" "’"; +} + +q:lang(fr), +.q:lang(fr) { + quotes: "«\00a0" "\00a0»" "“" "”"; +} + +hr { + display: block; + clear: both; + height: 1px; + margin: 1em 0 2em; + padding: 0; + border: 0; + color: #ccc; + background-color: #ccc; +} + +blockquote, +figure { + margin-left: 0; + margin-right: 0; +} + +code, +pre, +samp, +kbd { + white-space: pre-wrap; + font-family: consolas, courier, monospace; + line-height: normal; +} + +/* ----------------------------- */ +/* ==Print (quick print reset) */ +/* ----------------------------- */ +@media print { + * { + background: transparent !important; + box-shadow: none !important; + text-shadow: none !important; + } + body { + width: auto; + margin: auto; + font-family: serif; + font-size: 12pt; + } + p, + .p-like, + h1, + .h1-like, + h2, + .h2-like, + h3, + .h3-like, + h4, + .h4-like, + h5, + .h5-like, + h6, + .h6-like, + blockquote, + label, + ul, + ol { + color: #000; + margin: auto; + } + .print { + display: block; + } + .no-print { + display: none; + } + /* no orphans, no widows */ + p, + .p-like, + blockquote { + orphans: 3; + widows: 3; + } + /* no breaks inside these elements */ + blockquote, + ul, + ol { + page-break-inside: avoid; + } + /* page break before main headers + h1, + .h1-like { + page-break-before: always; + } + */ + /* no breaks after these elements */ + h1, + .h1-like, + h2, + .h2-like, + h3, + .h3-like, + caption { + page-break-after: avoid; + } + a { + color: #000; + } + /* displaying URLs + a[href]::after { + content: " (" attr(href) ")"; + } + */ + a[href^="javascript:"]::after, + a[href^="#"]::after { + content: ""; + } +} + +/* ----------------------------- */ +/* ==Global Micro Layout */ +/* ----------------------------- */ +/* Flexbox layout is KNACSS choice +http://www.alsacreations.com/tuto/lire/1493-css3-flexbox-layout-module.html +*/ +.flex-container, .flex-container--row, +.flex-row, .flex-container--column, +.flex-column, .flex-container--row-reverse, +.flex-row-reverse, .flex-container--column-reverse, +.flex-column-reverse, +.d-flex { + display: -webkit-box; + display: flex; + flex-wrap: wrap; +} + +.flex-container--row, +.flex-row { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + flex-direction: row; +} + +.flex-container--column, +.flex-column { + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + flex-direction: column; +} + +.flex-container--row-reverse, +.flex-row-reverse { + -webkit-box-orient: horizontal; + -webkit-box-direction: reverse; + flex-direction: row-reverse; + -webkit-box-pack: end; + justify-content: flex-end; +} + +.flex-container--column-reverse, +.flex-column-reverse { + -webkit-box-orient: vertical; + -webkit-box-direction: reverse; + flex-direction: column-reverse; + -webkit-box-pack: end; + justify-content: flex-end; +} + +.flex-item-fluid, +.item-fluid { + -webkit-box-flex: 1; + flex: 1 1 0%; +} + +.flex-item-first, +.item-first { + -webkit-box-ordinal-group: 0; + order: -1; +} + +.flex-item-medium, +.item-medium { + -webkit-box-ordinal-group: 1; + order: 0; +} + +.flex-item-last, +.item-last { + -webkit-box-ordinal-group: 2; + order: 1; +} + +.flex-item-center, +.item-center, +.mr-auto { + margin: auto; +} + +/* ---------------------------------- */ +/* ==Helpers */ +/* ---------------------------------- */ +/* Typo Helpers */ +/* ------------- */ +.u-bold { + font-weight: 700; +} + +.u-italic { + font-style: italic; +} + +.u-normal { + font-weight: normal; + font-style: normal; +} + +.u-uppercase { + text-transform: uppercase; +} + +.u-lowercase { + text-transform: lowercase; +} + +.u-smaller { + font-size: 0.6em; +} + +.u-small { + font-size: 0.8em; +} + +.u-big { + font-size: 1.2em; +} + +.u-bigger { + font-size: 1.5em; +} + +.u-biggest { + font-size: 2em; +} + +.u-txt-wrap { + word-wrap: break-word; + overflow-wrap: break-word; + -webkit-hyphens: auto; + -ms-hyphens: auto; + hyphens: auto; +} + +.u-txt-ellipsis { + white-space: nowrap; + text-overflow: ellipsis; +} + +/* text and contents alignment */ +.txtleft, +.u-txt-left { + text-align: left; +} + +.txtright, +.u-txt-right { + text-align: right; +} + +.txtcenter, +.u-txt-center { + text-align: center; +} + +/* blocks that need to be placed under floats */ +.clear, +.u-clear { + clear: both; +} + +/* blocks that must contain floats */ +.clearfix::after, +.u-clearfix::after { + content: ""; + display: table; + clear: both; + border-collapse: collapse; +} + +/* simple blocks alignment */ +.left, +.u-left { + margin-right: auto; +} + +.right, +.u-right { + margin-left: auto; +} + +.center, +.u-center { + margin-left: auto; + margin-right: auto; +} + +/* Global Micro Layout */ +/* ------------------- */ +/* module, gains superpower "BFC" Block Formating Context */ +.mod, +.u-mod, +.bfc, +.u-bfc { + overflow: hidden; +} + +/* floating elements */ +.fl, +.u-fl { + float: left; +} + +img.fl, +img.u-fl { + margin-right: 1rem; +} + +.fr, +.u-fr { + float: right; +} + +img.fr, +img.u-fr { + margin-left: 1rem; +} + +img.fl, +img.fr, +img.u-fl, +img.u-fr { + margin-bottom: 0.5rem; +} + +/* inline-block */ +.inbl, +.u-inbl { + display: inline-block; + vertical-align: top; +} + +/* State Helpers */ +/* ------------- */ +/* invisible for all */ +.is-hidden, +.js-hidden, +[hidden] { + display: none; +} + +/* hidden but not for an assistive technology like a screen reader, Yahoo! method */ +.visually-hidden, .tabs-content-item[aria-hidden="true"] { + position: absolute !important; + border: 0 !important; + height: 1px !important; + width: 1px !important; + padding: 0 !important; + overflow: hidden !important; + clip: rect(0, 0, 0, 0) !important; +} + +.is-disabled, +.js-disabled, +[disabled], +.is-disabled ~ label, +[disabled] ~ label { + opacity: 0.5; + cursor: not-allowed !important; + -webkit-filter: grayscale(1); + filter: grayscale(1); +} + +ul.is-unstyled, ul.unstyled { + list-style: none; + padding-left: 0; +} + +.color--inverse { + color: #fff; +} + +/* Width Helpers */ +/* ------------- */ +/* blocks widths (percentage and pixels) */ +.w100 { + width: 100%; +} + +.w95 { + width: 95%; +} + +.w90 { + width: 90%; +} + +.w85 { + width: 85%; +} + +.w80 { + width: 80%; +} + +.w75 { + width: 75%; +} + +.w70 { + width: 70%; +} + +.w65 { + width: 65%; +} + +.w60 { + width: 60%; +} + +.w55 { + width: 55%; +} + +.w50 { + width: 50%; +} + +.w45 { + width: 45%; +} + +.w40 { + width: 40%; +} + +.w35 { + width: 35%; +} + +.w30 { + width: 30%; +} + +.w25 { + width: 25%; +} + +.w20 { + width: 20%; +} + +.w15 { + width: 15%; +} + +.w10 { + width: 10%; +} + +.w5 { + width: 5%; +} + +.w66 { + width: calc(100% / 3 * 2); +} + +.w33 { + width: calc(100% / 3); +} + +.wauto { + width: auto; +} + +.w960p { + width: 960px; +} + +.mw960p { + max-width: 960px; +} + +.w1140p { + width: 1140px; +} + +.mw1140p { + max-width: 1140px; +} + +.w1000p { + width: 1000px; +} + +.w950p { + width: 950px; +} + +.w900p { + width: 900px; +} + +.w850p { + width: 850px; +} + +.w800p { + width: 800px; +} + +.w750p { + width: 750px; +} + +.w700p { + width: 700px; +} + +.w650p { + width: 650px; +} + +.w600p { + width: 600px; +} + +.w550p { + width: 550px; +} + +.w500p { + width: 500px; +} + +.w450p { + width: 450px; +} + +.w400p { + width: 400px; +} + +.w350p { + width: 350px; +} + +.w300p { + width: 300px; +} + +.w250p { + width: 250px; +} + +.w200p { + width: 200px; +} + +.w150p { + width: 150px; +} + +.w100p { + width: 100px; +} + +.w50p { + width: 50px; +} + +/* Spacing Helpers */ +/* --------------- */ +.man, +.ma0 { + margin: 0; +} + +.pan, +.pa0 { + padding: 0; +} + +.mas { + margin: 1rem; +} + +.mam { + margin: 2rem; +} + +.mal { + margin: 4rem; +} + +.pas { + padding: 1rem; +} + +.pam { + padding: 2rem; +} + +.pal { + padding: 4rem; +} + +.mtn, +.mt0 { + margin-top: 0; +} + +.mts { + margin-top: 1rem; +} + +.mtm { + margin-top: 2rem; +} + +.mtl { + margin-top: 4rem; +} + +.mrn, +.mr0 { + margin-right: 0; +} + +.mrs { + margin-right: 1rem; +} + +.mrm { + margin-right: 2rem; +} + +.mrl { + margin-right: 4rem; +} + +.mbn, +.mb0 { + margin-bottom: 0; +} + +.mbs { + margin-bottom: 1rem; +} + +.mbm { + margin-bottom: 2rem; +} + +.mbl { + margin-bottom: 4rem; +} + +.mln, +.ml0 { + margin-left: 0; +} + +.mls { + margin-left: 1rem; +} + +.mlm { + margin-left: 2rem; +} + +.mll { + margin-left: 4rem; +} + +.mauto { + margin: auto; +} + +.mtauto { + margin-top: auto; +} + +.mrauto { + margin-right: auto; +} + +.mbauto { + margin-bottom: auto; +} + +.mlauto { + margin-left: auto; +} + +.ptn, +.pt0 { + padding-top: 0; +} + +.pts { + padding-top: 1rem; +} + +.ptm { + padding-top: 2rem; +} + +.ptl { + padding-top: 4rem; +} + +.prn, +.pr0 { + padding-right: 0; +} + +.prs { + padding-right: 1rem; +} + +.prm { + padding-right: 2rem; +} + +.prl { + padding-right: 4rem; +} + +.pbn, +.pb0 { + padding-bottom: 0; +} + +.pbs { + padding-bottom: 1rem; +} + +.pbm { + padding-bottom: 2rem; +} + +.pbl { + padding-bottom: 4rem; +} + +.pln, +.pl0 { + padding-left: 0; +} + +.pls { + padding-left: 1rem; +} + +.plm { + padding-left: 2rem; +} + +.pll { + padding-left: 4rem; +} + +/* -------------------------- */ +/* ==Responsive helpers */ +/* -------------------------- */ +/* large screens */ +/* ------------- */ +@media (min-width: 992px) { + /* layouts for large screens */ + .large-hidden { + display: none !important; + } + .large-visible { + display: block !important; + } + .large-no-float { + float: none; + } + .large-inbl { + display: inline-block; + float: none; + vertical-align: top; + } + /* widths for large screens */ + .large-w25 { + width: 25% !important; + } + .large-w33 { + width: 33.333333% !important; + } + .large-w50 { + width: 50% !important; + } + .large-w66 { + width: 66.666666% !important; + } + .large-w75 { + width: 75% !important; + } + .large-w100, + .large-wauto { + display: block !important; + float: none !important; + clear: none !important; + width: auto !important; + margin-left: 0 !important; + margin-right: 0 !important; + border: 0; + } + /* margins for large screens */ + .large-man, + .large-ma0 { + margin: 0 !important; + } +} + +/* medium screens */ +/* -------------- */ +@media (min-width: 768px) and (max-width: 991px) { + /* layouts for medium screens */ + .medium-hidden { + display: none !important; + } + .medium-visible { + display: block !important; + } + .medium-no-float { + float: none; + } + .medium-inbl { + display: inline-block; + float: none; + vertical-align: top; + } + /* widths for medium screens */ + .medium-w25 { + width: 25% !important; + } + .medium-w33 { + width: 33.333333% !important; + } + .medium-w50 { + width: 50% !important; + } + .medium-w66 { + width: 66.666666% !important; + } + .medium-w75 { + width: 75% !important; + } + .medium-w100, + .medium-wauto { + display: block !important; + float: none !important; + clear: none !important; + width: auto !important; + margin-left: 0 !important; + margin-right: 0 !important; + border: 0; + } + /* margins for medium screens */ + .medium-man, + .medium-ma0 { + margin: 0 !important; + } +} + +/* small screens */ +/* ------------- */ +@media (min-width: 576px) and (max-width: 767px) { + /* layouts for small screens */ + .small-hidden { + display: none !important; + } + .small-visible { + display: block !important; + } + .small-no-float { + float: none; + } + .small-inbl { + display: inline-block; + float: none; + vertical-align: top; + } + /* widths for small screens */ + .small-w25 { + width: 25% !important; + } + .small-w33 { + width: 33.333333% !important; + } + .small-w50 { + width: 50% !important; + } + .small-w66 { + width: 66.666666% !important; + } + .small-w75 { + width: 75% !important; + } + .small-w100, + .small-wauto { + display: block !important; + float: none !important; + clear: none !important; + width: auto !important; + margin-left: 0 !important; + margin-right: 0 !important; + border: 0; + } + /* margins for small screens */ + .small-man, + .small-ma0 { + margin: 0 !important; + } + .small-pan, + .small-pa0 { + padding: 0 !important; + } +} + +/* tiny screens */ +/* ------------ */ +@media (max-width: 575px) { + /* quick small resolution reset */ + .mod, + .col, + fieldset { + display: block !important; + float: none !important; + clear: none !important; + width: auto !important; + margin-left: 0 !important; + margin-right: 0 !important; + border: 0; + } + .flex-container, .flex-container--row, + .flex-row, .flex-container--column, + .flex-column, .flex-container--row-reverse, + .flex-row-reverse, .flex-container--column-reverse, + .flex-column-reverse { + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + flex-direction: column; + } + /* layouts for tiny screens */ + .tiny-hidden { + display: none !important; + } + .tiny-visible { + display: block !important; + } + .tiny-no-float { + float: none; + } + .tiny-inbl { + display: inline-block; + float: none; + vertical-align: top; + } + /* widths for tiny screens */ + .tiny-w25 { + width: 25% !important; + } + .tiny-w33 { + width: 33.333333% !important; + } + .tiny-w50 { + width: 50% !important; + } + .tiny-w66 { + width: 66.666666% !important; + } + .tiny-w75 { + width: 75% !important; + } + .tiny-w100, + .tiny-wauto { + display: block !important; + float: none !important; + clear: none !important; + width: auto !important; + margin-left: 0 !important; + margin-right: 0 !important; + border: 0; + } + /* margins for tiny screens */ + .tiny-man, + .tiny-ma0 { + margin: 0 !important; + } + .tiny-pan, + .tiny-pa0 { + padding: 0 !important; + } +} + +/* --------------------------------------- */ +/* ==Grillade : ultra light Grid System */ +/* --------------------------------------- */ +@media (min-width: 480px) { + [class*=" grid-"], + [class^="grid-"] { + display: grid; + grid-auto-flow: dense; + } + [class*=" grid-"].has-gutter, + [class^="grid-"].has-gutter { + grid-gap: 1rem; + } + [class*=" grid-"].has-gutter-l, + [class^="grid-"].has-gutter-l { + grid-gap: 2rem; + } + [class*=" grid-"].has-gutter-xl, + [class^="grid-"].has-gutter-xl { + grid-gap: 4rem; + } +} + +@media (min-width: 480px) { + .autogrid, + .grid { + display: grid; + grid-auto-flow: column; + grid-auto-columns: 1fr; + } + .autogrid.has-gutter, + .grid.has-gutter { + grid-column-gap: 1rem; + } + .autogrid.has-gutter-l, + .grid.has-gutter-l { + grid-column-gap: 2rem; + } + .autogrid.has-gutter-xl, + .grid.has-gutter-xl { + grid-column-gap: 4rem; + } +} + +[class*="grid-2"] { + grid-template-columns: repeat(2, 1fr); +} + +[class*="grid-3"] { + grid-template-columns: repeat(3, 1fr); +} + +[class*="grid-4"] { + grid-template-columns: repeat(4, 1fr); +} + +[class*="grid-5"] { + grid-template-columns: repeat(5, 1fr); +} + +[class*="grid-6"] { + grid-template-columns: repeat(6, 1fr); +} + +[class*="grid-7"] { + grid-template-columns: repeat(7, 1fr); +} + +[class*="grid-8"] { + grid-template-columns: repeat(8, 1fr); +} + +[class*="grid-9"] { + grid-template-columns: repeat(9, 1fr); +} + +[class*="grid-10"] { + grid-template-columns: repeat(10, 1fr); +} + +[class*="grid-11"] { + grid-template-columns: repeat(11, 1fr); +} + +[class*="grid-12"] { + grid-template-columns: repeat(12, 1fr); +} + +[class*="col-1"] { + grid-column: auto/span 1; +} + +[class*="row-1"] { + grid-row: auto/span 1; +} + +[class*="col-2"] { + grid-column: auto/span 2; +} + +[class*="row-2"] { + grid-row: auto/span 2; +} + +[class*="col-3"] { + grid-column: auto/span 3; +} + +[class*="row-3"] { + grid-row: auto/span 3; +} + +[class*="col-4"] { + grid-column: auto/span 4; +} + +[class*="row-4"] { + grid-row: auto/span 4; +} + +[class*="col-5"] { + grid-column: auto/span 5; +} + +[class*="row-5"] { + grid-row: auto/span 5; +} + +[class*="col-6"] { + grid-column: auto/span 6; +} + +[class*="row-6"] { + grid-row: auto/span 6; +} + +[class*="col-7"] { + grid-column: auto/span 7; +} + +[class*="row-7"] { + grid-row: auto/span 7; +} + +[class*="col-8"] { + grid-column: auto/span 8; +} + +[class*="row-8"] { + grid-row: auto/span 8; +} + +[class*="col-9"] { + grid-column: auto/span 9; +} + +[class*="row-9"] { + grid-row: auto/span 9; +} + +[class*="col-10"] { + grid-column: auto/span 10; +} + +[class*="row-10"] { + grid-row: auto/span 10; +} + +[class*="col-11"] { + grid-column: auto/span 11; +} + +[class*="row-11"] { + grid-row: auto/span 11; +} + +[class*="col-12"] { + grid-column: auto/span 12; +} + +[class*="row-12"] { + grid-row: auto/span 12; +} + +/* intermediate breakpoints */ +@media (min-width: 480px) and (max-width: 767px) { + [class*="grid-"][class*="-small-1"] { + grid-template-columns: repeat(1, 1fr); + } + [class*="col-"][class*="-small-1"] { + grid-column: auto/span 1; + } + [class*="grid-"][class*="-small-2"] { + grid-template-columns: repeat(2, 1fr); + } + [class*="col-"][class*="-small-2"] { + grid-column: auto/span 2; + } + [class*="grid-"][class*="-small-3"] { + grid-template-columns: repeat(3, 1fr); + } + [class*="col-"][class*="-small-3"] { + grid-column: auto/span 3; + } + [class*="grid-"][class*="-small-4"] { + grid-template-columns: repeat(4, 1fr); + } + [class*="col-"][class*="-small-4"] { + grid-column: auto/span 4; + } + [class*="-small-all"] { + grid-column: 1 / -1; + } +} + +.item-first { + -webkit-box-ordinal-group: 0; + order: -1; +} + +.item-last { + -webkit-box-ordinal-group: 2; + order: 1; +} + +.grid-offset { + visibility: hidden; +} + +.col-all { + grid-column: 1 / -1; +} + +.row-all { + grid-row: 1 / -1; +} + +/* ----------------------------- */ +/* ==Media object */ +/* ----------------------------- */ +/* recommended HTML :
    */ +/* see http://codepen.io/raphaelgoetter/pen/KMWWwj */ +@media (min-width: 480px) { + .media { + display: -webkit-box; + display: flex; + -webkit-box-align: start; + align-items: flex-start; + } + .media-content { + -webkit-box-flex: 1; + flex: 1 1 0%; + } + .media-figure--center { + align-self: center; + } + .media--reverse { + -webkit-box-orient: horizontal; + -webkit-box-direction: reverse; + flex-direction: row-reverse; + } +} + +/* ----------------------------- */ +/* ==skip links */ +/* ----------------------------- */ +/* see https://www.alsacreations.com/article/lire/572-Les-liens-d-evitement.html */ +/* styling skip links */ +.skip-links { + position: absolute; +} + +.skip-links a { + position: absolute; + overflow: hidden; + clip: rect(1px, 1px, 1px, 1px); + padding: 0.5em; + background: black; + color: white; + text-decoration: none; +} + +.skip-links a:focus { + position: static; + overflow: visible; + clip: auto; +} + +/* ----------------------------- */ +/* ==Tables */ +/* ----------------------------- */ +table, +.table { + width: 100%; + max-width: 100%; + table-layout: fixed; + border-collapse: collapse; + vertical-align: top; + margin-bottom: 2rem; +} + +.table { + display: table; + border: 1px solid #acb3c2; + background: transparent; +} + +.table--zebra tbody tr:nth-child(odd) { + background: #e7e9ed; +} + +.table caption { + caption-side: bottom; + padding: 1rem; + color: #333; + font-style: italic; + text-align: right; +} + +.table td, +.table th { + padding: 0.3rem 0.6rem; + min-width: 2rem; + vertical-align: top; + border: 1px #acb3c2 dotted; + text-align: left; + cursor: default; +} + +.table thead { + color: #212529; + background: transparent; +} + +.table--auto { + table-layout: auto; +} + +/* ----------------------------- */ +/* ==Forms */ +/* ----------------------------- */ +/* thanks to HTML5boilerplate and https://shoelace.style/ */ +/* forms items */ +form, +fieldset { + border: none; +} + +fieldset { + padding: 2rem; +} + +fieldset legend { + padding: 0 0.5rem; + border: 0; + white-space: normal; +} + +label { + display: inline-block; + cursor: pointer; +} + +[type="color"], +[type="date"], +[type="datetime-local"], +[type="email"], +[type="month"], +[type="number"], +[type="password"], +[type="search"], +[type="submit"], +[type="tel"], +[type="text"], +[type="time"], +[type="url"], +[type="week"], +select, +textarea { + font-family: inherit; + font-size: inherit; + border: 0; + box-shadow: 0 0 0 1px #333 inset; + color: #212529; + vertical-align: middle; + padding: 0.5rem 1rem; + margin: 0; + -webkit-transition: 0.25s; + transition: 0.25s; + -webkit-transition-property: box-shadow, background-color, color, border; + transition-property: box-shadow, background-color, color, border; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; +} + +[type="submit"] { + background-color: #333; + color: #fff; + cursor: pointer; +} + +input[readonly] { + background-color: #e7e9ed; +} + +select { + padding-right: 2rem; + border-radius: 0; + background-image: url("data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20standalone%3D%22no%22%3F%3E%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20xmlns%3Axlink%3D%22http%3A//www.w3.org/1999/xlink%22%20style%3D%22isolation%3Aisolate%22%20viewBox%3D%220%200%2020%2020%22%20width%3D%2220%22%20height%3D%2220%22%3E%3Cpath%20d%3D%22%20M%209.96%2011.966%20L%203.523%205.589%20C%202.464%204.627%200.495%206.842%201.505%207.771%20L%201.505%207.771%20L%208.494%2014.763%20C%209.138%2015.35%2010.655%2015.369%2011.29%2014.763%20L%2011.29%2014.763%20L%2018.49%207.771%20C%2019.557%206.752%2017.364%204.68%2016.262%205.725%20L%2016.262%205.725%20L%209.96%2011.966%20Z%20%22%20fill%3D%22inherit%22/%3E%3C/svg%3E"); + background-position: right .6rem center; + background-repeat: no-repeat; + background-size: 1.2rem; +} + +/* hiding IE11 arrow */ +select::-ms-expand { + display: none; +} + +textarea { + min-height: 5em; + vertical-align: top; + resize: vertical; + white-space: pre-wrap; +} + +/* 'x' appears on right of search input when text is entered. This removes it */ +[type="search"]::-webkit-search-decoration, [type="search"]::-webkit-search-cancel-button, [type="search"]::-webkit-search-results-button, [type="search"]::-webkit-search-results-decoration { + display: none; +} + +::-webkit-input-placeholder { + color: #777; +} + +input::-webkit-input-placeholder, textarea::-webkit-input-placeholder { + color: #777; +} + +input::-moz-placeholder, textarea::-moz-placeholder { + color: #777; +} + +input:-ms-input-placeholder, textarea:-ms-input-placeholder { + color: #777; +} + +input::-ms-input-placeholder, textarea::-ms-input-placeholder { + color: #777; +} + +input::placeholder, +textarea::placeholder { + color: #777; +} + +progress { + width: 100%; + vertical-align: middle; +} + +/* ----------------------------- */ +/* ==Buttons */ +/* ----------------------------- */ +/* preferably use + +[(#INCLURE{fond=inclure/menu, env, identifiant=barrenav})] diff --git a/inclure/photo_bien.html b/inclure/photo_bien.html new file mode 100644 index 0000000..aa821f5 --- /dev/null +++ b/inclure/photo_bien.html @@ -0,0 +1,11 @@ +#CACHE{0} +[(#ENV{id_article}|=={0}|oui) [(#SESSION{id_auteur}|mult{-1}|setenv{id_article})] ] +
    + + [(#FICHIER|image_recadre{320:180,-,focus}|image_reduire{320,180})] + +
    + [(#LOGO_SITE_SPIP|image_recadre{320:180,-,focus}|image_reduire{320,180})] +
    + +
    diff --git a/inclure/photo_mot.html b/inclure/photo_mot.html new file mode 100644 index 0000000..a6148d2 --- /dev/null +++ b/inclure/photo_mot.html @@ -0,0 +1,11 @@ +#CACHE{0} + +
    + + [(#FICHIER|image_recadre{320:180,-,focus}|image_reduire{320,180})] + +
    + Pas de photo pour ce bien +
    + +
    diff --git a/inclure/photo_rub.html b/inclure/photo_rub.html new file mode 100644 index 0000000..238815d --- /dev/null +++ b/inclure/photo_rub.html @@ -0,0 +1,11 @@ +#CACHE{0} + +
    + + [[(#TITRE|attribut_html)]] + +
    + Pas de photo pour ce bien +
    + +
    diff --git a/inclure/photos_bien.html b/inclure/photos_bien.html new file mode 100644 index 0000000..a225b33 --- /dev/null +++ b/inclure/photos_bien.html @@ -0,0 +1,26 @@ +#CACHE{0} +[(#ENV{id_article}|=={0}|oui) [(#SESSION{id_auteur}|mult{-1}|setenv{id_article})] ] + +
    + +
    + [(#FICHIER|image_recadre{320:180,-,focus}|image_reduire{320,180})] + + [(#SESSION{statut}|=={0minirezo}|oui) +
    + + + + [(#CREDITS*|=={une}|?{ + Une + , + + + + })] +
    + ] + [
    (#TITRE|sinon{[(#SESSION{statut}|=={0minirezo}|oui)Double cliquez pour ajouter un titre]})
    ] +
    + +
    diff --git a/inclure/placeholder_bien.html b/inclure/placeholder_bien.html new file mode 100644 index 0000000..90e12e5 --- /dev/null +++ b/inclure/placeholder_bien.html @@ -0,0 +1,6 @@ +[(#REM) affichage d'un bloc de remplissage pour compléter les lignes à 3 biens ] +
    +
    + Pas de photo pour ce bien +
    +
    diff --git a/inclure/rss-item.html b/inclure/rss-item.html new file mode 100644 index 0000000..0893911 --- /dev/null +++ b/inclure/rss-item.html @@ -0,0 +1,58 @@ +[(#REM) + Cette page génère le contenu d'un article + pour un flux RSS, appelé depuis backend.html + +] + + [(#TITRE|supprimer_tags|texte_backend)] + [(#URL_ARTICLE|url_absolue)] + [(#URL_ARTICLE|url_absolue)] + [(#DATE|date_iso)] + text/html + [(#LANG)] + [(#LESAUTEURS|supprimer_tags|texte_backend)] + +[(#REM) + Le bloc qui suit diffuse les mots-cles a la mode RSS + +] + [(#TITRE|texte_backend)] + + [(#INTRODUCTION|texte_backend)] + +[(#REM) + Le bloc qui suit diffuse la rubrique et les mots-cles + sous forme de "microformats" + +]- +[<a href="[(#URL_RUBRIQUE|url_absolue)]" rel="directory">(#TITRE|supprimer_tags|texte_backend)</a>] + +/ +[<a href="[(#URL_MOT|url_absolue)]" rel="tag">(#TITRE|texte_backend)</a>] + + + +[(#REM) + Le bloc qui suit diffuse aussi le texte integral de l'article, + ce qui permet une syndication plus riche (mais plus "lourde"). + Fonction desactivable depuis les reglages du site. +][ +(#CONFIG{syndication_integrale}|=={oui}|?{' ',''})[(#LOGO_ARTICLE{right}|image_reduire{150,150}|texte_backend) + ][<div class='rss_chapo'>(#CHAPO|texte_backend)</div> + ][<div class='rss_texte'>(#TEXTE|image_reduire{500,0}|texte_backend)</div> + ][<hr /> + <div <div class='rss_ps'>(#PS|texte_backend)</div> + ][<hr /> + <div class='rss_notes'>(#NOTES|texte_backend)</div>] + +] + +[(#REM) + Le bloc qui suit diffuse l'adresse des documents associes aux articles ; + ajouter par ex. {extension=mp3} pour limiter a un certain type de document. +] [ + ] + + + + diff --git a/inclure/un_bien.html b/inclure/un_bien.html new file mode 100644 index 0000000..54067f8 --- /dev/null +++ b/inclure/un_bien.html @@ -0,0 +1,98 @@ +#SET{id_grpe_tags, 0} #SET{grpes_importants,#ARRAY} +#SET{id_grpe_tags, #ID_GROUPE} +#SET{grpes_importants,#GET{grpes_importants}|push{#ID_GROUPE}} + +#SET{id_mot_statut_bien,0} + + + #SET{id_mot_statut_bien, #ID_MOT} + + + + + + #SET{id_prev,0} #SET{id_next,0} + #SET{id_prev,#ID_ARTICLE} + #SET{id_next,#ID_ARTICLE} + + [(#AUTORISER{modifier, article, #ID_ARTICLE}) + Editer + [(#INCLURE{fond=inclure/bouton_une,id_article=#ENV{id_article}})] + ] + +
    + [(#GET{id_prev}|oui) +
    + + + +
    + ] +

    #TITRE

    + [(#GET{id_next}|oui) +
    + + + +
    + ] +
    +
    +
    +
    + [(#REM) surimpression "Vendu" "Loué"... ] + + +
    +

    #TITRE

    +
    + + + + [(#MODELE{article_owl}{id_article=#ID_ARTICLE}{navigation=true}{autoplay=true}{dots=true})] +
    + +
    + [(#REM) afficher mots-clés et tags dont le groupe est "important" ] + + + #TITRE + + +
    +
    +
    +
    + [

    (#SOUSTITRE)

    ] +
    #TEXTE
    + [
    Surface: (#SURFACE)
    ] + [
    Parking: (#SURFACE_PARKING)
    ] + [
    Loyer: (#LOYER)
    ] +
    +
    +[(#REM) +
    +

    Situation du bien

    + [(#INCLURE{fond=modeles/carte_yaller, + autocenterandzoom=oui, + height=500px, + id_article=#ID_ARTICLE})] +
    +] + + + + diff --git a/inclure/zone_tags.html b/inclure/zone_tags.html new file mode 100644 index 0000000..11ccd7d --- /dev/null +++ b/inclure/zone_tags.html @@ -0,0 +1,10 @@ +#SET{T_id_mots, #ENV{mots, #EVAL{$_COOKIE\['spip_T_id_mots'\]}|json_decode}} #SET{id_grpe_tags, 0} +#SET{id_grpe_tags, #ID_GROUPE} +
    + + + +
    diff --git a/js/a_compresser/champslibres.js b/js/a_compresser/champslibres.js new file mode 100644 index 0000000..8e4870d --- /dev/null +++ b/js/a_compresser/champslibres.js @@ -0,0 +1,76 @@ +jQuery(function($) { + article_precedent_suivant(); + gotop_scroll(); + //onAjaxLoad(gotop_scroll); + + function article_precedent_suivant(){ + $('.parent_prev_next').on('click', 'svg.cursor', function(){ + var id_article = $(this).data('id_article'); + var bloc_recharger = $(this).data('bloc_recharger'); + ajaxReload(bloc_recharger, { + args:{ + id_article:id_article, + }, + }); + }); + } + + // afficher/masquer les mots-clés dans les blocs + function affmasq() { + $('.affmasq').on('click', function() { + var le_parent = $(this).parent(); + le_parent.children('i').toggleClass('hidden'); + var les_mots = $(this).parents('.mots'); + les_mots.children('.am_mots, .am_tags').toggleClass('une_ligne'); + }); + } + + /* retour top pas trop brutal */ + function gotop_scroll(){ + $('a.page-scroll').bind('click', function(event) { + var $anchor = $(this); + $("html, body").animate({ scrollTop: 0 }, "slow"); + event.preventDefault(); + }); + } + + + // les modifs déclenchées au scroll: + // afficher la flêche gotop + // passer en fixed sur le petits écrans + //var barnavOffset = $('#top_contenu').offset().top; + // sale patch pour compenser les pages où le offset est à 0 + /*if (barnavOffset === 0){ + barnavOffset = 26.5; + }*/ + var barnavOffset = 0; + $(window).on('scroll', function () { + if ( $(window).scrollTop() > barnavOffset ) { + $('header').addClass('navbar-fixed-reduite'); + //$('button.burgermenu, #barnav ul.js-sous-menu').addClass('fixed-top'); + } + else { + $('header').removeClass('navbar-fixed-reduite'); + //$('button.burgermenu, #barnav ul.js-sous-menu').removeClass('fixed-top'); + } + }); + + // Fonction exécutée au redimensionnement: afficher la barrenav en fixed ou pas + function redimensionnement() { + var result = document.getElementById('result'); + if("matchMedia" in window) { // Détection + if (window.matchMedia("(min-width:768px)").matches) { + $('#header').removeClass('navbar-fixed-top'); + $('button.burgermenu, #barnav ul.js-sous-menu').removeClass('fixed-top'); + } + else { + $('#header').addClass('navbar-fixed-top'); + $('button.burgermenu, #barnav ul.js-sous-menu').addClass('fixed-top'); + } + } + } + // On lie l'événement resize à la fonction + window.addEventListener('resize', redimensionnement, false); + + +}); diff --git a/js/a_compresser/sous_menu.js b/js/a_compresser/sous_menu.js new file mode 100644 index 0000000..3323baf --- /dev/null +++ b/js/a_compresser/sous_menu.js @@ -0,0 +1,39 @@ +jQuery(function($) { + // Gestion du dropdown + $('.js-sous-menu ul').addClass('js-hidden'); + $('.js-sous-menu').on('click','a',function(e){ + e.stopPropagation(); + var $enfant = $(this).next(); + if ($enfant.length) { + $($enfant).toggleClass('js-hidden'); + return false; + } + }); + + /**! + Navigation Button Toggle class + */ + // old browser or not ? + if (!('querySelector' in document && 'addEventListener' in window)) { + return; + } + window.document.documentElement.className += ' js-enabled'; + + function toggleNav() { + // Define targets by their class or id + var button = document.querySelector('.nav-button'); + var target = document.querySelector('#barnav'); + // click-touch event + if (button) { + button.addEventListener('click', + function (e) { + button.classList.toggle('is-active'); + target.classList.toggle('is-opened'); + e.preventDefault(); + }, false); + } + } // end toggleNav() + toggleNav(); + + +}); diff --git a/js/caret.min.js b/js/caret.min.js new file mode 100644 index 0000000..e63c04a --- /dev/null +++ b/js/caret.min.js @@ -0,0 +1,3 @@ +// http://code.accursoft.com/caret - 1.3.3 +!function(e){e.fn.caret=function(e){var t=this[0],n="true"===t.contentEditable;if(0==arguments.length){if(window.getSelection){if(n){t.focus();var o=window.getSelection().getRangeAt(0),r=o.cloneRange();return r.selectNodeContents(t),r.setEnd(o.endContainer,o.endOffset),r.toString().length}return t.selectionStart}if(document.selection){if(t.focus(),n){var o=document.selection.createRange(),r=document.body.createTextRange();return r.moveToElementText(t),r.setEndPoint("EndToEnd",o),r.text.length}var e=0,c=t.createTextRange(),r=document.selection.createRange().duplicate(),a=r.getBookmark();for(c.moveToBookmark(a);0!==c.moveStart("character",-1);)e++;return e}return t.selectionStart?t.selectionStart:0}if(-1==e&&(e=this[n?"text":"val"]().length),window.getSelection)n?(t.focus(),window.getSelection().collapse(t.firstChild,e)):t.setSelectionRange(e,e);else if(document.body.createTextRange)if(n){var c=document.body.createTextRange();c.moveToElementText(t),c.moveStart("character",e),c.collapse(!0),c.select()}else{var c=t.createTextRange();c.move("character",e),c.select()}return n||t.focus(),e}}(jQuery); + diff --git a/js/editer_bien.js b/js/editer_bien.js new file mode 100644 index 0000000..6b1524f --- /dev/null +++ b/js/editer_bien.js @@ -0,0 +1,46 @@ +jQuery(function($) { + editer_bien(); + //onAjaxLoad(editer_bien); + + function editer_bien(){ + // chargement du datepicker + $('.datepicker').datepicker({ + dateFormat: "dd/mm/yy", + }); + + // on charge dans le input #tags_save les mots au chargement du formulaire + if (typeof(T_hastag_ini) !== 'undefined') { + $('#tags_save').val(JSON.stringify(T_hastag_ini)); + } + + /* DOC : + * https://goodies.pixabay.com/jquery/tag-editor/demo.html + */ + $('#tags_ouverts').tagEditor({ + autocomplete: { + delay: 0, // show suggestions immediately + position: { collision: 'flip' }, // automatic menu position up/down + source: T_hashtag + }, + initialTags: T_hastag_ini, + forceLowercase: false, + placeholder: 'HashTags', + onChange: function(field, editor, tags){ + $('#tags_save').val(JSON.stringify(tags)); + } + }); + + } + + // nb caractères champs SEO + $('.compter').each( function() { + var nb = $(this).val().length; + var id_s = $(this).attr('data-nb'); + $('#' + id_s).html(nb); + }); + $('.compter').on('keyup', function(e) { + var nb = $(this).val().length; + var id_s = $(this).attr('data-nb'); + $('#' + id_s).html(nb); + }); +}); diff --git a/js/mon_site.min.js b/js/mon_site.min.js new file mode 100644 index 0000000..9bb3a87 --- /dev/null +++ b/js/mon_site.min.js @@ -0,0 +1,2 @@ +"use strict";jQuery(function(t){t(".parent_prev_next").on("click","svg.cursor",function(){var e=t(this).data("id_article"),n=t(this).data("bloc_recharger");ajaxReload(n,{args:{id_article:e}})}),t("a.page-scroll").bind("click",function(e){t(this);t("html, body").animate({scrollTop:0},"slow"),e.preventDefault()});t(window).on("scroll",function(){0").css({position:"absolute",top:-9999,left:-9999,width:"auto",fontSize:i.css("fontSize"),fontFamily:i.css("fontFamily"),fontWeight:i.css("fontWeight"),letterSpacing:i.css("letterSpacing"),whiteSpace:"nowrap"}),l=function(){if(e!==(e=i.val())){r.text(e);var t=r.width()+a;20>t&&(t=20),t!=i.width()&&i.width(t)}};return r.insertAfter(i),i.bind("keyup keydown focus",l)},t.fn.tagEditor=function(e,a,r){function l(t){return t.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}var n,o=t.extend({},t.fn.tagEditor.defaults,e),c=this;if(o.dregex=new RegExp("["+o.delimiter.replace("-","-")+"]","g"),"string"==typeof e){var s=[];return c.each(function(){var i=t(this),l=i.data("options"),n=i.next(".tag-editor");if("getTags"==e)s.push({field:i[0],editor:n,tags:n.data("tags")});else if("addTag"==e){if(l.maxTags&&n.data("tags").length>=l.maxTags)return!1;t('
  •  '+l.delimiter[0]+'
  • ').appendTo(n).find(".tag-editor-tag").html('').addClass("active").find("input").val(a).blur(),r?t(".placeholder",n).remove():n.click()}else"removeTag"==e?(t(".tag-editor-tag",n).filter(function(){return t(this).text()==a}).closest("li").find(".tag-editor-delete").click(),r||n.click()):"destroy"==e&&i.removeClass("tag-editor-hidden-src").removeData("options").off("focus.tag-editor").next(".tag-editor").remove()}),"getTags"==e?s:this}return window.getSelection&&t(document).off("keydown.tag-editor").on("keydown.tag-editor",function(e){if(8==e.which||46==e.which||e.ctrlKey&&88==e.which){try{var a=getSelection(),r="INPUT"!=document.activeElement.tagName?t(a.getRangeAt(0).startContainer.parentNode).closest(".tag-editor"):0}catch(e){r=0}if(a.rangeCount>0&&r&&r.length){var l=[],n=a.toString().split(r.prev().data("options").dregex);for(i=0;i
    '+o.placeholder+"
    ")}function i(i){var a=c.toString();c=t(".tag-editor-tag:not(.deleted)",s).map(function(e,i){var a=t.trim(t(this).hasClass("active")?t(this).find("input").val():t(i).text());return a?a:void 0}).get(),s.data("tags",c),r.val(c.join(o.delimiter[0])),i||a!=c.toString()&&o.onChange(r,s,c),e()}function a(e){for(var a,n=e.closest("li"),d=e.val().replace(/ +/," ").split(o.dregex),g=e.data("old_tag"),f=c.slice(0),h=!1,u=0;u
     '+o.delimiter[0]+'
    '+l(v)+'
    '),o.maxTags&&f.length>=o.maxTags)){h=!0;break}e.attr("maxlength",o.maxLength).removeData("old_tag").val(""),h?e.blur():e.focus(),i()}var r=t(this),c=[],s=t("
      ').insertAfter(r);r.addClass("tag-editor-hidden-src").data("options",o).on("focus.tag-editor",function(){s.click()}),s.append('
    •  
    • ');var d='
    •  '+o.delimiter[0]+'
    • ';s.click(function(e,i){var a,r,l=99999;if(!window.getSelection||""==getSelection())return o.maxTags&&s.data("tags").length>=o.maxTags?(s.find("input").blur(),!1):(n=!0,t("input:focus",s).blur(),n?(n=!0,t(".placeholder",s).remove(),i&&i.length?r="before":t(".tag-editor-tag",s).each(function(){var n=t(this),o=n.offset(),c=o.left,s=o.top;e.pageY>=s&&e.pageY<=s+n.height()&&(e.pageXa&&(l=a,i=n))}),"before"==r?t(d).insertBefore(i.closest("li")).find(".tag-editor-tag").click():"after"==r?t(d).insertAfter(i.closest("li")).find(".tag-editor-tag").click():t(d).appendTo(s).find(".tag-editor-tag").click(),!1):!1)}),s.on("click",".tag-editor-delete",function(){if(t(this).prev().hasClass("active"))return t(this).closest("li").find("input").caret(-1),!1;var a=t(this).closest("li"),l=a.find(".tag-editor-tag");return o.beforeTagDelete(r,s,c,l.text())===!1?!1:(l.addClass("deleted").animate({width:0},o.animateDelete,function(){a.remove(),e()}),i(),!1)}),o.clickDelete&&s.on("mousedown",".tag-editor-tag",function(a){if(a.ctrlKey||a.which>1){var l=t(this).closest("li"),n=l.find(".tag-editor-tag");return o.beforeTagDelete(r,s,c,n.text())===!1?!1:(n.addClass("deleted").animate({width:0},o.animateDelete,function(){l.remove(),e()}),i(),!1)}}),s.on("click",".tag-editor-tag",function(e){if(o.clickDelete&&(e.ctrlKey||e.which>1))return!1;if(!t(this).hasClass("active")){var i=t(this).text(),a=Math.abs((t(this).offset().left-e.pageX)/t(this).width()),r=parseInt(i.length*a),n=t(this).html('').addClass("active").find("input");if(n.data("old_tag",i).tagEditorInput().focus().caret(r),o.autocomplete){var c=t.extend({},o.autocomplete),d="select"in c?o.autocomplete.select:"";c.select=function(e,i){d&&d(e,i),setTimeout(function(){s.trigger("click",[t(".active",s).find("input").closest("li").next("li").find(".tag-editor-tag")])},20)},n.autocomplete(c)}}return!1}),s.on("blur","input",function(d){d.stopPropagation();var g=t(this),f=g.data("old_tag"),h=t.trim(g.val().replace(/ +/," ").replace(o.dregex,o.delimiter[0]));if(h){if(h.indexOf(o.delimiter[0])>=0)return void a(g);if(h!=f)if(o.forceLowercase&&(h=h.toLowerCase()),cb_val=o.beforeTagSave(r,s,c,f,h),h=cb_val||h,cb_val===!1){if(f)return g.val(f).focus(),n=!1,void i();try{g.closest("li").remove()}catch(d){}f&&i()}else o.removeDuplicates&&t(".tag-editor-tag:not(.active)",s).each(function(){t(this).text()==h&&t(this).closest("li").remove()})}else{if(f&&o.beforeTagDelete(r,s,c,f)===!1)return g.val(f).focus(),n=!1,void i();try{g.closest("li").remove()}catch(d){}f&&i()}g.parent().html(l(h)).removeClass("active"),h!=f&&i(),e()});var g;s.on("paste","input",function(){t(this).removeAttr("maxlength"),g=t(this),setTimeout(function(){a(g)},30)});var f;s.on("keypress","input",function(e){o.delimiter.indexOf(String.fromCharCode(e.which))>=0&&(f=t(this),setTimeout(function(){a(f)},20))}),s.on("keydown","input",function(e){var i=t(this);if((37==e.which||!o.autocomplete&&38==e.which)&&!i.caret()||8==e.which&&!i.val()){var a=i.closest("li").prev("li").find(".tag-editor-tag");return a.length?a.click().find("input").caret(-1):!i.val()||o.maxTags&&s.data("tags").length>=o.maxTags||t(d).insertBefore(i.closest("li")).find(".tag-editor-tag").click(),!1}if((39==e.which||!o.autocomplete&&40==e.which)&&i.caret()==i.val().length){var l=i.closest("li").next("li").find(".tag-editor-tag");return l.length?l.click().find("input").caret(0):i.val()&&s.click(),!1}if(9==e.which){if(e.shiftKey){var a=i.closest("li").prev("li").find(".tag-editor-tag");if(a.length)a.click().find("input").caret(0);else{if(!i.val()||o.maxTags&&s.data("tags").length>=o.maxTags)return r.attr("disabled","disabled"),void setTimeout(function(){r.removeAttr("disabled")},30);t(d).insertBefore(i.closest("li")).find(".tag-editor-tag").click()}return!1}var l=i.closest("li").next("li").find(".tag-editor-tag");if(l.length)l.click().find("input").caret(0);else{if(!i.val())return;s.click()}return!1}if(!(46!=e.which||t.trim(i.val())&&i.caret()!=i.val().length)){var l=i.closest("li").next("li").find(".tag-editor-tag");return l.length?l.click().find("input").caret(0):i.val()&&s.click(),!1}if(13==e.which)return s.trigger("click",[i.closest("li").next("li").find(".tag-editor-tag")]),o.maxTags&&s.data("tags").length>=o.maxTags&&s.find("input").blur(),!1;if(36!=e.which||i.caret()){if(35==e.which&&i.caret()==i.val().length)s.find(".tag-editor-tag").last().click();else if(27==e.which)return i.val(i.data("old_tag")?i.data("old_tag"):"").blur(),!1}else s.find(".tag-editor-tag").first().click()});for(var h=o.initialTags.length?o.initialTags:r.val().split(o.dregex),u=0;u=o.maxTags);u++){var v=t.trim(h[u].replace(/ +/," "));v&&(o.forceLowercase&&(v=v.toLowerCase()),c.push(v),s.append('
    •  '+o.delimiter[0]+'
      '+l(v)+'
    • '))}i(!0),o.sortable&&t.fn.sortable&&s.sortable({distance:5,cancel:".tag-editor-spacer, input",helper:"clone",update:function(){i()}})})},t.fn.tagEditor.defaults={initialTags:[],maxTags:0,maxLength:50,delimiter:",;",placeholder:"",forceLowercase:!0,removeDuplicates:!0,clickDelete:!1,animateDelete:175,sortable:!0,autocomplete:null,onChange:function(){},beforeTagSave:function(){},beforeTagDelete:function(){}}}(jQuery); diff --git a/js/test.js b/js/test.js new file mode 100644 index 0000000..a367756 --- /dev/null +++ b/js/test.js @@ -0,0 +1,14 @@ +// test js +console.log("coucou"); + +/** + * Cette fonction permet de manipuler le DOM des menus dropdown avec Bootstrap4 + */ +$(function () { + $('a + ul').parent().addClass('dropdown'); + $('li.dropdown').children('a.nav-link').addClass("dropdown-toggle"); + $('li.dropdown').children('a.nav-link').attr('id', 'navbarDropdownMenuLink').attr('data-toggle', 'dropdown').attr('aria-haspopup', 'true').attr('aria-expanded', 'false'); + $('a#navbarDropdownMenuLink').siblings('ul').wrap('