From a09c77d23f335be83f56677439a33c2ee3678cf9 Mon Sep 17 00:00:00 2001 From: Kazhnuz Date: Wed, 10 Apr 2024 20:54:20 +0200 Subject: [PATCH] feat: version initiale du theme --- css/style.css | 1431 ++++++++++++++++++++++++++++++ fonts/teko-bold-webfont.woff | Bin 0 -> 20120 bytes fonts/teko-bold-webfont.woff2 | Bin 0 -> 15308 bytes fonts/teko-light-webfont.woff | Bin 0 -> 19604 bytes fonts/teko-medium-webfont.woff | Bin 0 -> 20352 bytes fonts/teko-regular-webfont.woff | Bin 0 -> 20344 bytes fonts/teko-semibold-webfont.woff | Bin 0 -> 20452 bytes generate.sh | 1 + img/background.png | Bin 0 -> 6620 bytes img/default-preview.png | Bin 0 -> 12043 bytes img/favicon.png | Bin 0 -> 159 bytes img/logo.png | Bin 0 -> 44446 bytes index.php | 46 + languages/en.json | 7 + metadata.json | 10 + php/category.php | 74 ++ php/footer.php | 40 + php/head.php | 20 + php/header.php | 81 ++ php/home.php | 97 ++ php/icons.php | 29 + php/page.php | 65 ++ php/search.php | 73 ++ php/sidebar.php | 53 ++ php/tag.php | 74 ++ scss/_core.scss | 9 + scss/_definitions.scss | 12 + scss/_dep.scss | 2 + scss/_drawing.scss | 18 + scss/_global.scss | 9 + scss/_mixins.scss | 10 + scss/_utils.scss | 12 + scss/components/_badges.scss | 9 + scss/components/_breadcrumb.scss | 25 + scss/components/_btn-groups.scss | 24 + scss/components/_buttons.scss | 72 ++ scss/components/_cards.scss | 60 ++ scss/components/_input.scss | 93 ++ scss/components/_menus.scss | 122 +++ scss/components/_pagination.scss | 32 + scss/components/_previews.scss | 263 ++++++ scss/components/_sidebar.scss | 21 + scss/components/_tables.scss | 19 + scss/components/_toasts.scss | 33 + scss/core/_bases.scss | 47 + scss/core/_box-sizing.scss | 18 + scss/core/_columns.scss | 68 ++ scss/core/_containers.scss | 11 + scss/core/_icons.scss | 15 + scss/core/_normalize.scss | 349 ++++++++ scss/core/_typography.scss | 179 ++++ scss/custom/_article.scss | 37 + scss/custom/_featured.scss | 39 + scss/custom/_global.scss | 200 +++++ scss/custom/_mobile.scss | 41 + scss/custom/_previews.scss | 99 +++ scss/definitions/_borders.scss | 6 + scss/definitions/_fonts.scss | 54 ++ scss/definitions/_palette.scss | 113 +++ scss/definitions/_shadows.scss | 8 + scss/definitions/_sizing.scss | 35 + scss/mixins/_borders.scss | 15 + scss/mixins/_btns.scss | 48 + scss/mixins/_colors.scss | 67 ++ scss/mixins/_li.scss | 13 + scss/mixins/_panels.scss | 58 ++ scss/mixins/_responsive.scss | 84 ++ scss/mixins/_shape.scss | 10 + scss/style.scss | 8 + scss/utils/_a11y.scss | 39 + scss/utils/_align.scss | 14 + scss/utils/_borders.scss | 8 + scss/utils/_colorize.scss | 98 ++ scss/utils/_display.scss | 17 + scss/utils/_flex.scss | 35 + scss/utils/_lists.scss | 7 + scss/utils/_sizing.scss | 61 ++ 77 files changed, 4847 insertions(+) create mode 100755 css/style.css create mode 100755 fonts/teko-bold-webfont.woff create mode 100755 fonts/teko-bold-webfont.woff2 create mode 100755 fonts/teko-light-webfont.woff create mode 100755 fonts/teko-medium-webfont.woff create mode 100755 fonts/teko-regular-webfont.woff create mode 100755 fonts/teko-semibold-webfont.woff create mode 100755 generate.sh create mode 100755 img/background.png create mode 100755 img/default-preview.png create mode 100755 img/favicon.png create mode 100755 img/logo.png create mode 100755 index.php create mode 100755 languages/en.json create mode 100755 metadata.json create mode 100755 php/category.php create mode 100755 php/footer.php create mode 100755 php/head.php create mode 100755 php/header.php create mode 100755 php/home.php create mode 100755 php/icons.php create mode 100755 php/page.php create mode 100644 php/search.php create mode 100755 php/sidebar.php create mode 100644 php/tag.php create mode 100755 scss/_core.scss create mode 100755 scss/_definitions.scss create mode 100755 scss/_dep.scss create mode 100755 scss/_drawing.scss create mode 100755 scss/_global.scss create mode 100755 scss/_mixins.scss create mode 100755 scss/_utils.scss create mode 100755 scss/components/_badges.scss create mode 100755 scss/components/_breadcrumb.scss create mode 100755 scss/components/_btn-groups.scss create mode 100755 scss/components/_buttons.scss create mode 100755 scss/components/_cards.scss create mode 100755 scss/components/_input.scss create mode 100755 scss/components/_menus.scss create mode 100755 scss/components/_pagination.scss create mode 100755 scss/components/_previews.scss create mode 100755 scss/components/_sidebar.scss create mode 100755 scss/components/_tables.scss create mode 100755 scss/components/_toasts.scss create mode 100755 scss/core/_bases.scss create mode 100755 scss/core/_box-sizing.scss create mode 100755 scss/core/_columns.scss create mode 100755 scss/core/_containers.scss create mode 100755 scss/core/_icons.scss create mode 100755 scss/core/_normalize.scss create mode 100755 scss/core/_typography.scss create mode 100755 scss/custom/_article.scss create mode 100755 scss/custom/_featured.scss create mode 100755 scss/custom/_global.scss create mode 100755 scss/custom/_mobile.scss create mode 100755 scss/custom/_previews.scss create mode 100755 scss/definitions/_borders.scss create mode 100755 scss/definitions/_fonts.scss create mode 100755 scss/definitions/_palette.scss create mode 100755 scss/definitions/_shadows.scss create mode 100755 scss/definitions/_sizing.scss create mode 100755 scss/mixins/_borders.scss create mode 100755 scss/mixins/_btns.scss create mode 100755 scss/mixins/_colors.scss create mode 100755 scss/mixins/_li.scss create mode 100755 scss/mixins/_panels.scss create mode 100755 scss/mixins/_responsive.scss create mode 100755 scss/mixins/_shape.scss create mode 100755 scss/style.scss create mode 100755 scss/utils/_a11y.scss create mode 100755 scss/utils/_align.scss create mode 100755 scss/utils/_borders.scss create mode 100755 scss/utils/_colorize.scss create mode 100755 scss/utils/_display.scss create mode 100755 scss/utils/_flex.scss create mode 100755 scss/utils/_lists.scss create mode 100755 scss/utils/_sizing.scss diff --git a/css/style.css b/css/style.css new file mode 100755 index 0000000..a44a143 --- /dev/null +++ b/css/style.css @@ -0,0 +1,1431 @@ +@charset "UTF-8"; +/* --- 00. PALETTE --- */ +/* + * Les définitions globales des couleurs du theme. + * + * Elle permettent de définir rapidement à la fois les couleurs + * de base qui seront utilisée pour tout le theme, mais + * également celles spécifiques pour certains sujets (liens, texte) + * + */ +@font-face { + font-family: 'Teko'; + src: url("../fonts/teko-light-webfont.woff"); + font-weight: 300; } + +@font-face { + font-family: 'Teko'; + src: url("../fonts/teko-regular-webfont.woff"); + font-weight: 400; } + +@font-face { + font-family: 'Teko'; + src: url("../fonts/teko-medium-webfont.woff"); + font-weight: 500; } + +@font-face { + font-family: 'Teko'; + src: url("../fonts/teko-semibold-webfont.woff"); + font-weight: 600; } + +@font-face { + font-family: 'Teko'; + src: url("../fonts/teko-bold-webfont.woff2") format("woff2"), url("../fonts/teko-bold-webfont.woff") format("woff"); + font-weight: 700; + font-display: swap; } + +/* --- 00. COLORS --- */ +/* + * La gestion des couleurs dans le theme. Cette partie de la stylesheet est + * automatique et n'a pas besoin d'être modifiée + */ +/* 0. CORE +** All the basic functions from the stylesheet +*/ +*, +*::before, +*::after { + box-sizing: inherit; } + +html { + font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Cantarell, Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; + text-align: left; + font-size: 4.75mm; + line-height: 1.6rem; + font-weight: 400; + box-sizing: border-box; + -webkit-text-size-adjust: 100%; } + +body { + margin: 0; + overflow-x: hidden; + text-rendering: optimizeLegibility; + color: var(--text-color); } + +abbr[title] { + border-bottom: none; + text-decoration: underline; + text-decoration: underline dotted; } + +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; } + +sub { + bottom: -0.25em; } + +sup { + top: -0.5em; } + +:root { + --accent-color: #e03131; + --text-color-contrast: #ffffff; + --accent-color-hover: #cc1f1f; + --accent-color-soft: #ffe3e3; + --text-color:#212529; + --link-color-hover:rgba(33, 37, 41, 0.15); + --link-color:#c11d1d; } + +strong { + font-weight: 600; } + +em { + font-style: italic; + font-weight: 400; } + +mark { + padding: 0.05rem 0.25rem; + border-radius: 0.1rem; } + +a { + color: var(--link-color); + outline-color: #e03131; + padding: 0.05rem; + border-radius: 0.1rem; + text-decoration: underline dashed 1px; + text-underline-offset: 0.1rem; } + a:visited { + color: var(--link-color); } + a:hover, a:active { + background-color: var(--link-color-hover); + text-decoration: none; } + +a:focus-visible, input:focus-visible { + outline-style: dashed; + outline-width: 2px; + outline-offset: 1px; } + +mark { + background-color: white; + color: inherit; } + +p, ul, ol { + padding: 0; + padding-bottom: 1.6rem; + margin: 0; } + p:last-child, ul:last-child, ol:last-child { + padding-bottom: 0; } + +ul, ol { + list-style: disc; } + ul ul, ul ol, ol ul, ol ol { + padding-bottom: 0; + margin: 0; } + ul li, ol li { + margin: 0; + margin-left: 1.6rem; + line-height: 1.6rem; } + ul.nolist, ol.nolist { + display: inline; + list-style: none; + margin: 0; + padding: 0; } + ul.nolist li, ol.nolist li { + display: inline; + margin: 0; + padding: 0; } + +::selection, ::-moz-selection { + background-color: #1971c2; + color: #ffffff; } + +h1, h2, h3, h4, h5, h6, h7 { + font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Cantarell, Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; + text-align: left; + font-size: 1em; + padding: 0; + margin: 0; + font-weight: 400; + padding-bottom: 1.6rem; } + h1 a, h2 a, h3 a, h4 a, h5 a, h6 a, h7 a { + border: none; } + +sup > a, sub > a { + color: #e03131; + background-color: transparent; } + sup > a:hover, sup > a:focus, sup > a:active, sub > a:hover, sub > a:focus, sub > a:active { + color: #c11d1d; } + +.main-title { + font-family: Teko, sans-serif; + font-size: 3.815rem; + line-height: 4.8rem; + font-weight: 800; } + +h1, .title-1 { + font-family: Teko, sans-serif; + font-size: 2.441rem; + line-height: 3.2rem; + font-weight: 800; + color: #e03131; } + +h2, .title-2 { + font-size: 2.441rem; + line-height: 3.2rem; + font-weight: 300; } + +h3, .title-3 { + font-size: 1.953rem; + line-height: 3.2rem; + font-weight: 600; } + +h4, .title-4 { + font-size: 1.563rem; + line-height: 3.2rem; + font-weight: 800; } + +h5, .title-5 { + font-size: 1.25rem; + line-height: 1.6rem; + font-weight: 600; } + +h6, .title-6 { + font-size: 1rem; + line-height: 1.6rem; + font-weight: 800; } + +hr { + border: 0px solid rgba(1, 1, 1, 0.15); + border-bottom: 1px; + margin: 1.5em; + box-sizing: content-box; + height: 0; + overflow: visible; } + +pre { + font-family: monospace, monospace; + font-size: 1em; } + +.small-text, +small { + font-size: 0.9em; } + +.time { + font-style: italic; + text-align: right; + width: 100%; + display: block; } + +#wrapper { + background-color: #ffffff; } + +.container-big { + padding-left: 1.6rem; + padding-right: 1.6rem; + max-width: 1600px; + margin: auto; } + +.container, .container-onecolumn { + padding-left: 1.6rem; + padding-right: 1.6rem; + max-width: 1200px; + margin: auto; } + +.icon { + display: inline-block; + width: 1em; + height: 1em; + stroke-width: 0; + stroke: currentColor; + fill: currentColor; + color: currentColor; + position: relative; + top: 0.1em; } + +.icon.icon-newspaper-o { + top: 0.15em; } + +/* --- 04. COMPOSANTS --- */ +/* + * Les différents composants réutilisables de la page. + * + */ +.badge { + border: 0px solid rgba(0, 0, 0, 0.3); + border-radius: 4px 4px 4px 4px; + background-color: transparent; + line-height: 1.5em; + padding-left: 0.4em; + padding-right: 0.4em; + text-decoration: none !important; + background-color: var(--accent-color); + color: var(--text-color-contrast); } + +.btn { + border: 0px solid rgba(0, 0, 0, 0.3); + border-radius: 4px 4px 4px 4px; + background-color: transparent; + text-decoration: none; + padding: 0.5333333333em 1.6em; + margin: 0.5333333333em 0.8em 1.6rem; + line-height: 1.6rem; + height: auto; + transition: background-color .2s, border .2s, box-shadow .2s, color .2s; + outline-color: var(--accent-color); + color: var(--text-color-contrast); + background-color: var(--accent-color); + font-weight: 400; } + .btn:visited { + color: var(--text-color-contrast); } + .btn:hover, .btn:active { + background-color: var(--accent-color-hover); + outline-color: var(--accent-color-hover); + box-shadow: none; } + p .btn:last-child { + margin-bottom: 0; } + .btn .fake { + background-color: transparent !important; + color: var(--text-color); } + +.btn.disabled, +.btn:disabled { + opacity: 0.8; + background-color: var(--accent-color) !important; + outline-color: var(--accent-color) !important; + color: var(--text-color-contrast) !important; } + +.btn-small { + padding: 0.1333333333em 0.2em; + margin: 0.1333333333em 0.2em 1.6rem; } + .btn-small:before { + left: -0.2em; + right: -0.2em; } + +.btn-readmore, +.btn-link { + color: var(--link-color); + background-color: transparent; } + .btn-readmore:visited, + .btn-link:visited { + color: var(--link-color); } + .btn-readmore:hover::before, .btn-readmore:active::before, + .btn-link:hover::before, + .btn-link:active::before { + background-color: var(--link-color-hover); } + +.btn-toolbar { + padding: 0 1.6em; } + +.btn-group > .btn { + border-radius: 4px 4px 4px 4px; + margin: 0 0 0 0 !important; } + +.btn-group:not(:first-child) > .btn { + border-top-left-radius: 0; + border-bottom-left-radius: 0; } + .btn-group:not(:first-child) > .btn:before { + content: " " !important; + border-left: 1px solid rgba(0, 0, 0, 0.2); } + +.btn-group:not(:last-child) > .btn { + border-top-right-radius: 0; + border-bottom-right-radius: 0; } + +ul.breadcrumb, +ol.breadcrumb, +.breadcrumb { + border: 0px solid rgba(0, 0, 0, 0.3); + border-radius: 4px 4px 4px 4px; + background-color: transparent; + background-color: #e9ecef; + padding: 0.8em; + margin: 0 0 1.6rem; + display: flex; + flex-direction: row; + align-items: flex-start; + list-style: none; } + ul.breadcrumb::before, + ol.breadcrumb::before, + .breadcrumb::before { + background-color: #e9ecef; } + ul.breadcrumb li, + ol.breadcrumb li, + .breadcrumb li { + margin: 0; } + +.breadcrumb li:not(:first-child)::before { + content: "/"; + padding: 0.3rem; } + +.breadcrumb .active { + font-weight: 600; } + +nav.pagination { + padding-bottom: 1.6rem; } + nav.pagination .nav-links { + text-align: center; + width: 100%; } + nav.pagination .page-numbers, + nav.pagination .next, + nav.pagination .prev { + border: 0px solid rgba(0, 0, 0, 0.3); + border-radius: 4px 4px 4px 4px; + background-color: transparent; + padding: 0.2em 0.4em; + margin: 0.2em; + text-decoration: none; } + nav.pagination .page-numbers:not(.current):not(.dots), + nav.pagination .next:not(.current):not(.dots), + nav.pagination .prev:not(.current):not(.dots) { + outline-color: var(--accent-color); + color: var(--link-color); } + nav.pagination .page-numbers:not(.current):not(.dots):hover, + nav.pagination .next:not(.current):not(.dots):hover, + nav.pagination .prev:not(.current):not(.dots):hover { + background-color: var(--link-color-hover); } + nav.pagination .page-numbers.current, + nav.pagination .next.current, + nav.pagination .prev.current { + background-color: #e03131; + color: #ffffff; + background-color: #e03131; } + +.card { + border-radius: 8px 8px 8px 8px; + background-color: #e9ecef; + box-shadow: 0px 2px 4px rgba(0, 0, 0, 0); + border: none; + margin: 0; + margin-bottom: 1.6rem; + display: flex; + flex-direction: column; + color: #212529; } + .card > * { + margin-left: 1em; + margin-right: 1em; } + .card > *:first-child, .card > *.sr-only:first-child ~ * { + margin-top: 2em; } + .card > *:first-child.card-header, .card > *.sr-only:first-child ~ *.card-header { + margin-top: 0px; } + .card > *:last-child { + margin-bottom: 2em; } + .card > *:last-child.card-header { + margin-bottom: 0px; } + .card-body { + padding: 0 !important; } + .card-header { + font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Cantarell, Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; + font-size: 1em; + font-weight: 600; + padding: 1em 1.6em; + padding-bottom: 1em !important; + margin: 0.8em 0px; + line-height: 1; + position: relative; + left: 0px; + width: 100%; + border: 0px solid rgba(0, 0, 0, 0.3); + border-radius: 4px 4px 4px 4px; + background-color: transparent; + background-color: var(--accent-color); + border-radius: 0; + font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Cantarell, Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; + color: var(--text-color-contrast); } + .card-header:first-child { + border-top-left-radius: 8px; + border-top-right-radius: 8px; } + .card-header:last-child { + border-bottom-left-radius: 8px; + border-bottom-right-radius: 8px; } + .card-header .icon { + margin-right: 0.25em; } + .card-header::before { + background-color: var(--accent-color); } + +ul.card-list, +.card > ul { + padding: 0; + margin: 0; } + ul.card-list li.list-element, + .card > ul li.list-element { + line-height: 0.8em; + padding: 0.4em, 0.4em, 0.4em, 0.8em; + margin: 0; } + +.menu { + display: flex; + flex-direction: column; } + .menu ul, + .menu li { + list-style: none; + padding: 0; + margin: 0; } + .menu a, + .menu a:visited { + display: flex; + line-height: 1.6em; + padding: 0.4em; + margin: 0; + justify-content: space-between; + align-items: center; + text-decoration: none; + word-wrap: none; + text-overflow: ellipsis; + overflow: hidden; } + .menu a .badge, + .menu a:visited .badge { + margin: 0; } + .menu a { + color: var(--text-color); + outline-color: var(--text-color); } + .menu a:hover, .menu a:active, .menu a.submenu:focus { + background-color: var(--link-color-hover); } + +.submenu .fa-caret-down { + position: relative; + top: 2px; + font-size: 0.8em; } + +.toolbar { + flex-direction: row; + padding: 0.4em; } + .toolbar ul { + display: flex; + flex-direction: row; + flex-grow: 1; } + .toolbar li { + text-align: center; + position: relative; } + .toolbar li a, + .toolbar li span, + .toolbar li em, + .toolbar li strong, .toolbar li.toolbar-element { + display: block; + padding: 0.5333333333em 0.8em; } + .toolbar li ul { + visibility: hidden; + opacity: 0; + position: absolute; + transition: all 0.5s ease; + margin-top: 0rem; + left: 0; + display: none; + padding: 0.33rem; + z-index: 2; + background-color: #e9ecef; } + .toolbar li:hover ul, + .toolbar li ul:hover, .toolbar li:focus-within ul { + visibility: visible; + opacity: 1; + display: flex; + flex-direction: column; + border-radius: 8px; + box-shadow: 0px 1px 1px rgba(0, 0, 0, 0.2); + width: max-content; } + .toolbar li:hover ul li, + .toolbar li ul:hover li, .toolbar li:focus-within ul li { + text-align: left; } + +.menu-divider, +.menu ul h1, +ul.menu h1, +.menu h2, +ul.menu h2 { + position: relative; + left: -0.4em; + font-weight: 800; + padding-top: 0.4em; + padding-bottom: 0.4em; + font-size: 1em; + line-height: 1.6em; } + +.menu-label { + transition: background-color .2s, border .2s, box-shadow .2s, color .2s; + padding-left: 0.4em; + padding-right: 0.4em; } + .menu-label:hover, .menu-label:active { + background-color: transparent; } + +blockquote, +.quote, +.well, +pre, +.pre, +.well-pre, +.toast, +.code { + border: 0; + border-radius: 4px; + margin: 0 0 1.6rem 0; + padding: 1.6rem 1rem 1.6rem 1rem; + max-width: 100%; + font-style: italic; + background-color: #e9ecef; + color: #212529; + box-shadow: 0px 1px 2px rgba(0, 0, 0, 0); } + +.toast { + font-size: 0.8rem; + line-height: 1.5em; + padding: 0.8em; } + +code { + font-family: monospace, monospace; } + +table { + border-collapse: collapse; } + +table, th, td { + border: 0; + padding: 0; + margin: 0; } + +th, td { + vertical-align: center; + padding-top: 0.325em; + padding-bottom: 0.325em; } + +th { + font-weight: 800; } + +.sidebar-container { + width: 100%; + display: grid; + grid-template-columns: 1fr; + grid-template-rows: auto; + row-gap: 1.6rem; + column-gap: 3.2rem; + grid-template-areas: "side" "main"; } + @media (min-width: 992px) { + .sidebar-container { + grid-template-columns: 360px auto; + grid-template-areas: "side main"; } } + .sidebar-container .sidebar { + padding: 1rem; } + +input, +textarea { + width: 100%; + background-color: #ffffff; + border-radius: 4px; + border: 0px solid rgba(0, 0, 0, 0); + padding: 0.4em; + line-height: 1.6em; } + +button, +input, +optgroup, +select, +textarea { + font-family: inherit; + font-size: 100%; + line-height: inherit; + margin: 0; } + +button, +select { + text-transform: none; } + +button, +[type="button"], +[type="reset"], +[type="submit"] { + appearance: button; + -webkit-appearance: button; } + +button::-moz-focus-inner, +[type="button"]::-moz-focus-inner, +[type="reset"]::-moz-focus-inner, +[type="submit"]::-moz-focus-inner { + border-style: none; + padding: 0; } + +button:-moz-focusring, +[type="button"]:-moz-focusring, +[type="reset"]:-moz-focusring, +[type="submit"]:-moz-focusring { + outline: 2px dotted var(--accent-color); } + +fieldset { + padding: 0.35em 0.75em 0.625em; } + +legend { + box-sizing: border-box; + color: inherit; + display: table; + max-width: 100%; + padding: 0; + white-space: normal; } + +progress { + vertical-align: baseline; } + +textarea { + overflow: auto; } + +[type="checkbox"], +[type="radio"] { + box-sizing: border-box; + padding: 0; } + +[type="number"]::-webkit-inner-spin-button, +[type="number"]::-webkit-outer-spin-button { + height: auto; } + +[type="search"] { + appearance: textfield; + -webkit-appearance: textfield; + outline-offset: -2px; } + +[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; } + +::-webkit-file-upload-button { + -webkit-appearance: button; + font: inherit; } + +/* 1. Utils +** All the utilities class of the stylesheet +*/ +/* 1.0 - Accessibility classes + * Some classes to help accessibility +**/ +.sr-only, .screen-reader-text { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + border: 0; } + +.sr-only-focusable:active, +.sr-only-focusable:focus { + position: static; + width: auto; + height: auto; + margin: 0; + overflow: visible; + clip: auto; } + +.skip { + position: absolute; + left: -10000px; + top: auto; + width: 1px; + height: 1px; + overflow: hidden; } + +.skip:focus-within { + position: static; + width: auto; + height: auto; } + +/* 1.1 - Alignement classes + * Handle easily alignement and flexboxes +**/ +.flex-that { + display: flex; + justify-content: space-between; } + +.align-center { + text-align: center; + text-indent: 0 !important; } + +.align-left { + text-align: left; } + +.align-right { + text-align: right; } + +.round, .pill { + border-radius: 9999px; } + +.no-borders { + border-width: 0px; + border-style: none; } + +/* 1.2 - Colorization classes + * Colorize some aspect of a class +**/ +.c-primary { + --accent-color: #e03131; + --text-color-contrast: #ffffff; + --accent-color-hover: #cc1f1f; + --accent-color-soft: #ffe3e3; } + +.c-secondary { + --accent-color: #343a40; + --text-color-contrast: #ffffff; + --accent-color-hover: #3d444b; + --accent-color-soft: #ced4da; } + +.c-warning { + --accent-color: #e8590c; + --text-color-contrast: #ffffff; + --accent-color-hover: #c44b0a; + --accent-color-soft: #ffe8cc; } + +.c-danger { + --accent-color: #e03131; + --text-color-contrast: #ffffff; + --accent-color-hover: #cc1f1f; + --accent-color-soft: #ffe3e3; } + +.c-info { + --accent-color: #1971c2; + --text-color-contrast: #ffffff; + --accent-color-hover: #155da0; + --accent-color-soft: #d0ebff; } + +.c-success { + --accent-color: #2f9e44; + --text-color-contrast: #ffffff; + --accent-color-hover: #268137; + --accent-color-soft: #d3f9d8; } + +.c-muted { + --accent-color: #adb5bd; + --text-color-contrast: #ffffff; + --accent-color-hover: #98a2ac; + --accent-color-soft: #f1f3f5; } + +.c-light { + --accent-color: #ffffff; + --text-color-contrast: #212529; + --accent-color-hover: #ececec; + --accent-color-soft: #ffffff; } + +.c-dark { + --accent-color: #343a40; + --text-color-contrast: #ffffff; + --accent-color-hover: #3d444b; + --accent-color-soft: #ced4da; } + +.bg-accent { + background-color: var(--accent-color); } + +.bg-dark { + background-color: #343a40; } + +.bg { + background-color: #ffffff; } + +.bg-alt { + background-color: #e9ecef; } + +.bg-soft { + background-color: var(--accent-color-soft); } + +.fg-light { + --text-color:#ffffff; + --link-color-hover:rgba(255, 255, 255, 0.3); } + +.fg-dark { + color: #212529; + --text-color:#212529; + --link-color-hover:rgba(33, 37, 41, 0.15); } + +/* 1.3 - List classes + * Handle more easily list +**/ +.no-pills { + list-style: none; } + +/* 1.3 - Sizing classes + * Handle sizing and margin +**/ +.m-half { + margin: 0.8rem; } + +.mb-half { + margin-bottom: 0.8rem; } + +.mr-half { + margin-right: 0.8rem; } + +.ml-half { + margin-left: 0.8rem; } + +.mt-half { + margin-top: 0.8rem; } + +.m-0 { + margin: 0rem; } + +.mb-0 { + margin-bottom: 0rem; } + +.mr-0 { + margin-right: 0rem; } + +.ml-0 { + margin-left: 0rem; } + +.mt-0 { + margin-top: 0rem; } + +.m-1 { + margin: 1.6rem; } + +.mb-1 { + margin-bottom: 1.6rem; } + +.mr-1 { + margin-right: 1.6rem; } + +.ml-1 { + margin-left: 1.6rem; } + +.mt-1 { + margin-top: 1.6rem; } + +.m-2 { + margin: 3.2rem; } + +.mb-2 { + margin-bottom: 3.2rem; } + +.mr-2 { + margin-right: 3.2rem; } + +.ml-2 { + margin-left: 3.2rem; } + +.mt-2 { + margin-top: 3.2rem; } + +.m-3 { + margin: 4.8rem; } + +.mb-3 { + margin-bottom: 4.8rem; } + +.mr-3 { + margin-right: 4.8rem; } + +.ml-3 { + margin-left: 4.8rem; } + +.mt-3 { + margin-top: 4.8rem; } + +.m-4 { + margin: 6.4rem; } + +.mb-4 { + margin-bottom: 6.4rem; } + +.mr-4 { + margin-right: 6.4rem; } + +.ml-4 { + margin-left: 6.4rem; } + +.mt-4 { + margin-top: 6.4rem; } + +.p-half { + padding: 0.8rem; } + +.pb-half { + padding-bottom: 0.8rem; } + +.pr-half { + padding-right: 0.8rem; } + +.pl-half { + padding-left: 0.8rem; } + +.pt-half { + padding-top: 0.8rem; } + +.p-0 { + padding: 0rem; } + +.pb-0 { + padding-bottom: 0rem; } + +.pr-0 { + padding-right: 0rem; } + +.pl-0 { + padding-left: 0rem; } + +.pt-0 { + padding-top: 0rem; } + +.p-1 { + padding: 1.6rem; } + +.pb-1 { + padding-bottom: 1.6rem; } + +.pr-1 { + padding-right: 1.6rem; } + +.pl-1 { + padding-left: 1.6rem; } + +.pt-1 { + padding-top: 1.6rem; } + +.p-2 { + padding: 3.2rem; } + +.pb-2 { + padding-bottom: 3.2rem; } + +.pr-2 { + padding-right: 3.2rem; } + +.pl-2 { + padding-left: 3.2rem; } + +.pt-2 { + padding-top: 3.2rem; } + +.p-3 { + padding: 4.8rem; } + +.pb-3 { + padding-bottom: 4.8rem; } + +.pr-3 { + padding-right: 4.8rem; } + +.pl-3 { + padding-left: 4.8rem; } + +.pt-3 { + padding-top: 4.8rem; } + +.p-4 { + padding: 6.4rem; } + +.pb-4 { + padding-bottom: 6.4rem; } + +.pr-4 { + padding-right: 6.4rem; } + +.pl-4 { + padding-left: 6.4rem; } + +.pt-4 { + padding-top: 6.4rem; } + +.f-column { + display: flex; + flex-direction: column; } + .f-column.reverse { + flex-direction: column-reverse; } + +.f-row { + display: flex; + flex-direction: row; } + .f-row.reverse { + flex-direction: row-reverse; } + +.f-start { + justify-content: flex-start; } + +.f-end { + justify-content: flex-end; } + +.f-center { + justify-content: center; } + +.f-around { + justify-content: space-around; } + +.f-between { + justify-content: space-between; } + +.d-none { + display: none !important; } + @media (min-width: 576px) { + .d-none-sm { + display: none !important; } } + @media (min-width: 768px) { + .d-none-md { + display: none !important; } } + @media (min-width: 992px) { + .d-none-lg { + display: none !important; } } + @media (min-width: 1200px) { + .d-none-xl { + display: none !important; } } + @media (min-width: 1600px) { + .d-none-xxl { + display: none !important; } } +.d-block { + display: block !important; } + @media (min-width: 576px) { + .d-block-sm { + display: block !important; } } + @media (min-width: 768px) { + .d-block-md { + display: block !important; } } + @media (min-width: 992px) { + .d-block-lg { + display: block !important; } } + @media (min-width: 1200px) { + .d-block-xl { + display: block !important; } } + @media (min-width: 1600px) { + .d-block-xxl { + display: block !important; } } +.d-flex { + display: flex !important; } + @media (min-width: 576px) { + .d-flex-sm { + display: flex !important; } } + @media (min-width: 768px) { + .d-flex-md { + display: flex !important; } } + @media (min-width: 992px) { + .d-flex-lg { + display: flex !important; } } + @media (min-width: 1200px) { + .d-flex-xl { + display: flex !important; } } + @media (min-width: 1600px) { + .d-flex-xxl { + display: flex !important; } } +/* 4 - Custom styling + * Styles that are custom to this particular theme +**/ +/* --- 03. GLOBAL STYLING --- */ +/* + * Les styles "globaux" touchant toute la page. + * + */ +.no-pills { + list-style: none; } + +.align-center { + text-align: center; } + +.align-left { + text-align: left; } + +.align-right { + text-align: right; } + +/* ------------------ HEADERS ------------------- */ +#page-header { + background: #e03131 url("../img/background.png"); + margin-bottom: 1.5rem; + font-size: 0.8rem; } + #page-header .fa { + font-size: 1rem; } + +header h1 { + border-style: none !important; + font-weight: 800; + font-size: 5.4em; + font-style: oblique; + padding: 1.5rem; + line-height: 1rem; + max-width: 1200px; + margin: auto; + text-align: center; } + header h1 img { + max-width: 800px; + height: auto; + margin-top: 0rem; + width: 100%; } + header h1 a, header h1 a:visited, header h1 a:hover { + background-color: transparent; + outline-color: white; + display: block; } + +.osd { + background-color: rgba(0, 0, 0, 0.3); } + +.navbar { + border-left: 0; + border-right: 0; + padding: 0.75rem; + color: #ffffff; } + .navbar a { + color: #ffffff; } + .navbar li { + margin: 0; } + +.categories { + font-weight: 800; + font-size: 0.8rem; } + +.dropdown-menu { + box-shadow: 0px 1px 2px rgba(0, 0, 0, 0), inset 0px -2px 0px rgba(0, 0, 0, 0); } + +/* ------------------ CONTAINERS ------------------- */ +.container-big { + padding-left: 1.6rem; + padding-right: 1.6rem; + max-width: 1200px; + margin: auto; } + +.container-blog { + padding-left: 1.6rem; + padding-right: 1.6rem; + max-width: 1200px; + margin: auto; + display: grid; + grid-template-columns: 1fr; + grid-template-rows: auto; + row-gap: 1.6rem; + column-gap: 1.5rem; + grid-template-areas: "main" "side"; } + @media (min-width: 992px) { + .container-blog { + grid-template-columns: auto 300px; + grid-template-areas: "main side"; } } +.fullwidth { + grid-column: span 2; } + +.sidebar { + grid-area: side; + font-size: 0.8rem; } + +ul.tag-list { + display: flex; + padding-bottom: 0; + overflow: hidden; + height: auto; + flex-wrap: wrap; } + ul.tag-list li { + list-style: none; + margin: 3px; } + +.container-preview { + padding-left: 1.6rem; + padding-right: 1.6rem; + max-width: 1200px; + margin: auto; + display: grid; + grid-template-columns: 1fr; + grid-template-rows: auto; + row-gap: 1.6rem; + column-gap: 3rem; + grid-template-areas: "main" "side"; } + @media (min-width: 992px) { + .container-preview { + grid-template-columns: 360px auto; + grid-template-areas: "side main"; } } +.container-onecolumn { + max-width: 1280px; + margin: auto; + padding-bottom: 1.6rem; } + +/* ------------------ PAGE ------------------- */ +#wrapper { + background-color: #ffffff; } + +/* ------------------ FOOTER ------------------- */ +body { + background-color: #343a40; } + +footer { + color: #ffffff; + --link-color: $color-footer-text; + padding-bottom: 1.5rem; } + footer .columns { + font-size: 0.8rem; + margin-top: 1.5rem; } + @media (min-width: 768px) { + footer .columns { + display: grid; + grid-template-columns: 1fr 1fr 1fr; + grid-gap: 1.6rem; } } + footer .columns .col { + margin-bottom: 1.6rem; } + +.home-toast { + max-width: 800px; + width: 100%; + margin: auto; } + +#featured-articles, .preview-grid { + display: grid; + grid-template-columns: 1fr; + grid-template-rows: auto; + grid-gap: 0.5333333333rem; + margin: -0.5333333333rem; + padding-bottom: 1.6rem; } + @media (min-width: 576px) { + #featured-articles, .preview-grid { + grid-template-columns: 1fr 1fr; } } + @media (min-width: 992px) { + #featured-articles, .preview-grid { + grid-template-columns: 1fr 1fr 1fr; } } +@media (min-width: 1200px) { + .preview-grid { + grid-template-columns: 1fr 1fr 1fr 1fr; } } + +.preview-list .preview { + display: block; } + +@media (min-width: 576px) { + .preview-list .preview-thumbnail { + width: min-content; } + .preview-list .preview-thumbnail img { + width: 240px; + margin-right: 0.8rem; } + .preview-list .preview { + display: flex; + align-items: start; + margin-bottom: 1.6rem; } } + +@media (min-width: 1200px) { + .preview-list .preview-thumbnail img { + width: 320px; } } + +.preview-list .preview-text { + flex-grow: 1; } + +.preview { + font-size: 0.8rem; + text-decoration: none; + padding: 0.5333333333rem; + border-radius: 8px; } + +.preview-thumbnail { + display: block; + width: 100%; + background-color: transparent; + object-fit: cover; + padding: 0; + line-height: 0; } + .preview-thumbnail img { + width: 100%; + object-fit: cover; + height: auto; + aspect-ratio: 16/9; + border-radius: 8px; } + +.preview h2, .preview-featured h2 { + font-size: 1.25rem; + line-height: 1.5rem; + font-family: Teko, sans-serif; + font-weight: 800; + height: 3rem; + color: #212529; } + .preview h2 a, .preview-featured h2 a { + background-color: transparent !important; + color: #212529; } + +.preview-featured h2 { + color: #ffffff; } + +.preview-excerpt { + margin-top: 0.8rem; + font-size: 0.8rem; + line-height: 1.25rem; + color: rgba(33, 37, 41, 0.8); } + +.preview-featured { + font-size: 0.8rem; + padding: 0.5333333333rem; } + .preview-featured .preview-link { + display: block; + padding: 0; + border-radius: 8px; + overflow: hidden; + text-decoration: none; } + .preview-featured .preview-link .preview-item { + width: 100%; + height: auto; + aspect-ratio: 16 / 9; + background-size: 100% auto; + background-position: center center; + transition: background-size .5s; } + .preview-featured .preview-link .preview-item:hover { + background-size: 120% auto; } + .preview-featured .preview-overlay { + display: flex; + flex-direction: column; + justify-content: space-between; + align-items: flex-start; + height: 100%; + color: white !important; + background: linear-gradient(to top, rgba(0, 0, 0, 0.75) 0%, rgba(0, 0, 0, 0) 60%); + padding: 0.2rem; } + .preview-featured .preview-overlay h2 { + text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.7); } + +.article img { + max-width: 100%; + height: auto; + margin: auto; } + +.article .thumbnail img { + width: 100%; + aspect-ratio: 16 / 9; + border-radius: 8px; + object-fit: cover; } + +.article-meta .author-area { + display: flex; + align-items: center; + margin-bottom: 0.8rem; } + .article-meta .author-area img { + border-radius: 9999px; + width: 4.8rem; + height: auto; + margin: 0; + margin-right: 0.8rem; } + +.article-meta .article-category .badge { + display: inline-block; + margin-bottom: 0.4rem; } + +#mobile-sidebar { + position: fixed; + top: 0; + left: -100vw; + width: 100vw; + height: 100vh; + transition: left 0.2s; + padding: 1rem; + overflow: scroll; } + #mobile-sidebar.shown { + left: 0; } + @media (min-width: 576px) { + #mobile-sidebar { + display: none; } } +.menu-button { + position: fixed; + bottom: 24px; + right: 24px; + background-color: rgba(0, 0, 0, 0.2); + color: #ffffff; + padding: 0.75em; + border: none; + font-size: 1.2rem; + display: flex; + align-content: center; + justify-content: center; + aspect-ratio: 1; + border-radius: 999px; } + .menu-button:hover { + background-color: #e03131; } + @media (min-width: 576px) { + .menu-button { + display: none; } } diff --git a/fonts/teko-bold-webfont.woff b/fonts/teko-bold-webfont.woff new file mode 100755 index 0000000000000000000000000000000000000000..592f7cd624258850adea6f4ef2252dc489c2af47 GIT binary patch literal 20120 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 Ang9R* literal 0 HcmV?d00001 diff --git a/fonts/teko-bold-webfont.woff2 b/fonts/teko-bold-webfont.woff2 new file mode 100755 index 0000000000000000000000000000000000000000..3f05c6c0272d4244ab2960ffd56c7a641d7ab7a8 GIT binary patch literal 15308 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 eojjPnpFEA%0GW9J literal 0 HcmV?d00001 diff --git a/fonts/teko-light-webfont.woff b/fonts/teko-light-webfont.woff new file mode 100755 index 0000000000000000000000000000000000000000..3c7030c9839693dfd4e9ccd1fe735ecc345cc812 GIT binary patch literal 19604 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 literal 0 HcmV?d00001 diff --git a/fonts/teko-regular-webfont.woff b/fonts/teko-regular-webfont.woff new file mode 100755 index 0000000000000000000000000000000000000000..91a438dcaa841e4218b30ccab1d34b669b528d7c GIT binary patch literal 20344 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 literal 0 HcmV?d00001 diff --git a/fonts/teko-semibold-webfont.woff b/fonts/teko-semibold-webfont.woff new file mode 100755 index 0000000000000000000000000000000000000000..b87c0c609d93108f99df0d9e53cb7cb261263dd2 GIT binary patch literal 20452 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 R007pJC0zgkT5ELO003#W!qET# literal 0 HcmV?d00001 diff --git a/generate.sh b/generate.sh new file mode 100755 index 0000000..43aa399 --- /dev/null +++ b/generate.sh @@ -0,0 +1 @@ +sassc scss/style.scss > css/style.css diff --git a/img/background.png b/img/background.png new file mode 100755 index 0000000000000000000000000000000000000000..adc8e32754d6f442152b0d445fd25358cc83e73e GIT binary patch literal 6620 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 S^R2(XwCHLXX%f^Op8OvlBZH>^ literal 0 HcmV?d00001 diff --git a/img/default-preview.png b/img/default-preview.png new file mode 100755 index 0000000000000000000000000000000000000000..89b24a79017e944ab235a12989405552baa89500 GIT binary patch literal 12043 zcmcI~cU;q1({I$pf`#2xP&!fs0*F$i6B{M;_Dkrf5RtAx=v7x-Q9u$Cq@(mCBy=Q5 zQA7z^3GiT1scjmE?f!1+WE>;Kx zavZLG-2?(*0U(eAki!SSUru)WE`k3zy*13euX(t+q1?S8*E~@-y-^MVzE0kE1hnA# zM#%6Jr@=`_?rK|jK_Ev@?)~k9BqW^ye{46>Gt;P-=lv+h^F>W?SoQ3Pn&9s4Znu&E z__0fgzwrDSx)Oh7FJJ0RDDQ~|dEQcK&L@IDS6tvq5T zWVn5~kNqydHmGv8=@M_BvcO%=qtSxD#0veACdO{hemGV1RPlMv0G{Jm;a^{hvAdmN zeRGk^;@3llY%ES3M{G|X0)9St{pbO`<3DvN2`C=kPmnm>qb%_0VaEdqM2ZT(e#OkM zZ-%k!#Wfi|v0&Ko>C>loYCmyCwQ1_0D1`<}$O+;WqJq{uq>dYyWpp9TN{pjSagE1y zgk$nKS%lJF)^!BKcY9i(6BAM zNm+E)a&TT}-o1$618S-U5y3OZwh|60B5p>+7R#!7;&;C_AA#hnnz2K2pb#Sfl16|) z2&|Al#$km05P;>!_%g8X$M}zF;P}V1zsRN>#!mOT6vmdJHd3c5p9UkdpHbyQykqEX zcr}G0Rq{FR4ZVA&WeLa16dcH`5E7`+zu6XC@9(w+*#f!y!N&iNY<}Mc?a+>DW4CpO zTRh2WC@6xWN}I<$psPU|2kae|jib~i z+UxcNKIGKmGd}Jn&l z*BI67yZE)r^QQhs)!uq78x8|z*Bzl4sCDm}l*5Z%4epfz#~*g|hn@cSH~e>{{JUNK z;PVoE=Sk>Cc*F>Ns9T>AP?BZeLYbDJOd0<|nO@EEGAZlJwbGB!GQbBvhLJaxs+q-;mIwh98&F(X;S z2ww{1R#Ih~?#~Ua@s|f)0p6;jHEO)Y-k1x|5jqs_rXdha; zeKQmMVh))3x@R#rnoqZnbO!tGUFfZ7*#W_c5%?-5za20FB$MT%obB4Z(B6&~?YfK& zXVjyy;Glr*E9ITyWC<3guC4xQj6UKDP*9lVqnuEMWA=W7{SKpUy=s=qaNo9yz&-MG zCOo2jG-L_R%{rR3x9Jr#NBv|~ELYji1CP|q* zxlkZjnqYhWF>};nq~E$FL7jWNF=3=rKCHdLz0L1&YtKAF4(qF8=Kai@-ci^5!UQ1b z0J+Rpfd1|Dl!*4F=#)!U&ApzZ@G4=Okaopv-;88xN$lsHJW0h?HEblTJ2yj{otLLF zb&oF2;<78w!pv>b-*J(&;5O)~Y8NM!+)y;p8o8{LPRm!n(DaFN=WWBZPLx6)b}^gl z>*!eQK-wJLPa5)qD1&TPMOH>L$H?bexvEQeTdQ4XUN4w8Tb!S2H+CM}v1hKiWxA{B zF#(t+F2w`?f&NT#Js4Kg{!>vSx=x>ACaT(dsmW!xw-<-_a>XJ!6H870dO>xH`XIjPw z+LXFf=?6tB>vEIRMsl{tK~ZU}lcWpL{4RO3ZX$7N^T-==D*whYia+iq-*UVc;KBv; zMt`~2@#5y>40h43bb4~W<8uYWxVN-55`R@Tk^f`jdc8%rOPZwDhdZd&+2(hmq+tZZ zO`K0bKiFJ3)Z|2|+nM`|*roP-_k@x44=#aEJ|4<}azrwxSE@67a%ZCt8kV{7q@2)n zuk6HU^u(&Etb~*96K*Z!=!|6LvZ1HDJS*L}f43!%^SPKSG#6Y4Z%eE^q22qJg1pVy zJNb?t{n|Z&58B+-ln%I36Lj`I8y6A+T%F6w)ox{sxpC+5*K*0E{buZ(*@Ptkpz$3~ z>HA!IT;mRm_v!TH7%K(`oZGutVuT}FCZ?E{kWIh=M3KCGwzvUm?a;*35|~N+9gzBk!nhzzjYYlR(LK`PmJK#B+)%})OAaG|k`E3+kOMPki7w0>hQv`5JFPGoz_ZD`{;%dbM znJ3Y()i%KxOe|G7en;0UXo!VK+xz@0U`XAn((|o2G_l%T=3$8V{;OM-a&VqiDta`3 zEw*(i@V8ASZ_8E7YI(_~J(c-ThTimNn*yT#B`#SW`+CaC=A!@;f!?hSg?(q>k=Q55 zp#)OHD^O4C!^t5<93xp7pApgrnmm?`im-?|PO&}Ts2xQJwg*b2c-JzGKKn!)B{bd ziigs;bsxHMC*MEi>ydQm6VFfsGwO={J#d|}**Obt*M5UnP;ravJa}el;45-*u;@Nv zg>vG_ZgL!EWvn2pR+cw6(G*e0N{AfDbLuKS89gEvEsrqObc2_~X5^_Jx#5$pB@cJw zl$S^FG~P?%K5%JnPa$K2Rqh10eovl{_jtsk!Pmp4y+H0+>4I_?rc>ql!S;fTO*vwu zee(xrE<{Z0;h%uI<(3qAw6aFjh+?!nUreGtC%wPc#3p!h@={EPX)YzesfXN{)5{a{ zaVea7!lfN3j9eSzyf2lQqk~C*H(eM?yX7qFKV#*=rmH+CKPKR)%Y^loUW8U-9VR?W zUi!X4a+PxP3RQ?F!!ePOB1$HA8ntchFqtnNakyJeJGuotL9T^sO>J`KQ>~tlC9h6q ztK-^V5rWz~dh5)ZmUkmW=ypnoi%4n^$Et*3NHxmv(JtRwq?@$gVxL0DvSwsPWX1uw zR`&sJ?Zu3vD4W2lzWNE{&8cp&+KV3JOA6J?!SO_Qh8{guH3~yC)lWAiO+51GM#acU~gVV9;Mp#qUdTkPyt%z@xPl^LQ%Oj8#~A$rbeW zUVv(3JVA7WtDD}nR6rlTbT%V65C`p}FJ^wtO3)1>?RyQ6Ar@f31#wsy3^1gu_g zvO;HO_|7QwtE?4^7kws~IPR`V??z2c)cWg)^b&HV%Y`acIY(DT8I6u}NokA1s)L2u zwV?$ggShV1`-DhmT59w4?Mcbzw%k*>uO0~D?l%yjWD!pEXyAfl5nKz4lWGNQ9 zLr+$BUJ6Io_t)^NVBp@{pGjaV+GEDIxcgpe>aph?AvsAIWXwYd8hz%2TK7*;AupZd zL;DK}JNBp8FeDv!PYv9p7!rHMyL0a;oHQu}g8?vvcm`BT6UH5f#)`Z3m7(xQm{U-E z0Qu>C&1xfF{Niq4KOq41@xh`)j)XsrTX@{}lUxDN=(Hh2S7`f{V_yz)gan=2*CP|x zHEY;}nyg4QpvJ{LdU*?}2KUI`zTmm(ET#~G;m0pp`Ko(azb@28m?z&+L}(<~5vXcg zXZT%uOb~r8SN=h4rzpNnAiOvdWn=xlB}}bP&3HcTTs8vn>MF6t_L{cFlJ& z+gN0Z3*trpsDvD2LSqJ!yLa=FuQHzZJ=MMRh%tMe>rH1pU?X zw_=3ys_eiA;lzcPjNpWh$HMxsp+wM$yEC?@XvoGVYgH7OxXgv#<#*&{>_Pb`Ymx55 zkQ}B@dZ42&!;8wQmU%L+MF?*F8s;jlpcuci z4+|L4^AZT>s)^L+Y6u#B`q^7rmh_|%W82|KO>z|q2R;By#DYkp6BpfiD@gK=&(cGB z?~2pjv*sS#%W}2S+{6y+9&?d)rz&6hwSNfvWuVMq-{lS#2<_O^Y#55(#HwIBU;QSq z{PKKfZCAbsZ;WRz`T4`&xOExZJi1^W*542(>1Z9dj-tyfKbXW-?ITbhu1$aQiu-cA z!lC;4Ep=C=^u^`5m%vJD5Mc%pMF(06c|{VH-CRSM7f!%t}oFj)vy>W`^IXw380h4$N{*R#TH0r(+8?=NN7V5lZ@aUuOpkB|C<+Y)9%*g9r*w-tjxs5bY+Ps z5fXh~*KZ2v>3UJ{2AP^EZ6zYU0UX5-zc>p47`B7Uabii9C7ly3&%(j+xw-1|!L&5V zD>paSc4oTw@d+IO&0Z-v<)<1IdYs5?$h_7m7m^u!%udPfG=Cp$Xgw2sJ8CUO^~8hy z1ZuLud(l0VL-&0hfG0Ko3}&|R@sscQzo(f6a@N-V{_fVs_nPj29~wIx4u4M~Z;30~ zfi`G<34z>4h|K(KPlOO6$Aud{mXuG`FV;7Jt|24RBG(H1JBY9Tp!Gb9pc*eUPr;_K{qT83nLxhs!3cYLCUx+$yN%_yV2K2x_iX zhv8`H>7KZ9C?tPB)I^D4WsHlD5TWhio)E|J29C+8VJwv>^hHi%WGIWB@ZLOR%q#9X_cZHg3Z_6M# zPrRk&QB`mSq+7KbqMObNoB7|-Wd_)yIlMk_P!e(v}-ht z3+dr3haC(|FLawC-4TCo97-^HUn3 zrkyk555>&iFh92MpA`|r#{s@CdoT+32m3#4YCpGV)zX|Km^uA`##~wOAaoY?bY0-` zcLmlQG&JhDpA zRlV}fcUpDU?DZsZc+0Y$L`*MK0s`T9CRgk|72^s9fUJ^D+U-V|4`rwK)iV+HV<+k_ z@jHoPyLvpY(k?BLTDp*VFWNw0Yk0&tvsZd2D#2bHKcZdg*59!LfQtbv^G*ZTj*q`3 z8FoW%(eCj$l~yT(v0^3xqMk*pVlJKsxJpr-o#v4v!ldZ*$=}d@0QjWt%W%@h5PcZ# zbP+nL(>3}d+#HM$DYXgS^jAcy--ZzTjvmfzD>}+f8mVm0&(qZMF>Q|*X2;e+#EVh4 zvsva>OcjQK1!hE~M8s_XVKg+X+|jQujT>ekHenK->ld)xR* z6FCzLlWWNifnW|5S-|t~(svdK3O$^!Cqk}y@XT3DD@SU!uR%qvrkL9L$+=>W_7us_ z?pFaDAGoo*m8yUKAbCwkQ@S(W_KE%T(UQU5qSnZQbfbv9dE%^5Z`T*+Y^_3fHrSAL z4R4JLPJL}nIgjx&x64V_PM>RxGB9-V&Av39YdCa|KvFSkluB~RDx!RY<4stoOxN&Y7Uo)@q~fyNbW zPATjn`a@+ppaF-i0bj0W&Q)zwdlqYb?Q{`~7GZh1@Wn&yLc8B$7D7W-R{ce3%oUY= z-&g0eM+UM})To5lp(hiE3gF<7=@Syx^pavl)BMqi_A+Qd?%- z6Lzj3LvbPBCgGYH<4PLSHWYUbK=`NWgFadKP1>{x)nDsVudcOx69k!RB!*@}N9wYPfhTEy= zz;T6#3WREmDu5QZD31#6`sfmHf;?5;YR&F<`O9{jf1s-fWfSXscf}b2fk=`Ra-DjX z&yS5(xoIa)96JJfIt}0aM9HkGwW-|S-@XLzPMpMw?gyt0%<@wa@bwW8Qkfv|>Dn&p zOR`$&J$jkf`Sy-`OMDFv1Ztg^u zMri|&)siZY409g13X04t=ZgM^Sn0{x-fQ0-QEHw9?o`=rk3Bc^tZfF>Iob`V96JiG z`}_QOwVYoqXj#wT*BZ)o$d<`l_yzEhk%`0}C0KSyARd6u3-oAk&6U;l9jP}Zk>GYe ziz1D`JHboOMb!~|3?!Vp2I@*uBjzkfi_fi~j7)_lUJw8^ym(jq@^{F+M$?}Lx_gN3 zyRGd%JZsHCnn#asl0#2|U9Xf4LrfpxZD#%2{%oqUYpOEmJuQsfKrsh48ZCHv7++Hkf1IH+w96z58Hg2sMTt4oSp1ncrtj-A92HH*dc(%!OzQc zsLJ_hVWne7E&~hYU)bF4X4Ig9z-1mTquh6<9(p?q`#(K)8HnxGh5{J~`gk5t!@OJ4 z;no(bj2Z2JQ^Ir{&Q1uKU_@MDv=h~Bpw}wj&A?E@Nl=z~)C`OMcM!piGCg@2vVlsv%yEo<24;ldj z?Ww!iJWUJf^E!u&2a6-~822YmydnBlrkF;LycKhr63!*Ywox*NE{1?uRN&LAx^+d9 zzlH^yDXsWgs^r}|yBzS~$^z4d((T2Q%_DlRWW?_lC+Fi_X#U|YfS=ey^*AzICo%EL zuPU2LWjNj&j<-#V*qp-v^up&cnX!P8>uah!DA2PA$=<9sKA)$K4G)$ot4CLxrfNm+ z4F_bM)^^qouEesM^cD!28oAa(!Ro~<=+`(}v#|8Cw;CeKyC`p4#$?s`S>=ZpmQ`D4 zR{9>iy)n%G1UVP6@IIPM>hJy;Qe%x13Hz-8yM_?K(oa*8p7agVU;Cu=%i5sXd~3~F zF}mazwgU2UIeO2lq3@3gf*idR3HxGU$_wWmS&??mp4D)>OU_p60FaORfHS&kH0&e` zjMq#KK3K;J7DrZp4f72wwCqzEl0O|dQBix(?QTj(M^al%X(#T4@3lHsYY!8?9GQX_ zr2S8tZeEfkV&%8Ly>K0^vY4}mV?=vBPq_@p5y~EkB+sq-Rw$dDA&Me9l$-?gL!AI4 zC77AG$KvigSz&CYCS|#{rGEQj4>!)u%27l2Ws_^k*1~pY1FS|ya(7h*$vE*+Xp-cl z3}w@mj&>U%W?p*;z}0BDQBDzlXU10-^Yd&okL%(`&bJC&L&crr;Jj(C|5kz>)&Jpp#E7+La!dp%$bcHQ?5_M6erQgx#27km#gd;wlj9}ZtA-Tc|C`HcG0TLz#+3g|b%}xnj4obrp zNUPRxWG%GzkYv~z#PuUr&9Yi9K2jN*XP^=JN?SR2>0D~77BI9HZ2vTUfxY2^2AQzBz!4}E-2-K;F z!i+Dy@#jyN<(dhL>x`4KJ(7Y(w`5Ejjc@28pYnotz4V}fkO(Nc$**6AFXIwXYHGpQ zm>^EOLV~BrJuc8UF1(~Mqezw}1;V_%ygWQ#H7znb6k?@E%6Q;z$NfJ-^C4Y8nE;X2 z?mT3=XaKP&Fl*P=!r1DF612I*Obk3yHf`XnJRgpO(kLc16bR=EM|l^K4rss;!4_}U zL7ZP*ide|ra6}jhbwYH-DI25G#6%qhOHu&JXcVX7jeR7dJ2u1)bJ0Xh{P2D_6qn%; z3$Tl~I|N>7xC5f;jZ`ad;Cl#XgEFWNT2EYCWaW9I78`$4-kIWk!~PO4XLh?yx&yTm9=- zS()z~FVUO}kM$JpFOhesDa`GoSDXj|fz}k_=tt z3p-JJ1z32UO)R4-2S2nlSsa88)#o;>D6$EpBZkEyPwbbCnO;tJ2ep3&xz8O|sm79! za`>*YT1Dg%q;QcawWO(q>AbOM2o$hbREGAQ631BLUE|gesAALQU_j^Q;s@w?a-qoL z!>wJ_MwjZV%q{^mF_9|2ozqTnelfPzJNdog0xY27iHd`78it}Xe1qZ9k`|)=#MRKX zb7L@et=7Tq>@xT2HtFX}*MO(b<1o8rQF)1>!7@dKTVfqW0=32>Tb4y1v-2KLhc{q9 z(`!mZci27~#*A#{aHni*dbrW;;381EKa zOP)8K8x`FgFY~Fs(;e!!GtsbN>${fM?Y=z3-mu}9p(80oi$pniFG)*OZFRGzpc8xV zZxprQryrjyRWtH$uUMp#ZNzqVCbB~%s??@+Xb;(K7e4iaS?sm^6^qJ&*irqVYrXE; zg`G6?yPH9_&b-l;wx7OMOXQFg%4_LS)sl>zDV>MJz@4?&A_Xn(4axQQNbZwX zg@;VaRVODKTq=BC_OL3$R9fJyBO6kV77q!x0&f#3DZauQ<@uj-yQ@P7`A$ta^FrqX z!nwA6q1q^M{xK18Oz;S$!c}8cZFj5wjfV|C9ygZb+Dw_X!8e>-@fM+|+?}~vP-5D$ zowvN2-yfIJ?N1+CtVt*IM38J}tzmq&3RN3q$&A)OY8OhOL^WK{U*o+K9AJwmt-Wy+fJsfVsGW+Z=i0tj18|q@F3EvL(y6?$gJg? z*%73th!v|DItd?SsulxHHhzQE11!KuvWGxwIY*=keMy9sJnhKUZCkQmdv!^%yCcaM zX)}2j8M$RUWHn!?J1JX&wrLh=G`5-J)+Xpgr{jZ)u&^lT>Ca;?PZ?wrBthiKb;xyv zz7%asJi9XU&calgp)$l9?ebtLDP`OtgPak2@F*oLEA_%K#px84GnyFyIf@_65!tBf zecU1hoY#Tz&3bRibeqyGev2oV0IuP^4l8K;iTssW_yQ?+@h)YDaEYf{l{0BVc;-=q z{t$)h^^Sk#2kAZP1Cy(@=4DxgIMq%*rKtni zzq|Ky5-nPALBBhasua5Wj2CmeT2&HMpP+jSQ%-%*w+E{{F}_=~+R}zuvYix}pt9wA zw%zok%41q+dpoS2>r!^4S(}FV;pQRVt(!dCnpzEpt%z-zMncToQvkKzVA(5#FNd0R zLB=JBD+W6&-I!bHx3bBpC6AITH~Vjt?FJ(4Co?;ZJr?Hh)RkNM_QSUop=$vT1u#jb z@L1>}t<0Vi&9-Iy(8$iNe8!pcd?Vf9U;j`8-*-_L=4o6j&Av0p@0!t zHmI(&#Q_iy%Po^PgPYhW;|Y(Rgc7T7`-xO3Z-b|;^w7YZ@Xo;OpL_RJ!!ct}l0Y+~ zZ<(0xwJzi`4+21|3QKdLv&zD2@$}7arX-#2i8^1{uGKaaJylK4W!aV5bA5a^L#g4a zl{i~(Ig^b?Vw+jp0jrz4PxSZL$RteVF&Q+%Abc?sJk=<)>$SKL9cSI#vRQn(^pHx6~VVCV7$4=*}pK^oQo(f;_{SUmz9gj zSUT2hlZ<+E=tk-0rr<_Tb!>x4x>uSoVe=Jb_dBTzg_%r3U=hML`tK4{-9KWM*Ep+U zl0UDKTQIY4TcUVD0-->dg(*EQc-wG~SDR1(OPbZoz75zo0#b0iXm1e<;E0NedbD*! zqHH$5Fe5@4lUEiXP554qn#p12k?=e=zGyClMG>;1gII9>)S;yp69lN??x2xqd|awh z(a=t4Z;lDQ1c57p+^wCiMO@Wl24bj-CFyoHI?l~4B?INyRsdhVk3fN>*3!cMe=*x`eZZMi#8c>kNrv?C>@zsdteAtB z#0ll}@89SafGgwJ`)1_Zw+(zAEAou53ZQdoK7{;fe6ASQWw}wZ@FjS`c-e8=3f_ocOAzL zaovK}OnY}Ws(7^;zBUitd`udg&~UQ3XuatNb~{W}a4}xE&0OF+DkBHt9=_Q`s+Tb? z25u*ub6YWkzRg-=NkhsvndU<0Uy^Oh7ySm0xcDs?0^u>f?5XT~rwHS27!*1DP|NjAq z@Fyyducc)db|JYo?(W<*o- zj*FC8PAd7H?I_1ZusQ-lT0go8|E5gwH!#S*f*t=1s{aLc{2)sduKr|;J!U6cUD$sM zwO)mlR*!h>r@yx4pl{c^*XmbzuLV}~5x_h4(i2i1Jd_U}qpQVe{sjc>?e%BhEQoIX z7=On;_Ry}sDl2HOmAZZO%_M6D_U?Xqp%^^vWJSZX5+B<5rvuqvb z?6zKO^PzRz19{#hhx8AT|6E)6hp_$y^7&^@{*K{)(biu`(H~@BjfZ_2l{c(%PKWL8 zZyhoIn9mZ12%l=huHreS`y5s8(sX>{nLMy1a@Kh587u8S!$AKnQT$Ny9}@kqCFuIA zM0LF_wli--e#T0tI+I&z=U#+;m1VCYWoob+>`}Gs0DC8j^jx@z&BgWR|AQ7ZZ~iS* Z;$_B>+uH^duxl9t*D$zFzIx;Se*pRJnDYPt literal 0 HcmV?d00001 diff --git a/img/favicon.png b/img/favicon.png new file mode 100755 index 0000000000000000000000000000000000000000..f9ee62416dfdee1769ead2d2835c67cc9fc78336 GIT binary patch literal 159 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9F3${@^GvDCf{C>ZGJ z;uvCaIyuFm;Xlt3MmIJfP-Ej_RNi&=|NqD39LmbdT=T2+9JWi|Rg3u~vOD1cZ-U~I zhJZB}?y+vT(6+Os>}A7*`Gq@MwDc6r&4Z4!GF16X$z+L7Gy@vW;OXk;vd$@?2>_1- BFOvWO literal 0 HcmV?d00001 diff --git a/img/logo.png b/img/logo.png new file mode 100755 index 0000000000000000000000000000000000000000..5cec821a6c2afc20dbc1bf05f6ccf292fd9b1c51 GIT binary patch literal 44446 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 literal 0 HcmV?d00001 diff --git a/index.php b/index.php new file mode 100755 index 0000000..e74999e --- /dev/null +++ b/index.php @@ -0,0 +1,46 @@ + + + + + + + + + + +
+ + + +
+ +
+ +
+ + + + + + + + \ No newline at end of file diff --git a/languages/en.json b/languages/en.json new file mode 100755 index 0000000..b91e6f4 --- /dev/null +++ b/languages/en.json @@ -0,0 +1,7 @@ +{ + "theme-data": + { + "name": "Mouette", + "description": "Theme de magazine/blog, créé originellement pour Quarante-Douze." + } +} diff --git a/metadata.json b/metadata.json new file mode 100755 index 0000000..d367577 --- /dev/null +++ b/metadata.json @@ -0,0 +1,10 @@ +{ + "author": "Kazhnuz", + "email": "", + "website": "https://kazhnuz.space", + "version": "0.0.1", + "releaseDate": "2024-03-16", + "license": "MIT", + "compatible": "3.15.0", + "notes": "" +} diff --git a/php/category.php b/php/category.php new file mode 100755 index 0000000..b48d9b9 --- /dev/null +++ b/php/category.php @@ -0,0 +1,74 @@ +
+

+ + slug()); + echo $category->name(); + ?> +

+
+ + 1) : ?> + + +
+ + diff --git a/php/footer.php b/php/footer.php new file mode 100755 index 0000000..fc24bc6 --- /dev/null +++ b/php/footer.php @@ -0,0 +1,40 @@ +
+

Informations sur le site

+ +
+
+

Les contenus sont diffusé sous licence Creative Common Attribution - Partage à l'Identique 4.0 - hors mention contraire.

+

Ces licences vous autorise à partager et copier mes travaux, tant que vous me citiez en source, et que vous autorisez la même chose pour les travaux qui en seraient dérivés. N'hésitez pas à partager ! ❤️

+
+ +
+ +

Ce site est propulsé par

+

Le theme de ce blog est disponible sous licence CC BY-SA et GPL v3. Il utilise un framework custom, des icones venant de Fork-Awesome, et la palette Open-Color

+
+ +
+

Ce site n'a pas de système de commentaire intégré, pour éviter le potentiel travail de modération, gestion des spams, etc (que je préfère faire sur des espaces communautaires).

+

Cependant toute critique, remarque, etc. est la bienvenue. Pour cela, vous pouvez me contacter à kazhnuz [at] kobold [point] cafe ou sur mes réseaux sociaux.

+
+
+
\ No newline at end of file diff --git a/php/head.php b/php/head.php new file mode 100755 index 0000000..de4ca86 --- /dev/null +++ b/php/head.php @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/php/header.php b/php/header.php new file mode 100755 index 0000000..dd18bea --- /dev/null +++ b/php/header.php @@ -0,0 +1,81 @@ + + diff --git a/php/home.php b/php/home.php new file mode 100755 index 0000000..12ae10e --- /dev/null +++ b/php/home.php @@ -0,0 +1,97 @@ +
+ + +
+

+ + À la une +

+ +
+ +
+

Publications

+ + + + + 1) : ?> + + +
+
\ No newline at end of file diff --git a/php/icons.php b/php/icons.php new file mode 100755 index 0000000..5a00215 --- /dev/null +++ b/php/icons.php @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/php/page.php b/php/page.php new file mode 100755 index 0000000..921adce --- /dev/null +++ b/php/page.php @@ -0,0 +1,65 @@ +
+ +
+

title(); ?>

+ coverImage()): ?> + + + isStatic() && !$url->notFound()): ?> +

13 minutes

+ + +
+ content(); ?> +
+ isStatic() && !$url->notFound()): ?> + + + +
+
+ + diff --git a/php/search.php b/php/search.php new file mode 100644 index 0000000..fe3a102 --- /dev/null +++ b/php/search.php @@ -0,0 +1,73 @@ +
+

+ slug()); + echo "Recherche pour « " . $title[1] . " »"; + ?> +

+ + + 1) : ?> + + +
+ + diff --git a/php/sidebar.php b/php/sidebar.php new file mode 100755 index 0000000..d59ab9f --- /dev/null +++ b/php/sidebar.php @@ -0,0 +1,53 @@ + \ No newline at end of file diff --git a/php/tag.php b/php/tag.php new file mode 100644 index 0000000..5afcfe8 --- /dev/null +++ b/php/tag.php @@ -0,0 +1,74 @@ +
+

+ + slug()); + echo $tag->name(); + ?> +

+ + + 1) : ?> + + +
+ + diff --git a/scss/_core.scss b/scss/_core.scss new file mode 100755 index 0000000..fbd3fe2 --- /dev/null +++ b/scss/_core.scss @@ -0,0 +1,9 @@ +/* 0. CORE +** All the basic functions from the stylesheet +*/ + +@import 'core/bases'; +@import 'core/typography'; +@import 'core/containers'; +@import 'core/icons'; +//@import 'core/columns'; diff --git a/scss/_definitions.scss b/scss/_definitions.scss new file mode 100755 index 0000000..e8af2d9 --- /dev/null +++ b/scss/_definitions.scss @@ -0,0 +1,12 @@ +// DEFINITIONS + +// Global definitions and variables of the stylesheet +// With them, you can customize easily how the style look +// Look at each component inside the definitions subfolder to customize the +// styles + +@import 'definitions/palette'; +@import 'definitions/shadows'; +@import 'definitions/fonts'; +@import 'definitions/borders'; +@import 'definitions/sizing'; diff --git a/scss/_dep.scss b/scss/_dep.scss new file mode 100755 index 0000000..a933bc2 --- /dev/null +++ b/scss/_dep.scss @@ -0,0 +1,2 @@ +// DEPENDECIES +// Other style used as dependencies diff --git a/scss/_drawing.scss b/scss/_drawing.scss new file mode 100755 index 0000000..2e1e535 --- /dev/null +++ b/scss/_drawing.scss @@ -0,0 +1,18 @@ +/* --- 04. COMPOSANTS --- */ + +/* + * Les différents composants réutilisables de la page. + * + */ + +@import 'components/badges'; +@import 'components/buttons'; +@import 'components/btn-groups'; +@import 'components/breadcrumb'; +@import 'components/pagination'; +@import 'components/cards'; +@import 'components/menus'; +@import 'components/toasts'; +@import 'components/tables'; +@import 'components/sidebar'; +@import 'components/input'; diff --git a/scss/_global.scss b/scss/_global.scss new file mode 100755 index 0000000..ce1e818 --- /dev/null +++ b/scss/_global.scss @@ -0,0 +1,9 @@ +/* 4 - Custom styling + * Styles that are custom to this particular theme +**/ + +@import 'custom/global'; +@import 'custom/previews'; +@import 'custom/featured'; +@import 'custom/article'; +@import 'custom/mobile'; \ No newline at end of file diff --git a/scss/_mixins.scss b/scss/_mixins.scss new file mode 100755 index 0000000..d59131c --- /dev/null +++ b/scss/_mixins.scss @@ -0,0 +1,10 @@ +// MIXINS +// Include every mixins files + +@import 'mixins/colors'; +@import 'mixins/responsive'; +@import 'mixins/borders'; +@import 'mixins/shape'; +@import 'mixins/btns'; +@import 'mixins/panels'; +@import 'mixins/li'; diff --git a/scss/_utils.scss b/scss/_utils.scss new file mode 100755 index 0000000..725c49c --- /dev/null +++ b/scss/_utils.scss @@ -0,0 +1,12 @@ +/* 1. Utils +** All the utilities class of the stylesheet +*/ + +@import 'utils/a11y'; +@import 'utils/align'; +@import 'utils/borders'; +@import 'utils/colorize'; +@import 'utils/lists'; +@import 'utils/sizing'; +@import 'utils/flex'; +@import 'utils/display'; \ No newline at end of file diff --git a/scss/components/_badges.scss b/scss/components/_badges.scss new file mode 100755 index 0000000..508ad00 --- /dev/null +++ b/scss/components/_badges.scss @@ -0,0 +1,9 @@ +.badge { + @include shape-style($button_large); + line-height: 1.5em; + padding-left: $button_small; + padding-right: $button_small; + text-decoration: none !important; + background-color: var(--accent-color); + color: var(--text-color-contrast); +} \ No newline at end of file diff --git a/scss/components/_breadcrumb.scss b/scss/components/_breadcrumb.scss new file mode 100755 index 0000000..a075363 --- /dev/null +++ b/scss/components/_breadcrumb.scss @@ -0,0 +1,25 @@ +ul.breadcrumb, +ol.breadcrumb, +.breadcrumb { + @include shape-style($button_large); + background-color: $color-background-alt; + + &::before { + background-color: $color-background-alt; + } + + padding: $button_large/2; + margin: 0 0 $lineheight; + @include li-flex(); +} + +.breadcrumb { + li:not(:first-child)::before { + content: "/"; + padding: 0.3rem; + } + + .active { + font-weight: 600; + } +} diff --git a/scss/components/_btn-groups.scss b/scss/components/_btn-groups.scss new file mode 100755 index 0000000..577b035 --- /dev/null +++ b/scss/components/_btn-groups.scss @@ -0,0 +1,24 @@ +.btn-toolbar { + padding: 0 $button-large; +} + +.btn-group { + & > .btn { + @include border-radius($btn-radius); + margin:0 $button-group-margin 0 $button-group-margin!important; + } + + &:not(:first-child) > .btn { + border-top-left-radius: 0; + border-bottom-left-radius:0; + &:before { + content: " "!important; + border-left:1px solid rgba(0,0,0,0.2); + } + } + + &:not(:last-child) > .btn { + border-top-right-radius: 0; + border-bottom-right-radius:0; + } +} diff --git a/scss/components/_buttons.scss b/scss/components/_buttons.scss new file mode 100755 index 0000000..cb3c61f --- /dev/null +++ b/scss/components/_buttons.scss @@ -0,0 +1,72 @@ +.btn { + @include shape-style($button_large); + text-decoration: none; + padding: $button_large/3 $button_large; + margin: $button_large/3 $button_large/2 $lineheight; + line-height: $lineheight; + height: auto; + + transition: background-color .2s, border .2s, box-shadow .2s, color .2s; + outline-color: var(--accent-color); + color: var(--text-color-contrast); + background-color: var(--accent-color); + + &:visited { + color: var(--text-color-contrast); + } + + &:hover, + &:active { + background-color: var(--accent-color-hover); + outline-color: var(--accent-color-hover); + box-shadow: none; + } + + font-weight: $fontweight_base; + + p &:last-child { + margin-bottom: 0; + } + + .fake { + background-color: transparent !important; + color:var(--text-color); + } +} + +.btn.disabled, +.btn:disabled { + opacity: 0.8; + background-color: var(--accent-color) !important; + outline-color: var(--accent-color) !important; + color: var(--text-color-contrast) !important; +} + +.btn-small { + padding: $button_small/3 $button_small/2; + margin: $button_small/3 $button_small/2 $lineheight; + + &:before { + left: -$button_small/2; + right: -$button_small/2; + } +} + + +.btn-readmore, +.btn-link { + color: var(--link-color); + + &:visited { + color: var(--link-color); + } + background-color: transparent; + + &:hover, + &:active { + &::before { + background-color: var(--link-color-hover); + } + } + +} diff --git a/scss/components/_cards.scss b/scss/components/_cards.scss new file mode 100755 index 0000000..3f2ac25 --- /dev/null +++ b/scss/components/_cards.scss @@ -0,0 +1,60 @@ +$card-bigpad: $lineheight_rel * 1.25; +$card-smallpad: $lineheight_rel / 4; + +.card { + @include panel($card-bigpad); + display: flex; + flex-direction: column; + color: $color-font; + + &-body { + padding: 0 !important; + } + + &-header { + @include panel-header($card-bigpad); + + .icon { + margin-right: 0.25em; + } + + font-family: $basefont; + color: var(--text-color-contrast); + + &::before { + background-color: var(--accent-color); + } + } +} + +@mixin list-symbol($symbol) { + li.list-element { + list-style: none; + + &::before { + font-family: "ForkAwesome"; + content: $symbol; + padding-right: $lineheight_rel / 4; + } + } +} + +@mixin list-color($color) { + li.list-element { + &::before { + color: $color; + } + } +} + +ul.card-list, +.card>ul { + padding: 0; + margin: 0; + + li.list-element { + line-height: $lineheight_rel / 2; + padding: $lineheight_rel / 4, $lineheight_rel / 4, $lineheight_rel / 4, $lineheight_rel / 2; + margin: 0; + } +} \ No newline at end of file diff --git a/scss/components/_input.scss b/scss/components/_input.scss new file mode 100755 index 0000000..8962fff --- /dev/null +++ b/scss/components/_input.scss @@ -0,0 +1,93 @@ +input, +textarea { + width: 100%; + background-color: $color-background; + border-radius: $btn-radius; + border: 0px solid rgba(0, 0, 0, 0); + padding: $lineheight_rel / 4; + line-height: $lineheight_rel; +}button, +input, +optgroup, +select, +textarea { + font-family: inherit; + font-size: 100%; + line-height: inherit; + margin: 0; +} + +button, +select { + text-transform: none; +} + +button, +[type="button"], +[type="reset"], +[type="submit"] { + appearance: button; + -webkit-appearance: button; +} + +button::-moz-focus-inner, +[type="button"]::-moz-focus-inner, +[type="reset"]::-moz-focus-inner, +[type="submit"]::-moz-focus-inner { + border-style: none; + padding: 0; +} + +button:-moz-focusring, +[type="button"]:-moz-focusring, +[type="reset"]:-moz-focusring, +[type="submit"]:-moz-focusring { + outline: 2px dotted var(--accent-color); +} + +fieldset { + padding: 0.35em 0.75em 0.625em; +} + +legend { + box-sizing: border-box; + color: inherit; + display: table; + max-width: 100%; + padding: 0; + white-space: normal; +} + +progress { + vertical-align: baseline; +} + +textarea { + overflow: auto; +} + +[type="checkbox"], +[type="radio"] { + box-sizing: border-box; + padding: 0; +} + +[type="number"]::-webkit-inner-spin-button, +[type="number"]::-webkit-outer-spin-button { + height: auto; +} + +[type="search"] { + appearance: textfield; + -webkit-appearance: textfield; + outline-offset: -2px; +} + +[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} + +::-webkit-file-upload-button { + -webkit-appearance: button; + font: inherit; +} \ No newline at end of file diff --git a/scss/components/_menus.scss b/scss/components/_menus.scss new file mode 100755 index 0000000..d66e05a --- /dev/null +++ b/scss/components/_menus.scss @@ -0,0 +1,122 @@ +.menu { + display: flex; + flex-direction: column; + + ul, + li { + list-style: none; + padding: 0; + margin: 0; + } + + a, + a:visited { + display: flex; + line-height: $lineheight_rel; + padding: $lineheight_rel / 4; + margin: 0; + justify-content: space-between; + align-items: center; + text-decoration: none; + + word-wrap: none; + text-overflow: ellipsis; + overflow: hidden; + + .badge { + margin: 0; + } + } + + a { + color: var(--text-color); + outline-color: var(--text-color); + + &:hover, + &:active, + &.submenu:focus { + background-color: var(--link-color-hover); + } + } +} + +.submenu .fa-caret-down { + position: relative; + top: 2px; + font-size: 0.8em; +} + +.toolbar { + flex-direction: row; + padding: $lineheight_rel/4; + + ul { + display: flex; + flex-direction: row; + + flex-grow: 1; + } + + li { + text-align: center; + position: relative; + + a, + span, + em, + strong, + &.toolbar-element { + display: block; + padding: $lineheight_rel/3 $lineheight_rel/2; + } + + ul { + visibility: hidden; + opacity: 0; + position: absolute; + transition: all 0.5s ease; + margin-top: 0rem; + left: 0; + display: none; + padding: 0.33rem; + z-index: 2; + background-color: $color-background-alt; + } + + &:hover ul, + ul:hover, + &:focus-within ul { + visibility: visible; + opacity: 1; + display: flex; + flex-direction: column; + border-radius: $card-radius; + box-shadow: 0px 1px 1px rgba(0, 0, 0, 0.2); + width: max-content; + + li { + text-align: left; + } + } + } +} + +.menu-divider, +.menu ul h1, +ul.menu h1, +.menu h2, +ul.menu h2 { + position: relative; + left: -$lineheight_rel / 4; + font-weight: $fontweight_hyper; + padding-top: $lineheight_rel / 4; + padding-bottom: $lineheight_rel / 4; + font-size: 1em; + line-height: $lineheight_rel; +} + +.menu-label { + @include button-hover(); + padding-left: $button_small; + padding-right: $button_small; +} \ No newline at end of file diff --git a/scss/components/_pagination.scss b/scss/components/_pagination.scss new file mode 100755 index 0000000..1289935 --- /dev/null +++ b/scss/components/_pagination.scss @@ -0,0 +1,32 @@ +nav.pagination { + padding-bottom: $lineheight; + + .nav-links { + text-align: center; + width: 100%; + } + + .page-numbers, + .next, + .prev { + @include shape-style($button_small); + padding: $button_small/2 $button_small; + margin: $button_small / 2; + text-decoration: none; + + &:not(.current):not(.dots) { + outline-color: var(--accent-color); + color: var(--link-color); + + &:hover { + background-color: var(--link-color-hover); + } + } + + &.current { + @include background-color($color-primary); + + background-color: $color-primary; + } + } +} \ No newline at end of file diff --git a/scss/components/_previews.scss b/scss/components/_previews.scss new file mode 100755 index 0000000..d3ed9fd --- /dev/null +++ b/scss/components/_previews.scss @@ -0,0 +1,263 @@ +$preview-height: 8*$lineheight; +$preview-content-height:165px; +$comment-peek-height:0px; +$comment-height:30px; + +.preview-grid { + display: grid; + grid-template-columns: 1fr; + grid-template-rows: auto; + grid-gap: $lineheight; + padding-bottom: $lineheight; + + @include md() { + grid-template-columns: 1fr 1fr; + } + + @include xl() { + grid-template-columns: 1fr 1fr 1fr; + } + + @include xxl() { + grid-template-columns: 1fr 1fr 1fr 1fr; + } +} + +.preview-container { + width:100%; +} + +@media(max-width:767px){} +@media(min-width:768px){} +@media(min-width:992px){ + + .prev-col-2 .preview-container { + width:50%; + } + + .prev-col-3 .preview-container { + width:33%; + } + + .prev-col-4 .preview-container { + width:25%; + } + +} + +.card-preview { + padding:0; + width:100%; + margin:auto; + box-shadow: $large-shadow, $inset-shadow; +} + +.preview-link { + padding:0; + background-color: transparent; + margin:0!important; +} + +.preview-item { + height: $preview-height; + font-size:0.9rem; + line-height: $lineheight !important; + text-align:justify; + background-color:rgba(0,0,0,0.00); + color:dim(getFontColor()); + position: relative; + + display: flex; + -ms-flex-align: center !important; + align-items: center !important; + justify-content: center; + + .preview-overlay { + height: 100%; + width: 100%; + top: 0; + left: 0; + position: absolute; + padding-top: $card-header-vmargin/2; + backdrop-filter: none; + transition: background-color 0.3s; + @include border-radius($card-radius); + + h1, h2, h3, h4, h5, h6 { + color: $color-font-light; + font-size: 1rem; + line-height: $lineheight; + font-weight:$fontweight_big; + } + + .card-header { + font-family: $basefont; + font-size: 1rem; + @include panel-header($lineheight_half); + @include colorize-shape($color-primary); + color:getTextColorFromBackground($color-primary); + font-weight: $fontweight_big; + margin-top:0px; + } + } + + &:hover { + .preview-overlay { + backdrop-filter: blur(2px); + background-color:rgba(0,0,0,0.4); + + .metadata-pills { + opacity: .9; + transition: opacity .5s, height .5s; + height:$preview-content-height - $comment-height; + } + } + } +} + +.preview-content { + max-height: $preview-height; + overflow:hidden; + background-size: cover; + min-height:100%; + min-width:100%; + @include border-radius($card-radius); + font-size:0.85rem; + line-height:1.25rem; + + h1, h2, h3, h4, h5, h6 { + margin-bottom:0px; + max-width:100%; + display:none; + } + + & > p { + width:100%; + margin:auto; + + & > img { + max-width:100%; + height:auto; + vertical-align:middle; + margin:auto; + text-align:center; + } + + &.p-img { + text-align:center; + margin:auto; + padding:auto; + display: block; + width:100%; + } + } +} + +.preview-metadata { + color: $color-font-light; + height:$preview-content-height; + overflow: hidden; + @include border-radius($card-radius); + + .metadata-pills { + height:$preview-content-height - $comment-peek-height; + opacity: 0; + transition: opacity .3s, height .3s; + display:flex; + justify-content:space-between; + padding-left: $lineheight/2; + padding-right: $lineheight/2; + font-size:0.9em; + } +} + +.card-preview.head-info { + .comment-text { + background-color:$color-secondary; + } +} + +.card-preview.card-grey { + .comment-text { + background-color:$color-muted; + } +} + +.comment-text { + color: $color-font-light; + background-color:$color-primary; + text-align: center; +} + +.card-preview time { + margin-bottom:0.4em; + display:block; +} + +// Author area + +.author-area { + display:flex; + + img.author-avatar, img.avatar { + display:block; + height: $lineheight*3; + width:auto; + border-radius:100%; + padding:0; + margin:0; + margin-right:$lineheight; + } + + .author-metadata { + align-items:center; + display:flex; + flex-direction:column; + justify-content: center; + align-items: flex-start; + } + + .author-date { + font-style:italic; + } + + &:not(:last-child) { + margin-bottom:$lineheight; + } +} + +.pigimg { + display:block; + max-width: 100%; + height:auto; + margin:auto; +} + +.avatar { + background: transparent; +} + +.mwarea { + padding-bottom: $lineheight; + .avatar { + width:80%; + height:auto; + display:block; + margin:auto; + } +} + +.cover { + width:100%; + height:auto; + @include border-radius($card-radius); +} + +.roman { + @include md() { + width:80%; + position:relative; + top:-240px; + margin:auto; + } +} diff --git a/scss/components/_sidebar.scss b/scss/components/_sidebar.scss new file mode 100755 index 0000000..52bb38d --- /dev/null +++ b/scss/components/_sidebar.scss @@ -0,0 +1,21 @@ +.sidebar-container { + width:100%; + + display: grid; + grid-template-columns: 1fr; + grid-template-rows: auto; + row-gap: $lineheight; + column-gap: $lineheight*2; + grid-template-areas: + "side" + "main"; + + @include lg() { + grid-template-columns: 360px auto; + grid-template-areas: "side main"; + } + + .sidebar { + padding:1rem; + } +} diff --git a/scss/components/_tables.scss b/scss/components/_tables.scss new file mode 100755 index 0000000..c6cc8f0 --- /dev/null +++ b/scss/components/_tables.scss @@ -0,0 +1,19 @@ +table { + border-collapse: collapse; +} + +table, th, td { + border:0; + padding:0; + margin:0; +} + +th, td { + vertical-align:center; + padding-top: 0.325em; + padding-bottom: 0.325em; +} + +th { + font-weight: $fontweight_hyper; +} diff --git a/scss/components/_toasts.scss b/scss/components/_toasts.scss new file mode 100755 index 0000000..492e4e3 --- /dev/null +++ b/scss/components/_toasts.scss @@ -0,0 +1,33 @@ +@mixin well() { + border: 0; + border-radius: $well-radius; + + margin: 0 0 $lineheight 0; + padding: $lineheight 1rem $lineheight 1rem; + + max-width: 100%; + font-style: italic; + @include background-color($color-background-alt); + box-shadow: $narrow-shadow; +} + +blockquote, +.quote, +.well, +pre, +.pre, +.well-pre, +.toast, +.code { + @include well(); +} + +.toast { + font-size: 0.8rem; + line-height: 1.5em; + padding: $card-smallpad * 2; +} + +code { + font-family: monospace, monospace; +} \ No newline at end of file diff --git a/scss/core/_bases.scss b/scss/core/_bases.scss new file mode 100755 index 0000000..0c4f1b6 --- /dev/null +++ b/scss/core/_bases.scss @@ -0,0 +1,47 @@ +*, +*::before, +*::after { + box-sizing: inherit; +} + +html { + // Text initialization + font-family: $basefont; + text-align: left; + font-size: $fontsize; + line-height: $lineheight; + font-weight: $fontweight_base; + + // Normalization + box-sizing: border-box; + -webkit-text-size-adjust: 100%; +} + +body { + margin: 0; + overflow-x: hidden; + text-rendering: optimizeLegibility; + color: var(--text-color); +} + +abbr[title] { + border-bottom: none; + text-decoration: underline; + text-decoration: underline dotted; +} + +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; +} + +sub { + bottom: -0.25em; +} + +sup { + top: -0.5em; +} \ No newline at end of file diff --git a/scss/core/_box-sizing.scss b/scss/core/_box-sizing.scss new file mode 100755 index 0000000..dbe61eb --- /dev/null +++ b/scss/core/_box-sizing.scss @@ -0,0 +1,18 @@ +/* 0.2 - Box-sizing + * Make sure that everything have its box-sizing to border-box +**/ + +*, +*::before, +*::after { + box-sizing: inherit; +} + +html { + box-sizing: border-box; +} + +body { + overflow-x: hidden; + text-rendering: optimizeLegibility; +} diff --git a/scss/core/_columns.scss b/scss/core/_columns.scss new file mode 100755 index 0000000..92a9065 --- /dev/null +++ b/scss/core/_columns.scss @@ -0,0 +1,68 @@ +@mixin column($size) { + grid-column: span $size; + width:100%; + margin:0; + + & > *:last-child { + margin-bottom:0!important; + } +} + +@mixin column-list() { + &-1 {@include column(1);} + &-2 {@include column(2);} + &-3 {@include column(3);} + &-4 {@include column(4);} + &-5 {@include column(5);} + &-6 {@include column(6);} + &-7 {@include column(7);} + &-8 {@include column(8);} + &-9 {@include column(9);} + &-10 {@include column(10);} + &-11 {@include column(11);} + &-12 {@include column(12);} +} + +.columns { + display:grid; + grid-gap:$lineheight; + grid-template-columns: repeat(12, 1fr); + grid-template-rows: auto; + padding:$lineheight; + &-nogap { + grid-gap:0px; + } +} + +.column { + @include column(12); +} + +.col { + @include column-list(); + &-sm { + @include sm() { + @include column-list(); + } + } + &-md { + @include md() { + @include column-list(); + } + } + &-lg { + @include lg() { + @include column-list(); + } + } + &-xl { + @include xl() { + @include column-list(); + } + } + &-xxl { + @include xxl() { + @include column-list(); + } + } +} diff --git a/scss/core/_containers.scss b/scss/core/_containers.scss new file mode 100755 index 0000000..d36380f --- /dev/null +++ b/scss/core/_containers.scss @@ -0,0 +1,11 @@ +#wrapper { + background-color: $color-background; +} + +.container-big { + @include container($container-size-large, $lineheight); +} + +.container, .container-onecolumn { + @include container($container-size, $lineheight); +} diff --git a/scss/core/_icons.scss b/scss/core/_icons.scss new file mode 100755 index 0000000..14d97c5 --- /dev/null +++ b/scss/core/_icons.scss @@ -0,0 +1,15 @@ +.icon { + display: inline-block; + width: 1em; + height: 1em; + stroke-width: 0; + stroke: currentColor; + fill: currentColor; + color: currentColor; + position: relative; + top: 0.1em; +} + +.icon.icon-newspaper-o { + top: 0.15em; +} \ No newline at end of file diff --git a/scss/core/_normalize.scss b/scss/core/_normalize.scss new file mode 100755 index 0000000..192eb9c --- /dev/null +++ b/scss/core/_normalize.scss @@ -0,0 +1,349 @@ +/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */ + +/* Document + ========================================================================== */ + +/** + * 1. Correct the line height in all browsers. + * 2. Prevent adjustments of font size after orientation changes in iOS. + */ + +html { + line-height: 1.15; /* 1 */ + -webkit-text-size-adjust: 100%; /* 2 */ +} + +/* Sections + ========================================================================== */ + +/** + * Remove the margin in all browsers. + */ + +body { + margin: 0; +} + +/** + * Render the `main` element consistently in IE. + */ + +main { + display: block; +} + +/** + * Correct the font size and margin on `h1` elements within `section` and + * `article` contexts in Chrome, Firefox, and Safari. + */ + +h1 { + font-size: 2em; + margin: 0.67em 0; +} + +/* Grouping content + ========================================================================== */ + +/** + * 1. Add the correct box sizing in Firefox. + * 2. Show the overflow in Edge and IE. + */ + +hr { + box-sizing: content-box; /* 1 */ + height: 0; /* 1 */ + overflow: visible; /* 2 */ +} + +/** + * 1. Correct the inheritance and scaling of font size in all browsers. + * 2. Correct the odd `em` font sizing in all browsers. + */ + +pre { + font-family: monospace, monospace; /* 1 */ + font-size: 1em; /* 2 */ +} + +/* Text-level semantics + ========================================================================== */ + +/** + * Remove the gray background on active links in IE 10. + */ + +a { + background-color: transparent; +} + +/** + * 1. Remove the bottom border in Chrome 57- + * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari. + */ + +abbr[title] { + border-bottom: none; /* 1 */ + text-decoration: underline; /* 2 */ + text-decoration: underline dotted; /* 2 */ +} + +/** + * Add the correct font weight in Chrome, Edge, and Safari. + */ + +b, +strong { + font-weight: bolder; +} + +/** + * 1. Correct the inheritance and scaling of font size in all browsers. + * 2. Correct the odd `em` font sizing in all browsers. + */ + +code, +kbd, +samp { + font-family: monospace, monospace; /* 1 */ + font-size: 1em; /* 2 */ +} + +/** + * Add the correct font size in all browsers. + */ + +small { + font-size: 80%; +} + +/** + * Prevent `sub` and `sup` elements from affecting the line height in + * all browsers. + */ + +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; +} + +sub { + bottom: -0.25em; +} + +sup { + top: -0.5em; +} + +/* Embedded content + ========================================================================== */ + +/** + * Remove the border on images inside links in IE 10. + */ + +img { + border-style: none; +} + +/* Forms + ========================================================================== */ + +/** + * 1. Change the font styles in all browsers. + * 2. Remove the margin in Firefox and Safari. + */ + +button, +input, +optgroup, +select, +textarea { + font-family: inherit; /* 1 */ + font-size: 100%; /* 1 */ + line-height: 1.15; /* 1 */ + margin: 0; /* 2 */ +} + +/** + * Show the overflow in IE. + * 1. Show the overflow in Edge. + */ + +button, +input { /* 1 */ + overflow: visible; +} + +/** + * Remove the inheritance of text transform in Edge, Firefox, and IE. + * 1. Remove the inheritance of text transform in Firefox. + */ + +button, +select { /* 1 */ + text-transform: none; +} + +/** + * Correct the inability to style clickable types in iOS and Safari. + */ + +button, +[type="button"], +[type="reset"], +[type="submit"] { + -webkit-appearance: button; +} + +/** + * Remove the inner border and padding in Firefox. + */ + +button::-moz-focus-inner, +[type="button"]::-moz-focus-inner, +[type="reset"]::-moz-focus-inner, +[type="submit"]::-moz-focus-inner { + border-style: none; + padding: 0; +} + +/** + * Restore the focus styles unset by the previous rule. + */ + +button:-moz-focusring, +[type="button"]:-moz-focusring, +[type="reset"]:-moz-focusring, +[type="submit"]:-moz-focusring { + outline: 1px dotted ButtonText; +} + +/** + * Correct the padding in Firefox. + */ + +fieldset { + padding: 0.35em 0.75em 0.625em; +} + +/** + * 1. Correct the text wrapping in Edge and IE. + * 2. Correct the color inheritance from `fieldset` elements in IE. + * 3. Remove the padding so developers are not caught out when they zero out + * `fieldset` elements in all browsers. + */ + +legend { + box-sizing: border-box; /* 1 */ + color: inherit; /* 2 */ + display: table; /* 1 */ + max-width: 100%; /* 1 */ + padding: 0; /* 3 */ + white-space: normal; /* 1 */ +} + +/** + * Add the correct vertical alignment in Chrome, Firefox, and Opera. + */ + +progress { + vertical-align: baseline; +} + +/** + * Remove the default vertical scrollbar in IE 10+. + */ + +textarea { + overflow: auto; +} + +/** + * 1. Add the correct box sizing in IE 10. + * 2. Remove the padding in IE 10. + */ + +[type="checkbox"], +[type="radio"] { + box-sizing: border-box; /* 1 */ + padding: 0; /* 2 */ +} + +/** + * Correct the cursor style of increment and decrement buttons in Chrome. + */ + +[type="number"]::-webkit-inner-spin-button, +[type="number"]::-webkit-outer-spin-button { + height: auto; +} + +/** + * 1. Correct the odd appearance in Chrome and Safari. + * 2. Correct the outline style in Safari. + */ + +[type="search"] { + -webkit-appearance: textfield; /* 1 */ + outline-offset: -2px; /* 2 */ +} + +/** + * Remove the inner padding in Chrome and Safari on macOS. + */ + +[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} + +/** + * 1. Correct the inability to style clickable types in iOS and Safari. + * 2. Change font properties to `inherit` in Safari. + */ + +::-webkit-file-upload-button { + -webkit-appearance: button; /* 1 */ + font: inherit; /* 2 */ +} + +/* Interactive + ========================================================================== */ + +/* + * Add the correct display in Edge, IE 10+, and Firefox. + */ + +details { + display: block; +} + +/* + * Add the correct display in all browsers. + */ + +summary { + display: list-item; +} + +/* Misc + ========================================================================== */ + +/** + * Add the correct display in IE 10+. + */ + +template { + display: none; +} + +/** + * Add the correct display in IE 10. + */ + +[hidden] { + display: none; +} diff --git a/scss/core/_typography.scss b/scss/core/_typography.scss new file mode 100755 index 0000000..f9ac450 --- /dev/null +++ b/scss/core/_typography.scss @@ -0,0 +1,179 @@ +@mixin paragraph() { + padding:0; + padding-bottom: $lineheight; + margin: 0; +} + +:root { + @include accent-color($color-primary, get-color-light("primary")); + --text-color:#{$color-font}; + --link-color-hover:#{transparentize($color-font, 0.85)}; + --link-color:#{darken($color-link, 10%)}; +} + +strong { + font-weight: $fontweight_bold; +} + +em { + font-style: italic; + font-weight: $fontweight_base; +} + +mark { + padding: 0.05rem 0.25rem; + border-radius: 0.1rem; +} + +a { + color: var(--link-color); + outline-color: $color-link; + padding: 0.05rem; + border-radius: 0.1rem; + text-decoration: underline dashed 1px; + text-underline-offset: 0.1rem; + + &:visited { + color: var(--link-color); + } + + &:hover, + &:active { + background-color: var(--link-color-hover); + text-decoration: none; + } +} + +a:focus-visible, input:focus-visible { + outline-style: dashed; + outline-width: 2px; + outline-offset: 1px; +} + +mark { + background-color: lighten($color-mark, 30%); + color: inherit; +} + +p, ul, ol { + @include paragraph(); + &:last-child { + padding-bottom:0; + } +} + +ul, ol { + list-style: disc; + ul, ol { + padding-bottom:0; + margin:0; + } + li { + margin:0; + margin-left: $lineheight; + line-height: $lineheight; + } + + &.nolist { + display:inline; + list-style: none; + margin: 0; + padding: 0; + li { + display: inline; + margin: 0; + padding: 0; + } + } +} + +::selection, ::-moz-selection { + @include background-color($color-selection); +} + +@mixin newTitle($size, $weight) { + $lineNumber: ceil($size / 1.5); + font-size: $size * 1rem; + line-height: $lineNumber * $lineheight; + font-weight: $weight; +} + +h1, h2, h3, h4, h5, h6, h7 { + font-family: $basefont; + text-align: left; + font-size: 1em; + padding:0; + margin:0; + font-weight: $fontweight_base; + padding-bottom: $lineheight; + a { + border: none; + } +} + +sup, sub { + & > a { + color: $color-link; + background-color:transparent; + &:hover, &:focus, &:active { + color: darken($color-link, 10%); + } + } +} + +.main-title { + font-family: $titlefont; + @include newTitle(3.815, $fontweight_hyper); +} + +h1, .title-1 { + font-family: $titlefont; + @include newTitle(2.441, $fontweight_hyper); + color: $color-primary; +} + +h2, .title-2 { + @include newTitle(2.441, $fontweight_big); +} + +h3, .title-3 { + @include newTitle(1.953, $fontweight_bold); +} + +h4, .title-4 { + @include newTitle(1.563, $fontweight_hyper); +} + +h5, .title-5 { + @include newTitle(1.25, $fontweight_bold); +} + +h6, .title-6 { + @include newTitle(1, $fontweight_hyper); +} + +hr { + border: 0px solid rgba(1, 1, 1, 0.15); + border-bottom: 1px; + margin: 1.5em; + box-sizing: content-box; + height: 0; + overflow: visible; +} + +pre { + font-family: monospace, monospace; + font-size: 1em; +} + +.small-text, +small { + font-size: 0.9em; +} + +.time { + font-style: italic; + text-align: right; + width: 100%; + display: block; +} \ No newline at end of file diff --git a/scss/custom/_article.scss b/scss/custom/_article.scss new file mode 100755 index 0000000..553e2bc --- /dev/null +++ b/scss/custom/_article.scss @@ -0,0 +1,37 @@ +.article { + img { + max-width:100%; + height:auto; + margin:auto; + } + + .thumbnail img { + width:100%; + aspect-ratio: 16 / 9; + border-radius: $card-radius; + object-fit: cover; + } +} + +.article-meta { + .author-area { + display: flex; + align-items: center; + margin-bottom: $lineheight / 2; + + img { + border-radius: 9999px; + width: $lineheight * 3; + height: auto; + margin: 0; + margin-right: $lineheight / 2; + } + } + + .article-category { + .badge { + display: inline-block; + margin-bottom: $lineheight / 4; + } + } +} \ No newline at end of file diff --git a/scss/custom/_featured.scss b/scss/custom/_featured.scss new file mode 100755 index 0000000..0a7f715 --- /dev/null +++ b/scss/custom/_featured.scss @@ -0,0 +1,39 @@ +.preview-featured { + font-size: 0.8rem; + padding: $lineheight / 3; + + .preview-link { + display: block; + padding:0; + border-radius: $card-radius; + overflow: hidden; + text-decoration: none; + .preview-item { + width: 100%; + height: auto; + aspect-ratio: 16 / 9; + background-size:100% auto; + background-position: center center; + transition: background-size .5s; + + &:hover { + background-size: 120% auto; + } + } + } + + .preview-overlay { + display: flex; + flex-direction: column; + justify-content: space-between; + align-items: flex-start; + height:100%; + color: white !important; + background: linear-gradient(to top, rgba(0, 0, 0, 0.75) 0%, rgba(0, 0, 0, 0) 60%); + padding:$lineheight / 8; + + h2 { + text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.7); + } + } +} \ No newline at end of file diff --git a/scss/custom/_global.scss b/scss/custom/_global.scss new file mode 100755 index 0000000..c73256b --- /dev/null +++ b/scss/custom/_global.scss @@ -0,0 +1,200 @@ +/* --- 03. GLOBAL STYLING --- */ + +/* + * Les styles "globaux" touchant toute la page. + * + */ + +@mixin li-no-margin() { + li { + margin: 0; + } +} + +@mixin container-big() { + padding-left: $lineheight; + padding-right: $lineheight; + max-width: $container-size; + margin:auto; +} + +.no-pills { + list-style:none; +} + +.align { + &-center {text-align: center;} + &-left {text-align: left;} + &-right {text-align: right;} +} + + /* ------------------ HEADERS ------------------- */ + +#page-header { + background: $color-primary url('../img/background.png'); + margin-bottom:1.5rem; + font-size: 0.8rem; + .fa { + font-size: 1rem; + } +} + +header h1 { + border-style:none !important; + font-weight: $fontweight_hyper; + font-size:5.4em; + font-style:oblique; + padding:1.5rem; + line-height: 1rem; + max-width: $container-size; + margin: auto; + text-align:center; + + img { + max-width: 800px; + height: auto; + margin-top:0rem; + width: 100%; + } + + a, a:visited, a:hover { + background-color:transparent; + outline-color:white; + display: block; + } +} + +.osd { + background-color:rgba(0,0,0,0.3); +} + +.navbar { + border-left: 0; + border-right: 0; + padding: 0.75rem; + color: $color-font-light; + a { + color: $color-font-light; + } + @include li-no-margin(); +} + +.categories { + font-weight:800; + font-size:0.8rem; +} + +.dropdown-menu { + box-shadow: $narrow-shadow, $inset-shadow; +} +/* ------------------ CONTAINERS ------------------- */ + +.container-big { + @include container-big(); +} + +.container-blog { + @include container-big(); + + display: grid; + grid-template-columns: 1fr; + grid-template-rows: auto; + row-gap: $lineheight; + column-gap: 1.5rem; + grid-template-areas: + "main" + "side"; + + @include lg() { + grid-template-columns: auto 300px; + grid-template-areas: "main side"; + } +} + +.fullwidth { + grid-column: span 2; +} + +.sidebar { + grid-area: side; + font-size: 0.8rem; +} + +ul.tag-list { + display:flex; + padding-bottom:0; + overflow: hidden; + height:auto; + flex-wrap: wrap; + + li { + list-style: none; + margin:3px; + } +} + +.container-preview { + @include container-big(); + + display: grid; + grid-template-columns: 1fr; + grid-template-rows: auto; + row-gap: $lineheight; + column-gap: 3rem; + grid-template-areas: + "main" + "side"; + + @include lg() { + grid-template-columns: 360px auto; + grid-template-areas: "side main"; + } +} + +.container-onecolumn { + max-width:1280px; + margin: auto; + padding-bottom: $lineheight; +} + +/* ------------------ PAGE ------------------- */ + +#wrapper { + background-color: $color-background; +} + + /* ------------------ FOOTER ------------------- */ + +$color-footer-back: get-color("dark"); +$color-footer-text: get-color("light"); + +body { + // On colorise le background de la page complete de la même + // couleur que le fond du footer. + background-color: $color-footer-back; +} + +footer { + color: $color-footer-text; + --link-color: $color-footer-text; + padding-bottom:1.5rem; + .columns { + font-size:0.8rem; + margin-top: 1.5rem; + @include md() { + display: grid; + grid-template-columns: 1fr 1fr 1fr; + grid-gap: $lineheight; + } + + .col { + margin-bottom: $lineheight; + } + } +} + +.home-toast { + max-width:800px; + width:100%; + margin:auto; +} \ No newline at end of file diff --git a/scss/custom/_mobile.scss b/scss/custom/_mobile.scss new file mode 100755 index 0000000..46c92a7 --- /dev/null +++ b/scss/custom/_mobile.scss @@ -0,0 +1,41 @@ +#mobile-sidebar { + position: fixed; + top:0; + left:-100vw; + width:100vw; + height:100vh; + transition: left 0.2s; + padding: 1rem; + overflow: scroll; + &.shown { + left:0; + } + + @include sm() { + display:none; + } +} + +.menu-button { + position:fixed; + bottom: 24px; + right: 24px; + background-color:rgba(0,0,0,0.2); + color:$color-font-light; + padding:0.75em; + border:none; + font-size:1.2rem; + display:flex; + align-content: center; + justify-content: center; + aspect-ratio: 1; + border-radius:999px; + + &:hover { + background-color:$color-primary; + } + + @include sm() { + display: none; + } +} \ No newline at end of file diff --git a/scss/custom/_previews.scss b/scss/custom/_previews.scss new file mode 100755 index 0000000..2f13a2e --- /dev/null +++ b/scss/custom/_previews.scss @@ -0,0 +1,99 @@ +#featured-articles, .preview-grid { + display: grid; + grid-template-columns: 1fr; + grid-template-rows: auto; + grid-gap: $lineheight / 3; + margin: -$lineheight / 3; + padding-bottom: $lineheight; + + @include sm() { + grid-template-columns: 1fr 1fr; + } + + @include lg() { + grid-template-columns: 1fr 1fr 1fr; + } +} + +.preview-grid { + @include xl() { + grid-template-columns: 1fr 1fr 1fr 1fr; + } +} + +.preview-list { + .preview { + display: block; + } + @include sm() { + .preview-thumbnail { + width: min-content; + img { + width: 240px; + margin-right: $lineheight /2; + } + } + + .preview { + display: flex; + align-items: start; + margin-bottom: $lineheight; + } + } + @include xl() { + .preview-thumbnail img { + width: 320px; + } + } + + .preview-text { + flex-grow:1; + } +} + +.preview { + font-size: 0.8rem; + text-decoration: none; + padding: $lineheight / 3; + border-radius: $card-radius; +} + +.preview-thumbnail { + display:block; + width: 100%; + background-color:transparent; + object-fit: cover; + padding:0; + line-height:0; + img { + width:100%; + object-fit: cover; + height: auto; + aspect-ratio: 16/9; + border-radius: $card-radius; + } +} + +.preview h2, .preview-featured h2 { + font-size:1.25rem; + line-height: 1.5rem; + font-family: $titlefont; + font-weight: 800; + height:3rem; + color: $color-font; + a { + background-color:transparent!important; + color:$color-font; + } +} + +.preview-featured h2 { + color: $color-font-light; +} + +.preview-excerpt { + margin-top: $lineheight / 2; + font-size:0.8rem; + line-height:1.25rem; + color:transparentize($color-font, 0.2); +} \ No newline at end of file diff --git a/scss/definitions/_borders.scss b/scss/definitions/_borders.scss new file mode 100755 index 0000000..258b028 --- /dev/null +++ b/scss/definitions/_borders.scss @@ -0,0 +1,6 @@ +// BORDERS AND BORDER-RADIUSES + +$card-radius: 8px; +$btn-radius: 4px; +$well-radius: $btn-radius; +$border-size: 0px; diff --git a/scss/definitions/_fonts.scss b/scss/definitions/_fonts.scss new file mode 100755 index 0000000..7ece446 --- /dev/null +++ b/scss/definitions/_fonts.scss @@ -0,0 +1,54 @@ +// FONTS +// Define how looks the text + +$fontsize: 4.75mm; + +$fontweight_big: 300; +$fontweight_base: 400; +$fontweight_bold: 600; +$fontweight_hyper: 800; + +$basefont: Inter, +-apple-system, +BlinkMacSystemFont, +'Segoe UI', +Cantarell, +Roboto, +Oxygen, +Ubuntu, +'Fira Sans', +'Droid Sans', +'Helvetica Neue', +sans-serif; +$titlefont: Teko, sans-serif; + +@font-face { + font-family: 'Teko'; + src: url('../fonts/teko-light-webfont.woff'); + font-weight: 300; +} + +@font-face { + font-family: 'Teko'; + src: url('../fonts/teko-regular-webfont.woff'); + font-weight: 400; +} + +@font-face { + font-family: 'Teko'; + src: url('../fonts/teko-medium-webfont.woff'); + font-weight: 500; +} + +@font-face { + font-family: 'Teko'; + src: url('../fonts/teko-semibold-webfont.woff'); + font-weight: 600; +} + +@font-face { + font-family: 'Teko'; + src: url('../fonts/teko-bold-webfont.woff2') format('woff2'), url('../fonts/teko-bold-webfont.woff') format('woff'); + font-weight: 700; + font-display: swap; +} \ No newline at end of file diff --git a/scss/definitions/_palette.scss b/scss/definitions/_palette.scss new file mode 100755 index 0000000..8637202 --- /dev/null +++ b/scss/definitions/_palette.scss @@ -0,0 +1,113 @@ +/* --- 00. PALETTE --- */ + +/* + * Les définitions globales des couleurs du theme. + * + * Elle permettent de définir rapidement à la fois les couleurs + * de base qui seront utilisée pour tout le theme, mais + * également celles spécifiques pour certains sujets (liens, texte) + * + */ + +$whiteness_value: 0.8; + +// Couleurs de base du theme : + +$palette: ( + "blue":#1971c2, + "violet":#6741d9, + "red":#e03131, + "orange":#e8590c, + "green":#2f9e44, + "skyblue":#0c8599, + "dark": #343a40, + "light":#ffffff, + "yellow":#ffe066, + "grey":#adb5bd, + "dark2":#212529, + "light2":#e9ecef); + +$palette-light: ( + "blue": #d0ebff, + "violet":#e5dbff, + "red":#ffe3e3, + "orange":#ffe8cc, + "green":#d3f9d8, + "skyblue":#c5f6fa, + "yellow":#fff3bf, + "light":#ffffff, + "grey":#f1f3f5, + "dark":#ced4da +); + +$semantics: ( + "primary":"red", + "secondary":"dark", + "warning":"orange", + "danger":"red", + "info":"blue", + "success":"green", + "muted":"grey", + "light":"light", + "dark":"dark"); + +$helpers: ( + "font":"dark2", + "font-light":"light", + "background":"light", + "background-alt":"light2", + "link":"red", + "selection":"blue", + "mark":"yellow", +); + +@function get-color($name) { + @if map-has-key($helpers, $name) { + @return map-get($palette, map-get($helpers, $name)); + } @else { + @if map-has-key($semantics, $name) { + @return map-get($palette, map-get($semantics, $name)); + } @else { + @return map-get($palette, $name); + } + } +} + +@function get-color-light($name) { + @if map-has-key($helpers, $name) { + @return map-get($palette-light, map-get($helpers, $name)); + } + + @else { + @if map-has-key($semantics, $name) { + @return map-get($palette-light, map-get($semantics, $name)); + } + + @else { + @return map-get($palette-light, $name); + } + } +} + +// **Couleurs du theme** +// Ne pas retirer ces couleurs, qui +// sont essentielle pour que le framework functionne. +// Pour les modifier, modifier le contenu du tableau $semantics. + +$color-link: get-color("link"); +$color-selection: get-color("selection"); +$color-mark: get-color("mark"); +$color-font: get-color("font"); +$color-font-light: get-color("font-light"); + +$color-primary: get-color("primary"); +$color-secondary: get-color("secondary"); +$color-warning: get-color("warning"); +$color-danger: get-color("danger"); +$color-info: get-color("info"); +$color-success: get-color("success"); + +$color-muted: get-color("muted"); + +$color-background: get-color("background"); +$color-background-alt: get-color("background-alt"); diff --git a/scss/definitions/_shadows.scss b/scss/definitions/_shadows.scss new file mode 100755 index 0000000..625c56f --- /dev/null +++ b/scss/definitions/_shadows.scss @@ -0,0 +1,8 @@ +// SHADOWS +// Define how looks the shadows and the relief effects + +$large-shadow: 0px 2px 4px rgba(0, 0, 0, 0); +$narrow-shadow: 0px 1px 2px rgba(0, 0, 0, 0); +$inset-shadow: inset 0px -2px 0px rgba(0, 0, 0, 0); +$inset-shadow-inverted: inset 0px 2px 0px rgba(0, 0, 0, 0); +$inset-relief: inset 0px 2px 0px rgba(255, 255, 255, 0); diff --git a/scss/definitions/_sizing.scss b/scss/definitions/_sizing.scss new file mode 100755 index 0000000..4682d27 --- /dev/null +++ b/scss/definitions/_sizing.scss @@ -0,0 +1,35 @@ +// SIZING +// All the spacing and sizing variables + +$baseline: 1.6; + +$lineheight: $baseline * 1rem; +$lineheight_half: $lineheight/2; +$lineheight_quarter: $lineheight/4; +$lineheight_rel: $baseline * 1em; + +$card-header-vmargin: 0px; +$card-header-hmargin: 0px; +$card-header-padding: $lineheight_rel; +$card-header-width: 100%; +$card-header-position:0px; +// Buttons +$button_large: $lineheight_rel; +$button_small: $lineheight_rel / 4; +$button-group-margin: 0; + +// Responsives sizes +// - sm : Small tablets and large smartphones (landscape view) +// - md : Small tablets (portrait view) +// - lg : Tablets and small desktops +// - xl : Large tablets and desktops +// - xxl : Very large desktops +$screen-sm-min: 576px; +$screen-md-min: 768px; +$screen-lg-min: 992px; +$screen-xl-min: 1200px; +$screen-xxl-min: 1600px; + +// Containers size +$container-size: $screen-xl-min; +$container-size-large: $screen-xxl-min; diff --git a/scss/mixins/_borders.scss b/scss/mixins/_borders.scss new file mode 100755 index 0000000..d6bb913 --- /dev/null +++ b/scss/mixins/_borders.scss @@ -0,0 +1,15 @@ +// Border, border radius and margin + +@mixin borders() { + border: $border-size solid rgba(0, 0, 0, 0.3) +} + +@mixin prefer-no-borders() { + &:not(:hover) { + border-color:transparent; + } +} + +@mixin border-radius($border-radius) { + border-radius: $border-radius $border-radius $border-radius $border-radius; +} diff --git a/scss/mixins/_btns.scss b/scss/mixins/_btns.scss new file mode 100755 index 0000000..1bc65de --- /dev/null +++ b/scss/mixins/_btns.scss @@ -0,0 +1,48 @@ +@mixin button($size) { + @include button-layout($size); + @include shape-style($size); + @include button-hover(); + font-weight: $fontweight_base; +} + +@mixin button-layout($size) { + padding: $size; + padding-top: $size/3; + padding-bottom: $size/3; + margin:$size/2; + margin-top: $size/3; + margin-bottom: $lineheight; + //font-size: 4.75mm; + line-height:$lineheight; + height:auto; +} + +@mixin button-hover() { + transition: background-color .2s, border .2s, box-shadow .2s, color .2s; + &:hover, &:active { + background-color:transparent; + } +} + +@mixin button-fullcontrol($background-color, $hover-color, $text-color) { + @include colorize-shape($background-color); + outline-color: $background-color; + color:$text-color; + &:visited { + @include colorize-shape($background-color); + color:$text-color; + } + &, &:visited, &:not(.disabled):not(:disabled) { + &:hover, &:active { + @include colorize-shape($hover-color); + color:lighten($text-color, 5%); + outline-color: $hover-color; + box-shadow:none; + } + } +} + +@mixin button-color($background-color) { + @include button-fullcontrol($background-color, mix($background-color, getTextColorFromBackground($background-color), 85%), getTextColorFromBackground($background-color)); + box-shadow: $narrow-shadow; +} diff --git a/scss/mixins/_colors.scss b/scss/mixins/_colors.scss new file mode 100755 index 0000000..48d50ab --- /dev/null +++ b/scss/mixins/_colors.scss @@ -0,0 +1,67 @@ +/* --- 00. COLORS --- */ + +/* + * La gestion des couleurs dans le theme. Cette partie de la stylesheet est + * automatique et n'a pas besoin d'être modifiée + */ + + // FUNCTIONS TO GET MORE EASILY COLORS + @function list-colors() { + @return $semantics; + } + + @function luminance($color) { + $c_red: red($color); + $c_grn: green($color); + $c_blu: blue($color); + + $luminance: $c_red*0.299 + $c_grn*0.587 + $c_blu*0.114; + + @return $luminance + } + + @function getFontColor() { + @return getTextColorFromBackground(get-color("background-alt")); + } + + @function getTextColorFromBackground($background-color) { + @if (luminance($background-color) < 255 * $whiteness_value) { + @return $color-font-light; + } @else { + @return $color-font; + } + } + + @function accentuate($color) { + @if (luminance($color) > 64) { + @return darken($color, 7.5%); + } @else { + @return lighten($color, 4%); + } + } + + @function dim($color) { + @if (luminance($color) > 255 * $whiteness_value) { + @return transparentize($color, 0.8); + } @else { + @return transparentize($color, 0.6); + } + } + + // fonction texte et background + + @mixin text-color($text-color) { + color: $text-color; + } + + @mixin background-color($background-color) { + background-color: $background-color; + color: getTextColorFromBackground($background-color); + } + + @mixin accent-color($accent-color, $soft-color) { + --accent-color: #{$accent-color}; + --text-color-contrast: #{getTextColorFromBackground($accent-color)}; + --accent-color-hover: #{accentuate($accent-color)}; + --accent-color-soft: #{$soft-color}; +} \ No newline at end of file diff --git a/scss/mixins/_li.scss b/scss/mixins/_li.scss new file mode 100755 index 0000000..1a78451 --- /dev/null +++ b/scss/mixins/_li.scss @@ -0,0 +1,13 @@ +@mixin li-no-margin() { + li { + margin: 0; + } +} + +@mixin li-flex() { + display:flex; + flex-direction: row; + align-items: flex-start; + @include li-no-margin(); + list-style: none; +} diff --git a/scss/mixins/_panels.scss b/scss/mixins/_panels.scss new file mode 100755 index 0000000..7ee312b --- /dev/null +++ b/scss/mixins/_panels.scss @@ -0,0 +1,58 @@ +@mixin panel($size) { + @include border-radius($card-radius); + background-color: $color-background-alt; + box-shadow: $large-shadow; + border: none; + margin:0; + margin-bottom:$lineheight; + + & > * { + margin-left: $size / 2; + margin-right: $size / 2; + &:first-child, + &.sr-only:first-child ~ * { + margin-top: $size; + &.card-header { + margin-top:$card-header-vmargin; + } + } + &:last-child { + margin-bottom: $size; + &.card-header { + margin-bottom:$card-header-vmargin; + } + } + } +} + +@mixin panel-header($size) { + font-family: $basefont; + font-size: 1em; + font-weight: $fontweight_bold; + + + padding: $size/2 $card-header-padding; + padding-bottom: $size/2 !important; + margin: $lineheight_rel / 2 $card-header-hmargin; + // margin-bottom:$lineheight_rel / 2; + // margin-top:$lineheight_rel / 2; + line-height: 1; + + position: relative; + left: $card-header-position; + width: $card-header-width; + + @include shape-style($size); + background-color: var(--accent-color); + border-radius: 0; + + &:first-child { + border-top-left-radius: $card-radius; + border-top-right-radius: $card-radius; + } + + &:last-child { + border-bottom-left-radius: $card-radius; + border-bottom-right-radius: $card-radius; + } +} diff --git a/scss/mixins/_responsive.scss b/scss/mixins/_responsive.scss new file mode 100755 index 0000000..6a6c98a --- /dev/null +++ b/scss/mixins/_responsive.scss @@ -0,0 +1,84 @@ +// MIXINS RESPONSIVES + +// Small devices +@mixin sm { + @media (min-width: #{$screen-sm-min}) { + @content; + } +} + +// Medium devices +@mixin md { + @media (min-width: #{$screen-md-min}) { + @content; + } +} + +// Large devices +@mixin lg { + @media (min-width: #{$screen-lg-min}) { + @content; + } +} + +// Extra large devices +@mixin xl { + @media (min-width: #{$screen-xl-min}) { + @content; + } +} + +// Extra large desktops +@mixin xxl { + @media (min-width: #{$screen-xxl-min}) { + @content; + } +} + +// Custom devices +@mixin rwd($screen) { + @media (min-width: $screen+'px' ) { + @content; + } +} + +@mixin container($size, $padding) { + padding-left: $padding; + padding-right: $padding; + max-width: $size; + margin:auto; +} + +@mixin responsive() { + @content; + + &-sm { + @include sm() { + @content; + } + } + + &-md { + @include md() { + @content; + } + } + + &-lg { + @include lg() { + @content; + } + } + + &-xl { + @include xl() { + @content; + } + } + + &-xxl { + @include xxl() { + @content; + } + } +} \ No newline at end of file diff --git a/scss/mixins/_shape.scss b/scss/mixins/_shape.scss new file mode 100755 index 0000000..731a8b3 --- /dev/null +++ b/scss/mixins/_shape.scss @@ -0,0 +1,10 @@ +@mixin shape-style($size) { + @include borders(); + @include border-radius($btn-radius); + + background-color:transparent; +} + +@mixin colorize-shape($background-color) { + background-color: $background-color; +} diff --git a/scss/style.scss b/scss/style.scss new file mode 100755 index 0000000..ff0cf00 --- /dev/null +++ b/scss/style.scss @@ -0,0 +1,8 @@ +@import 'dep'; +@import 'definitions'; +@import 'mixins'; + +@import 'core'; +@import 'drawing'; +@import 'utils'; +@import 'global'; diff --git a/scss/utils/_a11y.scss b/scss/utils/_a11y.scss new file mode 100755 index 0000000..7c91b81 --- /dev/null +++ b/scss/utils/_a11y.scss @@ -0,0 +1,39 @@ +/* 1.0 - Accessibility classes + * Some classes to help accessibility +**/ + +.sr-only, .screen-reader-text { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + border: 0; +} + +.sr-only-focusable:active, +.sr-only-focusable:focus { + position: static; + width: auto; + height: auto; + margin: 0; + overflow: visible; + clip: auto; +} + +.skip { + position: absolute; + left: -10000px; + top: auto; + width: 1px; + height: 1px; + overflow: hidden; +} + +.skip:focus-within { + position: static; + width: auto; + height: auto; +} \ No newline at end of file diff --git a/scss/utils/_align.scss b/scss/utils/_align.scss new file mode 100755 index 0000000..2234868 --- /dev/null +++ b/scss/utils/_align.scss @@ -0,0 +1,14 @@ +/* 1.1 - Alignement classes + * Handle easily alignement and flexboxes +**/ + +.flex-that { + display: flex; + justify-content: space-between; +} + +.align { + &-center {text-align: center;text-indent: 0!important;} + &-left {text-align: left;} + &-right {text-align: right;} +} diff --git a/scss/utils/_borders.scss b/scss/utils/_borders.scss new file mode 100755 index 0000000..a8f7b0e --- /dev/null +++ b/scss/utils/_borders.scss @@ -0,0 +1,8 @@ +.round, .pill { + border-radius: 9999px; +} + +.no-borders { + border-width:0px; + border-style:none; +} diff --git a/scss/utils/_colorize.scss b/scss/utils/_colorize.scss new file mode 100755 index 0000000..51915c8 --- /dev/null +++ b/scss/utils/_colorize.scss @@ -0,0 +1,98 @@ +/* 1.2 - Colorization classes + * Colorize some aspect of a class +**/ + +.c { + + @each $name, + $color in list-colors() { + &-#{$name} { + @include accent-color(get-color($name), get-color-light($name)); + } + } +} + + +@mixin heading-color($background-color) { + + & .card-header, + & .menu-header, + &.header-bg th { + @include colorize-shape($background-color); + color: getTextColorFromBackground($background-color); + } + + th { + color: $background-color; + } +} + +@mixin bg-color($background-color) { + @include background-color($background-color); + + a { + color:currentColor; + outline-color: currentColor; + } +} + +.bg-accent { + background-color: var(--accent-color); +} + +.bg-dark { + background-color: get-color("dark"); +} + +.bg { + background-color: $color-background; +} + +.bg-alt { + background-color: $color-background-alt; +} + +.bg-soft { + background-color: var(--accent-color-soft); +} + +// .text { + +// @each $name, +// $color in list-colors() { +// &-#{$name} { +// @include text-color(get-color($name)); +// } +// } +// } + +// .btn { + +// @each $name, +// $color in list-colors() { +// &-#{$name} { +// @include button-color(get-color($name)); +// } +// } +// } + +// .head { + +// @each $name, +// $color in list-colors() { +// &-#{$name} { +// @include heading-color(get-color($name)); +// } +// } +// } + +.fg-light { + --text-color:#{$color-font-light}; + --link-color-hover:#{transparentize($color-font-light, 0.7)}; +} + +.fg-dark { + color: $color-font; + --text-color:#{$color-font}; + --link-color-hover:#{transparentize($color-font, 0.85)}; +} \ No newline at end of file diff --git a/scss/utils/_display.scss b/scss/utils/_display.scss new file mode 100755 index 0000000..90b521d --- /dev/null +++ b/scss/utils/_display.scss @@ -0,0 +1,17 @@ +.d-none { + @include responsive() { + display: none !important; + } +} + +.d-block { + @include responsive() { + display: block!important; + } +} + +.d-flex { + @include responsive() { + display: flex!important; + } +} \ No newline at end of file diff --git a/scss/utils/_flex.scss b/scss/utils/_flex.scss new file mode 100755 index 0000000..203bf6a --- /dev/null +++ b/scss/utils/_flex.scss @@ -0,0 +1,35 @@ +.f-column { + display:flex; + flex-direction: column; + &.reverse { + flex-direction:column-reverse; + } +} + +.f-row { + display:flex; + flex-direction: row; + &.reverse { + flex-direction:row-reverse; + } +} + +.f-start { + justify-content: flex-start; +} + +.f-end { + justify-content: flex-end; +} + +.f-center { + justify-content: center; +} + +.f-around { + justify-content: space-around; +} + +.f-between { + justify-content: space-between; +} diff --git a/scss/utils/_lists.scss b/scss/utils/_lists.scss new file mode 100755 index 0000000..8d593cf --- /dev/null +++ b/scss/utils/_lists.scss @@ -0,0 +1,7 @@ +/* 1.3 - List classes + * Handle more easily list +**/ + +.no-pills { + list-style:none; +} diff --git a/scss/utils/_sizing.scss b/scss/utils/_sizing.scss new file mode 100755 index 0000000..0db0ce6 --- /dev/null +++ b/scss/utils/_sizing.scss @@ -0,0 +1,61 @@ +/* 1.3 - Sizing classes + * Handle sizing and margin +**/ + +@mixin addmargins($name, $size) { + &-#{$name} { + margin:$size; + } + + &b-#{$name} { + margin-bottom:$size; + } + + &r-#{$name} { + margin-right:$size; + } + + &l-#{$name} { + margin-left:$size; + } + + &t-#{$name} { + margin-top:$size; + } +} + +@mixin addpaddings($name, $size) { + &-#{$name} { + padding:$size; + } + + &b-#{$name} { + padding-bottom:$size; + } + + &r-#{$name} { + padding-right:$size; + } + + &l-#{$name} { + padding-left:$size; + } + + &t-#{$name} { + padding-top:$size; + } +} + +.m { + @include addmargins("half", $lineheight * .5); + @for $i from 0 through 4 { + @include addmargins($i, $lineheight*$i) + } +} + +.p { + @include addpaddings("half", $lineheight * .5); + @for $i from 0 through 4 { + @include addpaddings($i, $lineheight*$i) + } +}