Browse Source

Merge branch 'master' into master

master
QuentinN42 2 months ago
parent
commit
a53c87dee5
  1. 8
      Makefile
  2. 79
      builder/templates/desc.html
  3. 7
      builder/templates/index.html
  4. 23
      builder/templates/main.css
  5. 64
      config.json

8
Makefile

@ -1,10 +1,10 @@
.PHONY: setup build
all: setup build
build:
build: setup
bash -c 'source ${PWD}/.venv/bin/activate && python3 -m builder'
setup:
.venv:
python3 -m venv .venv
setup: .venv requirements.txt
bash -c 'source ${PWD}/.venv/bin/activate && python3 -m pip install --upgrade pip && python3 -m pip install -r requirements.txt'

79
builder/templates/desc.html

@ -0,0 +1,79 @@
<!DOCTYPE html>
<html data-darkreader-mode="dynamic" data-darkreader-scheme="dark" lang="fr-FR">
<head>
<meta charset="utf-8" />
<link rel="stylesheet" href="main.css" type="text/css" />
<link href="./static/bootstrap.css" rel="stylesheet" />
<title>{{ config.name }}</title>
<meta name="viewport" content="width=device-width, initial-scale=0.6" />
<link rel="icon" type="image/x-icon" href="{{ config.favicon }}" />
</head>
<body>
<nav class="navbar sticky-top navbar-light bg-light">
{% for category in config.categories %}
<a class="nav-link" href="#{{ category.id }}"> {{ category.name }} </a>
{% endfor %}
<a class="nav-link" style="position: absolute; right: 0px" href="/">
Moins d'info
</a>
</nav>
{% for category in config.categories %}
<div class="container-xxl px-5 py-5">
<h1 class="pb-2 border-bottom" id="{{ category.id }}">
{{ category.name }}
</h1>
<div class="flex-container" style="flex-direction: column">
{% for item in category.content %}
<div
class="flex-item item {{ category.id }}"
style="width: 100%; height: 225px; margin: 25px; padding: 16px"
>
<a href="{{ item.url }}" target="_blank" rel="noopener noreferrer">
<img
src="{{ item.image }}"
alt="{{ item.name }}"
style="width: 225px; float: left"
/></a>
<div style="margin-left: 250px">
<a
class="{{ category.id }}"
style="border: none; text-decoration: none !important"
href="{{ item.url }}"
target="_blank"
rel="noopener noreferrer"
>
<h3>{{ item.name }}</h3></a
>
<p
style="
color: var(
--darkreader-text--bs-body-color,
var(--bs-body-color, black)
) !important;
margin-left: 25px;
"
>
{{ item.description }}
</p>
</div>
</div>
{% endfor %}
</div>
</div>
<div class="b-example-divider"></div>
{% endfor %}
</body>
<footer class="bg-light text-center text-lg-start">
<div class="text-center p-3" style="background-color: rgba(0, 0, 0, 0.2)">
Auto genrated with
<a
class="text-dark"
style="text-decoration: none"
href="https://git.rezel.net/Rezel/rezelator"
>rezelator</a
>!
</div>
</footer>
</html>

7
builder/templates/index.html

@ -3,7 +3,7 @@
<head>
<meta charset="utf-8" />
<link rel="stylesheet" href="main.css" type="text/css" />
<link href="./static/bootstrap.css" rel="stylesheet"/>
<link href="./static/bootstrap.css" rel="stylesheet" />
<title>{{ config.name }}</title>
<meta name="viewport" content="width=device-width, initial-scale=0.6" />
<link rel="icon" type="image/x-icon" href="{{ config.favicon }}" />
@ -14,6 +14,9 @@
{% for category in config.categories %}
<a class="nav-link" href="#{{ category.id }}"> {{ category.name }} </a>
{% endfor %}
<a class="nav-link" style="position: absolute; right: 0px" href="/desc">
Plus d'info
</a>
</nav>
{% for category in config.categories %}
<div class="container-xxl px-5 py-5">
@ -25,7 +28,7 @@
{% for item in category.content %}
<div class="flex-item">
<a
class="item-{{ category.id }}"
class="item {{ category.id }}"
href="{{ item.url }}"
target="_blank"
rel="noopener noreferrer"

23
builder/templates/main.css

@ -20,35 +20,31 @@ h2 {
margin: 0%;
}
{% for category in config.categories %}
.item-{{category.id}} {
.item {
display: block;
width: 175px;
height: 175px;
overflow: hidden;
display: relative;
background-size: cover !important;
color: {{category.txtrgb}} !important;
text-decoration: none;
border-radius: 6px;
border: 2px solid {{category.txtrgb}};
background: rgb(230, 230, 230);
overflow: hidden;
padding: 10%;
}
.item-{{category.id}} img {
.item img {
width: 100%;
height: 100%;
object-fit: contain;
}
.item-{{category.id}} h2 {
.item h2 {
text-align: center;
}
.item-{{category.id}} .desc {
.item .desc {
background: rgba(230, 230, 230, 0.9);
width: 100%;
height: 100%;
@ -61,14 +57,21 @@ h2 {
text-align: center;
}
.item-{{category.id}}:hover .desc {
.item:hover .desc {
transform: translate(0, -100%);
}
.item-{{category.id}} .desc h3 {
.item .desc h3 {
height: 100%;
transform: translate(0%, 25%);
}
{% for category in config.categories %}
.{{ category.id }} {
color: {{category.txtrgb}} !important;
border: 2px solid {{category.txtrgb}};
}
{% endfor %}

64
config.json

@ -7,12 +7,6 @@
"name": "Rezel",
"txtrgb": "rgb(0, 150, 250)",
"content": [
{
"url": "https://rezel.net/account",
"image": "./static/rezel_color.webp",
"name": "Rezel",
"description": "TODO"
},
{
"url": "https://matrix.rezel.net",
"image": "./static/element.webp",
@ -104,6 +98,12 @@
"name": "BDE",
"description": "Site du BDE"
},
{
"url": "https://rezel.net/account",
"image": "./static/rezel_color.webp",
"name": "Rezel",
"description": "Site de l'asso Rezel"
},
{
"url": "https://kft.telecom-paris.fr/",
"image": "./static/kft.webp",
@ -163,25 +163,25 @@
"url": "https://imprimeweb.telecom-paris.fr/",
"image": "./static/printer.webp",
"name": "Imprime Web",
"description": "TODO"
"description": "Impression centralisée."
},
{
"url": "https://synapses.telecom-paris.fr/",
"image": "./static/synapses.webp",
"name": "Synapses",
"description": "TODO"
"description": "Notes, emplois du temps et inscriptions."
},
{
"url": "https://eole.telecom-paris.fr/",
"image": "./static/eole.webp",
"name": "Eole",
"description": "TODO"
"description": "Informations relatives a l'école."
},
{
"url": "https://moncompte.telecom-paris.fr/mon_compte/",
"image": "./static/geco.webp",
"name": "GeCo",
"description": "TODO"
"description": "Gestion de votre compte étudiant."
},
{
"url": "https://doc.telecom-paris.fr/",
@ -205,13 +205,13 @@
"url": "https://mattermost.telecom-paris.fr/",
"image": "./static/mattermost.webp",
"name": "Matter most",
"description": "TODO"
"description": "Outils de discution et de collaboration."
},
{
"url": "https://gitlab.telecom-paris.fr/",
"image": "./static/gitlab.webp",
"name": "Gitlab",
"description": "TODO"
"description": "Gitlab pour les projets de l'école."
},
{
"url": "https://eole.telecom-paris.fr/vos-services/logistique/preparation-devenement/reservation-de-salle-pour-evenement",
@ -242,13 +242,13 @@
"url": "https://partage.imt.fr/",
"image": "./static/nextcloud.webp",
"name": "Partage",
"description": "TODO"
"description": "Nextcloud hébergé par l'IMT."
},
{
"url": "https://webconf.imt.fr/",
"image": "./static/bb.webp",
"name": "Webconf",
"description": "TODO"
"description": "Site de conférences hébergé par l'IMT."
}
]
},
@ -261,61 +261,67 @@
"url": "https://lames.enst.fr/",
"image": "./static/grafana.webp",
"name": "Serveurs lames",
"description": "TODO"
"description": "Ensemble des serveurs mis a disposition par INFRES."
},
{
"url": "https://controller.r2.enst.fr/horizon/auth/login/?next=/horizon/",
"image": "./static/openstack.webp",
"name": "Openstack",
"description": "TODO"
"name": "Open stack",
"description": "Connexion au cluster openstack."
},
{
"url": "https://moodle.r2.enst.fr/moodle/",
"image": "./static/moodle.webp",
"name": "Moodle",
"description": "TODO"
"description": "Depots des supports de cours."
},
{
"url": "https://littlesthub.r2.enst.fr/",
"image": "./static/jupyter.webp",
"name": "Jupyter Notebook",
"description": "Instance Jupyter mis a disposition par INFRES."
},
{
"url": "https://nextcloud.r2.enst.fr/auth/",
"image": "./static/nextcloud.webp",
"name": "Nextcloud",
"description": "TODO"
"description": "Nextcloud hébergé par INFRES."
},
{
"url": "https://digimedia1.r2.enst.fr/b",
"image": "./static/bb.webp",
"name": "BB Colab",
"description": "TODO"
"description": "Site de conférences disposition par INFRES."
},
{
"url": "https://peertube.r2.enst.fr/",
"image": "./static/peertube.webp",
"name": "Peertube",
"description": "TODO"
"description": "Partage de vidéos."
},
{
"url": "https://collab.r2.enst.fr/login",
"image": "./static/sharelatex.webp",
"name": "Share LaTeX",
"description": "TODO"
"description": "Edition de LaTeX en ligne."
},
{
"url": "https://mattermost.telecom-paris.fr/infres",
"image": "./static/mattermost.webp",
"name": "Matter most",
"description": "TODO"
"description": "Outils de discution et de collaboration."
},
{
"url": "https://janus.r2.enst.fr/janus/",
"image": "./static/janus.webp",
"name": "Janus",
"description": "TODO"
"description": "Site de conférences disposition par INFRES."
},
{
"url": "https://services.infres.enst.fr/plaques_bureaux/plaques.html",
"image": "./static/plaques.webp",
"name": "Plaques bureaux",
"description": "TODO"
"description": "Pour créer sa plaque de bureau."
}
]
},
@ -328,25 +334,25 @@
"url": "https://opensource.org/",
"image": "./static/oss.webp",
"name": "Open Source Initiative",
"description": "TODO"
"description": "To promote and protect open source software and communities..."
},
{
"url": "https://www.renater.fr/fr/Services",
"image": "./static/renater.webp",
"name": "Services Renater",
"description": "TODO"
"description": "Services de Renater"
},
{
"url": "https://www.overleaf.com/project",
"image": "./static/overleaf.webp",
"name": "Overleaf",
"description": "TODO"
"description": "Edition de LaTeX en ligne."
},
{
"url": "https://framasoft.org/",
"image": "./static/framasoft.webp",
"name": "Framasoft",
"description": "TODO"
"description": "Services de Framasoft"
}
]
}

Loading…
Cancel
Save