Compare commits
10 commits
3f8283f1cc
...
4d0a7fbe75
Author | SHA1 | Date | |
---|---|---|---|
4d0a7fbe75 | |||
89d1a5295a | |||
dc43aee71a | |||
0d0310cea7 | |||
d7e94576e5 | |||
d7d0a6b191 | |||
c33737f86f | |||
d1d826c050 | |||
e4bccf7a07 | |||
9befcc8576 |
1
.gitignore
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
/out
|
36
build.py
Executable file
|
@ -0,0 +1,36 @@
|
|||
#! /usr/bin/env python3
|
||||
"""Build resume."""
|
||||
|
||||
from os import sep
|
||||
from pathlib import Path
|
||||
|
||||
from rwx import fs
|
||||
from rwx.ps import run
|
||||
|
||||
if __name__ == "__main__":
|
||||
root = Path(__file__).resolve().parent
|
||||
input = root / "in"
|
||||
output = root / "out"
|
||||
web = output / "web"
|
||||
fs.wipe(output)
|
||||
fs.make_directory(web)
|
||||
run(
|
||||
"rsync",
|
||||
"--archive",
|
||||
"--partial",
|
||||
"--progress",
|
||||
"--verbose",
|
||||
f"{input}{sep}",
|
||||
f"{web}{sep}",
|
||||
)
|
||||
run(
|
||||
"qrencode",
|
||||
("--background", "00000000"),
|
||||
("--foreground", "000000FF"),
|
||||
("--level", "L"),
|
||||
("--margin", "1"),
|
||||
("--read-from", str(input / "vcard.vcf")),
|
||||
("--size", "4"),
|
||||
("-t", "SVG"),
|
||||
("--output", str(web / "img" / "vcard.svg")),
|
||||
)
|
Before Width: | Height: | Size: 30 KiB After Width: | Height: | Size: 30 KiB |
Before Width: | Height: | Size: 745 B After Width: | Height: | Size: 745 B |
Before Width: | Height: | Size: 482 KiB After Width: | Height: | Size: 482 KiB |
Before Width: | Height: | Size: 150 KiB After Width: | Height: | Size: 150 KiB |
Before Width: | Height: | Size: 29 KiB After Width: | Height: | Size: 29 KiB |
Before Width: | Height: | Size: 61 KiB After Width: | Height: | Size: 61 KiB |
Before Width: | Height: | Size: 32 KiB After Width: | Height: | Size: 32 KiB |
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 9.2 KiB After Width: | Height: | Size: 9.2 KiB |
Before Width: | Height: | Size: 147 KiB After Width: | Height: | Size: 147 KiB |
Before Width: | Height: | Size: 2.1 KiB After Width: | Height: | Size: 2.1 KiB |
Before Width: | Height: | Size: 4.9 KiB After Width: | Height: | Size: 4.9 KiB |
Before Width: | Height: | Size: 5.7 KiB After Width: | Height: | Size: 5.7 KiB |
Before Width: | Height: | Size: 6 KiB After Width: | Height: | Size: 6 KiB |
Before Width: | Height: | Size: 2.3 KiB After Width: | Height: | Size: 2.3 KiB |
Before Width: | Height: | Size: 9.6 KiB After Width: | Height: | Size: 9.6 KiB |
Before Width: | Height: | Size: 1.1 MiB After Width: | Height: | Size: 1.1 MiB |
Before Width: | Height: | Size: 2.5 KiB After Width: | Height: | Size: 2.5 KiB |
Before Width: | Height: | Size: 8.8 KiB After Width: | Height: | Size: 8.8 KiB |
Before Width: | Height: | Size: 5 KiB After Width: | Height: | Size: 5 KiB |
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.3 KiB |
|
@ -161,32 +161,30 @@ France</p>
|
|||
<section>
|
||||
<h2>Links</h2>
|
||||
|
||||
<table>
|
||||
<tbody>
|
||||
<table><tbody>
|
||||
<tr>
|
||||
<th>Forge</th>
|
||||
<th scope="row">Forge</th>
|
||||
<td class="logo"><img class="logo" src="img/forgejo.svg" alt="ForgeJo logo"></td>
|
||||
<td><a href="https://forge.rwx.work/marc.beninca">forge.rwx.work</a></td>
|
||||
</tr>
|
||||
<tr><td colspan="3"><hr></td></tr>
|
||||
<tr>
|
||||
<th>BlueSky</th>
|
||||
<th scope="row">BlueSky</th>
|
||||
<td class="logo"><img class="logo" src="img/bluesky.svg" alt="BlueSky logo"></td>
|
||||
<td><a href="https://bsky.app/profile/marc.beninca.link">marc.beninca.link</a></td>
|
||||
</tr>
|
||||
<tr><td colspan="3"><hr></td></tr>
|
||||
<tr>
|
||||
<th>LinkedIn</th>
|
||||
<th scope="row">LinkedIn</th>
|
||||
<td class="logo"><img class="logo" src="img/linkedin.svg" alt="LinkedIn logo"></td>
|
||||
<td><a href="https://linkedin.com/in/marc-beninca">marc-beninca</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>YouTube</th>
|
||||
<th scope="row">YouTube</th>
|
||||
<td class="logo"><img class="logo" src="img/youtube.svg" alt="YouTube logo"></td>
|
||||
<td><a href="https://youtube.com/@marc.beninca">marc.beninca</a></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</tbody></table>
|
||||
|
||||
</section>
|
||||
|
||||
|
@ -195,13 +193,13 @@ France</p>
|
|||
|
||||
<table><tbody>
|
||||
<tr>
|
||||
<th>KeyOxide</th>
|
||||
<th scope="row">KeyOxide</th>
|
||||
<td class="logo"><img class="logo" src="img/keyoxide.svg" alt="KeyOxide logo"></td>
|
||||
<td><a href="https://keyoxide.org/aspe:keyoxide.org:WUD5YVN52J3RJ6CD4ZCWYL6S54">ASP</a>,
|
||||
<a href="https://keyoxide.org/08EDA7006234A0EB29A3A8471DBD5EC4BADA5579">OpenPGP</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>OpenPGP</th>
|
||||
<th scope="row">OpenPGP</th>
|
||||
<td class="logo"><img class="logo" src="img/openpgp.svg" alt="OpenPGP logo"></td>
|
||||
<td><a href="https://keys.openpgp.org/search?q=08EDA7006234A0EB29A3A8471DBD5EC4BADA5579">keys.openpgp.org</a></td>
|
||||
</tr>
|
|
@ -1,52 +1,58 @@
|
|||
/* variables */
|
||||
|
||||
:root {
|
||||
color-scheme: light dark;
|
||||
--alpha: rgba(0, 0, 0, 0);
|
||||
/* border */
|
||||
--border-off: var(--border-width) none var(--alpha);
|
||||
--border-on: var(--border-width) solid var(--border-color);
|
||||
--border-width: .1rem;
|
||||
/* margin */
|
||||
--margin: .4rem;
|
||||
}
|
||||
:root {
|
||||
--anchor-background: #bbb;
|
||||
--anchor-text: #f00;
|
||||
--banner-background: #ccf;
|
||||
--body-background: #fff;
|
||||
--body-text: #000;
|
||||
--border-color: #888;
|
||||
--button-background: #bbb;
|
||||
--header-background: #ccc;
|
||||
--item-even: #ddd;
|
||||
--item-odd: #eee;
|
||||
--org-background: #afa;
|
||||
--qrcode-background: ;
|
||||
--ruler-border: #888;
|
||||
/* theme */
|
||||
color-scheme: light dark;
|
||||
/* theme / gradients */
|
||||
--anchor-gradient: linear-gradient(to top, var(--alpha), var(--anchor-background));
|
||||
--banner-gradient: linear-gradient(to top, var(--alpha), var(--banner-background));
|
||||
--body-gradient: linear-gradient(to top, var(--alpha), var(--body-background));
|
||||
--header-gradient: linear-gradient(to top, var(--alpha), var(--header-background));
|
||||
--item-even-gradient: linear-gradient(to top, var(--alpha), var(--item-even));
|
||||
--item-odd-gradient: linear-gradient(to top, var(--alpha), var(--item-odd));
|
||||
--org-gradient: linear-gradient(to top, var(--alpha), var(--org-background));
|
||||
/* theme / light */
|
||||
--anchor-background: #bbb;
|
||||
--anchor-text: #f00;
|
||||
--banner-background: #ccf;
|
||||
--body-background: #fff;
|
||||
--body-text: #000;
|
||||
--border-color: #888;
|
||||
--button-background: #bbb;
|
||||
--header-background: #ccc;
|
||||
--item-even: #ddd;
|
||||
--item-odd: #eee;
|
||||
--org-background: #afa;
|
||||
--qrcode-background: ;
|
||||
--ruler-border: #888;
|
||||
}
|
||||
@media screen {
|
||||
[data-theme="dark"] {
|
||||
--anchor-background: #222;
|
||||
--anchor-text: #f88;
|
||||
--banner-background: #558;
|
||||
--body-background: #000;
|
||||
--body-text: #aaa;
|
||||
--border-color: #888;
|
||||
--button-background: #444;
|
||||
--header-background: #444;
|
||||
--item-even: #222;
|
||||
--item-odd: #111;
|
||||
--org-background: #030;
|
||||
--qrcode-background: #aaa;
|
||||
--ruler-border: #444;
|
||||
/* theme / dark */
|
||||
--anchor-background: #222;
|
||||
--anchor-text: #f88;
|
||||
--banner-background: #558;
|
||||
--body-background: #000;
|
||||
--body-text: #aaa;
|
||||
--border-color: #888;
|
||||
--button-background: #444;
|
||||
--header-background: #444;
|
||||
--item-even: #222;
|
||||
--item-odd: #111;
|
||||
--org-background: #030;
|
||||
--qrcode-background: #aaa;
|
||||
--ruler-border: #444;
|
||||
}
|
||||
}
|
||||
:root {
|
||||
--alpha: rgba(0, 0, 0, 0);
|
||||
--border-width: .1rem;
|
||||
--border-off: var(--border-width) none var(--alpha);
|
||||
--border-on: var(--border-width) solid var(--border-color);
|
||||
--anchor-gradient: linear-gradient(to top, var(--alpha), var(--anchor-background));
|
||||
--banner-gradient: linear-gradient(to top, var(--alpha), var(--banner-background));
|
||||
--body-gradient: linear-gradient(to top, var(--alpha), var(--body-background));
|
||||
--header-gradient: linear-gradient(to top, var(--alpha), var(--header-background));
|
||||
--item-even-gradient: linear-gradient(to top, var(--alpha), var(--item-even));
|
||||
--item-odd-gradient: linear-gradient(to top, var(--alpha), var(--item-odd));
|
||||
--org-gradient: linear-gradient(to top, var(--alpha), var(--org-background));
|
||||
}
|
||||
|
||||
/* main */
|
||||
|
||||
#theme {
|
||||
background-color: var(--button-background);
|
11
vcard.sh
|
@ -1,11 +0,0 @@
|
|||
#! /usr/bin/env sh
|
||||
|
||||
cat "vcard.vcf" |
|
||||
qrencode \
|
||||
--background "00000000" \
|
||||
--foreground "000000FF" \
|
||||
--level "L" \
|
||||
--margin "1" \
|
||||
--size "4" \
|
||||
-t "SVG" \
|
||||
--output "img/vcard.svg"
|