diff --git a/app.py b/app.py index ec0b965..200478f 100644 --- a/app.py +++ b/app.py @@ -1,8 +1,11 @@ from flask import Flask -from flask import render_template, request +from flask import render_template, request , send_from_directory from flask_flatpages import FlatPages import markdown2, os import random +from pathlib import Path + + app = Flask(__name__) application = app @@ -11,9 +14,9 @@ FLATPAGES_EXTENSION = '.md' FLATPAGES_MARKDOWN_EXTENSIONS = ['extra'] FLATPAGES_AUTO_RELOAD = True +app.config['FLATPAGES_ROOT'] = 'pages' app.config['APPLICATION_ROOT'] = '/lpe' -app.config.from_object(__name__) BASE_DIR = os.path.abspath(os.path.dirname(__file__)) app.config.from_object(__name__) @@ -28,20 +31,21 @@ def Liste_cat(): catList = list(dict.fromkeys(catList)) return catList -def imagelist(articlename): - dir_path = os.path.dirname(os.path.realpath(articlename))+'/pages/blog/' - gallery_path = os.path.join(dir_path, articlename) - if os.path.exists(gallery_path): - images = [f for f in os.listdir(gallery_path) if f.endswith('.jpg') or f.endswith('.jpeg') or f.endswith('.png') or f.endswith('.gif')] - return gallery_path ,images - else: - return None, None + +def get_article_images(article_path): + """Helper function to get images for a given article path.""" + article_folder = os.path.join(app.config['FLATPAGES_ROOT'], article_path) + images = [] + if os.path.isdir(article_folder): + images = [img for img in os.listdir(article_folder) if img.endswith(('.jpg', '.jpeg', '.png', '.gif'))] + return images + + @app.route('/') def index(): pictoPath = os.listdir('./static/img/shape/') pictoR = random.choice(pictoPath) - print(pictoR) page = pages.get_or_404('home') return render_template('home.html' , page=page , picto=pictoR) @@ -56,26 +60,49 @@ def pageStat(path): return render_template('home.html' , page=page ) -@app.route('/pages/') -def serve_pages(path): - return send_from_directory('pages', path) - @app.route('/blog/') def blog(): articles = (p for p in pages if 'date' in p.meta and 'type' in p.meta and p.meta['type']=='blog') - latest = sorted(articles, reverse=True, - key=lambda p: p.meta['date']) + latest = sorted(articles, reverse=True,key=lambda p: p.meta['date']) catList = Liste_cat() return render_template('archive.html', articles=latest , catList=catList ) + @app.route('/actu/') def actu(): - articles = (p for p in pages if 'date' in p.meta and 'type' in p.meta and p.meta['type']=='actu') - latest = sorted(articles, reverse=True, - key=lambda p: p.meta['date']) + pictoPath = os.listdir('./static/img/shape/') + pictoR = random.choice(pictoPath) + articles = (p for p in pages if 'date' in p.meta and 'category' in p.meta and p.meta['category']=='actu') + + articles_gal= [] + for article in articles: + images = get_article_images(article.path) + articles_gal.append({ + 'article': article, + 'images': images + }) + + latest = sorted(articles_gal, reverse=True, key=lambda p: p['article'].meta['date']) catList = Liste_cat() - return render_template('archive.html', articles=latest , catList=catList ) - + print(articles_gal) + return render_template('archive.html', articles=latest , picto=pictoR ) + +@app.route('/images/') +def image(filepath): + """Serve images from the pages folder dynamically.""" + try: + # Use send_from_directory to serve the image + print(f"Serving image from: {filepath}") + return send_from_directory(app.config['FLATPAGES_ROOT'], filepath) + except FileNotFoundError: + # Return a 404 error if the file is not found + return 'File not found', 404 + +#@app.route('/images/') +#def image(filepath): +# # Serve images from the correct folder +# return send_from_directory(app.config['FLATPAGES_ROOT'], filepath) +# if __name__ == '__main__': app.run(host='0.0.0.0') diff --git a/pages/a-propos.md b/pages/a-propos.md deleted file mode 100644 index 8e358e4..0000000 --- a/pages/a-propos.md +++ /dev/null @@ -1,46 +0,0 @@ -title: a-propos -date: 2020-04-13 -author: l'aile - - - -# Qui nous sommes? - -L'Aile est une maison de quartier située à Etterbeek, entre le métro Thieffry et la place Saint Pierre. Elle est implantée dans les logements sociaux de la Plaine de Boncelles et est ouverte à tous les enfants et les familles du quartier. L'Aile se concentre sur le soutien scolaire : pour les enfants entre 6 et 16 ans et leurs parents. - -![image](/static/md_files/image/DSC01492.JPG){.filter} - -# Ce que nous faisons - -L’Aile est un espace d’accueil chaleureux où l’enfant peut trouver de l’aide, une écoute, des conseils, de la bienveillance, des activités culturelles et émancipatrices qui le soutiendront dans sa scolarité. Accueillir et soutenir l’enfant et sa famille de façon plurielle, serait une des manières de résumer la mission de notre maison de quartier. -L'Aile organise des séances de soutien scolaire les jours de la semaine, après l’école. Les week-ends et pendant les vacances, nous organisons aussi des activités, des excursions, des ateliers, des stages. -Vous pouvez consulter notre projet pédagogique et notre page Facebook pour en savoir plus sur notre travail. - -# Notre philosophie - -L’Aile veut donner une place à chaque enfant : avec ses spécificités, son histoire. Nous voulons que chacun et chacune puisse évoluer à son rythme, s’appuyer sur ses spécificités. En même temps, nous voulons encourager l’entraide, l’approche collective, le souci du partage, de la solidarité entre enfants, famille et habitant.e.s du quartier. -Le rôle de l'Aile est, avec les écoles, de soutenir les enfants et les familles à tirer le meilleur de leur cursus scolaire, et ce malgré toutes les difficultés actuelles. Ce faisant, nous ne pouvons que nous faire écho des problèmes sociaux et des injustices qui frappent les enfants et les écoles. Nous voulons promouvoir une société plus égalitaire et plus solidaire. - -![image](/static/md_files/image/DSC01622.JPG){.filter} - -# Notre équipe - -L’Aile est sous la responsabilité de Camille. -L’Aile c’est aussi une équipe de bénévoles pour encadrer les enfants après l’école, pour accompagner les excursions, pour aider aux tâches administratives.
-Enfin, l’Aile est sous la responsabilité de son Conseil d’administration. - - -# Partenaires : - -![Etterbeek](/static/md_files/image/logo_partenaire-laile_etterbeek.svg){.img-logo} - -![Fondation Roi Baudouin](/static/md_files/image/logo_partenaire-laile-fondation.svg){.img-logo} - -![ONE](/static/md_files/image/logo_partenaires.png){.img-logo} - -![Bruxelles Francophones](/static/md_files/image/Logo_Francophones_Bruxelles_GRIS.png){.img-logo} - -![Cocof](/static/md_files/image/logo-cocof.png){.img-logo} - -![Arc en ciel](/static/md_files/image/logo_arc_en_ciel.png){.img-logo} - diff --git a/pages/actu/article2.md b/pages/actu/article2.md new file mode 100644 index 0000000..4e254bb --- /dev/null +++ b/pages/actu/article2.md @@ -0,0 +1,19 @@ +--- +title: articles test +author: marie +date: "2024-10-25" +category: actu +desc: blup +type: actu +--- + + +*Des gens connus parlent de tout sauf de ce pour quoi ils sont connus.* + +Small Talk est une série de podcasts où David Castello-Lopes invite des personnalités connues pour leur parler de tout sauf de ce pour quoi elles sont connues. Armé d’une liste de questions toutes moins cruciales les unes que les autres, il les pose toutes, que son invité.e soit une humoriste, un rappeur ou même, un ancien président de la République… + +Ici, pas de spectacles, de livres, ou d’actualité, on parle des vraies choses : à quoi ils rêvent, ce qu’ils pensent d’eux-mêmes, des impôts, des déménagements... + +Et à la fin de chaque épisode, au moment où David fait un cadeau étrange à son invité, on a l’impression d’avoir fait partie de cette conversation, et on se dit que si on avait été dans la pièce on aurait sûrement eu des trucs à raconter. + +Small Talk est un podcast original Konbini sur une idée originale de David Castello-Lopes. diff --git a/pages/actu/article2/171795015-292825965.jpg b/pages/actu/article2/171795015-292825965.jpg new file mode 100644 index 0000000..02787c0 Binary files /dev/null and b/pages/actu/article2/171795015-292825965.jpg differ diff --git a/pages/actu/article2/171795015h-292825965.jpg b/pages/actu/article2/171795015h-292825965.jpg new file mode 100644 index 0000000..02787c0 Binary files /dev/null and b/pages/actu/article2/171795015h-292825965.jpg differ diff --git a/pages/actu/article2/gettyimagesfeaht-3281816550.jpg b/pages/actu/article2/gettyimagesfeaht-3281816550.jpg new file mode 100644 index 0000000..bdd4c2e Binary files /dev/null and b/pages/actu/article2/gettyimagesfeaht-3281816550.jpg differ diff --git a/pages/actu/article2/gettyimagesfeat-3281816550.jpg b/pages/actu/article2/gettyimagesfeat-3281816550.jpg new file mode 100644 index 0000000..bdd4c2e Binary files /dev/null and b/pages/actu/article2/gettyimagesfeat-3281816550.jpg differ diff --git a/pages/actu/article2/pexels-photo-443446-747898122.jpeg b/pages/actu/article2/pexels-photo-443446-747898122.jpeg new file mode 100644 index 0000000..2e62ff4 Binary files /dev/null and b/pages/actu/article2/pexels-photo-443446-747898122.jpeg differ diff --git a/pages/actu/article2/pexels-photo-443446h-747898122.jpeg b/pages/actu/article2/pexels-photo-443446h-747898122.jpeg new file mode 100644 index 0000000..2e62ff4 Binary files /dev/null and b/pages/actu/article2/pexels-photo-443446h-747898122.jpeg differ diff --git a/pages/actu/article2/plateau-roulant-en-achier-3641885550.jpg b/pages/actu/article2/plateau-roulant-en-achier-3641885550.jpg new file mode 100644 index 0000000..b31d113 Binary files /dev/null and b/pages/actu/article2/plateau-roulant-en-achier-3641885550.jpg differ diff --git a/pages/actu/article2/plateau-roulant-en-acier-3641885550.jpg b/pages/actu/article2/plateau-roulant-en-acier-3641885550.jpg new file mode 100644 index 0000000..b31d113 Binary files /dev/null and b/pages/actu/article2/plateau-roulant-en-acier-3641885550.jpg differ diff --git a/pages/actu/vimavim.md b/pages/actu/vimavim.md index cf581cf..1689b4a 100644 --- a/pages/actu/vimavim.md +++ b/pages/actu/vimavim.md @@ -1,9 +1,11 @@ -title: VIM basics -author: zvevqx -date: 2025-11-22 -category: linux +--- +title: La petite ecole +author: marie +date: "2024-10-22" +category: actu desc: ws type: actu +--- @@ -14,57 +16,5 @@ Vim is a powerful and popular text editor that runs in the command-line interfac ## Basic Vim Commands Here are some of the basic Vim commands you should know: - -* `i`: Enters insert mode, allowing you to insert text. -* `Esc`: Exits insert mode and returns to command mode. -* `:w`: Writes the file to disk. -* `:q`: Quits Vim. -* `:q!`: Quits Vim without saving changes. -* `:wq`: Writes the file to disk and quits Vim. -* `yy`: Copies the current line to the clipboard. -* `dd`: Deletes the current line. -* `p`: Pastes the clipboard contents after the cursor. -* `/`: Searches for a pattern in the text. -* `n`: Jumps to the next occurrence of the pattern. -* `N`: Jumps to the previous occurrence of the pattern. - -## Advanced Vim Commands - -Here are some of the advanced Vim commands you can use to improve your editing workflow: - -* `u`: Undoes the last change. -* `Ctrl + r`: Redoes the last change. -* `o`: Inserts a new line below the cursor and enters insert mode. -* `O`: Inserts a new line above the cursor and enters insert mode. -* `:s/pattern/replacement/g`: Replaces all occurrences of a pattern with a replacement string. -* `:%s/pattern/replacement/g`: Replaces all occurrences of a pattern with a replacement string in the entire file. -* `:w !sudo tee %`: Writes the current file with sudo privileges. - -## Vim Cheat Sheet - -Here's a cheat sheet of common Vim commands: - -| Command | Description | -| --- | --- | -| `i` | Enter insert mode | -| `Esc` | Exit insert mode | -| `:w` | Write file | -| `:q` | Quit Vim | -| `:q!` | Quit Vim without saving | -| `:wq` | Write file and quit | -| `yy` | Copy current line | -| `dd` | Delete current line | -| `p` | Paste clipboard contents after cursor | -| `/pattern` | Search for pattern | -| `n` | Jump to next occurrence of pattern | -| `N` | Jump to previous occurrence of pattern | -| `u` | Undo last change | -| `Ctrl + r` | Redo last change | -| `o` | Insert new line below cursor | -| `O` | Insert new line above cursor | -| `:s/pattern/replacement/g` | Replace all occurrences of pattern with replacement | -| `:%s/pattern/replacement/g` | Replace all occurrences of pattern with replacement in entire file | -| `:w !sudo tee %` | Write file with sudo privileges | - Use this cheat sheet as a reference as you become more familiar with Vim. With practice, you'll be able to use Vim to edit text with speed and efficiency. diff --git a/pages/actu/vimavim/171795015-292825965.jpg b/pages/actu/vimavim/171795015-292825965.jpg new file mode 100644 index 0000000..02787c0 Binary files /dev/null and b/pages/actu/vimavim/171795015-292825965.jpg differ diff --git a/pages/actu/vimavim/gettyimagesfeat-3281816550.jpg b/pages/actu/vimavim/gettyimagesfeat-3281816550.jpg new file mode 100644 index 0000000..bdd4c2e Binary files /dev/null and b/pages/actu/vimavim/gettyimagesfeat-3281816550.jpg differ diff --git a/pages/actu/vimavim/pexels-photo-443446-747898122.jpeg b/pages/actu/vimavim/pexels-photo-443446-747898122.jpeg new file mode 100644 index 0000000..2e62ff4 Binary files /dev/null and b/pages/actu/vimavim/pexels-photo-443446-747898122.jpeg differ diff --git a/pages/actu/vimavim/plateau-roulant-en-acier-3641885550.jpg b/pages/actu/vimavim/plateau-roulant-en-acier-3641885550.jpg new file mode 100644 index 0000000..b31d113 Binary files /dev/null and b/pages/actu/vimavim/plateau-roulant-en-acier-3641885550.jpg differ diff --git a/pages/aider.md b/pages/aider.md deleted file mode 100644 index 3f6a02e..0000000 --- a/pages/aider.md +++ /dev/null @@ -1,37 +0,0 @@ -title: aider -date: 2020-12-04 -author: l'aile - - - - -# Devenir bénévole - -L’Aile invite les habitant.e.s du quartier à s’impliquer de manière bénévole. Elles et ils soutiennent les enfants de leur quartier via notre programme de soutien scolaire ou pour d’autres tâches (administration, organisations d’ateliers, accompagnement lors d’excursions). Nous sommes convaincu.e.s que l’engagement volontaire et citoyen constitue une plus-value pour les enfants et les habitant.e.s. C’est pourquoi l’Aile travaille avec des bénévoles du quartier, de toutes les générations, tous les genres, toutes les cultures. - -[Devenir bénévole !](mailto:asb_aile@hotmail.com) - -![image](/static/md_files/image/DSC01445.JPG){.filter} - -# Nous soutenir financièrement - -Pour soutenir notre projet, vous pouvez aussi contribuer financièrement.
- -Ces dons serviront à :

- • Acheter du matériel scolaire
- • Faire appel aux services de psychologues et/ou logopède pour les enfants qui en ont besoin et n’ont pas trouvé de professionnel.le.s disponibles et conventionné.e.s.
- • Organiser des séjours et des camps pour les enfants.
- • Acheter des manuels scolaires récents.
- • Organiser des ateliers scientifiques et pédagogiques animés par des professionnel.le.s.
- -![image](/static/md_files/image/DSC01580.jpg){.filter} - -# Comment faire un don ? - -Verser votre contribution sur le compte de l’asbl arc-en-ciel (notre partenaire facilitant la récolte de fonds),
-au n° BE41 6300 1180 0010. -En communication libre, écrire : *Votre Nom et Prénom, votre adresse et Projet 66* - -N’oubliez pas de mentionner qu’il s’agit du projet 66. - -Dès 40€, l’asbl Arc-En-Ciel enverra, à votre adresse, une attestation fiscale, et ce dans le courant de l’année suivant le versement. diff --git a/pages/image/DSC01445.JPG b/pages/image/DSC01445.JPG deleted file mode 100644 index 6e4e33c..0000000 Binary files a/pages/image/DSC01445.JPG and /dev/null differ diff --git a/pages/image/DSC01449.JPG b/pages/image/DSC01449.JPG deleted file mode 100644 index b9aa7eb..0000000 Binary files a/pages/image/DSC01449.JPG and /dev/null differ diff --git a/pages/image/DSC01492.JPG b/pages/image/DSC01492.JPG deleted file mode 100644 index 6c4e3c2..0000000 Binary files a/pages/image/DSC01492.JPG and /dev/null differ diff --git a/pages/image/DSC01580.jpg b/pages/image/DSC01580.jpg deleted file mode 100644 index e3c61a9..0000000 Binary files a/pages/image/DSC01580.jpg and /dev/null differ diff --git a/pages/image/DSC01622.JPG b/pages/image/DSC01622.JPG deleted file mode 100644 index f190265..0000000 Binary files a/pages/image/DSC01622.JPG and /dev/null differ diff --git a/pages/image/Logo_Francophones_Bruxelles_GRIS.png b/pages/image/Logo_Francophones_Bruxelles_GRIS.png deleted file mode 100644 index cdd4308..0000000 Binary files a/pages/image/Logo_Francophones_Bruxelles_GRIS.png and /dev/null differ diff --git a/pages/image/logo-cocof.png b/pages/image/logo-cocof.png deleted file mode 100644 index 54775c8..0000000 Binary files a/pages/image/logo-cocof.png and /dev/null differ diff --git a/pages/image/logo_arc_en_ciel.png b/pages/image/logo_arc_en_ciel.png deleted file mode 100644 index 00739bb..0000000 Binary files a/pages/image/logo_arc_en_ciel.png and /dev/null differ diff --git a/pages/image/logo_partenaire-laile-fondation.svg b/pages/image/logo_partenaire-laile-fondation.svg deleted file mode 100644 index 6042b29..0000000 --- a/pages/image/logo_partenaire-laile-fondation.svg +++ /dev/null @@ -1,125 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/pages/image/logo_partenaire-laile_etterbeek.svg b/pages/image/logo_partenaire-laile_etterbeek.svg deleted file mode 100644 index c8311fb..0000000 --- a/pages/image/logo_partenaire-laile_etterbeek.svg +++ /dev/null @@ -1,81 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/pages/image/logo_partenaire_laile.png b/pages/image/logo_partenaire_laile.png deleted file mode 100644 index 8ec4ee3..0000000 Binary files a/pages/image/logo_partenaire_laile.png and /dev/null differ diff --git a/pages/image/logo_partenaires.png b/pages/image/logo_partenaires.png deleted file mode 100644 index dbf9755..0000000 Binary files a/pages/image/logo_partenaires.png and /dev/null differ diff --git a/pages/info-box.txt b/pages/info-box.txt deleted file mode 100644 index 695568c..0000000 --- a/pages/info-box.txt +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: info-box -date: 2020-12-04 -author: l'aile ---- - - -L'Aile recherche activement des bénévoles pour le soutien scolaire. Si vous avez du temps libre, que vous habitez à Etterbeek et que vous avez envie de soutenir des enfants dans leur scolarité, contactez nous ! \ No newline at end of file diff --git a/pages/template.md b/pages/template.md deleted file mode 100644 index 5f51bbc..0000000 --- a/pages/template.md +++ /dev/null @@ -1,79 +0,0 @@ -title: template -date: 2020-12-04 -author: l'aile - - - -# Comment se connecter au FTP -
-[Client FTP (Clique droit enregistré sous)](http://asbl-aile.be/static/md_files/client-ftp-laile.xml) -

-–Ouvrir FileZilla
-–Cliquer en haut a gauche (trois petits ordinateurs)
-–Si première connection, télécharger le client FTP et l'importer dans FileZilla
-–Cliquer sur "L'aile - content" ensuite sur "Connexion"
-
- -# Faire un nouvel événement pour la page Activités - -[Template d'un fichier .MD pour l'agenda](http://asbl-aile.be/static/md_files/2001-01-01_titre.md) -

-Les fichiers (.MD) pour les événements sont dans le dossier "Agenda". -Le nom du fichier doit toujouts avoir la même nomenclature. -exemple: 2021-06-21_concert.md

-Un fichier .MD pour une activité est composé de:
-title: Concert de l'atelier de création sonore
-category: agenda (ne pas modifier)
-date: 2021-06-21 (date de l'événement)
-author: l'aile (ne pas modifier)
-link: www.facebook.com (le lien vers l'événement facebook par exemple)
-lieu: Atelier (lieu de l'activité)
-
-Description de l'activité

- -# Pour modifier le contenu du site -Il y a un .MD par page du site internet.
-L'école de devoirs = horaire.md
-À propos = a-propos.md
-Contact = contact.md
-Nous aider = aider.md

-Pour activer l'infobox (info-box.md), il faut enlever le tiret au début du nom du fichier .MD. Ou le rajouter pour la désactiver. - - -# Base du markdown - -Pour avoir un titre utiliser le markup suivant - - -dans l'éditeur de texte :
-`#Titre`
- -dans le naviguateur : -# Titre - -

- -Pour faire un saut de ligne inserer un
`
` -

- -Pour les liens -[text link](https://duckduckgo.com) -`[text link](https://duckduckgo.com)` -

- -Pour ajouter une image inline dans le texte -![laika](https://upload.wikimedia.org/wikipedia/en/thumb/7/71/Laika_%28Soviet_dog%29.jpg/220px-Laika_%28Soviet_dog%29.jpg) -`![image](/static/md_files/image/nom-de-limage.JPG){.filter} -` -

- - - - - - - - ---- -[Les références complète pour le markdown](https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet) - diff --git a/static/css/style.css b/static/css/style.css index 3ef413c..9361f08 100644 --- a/static/css/style.css +++ b/static/css/style.css @@ -113,11 +113,9 @@ nav{ } -.active{ +.menu_active{ height:calc(var(--menu_h)) !important; border: solid 3px var(--hover_color-menu)!important; - - } #menu ul{ @@ -126,7 +124,6 @@ nav{ line-height: var(--menu_h); transition: all ease 0.3s; height: 0; - //overflow: hidden; } @@ -152,7 +149,6 @@ nav{ #menu ul li span img{ width: 20px; display:inline-block; - //padding: 0 20px 0 15px; } #menu ul li h3, #menu ul li span{ @@ -164,9 +160,10 @@ nav{ } #content{ -// min-height: 100vh; /*! z-index: -1; */ } + + .picto_sun{ width: 250px; height: 250px; @@ -217,10 +214,22 @@ nav{ height:auto; top:calc(var(--menu_h)*2); left:var(--menu_h); - z-index: 500; + z-index: -1; } + + + +.page_data{ + font-size: 2.5em; + line-height: 1.4em; +} + +.page_data h1{ + font-size: 2.5em; + line-height: 1.4em; +} .wrapper{ padding-top:150px; width:60%; @@ -237,14 +246,114 @@ nav{ font-size: 2em; } -.wrapper .gal{ - margin: 3em 0 3em 0; +.content_wrapper{ + padding-top: calc(100px + var(--menu_h)); + width:70%; + margin:auto; + +} + +article { + margin-bottom: 40px; +} +article .a_title{ + font-family:'script12_btroman'; + font-size: 5em; + text-transform: capitalize; + font-weight:bolder; +} + +article p{ + margin-top: 20px; + font-size: 1.5em; + line-height: 1.4em; +} + +.content_wrapper .separator{ + width: 50%; + height: 12px; + margin: 150px auto; + +} +.gallery { + display: grid; + grid-template-columns: repeat(7, 1fr); + gap: 20px; + margin-top: 20px; +} + +.gallery .img_container{ + height:200px; + overflow :hidden; display: grid; - grid-template-columns: 1fr 1fr 1fr; - column-gap:3em; + +} +.gallery img { + width: 100%; + min-height: 100%; + align-self: center; + object-fit: cover; + cursor: pointer; +/* transition: transform 0.3s ease; */ +} + +.lightbox { + display:none; + position: fixed; + z-index: 999; + left: 0; + top: 0; + width: 100%; + height: 100%; + background-color: rgba(255,255,255, 0.5); + justify-content: center; + align-items: center; + padding: 20px; +} + +.lightbox img { + max-width: 50%; + max-height: 50%; + margin: auto; +} + +.lightbox.active { + display:flex; +} + +.close-btn { + position: absolute; + top: 200px; + right: 200px; + color: white; + font-size: 100px; + background: none; + border: none; + cursor: pointer; +} + +/* Responsive layout */ +/* @media (max-width: 768px) { + .gallery { + grid-template-columns: repeat(2, 1fr); + } } -.wrapper .gal .gal-img img{ - max-width: 100%; - height:auto; +@media (max-width: 480px) { + .gallery { + grid-template-columns: 1fr; + } +} + + +@media (max-width: 768px) { + .gallery { + grid-template-columns: repeat(2, 1fr); + } +} + +@media (max-width: 480px) { + .gallery { + grid-template-columns: 1fr; + } } diff --git a/static/img/separator.svg b/static/img/separator.svg new file mode 100644 index 0000000..2eb3f84 --- /dev/null +++ b/static/img/separator.svg @@ -0,0 +1,45 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/static/js/script.js b/static/js/script.js index 3063add..9003eee 100644 --- a/static/js/script.js +++ b/static/js/script.js @@ -17,21 +17,21 @@ $(document).ready(function(){ var vw = $(window).width(); var sun_x = getRndInteger(0, vw - 100); var sun_y = getRndInteger(0, 550); - var shape_x = getRndInteger(-1500, vw - 200); + var shape_x = getRndInteger(-vw/2, vw/2); var shape_y = getRndInteger(0, 200); $('.picto_sun').css({top:sun_y , left:sun_x,}); - $('.picto_shape').css({top:shape_y , left:shape_x,}); + $('.picto_shape').css({top:shape_y , left:shape_x, width:vw , height: 'auto'}); $('#topBtn').click(function(){ $('.menuItem').toggleClass('open') }); $('.menuItem').click(function(){ - $('.menuItem').removeClass('active'); + $('.menuItem').removeClass('menu_active'); $('.menuItem').toggleClass('open'); - $(this).addClass('active'); + $(this).addClass('menu_active'); }); $(document).scroll(function() { @@ -43,4 +43,36 @@ $(document).ready(function(){ $('#logo').css('top',topval ); }) + + + actu_img_width = $('.img_container').width(); + console.log(actu_img_width); + $('.img_container').css('height', actu_img_width); }) + + // Lightbox functionality +const galleryThumbnails = document.querySelectorAll('.gallery-thumbnail'); +const lightboxModal = document.getElementById('lightboxModal'); +const lightboxImage = document.getElementById('lightboxImage'); +const closeLightbox = document.getElementById('closeLightbox'); + +// Open lightbox when thumbnail is clicked +galleryThumbnails.forEach(thumbnail => { + thumbnail.addEventListener('click', function() { + const fullsizeImageSrc = thumbnail.getAttribute('data-fullsize'); + lightboxImage.src = fullsizeImageSrc; + lightboxModal.classList.add('active'); + }); +}); + +// Close lightbox +closeLightbox.addEventListener('click', function() { + lightboxModal.classList.remove('active'); +}); + +// Close lightbox when clicked outside the image +window.addEventListener('click', function(event) { + if (event.target === lightboxModal) { + lightboxModal.classList.remove('active'); + } +}); diff --git a/templates/archive.html b/templates/archive.html index 74e74a4..362b59b 100644 --- a/templates/archive.html +++ b/templates/archive.html @@ -11,30 +11,43 @@ {% block content %} - -
{% for a in articles %}
-
- {{a.title}}, - {{a.category}}, - {{a.date}}, +
+ {{a.article.title}}, + {{a.article.date}},
- {{a}} + {{a.article}}
+ + + {% if a.images %} + + {% endif %} + +
- {% endfor %} -
-
+
+ +
-
- + {% endfor %} + diff --git a/templates/base.html b/templates/base.html index 058bec0..000fead 100644 --- a/templates/base.html +++ b/templates/base.html @@ -26,9 +26,13 @@
- +
+ + {% block content %} {% endblock content %} diff --git a/templates/home.html b/templates/home.html index b2713f3..ada93ff 100644 --- a/templates/home.html +++ b/templates/home.html @@ -22,14 +22,6 @@
-{% if request.path == "/" %} - {% if infobox is not none %} -
- {{ infobox }} -
- {% endif %} -{% else %} -{% endif %} {{page}}
diff --git a/templates/menu.html b/templates/menu.html index d2445c9..2b2e6fd 100644 --- a/templates/menu.html +++ b/templates/menu.html @@ -5,11 +5,11 @@