Skip to content

Commit 38c900e

Browse files
authored
Title animation, OpenSans font
1 parent 1b2d7eb commit 38c900e

File tree

1 file changed

+25
-1
lines changed

1 file changed

+25
-1
lines changed

_layouts/default.html

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,10 @@
77
<link rel="icon" href="/assets/img/site/favicon.ico" type="image/x-icon">
88
<link rel="stylesheet" href="/assets/css/style.css">
99

10+
<link rel="preconnect" href="https://fonts.googleapis.com">
11+
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
12+
<link href="https://fonts.googleapis.com/css2?family=Open+Sans:wght@760&display=swap" rel="stylesheet">
13+
1014
<script data-name="BMC-Widget" data-cfasync="false" src="https://cdnjs.buymeacoffee.com/1.0.0/widget.prod.min.js" data-id="fl0w" data-description="Support me on Buy me a coffee!" data-message="" data-color="#ff8ff5" data-position="Right" data-x_margin="18" data-y_margin="18"></script>
1115
</head>
1216
<body>
@@ -30,11 +34,31 @@
3034
{% endunless %}
3135

3236
<header>
33-
<h1>{{ page.title }}</h1>
37+
<h1 id="animated-title" data-title="{{ page.title }}"></h1>
3438
</header>
3539

3640
<main>
3741
{{ content }}
3842
</main>
43+
44+
<script>
45+
document.addEventListener("DOMContentLoaded", () => {
46+
const h1 = document.getElementById("animated-title");
47+
const fullTitle = h1.getAttribute("data-title") || "";
48+
const delay = 80;
49+
50+
let i = 0;
51+
function typeNext() {
52+
if (i <= fullTitle.length) {
53+
const partial = fullTitle.slice(0, i);
54+
h1.innerHTML = `<span class="bracket">&lt;</span><span class="title-text">${partial}</span><span class="bracket">&gt;</span>`;
55+
i++;
56+
setTimeout(typeNext, delay);
57+
}
58+
}
59+
60+
typeNext();
61+
});
62+
</script>
3963
</body>
4064
</html>

0 commit comments

Comments
 (0)