]> git.immae.eu Git - github/bastienwirtz/homer.git/commitdiff
Add some local changes
authorIsmaël Bouya <ismael.bouya@normalesup.org>
Sat, 27 Jun 2020 14:02:52 +0000 (16:02 +0200)
committerIsmaël Bouya <ismael.bouya@normalesup.org>
Sat, 8 May 2021 18:13:28 +0000 (20:13 +0200)
33 files changed:
.gitignore
public/assets/tools/adminer.png [new file with mode: 0644]
public/assets/tools/buildbot.png [new file with mode: 0644]
public/assets/tools/buildbot.svg [new file with mode: 0644]
public/assets/tools/commento.svg [new file with mode: 0644]
public/assets/tools/diaspora.png [new file with mode: 0644]
public/assets/tools/dokuwiki.png [new file with mode: 0644]
public/assets/tools/etherpad.ico [new file with mode: 0644]
public/assets/tools/games_codenames.png [new file with mode: 0644]
public/assets/tools/games_terraforming_mars.ico [new file with mode: 0644]
public/assets/tools/gitweb.png [new file with mode: 0644]
public/assets/tools/grocy.png [new file with mode: 0644]
public/assets/tools/kanboard.png [new file with mode: 0644]
public/assets/tools/mantisbt.png [new file with mode: 0644]
public/assets/tools/mastodon.png [new file with mode: 0644]
public/assets/tools/mgoblin.ico [new file with mode: 0644]
public/assets/tools/nextcloud.png [new file with mode: 0644]
public/assets/tools/peertube.png [new file with mode: 0644]
public/assets/tools/phpbb.ico [new file with mode: 0644]
public/assets/tools/rainloop.png [new file with mode: 0644]
public/assets/tools/rompr.png [new file with mode: 0644]
public/assets/tools/roundcube.svg [new file with mode: 0644]
public/assets/tools/shaarli.png [new file with mode: 0644]
public/assets/tools/statusengine.png [new file with mode: 0644]
public/assets/tools/ttrss.png [new file with mode: 0644]
public/assets/tools/wallabag.svg [new file with mode: 0644]
public/config.yml [new file with mode: 0644]
src/App.vue
src/assets/app.scss
src/assets/defaults.yml
src/components/Navbar.vue
src/components/Service.vue
src/components/Subcard.vue [new file with mode: 0644]

index 26547c2e18a17d9bf3174d551bc80cbeb2bd7601..a0dddc6fb8c6b3feeeffa6e29bedca338e483382 100644 (file)
@@ -19,6 +19,3 @@ yarn-error.log*
 *.njsproj
 *.sln
 *.sw?
-
-# App configuration
-public/config.yml
diff --git a/public/assets/tools/adminer.png b/public/assets/tools/adminer.png
new file mode 100644 (file)
index 0000000..f5923d8
Binary files /dev/null and b/public/assets/tools/adminer.png differ
diff --git a/public/assets/tools/buildbot.png b/public/assets/tools/buildbot.png
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/public/assets/tools/buildbot.svg b/public/assets/tools/buildbot.svg
new file mode 100644 (file)
index 0000000..4972a11
--- /dev/null
@@ -0,0 +1,13 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="300" height="300" fill-rule="evenodd" aria-label="Nut" stroke-width="5" stroke="#000" stroke-linejoin="round">
+    <defs>
+        <linearGradient id="a" x1="61.3" x2="61.3" y1="31.7" y2="194.3" gradientTransform="matrix(1.28514 0 0 .76264 1.5 .5)" gradientUnits="userSpaceOnUse">
+            <stop offset="0%" stop-color="#8da6d8"/>
+            <stop offset="100%" stop-color="#2e5cb8"/>
+        </linearGradient>
+    </defs>
+    <path d="M10.7 205.4v-43l101.9 91.5v42.5z" fill="#24478f" stroke-width="4.9"/>
+    <path d="M112.7 254l139-33.7v43.2l-139 33.5v-43z" fill="#2e5cb8" stroke-width="4.9"/>
+    <path d="M251.8 220.3v43.2l37.2-125v-43z" fill="#193366" stroke-width="4.9"/>
+    <path d="M187.2 4L289 95.5l-37.2 124.8-139.2 33.5-101.8-91.4L48 37.5zm-3.5 72.6c32 16.7 43 53.6 24.4 82.5-18.4 28.8-59.6 38.7-91.8 22-32-16.5-43-53.6-24.4-82.4 18.3-28.9 59.4-38.9 91.7-22.2z" fill="#8da6d8" stroke-width="4.9"/>
+    <path d="M85.5 146a54.8 54.8 0 0 1 6-47.3c18.8-28.9 60-38.8 92-22 27.5 14.3 39.6 43.4 30.7 69.5a61.8 61.8 0 0 0-30.6-35c-32.2-16.6-73.4-6.7-92 22.2a57.4 57.4 0 0 0-6 12.8z" fill="url(#a)" stroke-width="4.9"/>
+</svg>
\ No newline at end of file
diff --git a/public/assets/tools/commento.svg b/public/assets/tools/commento.svg
new file mode 100644 (file)
index 0000000..39da47a
--- /dev/null
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg viewBox="0 0 105.65 105.65" xmlns="http://www.w3.org/2000/svg">
+<g transform="translate(0) scale(2.113)" fill="#1e2127" name="monogram_container" rel="inversefill" xmlns:name="monogram_container_inversefill">
+<title xmlns="http://www.w3.org/2000/svg">assets</title>
+<circle cx="25" cy="25" r="25" xmlns="http://www.w3.org/2000/svg"/>
+</g>
+<g transform="translate(26.5 5.65)" fill="#fff" name="monogram" rel="symbolfill" xmlns:name="monogram_symbolfill">
+<path d="m13.95 46.575v0.225c-0.075 0.15-0.075 0.3-0.075 0.45 0 0.225 0.075 0.375 0.075 0.525v0.525s0 0.3 0.075 0.525c0 0.15 0 0.3 0.075 0.525 0 0.15 0 0.3 0.075 0.375 0 0.225 0.075 0.375 0.075 0.525s0.075 0.3 0.15 0.45c0.075 0.3 0.15 0.6 0.225 0.975l0.225 0.45c0 0.15 0.075 0.225 0.15 0.375 0.075 0.3 0.225 0.6 0.375 0.9 0.075 0.15 0.15 0.3 0.3 0.525 0.075 0.15 0.15 0.3 0.225 0.375 0.15 0.3 0.375 0.6 0.525 0.9l0.3 0.3c0.075 0.15 0.15 0.3 0.225 0.375 0.225 0.225 0.45 0.525 0.675 0.75l0.675 0.675c0.3 0.3 0.525 0.45 0.825 0.675 0.225 0.225 0.45 0.45 0.75 0.6 0.525 0.375 1.05 0.75 1.65 0.975 0.15 0.075 0.3 0.15 0.375 0.225 0.225 0.075 0.375 0.15 0.6 0.225 0.15 0.075 0.225 0.075 0.375 0.15s0.3 0.15 0.45 0.15c0.375 0.15 0.675 0.225 0.975 0.3s0.675 0.15 0.975 0.225 0.675 0.075 0.975 0.15c0.3 0 0.6 0.075 0.9 0.075h1.05c0.3 0 0.675 0 1.05-0.075 0.6-0.075 1.275-0.15 1.875-0.3s1.2-0.375 1.8-0.6c0.15-0.075 0.3-0.075 0.45-0.15s0.3-0.15 0.525-0.225h4.95c-0.075 0-0.15 0.075-0.15 0.15-0.075 0-0.15 0.075-0.225 0.15-0.45 0.375-0.975 0.75-1.5 1.125-0.225 0.15-0.525 0.3-0.825 0.45-0.3 0.225-0.6 0.375-0.9 0.525-0.075 0.075-0.225 0.075-0.375 0.15l-0.45 0.225c-0.3 0.15-0.6 0.225-0.9 0.375-0.3 0.075-0.6 0.225-0.9 0.3-0.225 0.075-0.375 0.075-0.525 0.15-0.15 0-0.3 0.075-0.45 0.075-0.15 0.075-0.3 0.075-0.525 0.15h-0.15c-0.15 0.075-0.225 0.075-0.375 0.075-0.3 0.075-0.6 0.075-0.975 0.15-0.6 0.075-1.275 0.075-1.95 0.075h-0.45-0.45c-0.3 0-0.675-0.075-0.975-0.075-0.375-0.075-0.675-0.15-1.05-0.15l-0.9-0.225c-0.375-0.075-0.675-0.225-1.05-0.3-0.225-0.075-0.525-0.225-0.825-0.3-0.6-0.225-1.2-0.525-1.8-0.75-0.3-0.15-0.6-0.3-0.825-0.525-0.3-0.15-0.6-0.3-0.825-0.525-0.15-0.075-0.3-0.15-0.375-0.225-0.15-0.075-0.3-0.225-0.375-0.3-0.15-0.075-0.225-0.15-0.375-0.225l-0.375-0.375c-0.525-0.375-0.975-0.825-1.425-1.35-0.075-0.075-0.225-0.225-0.3-0.375-0.15-0.075-0.225-0.225-0.375-0.375-0.225-0.225-0.375-0.525-0.6-0.75-0.075-0.15-0.225-0.3-0.3-0.45s-0.15-0.225-0.225-0.375c-0.075-0.075-0.15-0.225-0.225-0.375-0.15-0.15-0.225-0.3-0.3-0.45-0.15-0.3-0.3-0.525-0.45-0.825s-0.3-0.6-0.375-0.9c-0.15-0.375-0.3-0.675-0.375-0.975-0.075-0.15-0.15-0.3-0.15-0.45-0.075-0.15-0.075-0.3-0.15-0.45-0.075-0.3-0.15-0.6-0.225-0.975l-0.225-0.9c0-0.15 0-0.3-0.075-0.45v-0.3s-0.075-0.15-0.075-0.225v-0.45-0.525c-0.075-0.675-0.075-1.35 0-2.025s0.15-1.275 0.225-1.95l0.225-0.9s0.225-0.675 0.3-0.975c0-0.15 0.075-0.225 0.15-0.375 0.075-0.225 0.075-0.375 0.15-0.525 0.15-0.3 0.225-0.6 0.375-0.825l0.45-0.9c0.075-0.15 0.15-0.375 0.225-0.525s0.15-0.3 0.3-0.375l0.225-0.45s0.15-0.225 0.225-0.375 0.225-0.3 0.3-0.45c0.15-0.075 0.225-0.225 0.3-0.375 0.375-0.525 0.825-0.975 1.275-1.425 0.225-0.225 0.45-0.525 0.75-0.675 0.225-0.225 0.45-0.45 0.75-0.675 0.075-0.075 0.225-0.15 0.375-0.3 0.075-0.075 0.225-0.15 0.3-0.225 0.15-0.075 0.3-0.225 0.45-0.3 0.075-0.075 0.225-0.15 0.375-0.225 0.525-0.375 1.125-0.675 1.725-0.975l0.45-0.225c0.075 0 0.225-0.075 0.375-0.15 0.3-0.15 0.675-0.225 0.975-0.375 0.3-0.075 0.6-0.225 0.975-0.3 0.15 0 0.3-0.075 0.45-0.075 0.15-0.075 0.3-0.075 0.45-0.15 0.3-0.075 0.6-0.15 0.975-0.15 0.15 0 0.3-0.075 0.45-0.075 0.225 0 0.375-0.075 0.525-0.075 0.675-0.075 1.275-0.075 1.95-0.075 0.375 0 0.675 0.075 1.05 0.075 0.3 0 0.675 0.075 0.975 0.15 0.3 0 0.6 0.075 0.9 0.15 0.225 0 0.375 0.075 0.525 0.075 0.15 0.075 0.3 0.075 0.45 0.075 0.6 0.225 1.2 0.375 1.8 0.6 0.15 0.075 0.375 0.15 0.525 0.225l0.45 0.225s0.3 0.15 0.375 0.225l1.35 0.675c0.225 0.15 0.525 0.375 0.75 0.525 0.15 0.075 0.3 0.225 0.375 0.3 0.075 0 0.15 0.075 0.225 0.15 0.075 0 0.15 0.075 0.15 0.15 0.15 0.075 0.3 0.15 0.375 0.225 0.15 0.15 0.3 0.225 0.375 0.375h-4.875c-0.075 0-0.075 0-0.15-0.075-0.3-0.075-0.6-0.225-0.9-0.375-0.15-0.075-0.3-0.15-0.525-0.15-0.15-0.075-0.3-0.15-0.45-0.15-0.3-0.15-0.6-0.225-0.9-0.3s-0.675-0.075-0.975-0.15c-0.675-0.15-1.35-0.15-2.025-0.225-0.6 0-1.275 0-1.875 0.15-0.675 0.075-1.35 0.15-1.95 0.375-0.375 0.075-0.675 0.15-0.975 0.3-0.15 0-0.3 0.075-0.45 0.15-0.15 0-0.225 0.075-0.375 0.15-0.225 0.075-0.375 0.15-0.6 0.225-0.075 0.075-0.225 0.15-0.375 0.225-0.3 0.15-0.6 0.3-0.9 0.525-0.225 0.15-0.525 0.3-0.75 0.45-0.225 0.225-0.525 0.375-0.75 0.6-0.15 0.075-0.225 0.225-0.375 0.3-0.15 0.15-0.3 0.225-0.375 0.375-0.3 0.225-0.525 0.45-0.75 0.75-0.225 0.225-0.375 0.45-0.6 0.675-0.075 0.15-0.15 0.225-0.3 0.375-0.075 0.15-0.15 0.225-0.3 0.375l-0.225 0.45c-0.075 0.075-0.15 0.225-0.225 0.375s-0.225 0.225-0.3 0.375c-0.075 0.225-0.15 0.375-0.225 0.6-0.075 0.075-0.15 0.225-0.15 0.3-0.075 0.15-0.225 0.3-0.225 0.525-0.15 0.3-0.3 0.6-0.375 0.9s-0.225 0.6-0.3 0.975c0 0.15-0.075 0.225-0.075 0.375-0.075 0.15-0.075 0.375-0.075 0.525-0.075 0.15-0.075 0.3-0.075 0.45-0.075 0.225-0.075 0.375-0.075 0.525-0.075 0.3-0.075 0.675-0.075 0.975zm28.8 13.125h9.9s-0.075 0.15-0.075 0.225c-0.15 0.225-0.3 0.525-0.45 0.75-0.15 0.3-0.3 0.6-0.45 0.825-0.075 0.15-0.225 0.3-0.3 0.45-0.075 0.075-0.15 0.225-0.225 0.375s-0.15 0.225-0.225 0.375c-0.15 0.15-0.225 0.225-0.3 0.375s-0.15 0.3-0.3 0.375c0 0.075-0.075 0.15-0.075 0.225-0.075 0-0.075 0.075-0.075 0.075l-0.075 0.075c0 0.075-0.075 0.075-0.075 0.075 0 0.075-0.075 0.075-0.075 0.15l-0.15 0.15c-0.075 0.15-0.225 0.3-0.3 0.45-0.45 0.45-0.825 0.975-1.275 1.425-0.225 0.225-0.45 0.45-0.6 0.675-0.3 0.225-0.525 0.45-0.825 0.75-0.45 0.375-0.9 0.825-1.425 1.2-0.45 0.375-0.975 0.825-1.5 1.125-0.15 0.15-0.375 0.3-0.525 0.45-0.075 0-0.225 0.075-0.3 0.15-0.3 0.225-0.6 0.375-0.9 0.6-0.6 0.3-1.2 0.675-1.8 0.975s-1.2 0.525-1.8 0.825c-0.525 0.225-1.125 0.45-1.725 0.675-0.6 0.15-1.275 0.375-1.875 0.525-0.375 0.075-0.675 0.15-1.05 0.3-0.15 0-0.3 0.075-0.45 0.075-0.225 0-0.375 0.075-0.6 0.075-0.6 0.15-1.275 0.225-1.95 0.3-0.6 0.075-1.275 0.15-1.875 0.15-0.675 0.075-1.275 0.075-1.95 0.075-0.3-0.075-0.675-0.075-0.975-0.075-0.375 0-0.75-0.075-1.125-0.075-0.15 0-0.3-0.075-0.45-0.075s-0.375-0.075-0.525-0.075c-0.375 0-0.675-0.075-1.05-0.15-0.6-0.075-1.275-0.225-1.875-0.375s-1.2-0.375-1.8-0.525c-0.3-0.15-0.6-0.225-0.9-0.3-0.375-0.15-0.675-0.3-0.975-0.375-0.3-0.15-0.675-0.3-0.975-0.45-0.15-0.075-0.3-0.075-0.375-0.15-0.225-0.15-0.375-0.225-0.6-0.3-0.6-0.3-1.125-0.6-1.725-0.9-0.525-0.375-1.05-0.675-1.575-1.05l-1.575-1.125c-0.225-0.225-0.525-0.45-0.825-0.675-0.225-0.225-0.45-0.45-0.75-0.675-0.225-0.225-0.525-0.45-0.75-0.75-0.225-0.15-0.375-0.375-0.6-0.6-0.45-0.45-0.9-0.975-1.275-1.425-0.225-0.3-0.45-0.525-0.6-0.75-0.225-0.225-0.375-0.525-0.6-0.75-0.15-0.225-0.3-0.525-0.525-0.825-0.075-0.075-0.15-0.225-0.225-0.375s-0.225-0.3-0.3-0.45c-0.15-0.225-0.3-0.45-0.45-0.75-0.075-0.15-0.15-0.225-0.225-0.375s-0.15-0.3-0.225-0.375c-0.3-0.6-0.6-1.2-0.825-1.725l-0.225-0.45c0-0.15-0.15-0.375-0.15-0.525l-0.225-0.45c0-0.15-0.075-0.3-0.15-0.45-0.225-0.6-0.375-1.2-0.6-1.8l-0.225-0.9c-0.075-0.375-0.15-0.675-0.225-0.975s-0.15-0.675-0.225-1.05c0-0.3-0.075-0.6-0.15-0.9-0.075-0.675-0.15-1.35-0.15-2.025-0.075-0.6-0.075-1.275-0.075-1.875 0-0.675 0-1.35 0.075-2.025 0-0.3 0.075-0.675 0.075-0.975 0.075-0.3 0.075-0.675 0.15-0.975s0.075-0.675 0.15-0.975c0-0.15 0.075-0.225 0.075-0.375 0-0.225 0.075-0.375 0.075-0.525 0.075-0.075 0.075-0.15 0.075-0.225s0.075-0.15 0.075-0.3 0.075-0.3 0.075-0.375c0.075-0.375 0.225-0.675 0.3-0.975 0.15-0.675 0.375-1.35 0.6-1.95s0.45-1.2 0.75-1.725l0.225-0.45c0-0.075 0.075-0.15 0.075-0.3 0.075 0 0.075 0 0.075-0.075l0.075-0.075v-0.15s0.075 0 0.075-0.075 0.075-0.15 0.15-0.225c0.075-0.15 0.075-0.3 0.15-0.375 0.15-0.3 0.3-0.525 0.45-0.825s0.375-0.525 0.525-0.825c0.075-0.15 0.15-0.225 0.225-0.375 0.15-0.15 0.225-0.3 0.3-0.45s0.225-0.225 0.3-0.375 0.15-0.225 0.225-0.375c0.225-0.225 0.375-0.525 0.6-0.75 0.15-0.225 0.375-0.45 0.6-0.75 0.15-0.225 0.375-0.45 0.6-0.675 0.225-0.3 0.45-0.525 0.675-0.75l0.3-0.3c0.075-0.15 0.225-0.225 0.3-0.3 0.225-0.225 0.45-0.45 0.75-0.675l1.575-1.35c0.225-0.225 0.525-0.375 0.825-0.6 0.225-0.225 0.525-0.375 0.825-0.6 0.525-0.375 1.125-0.675 1.65-0.975 0.525-0.375 1.125-0.6 1.65-0.9 0.3-0.15 0.6-0.3 0.9-0.375 0.3-0.15 0.6-0.3 0.975-0.45 0.3-0.15 0.6-0.225 0.975-0.375 0.3-0.075 0.6-0.225 0.975-0.3 0.6-0.225 1.275-0.375 1.95-0.525 0.6-0.15 1.2-0.3 1.8-0.375 0.675-0.15 1.275-0.225 1.95-0.3 0.3 0 0.675-0.075 1.05-0.075h0.975 1.05 1.05c0.3 0.075 0.6 0.075 0.975 0.075 0.3 0.075 0.6 0.075 0.9 0.15 0.6 0.075 1.275 0.15 1.875 0.3 0.675 0.075 1.35 0.225 2.025 0.45 0.15 0 0.3 0.075 0.45 0.075 0.15 0.075 0.3 0.15 0.45 0.15 0.375 0.15 0.75 0.225 1.05 0.375 0.075 0 0.225 0.075 0.3 0.075l0.675 0.225c0.3 0.15 0.525 0.3 0.825 0.375 0.6 0.3 1.125 0.525 1.725 0.825 0.525 0.3 1.125 0.6 1.725 0.975 0.3 0.15 0.6 0.375 0.9 0.6 0.225 0.15 0.525 0.375 0.825 0.525 0.075 0.075 0.225 0.15 0.3 0.225 0.225 0.15 0.375 0.3 0.525 0.45 0.3 0.15 0.525 0.375 0.75 0.6 0.525 0.375 0.975 0.825 1.425 1.2 0.15 0.15 0.3 0.3 0.375 0.45 0.15 0.075 0.225 0.15 0.3 0.3 0.225 0.15 0.45 0.375 0.675 0.6 0.225 0.3 0.45 0.525 0.6 0.75 0.225 0.3 0.45 0.525 0.675 0.825 0.15 0.225 0.375 0.45 0.525 0.675 0.225 0.3 0.375 0.525 0.6 0.75 0.3 0.6 0.675 1.125 0.975 1.65 0.15 0.3 0.375 0.525 0.45 0.825 0.075 0.15 0.15 0.225 0.225 0.375 0.075 0.075 0.075 0.15 0.15 0.225 0 0.075 0.075 0.15 0.075 0.225h-9.9l-0.3-0.3c-0.075-0.15-0.15-0.225-0.3-0.375-0.15-0.225-0.375-0.45-0.6-0.675-0.45-0.375-0.975-0.825-1.425-1.275-0.15-0.075-0.225-0.15-0.375-0.3-0.15-0.075-0.225-0.15-0.375-0.225-0.3-0.225-0.525-0.375-0.825-0.6-0.15-0.075-0.225-0.15-0.375-0.225s-0.225-0.15-0.375-0.225c-0.3-0.15-0.6-0.375-0.9-0.525-0.6-0.3-1.125-0.6-1.725-0.825-0.3-0.075-0.6-0.225-0.9-0.3-0.375-0.15-0.675-0.225-0.975-0.3-0.3-0.15-0.6-0.225-0.975-0.3-0.3-0.075-0.675-0.15-0.975-0.225l-2.025-0.225s-1.35-0.075-1.95-0.075c-0.375 0-0.675 0.075-0.975 0.075s-0.6 0.075-0.975 0.075c-0.6 0.075-1.275 0.15-1.875 0.3s-1.275 0.3-1.875 0.525-1.275 0.45-1.875 0.75l-1.8 0.9c-0.075 0.075-0.15 0.075-0.225 0.15 0 0-0.075 0.075-0.15 0.075-0.075 0.075-0.225 0.15-0.375 0.3-0.15 0.075-0.3 0.15-0.375 0.225-0.15 0.075-0.3 0.15-0.375 0.3-0.525 0.375-1.05 0.75-1.575 1.2-0.45 0.375-0.9 0.825-1.275 1.275-0.45 0.45-0.9 0.975-1.275 1.5-0.375 0.45-0.75 0.975-1.05 1.5-0.375 0.6-0.75 1.2-0.975 1.8l-0.45 0.9c-0.075 0.15-0.15 0.3-0.15 0.45l-0.225 0.45c-0.15 0.6-0.375 1.125-0.525 1.8-0.15 0.6-0.3 1.275-0.45 1.95-0.075 0.6-0.15 1.275-0.15 1.95-0.075 0.375-0.075 0.675-0.075 0.975s0 0.6 0.075 0.975c0 0.6 0.075 1.275 0.15 1.95s0.225 1.275 0.375 1.95 0.375 1.275 0.6 1.875c0.075 0.15 0.15 0.3 0.15 0.45l0.225 0.45c0.075 0.3 0.225 0.6 0.375 0.9l0.225 0.45s0.15 0.225 0.225 0.375c0.15 0.3 0.3 0.6 0.45 0.825 0.375 0.6 0.75 1.125 1.125 1.65s0.825 0.975 1.275 1.425c0.15 0.225 0.375 0.45 0.6 0.675l0.3 0.3c0.15 0.15 0.3 0.225 0.375 0.375 0.225 0.225 0.525 0.375 0.75 0.6s0.525 0.375 0.75 0.6c0.525 0.3 0.975 0.675 1.5 0.975 0.6 0.3 1.2 0.675 1.8 0.9 0.6 0.3 1.2 0.525 1.875 0.75 0.6 0.225 1.2 0.375 1.875 0.525 0.3 0.15 0.675 0.15 1.05 0.225 0.3 0.075 0.6 0.15 0.9 0.15 0.375 0.075 0.675 0.075 0.975 0.15h0.45 0.45 2.025c0.3-0.075 0.675-0.075 0.975-0.15 0.3 0 0.6-0.075 0.975-0.075 0.6-0.15 1.275-0.3 1.875-0.45 0.375-0.15 0.675-0.225 0.975-0.3 0.15-0.075 0.375-0.15 0.525-0.225 0.15 0 0.3-0.075 0.45-0.15 0.3-0.15 0.6-0.225 0.9-0.375l0.9-0.45c0.6-0.3 1.125-0.6 1.65-0.975 0.3-0.15 0.525-0.375 0.825-0.525 0.075-0.075 0.225-0.225 0.375-0.3 0.075-0.075 0.225-0.225 0.375-0.3 0.45-0.375 0.975-0.825 1.425-1.275s0.825-0.9 1.275-1.35z"/>
+</g>
+</svg>
diff --git a/public/assets/tools/diaspora.png b/public/assets/tools/diaspora.png
new file mode 100644 (file)
index 0000000..7b23d5d
Binary files /dev/null and b/public/assets/tools/diaspora.png differ
diff --git a/public/assets/tools/dokuwiki.png b/public/assets/tools/dokuwiki.png
new file mode 100644 (file)
index 0000000..a1f4995
Binary files /dev/null and b/public/assets/tools/dokuwiki.png differ
diff --git a/public/assets/tools/etherpad.ico b/public/assets/tools/etherpad.ico
new file mode 100644 (file)
index 0000000..938e955
Binary files /dev/null and b/public/assets/tools/etherpad.ico differ
diff --git a/public/assets/tools/games_codenames.png b/public/assets/tools/games_codenames.png
new file mode 100644 (file)
index 0000000..0b2729e
Binary files /dev/null and b/public/assets/tools/games_codenames.png differ
diff --git a/public/assets/tools/games_terraforming_mars.ico b/public/assets/tools/games_terraforming_mars.ico
new file mode 100644 (file)
index 0000000..733acb2
Binary files /dev/null and b/public/assets/tools/games_terraforming_mars.ico differ
diff --git a/public/assets/tools/gitweb.png b/public/assets/tools/gitweb.png
new file mode 100644 (file)
index 0000000..4fa44bb
Binary files /dev/null and b/public/assets/tools/gitweb.png differ
diff --git a/public/assets/tools/grocy.png b/public/assets/tools/grocy.png
new file mode 100644 (file)
index 0000000..40be557
Binary files /dev/null and b/public/assets/tools/grocy.png differ
diff --git a/public/assets/tools/kanboard.png b/public/assets/tools/kanboard.png
new file mode 100644 (file)
index 0000000..51702e7
Binary files /dev/null and b/public/assets/tools/kanboard.png differ
diff --git a/public/assets/tools/mantisbt.png b/public/assets/tools/mantisbt.png
new file mode 100644 (file)
index 0000000..729e3ea
Binary files /dev/null and b/public/assets/tools/mantisbt.png differ
diff --git a/public/assets/tools/mastodon.png b/public/assets/tools/mastodon.png
new file mode 100644 (file)
index 0000000..b12aa55
Binary files /dev/null and b/public/assets/tools/mastodon.png differ
diff --git a/public/assets/tools/mgoblin.ico b/public/assets/tools/mgoblin.ico
new file mode 100644 (file)
index 0000000..ae5a1b1
Binary files /dev/null and b/public/assets/tools/mgoblin.ico differ
diff --git a/public/assets/tools/nextcloud.png b/public/assets/tools/nextcloud.png
new file mode 100644 (file)
index 0000000..6358068
Binary files /dev/null and b/public/assets/tools/nextcloud.png differ
diff --git a/public/assets/tools/peertube.png b/public/assets/tools/peertube.png
new file mode 100644 (file)
index 0000000..a42fce3
Binary files /dev/null and b/public/assets/tools/peertube.png differ
diff --git a/public/assets/tools/phpbb.ico b/public/assets/tools/phpbb.ico
new file mode 100644 (file)
index 0000000..bb61b89
Binary files /dev/null and b/public/assets/tools/phpbb.ico differ
diff --git a/public/assets/tools/rainloop.png b/public/assets/tools/rainloop.png
new file mode 100644 (file)
index 0000000..ce1dd1a
Binary files /dev/null and b/public/assets/tools/rainloop.png differ
diff --git a/public/assets/tools/rompr.png b/public/assets/tools/rompr.png
new file mode 100644 (file)
index 0000000..d7b63b1
Binary files /dev/null and b/public/assets/tools/rompr.png differ
diff --git a/public/assets/tools/roundcube.svg b/public/assets/tools/roundcube.svg
new file mode 100644 (file)
index 0000000..1f50dd8
--- /dev/null
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="9.14 141.8 573.65 573.65">
+<style type="text/css">
+.st0{fill-rule:evenodd;clip-rule:evenodd;fill:#404F54;}
+.st1{fill-rule:evenodd;clip-rule:evenodd;fill:#E5E5E5;}
+.st2{fill-rule:evenodd;clip-rule:evenodd;fill:#CCCCCC;}
+.st3{fill-rule:evenodd;clip-rule:evenodd;fill:#37BEFF;}
+</style>
+<polygon class="st3" points="582.79,549.77 295.96,384.1 295.96,207.27 582.79,372.95 "/>
+<polygon class="st0" points="9.14,549.77 295.96,384.1 295.96,207.27 9.14,372.95 "/>
+<path class="st2" d="M295.96,141.8c109.56,0,198.41,88.85,198.41,198.41c0,109.56-88.85,198.41-198.41,198.41 c-109.56,0-198.41-88.85-198.41-198.41C97.55,230.65,186.4,141.8,295.96,141.8"/>
+<path class="st1" d="M295.96,141.8c109.6,0,198.48,88.85,198.48,198.41c0,109.56-88.88,198.41-198.48,198.41      c-62.91-42.34-88.94-127.64-88.94-198.3S233.05,184.22,295.96,141.8"/>
+<polygon class="st3" points="582.79,372.95 295.96,538.62 295.96,715.45 582.79,549.77 "/>
+<polygon class="st0" points="9.14,372.95 295.96,538.62 295.96,715.45 9.14,549.77 "/>
+</svg>
diff --git a/public/assets/tools/shaarli.png b/public/assets/tools/shaarli.png
new file mode 100644 (file)
index 0000000..f29210c
Binary files /dev/null and b/public/assets/tools/shaarli.png differ
diff --git a/public/assets/tools/statusengine.png b/public/assets/tools/statusengine.png
new file mode 100644 (file)
index 0000000..97f05da
Binary files /dev/null and b/public/assets/tools/statusengine.png differ
diff --git a/public/assets/tools/ttrss.png b/public/assets/tools/ttrss.png
new file mode 100644 (file)
index 0000000..97437d2
Binary files /dev/null and b/public/assets/tools/ttrss.png differ
diff --git a/public/assets/tools/wallabag.svg b/public/assets/tools/wallabag.svg
new file mode 100644 (file)
index 0000000..7b87fed
--- /dev/null
@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="200" height="200"><path fill="none" d="M0 0h200v200H0z"/><path d="M75.899 72.438c1.597-.981 10.207-5.556 24.098.178 14.289 5.897 23.154.776 24.253.079-3.454-5.678-7.562-10.62-12.104-13.943.303-.083.612-.167.939-.263 6.023-1.742 7.553-6.842 7.875-11.21.364-4.954.616-5.03 1.692-9.487 1.032-4.281-.119-5.137-1.181-4.273-.572.465-5.552 1.616-8.505 3.919-4.768 3.72-7.707 10.794-9.039 14.706-.025.06-.205.604-.265.792-.621 1.498-1.857 1.494-1.857 1.494v.001c-.6-.065-1.202-.1-1.809-.1-.54 0-1.079.029-1.616.081-.012.002-.019 0-.031.001-1.581.233-2.45-1.697-2.632-2.157-1.847-5.304-6.816-15.763-17.984-18.577 0 0-2.028-1.554-1.41 1.074.588 2.511 1.804 5.049 1.534 8.741-.124 1.704-1.181 10.442 6.85 14.99.763.432 1.441.795 2.051 1.101-4.042 3.235-7.716 7.74-10.859 12.853zM128.626 152.353c-9.842-6.098-13.153-8.242-12.946-10.575 0 0 .002-.379.099-.957.239-1.236.995-3.348 3.407-4.552.079-.039.146-.084.208-.129 7.668-4.45 13.27-11.614 15.246-20.56-1.99 4.941-16.735 8.78-34.645 8.78-17.903 0-32.651-3.839-34.641-8.78.442 2.008 1.073 3.923 1.864 5.742.666 3.745 1.562 12.563-2.673 20.282-3.731 6.8-22.15 16.069-49.485 10.748 0 0-1.096-.766-1.428-.136-.491.932 1.517 1.685 3.583 2.229 19.031 5.04 47.756 2.989 56.777-4.443 4.116-3.388 5.704-7.953 6.107-12.865l.003.008s.11-1.287 1.719-.32c.461.277 2.125 1.36 2.39 2.585.232 1.743.248 3.883-.652 5.382-1.287 2.144-1.301 2.452.393 3.662 1.04.742 5.287 3.864 11.198 7.415.015.01.023.019.038.027 1.25.753 2.987 2.597 2.987 2.597 2.662 3.079 8.452 9.275 10.972 8.108 1.19-.551-.051-3.032-.051-3.032s1.98 2.571 3.043 1.694c.809-.668-.473-3.229-.473-3.229s1.729 1.499 2.757.944c1.258-.679-.187-4.614-10.079-10.627-9.896-6.018-12.578-6.94-12.814-9.626 0 0-.004-.135.004-.366.077-.593.414-1.847 1.852-1.712 2.141.346 4.348.531 6.608.531 2.587 0 5.107-.237 7.536-.69l.001.003s.127-.025.164-.031c.284-.036.838-.018.84.671-.09.873-.331 1.751-.845 2.519-1.447 2.168-.972 2.466.54 3.859.933.859 5.211 4.622 11.07 8.264.012.009.017.016.031.023 1.249.752 3.41 2.816 3.41 2.816v-.001c2.428 2.466 6.894 6.596 9.327 6.347 1.646-.168.306-3.002.306-3.002s2.078 2.006 3.099 1.416c1.142-.659-.474-2.755-.474-2.755s1.338.708 2.283.473c.948-.236 1.185-2.644-8.656-8.737z"/><path d="M117.631 83.452c-1.181 0-2.161.355-2.912 1.057-.76.71-1.144 1.531-1.144 2.438v16.056c0 2.154-.382 3.742-1.135 4.721-.728.946-1.892 1.406-3.556 1.406-1.703 0-2.863-.457-3.549-1.396-.716-.979-1.078-2.571-1.078-4.731V86.884c0-1.098-.5-1.996-1.448-2.596-1.289-.812-2.57-1.105-4.129-.587-.476.159-.924.366-1.333.615-.435.265-.802.597-1.093.985-.322.432-.486.901-.486 1.396v16.307c0 2.158-.363 3.75-1.079 4.73-.688.939-1.849 1.396-3.548 1.396-1.705 0-2.877-.459-3.584-1.401-.734-.979-1.107-2.57-1.107-4.726V86.947c0-.908-.384-1.728-1.145-2.438-.751-.702-1.751-1.057-2.973-1.057-1.258 0-2.296.352-3.085 1.045-.811.71-1.222 1.535-1.222 2.45v15.806c0 1.988.194 3.869.575 5.588.393 1.758 1.077 3.3 2.035 4.586.968 1.299 2.282 2.323 3.906 3.05 1.607.716 3.617 1.079 5.975 1.079 2.457 0 4.515-.455 6.115-1.354 1.342-.754 2.473-1.744 3.371-2.951.866 1.207 1.971 2.197 3.294 2.95 1.58.899 3.669 1.354 6.211 1.354 2.357 0 4.359-.364 5.947-1.081 1.601-.726 2.902-1.751 3.872-3.048.96-1.29 1.645-2.833 2.034-4.586.381-1.719.575-3.6.575-5.588V86.947c0-.911-.398-1.733-1.184-2.445-.767-.697-1.818-1.05-3.12-1.05z"/></svg>
diff --git a/public/config.yml b/public/config.yml
new file mode 100644 (file)
index 0000000..0b67af5
--- /dev/null
@@ -0,0 +1,343 @@
+---
+# Homepage configuration
+# See https://fontawesome.com/icons for icons options
+
+title: "Websites dashboard"
+subtitle: "Immae"
+footer: '<p>Created with <span class="has-text-danger">❤️</span> with <a href="https://bulma.io/">bulma</a>, <a href="https://vuejs.org/">vuejs</a> & <a href="https://fontawesome.com/">font awesome</a> // Fork me on <a href="https://github.com/bastienwirtz/homer"><i class="fab fa-github-alt"></i></a></p>'  # set false if you want to hide it.
+
+# Optional navbar
+# links: [] # Allows for navbar (dark mode, layout, and search) without any links
+links:
+  - name: "status"
+    icon: "fas fa-desktop"
+    url: "https://status.immae.eu"
+  - name: "Change password"
+    url: "https://tools.immae.eu/ldap_password.php"
+  - name: "Get your IP"
+    url: "https://tools.immae.eu/myip.php"
+
+# Services
+# First level array represent a group.
+# Leave only a "items" key if not using group (group name, icon & tagstyle are optional, section separation will not be displayed).
+services:
+  - name: "Tools"
+    icon: "fas fa-tools"
+    items:
+      - name: "Nextcloud"
+        logo: "assets/tools/nextcloud.png"
+        url: "https://cloud.immae.eu"
+        links:
+          - url: "https://nextcloud.com/"
+            name: "Project page"
+      - name: "Etherpad"
+        logo: "assets/tools/etherpad.ico"
+        url: "https://ether.immae.eu"
+        links:
+          - url: "https://etherpad.org/"
+            name: "Project page"
+      - name: "Taskweb"
+        icon: "fas fa-tasks"
+        url: "https://task.immae.eu/taskweb"
+        links:
+          - url: "http://theunraveler.github.io/taskwarrior-web/"
+            name: "Project page"
+      - name: "Agenda"
+        icon: "fas fa-calendar-alt"
+        url: "https://dav.immae.eu/caldavzap"
+        links:
+          - url: "https://www.inf-it.com/open-source/clients/"
+            name: "CalDavZAP"
+      - name: "Contacts"
+        icon: "fas fa-address-book"
+        url: "https://dav.immae.eu/carddavmate"
+        links:
+          - url: "https://www.inf-it.com/open-source/clients/"
+            name: "CardDavMATE"
+      - name: "Kanboard"
+        logo: "assets/tools/kanboard.png"
+        url: "https://tools.immae.eu/kanboard"
+        links:
+          - url: "https://kanboard.org/"
+            name: "Project page"
+      - name: "Dokuwiki"
+        logo: "assets/tools/dokuwiki.png"
+        url: "https://tools.immae.eu/dokuwiki"
+        links:
+          - url: "https://www.dokuwiki.org/dokuwiki"
+            name: "Project page"
+      - name: "RompR (MPD)"
+        logo: "assets/tools/rompr.png"
+        url: "https://tools.immae.eu/rompr"
+        links:
+          - url: "https://fatg3erman.github.io/RompR/"
+            name: "Project page"
+      - name: "Ympd (MPD)"
+        icon: "far fa-play-circle"
+        url: "https://tools.immae.eu/mpd"
+        links:
+          - url: "https://www.ympd.org/"
+            name: "Project page"
+      - name: "Shaarli"
+        logo: "assets/tools/shaarli.png"
+        url: "https://tools.immae.eu/Shaarli"
+        links:
+          - url: "https://shaarli.readthedocs.io"
+            name: "Project page"
+      - name: "TT-RSS"
+        logo: "assets/tools/ttrss.png"
+        url: "https://tools.immae.eu/ttrss"
+        links:
+          - url: "https://tt-rss.org/"
+            name: "Project page"
+      - name: "Wallabag"
+        logo: "assets/tools/wallabag.svg"
+        url: "https://tools.immae.eu/wallabag"
+        links:
+          - url: "https://www.wallabag.it/en"
+            name: "Project page"
+      - name: "Grocy"
+        logo: "assets/tools/grocy.png"
+        url: "https://tools.immae.eu/grocy"
+        links:
+          - url: "https://grocy.info/"
+            name: "Project page"
+      - name: "BIP39"
+        icon: "fab fa-bitcoin"
+        url: "https://tools.immae.eu/BIP39"
+        links:
+          - url: "https://github.com/iancoleman/bip39"
+            name: "Source"
+      - name: "Status Engine"
+        logo: "assets/tools/statusengine.png"
+        url: "https://performance.immae.eu"
+        links:
+          - url: "https://statusengine.org/"
+            name: "Project page"
+  - name: "Social"
+    icon: "fas fa-users"
+    items:
+      - name: "Commento"
+        logo: "assets/tools/commento.svg"
+        url: "https://commento.immae.eu"
+        links:
+          - url: "https://www.commento.io/"
+            name: "Project page"
+      - name: "Diaspora"
+        logo: "assets/tools/diaspora.png"
+        url: "https://diaspora.immae.eu"
+        links:
+          - url: "https://diasporafoundation.org/"
+            name: "Project page"
+      - name: "Mastodon"
+        logo: "assets/tools/mastodon.png"
+        url: "https://mastodon.immae.eu"
+        links:
+          - url: "https://joinmastodon.org/"
+            name: "Project page"
+      - name: "PhpBB"
+        logo: "assets/tools/phpbb.ico"
+        url: "https://tools.immae.eu/forum"
+        links:
+          - url: "https://www.phpbb.com/"
+            name: "Project page"
+      - name: "Instant messaging (converse)"
+        icon: "fas fa-comment"
+        url: "https://im.immae.fr/converse"
+        links:
+          - url: "https://conversejs.org/"
+            name: "Project page"
+      - name: "Mail (roundcube)"
+        logo: "assets/tools/roundcube.svg"
+        url: "https://mail.immae.eu/roundcube"
+        links:
+          - url: "https://roundcube.net/"
+            name: "Project page"
+      - name: "Mail (rainloop)"
+        logo: "assets/tools/rainloop.png"
+        url: "https://mail.immae.eu/rainloop"
+        links:
+          - url: "http://www.rainloop.net/"
+            name: "Project page"
+  - name: "Video"
+    icon: "fas fa-video"
+    items:
+      - name: "Peertube"
+        logo: "assets/tools/peertube.png"
+        url: "https://peertube.immae.eu"
+        links:
+          - url: "https://joinpeertube.org/fr/"
+            name: "Project page"
+      - name: "Mediagoblin"
+        logo: "assets/tools/mgoblin.ico"
+        url: "https://mgoblin.immae.eu"
+        links:
+          - url: "https://mediagoblin.org/"
+            name: "Project page"
+  - name: "Games"
+    icon: "fas fa-gamepad"
+    items:
+      - name: "Codenames"
+        logo: "assets/tools/games_codenames.png"
+        url: "https://codenames.games.immae.eu/"
+        links:
+          - url: "https://github.com/jbowens/codenamesgreen"
+            name: "Source"
+      - name: "Terraforming mars"
+        logo: "assets/tools/games_terraforming_mars.ico"
+        url: "https://terraforming-mars.games.immae.eu/"
+        links:
+          - url: "https://github.com/bafolts/terraforming-mars"
+            name: "Source"
+  - name: "Development"
+    icon: "fas fa-code-branch"
+    items:
+      - name: "Gitweb"
+        logo: "assets/tools/gitweb.png"
+        url: "https://git.immae.eu"
+        links:
+          - url: "https://git-scm.com/"
+            name: "Project page"
+      - name: "Mantisbt"
+        logo: "assets/tools/mantisbt.png"
+        url: "https://git.immae.eu/mantisbt"
+        links:
+          - url: "https://mantisbt.org/"
+            name: "Project page"
+      - name: "Buildbot"
+        logo: "assets/tools/buildbot.svg"
+        url: "https://git.immae.eu/buildbot/immaeEu/"
+        links:
+          - url: "https://buildbot.net/"
+            name: "Project page"
+      - name: "Adminer"
+        logo: "assets/tools/adminer.png"
+        url: "https://tools.immae.eu/adminer"
+        links:
+          - url: "https://www.adminer.org/"
+            name: "Project page"
+      - name: "Release"
+        icon: "fas fa-running"
+        url: "https://release.immae.eu"
+        links:
+          - url: "https://oupala.github.io/apaxy/"
+            name: "Theme by Apaxy"
+  - name: "Immae"
+    icon: "fas fa-edit"
+    items:
+      - name: "Page principale"
+        icon: "fas fa-user"
+        url: "https://www.immae.eu"
+        links:
+          - url: "https://blog.getpelican.com/"
+            name: "Built with Pelican"
+      - name: "Historique infrastructure / Changelog"
+        icon: "fas fa-history"
+        url: "https://www.immae.eu/history"
+        links:
+          - url: "https://www.changelog.site/"
+            name: "Built with ChangeLog"
+      - name: "Atelier d’écriture"
+        icon: "fas fa-pen"
+        url: "https://www.immae.eu/atelier"
+      - name: "Blog"
+        icon: "fas fa-blog"
+        url: "https://www.immae.eu/blog"
+        links:
+          - url: "https://blog.getpelican.com/"
+            name: "Built with Pelican"
+      - name: "Recherche"
+        icon: "fas fa-search"
+        url: "https://www.immae.eu/recherche"
+      - name: "Cours"
+        icon: "fas fa-school"
+        url: "https://www.immae.eu/cours"
+        links:
+          - url: "https://melusine.eu.org/syracuse/immae/"
+            name: "Miroir (Mélusine)"
+      - name: "Recettes"
+        icon: "fas fa-utensils"
+        url: "https://www.immae.eu/recettes"
+        links:
+          - url: "https://jekyllrb.com/"
+            name: "Built with Jekyll"
+      - name: "Chapeaux de Hamming"
+        icon: "fas fa-hat-cowboy-side"
+        url: "https://www.immae.eu/chapeaux"
+  - name: "Configuration / System"
+    icon: "fas fa-cog"
+    items:
+      - name: "Instant messaging"
+        url: "https://im.immae.fr"
+        links:
+          - url: "https://www.ejabberd.im/"
+            name: "Ejabberd"
+      - name: "E-mail"
+        url: "https://mail.immae.eu"
+        links:
+          - url: "http://www.postfix.org/"
+            name: "Postfix"
+          - url: "https://www.dovecot.org/"
+            name: "Dovecot"
+          - url: "https://www.rspamd.com/"
+            name: "Rspamd"
+          - url: "http://www.opendkim.org/"
+            name: "OpenDKIM"
+          - url: "http://www.trusteddomain.org/opendmarc/"
+            name: "OpenDMARC"
+          - url: "https://github.com/trusteddomainproject/OpenARC"
+            name: "OpenARC"
+      - name: "Mailing-List"
+        url: "https://mail.immae.eu/sympa"
+        links:
+          - url: "https://www.sympa.org/"
+            name: "SYMPA"
+      - name: "VPN"
+        url: "https://vpn.immae.eu"
+        links:
+          - url: "https://tinc-vpn.org/"
+            name: "Tinc"
+      - name: "Taskwarrior"
+        url: "https://task.immae.eu"
+        links:
+          - url: "http://theunraveler.github.io/taskwarrior-web/"
+            name: "Project page"
+      - name: "Dav"
+        url: "https://dav.immae.eu"
+      - name: "Dav acount"
+        url: "https://dav.immae.eu/davical"
+        links:
+          - url: "https://www.davical.org/"
+            name: "Davical"
+      - name: "Paste"
+        url: "https://tools.immae.eu/paste"
+        links:
+          - url: "http://termbin.com/"
+            name: "Termbin"
+      - name: "LDAP"
+        url: "https://tools.immae.eu/ldap"
+        links:
+          - url: "http://phpldapadmin.sourceforge.net/wiki/index.php/Main_Page"
+            name: "phpLDAPAdmin"
+      - name: "Yourls"
+        url: "https://tools.immae.eu/url/admin/"
+        links:
+          - url: "http://yourls.org/"
+            name: "Project page"
+      - name: "Change password"
+        url: "https://tools.immae.eu/ldap_password.php"
+        links:
+          - url: "https://gist.github.com/mattrude/657334"
+            name: "Source"
+      - name: "temp.immae.eu"
+        url: "https://temp.immae.eu"
+        links:
+          - url: "https://git.cloudron.io/cloudron/surfer"
+            name: "Surfer"
+      - name: "DMARC report status"
+        url: "https://tools.immae.eu/dmarc-reports"
+        links:
+          - url: "https://git.immae.eu/?p=perso/Immae/Config/Nix.git;a=tree;f=modules/private/websites/tools/tools/dmarc_reports;hb=HEAD"
+            name: "Source code"
+          - url: "https://github.com/techsneeze/dmarcts-report-viewer"
+            name: "Inspiration work"
index 17c32143b44cc93d4740f2cd6fdb547e00f2e0f4..747d279af906d57d637be6e0e8c5d7619e454898 100644 (file)
@@ -10,7 +10,7 @@
   >
     <DynamicTheme :themes="config.colors" />
     <div id="bighead">
-      <section v-if="config.header" class="first-line">
+      <section v-if="config.header" class="first-line is-hidden-touch">
         <div v-cloak class="container">
           <div class="logo">
             <img v-if="config.logo" :src="config.logo" alt="dashboard logo" />
@@ -27,6 +27,8 @@
         :open="showMenu"
         :links="config.links"
         @navbar:toggle="showMenu = !showMenu"
+        :navigateToFirstService="navigateToFirstService"
+        :filterServices="filterServices"
       >
         <DarkMode @updated="isDark = $event" />
 
           icon="fa-list"
           iconAlt="fa-columns"
         />
-
-        <SearchInput
-          class="navbar-item is-inline-block-mobile"
-          @input="filterServices"
-          @search:focus="showMenu = true"
-          @search:open="navigateToFirstService"
-          @search:cancel="filterServices"
-        />
       </Navbar>
     </div>
 
@@ -68,7 +62,7 @@
                 v-for="item in group.items"
                 :key="item.name"
                 v-bind:item="item"
-                :class="['column', `is-${12 / config.columns}`]"
+                class="column is-half-tablet is-one-third-widescreen is-half-desktop"
               />
             </template>
           </div>
@@ -79,7 +73,7 @@
             class="columns is-multiline layout-vertical"
           >
             <div
-              :class="['column', `is-${12 / config.columns}`]"
+              class="column is-half-tablet is-one-third-widescreen is-half-desktop"
               v-for="group in services"
               :key="group.name"
             >
@@ -118,7 +112,6 @@ import Navbar from "./components/Navbar.vue";
 import ConnectivityChecker from "./components/ConnectivityChecker.vue";
 import Service from "./components/Service.vue";
 import Message from "./components/Message.vue";
-import SearchInput from "./components/SearchInput.vue";
 import SettingToggle from "./components/SettingToggle.vue";
 import DarkMode from "./components/DarkMode.vue";
 import DynamicTheme from "./components/DynamicTheme.vue";
@@ -132,7 +125,6 @@ export default {
     ConnectivityChecker,
     Service,
     Message,
-    SearchInput,
     SettingToggle,
     DarkMode,
     DynamicTheme,
@@ -143,7 +135,7 @@ export default {
       services: null,
       offline: false,
       filter: "",
-      vlayout: true,
+      vlayout: false,
       isDark: null,
       showMenu: false,
     };
index ab067e6941f586d185dd13c45a1f18642ed94abd..2408d607092d8cb9fb9659838b84769c56e300b5 100644 (file)
@@ -55,6 +55,23 @@ body {
       }
     }
 
+    .subcard {
+      background-color: var(--subcard-background);
+      color: var(--subcard-a);
+
+      a {
+        color: var(--subcard-a);
+        &:hover {
+          color: var(--subcard-a-hover);
+        }
+      }
+    }
+
+    a.card-arrow {
+      color: var(--subcard-a);
+      background-color: var(--subcard-background);
+    }
+
     .footer {
       background-color: var(--card-background);
       box-shadow: 0 2px 15px 0 var(--card-shadow);
@@ -214,8 +231,7 @@ body {
     }
   }
 
-  .card {
-    border-radius: 5px;
+  .card, .card-arrow {
     border: none;
     box-shadow: 0 2px 15px 0 rgba(0, 0, 0, 0.1);
     transition: cubic-bezier(0.165, 0.84, 0.44, 1) 300ms;
@@ -225,6 +241,32 @@ body {
     }
   }
 
+  .card {
+    border-radius: 5px;
+  }
+
+  .card-arrow {
+    border-radius: 0px 5px 5px 0px;
+  }
+
+  .card-arrow.active {
+    border-radius: 0px 5px 0px 0px;
+    box-shadow: none;
+  }
+
+  .subcard {
+    border-radius: 0px 0px 5px 5px;
+    display: none;
+    list-style: disc inside;
+    padding: 0.8rem;
+  }
+  .subcard.active {
+    display: block;
+  }
+  .subcard a {
+    padding: 10px;
+  }
+
   .card:hover {
     transform: translate(0, -3px);
 
@@ -239,6 +281,14 @@ body {
     }
   }
 
+  .card-arrow {
+    height: 85px;
+    display: flex;
+    align-items: center;
+    float: right;
+    padding: 10px;
+  }
+
   .card-content {
     height: 85px;
     padding: 1.3rem;
@@ -259,10 +309,6 @@ body {
   }
 
   .footer {
-    position: fixed;
-    left: 0;
-    right: 0;
-    bottom: 0;
     padding: 0.5rem;
     text-align: left;
     color: #676767;
@@ -318,6 +364,16 @@ body {
     }
   }
 
+  .search-bar-mobile {
+    input {
+      margin-top: 10px;
+      margin-left: 10px;
+    }
+    .search-label::before {
+      top: 14px;
+    }
+  }
+
   .offline-message {
     text-align: center;
     margin: 35px 0;
index 99f5ed5b0477486fab221d7d0e4948e9890b3e13..eaa345c48d92cdf72c938d83ddb8c08189e4f8e4 100644 (file)
@@ -18,11 +18,14 @@ colors:
     highlight-hover: "#5a95f5"
     background: "#f5f5f5"
     card-background: "#ffffff"
+    subcard-background: "#eeeeee"
     text: "#363636"
     text-header: "#ffffff"
     text-title: "#303030"
     text-subtitle: "#424242"
     card-shadow: rgba(0, 0, 0, 0.1)
+    subcard-a: "#363636"
+    subcard-a-hover: "#808080"
     link-hover: "#363636"
   dark:
     highlight-primary: "#3367d6"
@@ -30,11 +33,14 @@ colors:
     highlight-hover: "#5a95f5"
     background: "#131313"
     card-background: "#2b2b2b"
+    subcard-background: "#444444"
     text: "#eaeaea"
     text-header: "#ffffff"
     text-title: "#fafafa"
     text-subtitle: "#f5f5f5"
     card-shadow: rgba(0, 0, 0, 0.4)
+    subcard-a: "#ffdd57"
+    subcard-a-hover: "#eaeaea"
     link-hover: "#ffdd57"
 
 message: ~
index d3ceaf89aa068152fbfd489321ca8620cc2df223..fd571565c1ad648af759d170df74027ea3e71631 100644 (file)
@@ -3,6 +3,12 @@
     <nav class="navbar" role="navigation" aria-label="main navigation">
       <div class="container">
         <div class="navbar-brand">
+          <SearchInput
+            class="search-bar search-bar-mobile is-hidden-desktop"
+            @input="filterServices"
+            @search:open="navigateToFirstService"
+            @search:cancel="filterServices"
+          />
           <a
             role="button"
             aria-label="menu"
           </div>
           <div class="navbar-end">
             <slot></slot>
+
+            <SearchInput
+              class="navbar-item is-inline-block-mobile is-hidden-touch"
+              @input="filterServices"
+              @search:open="navigateToFirstService"
+              @search:cancel="filterServices"
+            />
           </div>
         </div>
       </div>
 </template>
 
 <script>
+import SearchInput from "./SearchInput.vue";
+
 export default {
   name: "Navbar",
+  components: {
+    SearchInput,
+  },
   props: {
     open: {
       type: Boolean,
       default: false,
     },
     links: Array,
+    navigateToFirstService: { type: Function },
+    filterServices: { type: Function },
   },
   computed: {
     showMenu: function () {
index a2448ca28abe8a4a0d652b4f38db493324547c9a..80bf019a05deec362b8fce0ade79f987768c9521 100644 (file)
@@ -1,7 +1,10 @@
 <template>
   <div>
     <div class="card">
-      <a :href="item.url" :target="item.target" rel="noreferrer">
+      <a class="card-arrow" v-bind:class="subcardClass" v-on:click="subCardActive = !subCardActive" v-if="item.links && item.links.length > 0">
+        <i style="font-size: 20px" class="fa fa-arrow-circle-down" v-bind:class="arrowClass"></i>
+      </a>
+      <a style="background-color: gray" :href="item.url" :target="item.target" rel="noreferrer">
         <div class="card-content">
           <div class="media">
             <div v-if="item.logo" class="media-left">
           </div>
         </div>
       </a>
+      <ul class="subcard" v-bind:class="subcardClass">
+        <Subcard
+          v-for="link in item.links"
+          v-bind:link="link"
+          :key="link.url"
+        />
+      </ul>
     </div>
   </div>
 </template>
 
 <script>
+import Subcard from "./Subcard.vue";
+
 export default {
   name: "Service",
+  components: {
+    Subcard,
+  },
   props: {
     item: Object,
   },
+  data: function() {
+    return {
+      subCardActive: false,
+    }
+  },
+  computed: {
+    arrowClass: function() {
+      return {
+        "fa-arrow-circle-down": !this.subCardActive,
+        "fa-arrow-circle-up": this.subCardActive
+      }
+    },
+    subcardClass: function() {
+      return {
+        active: this.subCardActive
+      }
+    }
+  }
 };
 </script>
 
diff --git a/src/components/Subcard.vue b/src/components/Subcard.vue
new file mode 100644 (file)
index 0000000..808cd48
--- /dev/null
@@ -0,0 +1,12 @@
+<template v-for="link in item.links">
+  <li><a :href="link.url">{{ link.name }}</a></li>
+</template>
+
+<script>
+export default {
+  name: "Subcard",
+  props: {
+    link: Object,
+  },
+};
+</script>