Nginx config, working deploy, basic theme, repo cleanup

This commit is contained in:
Théophile Gervreau-Mercier
2026-02-05 17:33:10 +01:00
parent 2cb5436647
commit f23fbb481b
30 changed files with 4536 additions and 760 deletions

View File

@@ -1,342 +1,559 @@
@font-face {
font-family: police1;
src: url("fonts/Combinedd.otf");
/* ============================================
POST-ERG - Minimalistic CSS
============================================ */
/* Custom Font */
@font-face {
font-family: 'Combined';
src: url("fonts/Combinedd.otf");
}
/* ============================================
VARIABLES & BASE
============================================ */
:root {
--color-primary: #c104fc;
--color-secondary: #4da870;
--color-text: #333;
--color-text-light: #666;
--color-border: #ddd;
--color-bg: #fff;
--color-bg-light: #f9f9f9;
--spacing-sm: 0.75rem;
--spacing: 1.5rem;
--spacing-lg: 3rem;
--spacing-xl: 4rem;
--border-radius: 8px;
--max-width: 1400px;
}
* {
box-sizing: border-box;
}
body {
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
line-height: 1.7;
color: var(--color-text);
background: var(--color-bg-light);
margin: 0;
padding: 0;
font-size: 16px;
}
/* ============================================
NAVBAR
============================================ */
.navbar {
font-family: 'Combined', sans-serif;
background: linear-gradient(280deg, var(--color-secondary) 0%, var(--color-primary) 85%);
padding: 2rem 3rem;
color: white;
position: sticky;
top: 0;
z-index: 100;
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}
.navbar-brand {
margin-bottom: 1rem;
}
.navbar-brand h1 {
margin: 0;
font-size: 2.5rem;
font-weight: normal;
letter-spacing: 0.5px;
}
.navbar-menu {
display: flex;
gap: 2rem;
align-items: center;
flex-wrap: wrap;
}
.navbar-item {
color: white;
text-decoration: none;
transition: color 0.2s;
font-size: 1.1rem;
padding: 0.5rem 0;
}
.navbar-item:hover {
color: var(--color-secondary);
}
/* ============================================
LAYOUT
============================================ */
.section {
padding: var(--spacing-xl) var(--spacing-lg);
background: var(--color-bg-light);
}
.container {
max-width: var(--max-width);
margin: 0 auto;
padding: 0 var(--spacing-lg);
}
/* Grid System */
.columns {
display: grid;
gap: 2rem;
grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
}
.columns.is-multiline {
grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
}
.column {
min-width: 0; /* Fix overflow issues */
}
.column.is-one-third {
grid-column: span 1;
}
.column.is-one-fifth {
/* Will use auto-fill for responsive grid */
}
/* Two-column layout for detail pages */
.columns.is-variable {
grid-template-columns: 1fr 2fr;
gap: var(--spacing-lg);
}
@media (max-width: 768px) {
.columns.is-variable {
grid-template-columns: 1fr;
}
}
.navbar {
font-family: 'police1';
background: linear-gradient(280deg, rgba(77, 168, 112, 1) 0%, rgba(193, 4, 252, 1) 85%);
background-color: rgba(0, 0, 0, 0);
text-decoration: none;
outline: none;
/* font-size: 1rem; */
/* ============================================
CARDS
============================================ */
.card {
background: var(--color-bg);
border: 2px solid var(--color-border);
border-radius: var(--border-radius);
overflow: hidden;
transition: transform 0.2s, box-shadow 0.2s, border-color 0.2s;
height: 100%;
display: flex;
flex-direction: column;
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
}
.card-link {
text-decoration: none;
color: inherit;
display: block;
height: 100%;
}
.card-link:hover .card {
transform: translateY(-6px);
box-shadow: 0 8px 24px rgba(193, 4, 252, 0.2);
border-color: var(--color-primary);
}
.card-image {
width: 100%;
overflow: hidden;
background: var(--color-bg-light);
}
.card-image img {
width: 100%;
height: 240px;
object-fit: cover;
display: block;
}
.card-content {
padding: 1.75rem;
flex: 1;
display: flex;
flex-direction: column;
gap: 0.75rem;
}
/* ============================================
TYPOGRAPHY
============================================ */
h1, h2, h3, h4, h5, h6 {
margin: 0 0 0.75rem 0;
line-height: 1.3;
font-weight: 600;
}
.title {
font-size: 1.5rem;
color: var(--color-text);
margin-bottom: 0.75rem;
line-height: 1.4;
}
.title.is-1 {
font-size: 2.5rem;
}
.title.is-4 {
font-size: 1.35rem;
line-height: 1.4;
}
.title.is-6 {
font-size: 1rem;
}
.subtitle {
font-size: 1.1rem;
color: var(--color-text-light);
margin-bottom: 0.75rem;
font-weight: 500;
}
.content {
font-size: 1rem;
line-height: 1.7;
color: var(--color-text-light);
}
.block {
margin-top: auto; /* Push to bottom of card */
padding-top: 0.5rem;
}
/* ============================================
TAG
============================================ */
.tag {
display: inline-block;
padding: 0.5rem 1rem;
background: var(--color-bg-light);
border: 2px solid var(--color-border);
border-radius: var(--border-radius);
font-size: 0.95rem;
margin-bottom: 0.75rem;
font-weight: 500;
}
.tag.is-link {
background: rgba(193, 4, 252, 0.08);
border-color: var(--color-primary);
color: var(--color-primary);
}
.tag.is-light {
background: var(--color-bg-light);
}
/* ============================================
FORMS
============================================ */
.field {
margin-bottom: var(--spacing);
}
.label {
display: block;
margin-bottom: 0.25rem;
font-weight: 500;
font-size: 0.9rem;
}
.input,
.textarea,
select {
width: 100%;
padding: 0.75rem 1rem;
border: 2px solid var(--color-border);
border-radius: var(--border-radius);
font-size: 1rem;
font-family: inherit;
transition: border-color 0.2s, box-shadow 0.2s;
background: var(--color-bg);
}
.input:focus,
.textarea:focus,
select:focus {
outline: none;
border-color: var(--color-primary);
box-shadow: 0 0 0 3px rgba(193, 4, 252, 0.1);
}
.textarea {
min-height: 150px;
resize: vertical;
line-height: 1.6;
}
/* ============================================
BUTTONS
============================================ */
.button {
display: inline-block;
padding: 0.85rem 2rem;
background: var(--color-primary);
color: white;
border: none;
border-radius: var(--border-radius);
font-size: 1.05rem;
text-decoration: none;
cursor: pointer;
transition: background 0.2s, transform 0.1s, box-shadow 0.2s;
font-family: inherit;
font-weight: 500;
box-shadow: 0 2px 4px rgba(193, 4, 252, 0.2);
}
.button:hover {
background: #a003d1;
transform: translateY(-2px);
box-shadow: 0 4px 8px rgba(193, 4, 252, 0.3);
}
.button:active {
transform: translateY(0);
box-shadow: 0 2px 4px rgba(193, 4, 252, 0.2);
}
.button.is-link {
background: var(--color-primary);
}
.button.is-light {
background: var(--color-bg);
color: var(--color-text);
border: 2px solid var(--color-border);
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
}
.button.is-light:hover {
background: var(--color-bg-light);
border-color: var(--color-primary);
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}
/* ============================================
NOTIFICATIONS
============================================ */
.notification {
padding: 1.5rem 2rem;
border-radius: var(--border-radius);
margin-bottom: var(--spacing);
border: 2px solid;
font-size: 1.05rem;
line-height: 1.6;
}
.notification.is-danger {
background: #fee;
border-color: #fcc;
color: #c00;
}
.notification.is-success {
background: #efe;
border-color: #cfc;
color: #060;
}
.notification.is-info {
background: #eef;
border-color: #ccf;
color: #006;
}
/* ============================================
BOX
============================================ */
.box {
background: var(--color-bg);
border: 2px solid var(--color-border);
border-radius: var(--border-radius);
padding: 2rem;
margin-bottom: var(--spacing);
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
}
/* ============================================
MEDIA
============================================ */
img,
video,
iframe,
embed {
max-width: 100%;
height: auto;
border-radius: var(--border-radius);
}
embed {
display: block;
width: 100%;
max-width: 800px;
height: 700px;
margin: 0 auto;
border: 1px solid var(--color-border);
}
/* ============================================
PAGINATION
============================================ */
.pagination {
display: flex;
gap: 0.5rem;
justify-content: center;
margin-top: var(--spacing-lg);
flex-wrap: wrap;
}
.pagination a,
.pagination span {
padding: 0.5rem 0.75rem;
border: 1px solid var(--color-border);
border-radius: var(--border-radius);
text-decoration: none;
color: var(--color-text);
transition: all 0.2s;
}
.pagination a:hover {
background: var(--color-primary);
color: white;
border-color: var(--color-primary);
}
.pagination .current {
background: var(--color-primary);
color: white;
border-color: var(--color-primary);
}
/* ============================================
FOOTER
============================================ */
.footer {
background: var(--color-bg);
border-top: 2px solid var(--color-border);
padding: 3rem 2rem;
text-align: center;
margin-top: var(--spacing-xl);
font-size: 1rem;
color: var(--color-text-light);
}
/* ============================================
UTILITIES
============================================ */
.has-text-centered {
text-align: center;
}
.is-flex {
display: flex;
}
.is-justify-content-space-between {
justify-content: space-between;
}
.is-align-items-center {
align-items: center;
}
.mt-4 {
margin-top: var(--spacing-lg);
}
.mb-4 {
margin-bottom: var(--spacing-lg);
}
/* ============================================
RESPONSIVE
============================================ */
@media (max-width: 768px) {
:root {
--spacing-lg: 1.5rem;
--spacing-xl: 2rem;
}
.navbar-item {
text-decoration: none;
color: white;
outline: none;
}
.navbar a:hover {
color: rgba(77, 168, 112, 1);
}
.navbar>.title.is-1 {
font-family: 'police1';
color: white;
}
h1.title.is-1 {
color: white;
padding: 1.5rem;
}
.card-link {
text-decoration: none;
color: inherit;
border-style: solid;
border-color: white;
border-width: 5px;
/* border-radius: 16px; */
}
.card-link:hover .card {
color: #c104fc;
border-color: #c104fc;
border-style: solid;
/* border-radius: 16px; */
/* transform: translateY(-2px);
transition: all 0.3s; */
}
audio,
canvas,
iframe,
img,
svg,
video, embed {
border-radius: .25rem;
box-shadow: 0 .5em 1em -.125em rgba(10,10,10,.1),0 0 0 1px rgba(10,10,10,.02);
}
/* ENTÊTE */
/* .navbar {
font-family: 'police1';
background: linear-gradient(280deg, rgba(77, 168, 112, 1) 0%, rgba(193, 4, 252, 1) 85%);
background-color: rgba(0, 0, 0, 0);
text-decoration: none;
outline: none;
font-size: 1rem;
}
.navbar-item {
text-decoration: none;
color: white;
outline: none;
}
.navbar a:hover {
color: rgba(77, 168, 112, 1);
}
.navbar>.title.is-1 {
font-family: 'police1';
color: white;
}
.navbar>.title {
color: white;
} */
/*
*,
::before,
::after {
box-sizing: border-box;
} */
/* body {
background-color: white;
color: var(--text);
background-color: var(--bg);
font-size: 1.15rem;
line-height: 1.5;
display: grid;
grid-template-columns: 1fr min(45rem, 90%) 1fr;
margin: 0;
}
body>header {
text-align: center;
padding: 0 0.5rem 2rem 0.5rem;
grid-column: 1 / -1;
}
.card {
display: inline-block;
margin: 10px;
border: 1px solid #ccc;
border-radius: 5px;
max-width: 300px;
}
.card img {
max-width: 100%;
height: auto;
border-radius: 5px 5px 0 0;
}
.card .card-body {
padding: 10px;
}
.card h5 {
margin-top: 0;
margin-bottom: 5px;
font-size: 18px;
}
.card p {
margin-top: 0;
margin-bottom: 5px;
font-size: 14px;
}
/* RESET */
/* PARAMÈTRE DE BASE DE BOUTTON */
/* .button {
margin: 0;
width: auto;
padding: 0.8rem;
background-color: white;
} */
/* MENU */
/* .menu {
position: inherit;
width: 100vw;
left: 0;
background: linear-gradient(0deg, rgba(2, 0, 36, 0) 0%, rgba(255, 255, 255, 1) 25%);
.navbar {
padding: 1.5rem 1rem;
}
.menu-content {
display: flex;
flex-direction: row;
justify-content: center;
padding: 2rem;
.navbar-brand h1 {
font-size: 1.8rem;
}
.navbar-menu {
gap: 1rem;
}
header .button {
background-color: none;
color: rgb(193, 4, 252);
border: 1px solid rgb(193, 4, 252);
text-align: center;
text-decoration: none;
.navbar-item {
font-size: 1rem;
transition-duration: 0.4s;
cursor: pointer;
border-radius: 16px;
}
header input {
font-family: police1;
.columns {
grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
gap: 1.5rem;
}
header .button:hover {c
bakground-color: rgb(193, 4, 252);
color: white;
} */
/* GRILLE HOMEPAGE */
/*
.grid-section {
top: 15vh;
position: relative;
display: grid;
} */
/* MOSAIC MEMOIRE */
/*
.grid1 {
position: relative;
grid-column: 1 / 6;
width: 100%;
margin: none;
padding: 1rem;
left: 0;
.section {
padding: 2rem 1rem;
}
#mosaic ul {
-webkit-flex-direction: row;
flex-direction: row;
align-items: flex-start;
.card-content {
padding: 1.5rem;
}
#mosaic li {
float: left;
overflow: hidden;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
max-width: 23%;
overflow: hidden;
padding: 1rem;
margin: 0.5rem;
border-radius: 16px;
box-shadow: 2px 4px 8px 2px rgba(218, 109, 109, 0.2), 0 6px 20px 0 rgba(216, 24, 24, 0.19);
} */
/* FAIRE UNE GRID POUR QUE LES BOX AIELLENT TOUTES LA MÊME HAUTEUR */
/* #mosaic li:hover {
color: #c104fc;
border-color: #c104fc;
border-style: solid;
border-radius: 16px;
}
#mosaic img {
max-width: 100%;
border-radius: 16px;
}
#mosaic a {
text-decoration: none;
outline: none;
font-family: 'Lucida Sans', 'Lucida Sans Regular', 'Lucida Grande', 'Lucida Sans Unicode', Geneva, Verdana, sans-serif;
color: inherit;
width: auto;
}
#mosaic span {
display: block;
margin: 1rem;
} */
/* LISTE ANNÉE, tag, etc */
/* .grid2 {
position: relative;
display: flex;
grid-column: 6/ 6;
right: 0;
padding: 2rem;
font-size: 0.8rem;
justify-items: left;
height: 100vh;
}
.list ul {
margin: 1rem;
height: auto;
width: 100%;
align-items: center;
}
.list li {
width: fit-content;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
margin: 1rem;
}
.list a {
padding: 0.4rem;
background-color: #c104fc;
color: white;
border-radius: 12px;
margin: 1rem;
outline: none;
text-decoration: none;
font-weight: bold;
font-family: 'Lucida Sans', 'Lucida Sans Regular', 'Lucida Grande', 'Lucida Sans Unicode', Geneva, Verdana, sans-serif;
}
.list a:hover {
color: rgba(77, 168, 112, 1);
}
.list hr {
color: #c104fc;
width: 50%;
} */
/* ITEM PAGE */
/* .cover {
position: relative;
width: 100%;
}
embed {
display: inherit;
width: 800px;
height: 700px;
position: relative;
margin: 0 auto;
padding: 0.2rem;
border-color: #c104fc;
border-style: solid;
border-radius: 16px;
height: 400px;
}
.title.is-4 {
font-size: 1.2rem;
}
}
.memoire img {
max-width: 40%;
margin: 0.5rem;
} */
@media (max-width: 480px) {
.columns {
grid-template-columns: 1fr;
}
.navbar {
padding: 1.25rem 1rem;
}
.navbar-brand h1 {
font-size: 1.5rem;
}
.section {
padding: 1.5rem 1rem;
}
}