Compare commits

..

No commits in common. "master" and "feature-thumbnails" have entirely different histories.

315 changed files with 7990 additions and 9301 deletions

View File

@ -1,7 +1,6 @@
const rssPlugin = require('@11ty/eleventy-plugin-rss'); const rssPlugin = require('@11ty/eleventy-plugin-rss');
const syntaxHighlight = require('@11ty/eleventy-plugin-syntaxhighlight'); const syntaxHighlight = require('@11ty/eleventy-plugin-syntaxhighlight');
const fs = require('fs'); const fs = require('fs');
const util = require('util')
// Import filters // Import filters
const dateFilter = require('./src/filters/date-filter.js'); const dateFilter = require('./src/filters/date-filter.js');
@ -20,9 +19,6 @@ module.exports = function(config) {
config.addFilter('dateFilter', dateFilter); config.addFilter('dateFilter', dateFilter);
config.addFilter('markdownFilter', markdownFilter); config.addFilter('markdownFilter', markdownFilter);
config.addFilter('w3DateFilter', w3DateFilter); config.addFilter('w3DateFilter', w3DateFilter);
config.addFilter('dump', obj => {
return util.inspect(obj)
});
// Layout aliases // Layout aliases
config.addLayoutAlias('home', 'layouts/home.njk'); config.addLayoutAlias('home', 'layouts/home.njk');
@ -78,39 +74,6 @@ module.exports = function(config) {
.slice(0, site.maxProfilePreview) .slice(0, site.maxProfilePreview)
; ;
}); });
config.addCollection("tagsList", function(collectionApi) {
const tagsList = new Set();
collectionApi.getAll().map( item => {
if (item.data.tags) { // handle pages that don't have tags
item.data.tags.map( tag => tagsList.add(tag))
}
});
return tagsList;
});
config.addCollection("skillsList", function(collectionApi) {
const skillsList = new Set();
collectionApi.getFilteredByGlob("./src/members/*.md").map( item => {
if (item.data.tags) { // handle pages that don't have skills
item.data.tags.map( skill => { // exclude non related tags
if (['post', 'news', 'event'].indexOf(skill) == -1) {
skillsList.add(skill)
}
})
}
});
return skillsList;
});
config.addCollection("membersLocations", function(collectionApi) {
return collectionApi.getFilteredByGlob("./src/members/*.md")
.filter(item => typeof item.data.location !== 'undefined')
.map( member => {
return {
name: member.data.name,
url: member.data.url,
location: member.data.location,
};
});
});
config.addCollection('customers', collection => { config.addCollection('customers', collection => {
return [...collection.getFilteredByGlob("./src/customers/*.md")] return [...collection.getFilteredByGlob("./src/customers/*.md")]
.reverse() .reverse()

3
.gitignore vendored
View File

@ -1,5 +1,3 @@
#.gitignore
*~
*.log *.log
npm-debug.* npm-debug.*
*.scssc *.scssc
@ -13,7 +11,6 @@ node_modules
dist/* dist/*
deploy-prod.js deploy-prod.js
deploy-preprod.js deploy-preprod.js
package-lock.json
# Specifics # Specifics

View File

@ -1,17 +1,6 @@
This project is under MIT License for all its code except following subdirectories and its content :
- src/members
- src/images/astrolabe
- src/images/customers
- src/images/partners
- src/images/profiles
- src/images/posts/AG2022
- src/images/posts/AG2023
- src/images/posts/copyright
MIT License MIT License
Copyright (c) 2019-2023 Astrolabe CAE Copyright (c) 2019 andy-bell.design and other contributors
Copyright (c) 20172023 Zach Leatherman @zachleat
Permission is hereby granted, free of charge, to any person obtaining a copy Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal of this software and associated documentation files (the "Software"), to deal

View File

@ -9,7 +9,7 @@ Requirements :
### Install ### Install
1. Clone or fork this repo: `git clone ssh://gitea@git.astrolabe.coop:2106/AstrolabeCAE/SiteWebAstrolabe.git` 1. Clone or fork this repo: `git clone https://git.ouvaton.coop/astrolabe/SiteWebAstrolabe`
2. `cd` into the project directory and run `npm install` 2. `cd` into the project directory and run `npm install`
3. Once all the dependencies are installed run `npm start` 3. Once all the dependencies are installed run `npm start`
4. Open your browser at `http://localhost:8080` and away you go! 4. Open your browser at `http://localhost:8080` and away you go!
@ -127,7 +127,3 @@ Fill in the meta information :
1. `name:` the brand name of the partner 1. `name:` the brand name of the partner
2. `thumbnail:` the partner brand logo, make sure to place it in the `images/partner/`folder 2. `thumbnail:` the partner brand logo, make sure to place it in the `images/partner/`folder
3. `url:` the partner website 3. `url:` the partner website
### FAQ section
Edit `_data/faq.json` file to add a new Q/A couple object. Plain html e.g. `<br>` or `<a href="">link</a>` is supported

12578
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -4,16 +4,14 @@
"description": "Site web de la coopérative Astrolabe CAE", "description": "Site web de la coopérative Astrolabe CAE",
"main": "index.js", "main": "index.js",
"dependencies": { "dependencies": {
"@11ty/eleventy": "^2.0.0", "@11ty/eleventy": "^0.10.0",
"@11ty/eleventy-plugin-rss": "^1.0.7", "@11ty/eleventy-plugin-rss": "^1.0.7",
"@11ty/eleventy-plugin-syntaxhighlight": "^2.0.3", "@11ty/eleventy-plugin-syntaxhighlight": "^2.0.3",
"@tbranyen/jsdom": "^13.0.0", "@tbranyen/jsdom": "^13.0.0",
"bootstrap": "^5.1.3", "concurrently": "^4.1.2",
"concurrently": "^7.0.0",
"html-minifier": "^4.0.0", "html-minifier": "^4.0.0",
"image-size": "^0.8.3", "image-size": "^0.8.3",
"json-to-scss": "^1.3.1", "json-to-scss": "^1.5.0",
"leaflet": "^1.7.1",
"sass": "^1.26.3", "sass": "^1.26.3",
"semver": "^6.3.0", "semver": "^6.3.0",
"slugify": "^1.4.0", "slugify": "^1.4.0",
@ -22,43 +20,37 @@
"devDependencies": { "devDependencies": {
"@erquhart/rollup-plugin-node-builtins": "^2.1.5", "@erquhart/rollup-plugin-node-builtins": "^2.1.5",
"bl": "^3.0.0", "bl": "^3.0.0",
"chokidar-cli": "^3.0.0", "chokidar-cli": "^2.1.0",
"copyfiles": "^2.4.1",
"cross-env": "^5.2.1", "cross-env": "^5.2.1",
"ftp-deploy": "^2.3.7", "ftp-deploy": "^2.3.7",
"make-dir-cli": "^3.0.0", "make-dir-cli": "^2.0.0",
"prettier": "^1.19.1", "prettier": "^1.19.1",
"rimraf": "^3.0.2",
"rollup": "^1.32.1", "rollup": "^1.32.1",
"rollup-plugin-commonjs": "^10.1.0", "rollup-plugin-commonjs": "^10.1.0",
"rollup-plugin-json": "^4.0.0", "rollup-plugin-json": "^4.0.0",
"rollup-plugin-node-resolve": "^5.2.0", "rollup-plugin-node-resolve": "^5.2.0",
"stylelint": "^14.2.0", "stylelint": "^13.6.1",
"stylelint-config-sass-guidelines": "^9.0.1" "stylelint-config-sass-guidelines": "^7.0.0"
}, },
"scripts": { "scripts": {
"clean": "rimraf dist",
"sass:tokens": "npx json-to-scss src/_data/tokens.json src/scss/_tokens.scss", "sass:tokens": "npx json-to-scss src/_data/tokens.json src/scss/_tokens.scss",
"sass:lint": "npx stylelint src/scss/**/*.scss", "sass:lint": "npx stylelint src/scss/**/*.scss",
"sass:process": "npm run sass:tokens && npm run sass:lint && sass src/scss/global.scss src/_includes/assets/css/global.css --style=compressed", "sass:process": "npm run sass:tokens && npm run sass:lint && sass src/scss/global.scss src/_includes/assets/css/global.css --style=compressed",
"vendor:css": "copyfiles node_modules/leaflet/dist/leaflet.css node_modules/bootstrap/dist/css/bootstrap.min.css -f dist/vendor/css", "start": "concurrently \"npm run sass:process -- --watch\" \"npm run serve\"",
"vendor:js": "copyfiles node_modules/leaflet/dist/leaflet.js node_modules/bootstrap/dist/js/bootstrap.min.js -f dist/vendor/js",
"vendor": "npm run clean && npm run vendor:css && npm run vendor:js",
"start": "concurrently \"npm run vendor\" \"npm run sass:process -- --watch\" \"npm run serve\"",
"serve": "cross-env ELEVENTY_ENV=development npx eleventy --serve", "serve": "cross-env ELEVENTY_ENV=development npx eleventy --serve",
"prod": "cross-env ELEVENTY_ENV=prod npm run vendor && npm run sass:process && npx eleventy", "prod": "cross-env ELEVENTY_ENV=prod npm run sass:process && npx eleventy",
"deploy-preprod": "npm run prod && node deploy-preprod", "deploy-preprod": "npm run prod && node deploy-preprod",
"deploy-prod": "npm run prod && node deploy-prod" "deploy-prod": "npm run prod && node deploy-prod"
}, },
"repository": { "repository": {
"type": "git", "type": "git",
"url": "git+https://git.astrolabe.coop/AstrolabeCAE/SiteWebAstrolabe.git" "url": "git+https://git.ouvaton.coop/astrolabe/SiteWebAstrolabe.git"
}, },
"keywords": [], "keywords": [],
"author": "Yves Gatesoupe", "author": "Yves Gatesoupe",
"license": "MIT", "license": "MIT",
"bugs": { "bugs": {
"url": "https://git.astrolabe.coop/AstrolabeCAE/SiteWebAstrolabe/issues" "url": "https://git.ouvaton.coop/astrolabe/SiteWebAstrolabe/issues"
}, },
"homepage": "https://git.astrolabe.coop/AstrolabeCAE/SiteWebAstrolabe" "homepage": "https://git.ouvaton.coop/astrolabe/SiteWebAstrolabe"
} }

View File

@ -1,27 +0,0 @@
{
"items": [
{
"q": "Qu'est ce que l'ESS ?",
"a": "Le concept d'économie sociale et solidaire (ESS) désigne un ensemble d'entreprises organisées sous forme de coopératives, mutuelles, associations, ou fondations, dont le fonctionnement interne et les activités sont fondés sur un principe de solidarité et d'utilité sociale. (Cf : https://www.economie.gouv.fr/cedef/economie-sociale-et-solidaire )"
},
{
"q": "Qu'est ce qu'une SCOP ?",
"a": "Une Société COopérative et Participative (SCOP) parfois également appelée société coopérative de production ou « société coopérative ouvrière de production » ou « société coopérative de travailleurs », est en droit français, une société commerciale qui se distingue des sociétés classiques par une détention majoritaire du capital et du pouvoir de décision par les salariés. (Cf : https://wikipedia.org/wiki/Société_coopérative_et_participative )"
},
{
"q": "Qu'est ce qu'une CAE ?",
"a": "Une Coopérative d'Activités et d'Entrepreneur·e·s (CAE - on parle aussi de coopérative dactivité, coopérative d'entrepreneurs ou coopérative d'activité et d'emploi), telle que définie par la Loi sur l'économie sociale et solidaire de juillet 20141 est, en France, une structure d'entreprise coopérative permettant la création et le développement d'activités économiques par des entrepreneurs indépendants. (Cf : https://fr.wikipedia.org/wiki/Coopérative_d'activité_et_d'emploi )"
},
{
"q": "Doit-on être expert de la coopération pour rentrer dans la coopérative ?",
"a": "Non ce n'est pas nécessaire, le plus important est de s'intéresser au sujet, et de vouloir participer à un projet collectif."
},
{
"q": "Doit-on être rennais pour rejoindre Astrolabe ?",
"a": "Pas forcement, de nombreux membres sont des differents coins de la France, mais à ce jour la majorité des membres sont en bretagne."
},
{
"q": "Comment la structure se finance-t-elle ?",
"a": "Le financement est assuré par la Contribution Coopérative, qui est un pourcentage de la facturation des membres."
}]
}

View File

@ -26,8 +26,8 @@
"external": false "external": false
}, },
{ {
"text": "FAQ / Nous contacter", "text": "Nous contacter",
"url": "/faq+contact/", "url": "#contact-form",
"external": false "external": false
} }
] ]

View File

@ -1,7 +1,7 @@
{ {
"showThemeCredit": true, "showThemeCredit": true,
"name": "Astrolabe CAE", "name": "Astrolabe CAE",
"shortDesc": "Site web de la Coopérative d'Entrepreneur·e·s spécialisée dans le numérique Astrolabe CAE, pour les indépendant·e·s qui ne veulent pas être seul.", "shortDesc": "Site web de la coopérative SCOP d'Activités et d'Entrepreneur·e·s spécialisée en informatique Astrolabe CAE, pour les indépendant·e·s qui ne veulent pas être seul.",
"url": "https://www.astrolabe.coop", "url": "https://www.astrolabe.coop",
"authorEmail": "contact@astrolabe.coop", "authorEmail": "contact@astrolabe.coop",
"authorHandle": "@AstrolabeCae", "authorHandle": "@AstrolabeCae",
@ -24,5 +24,5 @@
"maxProfilePreview": 3, "maxProfilePreview": 3,
"maxCustomerPerPage": 8, "maxCustomerPerPage": 8,
"maxPartnerPerPage": 8, "maxPartnerPerPage": 8,
"faviconPath": "/images/astrolabe/favicon.png" "faviconPath": "/images/favicon.png"
} }

View File

@ -1,7 +1,7 @@
{ {
"size-scale": { "size-scale": {
"base": "1rem", "base": "1rem",
"300": ".8rem", "300": "0.8rem",
"500": "1.25rem", "500": "1.25rem",
"600": "1.56rem", "600": "1.56rem",
"700": "1.95rem", "700": "1.95rem",

View File

@ -7,8 +7,6 @@
<link rel="icon" href="{{ site.faviconPath }}" type="image/png" /> <link rel="icon" href="{{ site.faviconPath }}" type="image/png" />
{% include "partials/global/meta-info.njk" %} {% include "partials/global/meta-info.njk" %}
<script>document.documentElement.classList.remove('no-js');</script> <script>document.documentElement.classList.remove('no-js');</script>
<link rel = "stylesheet" href="/vendor/css/leaflet.css"/>
<link rel = "stylesheet" href="/vendor/css/bootstrap.min.css"/>
<style>{% include "assets/css/global.css" %}</style> <style>{% include "assets/css/global.css" %}</style>
{% block head %} {% block head %}
{% endblock %} {% endblock %}
@ -21,8 +19,6 @@
{% block foot %} {% block foot %}
{% endblock %} {% endblock %}
<script type="text/javascript" src="/js/components/menu-toggle.js" async defer></script> <script type="text/javascript" src="/js/components/menu-toggle.js" async defer></script>
<script type="text/javascript" src="/js/components/search.js" async defer></script>
<script type="text/javascript" src="/vendor/js/bootstrap.min.js" async defer></script>
<script> <script>
if ('serviceWorker' in navigator) { if ('serviceWorker' in navigator) {
window.addEventListener('load', () => { window.addEventListener('load', () => {
@ -40,23 +36,5 @@
try {document.addEventListener("DOMContentLoaded", $buo_f,false)} try {document.addEventListener("DOMContentLoaded", $buo_f,false)}
catch(e){window.attachEvent("onload", $buo_f)} catch(e){window.attachEvent("onload", $buo_f)}
</script> </script>
<!-- Matomo -->
<script>
var _paq = window._paq = window._paq || [];
/* tracker methods like "setCustomDimension" should be called before "trackPageView" */
_paq.push(["setDoNotTrack", true]);
_paq.push(["disableCookies"]);
_paq.push(['trackPageView']);
_paq.push(['enableLinkTracking']);
(function() {
var u="https://analytics.astrolabe.coop/";
_paq.push(['setTrackerUrl', u+'matomo.php']);
_paq.push(['setSiteId', '1']);
var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
})();
</script>
<noscript><p><img src="https://analytics.astrolabe.coop/matomo.php?idsite=1&amp;rec=1" style="border:0;" alt="" /></p></noscript>
<!-- End Matomo Code -->
</body> </body>
</html> </html>

View File

@ -1,10 +1,17 @@
{% extends 'layouts/base.njk' %} {% extends 'layouts/base.njk' %}
{# Intro content #}
{% set introHeading = title %}
{% block content %} {% block content %}
<main id="main-content" tabindex="-1"> <main id="main-content" tabindex="-1">
{% include "partials/components/meeting.njk" %} <article class="[ post ] [ h-entry ]">
{% include "partials/components/faq.njk" %} {% include "partials/components/intro.njk" %}
<div class="[ post__body ] [ inner-wrapper ] [ leading-loose pad-top-900 pad-bottom-900 text-500 ] [ sf-flow ] [ e-content ]">
{{ content | safe }}
{% include "partials/components/contact-form.njk" %} {% include "partials/components/contact-form.njk" %}
</div>
</article>
</main> </main>
{% endblock %} {% endblock %}

View File

@ -9,7 +9,6 @@
{% block content %} {% block content %}
<main id="main-content" class="home" tabindex="-1"> <main id="main-content" class="home" tabindex="-1">
{% include "partials/components/intro.njk" %} {% include "partials/components/intro.njk" %}
{% include "partials/components/meeting.njk" %}
{% include "partials/components/posts-list-home.njk" %} {% include "partials/components/posts-list-home.njk" %}
{% include "partials/components/presentation.njk" %} {% include "partials/components/presentation.njk" %}
{% include "partials/components/customers.njk" %} {% include "partials/components/customers.njk" %}

View File

@ -15,38 +15,23 @@
<div class="member__info"> <div class="member__info">
<img src="{{ profile }}" alt="photo de {{ name }}"> <img src="{{ profile }}" alt="photo de {{ name }}">
{% if personalSite %} {% if personalSite %}
<p class="member-url"> <p>
<strong>site web :</strong> <strong>site web :</strong>
<a href="{{ personalSite }}">{{ personalSite }}</a> <a href="{{ personalSite }}">{{ personalSite }}</a>
</p> </p>
{% endif %} {% endif %}
<ul class="social-links">
{% if socialMastodon %} {% if socialMastodon %}
<li><a href="{{ socialMastodon }}" title="mastodon"><svg width="24" height="24" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M16.956 18.293c3.007-.36 5.625-2.212 5.954-3.905.519-2.667.476-6.508.476-6.508 0-5.207-3.411-6.733-3.411-6.733C18.255.357 15.302.025 12.233 0h-.075c-3.068.025-6.02.357-7.74 1.147 0 0-3.41 1.526-3.41 6.733 0 .315-.003.647-.004.993-.005.96-.01 2.024.018 3.136.123 5.091.933 10.11 5.64 11.355 2.171.575 4.035.695 5.535.613 2.722-.151 4.25-.972 4.25-.972l-.09-1.974s-1.945.613-4.13.538c-2.163-.074-4.448-.233-4.798-2.89a5.448 5.448 0 01-.048-.745s2.124.519 4.816.642c1.647.076 3.19-.096 4.759-.283zm2.406-3.705V8.283c0-1.288-.328-2.312-.987-3.07-.68-.757-1.57-1.145-2.674-1.145-1.278 0-2.246.491-2.885 1.474l-.623 1.043-.622-1.043c-.64-.983-1.608-1.474-2.886-1.474-1.104 0-1.994.388-2.674 1.146-.659.757-.987 1.781-.987 3.07v6.303h2.498V8.47c0-1.29.543-1.945 1.628-1.945 1.2 0 1.802.777 1.802 2.312v3.35h2.483v-3.35c0-1.535.601-2.312 1.801-2.312 1.086 0 1.629.655 1.629 1.945v6.119h2.497z"/></svg></a></li> <a href="{{ socialMastodon }}" class="social" title="mastodon"><svg width="24" height="24" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M16.956 18.293c3.007-.36 5.625-2.212 5.954-3.905.519-2.667.476-6.508.476-6.508 0-5.207-3.411-6.733-3.411-6.733C18.255.357 15.302.025 12.233 0h-.075c-3.068.025-6.02.357-7.74 1.147 0 0-3.41 1.526-3.41 6.733 0 .315-.003.647-.004.993-.005.96-.01 2.024.018 3.136.123 5.091.933 10.11 5.64 11.355 2.171.575 4.035.695 5.535.613 2.722-.151 4.25-.972 4.25-.972l-.09-1.974s-1.945.613-4.13.538c-2.163-.074-4.448-.233-4.798-2.89a5.448 5.448 0 01-.048-.745s2.124.519 4.816.642c1.647.076 3.19-.096 4.759-.283zm2.406-3.705V8.283c0-1.288-.328-2.312-.987-3.07-.68-.757-1.57-1.145-2.674-1.145-1.278 0-2.246.491-2.885 1.474l-.623 1.043-.622-1.043c-.64-.983-1.608-1.474-2.886-1.474-1.104 0-1.994.388-2.674 1.146-.659.757-.987 1.781-.987 3.07v6.303h2.498V8.47c0-1.29.543-1.945 1.628-1.945 1.2 0 1.802.777 1.802 2.312v3.35h2.483v-3.35c0-1.535.601-2.312 1.801-2.312 1.086 0 1.629.655 1.629 1.945v6.119h2.497z" fill="#282156"/></svg></a>
{% endif %} {% endif %}
{% if socialTwitter %} {% if socialTwitter %}
<li><a href="{{ socialTwitter }}" title="twitter"><svg width="24" height="24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M24 4.309a9.83 9.83 0 01-2.828.775 4.932 4.932 0 002.165-2.724 9.864 9.864 0 01-3.127 1.195A4.916 4.916 0 0016.616 2c-3.179 0-5.515 2.966-4.797 6.045A13.978 13.978 0 011.671 2.901a4.93 4.93 0 001.523 6.574 4.903 4.903 0 01-2.229-.616c-.054 2.281 1.581 4.415 3.949 4.89a4.935 4.935 0 01-2.224.084 4.928 4.928 0 004.6 3.419A9.9 9.9 0 010 19.292a13.94 13.94 0 007.548 2.212c9.142 0 14.307-7.721 13.995-14.646A10.025 10.025 0 0024 4.309z"/></svg></a></li> <a href="{{ socialTwitter }}" class="social" title="twitter"><svg width="24" height="24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M24 4.309a9.83 9.83 0 01-2.828.775 4.932 4.932 0 002.165-2.724 9.864 9.864 0 01-3.127 1.195A4.916 4.916 0 0016.616 2c-3.179 0-5.515 2.966-4.797 6.045A13.978 13.978 0 011.671 2.901a4.93 4.93 0 001.523 6.574 4.903 4.903 0 01-2.229-.616c-.054 2.281 1.581 4.415 3.949 4.89a4.935 4.935 0 01-2.224.084 4.928 4.928 0 004.6 3.419A9.9 9.9 0 010 19.292a13.94 13.94 0 007.548 2.212c9.142 0 14.307-7.721 13.995-14.646A10.025 10.025 0 0024 4.309z" fill="#282156"/></svg></a>
{% endif %} {% endif %}
{% if socialLinkedin %} {% if socialLinkedin %}
<li><a href="{{ socialLinkedin }}" title="linkedin"><svg width="24" height="24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M4.98 2.5A2.49 2.49 0 012.5 5 2.49 2.49 0 01.02 2.5C.02 1.12 1.13 0 2.5 0a2.49 2.49 0 012.48 2.5zM5 7H0v16h5V7zm7.982 0H8.014v16h4.969v-8.399c0-4.67 6.029-5.052 6.029 0V23H24V12.869c0-7.88-8.922-7.593-11.018-3.714V7z"/></svg></a></li> <a href="{{ socialLinkedin }}" class="social" title="linkedin"><svg width="24" height="24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M4.98 2.5A2.49 2.49 0 012.5 5 2.49 2.49 0 01.02 2.5C.02 1.12 1.13 0 2.5 0a2.49 2.49 0 012.48 2.5zM5 7H0v16h5V7zm7.982 0H8.014v16h4.969v-8.399c0-4.67 6.029-5.052 6.029 0V23H24V12.869c0-7.88-8.922-7.593-11.018-3.714V7z" fill="#282156"/></svg></a>
{% endif %} {% endif %}
{% if socialGithub %}
<li><a href="{{ socialGithub }}" title="linkedin"><svg width="24" height="24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M12 0C5.374 0 0 5.373 0 12c0 5.302 3.438 9.8 8.207 11.387.599.111.793-.261.793-.577v-2.234c-3.338.726-4.033-1.416-4.033-1.416-.546-1.387-1.333-1.756-1.333-1.756-1.089-.745.083-.729.083-.729 1.205.084 1.839 1.237 1.839 1.237 1.07 1.834 2.807 1.304 3.492.997.107-.775.418-1.305.762-1.604-2.665-.305-5.467-1.334-5.467-5.931 0-1.311.469-2.381 1.236-3.221-.124-.303-.535-1.524.117-3.176 0 0 1.008-.322 3.301 1.23A11.509 11.509 0 0 1 12 5.803c1.02.005 2.047.138 3.006.404 2.291-1.552 3.297-1.23 3.297-1.23.653 1.653.242 2.874.118 3.176.77.84 1.235 1.911 1.235 3.221 0 4.609-2.807 5.624-5.479 5.921.43.372.823 1.102.823 2.222v3.293c0 .319.192.694.801.576C20.566 21.797 24 17.3 24 12c0-6.627-5.373-12-12-12Z"/></svg></a></li>
{% endif %}
</ul>
</div> </div>
<div class="member__bio"> <div class="member__bio">
{{ content | safe }} {{ content | safe }}
{% if tags %}
<h2 class="font-base weight-mid mt-5">Mots-clés</h2>
<ul class="tag-list mt-3">
{% for item in tags %}
<li class="tag-item">
<a href="/equipe/{{ item }}">{{ item }}</a>
</li>
{% endfor %}
</ul>
{% endif %}
</div> </div>
</div> </div>
</article> </article>

View File

@ -7,19 +7,8 @@
<div class="[ wrapper ]"> <div class="[ wrapper ]">
<h1 class="[ member-list__heading ]">{{ teamListHeading }}</h1> <h1 class="[ member-list__heading ]">{{ teamListHeading }}</h1>
{{ content | safe }} {{ content | safe }}
<div class="search-bar">
<label for="site-search">Rechercher par mots-clés :</label>
<input type="search" id="searchInput" name="q" aria-label="Filtrer par mots-clés" oninput="doSearch()" placeholder="dev, linux, ...">
</div>
<ul class="tag-list mt-3" id="tagList">
{% for skill in collections.skillsList %}
<li class="tag-item visually-hidden"><a href="/equipe/{{ skill }}">{{ skill }}</a></li>
{% endfor %}
</ul>
</div> </div>
{% include "partials/components/member-list.njk" %} {% include "partials/components/member-list.njk" %}
{% include "partials/components/map.njk" %}
{% include "partials/components/contact-form.njk" %} {% include "partials/components/contact-form.njk" %}
</main> </main>
{% endblock %} {% endblock %}

View File

@ -1,24 +0,0 @@
<section class="[ faq ]">
{% if faq.items %}
<div class="[ inner-wrapper ]">
<h1 class="faq__heading">{{ faqHeading }}</h1>
{{ content | safe }}
<div class="accordion accordion-flush" id="accordionFlushExample">
{% for item in faq.items %}
<div class="accordion-item">
<h3 class="accordion-header" id="flush-heading{{ loop.index }}">
<button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#flush-collapse{{ loop.index }}" aria-expanded="false" aria-controls="flush-collapse{{ loop.index }}">
{{ item.q }}
</button>
</h3>
<div id="flush-collapse{{ loop.index }}" class="accordion-collapse collapse" aria-labelledby="flush-heading{{ loop.index }}" data-bs-parent="#accordionFlushExample">
<div class="accordion-body">
{{ item.a | urlize | safe }}
</div>
</div>
</div>
{% endfor %}
</div>
</div>
{% endif %}
</section>

View File

@ -7,7 +7,6 @@
<a role="button" href="/nous-rejoindre" class="btn btn-primary">Nous rejoindre <a role="button" href="/nous-rejoindre" class="btn btn-primary">Nous rejoindre
<svg width="18" height="14" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M17.602 5.823L12.05.376a1.357 1.357 0 00-1.875 0 1.295 1.295 0 000 1.84l3.278 3.235H1.326C.587 5.451 0 6.027 0 6.752s.587 1.302 1.326 1.302h12.127l-3.278 3.215a1.295 1.295 0 000 1.84 1.349 1.349 0 001.894 0l5.533-5.427c.246-.242.398-.576.398-.93 0-.353-.133-.687-.398-.93z" fill="#111"/></svg> <svg width="18" height="14" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M17.602 5.823L12.05.376a1.357 1.357 0 00-1.875 0 1.295 1.295 0 000 1.84l3.278 3.235H1.326C.587 5.451 0 6.027 0 6.752s.587 1.302 1.326 1.302h12.127l-3.278 3.215a1.295 1.295 0 000 1.84 1.349 1.349 0 001.894 0l5.533-5.427c.246-.242.398-.576.398-.93 0-.353-.133-.687-.398-.93z" fill="#111"/></svg>
</a> </a>
<a role="button" href="/posts/flyer-2023" class="btn btn-secondary">Notre flyer 📄</a>
</div> </div>
</div> </div>
</header> </header>

View File

@ -1,50 +0,0 @@
<div class="[ wrapper ]">
<h2 class="mt-5 mb-2">Où sommes-nous ?</h2>
</div>
<div id = "map" style = "width: 100%; height: 500px; margin-bottom: 8rem;"></div>
<script type="text/javascript" src="/vendor/js/leaflet.js"></script>
<script>
// Creating map options
var mapOptions = {
center: [48.10494125597395, -1.6795760019626425],
zoom: 15
}
// Creating a map object
var map = new L.map('map', mapOptions);
var iconMarker = L.icon({
iconUrl: '/images/marker-stroke.svg',
iconSize: [28, 40],
iconAnchor: [14, 40],
popupAnchor: [0, -40]
});
var iconMarkerAlt = L.icon({
iconUrl: '/images/astrolabe/marker-logo-alt.svg',
iconSize: [40, 40],
iconAnchor: [20, 40],
popupAnchor: [0, -40]
});
var members = {{ collections.membersLocations | dump | safe }};
var markerGroup = members.map( member => {
return new L.marker(member.location, {icon: iconMarker}).bindPopup('<a href="'+member.url+'">'+member.name+'</a>');
});
var markerSiege = L.marker([48.10494125597395, -1.6795760019626425], {icon: iconMarkerAlt}).bindPopup('Siège Astrolabe CAE')
.openPopup();
markerGroup.push(markerSiege)
var featureGroup = L.featureGroup(markerGroup).addTo(map);
map.fitBounds(featureGroup.getBounds());
// Creating a Layer object
var layer = new L.TileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png');
// Adding layer to the map
map.addLayer(layer);
</script>

View File

@ -1,6 +0,0 @@
<section id="Meeting" class="[ meeting ]">
<a class="[ meeting__link btn btn-secondary ]" href="https://framaforms.org/reunion-dinformation-collective-astrolabe-cae-1591805443" target="_blank">
Réunions d'information&nbsp;
<svg width="18" height="14" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M17.602 5.823L12.05.376a1.357 1.357 0 00-1.875 0 1.295 1.295 0 000 1.84l3.278 3.235H1.326C.587 5.451 0 6.027 0 6.752s.587 1.302 1.326 1.302h12.127l-3.278 3.215a1.295 1.295 0 000 1.84 1.349 1.349 0 001.894 0l5.533-5.427c.246-.242.398-.576.398-.93 0-.353-.133-.687-.398-.93z" fill="#FFF"></path></svg>
</a>
</section>

View File

@ -1,20 +0,0 @@
<section class="[ member-list ]">
<div class="[ wrapper ]">
{% if teamListItems.length %}
<ol class="[ member-list__items ]" reversed>
{% for item in teamListItems %}
<li class="member-list__item">
<a href="{{ item.data.url }}" class="">
<img src=" {{ item.data.profile }}" alt="photo de {{ item.data.name }}">
<span class="member-name btn btn-primary">{{ item.data.name }}</span>
</a>
<p>{{ item.data.position }}</p>
{% if item.data.positionInternal %}
<p>{{ item.data.positionInternal }}</p>
{% endif %}
</li>
{% endfor %}
</ol>
{% endif %}
</div>
</section>

View File

@ -4,9 +4,11 @@
<ol class="[ member-list__items ]" reversed> <ol class="[ member-list__items ]" reversed>
{% for item in teamListItems %} {% for item in teamListItems %}
<li class="member-list__item"> <li class="member-list__item">
<a href="{{ item.data.url }}" class=""> {# <div class="img-wrapper"> #}
<img src=" {{ item.data.profile }}" alt="photo de {{ item.data.name }}"> <img src=" {{ item.data.profile }}" alt="photo de {{ item.data.name }}">
<span class="member-name btn btn-primary">{{ item.data.name }}</span> {# </div> #}
<a role="button" href="{{ item.data.url }}" class="btn btn-primary">{{ item.data.name }}&nbsp;
<svg width="18" height="14" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M17.602 5.823L12.05.376a1.357 1.357 0 00-1.875 0 1.295 1.295 0 000 1.84l3.278 3.235H1.326C.587 5.451 0 6.027 0 6.752s.587 1.302 1.326 1.302h12.127l-3.278 3.215a1.295 1.295 0 000 1.84 1.349 1.349 0 001.894 0l5.533-5.427c.246-.242.398-.576.398-.93 0-.353-.133-.687-.398-.93z" fill="#111"></path></svg>
</a> </a>
<p>{{ item.data.position }}</p> <p>{{ item.data.position }}</p>
{% if item.data.positionInternal %} {% if item.data.positionInternal %}
@ -16,7 +18,9 @@
{% endfor %} {% endfor %}
<li class="member-list__item info"> <li class="member-list__item info">
<p>Vous êtes porteur dun projet entrepreneurial en numérique et nouvelles technologies ?</p> <p>Vous êtes porteur dun projet entrepreneurial en numérique et nouvelles technologies ?</p>
<a role="button" href="/nous-rejoindre" class="btn btn-secondary">Rejoignez-nous</a> <a role="button" href="/nous-rejoindre" class="btn btn-secondary">Rejoignez-nous
<svg width="18" height="14" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M17.602 5.823L12.05.376a1.357 1.357 0 00-1.875 0 1.295 1.295 0 000 1.84l3.278 3.235H1.326C.587 5.451 0 6.027 0 6.752s.587 1.302 1.326 1.302h12.127l-3.278 3.215a1.295 1.295 0 000 1.84 1.349 1.349 0 001.894 0l5.533-5.427c.246-.242.398-.576.398-.93 0-.353-.133-.687-.398-.93z" fill="#fff"/></svg>
</a>
</li> </li>
</ol> </ol>
{% endif %} {% endif %}

View File

@ -23,15 +23,15 @@
<div class="content"> <div class="content">
<h2>Communs numérique</h2> <h2>Communs numérique</h2>
<p> <p>
Chez Astrolabe nous aimons et faisons la promotion du <a href="https://fr.wikipedia.org/wiki/Logiciel_libre" target="_blank" rel="noreferrer noopener">logiciel libre</a>. Nos sommes membres d<a href="http://www.alliance-libre.org/" target="_blank" rel="noreferrer noopener">Alliance Libre</a> Chez Astrolabe nous aimons et faisons la promotion du <b>logiciel libre</b>. Nos sommes membres d<a href="http://www.alliance-libre.org/" target="_blank" rel="noreferrer noopener">Alliance Libre</a>
et nous mettons nos documents et projets internes à disposition sur <a href="https://git.astrolabe.coop/explore/repos" target="_blank" rel="noreferrer noopener">notre instance Gitea</a>. et nous mettons nos documents et projets internes à disposition sur notre gitlab.
</p> </p>
</div> </div>
<div class="side-info"> <div class="side-info">
<figure> <figure>
<img src="/images/gitea.svg" alt="logo Gitea" loading="lazy" width="100" height="100"> <img src="/images/gitlab.svg" alt="logo Gitlab" loading="lazy" width="110" height="101">
</figure> </figure>
<a role="button" href="https://git.astrolabe.coop/explore/repos" class="btn btn-primary btn-icon" target="_blank" rel="noreferrer noopener">Gitea</a> <a role="button" href="https://framagit.org/astrolabe" class="btn btn-primary btn-icon" target="_blank" rel="noreferrer noopener">Gitlab</a>
</div> </div>
</article> </article>
<article> <article>

View File

@ -10,8 +10,8 @@
</p> </p>
</div> </div>
<div class=""> <div class="">
<h3><a class="footer-link" href="{{site.url}}/mentions-legales" title="Mentions légales">Mentions légales</a></h3> <h3>Mentions légales</h3>
<p><a class="footer-link" href="{{site.url}}/rgpd" title="Protection des données">Protection des données</a></p> <p>Protection des données</p>
</div> </div>
<div class=""> <div class="">
<h3>Contact</h3> <h3>Contact</h3>

View File

@ -4,7 +4,7 @@
<div class="[ site-head__inner ]"> <div class="[ site-head__inner ]">
<a href="/" class="[ site-head__site-name ]"> <a href="/" class="[ site-head__site-name ]">
<span class="visually-hidden">{{ site.name }} - Home</span> <span class="visually-hidden">{{ site.name }} - Home</span>
{% include "../../../images/astrolabe/astrolabe_logo.svg" %} {% include "../../../images/astrolabe_logo.svg" %}
</a> </a>
<button class="menu-toggle" onclick="menuToggle(this)" title="ouvrir / fermer le menu"> <button class="menu-toggle" onclick="menuToggle(this)" title="ouvrir / fermer le menu">
<svg id="icon-show" aria-hidden="true" width="32" height="32" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M13 10h12M6 16h19m-15 6h15" stroke="#111" stroke-width="2" stroke-linecap="round"/></svg> <svg id="icon-show" aria-hidden="true" width="32" height="32" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M13 10h12M6 16h19m-15 6h15" stroke="#111" stroke-width="2" stroke-linecap="round"/></svg>

View File

@ -1,5 +0,0 @@
---
name: 'Énergies citoyennes en Pays de Vilaine'
thumbnail: '/images/customers/logo-epv.png'
url: 'https://www.enr-citoyennes.fr/'
---

View File

@ -0,0 +1,5 @@
---
name: 'Le Web en plus'
thumbnail: '/images/customers/logo-lewebenplus.png'
url: 'https://www.lewebenplus.net/'
---

5
src/customers/naega.md Normal file
View File

@ -0,0 +1,5 @@
---
name: 'Naega'
thumbnail: '/images/customers/logo-naega.png'
url: 'https://www.crealead.com/naega'
---

View File

@ -0,0 +1,5 @@
---
name: 'Technicolor'
thumbnail: '/images/customers/logo-technicolor.png'
url: 'https://www.technicolor.com/'
---

View File

@ -1,5 +0,0 @@
---
name: 'Vantiva'
thumbnail: '/images/customers/logo-vantiva.png'
url: 'https://www.vantiva.com/'
---

View File

@ -1,12 +1,6 @@
<?php <?php
require("/usr/share/php/libphp-phpmailer/autoload.php");
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
$mail = new PHPMailer(true);
$errors = ''; $errors = '';
$myEmail = getenv('ASTRO_SMTP_FROM'); $myEmail = 'contact-form@astrolabe.coop'; // email address to send form content
if(empty($_POST['namezzz']) || empty($_POST['emailzzz']) || empty($_POST['message'])) { if(empty($_POST['namezzz']) || empty($_POST['emailzzz']) || empty($_POST['message'])) {
$errors .= "\n Error: all fields are required"; $errors .= "\n Error: all fields are required";
@ -14,7 +8,7 @@ $mail = new PHPMailer(true);
if(!empty($_POST['name']) && !empty($_POST['email'])) { if(!empty($_POST['name']) && !empty($_POST['email'])) {
$errors .= "\n Error: spam"; $errors .= "\n Error: spam";
} }
$name = $_POST['namezzz']; $name = $_POST['namezzz'];
$emailAddress = $_POST['emailzzz']; $emailAddress = $_POST['emailzzz'];
@ -27,6 +21,14 @@ $mail = new PHPMailer(true);
} }
if( empty($errors)) { if( empty($errors)) {
$headers = array(
"From: " .$myEmail,
"Reply-To: " .$emailAddress,
"MIME-Version: 1.0",
"Content-Type: text/html;charset=UTF-8",
"Content-Transfer-Encoding:8bit"
);
$to = $myEmail; $to = $myEmail;
$emailSubject = "[Formulaire Astrolabe] Nouveau message"; $emailSubject = "[Formulaire Astrolabe] Nouveau message";
@ -47,35 +49,15 @@ $mail = new PHPMailer(true);
$purpose = "Autre demande"; $purpose = "Autre demande";
} }
$messageWrap = wordwrap($message, 70, "\r\n", false);
$emailBody = "Vous avez reçu un nouveau message depuis le formulaire du site Astrolabe :". $emailBody = "Vous avez reçu un nouveau message depuis le formulaire du site Astrolabe :".
"\r\n\r\nNom: $name \r\nEmail: $emailAddress \r\nRaison: $purpose\r\nSubscribe: $subscribe\r\n\r\n$message"; "\r\n\r\nNom: $name \r\nEmail: $emailAddress \r\nRaison: $purpose\r\nSubscribe: $subscribe\r\n\r\n$messageWrap";
$emailBodyHTML = str_replace("\r\n", "<br>", $emailBody); $emailBodyHTML = str_replace("\r\n", "<br>", $emailBody);
$mail->isSMTP(); // send the email
$mail->Host = getenv('ASTRO_SMTP_HOSTNAME'); mail($to, $emailSubject, $emailBodyHTML, implode("\r\n", $headers));
$mail->SMTPAuth = true;
$mail->Username = getenv('ASTRO_SMTP_USERNAME');
$mail->Password = getenv('ASTRO_SMTP_PASSWORD');
$mail->SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS;
$mail->Port = 587;
//Options
$mail->CharSet = 'UTF-8';
$mail->WordWrap = 70;
//Recipients
$mail->setFrom($myEmail);
$mail->addAddress($myEmail);
$mail->addReplyTo($emailAddress, $name);
// Content
$mail->isHTML(true);
$mail->Subject = $emailSubject;
$mail->Body = $emailBodyHTML;
$mail->AltBody = $emailBody;
$mail->send();
// if subscribe add to mailing list // if subscribe add to mailing list
if(!empty($subscribe)) { if(!empty($subscribe)) {

View File

@ -1,4 +0,0 @@
Copyright 2023 Astrolabe CAE : All rights reserved
This licence applies to the current folder.
It is not authorized to copy, display, use, adapt, change, include, translate, sell part or the whole of contents of this folder without a preciding written authorization from owners of this website.

View File

@ -1,3 +0,0 @@
<svg width="40" height="40" viewBox="0 0 40 40" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M0 20C0 8.96178 8.96183 0 20 0C31.0387 0 40 8.96178 40 20C40 31.0382 31.0387 40 20 40C8.96183 40 0 31.0382 0 20ZM25.3303 22.6563L28.3342 29.1806C28.5043 29.5573 28.8225 29.8524 29.2122 29.9957C29.602 30.1398 30.036 30.1215 30.4123 29.9462C30.789 29.776 31.0842 29.4584 31.2279 29.0686C31.3715 28.6788 31.3533 28.2448 31.1784 27.8681L27.7869 20.4983L25.3303 22.6563ZM23.1467 17.9132L20.105 11.3073L17.0339 17.9149L13.4188 18.25L18.0417 8.30295C19.1879 5.83678 21.0417 5.84032 22.1784 8.31076L26.7513 18.2474L23.1467 17.9132ZM14.8411 22.6328L11.7192 29.3507C11.5442 29.7274 11.2261 30.0226 10.8368 30.1615C10.447 30.3056 10.0121 30.2873 9.63585 30.112C9.25952 29.9375 8.96831 29.6198 8.82509 29.23C8.68186 28.8403 8.69963 28.4062 8.87413 28.0295L12.385 20.4748L14.8411 22.6328Z" fill="#282156"/>
</svg>

Before

Width:  |  Height:  |  Size: 946 B

View File

Before

Width:  |  Height:  |  Size: 7.4 KiB

After

Width:  |  Height:  |  Size: 7.4 KiB

View File

@ -1,4 +0,0 @@
Copyright 2023 Astrolabe CAE : All rights reserved
This licence applies to the current folder.
It is not authorized to copy, display, use, adapt, change, include, translate, sell part or the whole of contents of this folder without a preciding written authorization from owners of this website.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

View File

Before

Width:  |  Height:  |  Size: 7.8 KiB

After

Width:  |  Height:  |  Size: 7.8 KiB

View File

@ -1,12 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg version="1.1" id="main_outline" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 640 640" style="enable-background:new 0 0 640 640;" xml:space="preserve">
<g>
<path id="teabag" style="fill:#FFFFFF" d="M395.9,484.2l-126.9-61c-12.5-6-17.9-21.2-11.8-33.8l61-126.9c6-12.5,21.2-17.9,33.8-11.8 c17.2,8.3,27.1,13,27.1,13l-0.1-109.2l16.7-0.1l0.1,117.1c0,0,57.4,24.2,83.1,40.1c3.7,2.3,10.2,6.8,12.9,14.4 c2.1,6.1,2,13.1-1,19.3l-61,126.9C423.6,484.9,408.4,490.3,395.9,484.2z"/>
<g>
<g>
<path style="fill:#609926" d="M622.7,149.8c-4.1-4.1-9.6-4-9.6-4s-117.2,6.6-177.9,8c-13.3,0.3-26.5,0.6-39.6,0.7c0,39.1,0,78.2,0,117.2 c-5.5-2.6-11.1-5.3-16.6-7.9c0-36.4-0.1-109.2-0.1-109.2c-29,0.4-89.2-2.2-89.2-2.2s-141.4-7.1-156.8-8.5 c-9.8-0.6-22.5-2.1-39,1.5c-8.7,1.8-33.5,7.4-53.8,26.9C-4.9,212.4,6.6,276.2,8,285.8c1.7,11.7,6.9,44.2,31.7,72.5 c45.8,56.1,144.4,54.8,144.4,54.8s12.1,28.9,30.6,55.5c25,33.1,50.7,58.9,75.7,62c63,0,188.9-0.1,188.9-0.1s12,0.1,28.3-10.3 c14-8.5,26.5-23.4,26.5-23.4s12.9-13.8,30.9-45.3c5.5-9.7,10.1-19.1,14.1-28c0,0,55.2-117.1,55.2-231.1 C633.2,157.9,624.7,151.8,622.7,149.8z M125.6,353.9c-25.9-8.5-36.9-18.7-36.9-18.7S69.6,321.8,60,295.4 c-16.5-44.2-1.4-71.2-1.4-71.2s8.4-22.5,38.5-30c13.8-3.7,31-3.1,31-3.1s7.1,59.4,15.7,94.2c7.2,29.2,24.8,77.7,24.8,77.7 S142.5,359.9,125.6,353.9z M425.9,461.5c0,0-6.1,14.5-19.6,15.4c-5.8,0.4-10.3-1.2-10.3-1.2s-0.3-0.1-5.3-2.1l-112.9-55 c0,0-10.9-5.7-12.8-15.6c-2.2-8.1,2.7-18.1,2.7-18.1L322,273c0,0,4.8-9.7,12.2-13c0.6-0.3,2.3-1,4.5-1.5c8.1-2.1,18,2.8,18,2.8 l110.7,53.7c0,0,12.6,5.7,15.3,16.2c1.9,7.4-0.5,14-1.8,17.2C474.6,363.8,425.9,461.5,425.9,461.5z"/>
<path style="fill:#609926" d="M326.8,380.1c-8.2,0.1-15.4,5.8-17.3,13.8c-1.9,8,2,16.3,9.1,20c7.7,4,17.5,1.8,22.7-5.4 c5.1-7.1,4.3-16.9-1.8-23.1l24-49.1c1.5,0.1,3.7,0.2,6.2-0.5c4.1-0.9,7.1-3.6,7.1-3.6c4.2,1.8,8.6,3.8,13.2,6.1 c4.8,2.4,9.3,4.9,13.4,7.3c0.9,0.5,1.8,1.1,2.8,1.9c1.6,1.3,3.4,3.1,4.7,5.5c1.9,5.5-1.9,14.9-1.9,14.9 c-2.3,7.6-18.4,40.6-18.4,40.6c-8.1-0.2-15.3,5-17.7,12.5c-2.6,8.1,1.1,17.3,8.9,21.3c7.8,4,17.4,1.7,22.5-5.3 c5-6.8,4.6-16.3-1.1-22.6c1.9-3.7,3.7-7.4,5.6-11.3c5-10.4,13.5-30.4,13.5-30.4c0.9-1.7,5.7-10.3,2.7-21.3 c-2.5-11.4-12.6-16.7-12.6-16.7c-12.2-7.9-29.2-15.2-29.2-15.2s0-4.1-1.1-7.1c-1.1-3.1-2.8-5.1-3.9-6.3c4.7-9.7,9.4-19.3,14.1-29 c-4.1-2-8.1-4-12.2-6.1c-4.8,9.8-9.7,19.7-14.5,29.5c-6.7-0.1-12.9,3.5-16.1,9.4c-3.4,6.3-2.7,14.1,1.9,19.8 C343.2,346.5,335,363.3,326.8,380.1z"/>
</g>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 2.5 KiB

1
src/images/gitlab.svg Normal file
View File

@ -0,0 +1 @@
<svg width="110" height="101" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M109.052 56.536l-5.704-17.493a2.415 2.415 0 00-.138-.47L91.766 3.412a4.54 4.54 0 00-1.669-2.251 4.555 4.555 0 00-2.674-.846 4.478 4.478 0 00-2.661.856 4.464 4.464 0 00-1.632 2.266L72.222 36.942H37.795L26.871 3.438a4.465 4.465 0 00-1.624-2.26 4.478 4.478 0 00-2.65-.862h-.025a4.555 4.555 0 00-4.331 3.125L6.788 38.643c0 .032-.026.057-.035.09L.946 56.538a6.485 6.485 0 002.364 7.272l50.17 36.386a2.57 2.57 0 003.032-.016l50.179-36.37a6.493 6.493 0 002.361-7.275zM34.061 42.085l13.984 42.96-33.57-42.96H34.06zm27.911 42.97l13.41-41.187.578-1.783h19.602L65.19 80.92l-3.218 4.133zM87.467 6.735l9.827 30.206h-19.67l9.844-30.206zm-16.91 35.33l-9.743 29.927L55 89.816l-15.534-47.75h31.09zM22.55 6.736l9.846 30.206H12.739l9.81-30.206zM6.33 59.668a1.38 1.38 0 01-.501-1.547l4.311-13.225 31.624 40.466L6.329 59.668zm97.345 0L68.238 85.352l.118-.154 31.505-40.302 4.312 13.219a1.383 1.383 0 01-.498 1.55" fill="#111"/></svg>

After

Width:  |  Height:  |  Size: 998 B

View File

@ -1,3 +0,0 @@
<svg width="14" height="20" viewBox="0 0 14 20" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M8.0392 19.7082C7.09406 20.2815 5.8626 19.9809 5.28869 19.0368C1.76195 13.2353 0 9.28709 0 6.99256C0 3.13068 3.13401 0 7 0C10.866 0 14 3.13068 14 6.99256C14 9.28709 12.238 13.2353 8.71131 19.0368C8.54447 19.3112 8.31394 19.5415 8.0392 19.7082ZM7.00745 10C8.66606 10 10.0106 8.65685 10.0106 7C10.0106 5.34315 8.66606 4 7.00745 4C5.34883 4 4.00426 5.34315 4.00426 7C4.00426 8.65685 5.34883 10 7.00745 10Z" fill="#282156"/>
</svg>

Before

Width:  |  Height:  |  Size: 533 B

View File

@ -1,3 +0,0 @@
<svg width="28" height="40" viewBox="0 0 28 40" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M15.8191 38.9909C14.1645 39.9946 12.009 39.4681 11.0046 37.8158L10.5774 38.0755L11.0046 37.8158C7.48332 32.0229 4.85137 27.1687 3.10115 23.1986C1.34537 19.2159 0.5 16.1729 0.5 13.9858C0.5 6.53829 6.54368 0.5 14 0.5C21.4563 0.5 27.5 6.53829 27.5 13.9858C27.5 16.1729 26.6546 19.2159 24.8989 23.1986C23.1486 27.1687 20.5167 32.0229 16.9954 37.8158C16.7034 38.2961 16.3 38.6991 15.8191 38.9909ZM14.0149 20.501C17.6078 20.501 20.5213 17.5912 20.5213 14.0007C20.5213 10.4102 17.6078 7.5004 14.0149 7.5004C10.422 7.5004 7.50851 10.4102 7.50851 14.0007C7.50851 17.5912 10.422 20.501 14.0149 20.501Z" fill="#D6F253" stroke="#282156"/>
</svg>

Before

Width:  |  Height:  |  Size: 739 B

View File

@ -1,4 +0,0 @@
Copyright 2023 Astrolabe CAE : All rights reserved
This licence applies to the current folder.
It is not authorized to copy, display, use, adapt, change, include, translate, sell part or the whole of contents of this folder without a preciding written authorization from owners of this website.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 101 KiB

View File

@ -1,4 +0,0 @@
Copyright 2023 Astrolabe CAE : All rights reserved
This licence applies to the current folder.
It is not authorized to copy, display, use, adapt, change, include, translate, sell part or the whole of contents of this folder without a preciding written authorization from owners of this website.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 121 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 54 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 136 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 83 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 126 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 156 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 159 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 151 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 262 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

View File

@ -1,4 +0,0 @@
Copyright 2023 Astrolabe CAE : All rights reserved
This licence applies to the current folder.
It is not authorized to copy, display, use, adapt, change, include, translate, sell part or the whole of contents of this folder without a preciding written authorization from owners of this website.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 307 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 734 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 111 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 56 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 163 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 159 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 78 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 85 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 102 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 253 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 110 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 135 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 94 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 317 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 124 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

Some files were not shown because too many files have changed in this diff Show More