refactor: add sass, minify HTML, remove i18n

This commit is contained in:
2022-10-20 16:10:47 +02:00
parent d211e28aa5
commit 8c0034d325
40 changed files with 405 additions and 197 deletions

View File

@@ -0,0 +1,7 @@
<div class="title">Autres liens</div>
<ul class="links">
{%- for entry in collections.all | eleventyNavigation %}
<li><a
href="{{ entry.url }}">{{ entry.title }}</a></li>
{%- endfor %}
</ul>

View File

@@ -0,0 +1,20 @@
{% for post in postslist | reverse %}
<article class="postlist-item">
<header class="postlist-header">
<h2>
<a href="{{ post.url }}" class="postlist-link">{% if post.data.title %}{{ post.data.title }}{% else %}<code>{{ post.url }}</code>{% endif %}</a>
</h2>
<ul class="post-metadata">
<li><time datetime="{{ post.data.date | htmlDateString }}">{{ post.data.date | readableDate }}</time></li>
{%- for tag in post.data.tags | filterTagList %}
{%- set tagUrl %}/tags/{{ tag | slugify }}/{% endset %}
<li><a href="{{ tagUrl }}" class="post-tag">#{{ tag }}</a>{%- if not loop.last %} {% endif %}</li>
{%- endfor %}
</ul>
</header>
<p>{{ post.data.resume }}</p>
<footer class="postlist-footer">
<a href="{{ post.url }}">Lire la suite</a>
</footer>
</article>
{% endfor %}

View File

@@ -0,0 +1,7 @@
<div class="title">Catégories</div>
<ul class="tags">
{% for tag in collections.all | getAllTags | filterTagList %}
{% set tagUrl %}/tags/{{ tag | slugify }}/{% endset %}
<li><a href="{{ tagUrl }}" class="post-tag">#{{ tag }}</a></li>
{% endfor %}
</ul>

21
src/_data/cacheBust.js Normal file
View File

@@ -0,0 +1,21 @@
const md5File = require('md5-file');
const cacheBust = () => {
// A "map" of files to cache bust
const files = {
mainCss: './src/compiled-assets/main.css',
// mainJs: './src/compiled-assets/main.js',
// vendorJs: './src/compiled-assets/vendor.js',
};
return Object.entries(files).reduce((acc, [key, path]) => {
const now = Date.now();
const bust = process.env.ELEVENTY_ENV === 'production' ? md5File.sync(path, (_err, hash) => hash) : now;
acc[key] = bust;
return acc;
}, {});
};
module.exports = cacheBust;

6
src/_data/metadata.json Normal file
View File

@@ -0,0 +1,6 @@
{
"title": "Blog IT's on us",
"url": "https://blog.itsonus.fr/",
"language": "fr",
"description": "Blog traitant de numérique responsable"
}

61
src/_layouts/base.njk Normal file
View File

@@ -0,0 +1,61 @@
<!doctype html>
<html lang="{{ metadata.language }}">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>{{ title or metadata.title }}</title>
<meta name="description" content="{{ description or metadata.description }}">
<meta name="generator" content="{{ eleventy.generator }}">
<link rel="stylesheet" href="/assets/main.css?{{ cacheBust.mainCss }}"/>
<link rel="alternate" href="/feed/feed.xml" type="application/atom+xml" title="{{ metadata.title }}">
<link rel="alternate" href="/feed/feed.json" type="application/json" title="{{ metadata.title }}">
<link rel="icon" href="/images/favicon.svg">
</head>
<body class="container">
<header class="main-header">
<div>
<a class="main-header-logo" href="/">
<img src="/images/logo.svg" alt="IT's on us" width="165" height="33">
Blog
</a>
</div>
</header>
<main>
<div class="main-content">
{{ content | safe }}
</div>
<nav class="right-side">
{% include "tagslist.njk" %}
{% include "other_links.njk" %}
</nav>
</main>
<footer class="main-footer">
<div class="footer-contact">
<div>
<p class="footer-contact-title">IT's on us</p>
<p>Copyright © 2022</p>
</div>
<ul class="footer-links">
<li>
<a rel="noopener" href="https://www.linkedin.com/company/itsonus" target="_blank">
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg" aria-labelledby="title-linkedin"><title id="title-linkedin">Accéder à la page LinkedIn de IT's on us</title><path d="M12.6041 20.6838H9.74213V12.0046H12.6041V20.6838ZM11.1716 10.8207C10.2566 10.8207 9.51416 10.1068 9.51416 9.245C9.51416 8.38317 10.2566 7.68384 11.1716 7.68384C12.0865 7.68384 12.8289 8.38317 12.8289 9.245C12.8289 10.1068 12.0865 10.8207 11.1716 10.8207ZM23.3155 20.6838H20.4597V16.4588C20.4597 15.4519 20.4382 14.1606 18.9718 14.1606C17.4838 14.1606 17.2559 15.2546 17.2559 16.3863V20.6838H14.397V12.0046H17.1419V13.1885H17.1819C17.5639 12.5066 18.4974 11.787 19.8898 11.787C22.7856 11.787 23.3186 13.5832 23.3186 15.9162V20.6838H23.3155Z" fill="white"></path><path d="M30.2071 16.1838C30.2071 8.1624 23.799 1.68384 15.9236 1.68384C8.04829 1.68384 1.64014 8.1624 1.64014 16.1838C1.64014 24.2053 8.04829 30.6838 15.9236 30.6838C23.799 30.6838 30.2071 24.2053 30.2071 16.1838Z" stroke="white" stroke-width="2"></path>
</svg>
</a>
</li>
<li>
<a href="/src/_pages/feed/feed.xml" download>
<svg width="32" height="32" viewBox="0 0 461.432 461.432" xmlns="http://www.w3.org/2000/svg" aria-labelledby="title-rss"><title id="title-rss">Accéder au flux RSS du blog</title><g fill="#fff"><path d="M125.896 398.928c0 33.683-27.308 60.999-61.022 60.999-33.684 0-61.006-27.316-61.006-60.999 0-33.729 27.322-61.038 61.006-61.038 33.714 0 61.022 27.308 61.022 61.038zM0 229.636c0 8.441 6.606 15.379 15.036 15.809 60.318 3.076 100.885 25.031 138.248 62.582 36.716 36.864 60.071 89.759 64.082 137.769.686 8.202 7.539 14.524 15.77 14.524h56.701c4.344 0 8.498-1.784 11.488-4.935a15.852 15.852 0 004.333-11.729c-8.074-158.152-130.669-278.332-289.013-286.23a15.846 15.846 0 00-11.709 4.344A15.848 15.848 0 000 173.247v56.389z"/><path d="M0 73.411c0 8.51 6.713 15.482 15.216 15.819 194.21 7.683 350.315 161.798 358.098 355.879.34 8.491 7.32 15.208 15.818 15.208h56.457c4.297 0 8.408-1.744 11.393-4.834a15.857 15.857 0 004.441-11.552C453.181 199.412 261.024 9.27 16.38 1.121A15.844 15.844 0 004.838 5.568 15.842 15.842 0 000 16.954v56.457z"/></g>
</svg>
</a>
</li>
</ul>
</div>
<div class="footer-center">
Ceci est le blog du collectif IT's on us. Visitez notre <a href="https://www.itsonus.fr">site</a>.
</div>
</footer>
{# <script src="{% webpackAsset 'main.js' %}"></script> Uncomment if JS is needed#}
</body>
</html>

5
src/_layouts/home.njk Normal file
View File

@@ -0,0 +1,5 @@
---
layout: base.njk
templateClass: tmpl-home
---
{{ content | safe }}

31
src/_layouts/post.njk Normal file
View File

@@ -0,0 +1,31 @@
---
layout: base.njk
templateClass: tmpl-post
---
<h1>{{ title }}</h1>
<ul class="post-metadata">
<li><time datetime="{{ page.date | htmlDateString }}">{{ page.date | readableDate }}</time></li>
{%- for tag in tags | filterTagList %}
{%- set tagUrl %}/tags/{{ tag | slugify }}/{% endset %}
<li><a href="{{ tagUrl }}" class="post-tag">#{{ tag }}</a>{%- if not loop.last %} {% endif %}</li>
{%- endfor %}
</ul>
{{ content | safe }}
<hr>
{%- if collections.posts %}
{# these filters are locale-aware in 2.0.0-canary.14 #}
{%- set previousPost = collections.posts | getPreviousCollectionItem %}
{%- set nextPost = collections.posts | getNextCollectionItem %}
{%- if nextPost or previousPost %}
<nav class="post-nav">
<ul>
{%- if previousPost %}<li class="previous">Précédent : <a href="{{ previousPost.url }}">{{ previousPost.data.title }}</a></li>{% endif %}
{%- if nextPost %}<li class="next">Suivant : <a href="{{ nextPost.url }}">{{ nextPost.data.title }}</a></li>{% endif %}
</ul>
</nav>
{%- endif %}
{%- endif %}

19
src/_pages/404.md Normal file
View File

@@ -0,0 +1,19 @@
---
layout: home.njk
permalink: 404.html
eleventyExcludeFromCollections: true
---
# Cette page n'existe pas !
Vous avez fait fausse route ¯\_(ツ)_/¯
[Aller à la page daccueil](/)
{#
Read more: https://www.11ty.dev/docs/quicktips/not-found/
This will work for both GitHub pages and Netlify:
* https://help.github.com/articles/creating-a-custom-404-page-for-your-github-pages-site/
* https://www.netlify.com/docs/redirects/#custom-404
#}

3
src/_pages/_pages.json Normal file
View File

@@ -0,0 +1,3 @@
{
"permalink": "{{ page.filePathStem.replace('/_pages', '').replace('/index', '') }}/index.html"
}

View File

@@ -0,0 +1,17 @@
---
layout: home.njk
eleventyNavigation:
key: Tous les articles
order: 3
---
<ul class="post-list">
{%- for post in collections.posts | reverse %}
<li>
<div>
<a href="{{ post.url }}">{{ post.data.title }}</a>
<time datetime="{{ post.data.date | htmlDateString }}">{{ post.data.date | htmlDateString }}</time>
</div>
<p>{{ post.data.description }}</p>
</li>
{%- endfor %}
</ul>

10
src/_pages/blog.njk Normal file
View File

@@ -0,0 +1,10 @@
---
layout: home.njk
eleventyNavigation:
key: Archives
order: 2
---
<h1>Archive</h1>
{% set postslist = collections.posts %}
{% include "postslist.njk" %}

View File

@@ -0,0 +1,5 @@
{
"tags": [
"posts"
]
}

View File

@@ -0,0 +1,54 @@
---
title: Exemple d'article
description: Article traitant d'ACV, d'EFC et d'écoconception
resume: Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Semper quis lectus nulla at volutpat. Est pellentesque elit ullamcorper dignissim cras tincidunt lobortis feugiat. Duis tristique sollicitudin nibh sit amet commodo nulla facilisi. Enim diam vulputate ut pharetra sit amet. Placerat orci nulla pellentesque dignissim. Gravida rutrum quisque non tellus. Condimentum mattis pellentesque id nibh tortor id aliquet lectus proin. Diam sollicitudin tempor id eu nisl nunc mi ipsum faucibus. Tempor id eu nisl nunc mi. Cras pulvinar mattis nunc sed blandit libero volutpat sed cras. Eget magna fermentum iaculis eu non diam phasellus. Est lorem ipsum dolor sit amet consectetur adipiscing. Orci porta non pulvinar neque laoreet suspendisse interdum consectetur. Velit scelerisque in dictum non consectetur a. Lectus sit amet est placerat. Viverra aliquet eget sit amet tellus cras adipiscing enim eu. Ut tristique et egestas quis ipsum suspendisse ultrices. Bibendum est ultricies integer quis auctor elit. Aliquam sem et tortor consequat id porta nibh.
date: 2022-10-14
tags:
- ACV
- EFC
- écoconception
layout: post.njk
---
## Introduction
Leverage agile Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Semper quis lectus nulla at volutpat. Est pellentesque elit ullamcorper dignissim cras tincidunt lobortis feugiat. Duis tristique sollicitudin nibh sit amet commodo nulla facilisi. Enim diam vulputate ut pharetra sit amet. Placerat orci nulla pellentesque dignissim. Gravida rutrum quisque non tellus. Condimentum mattis pellentesque id nibh tortor id aliquet lectus proin. Diam sollicitudin tempor id eu nisl nunc mi ipsum faucibus. Tempor id eu nisl nunc mi. Cras pulvinar mattis nunc sed blandit libero volutpat sed cras. Eget magna fermentum iaculis eu non diam phasellus. Est lorem ipsum dolor sit amet consectetur adipiscing. Orci porta non pulvinar neque laoreet suspendisse interdum consectetur. Velit scelerisque in dictum non consectetur a. Lectus sit amet est placerat. Viverra aliquet eget sit amet tellus cras adipiscing enim eu. Ut tristique et egestas quis ipsum suspendisse ultrices. Bibendum est ultricies integer quis auctor elit. Aliquam sem et tortor consequat id porta nibh.
to provide a robust synopsis for high level overviews. Iterative approaches to corporate strategy foster collaborative thinking to further the overall value proposition. Organically grow the holistic world view of disruptive innovation via workplace diversity and empowerment.
![Un chaton](/images/blog/kitty_1.jpeg "Un chaton tout mignon 😍")
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Semper quis lectus nulla at volutpat. Est pellentesque elit ullamcorper dignissim cras tincidunt lobortis feugiat. Duis tristique sollicitudin nibh sit amet commodo nulla facilisi. Enim diam vulputate ut pharetra sit amet. Placerat orci nulla pellentesque dignissim. Gravida rutrum quisque non tellus. Condimentum mattis pellentesque id nibh tortor id aliquet lectus proin. Diam sollicitudin tempor id eu nisl nunc mi ipsum faucibus. Tempor id eu nisl nunc mi. Cras pulvinar mattis nunc sed blandit libero volutpat sed cras. Eget magna fermentum iaculis eu non diam phasellus. Est lorem ipsum dolor sit amet consectetur adipiscing. Orci porta non pulvinar neque laoreet suspendisse interdum consectetur. Velit scelerisque in dictum non consectetur a. Lectus sit amet est placerat. Viverra aliquet eget sit amet tellus cras adipiscing enim eu. Ut tristique et egestas quis ipsum suspendisse ultrices. Bibendum est ultricies integer quis auctor elit. Aliquam sem et tortor consequat id porta nibh.
## Partie une
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Semper quis lectus nulla at volutpat. Est pellentesque elit ullamcorper dignissim cras tincidunt lobortis feugiat. Duis tristique sollicitudin nibh sit amet commodo nulla facilisi. Enim diam vulputate ut pharetra sit amet. Placerat orci nulla pellentesque dignissim. Gravida rutrum quisque non tellus. Condimentum mattis pellentesque id nibh tortor id aliquet lectus proin. Diam sollicitudin tempor id eu nisl nunc mi ipsum faucibus. Tempor id eu nisl nunc mi. Cras pulvinar mattis nunc sed blandit libero volutpat sed cras. Eget magna fermentum iaculis eu non diam phasellus. Est lorem ipsum dolor sit amet consectetur adipiscing. Orci porta non pulvinar neque laoreet suspendisse interdum consectetur. Velit scelerisque in dictum non consectetur a. Lectus sit amet est placerat. Viverra aliquet eget sit amet tellus cras adipiscing enim eu. Ut tristique et egestas quis ipsum suspendisse ultrices. Bibendum est ultricies integer quis auctor elit. Aliquam sem et tortor consequat id porta nibh.
```diff-js
// this is a command
function myCommand() {
+ let counter = 0;
- let counter = 1;
counter++;
}
// Test with a line break above this line.
console.log('Test');
```
## Partie deux
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Semper quis lectus nulla at volutpat. Est pellentesque elit ullamcorper dignissim cras tincidunt lobortis feugiat. Duis tristique sollicitudin nibh sit amet commodo nulla facilisi. Enim diam vulputate ut pharetra sit amet. Placerat orci nulla pellentesque dignissim. Gravida rutrum quisque non tellus. Condimentum mattis pellentesque id nibh tortor id aliquet lectus proin. Diam sollicitudin tempor id eu nisl nunc mi ipsum faucibus. Tempor id eu nisl nunc mi. Cras pulvinar mattis nunc sed blandit libero volutpat sed cras. Eget magna fermentum iaculis eu non diam phasellus. Est lorem ipsum dolor sit amet consectetur adipiscing. Orci porta non pulvinar neque laoreet suspendisse interdum consectetur. Velit scelerisque in dictum non consectetur a. Lectus sit amet est placerat. Viverra aliquet eget sit amet tellus cras adipiscing enim eu. Ut tristique et egestas quis ipsum suspendisse ultrices. Bibendum est ultricies integer quis auctor elit. Aliquam sem et tortor consequat id porta nibh.
```js
// this is a command
function myCommand() {
let counter = 0;
counter++;
}
// Test with a line break above this line.
console.log('Test');
```
## Conclusion
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Semper quis lectus nulla at volutpat. Est pellentesque elit ullamcorper dignissim cras tincidunt lobortis feugiat. Duis tristique sollicitudin nibh sit amet commodo nulla facilisi. Enim diam vulputate ut pharetra sit amet. Placerat orci nulla pellentesque dignissim. Gravida rutrum quisque non tellus. Condimentum mattis pellentesque id nibh tortor id aliquet lectus proin. Diam sollicitudin tempor id eu nisl nunc mi ipsum faucibus. Tempor id eu nisl nunc mi. Cras pulvinar mattis nunc sed blandit libero volutpat sed cras. Eget magna fermentum iaculis eu non diam phasellus. Est lorem ipsum dolor sit amet consectetur adipiscing. Orci porta non pulvinar neque laoreet suspendisse interdum consectetur. Velit scelerisque in dictum non consectetur a. Lectus sit amet est placerat. Viverra aliquet eget sit amet tellus cras adipiscing enim eu. Ut tristique et egestas quis ipsum suspendisse ultrices. Bibendum est ultricies integer quis auctor elit. Aliquam sem et tortor consequat id porta nibh.

View File

@@ -0,0 +1,53 @@
---
title: Second exemple d'article
description: Article traitant d'accessibilité et d'écoconception
resume: Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Semper quis lectus nulla at volutpat. Est pellentesque elit ullamcorper dignissim cras tincidunt lobortis feugiat. Duis tristique sollicitudin nibh sit amet commodo nulla facilisi. Enim diam vulputate ut pharetra sit amet. Placerat orci nulla pellentesque dignissim. Gravida rutrum quisque non tellus. Condimentum mattis pellentesque id nibh tortor id aliquet lectus proin. Diam sollicitudin tempor id eu nisl nunc mi ipsum faucibus. Tempor id eu nisl nunc mi. Cras pulvinar mattis nunc sed blandit libero volutpat sed cras. Eget magna fermentum iaculis eu non diam phasellus. Est lorem ipsum dolor sit amet consectetur adipiscing. Orci porta non pulvinar neque laoreet suspendisse interdum consectetur. Velit scelerisque in dictum non consectetur a. Lectus sit amet est placerat. Viverra aliquet eget sit amet tellus cras adipiscing enim eu. Ut tristique et egestas quis ipsum suspendisse ultrices. Bibendum est ultricies integer quis auctor elit. Aliquam sem et tortor consequat id porta nibh.
date: 2022-10-15
tags:
- accessibilité
- écoconception
layout: post.njk
---
## Introduction
Leverage agile Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Semper quis lectus nulla at volutpat. Est pellentesque elit ullamcorper dignissim cras tincidunt lobortis feugiat. Duis tristique sollicitudin nibh sit amet commodo nulla facilisi. Enim diam vulputate ut pharetra sit amet. Placerat orci nulla pellentesque dignissim. Gravida rutrum quisque non tellus. Condimentum mattis pellentesque id nibh tortor id aliquet lectus proin. Diam sollicitudin tempor id eu nisl nunc mi ipsum faucibus. Tempor id eu nisl nunc mi. Cras pulvinar mattis nunc sed blandit libero volutpat sed cras. Eget magna fermentum iaculis eu non diam phasellus. Est lorem ipsum dolor sit amet consectetur adipiscing. Orci porta non pulvinar neque laoreet suspendisse interdum consectetur. Velit scelerisque in dictum non consectetur a. Lectus sit amet est placerat. Viverra aliquet eget sit amet tellus cras adipiscing enim eu. Ut tristique et egestas quis ipsum suspendisse ultrices. Bibendum est ultricies integer quis auctor elit. Aliquam sem et tortor consequat id porta nibh.
to provide a robust synopsis for high level overviews. Iterative approaches to corporate strategy foster collaborative thinking to further the overall value proposition. Organically grow the holistic world view of disruptive innovation via workplace diversity and empowerment.
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Semper quis lectus nulla at volutpat. Est pellentesque elit ullamcorper dignissim cras tincidunt lobortis feugiat. Duis tristique sollicitudin nibh sit amet commodo nulla facilisi. Enim diam vulputate ut pharetra sit amet. Placerat orci nulla pellentesque dignissim. Gravida rutrum quisque non tellus. Condimentum mattis pellentesque id nibh tortor id aliquet lectus proin. Diam sollicitudin tempor id eu nisl nunc mi ipsum faucibus. Tempor id eu nisl nunc mi. Cras pulvinar mattis nunc sed blandit libero volutpat sed cras. Eget magna fermentum iaculis eu non diam phasellus. Est lorem ipsum dolor sit amet consectetur adipiscing. Orci porta non pulvinar neque laoreet suspendisse interdum consectetur. Velit scelerisque in dictum non consectetur a. Lectus sit amet est placerat. Viverra aliquet eget sit amet tellus cras adipiscing enim eu. Ut tristique et egestas quis ipsum suspendisse ultrices. Bibendum est ultricies integer quis auctor elit. Aliquam sem et tortor consequat id porta nibh.
## Partie une
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Semper quis lectus nulla at volutpat. Est pellentesque elit ullamcorper dignissim cras tincidunt lobortis feugiat. Duis tristique sollicitudin nibh sit amet commodo nulla facilisi. Enim diam vulputate ut pharetra sit amet. Placerat orci nulla pellentesque dignissim. Gravida rutrum quisque non tellus. Condimentum mattis pellentesque id nibh tortor id aliquet lectus proin. Diam sollicitudin tempor id eu nisl nunc mi ipsum faucibus. Tempor id eu nisl nunc mi. Cras pulvinar mattis nunc sed blandit libero volutpat sed cras. Eget magna fermentum iaculis eu non diam phasellus. Est lorem ipsum dolor sit amet consectetur adipiscing. Orci porta non pulvinar neque laoreet suspendisse interdum consectetur. Velit scelerisque in dictum non consectetur a. Lectus sit amet est placerat. Viverra aliquet eget sit amet tellus cras adipiscing enim eu. Ut tristique et egestas quis ipsum suspendisse ultrices. Bibendum est ultricies integer quis auctor elit. Aliquam sem et tortor consequat id porta nibh.
```diff-js
// this is a command
function myCommand() {
+ let counter = 0;
- let counter = 1;
counter++;
}
// Test with a line break above this line.
console.log('Test');
```
## Partie deux
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Semper quis lectus nulla at volutpat. Est pellentesque elit ullamcorper dignissim cras tincidunt lobortis feugiat. Duis tristique sollicitudin nibh sit amet commodo nulla facilisi. Enim diam vulputate ut pharetra sit amet. Placerat orci nulla pellentesque dignissim. Gravida rutrum quisque non tellus. Condimentum mattis pellentesque id nibh tortor id aliquet lectus proin. Diam sollicitudin tempor id eu nisl nunc mi ipsum faucibus. Tempor id eu nisl nunc mi. Cras pulvinar mattis nunc sed blandit libero volutpat sed cras. Eget magna fermentum iaculis eu non diam phasellus. Est lorem ipsum dolor sit amet consectetur adipiscing. Orci porta non pulvinar neque laoreet suspendisse interdum consectetur. Velit scelerisque in dictum non consectetur a. Lectus sit amet est placerat. Viverra aliquet eget sit amet tellus cras adipiscing enim eu. Ut tristique et egestas quis ipsum suspendisse ultrices. Bibendum est ultricies integer quis auctor elit. Aliquam sem et tortor consequat id porta nibh.
```js
// this is a command
function myCommand() {
let counter = 0;
counter++;
}
// Test with a line break above this line.
console.log('Test');
```
## Conclusion
![Un chaton](/images/blog/kitty_2.jpeg)
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Semper quis lectus nulla at volutpat. Est pellentesque elit ullamcorper dignissim cras tincidunt lobortis feugiat. Duis tristique sollicitudin nibh sit amet commodo nulla facilisi. Enim diam vulputate ut pharetra sit amet. Placerat orci nulla pellentesque dignissim. Gravida rutrum quisque non tellus. Condimentum mattis pellentesque id nibh tortor id aliquet lectus proin. Diam sollicitudin tempor id eu nisl nunc mi ipsum faucibus. Tempor id eu nisl nunc mi. Cras pulvinar mattis nunc sed blandit libero volutpat sed cras. Eget magna fermentum iaculis eu non diam phasellus. Est lorem ipsum dolor sit amet consectetur adipiscing. Orci porta non pulvinar neque laoreet suspendisse interdum consectetur. Velit scelerisque in dictum non consectetur a. Lectus sit amet est placerat. Viverra aliquet eget sit amet tellus cras adipiscing enim eu. Ut tristique et egestas quis ipsum suspendisse ultrices. Bibendum est ultricies integer quis auctor elit. Aliquam sem et tortor consequat id porta nibh.

View File

@@ -0,0 +1,50 @@
---
title: Troisième exemple d'article
description: Article traitant d'écoconception
resume: Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Semper quis lectus nulla at volutpat. Est pellentesque elit ullamcorper dignissim cras tincidunt lobortis feugiat. Duis tristique sollicitudin nibh sit amet commodo nulla facilisi. Enim diam vulputate ut pharetra sit amet. Placerat orci nulla pellentesque dignissim. Gravida rutrum quisque non tellus. Condimentum mattis pellentesque id nibh tortor id aliquet lectus proin. Diam sollicitudin tempor id eu nisl nunc mi ipsum faucibus. Tempor id eu nisl nunc mi. Cras pulvinar mattis nunc sed blandit libero volutpat sed cras. Eget magna fermentum iaculis eu non diam phasellus. Est lorem ipsum dolor sit amet consectetur adipiscing. Orci porta non pulvinar neque laoreet suspendisse interdum consectetur. Velit scelerisque in dictum non consectetur a. Lectus sit amet est placerat. Viverra aliquet eget sit amet tellus cras adipiscing enim eu. Ut tristique et egestas quis ipsum suspendisse ultrices. Bibendum est ultricies integer quis auctor elit. Aliquam sem et tortor consequat id porta nibh.
date: 2022-10-17
tags:
- écoconception
layout: post.njk
---
## Introduction
Leverage agile Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Semper quis lectus nulla at volutpat. Est pellentesque elit ullamcorper dignissim cras tincidunt lobortis feugiat. Duis tristique sollicitudin nibh sit amet commodo nulla facilisi. Enim diam vulputate ut pharetra sit amet. Placerat orci nulla pellentesque dignissim. Gravida rutrum quisque non tellus. Condimentum mattis pellentesque id nibh tortor id aliquet lectus proin. Diam sollicitudin tempor id eu nisl nunc mi ipsum faucibus. Tempor id eu nisl nunc mi. Cras pulvinar mattis nunc sed blandit libero volutpat sed cras. Eget magna fermentum iaculis eu non diam phasellus. Est lorem ipsum dolor sit amet consectetur adipiscing. Orci porta non pulvinar neque laoreet suspendisse interdum consectetur. Velit scelerisque in dictum non consectetur a. Lectus sit amet est placerat. Viverra aliquet eget sit amet tellus cras adipiscing enim eu. Ut tristique et egestas quis ipsum suspendisse ultrices. Bibendum est ultricies integer quis auctor elit. Aliquam sem et tortor consequat id porta nibh.
to provide a robust synopsis for high level overviews. Iterative approaches to corporate strategy foster collaborative thinking to further the overall value proposition. Organically grow the holistic world view of disruptive innovation via workplace diversity and empowerment.
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Semper quis lectus nulla at volutpat. Est pellentesque elit ullamcorper dignissim cras tincidunt lobortis feugiat. Duis tristique sollicitudin nibh sit amet commodo nulla facilisi. Enim diam vulputate ut pharetra sit amet. Placerat orci nulla pellentesque dignissim. Gravida rutrum quisque non tellus. Condimentum mattis pellentesque id nibh tortor id aliquet lectus proin. Diam sollicitudin tempor id eu nisl nunc mi ipsum faucibus. Tempor id eu nisl nunc mi. Cras pulvinar mattis nunc sed blandit libero volutpat sed cras. Eget magna fermentum iaculis eu non diam phasellus. Est lorem ipsum dolor sit amet consectetur adipiscing. Orci porta non pulvinar neque laoreet suspendisse interdum consectetur. Velit scelerisque in dictum non consectetur a. Lectus sit amet est placerat. Viverra aliquet eget sit amet tellus cras adipiscing enim eu. Ut tristique et egestas quis ipsum suspendisse ultrices. Bibendum est ultricies integer quis auctor elit. Aliquam sem et tortor consequat id porta nibh.
## Partie une
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Semper quis lectus nulla at volutpat. Est pellentesque elit ullamcorper dignissim cras tincidunt lobortis feugiat. Duis tristique sollicitudin nibh sit amet commodo nulla facilisi. Enim diam vulputate ut pharetra sit amet. Placerat orci nulla pellentesque dignissim. Gravida rutrum quisque non tellus. Condimentum mattis pellentesque id nibh tortor id aliquet lectus proin. Diam sollicitudin tempor id eu nisl nunc mi ipsum faucibus. Tempor id eu nisl nunc mi. Cras pulvinar mattis nunc sed blandit libero volutpat sed cras. Eget magna fermentum iaculis eu non diam phasellus. Est lorem ipsum dolor sit amet consectetur adipiscing. Orci porta non pulvinar neque laoreet suspendisse interdum consectetur. Velit scelerisque in dictum non consectetur a. Lectus sit amet est placerat. Viverra aliquet eget sit amet tellus cras adipiscing enim eu. Ut tristique et egestas quis ipsum suspendisse ultrices. Bibendum est ultricies integer quis auctor elit. Aliquam sem et tortor consequat id porta nibh.
```diff-js
// this is a command
function myCommand() {
+ let counter = 0;
- let counter = 1;
counter++;
}
// Test with a line break above this line.
console.log('Test');
```
## Partie deux
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Semper quis lectus nulla at volutpat. Est pellentesque elit ullamcorper dignissim cras tincidunt lobortis feugiat. Duis tristique sollicitudin nibh sit amet commodo nulla facilisi. Enim diam vulputate ut pharetra sit amet. Placerat orci nulla pellentesque dignissim. Gravida rutrum quisque non tellus. Condimentum mattis pellentesque id nibh tortor id aliquet lectus proin. Diam sollicitudin tempor id eu nisl nunc mi ipsum faucibus. Tempor id eu nisl nunc mi. Cras pulvinar mattis nunc sed blandit libero volutpat sed cras. Eget magna fermentum iaculis eu non diam phasellus. Est lorem ipsum dolor sit amet consectetur adipiscing. Orci porta non pulvinar neque laoreet suspendisse interdum consectetur. Velit scelerisque in dictum non consectetur a. Lectus sit amet est placerat. Viverra aliquet eget sit amet tellus cras adipiscing enim eu. Ut tristique et egestas quis ipsum suspendisse ultrices. Bibendum est ultricies integer quis auctor elit. Aliquam sem et tortor consequat id porta nibh.
```js
// this is a command
function myCommand() {
let counter = 0;
counter++;
}
// Test with a line break above this line.
console.log('Test');
```
## Conclusion
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Semper quis lectus nulla at volutpat. Est pellentesque elit ullamcorper dignissim cras tincidunt lobortis feugiat. Duis tristique sollicitudin nibh sit amet commodo nulla facilisi. Enim diam vulputate ut pharetra sit amet. Placerat orci nulla pellentesque dignissim. Gravida rutrum quisque non tellus. Condimentum mattis pellentesque id nibh tortor id aliquet lectus proin. Diam sollicitudin tempor id eu nisl nunc mi ipsum faucibus. Tempor id eu nisl nunc mi. Cras pulvinar mattis nunc sed blandit libero volutpat sed cras. Eget magna fermentum iaculis eu non diam phasellus. Est lorem ipsum dolor sit amet consectetur adipiscing. Orci porta non pulvinar neque laoreet suspendisse interdum consectetur. Velit scelerisque in dictum non consectetur a. Lectus sit amet est placerat. Viverra aliquet eget sit amet tellus cras adipiscing enim eu. Ut tristique et egestas quis ipsum suspendisse ultrices. Bibendum est ultricies integer quis auctor elit. Aliquam sem et tortor consequat id porta nibh.

View File

@@ -0,0 +1,3 @@
module.exports = {
eleventyExcludeFromCollections: true
}

27
src/_pages/feed/feed.njk Executable file
View File

@@ -0,0 +1,27 @@
---
# Metadata comes from _data/metadata.json
permalink: /feed/feed.xml
---
<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:base="{{ metadata.language }}">
<title>{{ metadata.title }}</title>
<subtitle>{{ metadata.description }}</subtitle>
<link href="{{ permalink | htmlBaseUrl(metadata.url) }}" rel="self"/>
<link href="{{ metadata.url | addPathPrefixToFullUrl }}"/>
<updated>{{ collections.posts | getNewestCollectionItemDate | dateToRfc3339 }}</updated>
<id>{{ metadata.url }}</id>
<author>
<name>{{ metadata.author.name }}</name>
<email>{{ metadata.author.email }}</email>
</author>
{%- for post in collections.posts | reverse %}
{% set absolutePostUrl %}{{ post.url | htmlBaseUrl(metadata.url) }}{% endset %}
<entry>
<title>{{ post.data.title }}</title>
<link href="{{ absolutePostUrl }}"/>
<updated>{{ post.date | dateToRfc3339 }}</updated>
<id>{{ absolutePostUrl }}</id>
<content type="html">{{ post.templateContent | transformWithHtmlBase(absolutePostUrl, post.url) }}</content>
</entry>
{%- endfor %}
</feed>

29
src/_pages/feed/json.njk Normal file
View File

@@ -0,0 +1,29 @@
---
# Metadata comes from _data/metadata.json
permalink: /feed/feed.json
---
{
"version": "https://jsonfeed.org/version/1.1",
"title": "{{ metadata.title }}",
"language": "{{ metadata.language }}",
"home_page_url": "{{ metadata.url | addPathPrefixToFullUrl }}",
"feed_url": "{{ permalink | htmlBaseUrl(metadata.url) }}",
"description": "{{ metadata.description }}",
"author": {
"name": "{{ metadata.author.name }}",
"url": "{{ metadata.author.url }}"
},
"items": [
{%- for post in collections.posts | reverse %}
{%- set absolutePostUrl = post.url | htmlBaseUrl(metadata.url) %}
{
"id": "{{ absolutePostUrl }}",
"url": "{{ absolutePostUrl }}",
"title": "{{ post.data.title }}",
"content_html": {% if post.templateContent %}{{ post.templateContent | transformWithHtmlBase(absolutePostUrl, post.url) | dump | safe }}{% else %}""{% endif %},
"date_published": "{{ post.date | dateToRfc3339 }}"
}
{% if not loop.last %},{% endif %}
{%- endfor %}
]
}

19
src/_pages/index.njk Normal file
View File

@@ -0,0 +1,19 @@
---
layout: home.njk
eleventyNavigation:
key: Accueil
order: 1
---
{% set maxPosts = collections.posts.length | min(5) %}
{#<h1>{% if maxPosts == 1 %}Article{% else %}Derniers articles{% endif %}</h1>#}
<h1>Blog IT's on us</h1>
{% set postslist = collections.posts | head(-5) %}
{% set postslistCounter = collections.posts | length %}
{% include "postslist.njk" %}
{#List all of the pages in the project#}
{#<ul>#}
{# {%- for entry in collections.all %}#}
{# <li><a href="{{ entry.url }}"><code>{{ entry.url }}</code></a></li>#}
{# {%- endfor %}#}
{#</ul>#}

View File

@@ -0,0 +1,9 @@
---
permalink: '/robots.txt'
eleventyExcludeFromCollections: true
---
User-agent: *
Allow: /
Sitemap: {{ site.url }}/sitemap.xml

View File

@@ -0,0 +1,14 @@
---
permalink: /sitemap.xml
eleventyExcludeFromCollections: true
---
<?xml version="1.0" encoding="utf-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml">
{%- for page in collections.all %}
{% set absoluteUrl %}{{ page.url | htmlBaseUrl(metadata.url) }}{% endset %}
<url>
<loc>{{ absoluteUrl }}</loc>
<lastmod>{{ page.date | htmlDateString }}</lastmod>
</url>
{%- endfor %}
</urlset>

20
src/_pages/tags.njk Normal file
View File

@@ -0,0 +1,20 @@
---
pagination:
data: collections
size: 1
alias: tag
filter:
- all
- post
- posts
- tagList
addAllPagesToCollections: true
layout: home.njk
eleventyComputed:
title: Tags “{{ tag }}”
permalink: /tags/{{ tag | slugify }}/
---
<h1>#{{ tag }}</h1>
{% set postslist = collections[ tag ] %}
{% include "postslist.njk" %}

418
src/assets/css/index.scss Normal file
View File

@@ -0,0 +1,418 @@
@import "prismjs/themes/prism-okaidia.min.css";
/* Defaults */
:root {
--font-family: Century Gothic,Avant Garde,Avenir,TeXGyreAdventorRegular,Verdana,sans-serif;
--font-family-monospace: Consolas, Menlo, Monaco, Andale Mono WT, Andale Mono, Lucida Console, Lucida Sans Typewriter, DejaVu Sans Mono, Bitstream Vera Sans Mono, Liberation Mono, Nimbus Mono L, Courier New, Courier, monospace;
}
/* Theme colors */
:root {
--color-gray-20: #e0e0e0;
--color-gray-50: #C0C0C0;
--color-gray-90: #333;
--color-green-1: #004953;
--color-green-2: #57c183;
--background-color: #fff;
--text-color: rgba(0,0,10,.8);
--text-color-secondary: var(--color-green-1);
--text-color-tertiary: var(--color-green-2);
--text-color-link: var(--color-green-1);
--text-color-link-active: var(--color-green-1);
}
/*@media (prefers-color-scheme: dark) {*/
/* :root {*/
/* --color-gray-20: #e0e0e0;*/
/* --color-gray-50: #C0C0C0;*/
/* --color-gray-90: #dad8d8;*/
/* !* --text-color is assigned to --color-gray-_ above *!*/
/* --text-color: var(--color-gray-20);*/
/* --text-color-secondary: var(--color-gray-90);*/
/* --text-color-tertiary: var(--color-green-2);*/
/* --text-color-link: #1493fb;*/
/* --text-color-link-active: #6969f7;*/
/* --text-color-link-visited: #a6a6f8;*/
/* --background-color: #15202b;*/
/* }*/
/*}*/
/* Global stylesheet */
* {
box-sizing: border-box;
}
html,
body {
padding: 0;
margin: 0;
font-family: var(--font-family);
color: var(--text-color);
background-color: var(--background-color);
}
main {
max-width: 1200px;
margin: 0 auto;
display: flex;
}
.main-content {
margin: auto;
width: 1200px;
}
.right-side {
position: sticky;
top: 1rem;
align-self: flex-start;
width: 300px;
padding-left: 60px;
}
.right-side .title {
color: var(--text-color-secondary);
font-weight: 700;
}
.right-side .tags {
display: flex;
flex-wrap: wrap;
gap: 5px;
}
.right-side .links {
padding: 0;
list-style: none;
}
.right-side .tags,
.right-side .links {
padding: 0;
margin: 12px 0 23px 0;
list-style: none;
}
h1 {
color: var(--text-color-secondary);
font-style: normal;
font-size: 3em;
font-weight: 700;
}
h2 {
color: var(--text-color-secondary);
font-size: 1.7em;
font-style: normal;
font-weight: 700;
letter-spacing: .02em;
line-height: 1.7em;
margin-top: 0;
}
p {
line-height: 1.5;
margin: 1.5em 0;
}
li {
line-height: 1.5;
}
a {
color: var(--text-color-link);
}
a:hover {
color: var(--text-color-link-active);
}
main {
padding: 8rem 1rem 4rem 1rem;
}
main :first-child {
margin-top: 0;
}
table {
margin: 1em 0;
}
table td,
table th {
padding-right: 1em;
}
hr {
margin: 4rem 15vw;
}
p + h2 {
margin-top: .5rem;
}
figure + h2,
pre + h2 {
margin-top: 2rem;
}
img {
max-width: 100%;
}
figure {
text-align: center;
margin: 0;
}
figure img {
box-shadow: 8px 5px 5px rgba(0,0,10,.20);
}
figure figcaption {
margin-top: 6px;
font-size: 0.8125em; /* 13px /16 */
color: rgba(0,0,10,.55);
}
/* Header */
.main-header {
background: var(--background-color);
box-shadow: 0 2px 8px rgba(0,0,0,.25);
width: 100%;
z-index: 1000;
height: 60px;
}
.main-header div {
align-items: center;
display: flex;
margin: auto;
max-width: 1400px;
height: 60px;
}
.main-header-logo {
margin: 0 23px;
text-decoration: none;
}
.main-menu {
display: flex;
flex-grow: 1;
}
/*!* Posts list *!*/
.post-list {
list-style: none;
padding: 0;
}
.post-list li {
margin: 2px;
}
.post-list li p {
margin: 1.5rem 0 2.5rem;
}
.post-list li div {
display: flex;
}
.post-list li div a {
flex-grow: 1;
}
.postlist-item {
margin-bottom: 5rem;
}
.postlist-header h2 {
margin-bottom: 0;
}
.postlist-link {
flex-basis: calc(100% - 1.5rem);
padding-right: .5em;
text-decoration: none;
}
.postlist-footer {
text-align: right;
}
/* Tags */
.post-tag {
display: inline-flex;
align-items: center;
justify-content: center;
color: var(--text-color);
background: var(--text-color-tertiary);
padding: 4px;
font-size: 0.8125em; /* 13px /16 */
border-radius: 5px;
text-decoration: none;
}
/* Tags list */
.post-metadata {
display: flex;
gap: .5em;
list-style: none;
padding: 0;
margin: 0;
}
.post-list time,
.post-metadata time {
margin-right: 1em;
font-size: 0.8125em; /* 13px /16 */
color: rgba(0,0,10,.55);
}
.post-metadata li:first-child {
flex-grow: 1;
}
.post-nav ul {
display: flex;
justify-content: space-around;
list-style: none;
padding: 0;
margin: 2rem 1rem 0 0;
}
/* Direct Links / Markdown Headers */
.direct-link {
font-family: sans-serif;
text-decoration: none;
font-style: normal;
margin-left: .1em;
}
a[href].direct-link {
color: transparent;
}
a[href].direct-link:focus,
:hover > a[href].direct-link {
color: var(--color-gray-50);
}
.main-footer {
align-items: center;
background: var(--color-green-1);
display: flex;
height: 300px;
padding: 0 103px;
}
.main-footer,
.main-footer a {
color: var(--background-color);
}
.footer-contact {
display: flex;
flex: 0 20%;
flex-direction: column;
font-size: 1em;
line-height: 1.5em;
}
.footer-contact p {
margin: 0;
padding: 0;
}
.footer-contact-title {
color: var(--background-color);
font-size: 1.2em;
font-style: normal;
font-weight: 700;
letter-spacing: .04em;
line-height: 1.7em;
text-transform: uppercase;
}
.footer-contact div:last-child {
padding-top: 23px;
}
.footer-links {
display: flex;
padding: 0;
list-style: none;
gap: 12px;
}
.footer-center {
flex: 0 60%;
text-align: center;
}
/*
* New diff- syntax
*/
pre[class*="language-diff-"] {
--eleventy-code-padding: 1.25em;
padding-left: var(--eleventy-code-padding);
padding-right: var(--eleventy-code-padding);
}
.token.deleted {
background-color: hsl(0, 51%, 37%);
color: inherit;
}
.token.inserted {
background-color: hsl(126, 31%, 39%);
color: inherit;
}
/* Make the + and - characters unselectable for copy/paste */
.token.prefix.unchanged,
.token.prefix.inserted,
.token.prefix.deleted {
-webkit-user-select: none;
user-select: none;
display: inline-flex;
align-items: center;
justify-content: center;
padding-top: 2px;
padding-bottom: 2px;
}
.token.prefix.inserted,
.token.prefix.deleted {
width: var(--eleventy-code-padding);
background-color: rgba(0,0,0,.2);
}
/* Optional: full-width background color */
.token.inserted:not(.prefix),
.token.deleted:not(.prefix) {
display: block;
margin-left: calc(-1 * var(--eleventy-code-padding));
margin-right: calc(-1 * var(--eleventy-code-padding));
text-decoration: none; /* override del, ins, mark defaults */
color: inherit; /* override del, ins, mark defaults */
}
@media only screen and (max-width: 1200px) {
main {
max-width: 100%;
flex-direction: column;
padding-top: 1rem;
}
.main-content{
max-width: 100%;
}
.right-side {
width: 100%;
padding-left: 0;
padding-top: 5rem;
}
.main-footer {
flex-direction: column-reverse;
height: auto;
padding: 23px 0;
}
.post-nav ul {
flex-direction: column;
}
.footer-contact {
flex-direction: row;
justify-content: space-between;
padding: 0 23px;
width: 100%;
}
.footer-center {
padding: 0 23px 23px;
}
}

1
src/assets/js/index.js Normal file
View File

@@ -0,0 +1 @@
import '../css/index.scss';

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

1
src/images/favicon.svg Normal file

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 4.9 KiB

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

@@ -0,0 +1 @@
<svg width="165" height="33" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M3 3.346h2.72v26.455H3zM9.262 5.943V3.346h14.942v2.587h-6.078V29.8H15.34V5.943zM31.254 13.222l-1.425-.796c.464-.911.788-1.623.95-2.136.162-.514.28-1.184.356-2h-1.63V3.345h3.358v3.09c0 1.55-.108 2.764-.324 3.644-.227.88-.648 1.927-1.285 3.142zM51.184 11.86l-1.663 1.676c-1.392-1.309-2.742-1.958-4.07-1.958-.842 0-1.565.272-2.17.806s-.907 1.173-.907 1.885c0 .64.248 1.236.745 1.812.497.587 1.533 1.278 3.12 2.074 1.933.974 3.25 1.906 3.94 2.806a5.024 5.024 0 011.026 3.08c0 1.602-.583 2.963-1.749 4.084-1.166 1.11-2.623 1.676-4.361 1.676a7.97 7.97 0 01-3.336-.734 7.226 7.226 0 01-2.624-2.031l1.63-1.802c1.328 1.456 2.732 2.179 4.222 2.179 1.036 0 1.922-.325 2.656-.974.734-.65 1.101-1.414 1.101-2.283 0-.723-.238-1.362-.723-1.927-.486-.555-1.577-1.247-3.272-2.084-1.824-.912-3.055-1.812-3.714-2.702-.658-.89-.982-1.896-.982-3.038 0-1.487.518-2.723 1.565-3.707 1.048-.984 2.365-1.477 3.963-1.477 1.857 0 3.724.88 5.603 2.64z" fill="#004953"/><path d="M80.851 26.948c1.219.058 4.115-1.686 5.513-3.363 1.388-1.67 2.258-5.025 1.67-7.315-.239-.917-3.962-3.33-6.944-3.33-3.63 0-6.305 1.909-7.378 3.24-.392.495-.443 3.925 1.048 6.529 1.678 2.925 5.078 4.19 6.091 4.24z" fill="#57c183"/><path d="M82.964 28.378c-5.93 0-10.76-4.686-10.76-10.438 0-5.752 4.83-10.438 10.76-10.438s10.76 4.686 10.76 10.438c0 5.752-4.821 10.438-10.76 10.438zm0-20.67c-5.819 0-10.547 4.587-10.547 10.232s4.728 10.232 10.547 10.232c5.82 0 10.548-4.587 10.548-10.232S88.783 7.708 82.964 7.708z" fill="#004953"/><path d="M78.543 28.378c-5.93 0-10.761-4.686-10.761-10.438 0-5.752 4.822-10.438 10.76-10.438 5.939 0 10.761 4.686 10.761 10.438 0 5.752-4.83 10.438-10.76 10.438zm0-20.67c-5.82 0-10.548 4.587-10.548 10.232s4.728 10.232 10.548 10.232c5.819 0 10.547-4.587 10.547-10.232S84.362 7.708 78.543 7.708z" fill="#004953"/><path d="M80.766 32.783c-5.93 0-10.76-4.686-10.76-10.438 0-5.752 4.822-10.438 10.76-10.438 5.939 0 10.76 4.686 10.76 10.438 0 5.752-4.83 10.438-10.76 10.438zm0-20.67c-5.819 0-10.547 4.587-10.547 10.232s4.728 10.232 10.547 10.232c5.82 0 10.548-4.587 10.548-10.232 0-5.636-4.729-10.232-10.548-10.232z" fill="#004953"/><path d="M80.843 8.832c.536 0 .971-.422.971-.942s-.435-.942-.971-.942c-.537 0-.971.422-.971.942s.434.942.97.942z" fill="#fff"/><path d="M80.843 9.047c-.656 0-1.184-.512-1.184-1.149 0-.636.536-1.157 1.184-1.157.647 0 1.184.513 1.184 1.15 0 .636-.528 1.156-1.184 1.156zm0-1.892a.749.749 0 00-.758.735c0 .405.34.736.758.736.417 0 .758-.33.758-.736a.743.743 0 00-.758-.735z" fill="#004953"/><path d="M91.28 25.428c.536 0 .971-.422.971-.943 0-.52-.435-.942-.971-.942-.537 0-.972.422-.972.942s.435.943.972.943z" fill="#fff"/><path d="M91.28 25.643c-.656 0-1.185-.521-1.185-1.15 0-.627.537-1.148 1.185-1.148.647 0 1.184.52 1.184 1.149 0 .628-.528 1.149-1.184 1.149zm0-1.893a.749.749 0 00-.759.735c0 .405.341.736.759.736.417 0 .758-.33.758-.736a.743.743 0 00-.758-.735z" fill="#004953"/><path d="M70.355 25.428c.536 0 .971-.422.971-.943 0-.52-.435-.942-.971-.942s-.971.422-.971.942.435.943.971.943z" fill="#fff"/><path d="M70.355 25.643c-.656 0-1.184-.521-1.184-1.15 0-.627.536-1.148 1.184-1.148.647 0 1.184.52 1.184 1.149 0 .628-.537 1.149-1.184 1.149zm0-1.893a.749.749 0 00-.758.735c0 .405.34.736.758.736.417 0 .758-.33.758-.736a.749.749 0 00-.758-.735zM97.293 10.227h2.59v3.508c1.037-1.34 2.193-2.346 3.445-3.016 1.263-.67 2.634-.995 4.114-.995 1.51 0 2.85.367 4.016 1.11a6.766 6.766 0 012.59 3.006c.562 1.257.832 3.215.832 5.886V29.8h-2.591v-9.332c0-2.251-.097-3.76-.291-4.514-.303-1.298-.875-2.272-1.728-2.922-.853-.649-1.965-.984-3.336-.984-1.565 0-2.98.503-4.221 1.508-1.242 1.006-2.063 2.252-2.462 3.739-.248.974-.367 2.744-.367 5.32v7.174h-2.591z" fill="#004953"/><path d="M131.752 9.52h2.303v11.866c0 1.408.027 2.287.091 2.63.11.778.383 1.424.804 1.945.42.521 1.06.957 1.928 1.307.868.35 1.745.53 2.622.53.768 0 1.5-.14 2.193-.413a4.744 4.744 0 001.755-1.152c.476-.49.813-1.081 1.032-1.774.156-.498.238-1.525.238-3.073V9.52h2.303v11.866c0 1.758-.201 3.174-.603 4.256-.402 1.081-1.206 2.023-2.412 2.824-1.206.802-2.669 1.199-4.386 1.199-1.865 0-3.455-.382-4.79-1.137-1.324-.754-2.22-1.758-2.667-3.003-.284-.762-.42-2.147-.42-4.14z" fill="#004953" stroke="#004953" stroke-width=".272"/><path d="M161.978 11.86l-1.673 1.676c-1.393-1.309-2.742-1.958-4.07-1.958-.842 0-1.566.272-2.17.806-.605.534-.896 1.173-.896 1.885 0 .64.248 1.236.745 1.812.496.587 1.533 1.278 3.12 2.074 1.932.974 3.249 1.906 3.94 2.806a5.019 5.019 0 011.026 3.08c0 1.602-.583 2.963-1.749 4.084-1.166 1.11-2.623 1.676-4.362 1.676a7.97 7.97 0 01-3.336-.734 7.116 7.116 0 01-2.623-2.031l1.63-1.802c1.328 1.456 2.731 2.179 4.221 2.179 1.037 0 1.933-.325 2.656-.974.724-.65 1.101-1.414 1.101-2.283 0-.723-.237-1.362-.723-1.927-.486-.555-1.576-1.247-3.271-2.084-1.825-.912-3.056-1.812-3.714-2.702-.659-.89-.983-1.896-.983-3.038 0-1.487.519-2.723 1.566-3.707 1.047-.984 2.364-1.477 3.962-1.477 1.857 0 3.725.88 5.603 2.64z" fill="#004953"/></svg>

After

Width:  |  Height:  |  Size: 4.9 KiB