--- /dev/null
++++
+title = "Talk to me"
+date = "2023-02-28T18:12:43+01:00"
+type = "page"
++++
+
--- /dev/null
++++
+title = "about danix.xyz"
+author = "Danilo M."
+type = "page"
+draft = false
+date = "2009-06-01T22:04:43+00:00"
++++
+
+{{< gravatar mail="danixland@gmail.com" class="image right circle" size=250 >}}
+
+Welcome to danix.xyz, my name is Danilo but you can call me danix.
+
+What is this website? Well, **danix.xyz** is my personal website, in here you can read about everything I find interesting, you'll find the code I write, WordPress plugins or themes, php or bash scripts that I use on my systems, and programs that I find interesting.
+
+I use this website to keep track of all the snippets of code that I tend to forget, I consider this website like my notepad (in the hope that it can turn useful to somebody else).
+
+I deeply dislike sharing readers data with other companies so you can be sure that I don't collect any data from my readers. I've setup hugo not to track my readers and to instruct other sites referenced on my pages to do so as well.
+
+Read more about [my Privacy Policy]({{< ref "legal" >}} "Privacy Policy here at danix.xyz").
--- /dev/null
++++
+title = "Talk to me"
+date = "2023-02-28T18:12:43+01:00"
+type = "page"
++++
+
margin-right: auto;
}
+.my-8 {
+ margin-top: 2rem;
+ margin-bottom: 2rem;
+}
+
.mb-12 {
margin-bottom: 3rem;
}
+.mb-2 {
+ margin-bottom: 0.5rem;
+}
+
.mb-3 {
margin-bottom: 0.75rem;
}
margin-top: 4rem;
}
+.mt-3 {
+ margin-top: 0.75rem;
+}
+
.block {
display: block;
}
transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
+.resize-none {
+ resize: none;
+}
+
.flex-col {
flex-direction: column;
}
margin-bottom: calc(0.5rem * var(--tw-space-y-reverse));
}
+.space-y-6 > :not([hidden]) ~ :not([hidden]) {
+ --tw-space-y-reverse: 0;
+ margin-top: calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));
+ margin-bottom: calc(1.5rem * var(--tw-space-y-reverse));
+}
+
.overflow-y-auto {
overflow-y: auto;
}
border-color: var(--border);
}
+.border-green-300 {
+ --tw-border-opacity: 1;
+ border-color: rgb(134 239 172 / var(--tw-border-opacity, 1));
+}
+
+.border-red-300 {
+ --tw-border-opacity: 1;
+ border-color: rgb(252 165 165 / var(--tw-border-opacity, 1));
+}
+
.bg-accent {
background-color: var(--accent);
}
background-color: rgb(0 0 0 / 0.5);
}
+.bg-green-100 {
+ --tw-bg-opacity: 1;
+ background-color: rgb(220 252 231 / var(--tw-bg-opacity, 1));
+}
+
+.bg-red-100 {
+ --tw-bg-opacity: 1;
+ background-color: rgb(254 226 226 / var(--tw-bg-opacity, 1));
+}
+
.bg-surface {
background-color: var(--surface);
}
color: var(--accent);
}
+.text-bg {
+ color: var(--bg);
+}
+
+.text-green-800 {
+ --tw-text-opacity: 1;
+ color: rgb(22 101 52 / var(--tw-text-opacity, 1));
+}
+
+.text-red-800 {
+ --tw-text-opacity: 1;
+ color: rgb(153 27 27 / var(--tw-text-opacity, 1));
+}
+
.text-text {
color: var(--text);
}
-moz-osx-font-smoothing: grayscale;
}
+.placeholder-text-dim::-moz-placeholder {
+ color: var(--text-dim);
+}
+
+.placeholder-text-dim::placeholder {
+ color: var(--text-dim);
+}
+
.opacity-0 {
opacity: 0;
}
opacity: 0.9;
}
+.focus\:border-accent:focus {
+ border-color: var(--accent);
+}
+
+.focus\:outline-none:focus {
+ outline: 2px solid transparent;
+ outline-offset: 2px;
+}
+
+.focus\:ring-1:focus {
+ --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
+ --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
+ box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
+}
+
+.focus\:ring-accent:focus {
+ --tw-ring-color: var(--accent);
+}
+
+.disabled\:cursor-not-allowed:disabled {
+ cursor: not-allowed;
+}
+
+.disabled\:opacity-50:disabled {
+ opacity: 0.5;
+}
+
.group:hover .group-hover\:text-accent {
color: var(--accent);
}
// Add the new theme class
htmlElement.classList.add(`theme-${newTheme}`);
+ // Update article type badge colors
+ const badges = document.querySelectorAll('[data-theme-dark-color]');
+ badges.forEach(badge => {
+ if (newTheme === 'dark') {
+ const darkColor = badge.getAttribute('data-theme-dark-color');
+ badge.style.color = darkColor;
+ badge.style.backgroundColor = darkColor + '20';
+ } else {
+ const lightColor = badge.style.color; // Already set to light in HTML
+ badge.style.color = lightColor;
+ // backgroundColor stays as is (light color with opacity)
+ }
+ });
+
// Persist to localStorage
localStorage.setItem('theme', newTheme);
{{ $articleType := .Params.type | default "life" }}
{{ $typeConfig := .Site.Params.articleTypes }}
{{ $typeData := index $typeConfig $articleType }}
-{{ $isDark := strings.Contains (os.Getenv "THEME") "dark" }}
-{{ $color := cond $isDark $typeData.color_dark $typeData.color_light }}
<div class="mb-8 pb-8 border-b border-border">
<!-- Type badge -->
{{ if $typeData }}
<span
class="inline-flex items-center px-3 py-1 rounded text-sm font-semibold mb-4 transition-colors"
- style="color: {{ $color }}; background-color: {{ $color }}20;"
+ style="color: {{ $typeData.color_light }}; background-color: {{ $typeData.color_light }}20;"
+ data-theme-dark-color="{{ $typeData.color_dark }}"
>
{{ i18n $articleType }}
</span>
{{ end }}
<!-- Update date if different -->
- {{ if and .LastMod (ne .LastMod.Format "2006-01-02" .PublishDate.Format "2006-01-02") }}
- <div class="flex items-center gap-1">
- <i data-feather="edit-2" class="w-4 h-4"></i>
- <time datetime="{{ .LastMod.Format "2006-01-02T15:04:05Z07:00" }}">
- {{ .LastMod.Format "Jan 2, 2006" }}
- </time>
- </div>
+ {{ if .Lastmod }}
+ {{ $lastmodDate := .Lastmod.Format "2006-01-02" }}
+ {{ $pubDate := .PublishDate.Format "2006-01-02" }}
+ {{ if ne $lastmodDate $pubDate }}
+ <div class="flex items-center gap-1">
+ <i data-feather="edit-2" class="w-4 h-4"></i>
+ <time datetime="{{ .Lastmod.Format "2006-01-02T15:04:05Z07:00" }}">
+ {{ .Lastmod.Format "Jan 2, 2006" }}
+ </time>
+ </div>
+ {{ end }}
{{ end }}
<!-- Reading time -->