-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.html
More file actions
87 lines (82 loc) · 4.52 KB
/
Copy pathindex.html
File metadata and controls
87 lines (82 loc) · 4.52 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Francesco Cataldo — Python · Django Developer</title>
<meta name="description" content="Francesco Cataldo, Python and Django developer in Turin. Data-heavy backends with Django, PostgreSQL and Celery — selected engineering case studies." />
<meta name="author" content="Francesco Cataldo" />
<meta name="keywords" content="Francesco Cataldo, Python developer, Django developer, backend engineer, PostgreSQL, Celery, DRF, Vue, Nuxt, Turin" />
<meta name="robots" content="index, follow" />
<meta name="theme-color" content="#f6f3ec" media="(prefers-color-scheme: light)" />
<meta name="theme-color" content="#1c1a17" media="(prefers-color-scheme: dark)" />
<!-- Open Graph -->
<meta property="og:type" content="website" />
<meta property="og:site_name" content="Francesco Cataldo" />
<meta property="og:locale" content="en_US" />
<meta property="og:url" content="https://fracata00.github.io/" />
<meta property="og:title" content="Francesco Cataldo — Python · Django Developer" />
<meta property="og:description" content="Francesco Cataldo — Django, PostgreSQL, Celery, Vue/Nuxt. Selected engineering case studies." />
<meta property="og:image" content="https://fracata00.github.io/preview.png" />
<meta property="og:image:type" content="image/png" />
<meta property="og:image:width" content="1200" />
<meta property="og:image:height" content="630" />
<meta property="og:image:alt" content="Francesco Cataldo — Python · Django developer. Data-heavy backends that stay fast under load." />
<!-- Twitter -->
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:title" content="Francesco Cataldo — Python · Django Developer" />
<meta name="twitter:description" content="Francesco Cataldo — Django, PostgreSQL, Celery, Vue/Nuxt. Selected engineering case studies." />
<meta name="twitter:image" content="https://fracata00.github.io/preview.png" />
<meta name="twitter:image:alt" content="Francesco Cataldo — Python · Django developer. Data-heavy backends that stay fast under load." />
<link rel="canonical" href="https://fracata00.github.io/" />
<link rel="icon" href="/favicon.svg" />
<!-- Structured data: Person -->
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Person",
"name": "Francesco Cataldo",
"url": "https://fracata00.github.io/",
"image": "https://fracata00.github.io/preview.png",
"jobTitle": "Python · Django Developer",
"worksFor": { "@type": "Organization", "name": "Spinforward S.R.L.", "url": "https://spinforward.it" },
"address": { "@type": "PostalAddress", "addressLocality": "Turin", "addressCountry": "IT" },
"knowsAbout": ["Python", "Django", "Django REST Framework", "Celery", "PostgreSQL", "Vue.js", "Nuxt"],
"sameAs": [
"https://www.linkedin.com/in/francesco-cataldo/",
"https://github.com/FraCata00"
]
}
</script>
<script>
// Apply the saved theme before paint to avoid a flash of the wrong theme.
(function () {
try {
var m = localStorage.getItem('theme');
if (['light', 'dark', 'system'].indexOf(m) === -1) m = 'system';
var dark = m === 'dark' ||
(m === 'system' && window.matchMedia('(prefers-color-scheme: dark)').matches);
document.documentElement.setAttribute('data-theme', dark ? 'dark' : 'light');
} catch (e) {}
})();
</script>
<link rel="preconnect" href="https://fonts.googleapis.com" />
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
<link href="https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,400;0,9..144,500;0,9..144,600;1,9..144,400;1,9..144,500&family=IBM+Plex+Sans:wght@400;500;600&family=JetBrains+Mono:wght@400;500&display=swap" rel="stylesheet" />
</head>
<body>
<div id="app"></div>
<script type="module" src="/src/main.js"></script>
<!--
Privacy-friendly, cookieless analytics via GoatCounter (https://www.goatcounter.com).
SETUP: replace "YOURCODE" below with your GoatCounter site code
(the subdomain from your account, e.g. https://mysite.goatcounter.com/count).
Until then this is inert/harmless: requests go to a non-existent endpoint and
fail silently — no error is shown to visitors, and nothing tracks without JS.
-->
<script
data-goatcounter="https://YOURCODE.goatcounter.com/count"
async
src="//gc.zgo.at/count.js"></script>
</body>
</html>