Compare commits

...

82 commits
v2.0 ... master

Author SHA1 Message Date
9997169114
Merge branch 'master' into testing 2022-01-01 14:56:07 +01:00
f5439a84c0
Fixed link styling for error pages 2022-01-01 14:55:09 +01:00
2d6467d099
Merged master 2022-01-01 14:53:34 +01:00
abe5508236
Added and fixed links in error pages 2022-01-01 14:50:44 +01:00
d764d3373d
Merge branch 'testing-jxl' 2022-01-01 14:08:30 +01:00
2c9f6cb85f
Removed alt text for decorative image 2022-01-01 11:03:48 +01:00
5770fbe7f9
Improved picture alt text 2022-01-01 10:59:41 +01:00
b469fe245c
Added id anchors to cv 2022-01-01 10:37:58 +01:00
02572c1bf2
Updated description 2022-01-01 10:27:11 +01:00
995b00fafa
Updated description 2022-01-01 10:22:57 +01:00
108f7e2968
Added JPEG-xl support, with size alternatives for picture 2022-01-01 10:12:10 +01:00
8755b3bcef
Page j'aime 2021-12-31 19:01:04 +01:00
170f57592f
Update footer to french 2021-12-31 18:31:00 +01:00
81d479e09b
Slight update to error page design 2021-12-30 17:35:04 +01:00
630b9118b9
Updated error pages with new design 2021-12-30 17:31:34 +01:00
b9446d9282
Removed useless css 2021-12-30 13:52:42 +01:00
4b30a6b6c9
Improved logo 2021-12-30 13:45:32 +01:00
b0cd3ff179
Removed logo border 2021-12-30 13:14:42 +01:00
e8ee385333
Fixed logo positioning 2021-12-30 13:13:10 +01:00
aee34ac639
Switched to css variables 2021-12-30 12:25:02 +01:00
8e7bfb96a6
Switched to font variants 2021-12-30 12:11:18 +01:00
608444f59f
Added transitions 2021-12-29 16:38:46 +01:00
04e3f982d4
Fixed whitespace behavior in generate_errors.py 2021-12-29 16:23:51 +01:00
3a3a0f42f2
Fixed whitespace behavior in generate.py 2021-12-29 16:22:02 +01:00
528ef21491
Added picture to frontpage 2021-12-29 15:51:00 +01:00
7169c31fff
Minor reformatting 2021-12-29 15:04:40 +01:00
9f0353d961
Added error pages generator 2021-12-29 14:43:06 +01:00
c279c449df
Added templating system with Python Generator 2021-12-29 12:29:36 +01:00
c6c4883fc9
Added footer 2021-12-29 11:22:11 +01:00
8e2e705a65
Added komoot to main sites 2021-12-29 10:56:31 +01:00
84a8f227bb
Changed description, added error pages 2021-12-28 17:14:01 +01:00
d80ab99c11
Changed storage structure, added license for carbon design system icons 2021-12-28 16:41:00 +01:00
af134c0be1
Added metadata 2021-12-28 16:14:43 +01:00
7b9ef419fa
Switched to cdn for font, changed CV headers for accessibility 2021-12-28 15:43:40 +01:00
ea5e9be12b
Added empty alt tags to icons 2021-12-28 15:32:51 +01:00
69cf37ef97
Fixed big git link 2021-12-28 15:31:18 +01:00
6fcc7bef33
Added icons to nav links 2021-12-28 15:30:40 +01:00
de1c65e39a
Added resume, responsive title 2021-12-28 15:16:35 +01:00
9aa37bd2d9
Reorganize links 2021-12-28 13:52:09 +01:00
70f6e5a225
Added page description 2021-12-28 12:28:07 +01:00
b3da2d324b
Added alt to img 2021-12-28 12:12:42 +01:00
7143159fe9
Updated logo stroke width 2021-12-28 12:10:12 +01:00
7f0ac3bdd5
Updated startpage with logo 2021-12-28 12:08:58 +01:00
8e7e2d6437
Changes to strok-width of logo 2021-12-28 12:02:33 +01:00
13e7995818
Added logo 2021-12-28 11:59:11 +01:00
a2e6e9c1c5
Basic page 2021-12-28 11:08:18 +01:00
9b3954912f
Start from scratch 2021-12-28 09:57:58 +01:00
abd6d61849
Final touches to photos 2021-04-11 18:30:19 +02:00
eb970f1839
Added navigation to photos 2021-04-11 18:24:27 +02:00
ecf5ab65d0
Photos template 2021-04-11 18:20:50 +02:00
4b9ae72f0a
Updated homepage for mobile 2021-04-11 17:51:23 +02:00
289e1ae711
Updated homepage for new looks (no mobile version) 2021-04-11 17:44:10 +02:00
9912f5d07d
Fixed arrows ? 2021-04-10 11:38:46 +02:00
fc15b58698
Fixed arrows ? 2021-04-10 11:36:47 +02:00
64a01ac3c4
Changed background 2021-04-10 11:26:14 +02:00
fe06695333
Added link to CV 2021-04-10 11:06:57 +02:00
3682b96bec
CV finishing touch 2021-04-10 11:03:34 +02:00
7c7963d656
CV Extra 2021-04-10 10:47:35 +02:00
cbd0e25dc5
cv skills 2021-04-10 10:37:19 +02:00
d9671ba442
Fixed preload picture on cv 2021-04-10 10:25:23 +02:00
efdf9ab04f
CV - honors & awards 2021-04-10 10:24:16 +02:00
4c64c45cd4
Added base for resume/cv 2021-04-10 10:10:02 +02:00
95b60f7536
Added public 2021-03-30 11:28:53 +02:00
69c28f3f6b
Added last.fm 2021-01-05 09:30:30 +01:00
06b0094da4
Replaced spaces with tabs 2020-12-30 12:37:20 +01:00
0bc8394d1d
Updated error pages will self-contained css 2020-12-22 16:18:58 +01:00
52594f4036
Experiment on links to make error pages work 2020-12-22 16:07:56 +01:00
1bfeca16bc
Improved link size for touch devices 2020-12-22 11:38:23 +01:00
a34cf196e7
Fixed media query for chrome (incorrect syntax) 2020-12-22 11:30:07 +01:00
b92f236c75
Removed broken manifest.json 2020-12-22 11:29:01 +01:00
a0d258a79f
Fixed preload of fonts 2020-12-22 11:11:32 +01:00
165eb4da86
Force use of external fonts 2020-12-22 11:11:15 +01:00
a9a5ea9602
Improved SEO: meta description, meta robots, replaced second h1 with h2 2020-12-22 10:34:12 +01:00
3c34077d88
Downsized background picture 2020-12-22 10:11:00 +01:00
442e507e65
Preload background picture 2020-12-22 10:08:03 +01:00
de6e8fa18e
Fixed font preloading 2020-12-22 10:01:47 +01:00
86ba4ae403
Improved fonts loading speed with preload 2020-12-22 09:49:42 +01:00
653d9d8887
Cleaned up unused fonts and added missing woff fonts 2020-12-22 09:49:24 +01:00
fceb9d2ae0
Switched font-display to swap for IBM Plex Serif 2020-12-22 09:25:51 +01:00
7d5034b11a
Converted background picture to webp for improved load times 2020-12-22 09:22:14 +01:00
c62f080665
Added support for small landscape screens 2020-12-22 08:56:46 +01:00
7f24ed8362
Updated README 2020-12-21 10:18:24 +01:00
126 changed files with 1219 additions and 3636 deletions

2
.gitignore vendored Normal file
View file

@ -0,0 +1,2 @@
dist
dist_error

View file

@ -1,3 +1,6 @@
# Web # Web
This is the main webpage at <https://edgarpierre.fr>. This is the main webpage at <https://edgarpierre.fr>.
The goal is for the website to be fully self-contained and to be accessible behind an nginx server.
The use of javascript and server-side processing should be limited to a minimum.

View file

@ -1,36 +0,0 @@
html {
text-align: center;
}
h1,h2 {
display: inline-block;
padding: 0 .2em;
}
h1 {
color: #d50000;
}
h2 {
text-align: left;
font-weight: 400;
}
figure {
display: block;
border-top: 5px #dedede solid;
text-align: left;
}
blockquote::after, blockquote::before {
font-weight: 800;
color: #dedede;
}
blockquote::before {
content: "«";
}
blockquote::after {
content: "»";
}
figcaption {
text-align: right;
}

View file

@ -1,90 +0,0 @@
.left, .right {
position: absolute;
left: 0;
right: 0;
}
.left {
text-align: center;
top: 0;
bottom: 60%;
box-shadow: 0 0 2em black;
z-index: 100;
}
.right {
top: 40%;
bottom: 0;
background: url("../images/pic1.jpg");
background-size: cover;
background-position: center;
z-index: 1;
}
.left h1 {
font-family: 'IBM Plex Serif', serif;
position: absolute;
font-size: 3rem;
height: 1em;
line-height: 1em;
margin: 0;
width: 100%;
}
.left h1:first-of-type {
top: calc( 50% - 1em );
font-weight: 800;
}
.left h1:last-of-type {
bottom: calc( 50% - 1em );
font-weight: 300;
}
footer {
position: absolute;
bottom: 0;
width: 100%;
background: #000000de;
color: #ffffffde;
text-align: center;
}
footer ul {
list-style: none;
padding: 1em;
}
footer li span {
font-weight: 800;
margin-right: 1em;
}
footer a {
color: #dededede;
text-decoration: none;
transition: color 50ms;
}
footer a:hover {
color: #ffffffde;
}
footer a:active {
color: #ffffffde;
}
@media screen and (min-width: 1024px) {
.left, .right {
top: 0;
bottom: 0;
}
.right {
right: 0;
left: 40%
}
.left {
right: 60%;
}
.left h1 {
font-size: 4rem;
text-align: right;
padding-right: 1em;
}
}

View file

@ -1,17 +0,0 @@
html {
box-sizing: border-box;
}
*, *::before, *::after {
box-sizing: inherit;
}
body {
position: absolute;
top: 0;
left: 0;
height: 100%;
width: 100%;
margin: 0;
color: #000000de;
font-family: Inter, sans-serif;
}

View file

@ -1,42 +0,0 @@
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width,initial-scale=1.0" />
<title>401 - Unauthorized</title>
<link rel="stylesheet" type="text/css" href="https://edgarpierre.fr/fonts/inter/inter48.css" />
<link rel="stylesheet" type="text/css" href="https://edgarpierre.fr/css/main.css" />
<link rel="stylesheet" type="text/css" href="https://edgarpierre.fr/css/error.css" />
<link rel="apple-touch-icon" sizes="57x57" href="https://edgarpierre.fr/icons/apple-icon-57x57.png">
<link rel="apple-touch-icon" sizes="60x60" href="https://edgarpierre.fr/icons/apple-icon-60x60.png">
<link rel="apple-touch-icon" sizes="72x72" href="https://edgarpierre.fr/icons/apple-icon-72x72.png">
<link rel="apple-touch-icon" sizes="76x76" href="https://edgarpierre.fr/icons/apple-icon-76x76.png">
<link rel="apple-touch-icon" sizes="114x114" href="https://edgarpierre.fr/icons/apple-icon-114x114.png">
<link rel="apple-touch-icon" sizes="120x120" href="https://edgarpierre.fr/icons/apple-icon-120x120.png">
<link rel="apple-touch-icon" sizes="144x144" href="https://edgarpierre.fr/icons/apple-icon-144x144.png">
<link rel="apple-touch-icon" sizes="152x152" href="https://edgarpierre.fr/icons/apple-icon-152x152.png">
<link rel="apple-touch-icon" sizes="180x180" href="https://edgarpierre.fr/icons/apple-icon-180x180.png">
<link rel="icon" type="image/png" sizes="192x192" href="https://edgarpierre.fr/icons/android-icon-192x192.png">
<link rel="icon" type="image/png" sizes="32x32" href="https://edgarpierre.fr/icons/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="96x96" href="https://edgarpierre.fr/icons/favicon-96x96.png">
<link rel="icon" type="image/png" sizes="16x16" href="https://edgarpierre.fr/icons/favicon-16x16.png">
<link rel="manifest" href="https://edgarpierre.fr/icons/manifest.json">
<meta name="msapplication-TileColor" content="#ffffff">
<meta name="msapplication-TileImage" content="https://edgarpierre.fr/icons/ms-icon-144x144.png">
<meta name="theme-color" content="#ffffff">
</head>
<body>
<h1>401</h1>
<h2>Non Autorisé</h2>
<figure>
<blockquote cite="https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html">
The request requires user authentication.
</blockquote>
<figcaption><cite>HTTP/1.1 Status Code Definitions</cite></figcaption>
</figure>
</body>
</html>

View file

@ -1,42 +0,0 @@
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width,initial-scale=1.0" />
<title>403 - Forbidden</title>
<link rel="stylesheet" type="text/css" href="https://edgarpierre.fr/fonts/inter/inter48.css" />
<link rel="stylesheet" type="text/css" href="https://edgarpierre.fr/css/main.css" />
<link rel="stylesheet" type="text/css" href="https://edgarpierre.fr/css/error.css" />
<link rel="apple-touch-icon" sizes="57x57" href="https://edgarpierre.fr/icons/apple-icon-57x57.png">
<link rel="apple-touch-icon" sizes="60x60" href="https://edgarpierre.fr/icons/apple-icon-60x60.png">
<link rel="apple-touch-icon" sizes="72x72" href="https://edgarpierre.fr/icons/apple-icon-72x72.png">
<link rel="apple-touch-icon" sizes="76x76" href="https://edgarpierre.fr/icons/apple-icon-76x76.png">
<link rel="apple-touch-icon" sizes="114x114" href="https://edgarpierre.fr/icons/apple-icon-114x114.png">
<link rel="apple-touch-icon" sizes="120x120" href="https://edgarpierre.fr/icons/apple-icon-120x120.png">
<link rel="apple-touch-icon" sizes="144x144" href="https://edgarpierre.fr/icons/apple-icon-144x144.png">
<link rel="apple-touch-icon" sizes="152x152" href="https://edgarpierre.fr/icons/apple-icon-152x152.png">
<link rel="apple-touch-icon" sizes="180x180" href="https://edgarpierre.fr/icons/apple-icon-180x180.png">
<link rel="icon" type="image/png" sizes="192x192" href="https://edgarpierre.fr/icons/android-icon-192x192.png">
<link rel="icon" type="image/png" sizes="32x32" href="https://edgarpierre.fr/icons/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="96x96" href="https://edgarpierre.fr/icons/favicon-96x96.png">
<link rel="icon" type="image/png" sizes="16x16" href="https://edgarpierre.fr/icons/favicon-16x16.png">
<link rel="manifest" href="https://edgarpierre.fr/icons/manifest.json">
<meta name="msapplication-TileColor" content="#ffffff">
<meta name="msapplication-TileImage" content="https://edgarpierre.fr/icons/ms-icon-144x144.png">
<meta name="theme-color" content="#ffffff">
</head>
<body>
<h1>403</h1>
<h2>Interdit</h2>
<figure>
<blockquote cite="https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html">
The server understood the request, but is refusing to fulfill it. Authorization will not help and the request SHOULD NOT be repeated.
</blockquote>
<figcaption><cite>HTTP/1.1 Status Code Definitions</cite></figcaption>
</figure>
</body>
</html>

View file

@ -1,42 +0,0 @@
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width,initial-scale=1.0" />
<title>404 - Not Found</title>
<link rel="stylesheet" type="text/css" href="https://edgarpierre.fr/fonts/inter/inter48.css" />
<link rel="stylesheet" type="text/css" href="https://edgarpierre.fr/css/main.css" />
<link rel="stylesheet" type="text/css" href="https://edgarpierre.fr/css/error.css" />
<link rel="apple-touch-icon" sizes="57x57" href="https://edgarpierre.fr/icons/apple-icon-57x57.png">
<link rel="apple-touch-icon" sizes="60x60" href="https://edgarpierre.fr/icons/apple-icon-60x60.png">
<link rel="apple-touch-icon" sizes="72x72" href="https://edgarpierre.fr/icons/apple-icon-72x72.png">
<link rel="apple-touch-icon" sizes="76x76" href="https://edgarpierre.fr/icons/apple-icon-76x76.png">
<link rel="apple-touch-icon" sizes="114x114" href="https://edgarpierre.fr/icons/apple-icon-114x114.png">
<link rel="apple-touch-icon" sizes="120x120" href="https://edgarpierre.fr/icons/apple-icon-120x120.png">
<link rel="apple-touch-icon" sizes="144x144" href="https://edgarpierre.fr/icons/apple-icon-144x144.png">
<link rel="apple-touch-icon" sizes="152x152" href="https://edgarpierre.fr/icons/apple-icon-152x152.png">
<link rel="apple-touch-icon" sizes="180x180" href="https://edgarpierre.fr/icons/apple-icon-180x180.png">
<link rel="icon" type="image/png" sizes="192x192" href="https://edgarpierre.fr/icons/android-icon-192x192.png">
<link rel="icon" type="image/png" sizes="32x32" href="https://edgarpierre.fr/icons/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="96x96" href="https://edgarpierre.fr/icons/favicon-96x96.png">
<link rel="icon" type="image/png" sizes="16x16" href="https://edgarpierre.fr/icons/favicon-16x16.png">
<link rel="manifest" href="https://edgarpierre.fr/icons/manifest.json">
<meta name="msapplication-TileColor" content="#ffffff">
<meta name="msapplication-TileImage" content="https://edgarpierre.fr/icons/ms-icon-144x144.png">
<meta name="theme-color" content="#ffffff">
</head>
<body>
<h1>404</h1>
<h2>Introuvable</h2>
<figure>
<blockquote cite="https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html">
The server has not found anything matching the Request-URI.
</blockquote>
<figcaption><cite>HTTP/1.1 Status Code Definitions</cite></figcaption>
</figure>
</body>
</html>

View file

@ -1,42 +0,0 @@
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width,initial-scale=1.0" />
<title>500 - Internal Server Error</title>
<link rel="stylesheet" type="text/css" href="https://edgarpierre.fr/fonts/inter/inter48.css" />
<link rel="stylesheet" type="text/css" href="https://edgarpierre.fr/css/main.css" />
<link rel="stylesheet" type="text/css" href="https://edgarpierre.fr/css/error.css" />
<link rel="apple-touch-icon" sizes="57x57" href="https://edgarpierre.fr/icons/apple-icon-57x57.png">
<link rel="apple-touch-icon" sizes="60x60" href="https://edgarpierre.fr/icons/apple-icon-60x60.png">
<link rel="apple-touch-icon" sizes="72x72" href="https://edgarpierre.fr/icons/apple-icon-72x72.png">
<link rel="apple-touch-icon" sizes="76x76" href="https://edgarpierre.fr/icons/apple-icon-76x76.png">
<link rel="apple-touch-icon" sizes="114x114" href="https://edgarpierre.fr/icons/apple-icon-114x114.png">
<link rel="apple-touch-icon" sizes="120x120" href="https://edgarpierre.fr/icons/apple-icon-120x120.png">
<link rel="apple-touch-icon" sizes="144x144" href="https://edgarpierre.fr/icons/apple-icon-144x144.png">
<link rel="apple-touch-icon" sizes="152x152" href="https://edgarpierre.fr/icons/apple-icon-152x152.png">
<link rel="apple-touch-icon" sizes="180x180" href="https://edgarpierre.fr/icons/apple-icon-180x180.png">
<link rel="icon" type="image/png" sizes="192x192" href="https://edgarpierre.fr/icons/android-icon-192x192.png">
<link rel="icon" type="image/png" sizes="32x32" href="https://edgarpierre.fr/icons/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="96x96" href="https://edgarpierre.fr/icons/favicon-96x96.png">
<link rel="icon" type="image/png" sizes="16x16" href="https://edgarpierre.fr/icons/favicon-16x16.png">
<link rel="manifest" href="https://edgarpierre.fr/icons/manifest.json">
<meta name="msapplication-TileColor" content="#ffffff">
<meta name="msapplication-TileImage" content="https://edgarpierre.fr/icons/ms-icon-144x144.png">
<meta name="theme-color" content="#ffffff">
</head>
<body>
<h1>500</h1>
<h2>Erreur Serveur Interne</h2>
<figure>
<blockquote cite="https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html">
The server encountered an unexpected condition which prevented it from fulfilling the request.
</blockquote>
<figcaption><cite>HTTP/1.1 Status Code Definitions</cite></figcaption>
</figure>
</body>
</html>

View file

@ -1,42 +0,0 @@
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width,initial-scale=1.0" />
<title>502 - Bad Gateway</title>
<link rel="stylesheet" type="text/css" href="https://edgarpierre.fr/fonts/inter/inter48.css" />
<link rel="stylesheet" type="text/css" href="https://edgarpierre.fr/css/main.css" />
<link rel="stylesheet" type="text/css" href="https://edgarpierre.fr/css/error.css" />
<link rel="apple-touch-icon" sizes="57x57" href="https://edgarpierre.fr/icons/apple-icon-57x57.png">
<link rel="apple-touch-icon" sizes="60x60" href="https://edgarpierre.fr/icons/apple-icon-60x60.png">
<link rel="apple-touch-icon" sizes="72x72" href="https://edgarpierre.fr/icons/apple-icon-72x72.png">
<link rel="apple-touch-icon" sizes="76x76" href="https://edgarpierre.fr/icons/apple-icon-76x76.png">
<link rel="apple-touch-icon" sizes="114x114" href="https://edgarpierre.fr/icons/apple-icon-114x114.png">
<link rel="apple-touch-icon" sizes="120x120" href="https://edgarpierre.fr/icons/apple-icon-120x120.png">
<link rel="apple-touch-icon" sizes="144x144" href="https://edgarpierre.fr/icons/apple-icon-144x144.png">
<link rel="apple-touch-icon" sizes="152x152" href="https://edgarpierre.fr/icons/apple-icon-152x152.png">
<link rel="apple-touch-icon" sizes="180x180" href="https://edgarpierre.fr/icons/apple-icon-180x180.png">
<link rel="icon" type="image/png" sizes="192x192" href="https://edgarpierre.fr/icons/android-icon-192x192.png">
<link rel="icon" type="image/png" sizes="32x32" href="https://edgarpierre.fr/icons/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="96x96" href="https://edgarpierre.fr/icons/favicon-96x96.png">
<link rel="icon" type="image/png" sizes="16x16" href="https://edgarpierre.fr/icons/favicon-16x16.png">
<link rel="manifest" href="https://edgarpierre.fr/icons/manifest.json">
<meta name="msapplication-TileColor" content="#ffffff">
<meta name="msapplication-TileImage" content="https://edgarpierre.fr/icons/ms-icon-144x144.png">
<meta name="theme-color" content="#ffffff">
</head>
<body>
<h1>502</h1>
<h2>Passerelle Défectueuse</h2>
<figure>
<blockquote cite="https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html">
The server, while acting as a gateway or proxy, received an invalid response from the upstream server it accessed in attempting to fulfill the request.
</blockquote>
<figcaption><cite>HTTP/1.1 Status Code Definitions</cite></figcaption>
</figure>
</body>
</html>

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View file

@ -1,200 +0,0 @@
@font-face {
font-family: 'Inter';
font-style: normal;
font-weight: 100;
font-display: swap;
src: url("Inter-Thin.woff2?v=3.15") format("woff2"),
url("Inter-Thin.woff?v=3.15") format("woff");
}
@font-face {
font-family: 'Inter';
font-style: italic;
font-weight: 100;
font-display: swap;
src: url("Inter-ThinItalic.woff2?v=3.15") format("woff2"),
url("Inter-ThinItalic.woff?v=3.15") format("woff");
}
@font-face {
font-family: 'Inter';
font-style: normal;
font-weight: 200;
font-display: swap;
src: url("Inter-ExtraLight.woff2?v=3.15") format("woff2"),
url("Inter-ExtraLight.woff?v=3.15") format("woff");
}
@font-face {
font-family: 'Inter';
font-style: italic;
font-weight: 200;
font-display: swap;
src: url("Inter-ExtraLightItalic.woff2?v=3.15") format("woff2"),
url("Inter-ExtraLightItalic.woff?v=3.15") format("woff");
}
@font-face {
font-family: 'Inter';
font-style: normal;
font-weight: 300;
font-display: swap;
src: url("Inter-Light.woff2?v=3.15") format("woff2"),
url("Inter-Light.woff?v=3.15") format("woff");
}
@font-face {
font-family: 'Inter';
font-style: italic;
font-weight: 300;
font-display: swap;
src: url("Inter-LightItalic.woff2?v=3.15") format("woff2"),
url("Inter-LightItalic.woff?v=3.15") format("woff");
}
@font-face {
font-family: 'Inter';
font-style: normal;
font-weight: 400;
font-display: swap;
src: url("Inter-Regular.woff2?v=3.15") format("woff2"),
url("Inter-Regular.woff?v=3.15") format("woff");
}
@font-face {
font-family: 'Inter';
font-style: italic;
font-weight: 400;
font-display: swap;
src: url("Inter-Italic.woff2?v=3.15") format("woff2"),
url("Inter-Italic.woff?v=3.15") format("woff");
}
@font-face {
font-family: 'Inter';
font-style: normal;
font-weight: 500;
font-display: swap;
src: url("Inter-Medium.woff2?v=3.15") format("woff2"),
url("Inter-Medium.woff?v=3.15") format("woff");
}
@font-face {
font-family: 'Inter';
font-style: italic;
font-weight: 500;
font-display: swap;
src: url("Inter-MediumItalic.woff2?v=3.15") format("woff2"),
url("Inter-MediumItalic.woff?v=3.15") format("woff");
}
@font-face {
font-family: 'Inter';
font-style: normal;
font-weight: 600;
font-display: swap;
src: url("Inter-SemiBold.woff2?v=3.15") format("woff2"),
url("Inter-SemiBold.woff?v=3.15") format("woff");
}
@font-face {
font-family: 'Inter';
font-style: italic;
font-weight: 600;
font-display: swap;
src: url("Inter-SemiBoldItalic.woff2?v=3.15") format("woff2"),
url("Inter-SemiBoldItalic.woff?v=3.15") format("woff");
}
@font-face {
font-family: 'Inter';
font-style: normal;
font-weight: 700;
font-display: swap;
src: url("Inter-Bold.woff2?v=3.15") format("woff2"),
url("Inter-Bold.woff?v=3.15") format("woff");
}
@font-face {
font-family: 'Inter';
font-style: italic;
font-weight: 700;
font-display: swap;
src: url("Inter-BoldItalic.woff2?v=3.15") format("woff2"),
url("Inter-BoldItalic.woff?v=3.15") format("woff");
}
@font-face {
font-family: 'Inter';
font-style: normal;
font-weight: 800;
font-display: swap;
src: url("Inter-ExtraBold.woff2?v=3.15") format("woff2"),
url("Inter-ExtraBold.woff?v=3.15") format("woff");
}
@font-face {
font-family: 'Inter';
font-style: italic;
font-weight: 800;
font-display: swap;
src: url("Inter-ExtraBoldItalic.woff2?v=3.15") format("woff2"),
url("Inter-ExtraBoldItalic.woff?v=3.15") format("woff");
}
@font-face {
font-family: 'Inter';
font-style: normal;
font-weight: 900;
font-display: swap;
src: url("Inter-Black.woff2?v=3.15") format("woff2"),
url("Inter-Black.woff?v=3.15") format("woff");
}
@font-face {
font-family: 'Inter';
font-style: italic;
font-weight: 900;
font-display: swap;
src: url("Inter-BlackItalic.woff2?v=3.15") format("woff2"),
url("Inter-BlackItalic.woff?v=3.15") format("woff");
}
/* -------------------------------------------------------
Variable font.
Usage:
html { font-family: 'Inter', sans-serif; }
@supports (font-variation-settings: normal) {
html { font-family: 'Inter var', sans-serif; }
}
*/
@font-face {
font-family: 'Inter var';
font-weight: 100 900;
font-display: swap;
font-style: normal;
font-named-instance: 'Regular';
src: url("Inter-roman.var.woff2?v=3.15") format("woff2");
}
@font-face {
font-family: 'Inter var';
font-weight: 100 900;
font-display: swap;
font-style: italic;
font-named-instance: 'Italic';
src: url("Inter-italic.var.woff2?v=3.15") format("woff2");
}
/* --------------------------------------------------------------------------
[EXPERIMENTAL] Multi-axis, single variable font.
Slant axis is not yet widely supported (as of February 2019) and thus this
multi-axis single variable font is opt-in rather than the default.
When using this, you will probably need to set font-variation-settings
explicitly, e.g.
* { font-variation-settings: "slnt" 0deg }
.italic { font-variation-settings: "slnt" 10deg }
*/
@font-face {
font-family: 'Inter var experimental';
font-weight: 100 900;
font-display: swap;
font-style: oblique 0deg 10deg;
src: url("Inter.var.woff2?v=3.15") format("woff2");
}

View file

@ -1,18 +0,0 @@
@font-face {
font-family: 'Inter';
font-style: normal;
font-weight: 400;
font-display: swap;
src: local("Inter Regular"),
url("Inter-Regular.woff2?v=3.15") format("woff2"),
url("Inter-Regular.woff?v=3.15") format("woff");
}
@font-face {
font-family: 'Inter';
font-style: normal;
font-weight: 800;
font-display: swap;
src: local("Inter Extra Bold"),
url("Inter-ExtraBold.woff2?v=3.15") format("woff2"),
url("Inter-ExtraBold.woff?v=3.15") format("woff");
}

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load diff

View file

@ -1,92 +0,0 @@
Copyright © 2017 IBM Corp. with Reserved Font Name "Plex"
This Font Software is licensed under the SIL Open Font License, Version 1.1.
This license is copied below, and is also available with a FAQ at:
http://scripts.sil.org/OFL
-----------------------------------------------------------
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
-----------------------------------------------------------
PREAMBLE
The goals of the Open Font License (OFL) are to stimulate worldwide
development of collaborative font projects, to support the font creation
efforts of academic and linguistic communities, and to provide a free and
open framework in which fonts may be shared and improved in partnership
with others.
The OFL allows the licensed fonts to be used, studied, modified and
redistributed freely as long as they are not sold by themselves. The
fonts, including any derivative works, can be bundled, embedded,
redistributed and/or sold with any software provided that any reserved
names are not used by derivative works. The fonts and derivatives,
however, cannot be released under any other type of license. The
requirement for fonts to remain under this license does not apply
to any document created using the fonts or their derivatives.
DEFINITIONS
"Font Software" refers to the set of files released by the Copyright
Holder(s) under this license and clearly marked as such. This may
include source files, build scripts and documentation.
"Reserved Font Name" refers to any names specified as such after the
copyright statement(s).
"Original Version" refers to the collection of Font Software components as
distributed by the Copyright Holder(s).
"Modified Version" refers to any derivative made by adding to, deleting,
or substituting -- in part or in whole -- any of the components of the
Original Version, by changing formats or by porting the Font Software to a
new environment.
"Author" refers to any designer, engineer, programmer, technical
writer or other person who contributed to the Font Software.
PERMISSION & CONDITIONS
Permission is hereby granted, free of charge, to any person obtaining
a copy of the Font Software, to use, study, copy, merge, embed, modify,
redistribute, and sell modified and unmodified copies of the Font
Software, subject to the following conditions:
1) Neither the Font Software nor any of its individual components,
in Original or Modified Versions, may be sold by itself.
2) Original or Modified Versions of the Font Software may be bundled,
redistributed and/or sold with any software, provided that each copy
contains the above copyright notice and this license. These can be
included either as stand-alone text files, human-readable headers or
in the appropriate machine-readable metadata fields within text or
binary files as long as those fields can be easily viewed by the user.
3) No Modified Version of the Font Software may use the Reserved Font
Name(s) unless explicit written permission is granted by the corresponding
Copyright Holder. This restriction only applies to the primary font name as
presented to the users.
4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
Software shall not be used to promote, endorse or advertise any
Modified Version, except to acknowledge the contribution(s) of the
Copyright Holder(s) and the Author(s) or with their explicit written
permission.
5) The Font Software, modified or unmodified, in part or in whole,
must be distributed entirely under this license, and must not be
distributed under any other license. The requirement for fonts to
remain under this license does not apply to any document created
using the Font Software.
TERMINATION
This license becomes null and void if any of the above conditions are
not met.
DISCLAIMER
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
OTHER DEALINGS IN THE FONT SOFTWARE.

View file

@ -1,18 +0,0 @@
@font-face {
font-family: 'IBM Plex Serif';
font-style: normal;
font-weight: 700;
src: local("IBM Plex Serif Bold"),
local("IBMPlexSerif-Bold"),
url("IBMPlexSerif-Bold.woff2") format("woff2"),
url("IBMPlexSerif-Bold.woff") format("woff");
}
@font-face {
font-family: 'IBM Plex Serif';
font-style: normal;
font-weight: 300;
src: local("IBM Plex Serif Light"),
local("IBMPlexSerif-Light"),
url("IBMPlexSerif-Light.woff2") format("woff2"),
url("IBMPlexSerif-Light.woff") format("woff");
}

49
generate.py Normal file
View file

@ -0,0 +1,49 @@
from pprint import pp
from pathlib import Path
import re
src = Path('src')
views = src.joinpath('views')
template = views.joinpath('template')
module = views.joinpath('module')
static = Path('src', 'static')
dist = Path('dist')
dist.mkdir(exist_ok=True)
for x in dist.rglob('*'):
if x.is_file() or x.is_symlink(): x.unlink()
for x in dist.rglob('*/'): x.rmdir()
def read(file_path):
with file_path.open() as html_file:
return (file_path.stem, html_file.read())
templates = dict(map(read, template.glob('*.html')))
modules = dict(map(read, module.glob('*.html')))
def format(item, modules):
name, content = item
content = content.format(**modules)
content = re.sub(r'\s+', ' ', content)
content = re.sub(r'>\s<', '><', content)
return (name, content)
dist_html = dict(map(lambda item: format(item, modules), templates.items()))
def mk_dist(dist, item):
key, content = item
path = dist
if key != 'index':
path = dist.joinpath(key)
path.mkdir(exist_ok=True)
with path.joinpath('index.html').open('w') as index:
index.write(content)
for item in dist_html.items():
mk_dist(dist, item)
dist.joinpath('static')\
.symlink_to(static.resolve(strict=True), target_is_directory=True)

56
generate_errors.py Normal file
View file

@ -0,0 +1,56 @@
from pprint import pp
from pathlib import Path
from urllib import request
import re
urlroot = 'https://www.w3.org/Protocols/rfc2616'
src = Path('src')
root = src.joinpath('error')
with root.joinpath('root.html').open('r') as root_file:
root_html = root_file.read()
with root.joinpath('root.css').open('r') as root_file:
root_css = root_file.read()
error = Path('dist_error')
error.mkdir(exist_ok=True)
for x in error.rglob('*'):
if x.is_file() or x.is_symlink(): x.unlink()
req = request.Request(
f'{urlroot}/rfc2616-sec10.html',
method='GET')
with request.urlopen(req) as res:
raw = res.read().decode('utf-8')
codes = (re.finditer(r"(?s)<h3><a id='(sec10\.[0-9]\.[0-9]+)'>"
r'10\.[0-9]\.[0-9]+</a>'
r'\s*([0-9]+)\s([a-zA-Z\s]+)</h3>\s*<p>(.*?)</p>', raw))
nginx_head = ''
nginx_body = ''
for item in codes:
sec, code, title, desc = item.groups()
if int(code) < 400 or int(code) >= 600: continue
desc = re.sub(r"(<a.*?href=')(.*)('>)",
lambda x:f'{x[1]}{urlroot}/{x[2]}{x[3]}', desc)
with error.joinpath(f'{code}.html').open('w') as html:
content = root_html.format(
code=code, title=title, desc=desc, style=root_css, sec=sec)
content = re.sub(r'\s+', ' ', content)
content = re.sub(r'>\s<', '><', content)
html.write(content)
nginx_head += f'error_page {code} @error{code};\n'
nginx_body += f'location @error{code} {{\n'\
f'root {error.resolve()};\n'\
f'try_files /{code}.html /{code}.html;\n'\
'internal;}\n'
with error.joinpath(f'nginx.conf').open('w') as nginx_file:
nginx_file.write(f'{nginx_head}\n{nginx_body}\n\n'\
'proxy_intercept_errors on;')

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.7 KiB

View file

@ -1,2 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<browserconfig><msapplication><tile><square70x70logo src="/ms-icon-70x70.png"/><square150x150logo src="/ms-icon-150x150.png"/><square310x310logo src="/ms-icon-310x310.png"/><TileColor>#ffffff</TileColor></tile></msapplication></browserconfig>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 809 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

View file

@ -1,41 +0,0 @@
{
"name": "App",
"icons": [
{
"src": "\/android-icon-36x36.png",
"sizes": "36x36",
"type": "image\/png",
"density": "0.75"
},
{
"src": "\/android-icon-48x48.png",
"sizes": "48x48",
"type": "image\/png",
"density": "1.0"
},
{
"src": "\/android-icon-72x72.png",
"sizes": "72x72",
"type": "image\/png",
"density": "1.5"
},
{
"src": "\/android-icon-96x96.png",
"sizes": "96x96",
"type": "image\/png",
"density": "2.0"
},
{
"src": "\/android-icon-144x144.png",
"sizes": "144x144",
"type": "image\/png",
"density": "3.0"
},
{
"src": "\/android-icon-192x192.png",
"sizes": "192x192",
"type": "image\/png",
"density": "4.0"
}
]
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.9 MiB

View file

@ -1,49 +0,0 @@
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width,initial-scale=1.0" />
<title>Edgar P. Burkhart</title>
<link rel="stylesheet" type="text/css" href="fonts/inter/inter48.css" />
<link rel="stylesheet" type="text/css" href="fonts/plex/plex37.css" />
<link rel="stylesheet" type="text/css" href="css/main.css" />
<link rel="stylesheet" type="text/css" href="css/index.css" />
<link rel="apple-touch-icon" sizes="57x57" href="icons/apple-icon-57x57.png">
<link rel="apple-touch-icon" sizes="60x60" href="icons/apple-icon-60x60.png">
<link rel="apple-touch-icon" sizes="72x72" href="icons/apple-icon-72x72.png">
<link rel="apple-touch-icon" sizes="76x76" href="icons/apple-icon-76x76.png">
<link rel="apple-touch-icon" sizes="114x114" href="icons/apple-icon-114x114.png">
<link rel="apple-touch-icon" sizes="120x120" href="icons/apple-icon-120x120.png">
<link rel="apple-touch-icon" sizes="144x144" href="icons/apple-icon-144x144.png">
<link rel="apple-touch-icon" sizes="152x152" href="icons/apple-icon-152x152.png">
<link rel="apple-touch-icon" sizes="180x180" href="icons/apple-icon-180x180.png">
<link rel="icon" type="image/png" sizes="192x192" href="icons/android-icon-192x192.png">
<link rel="icon" type="image/png" sizes="32x32" href="icons/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="96x96" href="icons/favicon-96x96.png">
<link rel="icon" type="image/png" sizes="16x16" href="icons/favicon-16x16.png">
<link rel="manifest" href="icons/manifest.json">
<meta name="msapplication-TileColor" content="#ffffff">
<meta name="msapplication-TileImage" content="icons/ms-icon-144x144.png">
<meta name="theme-color" content="#ffffff">
</head>
<body>
<div class="left">
<h1>Edgar P.</h1>
<h1>Burkhart</h1>
</div>
<div class="right">
<footer>
<ul>
<li><span>email</span><a href="mailto:contact@edgarpierre.fr">contact@edgarpierre.fr</a></li>
<li><span>komoot</span><a href="https://www.komoot.fr/user/383887346799">edpibu</a></li>
<li><span>git</span><a href="https://git.edgarpierre.fr/edpibu">git.edgarpierre.fr/edpibu</a></li>
<li><span>github</span><a href="https://github.com/edpiburkhart">edpiburkhart</a></li>
</ul>
</footer>
</div>
</body>
</html>

74
src/error/root.css Normal file
View file

@ -0,0 +1,74 @@
@import url('https://rsms.me/inter/inter.css');
:root {
/* Warm Gray */
--gray-100: #171414;
--gray-30: #cac5c4;
--gray-10: #f7f3f2;
--red-40: #ff8389;
--blue-40: #78a9ff;
}
body {
background: var(--gray-100);
color: var(--gray-10);
font-family: Inter var, Inter, sans-serif;
font-size: 1rem;
line-height: 1.375rem;
font-weight: 400;
margin: 24px;
font-feature-settings: 'ss01', 'ss03';
max-width: 1024px;
}
h1,h2,h3,h4,h5,h6 {
margin: 0;
color: var(--red-40);
margin: 24px;
font-feature-settings: 'ss01', 'ss02', 'ss03', 'cv11';
}
h1 {
font-size: 3.375rem;
line-height: 4rem;
font-weight: 300;
}
h2 {
font-size: 2.625rem;
line-height: 3.125rem;
font-weight: 300;
}
blockquote {
text-align: justify;
font-size: 1rem;
line-height: 1.5rem;
position: relative;
border-left: 5px solid var(--gray-30);
padding-left: 12px;
margin-left: 24px;
margin-right: 0;
}
cite {
font-style: inherit;
font-size: .875rem;
line-height: 1.125rem;
letter-spacing: .16px;
}
a {
text-decoration: none;
color: var(--blue-40);
}
a:hover {
text-decoration: underline;
filter: brightness(1.2);
}
a:active {
filter: brightness(1.4);
}
a:focus {
text-decoration: none;
filter: none;
color: var(--gray-100);
background: white;
}

40
src/error/root.html Normal file
View file

@ -0,0 +1,40 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width,initial-scale=1.0" />
<meta name="author" content="edpibu" />
<meta name="theme-color" content="#ff8389" />
<meta name="color-scheme" content="dark" />
<link rel="icon" type="image/svg+xml"
href="https://edgarpierre.fr/static/svg/logo.svg" />
<link rel="mask-icon"
href="https://edgarpierre.fr/static/svg/logo.svg" />
<title>{code} - {title}</title>
<style>
{style}
</style>
</head>
<body>
<h1>{code}</h1>
<h2>{title}</h2>
<figure>
<blockquote cite="https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html">
{desc}
</blockquote>
<figcaption><cite>
<a
href="https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#{sec}"
>HTTP/1.1 Status Code Definitions</a>
</cite></figcaption>
</figure>
<footer>
Design by edpibu,
inspired by <a href="https://www.carbondesignsystem.com/">
IBM Carbon Design System</a>
</footer>
</body>
</html>

34
src/static/css/index.css Normal file
View file

@ -0,0 +1,34 @@
.biglinks {
margin: 12px;
}
.biglinks > * {
vertical-align: middle;
}
.biglinks > a,
.biglinks > picture {
max-width: calc(100% - 24px);
}
.biglinks a {
width: 20rem;
}
.biglinks a>.svg {
height: 64px;
margin-top: 12px;
margin-bottom: 32px;
display: block;
}
.biglinks > picture {
display: inline-block;
height: 156px;
margin: 12px;
}
.biglinks > picture > img {
height: 100%;
width: 100%;
object-fit: cover;
}

156
src/static/css/main.css Normal file
View file

@ -0,0 +1,156 @@
@import url('https://rsms.me/inter/inter.css');
:root {
--gray-100: #161616;
--gray-90: #262626;
--gray-90-hover: #333333;
--gray-70: #525252;
--gray-10: #f4f4f4;
--green: #8ac159;
}
html {
background: var(--gray-100);
}
*, *::before, *::after {
box-sizing: border-box;
}
body {
font-family: Inter var, sans-serif;
color: var(--gray-10);
font-size: 1rem;
line-height: 1.375rem;
font-weight: 400;
margin: 24px;
font-feature-settings: 'ss01', 'ss03';
}
body > div {
margin: 24px;
}
body > .content {
text-align: justify;
}
.svg {
filter: invert(100%);
}
h1,h2,h3,h4,h5,h6 {
margin: 0;
}
h1 {
font-size: 3.375rem;
line-height: 4rem;
font-weight: 300;
margin: 24px;
font-feature-settings: 'ss01', 'ss02', 'ss03', 'cv11';
}
h1 strong {
font-weight: 600;
}
h1 img {
height: 4rem;
border-radius: 50%;
vertical-align: top;
}
h2 {
font-size: 2.625rem;
line-height: 3.125rem;
font-weight: 300;
}
h3 {
font-size: 2rem;
line-height: 2.5rem;
font-weight: 400;
}
h4 {
font-size: 1.75rem;
line-height: 2.25rem;
font-weight: 400;
}
h5 {
font-size: 1.25rem;
line-height: 1.75rem;
font-weight: 400;
}
h6 {
font-size: 1rem;
line-height: 1.375rem;
font-weight: 600;
}
nav {
margin: 12px;
}
a.btn {
display: inline-block;
font-size: 1rem;
line-height: 20px;
padding: 12px 24px;
margin: 12px;
color: white;
background: var(--gray-90);
text-decoration: none;
border: 2px solid transparent;
transition-property: border, background;
transition-duration: 70ms;
transition-timing-function: cubic-bezier(0.2, 0, 0.38, 0.9);
}
a.btn:hover {
background: var(--gray-90-hover);
}
a.btn:active {
background: var(--gray-70);
}
a.btn:focus {
border: 2px solid white;
}
nav a img {
height: 20px;
vertical-align: middle;
margin-left: 12px;
}
ul {
list-style-type: square;
padding-left: 24px;
margin: 12px 0;
}
ul li {
margin-bottom: .25rem;
}
sup {
vertical-align: baseline;
font: inherit;
font-feature-settings: 'ss01', 'ss03', 'sups';
}
footer {
margin: -24px;
margin-top: 24px;
padding: 24px 48px;
font-size: .875rem;
line-height: 1.125rem;
font-weight: 400;
background: var(--gray-90);
}
footer p {
margin: 0;
}
footer strong {
font-weight: 600;
font-feature-settings: 'ss01', 'ss02', 'ss03', 'cv11';
}
body > div.nav {
margin: 12px;
}

View file

@ -0,0 +1,3 @@
h1 img {
display: block;
}

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