6 Commits

Author SHA1 Message Date
kova 9638a49320 make feature image load without lazy 2026-04-13 10:21:10 -02:30
kova 8021a9c21c add local fonts 2026-04-13 10:20:57 -02:30
kova db54a38492 remove searchonchange function navbar 2026-03-16 13:19:18 -02:30
kova 16a31826ba fix toc nested margins 2026-03-16 13:17:09 -02:30
kova a46dcaeb3b add plausible default 2026-03-16 13:16:29 -02:30
kova b20a433e9d add ko-fi widget 2026-03-16 13:15:53 -02:30
5 changed files with 43 additions and 31 deletions
+20 -3
View File
@@ -37,9 +37,13 @@
</div> </div>
{{ if .Params.image }} {{ if .Params.image }}
<div class="featured-image"> <div class="featured-image">
<!-- {{ with .Resources.GetMatch .Params.image }}
<link rel="preload" as="image" href="{{ .RelPermalink }}">
{{ end }} -->
{{ $img := .Resources.GetMatch .Params.image }} {{ $img := .Resources.GetMatch .Params.image }}
<!-- <img src="{{ $img }}" class="card-img-top" alt="{{ .Title }}" fetchpriority="high"> --> <!-- <link rel="preload" as="image" href="{{ .RelPermalink }}"> -->
{{ partial "lazyimg" (dict "img" $img "class" "img-fluid mx-auto d-block" "alt" .Title) }} <img src="{{ $img }}" class="card-img-top" alt="{{ .Title }}" fetchpriority="high">
<!-- {{ partial "lazyimg" (dict "img" $img "class" "img-fluid mx-auto d-block" "alt" .Title) }} -->
</div> </div>
{{ end }} {{ end }}
<article class="page-content p-2"> <article class="page-content p-2">
@@ -159,7 +163,7 @@
// To set height of sticky sidebar dynamically // To set height of sticky sidebar dynamically
let stickySideBarElem = document.getElementById("stickySideBar"); let stickySideBarElem = document.getElementById("stickySideBar");
let stickyNavBar = {{ .Site.Params.navbar.stickyNavBar.enable | default false }}; let stickyNavBar = "{{ .Site.Params.navbar.stickyNavBar.enable | default false }}";
if(stickyNavBar) { if(stickyNavBar) {
let headerElem = document.getElementById("profileHeader"); let headerElem = document.getElementById("profileHeader");
let headerHeight = headerElem.offsetHeight + 15; let headerHeight = headerElem.offsetHeight + 15;
@@ -195,6 +199,19 @@
} }
} }
</script> </script>
{{ if .Site.Params.kofi.enable | default true }}
<script src='https://storage.ko-fi.com/cdn/scripts/overlay-widget.js'></script>
<script>
kofiWidgetOverlay.draw('{{ .Site.Params.kofi.handle | default "kovasky" }}', {
'type': 'floating-chat',
'floating-chat.donateButton.text': '{{ .Site.Params.kofi.buttonText | default "Support me" }}',
'floating-chat.donateButton.background-color': '#f45d22',
'floating-chat.donateButton.text-color': '#fff'
});
</script>
{{ end }}
<!-- {{ if or (.Site.Params.singlePages.readTime.enable | default true) (.Params.enableReadingTime) }} <!-- {{ if or (.Site.Params.singlePages.readTime.enable | default true) (.Params.enableReadingTime) }}
<script src="{{.Site.Params.staticPath}}/js/readingTime.js"></script> <script src="{{.Site.Params.staticPath}}/js/readingTime.js"></script>
{{end}} --> {{end}} -->
+3 -16
View File
@@ -6,21 +6,8 @@
<link rel="icon" href={{ .Site.Params.favicon | default "/fav.png" }} type="image/gif"> <link rel="icon" href={{ .Site.Params.favicon | default "/fav.png" }} type="image/gif">
<link rel="apple-touch-icon" href="/fav.png"> <link rel="apple-touch-icon" href="/fav.png">
<!-- Fonts --> <link rel="stylesheet" href="/css/fonts.css" media="print" onload="this.media='all'">
<link rel="preconnect" href="https://fonts.googleapis.com"> <noscript><link rel="stylesheet" href="/css/fonts.css"></noscript>
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<!-- <link rel="preload"
as="style"
href="https://fonts.googleapis.com/css2?family=Alata&family=Lora:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500;1,600;1,700&family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap"
> -->
<link rel="stylesheet"
href="https://fonts.googleapis.com/css2?family=Alata&family=Lora:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500;1,600;1,700&family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap"
media="print" onload="this.media='all'" />
<noscript>
<link
href="https://fonts.googleapis.com/css2?family=Alata&family=Lora:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500;1,600;1,700&family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap"
rel="stylesheet">
</noscript>
<!-- Internal templates --> <!-- Internal templates -->
{{ template "_internal/google_analytics.html" . }} {{ template "_internal/google_analytics.html" . }}
@@ -45,7 +32,7 @@
{{ $JS := resources.Match "js/**.js" }} {{ $JS := resources.Match "js/**.js" }}
{{ $ConcatenatedJS := $JS | resources.Concat "js/scripts.js" }} {{ $ConcatenatedJS := $JS | resources.Concat "js/scripts.js" }}
{{ $scriptJS := $ConcatenatedJS | js.Build (dict "minify" true "sourcemap" "external" "target" "es2015" "keepNames" true) | resources.Fingerprint }} {{ $scriptJS := $ConcatenatedJS | js.Build (dict "minify" true "sourcemap" "external" "target" "es2015" "keepNames" true) | resources.Fingerprint }}
<script src="{{ $scriptJS.Permalink }}" integrity="{{ $scriptJS.Data.Integrity }}" async></script> <script src="{{ $scriptJS.Permalink }}" integrity="{{ $scriptJS.Data.Integrity }}" defer></script>
{{ partial "lazyimg-setup" }} {{ partial "lazyimg-setup" }}
+1 -3
View File
@@ -88,9 +88,7 @@
<!-- {{ if (.Site.Params.contact.formspree.enable | default false) }} <!-- {{ if (.Site.Params.contact.formspree.enable | default false) }}
<script src="{{ .Site.Params.staticPath }}/js/contact.js"></script> <script src="{{ .Site.Params.staticPath }}/js/contact.js"></script>
{{ end }} --> {{ end }} -->
{{ if eq (getenv "HUGO_ENV") "production" }} <script async data-domain="kovasky.me" src="https://plausible.agrajag.cloud/js/script.js"></script>
<script defer data-domain="kovasky.me" src="https://plausible.agrajag.cloud/js/script.js"></script>
{{ end }}
{{ if (.Site.Params.customScripts | default false) }} {{ if (.Site.Params.customScripts | default false) }}
{{ .Site.Params.customScripts | safeHTML }} {{ .Site.Params.customScripts | safeHTML }}
+2 -2
View File
@@ -82,7 +82,7 @@
{{ if not (.Site.Params.navbar.disableSearch | default false) }} {{ if not (.Site.Params.navbar.disableSearch | default false) }}
<li class="nav-item navbar-text d-block d-md-none"> <li class="nav-item navbar-text d-block d-md-none">
<div class="nav-link"> <div class="nav-link">
<input id="search" autocomplete="off" class="form-control mr-sm-2" placeholder='{{ .Site.Params.navbar.searchPlaceholder | default "Ctrl + k to Search..."}}' aria-label="Search" oninput="searchOnChange(event)"> <input id="search" autocomplete="off" class="form-control mr-sm-2" placeholder='{{ .Site.Params.navbar.searchPlaceholder | default "Ctrl + k to Search..."}}' aria-label="Search">
</div> </div>
</li> </li>
{{ end }} {{ end }}
@@ -167,7 +167,7 @@
{{end}} {{end}}
{{end}} {{end}}
{{ if hugo.IsMultilingual }} {{ if .Site.IsMultiLingual }}
{{ if eq (len $.Page.Translations) 0 }} {{ if eq (len $.Page.Translations) 0 }}
<li class="nav-item navbar-text"> <li class="nav-item navbar-text">
<a class="nav-link" title="{{ .Site.Language.LanguageName }}"> <a class="nav-link" title="{{ .Site.Language.LanguageName }}">
+17 -7
View File
@@ -226,7 +226,6 @@
opacity: 0.8; opacity: 0.8;
} }
/*TOC*/ /*TOC*/
#single aside.toc { #single aside.toc {
padding: .7rem 1rem; padding: .7rem 1rem;
@@ -240,26 +239,37 @@
color: var(--text-color); color: var(--text-color);
} }
#single aside.toc .toc-content ol, #single aside.toc .toc-content ul { /* Base list styling — no bottom margin */
margin-bottom: 1em; #single aside.toc .toc-content ol,
#single aside.toc .toc-content ul {
margin-bottom: 0;
padding-left: .5em; padding-left: .5em;
list-style: none; list-style: none;
opacity: 0.9; opacity: 0.9;
} }
#single aside.toc .toc-content ol li a, #single aside.toc .toc-content ul li a { /* Only the top-level list keeps the original bottom margin */
#single aside.toc .toc-content > ol,
#single aside.toc .toc-content > ul {
margin-bottom: 1em;
}
#single aside.toc .toc-content ol li a,
#single aside.toc .toc-content ul li a {
font-size: 16px; font-size: 16px;
text-decoration: none; text-decoration: none;
color: var(--text-color); color: var(--text-color);
opacity: 0.9; opacity: 0.9;
} }
#single aside.toc .toc-content ol li a:hover, #single aside.toc .toc-content ul li a:hover { #single aside.toc .toc-content ol li a:hover,
#single aside.toc .toc-content ul li a:hover {
color: var(--primary-color); color: var(--primary-color);
opacity: 1.2; opacity: 1;
} }
#single aside.toc .toc-content ol li li, #single aside.toc .toc-content ul li li { #single aside.toc .toc-content ol li li,
#single aside.toc .toc-content ul li li {
padding-left: .7em; padding-left: .7em;
} }