From 1c973fb5af88ff0644364e53fc42dca4a21cb064 Mon Sep 17 00:00:00 2001 From: oiseauroch Date: Wed, 24 May 2023 12:47:04 +0200 Subject: [PATCH] index example with tailwind --- config.toml | 2 + content/_index.md | 55 +- src-styles/base.scss | 17 + src-styles/markdown.scss | 168 ++++ static/styles/main.css | 1343 +++++++++++++++++++++++++ tailwind.config.js | 38 + templates/base.html | 75 +- templates/index.html | 2 +- templates/shortcodes/client_box.html | 11 +- templates/shortcodes/process_box.html | 8 +- templates/shortcodes/square_box.html | 6 +- 11 files changed, 1650 insertions(+), 75 deletions(-) create mode 100644 src-styles/base.scss create mode 100644 src-styles/markdown.scss create mode 100644 static/styles/main.css create mode 100644 tailwind.config.js diff --git a/config.toml b/config.toml index 5ce1daf..22f5b17 100644 --- a/config.toml +++ b/config.toml @@ -1,5 +1,7 @@ base_url = "/" +ignored_content = ["*.kate-swp"] + compile_sass = true build_search_index = false diff --git a/content/_index.md b/content/_index.md index 7b9c0c3..332614c 100644 --- a/content/_index.md +++ b/content/_index.md @@ -2,31 +2,24 @@ title = "Librezo" +++ - + - + Logo Librezo - -Collectif d'artisans numériques - -
-

Aix Bastia Cajarc Grasse Le Havre Limoux Marseille

-
- Made in Chez Vous +Collectif d'artisans numériques +
+

Aix Bastia Cajarc Grasse Le Havre Limoux Marseille

+
+ Made in Chez Vous
-

Montreuil Nantes Paris Pau Rennes Rohanne Toulouse

+

Montreuil Nantes Paris Pau Rennes Rohanne Toulouse

- -
- + Activateur France Num - -
- -Reprenez le contrôle - -
+ +Reprenez le contrôle +
{{ square_box(title="Confidentialité", text="Vos données personnelles le restent") }} {{ square_box(title="Résilience", text="Récupérez rapidement d'une panne avec des sauvegardes") }} {{ square_box(title="Souveraineté", text="Reprenez le contrôle de votre infrastructure informatique") }} @@ -38,33 +31,31 @@ title = "Librezo" {{ square_box(title="Savoir-faire", text="Vous êtes au contact des experts") }} {{ square_box(title="Solidarité", text="15% de nos bénéfices sont reversés au développement des logiciels utilisés") }}
+

Pour qui ?

+

PME, Associations, Tout type de structure, Collectifs

-

Pour qui ?

+

Comment ça se passe ?

-PME, Associations, Tout type de structure, Collectifs +

Autonomisation de l'infrastructure réseau

-

Comment ça se passe ?

- -

Autonomisation de l'infrastructure réseau

- -
+
{{ process_box(number="1", title="Étude", description="Définition du besoin et propositions de solutions adaptées.") }} {{ process_box(number="2", title="Installation", description="Montage du serveur à domicile et installation du système et des composants logiciels.") }} {{ process_box(number="3", title="Configuration", description="Réglages sur mesure et configurations de sécurité.") }} {{ process_box(number="4", title="Acquisition", description="Votre serveur GNU/Linux est prêt et 100% entre vos mains. Tests.") }}
-

Accompagnements optionnels

+

Accompagnements optionnels

-
+
{{ process_box(number="5", title="Accompagnement utilisateur", description="Apprenez en quelques heures à utiliser vos outils.") }} {{ process_box(number="6", title="Accompagnement administrateur", description="Devenez administrateur-système de votre propre infrastructure (plusieurs semaines).") }} {{ process_box(number="7", title="Autonomie", description="Vous êtes capable de gérer votre système et vos applications : vous êtes autonome et n'avez plus besoin de tiers de confiance.") }}
-

Ils nous font confiance

+

Ils nous font confiance

-
+
{% client_box( title = "Novelcast" href = "https://novelcast.com" @@ -103,6 +94,6 @@ PME, Associations, Tout type de structure, Collectifs
-
- Librezo : Parce que oui ! +
+ Librezo : Parce que oui !
diff --git a/src-styles/base.scss b/src-styles/base.scss new file mode 100644 index 0000000..c836d7d --- /dev/null +++ b/src-styles/base.scss @@ -0,0 +1,17 @@ + +@import "./markdown.scss"; + +@tailwind base; +@tailwind components; +@tailwind utilities; + +@font-face { + font-family: "LunaSans"; + src: url("../fonts/LunaSans-Regular.ttf"); +} + + +@font-face { + font-family: "Neucha"; + src: url("../fonts/Neucha.ttf"); +} diff --git a/src-styles/markdown.scss b/src-styles/markdown.scss new file mode 100644 index 0000000..5e633af --- /dev/null +++ b/src-styles/markdown.scss @@ -0,0 +1,168 @@ +.markdown { + @apply text-lg; + @apply font-serif; +} + +/* Font class used for headers */ +.markdown-header { + @apply font-sans; +} + +/* Base spacing between paragraph */ +.markdown-p-spacing { + @apply mb-4; +} + +.markdown-list-styling { + @apply list-inside; + @apply markdown-p-spacing; +} + +.markdown:last-child { + @apply mb-0; +} + +/* Header styling */ +.markdown h1 { + @apply mb-6; + @apply text-5xl; +} +.markdown h2 { + @apply mb-5; + @apply text-4xl; +} +.markdown h3 { + @apply mb-4; + @apply text-3xl; +} +.markdown h4 { + @apply mb-3; + @apply text-2xl; +} +.markdown h5 { + @apply mb-2; + @apply text-xl; +} +.markdown h6 { + @apply mb-1; + @apply text-lg; +} + +/* Highlighting styling */ +.markdown em { + @apply italic; +} +.markdown strong { + @apply font-bold; +} +.markdown del { + @apply line-through; +} + +/* Link styling */ +.markdown a { + @apply underline; + @apply text-blue-400; +} + +/* Code/Verbatim styling */ +.markdown pre { + @apply p-4; + @apply text-lg; + @apply font-mono; + @apply bg-gray-100; + @apply markdown-p-spacing; +} +.markdown code { + @apply px-1; + @apply font-mono; + @apply bg-gray-100; +} + +/* Blockquote styling */ +.markdown blockquote { + @apply py-4; + @apply px-2; + @apply markdown-p-spacing; + + @apply border-2; + @apply border-l-0; + @apply border-r-0; + @apply border-gray-900; + + @apply bg-gray-400; + @apply bg-opacity-50; +} +/* Fix embedded blockquotes */ +.markdown blockquote>blockquote { + @apply ml-4; + @apply mt-1; + @apply mb-0; +} + +/* List styling */ +.markdown ul { + @apply markdown-list-styling; + @apply list-disc; +} +.markdown ol { + @apply markdown-list-styling; + @apply list-decimal; +} +.markdown ul li > ul { + @apply ml-4; + @apply mb-0; +} +.markdown ol li > ol { + @apply ml-4; + @apply mb-0; +} +.markdown ol li p { + @apply inline; +} + +/* Img styling */ +.markdown img { + @apply max-w-full; +} + +/* Table Styling */ +.markdown p { + @apply markdown-p-spacing; +} + +/* Table Styling */ +.markdown table { + @apply border-2; + @apply border-b-0; + @apply border-black; +} +.markdown table thead { + @apply border-b-4; + @apply border-black; +} +.markdown table tbody tr { + @apply border-b-2; + @apply border-black; +} +.markdown table tr th { + @apply border-r-2; + @apply border-black; + @apply px-1; +} +.markdown table tr th:last-of-type { + @apply border-r-0; +} +.markdown table tr td { + @apply border-r-2; + @apply border-black; + @apply px-1; +} +.markdown table tr td:last-of-type { + @apply border-r-0; +} + +/* Footnote Styling */ +.markdown .footnote-definition p { + @apply inline; +} \ No newline at end of file diff --git a/static/styles/main.css b/static/styles/main.css new file mode 100644 index 0000000..dcc9d3a --- /dev/null +++ b/static/styles/main.css @@ -0,0 +1,1343 @@ +.markdown { + font-size: 1.125rem; + line-height: 1.75rem; + font-family: ui-serif, Georgia, Cambria, "Times New Roman", Times, serif; +} + +/* Font class used for headers */ + +.markdown-header { + font-family: LunaSans, system-ui, sans-serif; +} + +/* Base spacing between paragraph */ + +.markdown-p-spacing { + margin-bottom: 1rem; +} + +.markdown-list-styling { + list-style-position: inside; + margin-bottom: 1rem; +} + +.markdown:last-child { + margin-bottom: 0px; +} + +/* Header styling */ + +.markdown h1 { + margin-bottom: 1.5rem; + font-size: 3rem; + line-height: 1; +} + +.markdown h2 { + margin-bottom: 1.25rem; + font-size: 2.25rem; + line-height: 2.5rem; +} + +.markdown h3 { + margin-bottom: 1rem; + font-size: 1.875rem; + line-height: 2.25rem; +} + +.markdown h4 { + margin-bottom: 0.75rem; + font-size: 1.5rem; + line-height: 2rem; +} + +.markdown h5 { + margin-bottom: 0.5rem; + font-size: 1.25rem; + line-height: 1.75rem; +} + +.markdown h6 { + margin-bottom: 0.25rem; + font-size: 1.125rem; + line-height: 1.75rem; +} + +/* Highlighting styling */ + +.markdown em { + font-style: italic; +} + +.markdown strong { + font-weight: 700; +} + +.markdown del { + text-decoration-line: line-through; +} + +/* Link styling */ + +.markdown a { + text-decoration-line: underline; + --tw-text-opacity: 1; + color: rgb(96 165 250 / var(--tw-text-opacity)); +} + +/* Code/Verbatim styling */ + +.markdown pre { + padding: 1rem; + font-size: 1.125rem; + line-height: 1.75rem; + font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; + --tw-bg-opacity: 1; + background-color: rgb(243 244 246 / var(--tw-bg-opacity)); + margin-bottom: 1rem; +} + +.markdown code { + padding-left: 0.25rem; + padding-right: 0.25rem; + font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; + --tw-bg-opacity: 1; + background-color: rgb(243 244 246 / var(--tw-bg-opacity)); +} + +/* Blockquote styling */ + +.markdown blockquote { + padding-top: 1rem; + padding-bottom: 1rem; + padding-left: 0.5rem; + padding-right: 0.5rem; + margin-bottom: 1rem; + border-width: 2px; + border-left-width: 0px; + border-right-width: 0px; + --tw-border-opacity: 1; + border-color: rgb(17 24 39 / var(--tw-border-opacity)); + background-color: rgb(156 163 175 / var(--tw-bg-opacity)); + --tw-bg-opacity: 0.5; +} + +/* Fix embedded blockquotes */ + +.markdown blockquote>blockquote { + margin-left: 1rem; + margin-top: 0.25rem; + margin-bottom: 0px; +} + +/* List styling */ + +.markdown ul { + list-style-position: inside; + margin-bottom: 1rem; + list-style-type: disc; +} + +.markdown ol { + list-style-position: inside; + margin-bottom: 1rem; + list-style-type: decimal; +} + +.markdown ul li > ul { + margin-left: 1rem; + margin-bottom: 0px; +} + +.markdown ol li > ol { + margin-left: 1rem; + margin-bottom: 0px; +} + +.markdown ol li p { + display: inline; +} + +/* Img styling */ + +.markdown img { + max-width: 100%; +} + +/* Table Styling */ + +.markdown p { + margin-bottom: 1rem; +} + +/* Table Styling */ + +.markdown table { + border-width: 2px; + border-bottom-width: 0px; + --tw-border-opacity: 1; + border-color: rgb(0 0 0 / var(--tw-border-opacity)); +} + +.markdown table thead { + border-bottom-width: 4px; + --tw-border-opacity: 1; + border-color: rgb(0 0 0 / var(--tw-border-opacity)); +} + +.markdown table tbody tr { + border-bottom-width: 2px; + --tw-border-opacity: 1; + border-color: rgb(0 0 0 / var(--tw-border-opacity)); +} + +.markdown table tr th { + border-right-width: 2px; + --tw-border-opacity: 1; + border-color: rgb(0 0 0 / var(--tw-border-opacity)); + padding-left: 0.25rem; + padding-right: 0.25rem; +} + +.markdown table tr th:last-of-type { + border-right-width: 0px; +} + +.markdown table tr td { + border-right-width: 2px; + --tw-border-opacity: 1; + border-color: rgb(0 0 0 / var(--tw-border-opacity)); + padding-left: 0.25rem; + padding-right: 0.25rem; +} + +.markdown table tr td:last-of-type { + border-right-width: 0px; +} + +/* Footnote Styling */ + +.markdown .footnote-definition p { + display: inline; +} + +/* ! tailwindcss v3.2.4 | MIT License | https://tailwindcss.com */ + +/* +1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4) +2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116) +*/ + +*, +::before, +::after { + box-sizing: border-box; + /* 1 */ + border-width: 0; + /* 2 */ + border-style: solid; + /* 2 */ + border-color: #e5e7eb; + /* 2 */ +} + +::before, +::after { + --tw-content: ''; +} + +/* +1. Use a consistent sensible line-height in all browsers. +2. Prevent adjustments of font size after orientation changes in iOS. +3. Use a more readable tab size. +4. Use the user's configured `sans` font-family by default. +5. Use the user's configured `sans` font-feature-settings by default. +*/ + +html { + line-height: 1.5; + /* 1 */ + -webkit-text-size-adjust: 100%; + /* 2 */ + -moz-tab-size: 4; + /* 3 */ + -o-tab-size: 4; + tab-size: 4; + /* 3 */ + font-family: LunaSans, system-ui, sans-serif; + /* 4 */ + font-feature-settings: normal; + /* 5 */ +} + +/* +1. Remove the margin in all browsers. +2. Inherit line-height from `html` so users can set them as a class directly on the `html` element. +*/ + +body { + margin: 0; + /* 1 */ + line-height: inherit; + /* 2 */ +} + +/* +1. Add the correct height in Firefox. +2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655) +3. Ensure horizontal rules are visible by default. +*/ + +hr { + height: 0; + /* 1 */ + color: inherit; + /* 2 */ + border-top-width: 1px; + /* 3 */ +} + +/* +Add the correct text decoration in Chrome, Edge, and Safari. +*/ + +abbr:where([title]) { + -webkit-text-decoration: underline dotted; + text-decoration: underline dotted; +} + +/* +Remove the default font size and weight for headings. +*/ + +h1, +h2, +h3, +h4, +h5, +h6 { + font-size: inherit; + font-weight: inherit; +} + +/* +Reset links to optimize for opt-in styling instead of opt-out. +*/ + +a { + color: inherit; + text-decoration: inherit; +} + +/* +Add the correct font weight in Edge and Safari. +*/ + +b, +strong { + font-weight: bolder; +} + +/* +1. Use the user's configured `mono` font family by default. +2. Correct the odd `em` font sizing in all browsers. +*/ + +code, +kbd, +samp, +pre { + font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", 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; +} + +/* +1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297) +2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016) +3. Remove gaps between table borders by default. +*/ + +table { + text-indent: 0; + /* 1 */ + border-color: inherit; + /* 2 */ + border-collapse: collapse; + /* 3 */ +} + +/* +1. Change the font styles in all browsers. +2. Remove the margin in Firefox and Safari. +3. Remove default padding in all browsers. +*/ + +button, +input, +optgroup, +select, +textarea { + font-family: inherit; + /* 1 */ + font-size: 100%; + /* 1 */ + font-weight: inherit; + /* 1 */ + line-height: inherit; + /* 1 */ + color: inherit; + /* 1 */ + margin: 0; + /* 2 */ + padding: 0; + /* 3 */ +} + +/* +Remove the inheritance of text transform in Edge and Firefox. +*/ + +button, +select { + text-transform: none; +} + +/* +1. Correct the inability to style clickable types in iOS and Safari. +2. Remove default button styles. +*/ + +button, +[type='button'], +[type='reset'], +[type='submit'] { + -webkit-appearance: button; + /* 1 */ + background-color: transparent; + /* 2 */ + background-image: none; + /* 2 */ +} + +/* +Use the modern Firefox focus style for all focusable elements. +*/ + +:-moz-focusring { + outline: auto; +} + +/* +Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737) +*/ + +:-moz-ui-invalid { + box-shadow: none; +} + +/* +Add the correct vertical alignment in Chrome and Firefox. +*/ + +progress { + vertical-align: baseline; +} + +/* +Correct the cursor style of increment and decrement buttons in Safari. +*/ + +::-webkit-inner-spin-button, +::-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. +*/ + +::-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 */ +} + +/* +Add the correct display in Chrome and Safari. +*/ + +summary { + display: list-item; +} + +/* +Removes the default spacing and border for appropriate elements. +*/ + +blockquote, +dl, +dd, +h1, +h2, +h3, +h4, +h5, +h6, +hr, +figure, +p, +pre { + margin: 0; +} + +fieldset { + margin: 0; + padding: 0; +} + +legend { + padding: 0; +} + +ol, +ul, +menu { + list-style: none; + margin: 0; + padding: 0; +} + +/* +Prevent resizing textareas horizontally by default. +*/ + +textarea { + resize: vertical; +} + +/* +1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300) +2. Set the default placeholder color to the user's configured gray 400 color. +*/ + +input::-moz-placeholder, textarea::-moz-placeholder { + opacity: 1; + /* 1 */ + color: #9ca3af; + /* 2 */ +} + +input::placeholder, +textarea::placeholder { + opacity: 1; + /* 1 */ + color: #9ca3af; + /* 2 */ +} + +/* +Set the default cursor for buttons. +*/ + +button, +[role="button"] { + cursor: pointer; +} + +/* +Make sure disabled buttons don't get the pointer cursor. +*/ + +:disabled { + cursor: default; +} + +/* +1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14) +2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210) + This can trigger a poorly considered lint error in some tools but is included by design. +*/ + +img, +svg, +video, +canvas, +audio, +iframe, +embed, +object { + display: block; + /* 1 */ + vertical-align: middle; + /* 2 */ +} + +/* +Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14) +*/ + +img, +video { + max-width: 100%; + height: auto; +} + +/* Make elements with the HTML hidden attribute stay hidden by default */ + +[hidden] { + display: none; +} + +*, ::before, ::after { + --tw-border-spacing-x: 0; + --tw-border-spacing-y: 0; + --tw-translate-x: 0; + --tw-translate-y: 0; + --tw-rotate: 0; + --tw-skew-x: 0; + --tw-skew-y: 0; + --tw-scale-x: 1; + --tw-scale-y: 1; + --tw-pan-x: ; + --tw-pan-y: ; + --tw-pinch-zoom: ; + --tw-scroll-snap-strictness: proximity; + --tw-ordinal: ; + --tw-slashed-zero: ; + --tw-numeric-figure: ; + --tw-numeric-spacing: ; + --tw-numeric-fraction: ; + --tw-ring-inset: ; + --tw-ring-offset-width: 0px; + --tw-ring-offset-color: #fff; + --tw-ring-color: rgb(59 130 246 / 0.5); + --tw-ring-offset-shadow: 0 0 #0000; + --tw-ring-shadow: 0 0 #0000; + --tw-shadow: 0 0 #0000; + --tw-shadow-colored: 0 0 #0000; + --tw-blur: ; + --tw-brightness: ; + --tw-contrast: ; + --tw-grayscale: ; + --tw-hue-rotate: ; + --tw-invert: ; + --tw-saturate: ; + --tw-sepia: ; + --tw-drop-shadow: ; + --tw-backdrop-blur: ; + --tw-backdrop-brightness: ; + --tw-backdrop-contrast: ; + --tw-backdrop-grayscale: ; + --tw-backdrop-hue-rotate: ; + --tw-backdrop-invert: ; + --tw-backdrop-opacity: ; + --tw-backdrop-saturate: ; + --tw-backdrop-sepia: ; +} + +::backdrop { + --tw-border-spacing-x: 0; + --tw-border-spacing-y: 0; + --tw-translate-x: 0; + --tw-translate-y: 0; + --tw-rotate: 0; + --tw-skew-x: 0; + --tw-skew-y: 0; + --tw-scale-x: 1; + --tw-scale-y: 1; + --tw-pan-x: ; + --tw-pan-y: ; + --tw-pinch-zoom: ; + --tw-scroll-snap-strictness: proximity; + --tw-ordinal: ; + --tw-slashed-zero: ; + --tw-numeric-figure: ; + --tw-numeric-spacing: ; + --tw-numeric-fraction: ; + --tw-ring-inset: ; + --tw-ring-offset-width: 0px; + --tw-ring-offset-color: #fff; + --tw-ring-color: rgb(59 130 246 / 0.5); + --tw-ring-offset-shadow: 0 0 #0000; + --tw-ring-shadow: 0 0 #0000; + --tw-shadow: 0 0 #0000; + --tw-shadow-colored: 0 0 #0000; + --tw-blur: ; + --tw-brightness: ; + --tw-contrast: ; + --tw-grayscale: ; + --tw-hue-rotate: ; + --tw-invert: ; + --tw-saturate: ; + --tw-sepia: ; + --tw-drop-shadow: ; + --tw-backdrop-blur: ; + --tw-backdrop-brightness: ; + --tw-backdrop-contrast: ; + --tw-backdrop-grayscale: ; + --tw-backdrop-hue-rotate: ; + --tw-backdrop-invert: ; + --tw-backdrop-opacity: ; + --tw-backdrop-saturate: ; + --tw-backdrop-sepia: ; +} + +.container { + width: 100%; + padding-right: 1rem; + padding-left: 1rem; +} + +@media (min-width: 640px) { + .container { + max-width: 640px; + padding-right: 2rem; + padding-left: 2rem; + } +} + +@media (min-width: 768px) { + .container { + max-width: 768px; + } +} + +@media (min-width: 1024px) { + .container { + max-width: 1024px; + padding-right: 4rem; + padding-left: 4rem; + } +} + +@media (min-width: 1280px) { + .container { + max-width: 1280px; + padding-right: 5rem; + padding-left: 5rem; + } +} + +@media (min-width: 1536px) { + .container { + max-width: 1536px; + padding-right: 6rem; + padding-left: 6rem; + } +} + +.sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + white-space: nowrap; + border-width: 0; +} + +.fixed { + position: fixed; +} + +.relative { + position: relative; +} + +.top-0 { + top: 0px; +} + +.left-0 { + left: 0px; +} + +.z-0 { + z-index: 0; +} + +.z-50 { + z-index: 50; +} + +.z-10 { + z-index: 10; +} + +.col-span-3 { + grid-column: span 3 / span 3; +} + +.col-span-1 { + grid-column: span 1 / span 1; +} + +.mx-auto { + margin-left: auto; + margin-right: auto; +} + +.my-10 { + margin-top: 2.5rem; + margin-bottom: 2.5rem; +} + +.my-20 { + margin-top: 5rem; + margin-bottom: 5rem; +} + +.my-5 { + margin-top: 1.25rem; + margin-bottom: 1.25rem; +} + +.mt-5 { + margin-top: 1.25rem; +} + +.mb-5 { + margin-bottom: 1.25rem; +} + +.mb-10 { + margin-bottom: 2.5rem; +} + +.mt-10 { + margin-top: 2.5rem; +} + +.block { + display: block; +} + +.inline-block { + display: inline-block; +} + +.inline { + display: inline; +} + +.flex { + display: flex; +} + +.table { + display: table; +} + +.grid { + display: grid; +} + +.hidden { + display: none; +} + +.h-16 { + height: 4rem; +} + +.h-full { + height: 100%; +} + +.min-h-\[200px\] { + min-height: 200px; +} + +.w-full { + width: 100%; +} + +.w-\[200px\] { + width: 200px; +} + +.w-screen { + width: 100vw; +} + +.w-16 { + width: 4rem; +} + +.max-w-5xl { + max-width: 64rem; +} + +.max-w-\[30\%\] { + max-width: 30%; +} + +.max-w-\[300px\] { + max-width: 300px; +} + +.max-w-xs { + max-width: 20rem; +} + +.max-w-\[250px\] { + max-width: 250px; +} + +.max-w-4xl { + max-width: 56rem; +} + +.max-w-3xl { + max-width: 48rem; +} + +.-rotate-45 { + --tw-rotate: -45deg; + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} + +.list-disc { + list-style-type: disc; +} + +.grid-cols-3 { + grid-template-columns: repeat(3, minmax(0, 1fr)); +} + +.grid-cols-4 { + grid-template-columns: repeat(4, minmax(0, 1fr)); +} + +.flex-row { + flex-direction: row; +} + +.flex-col { + flex-direction: column; +} + +.flex-wrap { + flex-wrap: wrap; +} + +.place-content-center { + place-content: center; +} + +.place-items-center { + place-items: center; +} + +.items-center { + align-items: center; +} + +.justify-center { + justify-content: center; +} + +.justify-between { + justify-content: space-between; +} + +.gap-x-7 { + -moz-column-gap: 1.75rem; + column-gap: 1.75rem; +} + +.gap-x-8 { + -moz-column-gap: 2rem; + column-gap: 2rem; +} + +.gap-x-5 { + -moz-column-gap: 1.25rem; + column-gap: 1.25rem; +} + +.gap-y-5 { + row-gap: 1.25rem; +} + +.gap-x-3 { + -moz-column-gap: 0.75rem; + column-gap: 0.75rem; +} + +.gap-x-2 { + -moz-column-gap: 0.5rem; + column-gap: 0.5rem; +} + +.gap-x-1 { + -moz-column-gap: 0.25rem; + column-gap: 0.25rem; +} + +.gap-y-3 { + row-gap: 0.75rem; +} + +.space-y-5 > :not([hidden]) ~ :not([hidden]) { + --tw-space-y-reverse: 0; + margin-top: calc(1.25rem * calc(1 - var(--tw-space-y-reverse))); + margin-bottom: calc(1.25rem * var(--tw-space-y-reverse)); +} + +.space-y-3 > :not([hidden]) ~ :not([hidden]) { + --tw-space-y-reverse: 0; + margin-top: calc(0.75rem * calc(1 - var(--tw-space-y-reverse))); + margin-bottom: calc(0.75rem * var(--tw-space-y-reverse)); +} + +.space-y-0\.5 > :not([hidden]) ~ :not([hidden]) { + --tw-space-y-reverse: 0; + margin-top: calc(0.125rem * calc(1 - var(--tw-space-y-reverse))); + margin-bottom: calc(0.125rem * var(--tw-space-y-reverse)); +} + +.space-y-0 > :not([hidden]) ~ :not([hidden]) { + --tw-space-y-reverse: 0; + margin-top: calc(0px * calc(1 - var(--tw-space-y-reverse))); + margin-bottom: calc(0px * var(--tw-space-y-reverse)); +} + +.self-center { + align-self: center; +} + +.justify-self-center { + justify-self: center; +} + +.rounded-md { + border-radius: 0.375rem; +} + +.rounded-full { + border-radius: 9999px; +} + +.bg-white { + --tw-bg-opacity: 1; + background-color: rgb(255 255 255 / var(--tw-bg-opacity)); +} + +.bg-gradient-to-r { + background-image: linear-gradient(to right, var(--tw-gradient-stops)); +} + +.bg-gradient-to-br { + background-image: linear-gradient(to bottom right, var(--tw-gradient-stops)); +} + +.from-lib-blue { + --tw-gradient-from: #0294d9; + --tw-gradient-to: rgb(2 148 217 / 0); + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to); +} + +.from-lib-purple { + --tw-gradient-from: #ac44ff; + --tw-gradient-to: rgb(172 68 255 / 0); + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to); +} + +.to-lib-purple { + --tw-gradient-to: #ac44ff; +} + +.to-lib-blue { + --tw-gradient-to: #0294d9; +} + +.p-2 { + padding: 0.5rem; +} + +.p-5 { + padding: 1.25rem; +} + +.p-4 { + padding: 1rem; +} + +.px-4 { + padding-left: 1rem; + padding-right: 1rem; +} + +.px-10 { + padding-left: 2.5rem; + padding-right: 2.5rem; +} + +.py-16 { + padding-top: 4rem; + padding-bottom: 4rem; +} + +.py-3 { + padding-top: 0.75rem; + padding-bottom: 0.75rem; +} + +.py-5 { + padding-top: 1.25rem; + padding-bottom: 1.25rem; +} + +.py-4 { + padding-top: 1rem; + padding-bottom: 1rem; +} + +.pt-5 { + padding-top: 1.25rem; +} + +.pb-10 { + padding-bottom: 2.5rem; +} + +.pl-10 { + padding-left: 2.5rem; +} + +.text-center { + text-align: center; +} + +.align-top { + vertical-align: top; +} + +.align-middle { + vertical-align: middle; +} + +.font-librezo { + font-family: Neucha; +} + +.text-2xl { + font-size: 1.5rem; + line-height: 2rem; +} + +.text-4xl { + font-size: 2.25rem; + line-height: 2.5rem; +} + +.text-3xl { + font-size: 1.875rem; + line-height: 2.25rem; +} + +.text-xl { + font-size: 1.25rem; + line-height: 1.75rem; +} + +.text-6xl { + font-size: 3.75rem; + line-height: 1; +} + +.text-9xl { + font-size: 8rem; + line-height: 1; +} + +.text-8xl { + font-size: 6rem; + line-height: 1; +} + +.text-5xl { + font-size: 3rem; + line-height: 1; +} + +.font-bold { + font-weight: 700; +} + +.text-neutral-200 { + --tw-text-opacity: 1; + color: rgb(229 229 229 / var(--tw-text-opacity)); +} + +.text-\[\#ffddbb\] { + --tw-text-opacity: 1; + color: rgb(255 221 187 / var(--tw-text-opacity)); +} + +.text-lib-blue { + --tw-text-opacity: 1; + color: rgb(2 148 217 / var(--tw-text-opacity)); +} + +.text-white { + --tw-text-opacity: 1; + color: rgb(255 255 255 / var(--tw-text-opacity)); +} + +.text-neutral-700 { + --tw-text-opacity: 1; + color: rgb(64 64 64 / var(--tw-text-opacity)); +} + +.text-opacity-70 { + --tw-text-opacity: 0.7; +} + +.duration-300 { + transition-duration: 300ms; +} + +@font-face { + font-family: "LunaSans"; + + src: url("../fonts/LunaSans-Regular.ttf"); +} + +@font-face { + font-family: "Neucha"; + + src: url("../fonts/Neucha.ttf"); +} + +.hover\:underline:hover { + text-decoration-line: underline; +} + +.hover\:drop-shadow-purple:hover { + --tw-drop-shadow: drop-shadow(1px 2px 1px rgba(172, 68, 255, 1)); + filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); +} + +@media (min-width: 768px) { + .md\:grid { + display: grid; + } + + .md\:grid-cols-4 { + grid-template-columns: repeat(4, minmax(0, 1fr)); + } + + .md\:gap-x-7 { + -moz-column-gap: 1.75rem; + column-gap: 1.75rem; + } + + .md\:px-0 { + padding-left: 0px; + padding-right: 0px; + } + + .md\:text-8xl { + font-size: 6rem; + line-height: 1; + } + + .md\:text-3xl { + font-size: 1.875rem; + line-height: 2.25rem; + } +} + +@media (min-width: 1280px) { + .xl\:relative { + position: relative; + } + + .xl\:flex { + display: flex; + } + + .xl\:hidden { + display: none; + } + + .xl\:flex-row { + flex-direction: row; + } + + .xl\:space-x-6 > :not([hidden]) ~ :not([hidden]) { + --tw-space-x-reverse: 0; + margin-right: calc(1.5rem * var(--tw-space-x-reverse)); + margin-left: calc(1.5rem * calc(1 - var(--tw-space-x-reverse))); + } + + .xl\:space-y-0 > :not([hidden]) ~ :not([hidden]) { + --tw-space-y-reverse: 0; + margin-top: calc(0px * calc(1 - var(--tw-space-y-reverse))); + margin-bottom: calc(0px * var(--tw-space-y-reverse)); + } + + .xl\:bg-transparent { + background-color: transparent; + } + + .xl\:p-0 { + padding: 0px; + } +} diff --git a/tailwind.config.js b/tailwind.config.js new file mode 100644 index 0000000..aa7308b --- /dev/null +++ b/tailwind.config.js @@ -0,0 +1,38 @@ +/** @type {import('tailwindcss').Config} */ +module.exports = { + content: [ + "./templates/**/*.html", + "./content/**/*.md", + ], + theme: { + extend: { + fontFamily: { + 'sans': ['LunaSans', 'system-ui', 'sans-serif'], + 'librezo': ["Neucha"], + }, + dropShadow: { + 'purple' : '1px 2px 1px rgba(172, 68, 255, 1)', + }, + colors: { + "mattermost": "#734596", + "nexctloud": "#99cde9", + "bbb": "#83d0f5", + "lib-purple": "#ac44ff", + "lib-blue": "#0294d9", + }, + }, + container: { + padding: { + DEFAULT: '1rem', + sm: '2rem', + lg: '4rem', + xl: '5rem', + '2xl': '6rem', + }, + }, + }, + plugins: [ + require('@tailwindcss/typography'), + ], +} + diff --git a/templates/base.html b/templates/base.html index f027011..7846e38 100644 --- a/templates/base.html +++ b/templates/base.html @@ -2,9 +2,12 @@ - - {% block title %}{% endblock title %} - + + + + + + {% if page.extra.leaflet or section.extra.leaflet %}{% endif %} @@ -18,8 +21,8 @@

fermer
-
- +
+ @@ -27,41 +30,57 @@

Librezo

-
{% block body %}{% endblock body %} -