Compare commits
No commits in common. "main" and "v1" have entirely different histories.
|
@ -1,2 +0,0 @@
|
|||
# Auto detect text files and perform LF normalization
|
||||
* text=auto
|
|
@ -1,24 +0,0 @@
|
|||
# Compiled class file
|
||||
*.class
|
||||
|
||||
# Log file
|
||||
*.log
|
||||
|
||||
# BlueJ files
|
||||
*.ctxt
|
||||
|
||||
# Mobile Tools for Java (J2ME)
|
||||
.mtj.tmp/
|
||||
|
||||
# Package Files #
|
||||
*.jar
|
||||
*.war
|
||||
*.nar
|
||||
*.ear
|
||||
*.zip
|
||||
*.tar.gz
|
||||
*.rar
|
||||
|
||||
# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
|
||||
hs_err_pid*
|
||||
replay_pid*
|
21
LICENSE
|
@ -1,21 +0,0 @@
|
|||
MIT License
|
||||
|
||||
Copyright (c) 2023 Vitor Antoni
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
47
README.md
|
@ -1,47 +0,0 @@
|
|||
# Linktree Template
|
||||
### Presentation
|
||||
Hi there. How are you? Hope you're fine. 😁
|
||||
|
||||
In this repository, I would like to make available a website template for people who wants to share your's most important links in any social media. It's very customizable, so you are able to make any changes that you wants.
|
||||
|
||||
If necessary, feel free for ask or suggest me about anything. Intend to monitor this repository every day.
|
||||
|
||||
## 🎯 Website demo
|
||||

|
||||
|
||||
|
||||
## 💻 Somethings you can do
|
||||
The `index.html` can imports two differents snowfall effects, but you must choose between one of these.
|
||||
> Don't use both at the same time, it might seem a little strange.
|
||||
|
||||
If you want to keep default effect, don't change the lines where are this code:
|
||||
```
|
||||
<!-- Snowfall Background Animation -->
|
||||
<section class="animated-background">
|
||||
<div id="stars1"></div>
|
||||
<div id="stars2"></div>
|
||||
<div id="stars3"></div>
|
||||
</section>
|
||||
<!-- End of Snowfall Background Animation -->
|
||||
```
|
||||
|
||||
But, if you want, comment this code above. After commenting the code above, go to the end of `index.html`, you may see a code code like that:
|
||||
```
|
||||
<!--
|
||||
A different snowfall
|
||||
<script src="snowfall.js"></script>
|
||||
-->
|
||||
```
|
||||
Uncomment this code and press `ctrl+s` for see the updates in your website.
|
||||
|
||||
## 📑 Additional Information
|
||||
This project was developed to contribute to the *open source* movement. Therefore, it doesn't have any complex code here.
|
||||
|
||||
I liked this project so much that I used it to develop a website for myself. You can see it [clicking here](https://links.vitor-antoni.com.br).
|
||||
|
||||
Furthermore, I must to give the credit to these people, that I got some pieces of code from their own projects to develop this.
|
||||
|
||||
[©️ johnggli](https://github.com/johnggli/linktree) <br>
|
||||
[©️ SamirPaul1](https://github.com/SamirPaul1/links)
|
||||
|
||||
In case you are interested to follow or conected with me on LinkedIn, you can do it in this link: [LinkedIn](linkedin.com/in/vitor-silva-de-antoni/)
|
1496
assets/css/style.css
Before Width: | Height: | Size: 1.8 KiB |
Before Width: | Height: | Size: 11 KiB |
Before Width: | Height: | Size: 9.4 KiB |
|
@ -1,904 +0,0 @@
|
|||
(() => {
|
||||
var n = {
|
||||
576: (n, t, r) => {
|
||||
var e;
|
||||
|
||||
function i(n) {
|
||||
return i = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(n) {
|
||||
return typeof n
|
||||
} : function(n) {
|
||||
return n && "function" == typeof Symbol && n.constructor === Symbol && n !== Symbol.prototype ? "symbol" : typeof n
|
||||
}, i(n)
|
||||
}
|
||||
n = r.nmd(n),
|
||||
function() {
|
||||
var u = "object" == ("undefined" == typeof self ? "undefined" : i(self)) && self.self === self && self || "object" == (void 0 === r.g ? "undefined" : i(r.g)) && r.g.global === r.g && r.g || this || {},
|
||||
o = u._,
|
||||
a = Array.prototype,
|
||||
c = Object.prototype,
|
||||
f = "undefined" != typeof Symbol ? Symbol.prototype : null,
|
||||
l = a.push,
|
||||
s = a.slice,
|
||||
p = c.toString,
|
||||
h = c.hasOwnProperty,
|
||||
d = Array.isArray,
|
||||
v = Object.keys,
|
||||
y = Object.create,
|
||||
g = function() {},
|
||||
m = function n(t) {
|
||||
return t instanceof n ? t : this instanceof n ? void(this._wrapped = t) : new n(t)
|
||||
};
|
||||
t.nodeType ? u._ = m : (!n.nodeType && n.exports && (t = n.exports = m), t._ = m), m.VERSION = "1.9.1";
|
||||
var b, w = function(n, t, r) {
|
||||
if (void 0 === t) return n;
|
||||
switch (null == r ? 3 : r) {
|
||||
case 1:
|
||||
return function(r) {
|
||||
return n.call(t, r)
|
||||
};
|
||||
case 3:
|
||||
return function(r, e, i) {
|
||||
return n.call(t, r, e, i)
|
||||
};
|
||||
case 4:
|
||||
return function(r, e, i, u) {
|
||||
return n.call(t, r, e, i, u)
|
||||
}
|
||||
}
|
||||
return function() {
|
||||
return n.apply(t, arguments)
|
||||
}
|
||||
},
|
||||
j = function(n, t, r) {
|
||||
return m.iteratee !== b ? m.iteratee(n, t) : null == n ? m.identity : m.isFunction(n) ? w(n, t, r) : m.isObject(n) && !m.isArray(n) ? m.matcher(n) : m.property(n)
|
||||
};
|
||||
m.iteratee = b = function(n, t) {
|
||||
return j(n, t, 1 / 0)
|
||||
};
|
||||
var x = function(n, t) {
|
||||
return t = null == t ? n.length - 1 : +t,
|
||||
function() {
|
||||
for (var r = Math.max(arguments.length - t, 0), e = Array(r), i = 0; i < r; i++) e[i] = arguments[i + t];
|
||||
switch (t) {
|
||||
case 0:
|
||||
return n.call(this, e);
|
||||
case 1:
|
||||
return n.call(this, arguments[0], e);
|
||||
case 2:
|
||||
return n.call(this, arguments[0], arguments[1], e)
|
||||
}
|
||||
var u = Array(t + 1);
|
||||
for (i = 0; i < t; i++) u[i] = arguments[i];
|
||||
return u[t] = e, n.apply(this, u)
|
||||
}
|
||||
},
|
||||
O = function(n) {
|
||||
if (!m.isObject(n)) return {};
|
||||
if (y) return y(n);
|
||||
g.prototype = n;
|
||||
var t = new g;
|
||||
return g.prototype = null, t
|
||||
},
|
||||
A = function(n) {
|
||||
return function(t) {
|
||||
return null == t ? void 0 : t[n]
|
||||
}
|
||||
},
|
||||
_ = function(n, t) {
|
||||
return null != n && h.call(n, t)
|
||||
},
|
||||
S = function(n, t) {
|
||||
for (var r = t.length, e = 0; e < r; e++) {
|
||||
if (null == n) return;
|
||||
n = n[t[e]]
|
||||
}
|
||||
return r ? n : void 0
|
||||
},
|
||||
k = Math.pow(2, 53) - 1,
|
||||
E = A("length"),
|
||||
F = function(n) {
|
||||
var t = E(n);
|
||||
return "number" == typeof t && t >= 0 && t <= k
|
||||
};
|
||||
m.each = m.forEach = function(n, t, r) {
|
||||
var e, i;
|
||||
if (t = w(t, r), F(n))
|
||||
for (e = 0, i = n.length; e < i; e++) t(n[e], e, n);
|
||||
else {
|
||||
var u = m.keys(n);
|
||||
for (e = 0, i = u.length; e < i; e++) t(n[u[e]], u[e], n)
|
||||
}
|
||||
return n
|
||||
}, m.map = m.collect = function(n, t, r) {
|
||||
t = j(t, r);
|
||||
for (var e = !F(n) && m.keys(n), i = (e || n).length, u = Array(i), o = 0; o < i; o++) {
|
||||
var a = e ? e[o] : o;
|
||||
u[o] = t(n[a], a, n)
|
||||
}
|
||||
return u
|
||||
};
|
||||
var I = function(n) {
|
||||
var t = function(t, r, e, i) {
|
||||
var u = !F(t) && m.keys(t),
|
||||
o = (u || t).length,
|
||||
a = n > 0 ? 0 : o - 1;
|
||||
for (i || (e = t[u ? u[a] : a], a += n); a >= 0 && a < o; a += n) {
|
||||
var c = u ? u[a] : a;
|
||||
e = r(e, t[c], c, t)
|
||||
}
|
||||
return e
|
||||
};
|
||||
return function(n, r, e, i) {
|
||||
var u = arguments.length >= 3;
|
||||
return t(n, w(r, i, 4), e, u)
|
||||
}
|
||||
};
|
||||
m.reduce = m.foldl = m.inject = I(1), m.reduceRight = m.foldr = I(-1), m.find = m.detect = function(n, t, r) {
|
||||
var e = (F(n) ? m.findIndex : m.findKey)(n, t, r);
|
||||
if (void 0 !== e && -1 !== e) return n[e]
|
||||
}, m.filter = m.select = function(n, t, r) {
|
||||
var e = [];
|
||||
return t = j(t, r), m.each(n, (function(n, r, i) {
|
||||
t(n, r, i) && e.push(n)
|
||||
})), e
|
||||
}, m.reject = function(n, t, r) {
|
||||
return m.filter(n, m.negate(j(t)), r)
|
||||
}, m.every = m.all = function(n, t, r) {
|
||||
t = j(t, r);
|
||||
for (var e = !F(n) && m.keys(n), i = (e || n).length, u = 0; u < i; u++) {
|
||||
var o = e ? e[u] : u;
|
||||
if (!t(n[o], o, n)) return !1
|
||||
}
|
||||
return !0
|
||||
}, m.some = m.any = function(n, t, r) {
|
||||
t = j(t, r);
|
||||
for (var e = !F(n) && m.keys(n), i = (e || n).length, u = 0; u < i; u++) {
|
||||
var o = e ? e[u] : u;
|
||||
if (t(n[o], o, n)) return !0
|
||||
}
|
||||
return !1
|
||||
}, m.contains = m.includes = m.include = function(n, t, r, e) {
|
||||
return F(n) || (n = m.values(n)), ("number" != typeof r || e) && (r = 0), m.indexOf(n, t, r) >= 0
|
||||
}, m.invoke = x((function(n, t, r) {
|
||||
var e, i;
|
||||
return m.isFunction(t) ? i = t : m.isArray(t) && (e = t.slice(0, -1), t = t[t.length - 1]), m.map(n, (function(n) {
|
||||
var u = i;
|
||||
if (!u) {
|
||||
if (e && e.length && (n = S(n, e)), null == n) return;
|
||||
u = n[t]
|
||||
}
|
||||
return null == u ? u : u.apply(n, r)
|
||||
}))
|
||||
})), m.pluck = function(n, t) {
|
||||
return m.map(n, m.property(t))
|
||||
}, m.where = function(n, t) {
|
||||
return m.filter(n, m.matcher(t))
|
||||
}, m.findWhere = function(n, t) {
|
||||
return m.find(n, m.matcher(t))
|
||||
}, m.max = function(n, t, r) {
|
||||
var e, u, o = -1 / 0,
|
||||
a = -1 / 0;
|
||||
if (null == t || "number" == typeof t && "object" != i(n[0]) && null != n)
|
||||
for (var c = 0, f = (n = F(n) ? n : m.values(n)).length; c < f; c++) null != (e = n[c]) && e > o && (o = e);
|
||||
else t = j(t, r), m.each(n, (function(n, r, e) {
|
||||
((u = t(n, r, e)) > a || u === -1 / 0 && o === -1 / 0) && (o = n, a = u)
|
||||
}));
|
||||
return o
|
||||
}, m.min = function(n, t, r) {
|
||||
var e, u, o = 1 / 0,
|
||||
a = 1 / 0;
|
||||
if (null == t || "number" == typeof t && "object" != i(n[0]) && null != n)
|
||||
for (var c = 0, f = (n = F(n) ? n : m.values(n)).length; c < f; c++) null != (e = n[c]) && e < o && (o = e);
|
||||
else t = j(t, r), m.each(n, (function(n, r, e) {
|
||||
((u = t(n, r, e)) < a || u === 1 / 0 && o === 1 / 0) && (o = n, a = u)
|
||||
}));
|
||||
return o
|
||||
}, m.shuffle = function(n) {
|
||||
return m.sample(n, 1 / 0)
|
||||
}, m.sample = function(n, t, r) {
|
||||
if (null == t || r) return F(n) || (n = m.values(n)), n[m.random(n.length - 1)];
|
||||
var e = F(n) ? m.clone(n) : m.values(n),
|
||||
i = E(e);
|
||||
t = Math.max(Math.min(t, i), 0);
|
||||
for (var u = i - 1, o = 0; o < t; o++) {
|
||||
var a = m.random(o, u),
|
||||
c = e[o];
|
||||
e[o] = e[a], e[a] = c
|
||||
}
|
||||
return e.slice(0, t)
|
||||
}, m.sortBy = function(n, t, r) {
|
||||
var e = 0;
|
||||
return t = j(t, r), m.pluck(m.map(n, (function(n, r, i) {
|
||||
return {
|
||||
value: n,
|
||||
index: e++,
|
||||
criteria: t(n, r, i)
|
||||
}
|
||||
})).sort((function(n, t) {
|
||||
var r = n.criteria,
|
||||
e = t.criteria;
|
||||
if (r !== e) {
|
||||
if (r > e || void 0 === r) return 1;
|
||||
if (r < e || void 0 === e) return -1
|
||||
}
|
||||
return n.index - t.index
|
||||
})), "value")
|
||||
};
|
||||
var M = function(n, t) {
|
||||
return function(r, e, i) {
|
||||
var u = t ? [
|
||||
[],
|
||||
[]
|
||||
] : {};
|
||||
return e = j(e, i), m.each(r, (function(t, i) {
|
||||
var o = e(t, i, r);
|
||||
n(u, t, o)
|
||||
})), u
|
||||
}
|
||||
};
|
||||
m.groupBy = M((function(n, t, r) {
|
||||
_(n, r) ? n[r].push(t) : n[r] = [t]
|
||||
})), m.indexBy = M((function(n, t, r) {
|
||||
n[r] = t
|
||||
})), m.countBy = M((function(n, t, r) {
|
||||
_(n, r) ? n[r]++ : n[r] = 1
|
||||
}));
|
||||
var N = /[^\ud800-\udfff]|[\ud800-\udbff][\udc00-\udfff]|[\ud800-\udfff]/g;
|
||||
m.toArray = function(n) {
|
||||
return n ? m.isArray(n) ? s.call(n) : m.isString(n) ? n.match(N) : F(n) ? m.map(n, m.identity) : m.values(n) : []
|
||||
}, m.size = function(n) {
|
||||
return null == n ? 0 : F(n) ? n.length : m.keys(n).length
|
||||
}, m.partition = M((function(n, t, r) {
|
||||
n[r ? 0 : 1].push(t)
|
||||
}), !0), m.first = m.head = m.take = function(n, t, r) {
|
||||
return null == n || n.length < 1 ? null == t ? void 0 : [] : null == t || r ? n[0] : m.initial(n, n.length - t)
|
||||
}, m.initial = function(n, t, r) {
|
||||
return s.call(n, 0, Math.max(0, n.length - (null == t || r ? 1 : t)))
|
||||
}, m.last = function(n, t, r) {
|
||||
return null == n || n.length < 1 ? null == t ? void 0 : [] : null == t || r ? n[n.length - 1] : m.rest(n, Math.max(0, n.length - t))
|
||||
}, m.rest = m.tail = m.drop = function(n, t, r) {
|
||||
return s.call(n, null == t || r ? 1 : t)
|
||||
}, m.compact = function(n) {
|
||||
return m.filter(n, Boolean)
|
||||
};
|
||||
var P = function n(t, r, e, i) {
|
||||
for (var u = (i = i || []).length, o = 0, a = E(t); o < a; o++) {
|
||||
var c = t[o];
|
||||
if (F(c) && (m.isArray(c) || m.isArguments(c)))
|
||||
if (r)
|
||||
for (var f = 0, l = c.length; f < l;) i[u++] = c[f++];
|
||||
else n(c, r, e, i), u = i.length;
|
||||
else e || (i[u++] = c)
|
||||
}
|
||||
return i
|
||||
};
|
||||
m.flatten = function(n, t) {
|
||||
return P(n, t, !1)
|
||||
}, m.without = x((function(n, t) {
|
||||
return m.difference(n, t)
|
||||
})), m.uniq = m.unique = function(n, t, r, e) {
|
||||
m.isBoolean(t) || (e = r, r = t, t = !1), null != r && (r = j(r, e));
|
||||
for (var i = [], u = [], o = 0, a = E(n); o < a; o++) {
|
||||
var c = n[o],
|
||||
f = r ? r(c, o, n) : c;
|
||||
t && !r ? (o && u === f || i.push(c), u = f) : r ? m.contains(u, f) || (u.push(f), i.push(c)) : m.contains(i, c) || i.push(c)
|
||||
}
|
||||
return i
|
||||
}, m.union = x((function(n) {
|
||||
return m.uniq(P(n, !0, !0))
|
||||
})), m.intersection = function(n) {
|
||||
for (var t = [], r = arguments.length, e = 0, i = E(n); e < i; e++) {
|
||||
var u = n[e];
|
||||
if (!m.contains(t, u)) {
|
||||
var o = void 0;
|
||||
for (o = 1; o < r && m.contains(arguments[o], u); o++);
|
||||
o === r && t.push(u)
|
||||
}
|
||||
}
|
||||
return t
|
||||
}, m.difference = x((function(n, t) {
|
||||
return t = P(t, !0, !0), m.filter(n, (function(n) {
|
||||
return !m.contains(t, n)
|
||||
}))
|
||||
})), m.unzip = function(n) {
|
||||
for (var t = n && m.max(n, E).length || 0, r = Array(t), e = 0; e < t; e++) r[e] = m.pluck(n, e);
|
||||
return r
|
||||
}, m.zip = x(m.unzip), m.object = function(n, t) {
|
||||
for (var r = {}, e = 0, i = E(n); e < i; e++) t ? r[n[e]] = t[e] : r[n[e][0]] = n[e][1];
|
||||
return r
|
||||
};
|
||||
var R = function(n) {
|
||||
return function(t, r, e) {
|
||||
r = j(r, e);
|
||||
for (var i = E(t), u = n > 0 ? 0 : i - 1; u >= 0 && u < i; u += n)
|
||||
if (r(t[u], u, t)) return u;
|
||||
return -1
|
||||
}
|
||||
};
|
||||
m.findIndex = R(1), m.findLastIndex = R(-1), m.sortedIndex = function(n, t, r, e) {
|
||||
for (var i = (r = j(r, e, 1))(t), u = 0, o = E(n); u < o;) {
|
||||
var a = Math.floor((u + o) / 2);
|
||||
r(n[a]) < i ? u = a + 1 : o = a
|
||||
}
|
||||
return u
|
||||
};
|
||||
var T = function(n, t, r) {
|
||||
return function(e, i, u) {
|
||||
var o = 0,
|
||||
a = E(e);
|
||||
if ("number" == typeof u) n > 0 ? o = u >= 0 ? u : Math.max(u + a, o) : a = u >= 0 ? Math.min(u + 1, a) : u + a + 1;
|
||||
else if (r && u && a) return e[u = r(e, i)] === i ? u : -1;
|
||||
if (i != i) return (u = t(s.call(e, o, a), m.isNaN)) >= 0 ? u + o : -1;
|
||||
for (u = n > 0 ? o : a - 1; u >= 0 && u < a; u += n)
|
||||
if (e[u] === i) return u;
|
||||
return -1
|
||||
}
|
||||
};
|
||||
m.indexOf = T(1, m.findIndex, m.sortedIndex), m.lastIndexOf = T(-1, m.findLastIndex), m.range = function(n, t, r) {
|
||||
null == t && (t = n || 0, n = 0), r || (r = t < n ? -1 : 1);
|
||||
for (var e = Math.max(Math.ceil((t - n) / r), 0), i = Array(e), u = 0; u < e; u++, n += r) i[u] = n;
|
||||
return i
|
||||
}, m.chunk = function(n, t) {
|
||||
if (null == t || t < 1) return [];
|
||||
for (var r = [], e = 0, i = n.length; e < i;) r.push(s.call(n, e, e += t));
|
||||
return r
|
||||
};
|
||||
var z = function(n, t, r, e, i) {
|
||||
if (!(e instanceof t)) return n.apply(r, i);
|
||||
var u = O(n.prototype),
|
||||
o = n.apply(u, i);
|
||||
return m.isObject(o) ? o : u
|
||||
};
|
||||
m.bind = x((function(n, t, r) {
|
||||
if (!m.isFunction(n)) throw new TypeError("Bind must be called on a function");
|
||||
var e = x((function(i) {
|
||||
return z(n, e, t, this, r.concat(i))
|
||||
}));
|
||||
return e
|
||||
})), m.partial = x((function(n, t) {
|
||||
var r = m.partial.placeholder;
|
||||
return function e() {
|
||||
for (var i = 0, u = t.length, o = Array(u), a = 0; a < u; a++) o[a] = t[a] === r ? arguments[i++] : t[a];
|
||||
for (; i < arguments.length;) o.push(arguments[i++]);
|
||||
return z(n, e, this, this, o)
|
||||
}
|
||||
})), m.partial.placeholder = m, m.bindAll = x((function(n, t) {
|
||||
var r = (t = P(t, !1, !1)).length;
|
||||
if (r < 1) throw new Error("bindAll must be passed function names");
|
||||
for (; r--;) {
|
||||
var e = t[r];
|
||||
n[e] = m.bind(n[e], n)
|
||||
}
|
||||
})), m.memoize = function(n, t) {
|
||||
var r = function r(e) {
|
||||
var i = r.cache,
|
||||
u = "" + (t ? t.apply(this, arguments) : e);
|
||||
return _(i, u) || (i[u] = n.apply(this, arguments)), i[u]
|
||||
};
|
||||
return r.cache = {}, r
|
||||
}, m.delay = x((function(n, t, r) {
|
||||
return setTimeout((function() {
|
||||
return n.apply(null, r)
|
||||
}), t)
|
||||
})), m.defer = m.partial(m.delay, m, 1), m.throttle = function(n, t, r) {
|
||||
var e, i, u, o, a = 0;
|
||||
r || (r = {});
|
||||
var c = function() {
|
||||
a = !1 === r.leading ? 0 : m.now(), e = null, o = n.apply(i, u), e || (i = u = null)
|
||||
},
|
||||
f = function() {
|
||||
var f = m.now();
|
||||
a || !1 !== r.leading || (a = f);
|
||||
var l = t - (f - a);
|
||||
return i = this, u = arguments, l <= 0 || l > t ? (e && (clearTimeout(e), e = null), a = f, o = n.apply(i, u), e || (i = u = null)) : e || !1 === r.trailing || (e = setTimeout(c, l)), o
|
||||
};
|
||||
return f.cancel = function() {
|
||||
clearTimeout(e), a = 0, e = i = u = null
|
||||
}, f
|
||||
}, m.debounce = function(n, t, r) {
|
||||
var e, i, u = function(t, r) {
|
||||
e = null, r && (i = n.apply(t, r))
|
||||
},
|
||||
o = x((function(o) {
|
||||
if (e && clearTimeout(e), r) {
|
||||
var a = !e;
|
||||
e = setTimeout(u, t), a && (i = n.apply(this, o))
|
||||
} else e = m.delay(u, t, this, o);
|
||||
return i
|
||||
}));
|
||||
return o.cancel = function() {
|
||||
clearTimeout(e), e = null
|
||||
}, o
|
||||
}, m.wrap = function(n, t) {
|
||||
return m.partial(t, n)
|
||||
}, m.negate = function(n) {
|
||||
return function() {
|
||||
return !n.apply(this, arguments)
|
||||
}
|
||||
}, m.compose = function() {
|
||||
var n = arguments,
|
||||
t = n.length - 1;
|
||||
return function() {
|
||||
for (var r = t, e = n[t].apply(this, arguments); r--;) e = n[r].call(this, e);
|
||||
return e
|
||||
}
|
||||
}, m.after = function(n, t) {
|
||||
return function() {
|
||||
if (--n < 1) return t.apply(this, arguments)
|
||||
}
|
||||
}, m.before = function(n, t) {
|
||||
var r;
|
||||
return function() {
|
||||
return --n > 0 && (r = t.apply(this, arguments)), n <= 1 && (t = null), r
|
||||
}
|
||||
}, m.once = m.partial(m.before, 2), m.restArguments = x;
|
||||
var B = !{
|
||||
toString: null
|
||||
}.propertyIsEnumerable("toString"),
|
||||
q = ["valueOf", "isPrototypeOf", "toString", "propertyIsEnumerable", "hasOwnProperty", "toLocaleString"],
|
||||
D = function(n, t) {
|
||||
var r = q.length,
|
||||
e = n.constructor,
|
||||
i = m.isFunction(e) && e.prototype || c,
|
||||
u = "constructor";
|
||||
for (_(n, u) && !m.contains(t, u) && t.push(u); r--;)(u = q[r]) in n && n[u] !== i[u] && !m.contains(t, u) && t.push(u)
|
||||
};
|
||||
m.keys = function(n) {
|
||||
if (!m.isObject(n)) return [];
|
||||
if (v) return v(n);
|
||||
var t = [];
|
||||
for (var r in n) _(n, r) && t.push(r);
|
||||
return B && D(n, t), t
|
||||
}, m.allKeys = function(n) {
|
||||
if (!m.isObject(n)) return [];
|
||||
var t = [];
|
||||
for (var r in n) t.push(r);
|
||||
return B && D(n, t), t
|
||||
}, m.values = function(n) {
|
||||
for (var t = m.keys(n), r = t.length, e = Array(r), i = 0; i < r; i++) e[i] = n[t[i]];
|
||||
return e
|
||||
}, m.mapObject = function(n, t, r) {
|
||||
t = j(t, r);
|
||||
for (var e = m.keys(n), i = e.length, u = {}, o = 0; o < i; o++) {
|
||||
var a = e[o];
|
||||
u[a] = t(n[a], a, n)
|
||||
}
|
||||
return u
|
||||
}, m.pairs = function(n) {
|
||||
for (var t = m.keys(n), r = t.length, e = Array(r), i = 0; i < r; i++) e[i] = [t[i], n[t[i]]];
|
||||
return e
|
||||
}, m.invert = function(n) {
|
||||
for (var t = {}, r = m.keys(n), e = 0, i = r.length; e < i; e++) t[n[r[e]]] = r[e];
|
||||
return t
|
||||
}, m.functions = m.methods = function(n) {
|
||||
var t = [];
|
||||
for (var r in n) m.isFunction(n[r]) && t.push(r);
|
||||
return t.sort()
|
||||
};
|
||||
var W = function(n, t) {
|
||||
return function(r) {
|
||||
var e = arguments.length;
|
||||
if (t && (r = Object(r)), e < 2 || null == r) return r;
|
||||
for (var i = 1; i < e; i++)
|
||||
for (var u = arguments[i], o = n(u), a = o.length, c = 0; c < a; c++) {
|
||||
var f = o[c];
|
||||
t && void 0 !== r[f] || (r[f] = u[f])
|
||||
}
|
||||
return r
|
||||
}
|
||||
};
|
||||
m.extend = W(m.allKeys), m.extendOwn = m.assign = W(m.keys), m.findKey = function(n, t, r) {
|
||||
t = j(t, r);
|
||||
for (var e, i = m.keys(n), u = 0, o = i.length; u < o; u++)
|
||||
if (t(n[e = i[u]], e, n)) return e
|
||||
};
|
||||
var H, K, C = function(n, t, r) {
|
||||
return t in r
|
||||
};
|
||||
m.pick = x((function(n, t) {
|
||||
var r = {},
|
||||
e = t[0];
|
||||
if (null == n) return r;
|
||||
m.isFunction(e) ? (t.length > 1 && (e = w(e, t[1])), t = m.allKeys(n)) : (e = C, t = P(t, !1, !1), n = Object(n));
|
||||
for (var i = 0, u = t.length; i < u; i++) {
|
||||
var o = t[i],
|
||||
a = n[o];
|
||||
e(a, o, n) && (r[o] = a)
|
||||
}
|
||||
return r
|
||||
})), m.omit = x((function(n, t) {
|
||||
var r, e = t[0];
|
||||
return m.isFunction(e) ? (e = m.negate(e), t.length > 1 && (r = t[1])) : (t = m.map(P(t, !1, !1), String), e = function(n, r) {
|
||||
return !m.contains(t, r)
|
||||
}), m.pick(n, e, r)
|
||||
})), m.defaults = W(m.allKeys, !0), m.create = function(n, t) {
|
||||
var r = O(n);
|
||||
return t && m.extendOwn(r, t), r
|
||||
}, m.clone = function(n) {
|
||||
return m.isObject(n) ? m.isArray(n) ? n.slice() : m.extend({}, n) : n
|
||||
}, m.tap = function(n, t) {
|
||||
return t(n), n
|
||||
}, m.isMatch = function(n, t) {
|
||||
var r = m.keys(t),
|
||||
e = r.length;
|
||||
if (null == n) return !e;
|
||||
for (var i = Object(n), u = 0; u < e; u++) {
|
||||
var o = r[u];
|
||||
if (t[o] !== i[o] || !(o in i)) return !1
|
||||
}
|
||||
return !0
|
||||
}, H = function(n, t, r, e) {
|
||||
if (n === t) return 0 !== n || 1 / n == 1 / t;
|
||||
if (null == n || null == t) return !1;
|
||||
if (n != n) return t != t;
|
||||
var u = i(n);
|
||||
return ("function" === u || "object" === u || "object" == i(t)) && K(n, t, r, e)
|
||||
}, K = function(n, t, r, e) {
|
||||
n instanceof m && (n = n._wrapped), t instanceof m && (t = t._wrapped);
|
||||
var u = p.call(n);
|
||||
if (u !== p.call(t)) return !1;
|
||||
switch (u) {
|
||||
case "[object RegExp]":
|
||||
case "[object String]":
|
||||
return "" + n == "" + t;
|
||||
case "[object Number]":
|
||||
return +n != +n ? +t != +t : 0 == +n ? 1 / +n == 1 / t : +n == +t;
|
||||
case "[object Date]":
|
||||
case "[object Boolean]":
|
||||
return +n == +t;
|
||||
case "[object Symbol]":
|
||||
return f.valueOf.call(n) === f.valueOf.call(t)
|
||||
}
|
||||
var o = "[object Array]" === u;
|
||||
if (!o) {
|
||||
if ("object" != i(n) || "object" != i(t)) return !1;
|
||||
var a = n.constructor,
|
||||
c = t.constructor;
|
||||
if (a !== c && !(m.isFunction(a) && a instanceof a && m.isFunction(c) && c instanceof c) && "constructor" in n && "constructor" in t) return !1
|
||||
}
|
||||
e = e || [];
|
||||
for (var l = (r = r || []).length; l--;)
|
||||
if (r[l] === n) return e[l] === t;
|
||||
if (r.push(n), e.push(t), o) {
|
||||
if ((l = n.length) !== t.length) return !1;
|
||||
for (; l--;)
|
||||
if (!H(n[l], t[l], r, e)) return !1
|
||||
} else {
|
||||
var s, h = m.keys(n);
|
||||
if (l = h.length, m.keys(t).length !== l) return !1;
|
||||
for (; l--;)
|
||||
if (s = h[l], !_(t, s) || !H(n[s], t[s], r, e)) return !1
|
||||
}
|
||||
return r.pop(), e.pop(), !0
|
||||
}, m.isEqual = function(n, t) {
|
||||
return H(n, t)
|
||||
}, m.isEmpty = function(n) {
|
||||
return null == n || (F(n) && (m.isArray(n) || m.isString(n) || m.isArguments(n)) ? 0 === n.length : 0 === m.keys(n).length)
|
||||
}, m.isElement = function(n) {
|
||||
return !(!n || 1 !== n.nodeType)
|
||||
}, m.isArray = d || function(n) {
|
||||
return "[object Array]" === p.call(n)
|
||||
}, m.isObject = function(n) {
|
||||
var t = i(n);
|
||||
return "function" === t || "object" === t && !!n
|
||||
}, m.each(["Arguments", "Function", "String", "Number", "Date", "RegExp", "Error", "Symbol", "Map", "WeakMap", "Set", "WeakSet"], (function(n) {
|
||||
m["is" + n] = function(t) {
|
||||
return p.call(t) === "[object " + n + "]"
|
||||
}
|
||||
})), m.isArguments(arguments) || (m.isArguments = function(n) {
|
||||
return _(n, "callee")
|
||||
});
|
||||
var L = u.document && u.document.childNodes;
|
||||
"object" != ("undefined" == typeof Int8Array ? "undefined" : i(Int8Array)) && "function" != typeof L && (m.isFunction = function(n) {
|
||||
return "function" == typeof n || !1
|
||||
}), m.isFinite = function(n) {
|
||||
return !m.isSymbol(n) && isFinite(n) && !isNaN(parseFloat(n))
|
||||
}, m.isNaN = function(n) {
|
||||
return m.isNumber(n) && isNaN(n)
|
||||
}, m.isBoolean = function(n) {
|
||||
return !0 === n || !1 === n || "[object Boolean]" === p.call(n)
|
||||
}, m.isNull = function(n) {
|
||||
return null === n
|
||||
}, m.isUndefined = function(n) {
|
||||
return void 0 === n
|
||||
}, m.has = function(n, t) {
|
||||
if (!m.isArray(t)) return _(n, t);
|
||||
for (var r = t.length, e = 0; e < r; e++) {
|
||||
var i = t[e];
|
||||
if (null == n || !h.call(n, i)) return !1;
|
||||
n = n[i]
|
||||
}
|
||||
return !!r
|
||||
}, m.noConflict = function() {
|
||||
return u._ = o, this
|
||||
}, m.identity = function(n) {
|
||||
return n
|
||||
}, m.constant = function(n) {
|
||||
return function() {
|
||||
return n
|
||||
}
|
||||
}, m.noop = function() {}, m.property = function(n) {
|
||||
return m.isArray(n) ? function(t) {
|
||||
return S(t, n)
|
||||
} : A(n)
|
||||
}, m.propertyOf = function(n) {
|
||||
return null == n ? function() {} : function(t) {
|
||||
return m.isArray(t) ? S(n, t) : n[t]
|
||||
}
|
||||
}, m.matcher = m.matches = function(n) {
|
||||
return n = m.extendOwn({}, n),
|
||||
function(t) {
|
||||
return m.isMatch(t, n)
|
||||
}
|
||||
}, m.times = function(n, t, r) {
|
||||
var e = Array(Math.max(0, n));
|
||||
t = w(t, r, 1);
|
||||
for (var i = 0; i < n; i++) e[i] = t(i);
|
||||
return e
|
||||
}, m.random = function(n, t) {
|
||||
return null == t && (t = n, n = 0), n + Math.floor(Math.random() * (t - n + 1))
|
||||
}, m.now = Date.now || function() {
|
||||
return (new Date).getTime()
|
||||
};
|
||||
var U = {
|
||||
"&": "&",
|
||||
"<": "<",
|
||||
">": ">",
|
||||
'"': """,
|
||||
"'": "'",
|
||||
"`": "`"
|
||||
},
|
||||
$ = m.invert(U),
|
||||
J = function(n) {
|
||||
var t = function(t) {
|
||||
return n[t]
|
||||
},
|
||||
r = "(?:" + m.keys(n).join("|") + ")",
|
||||
e = RegExp(r),
|
||||
i = RegExp(r, "g");
|
||||
return function(n) {
|
||||
return n = null == n ? "" : "" + n, e.test(n) ? n.replace(i, t) : n
|
||||
}
|
||||
};
|
||||
m.escape = J(U), m.unescape = J($), m.result = function(n, t, r) {
|
||||
m.isArray(t) || (t = [t]);
|
||||
var e = t.length;
|
||||
if (!e) return m.isFunction(r) ? r.call(n) : r;
|
||||
for (var i = 0; i < e; i++) {
|
||||
var u = null == n ? void 0 : n[t[i]];
|
||||
void 0 === u && (u = r, i = e), n = m.isFunction(u) ? u.call(n) : u
|
||||
}
|
||||
return n
|
||||
};
|
||||
var V = 0;
|
||||
m.uniqueId = function(n) {
|
||||
var t = ++V + "";
|
||||
return n ? n + t : t
|
||||
}, m.templateSettings = {
|
||||
evaluate: /<%([\s\S]+?)%>/g,
|
||||
interpolate: /<%=([\s\S]+?)%>/g,
|
||||
escape: /<%-([\s\S]+?)%>/g
|
||||
};
|
||||
var G = /(.)^/,
|
||||
Q = {
|
||||
"'": "'",
|
||||
"\\": "\\",
|
||||
"\r": "r",
|
||||
"\n": "n",
|
||||
"\u2028": "u2028",
|
||||
"\u2029": "u2029"
|
||||
},
|
||||
X = /\\|'|\r|\n|\u2028|\u2029/g,
|
||||
Y = function(n) {
|
||||
return "\\" + Q[n]
|
||||
};
|
||||
m.template = function(n, t, r) {
|
||||
!t && r && (t = r), t = m.defaults({}, t, m.templateSettings);
|
||||
var e, i = RegExp([(t.escape || G).source, (t.interpolate || G).source, (t.evaluate || G).source].join("|") + "|$", "g"),
|
||||
u = 0,
|
||||
o = "__p+='";
|
||||
n.replace(i, (function(t, r, e, i, a) {
|
||||
return o += n.slice(u, a).replace(X, Y), u = a + t.length, r ? o += "'+\n((__t=(" + r + "))==null?'':_.escape(__t))+\n'" : e ? o += "'+\n((__t=(" + e + "))==null?'':__t)+\n'" : i && (o += "';\n" + i + "\n__p+='"), t
|
||||
})), o += "';\n", t.variable || (o = "with(obj||{}){\n" + o + "}\n"), o = "var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\n" + o + "return __p;\n";
|
||||
try {
|
||||
e = new Function(t.variable || "obj", "_", o)
|
||||
} catch (n) {
|
||||
throw n.source = o, n
|
||||
}
|
||||
var a = function(n) {
|
||||
return e.call(this, n, m)
|
||||
},
|
||||
c = t.variable || "obj";
|
||||
return a.source = "function(" + c + "){\n" + o + "}", a
|
||||
}, m.chain = function(n) {
|
||||
var t = m(n);
|
||||
return t._chain = !0, t
|
||||
};
|
||||
var Z = function(n, t) {
|
||||
return n._chain ? m(t).chain() : t
|
||||
};
|
||||
m.mixin = function(n) {
|
||||
return m.each(m.functions(n), (function(t) {
|
||||
var r = m[t] = n[t];
|
||||
m.prototype[t] = function() {
|
||||
var n = [this._wrapped];
|
||||
return l.apply(n, arguments), Z(this, r.apply(m, n))
|
||||
}
|
||||
})), m
|
||||
}, m.mixin(m), m.each(["pop", "push", "reverse", "shift", "sort", "splice", "unshift"], (function(n) {
|
||||
var t = a[n];
|
||||
m.prototype[n] = function() {
|
||||
var r = this._wrapped;
|
||||
return t.apply(r, arguments), "shift" !== n && "splice" !== n || 0 !== r.length || delete r[0], Z(this, r)
|
||||
}
|
||||
})), m.each(["concat", "join", "slice"], (function(n) {
|
||||
var t = a[n];
|
||||
m.prototype[n] = function() {
|
||||
return Z(this, t.apply(this._wrapped, arguments))
|
||||
}
|
||||
})), m.prototype.value = function() {
|
||||
return this._wrapped
|
||||
}, m.prototype.valueOf = m.prototype.toJSON = m.prototype.value, m.prototype.toString = function() {
|
||||
return String(this._wrapped)
|
||||
}, void 0 === (e = function() {
|
||||
return m
|
||||
}.apply(t, [])) || (n.exports = e)
|
||||
}()
|
||||
}
|
||||
},
|
||||
t = {};
|
||||
|
||||
function r(e) {
|
||||
var i = t[e];
|
||||
if (void 0 !== i) return i.exports;
|
||||
var u = t[e] = {
|
||||
id: e,
|
||||
loaded: !1,
|
||||
exports: {}
|
||||
};
|
||||
return n[e](u, u.exports, r), u.loaded = !0, u.exports
|
||||
}
|
||||
r.g = function() {
|
||||
if ("object" == typeof globalThis) return globalThis;
|
||||
try {
|
||||
return this || new Function("return this")()
|
||||
} catch (n) {
|
||||
if ("object" == typeof window) return window
|
||||
}
|
||||
}(), r.nmd = n => (n.paths = [], n.children || (n.children = []), n), (() => {
|
||||
function n(n) {
|
||||
return function(n) {
|
||||
if (Array.isArray(n)) return t(n)
|
||||
}(n) || function(n) {
|
||||
if ("undefined" != typeof Symbol && null != n[Symbol.iterator] || null != n["@@iterator"]) return Array.from(n)
|
||||
}(n) || function(n, r) {
|
||||
if (!n) return;
|
||||
if ("string" == typeof n) return t(n, r);
|
||||
var e = Object.prototype.toString.call(n).slice(8, -1);
|
||||
"Object" === e && n.constructor && (e = n.constructor.name);
|
||||
if ("Map" === e || "Set" === e) return Array.from(n);
|
||||
if ("Arguments" === e || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e)) return t(n, r)
|
||||
}(n) || function() {
|
||||
throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")
|
||||
}()
|
||||
}
|
||||
|
||||
function t(n, t) {
|
||||
(null == t || t > n.length) && (t = n.length);
|
||||
for (var r = 0, e = new Array(t); r < t; r++) e[r] = n[r];
|
||||
return e
|
||||
}
|
||||
|
||||
function e(n, t) {
|
||||
var r = Object.keys(n);
|
||||
if (Object.getOwnPropertySymbols) {
|
||||
var e = Object.getOwnPropertySymbols(n);
|
||||
t && (e = e.filter((function(t) {
|
||||
return Object.getOwnPropertyDescriptor(n, t).enumerable
|
||||
}))), r.push.apply(r, e)
|
||||
}
|
||||
return r
|
||||
}
|
||||
|
||||
function i(n) {
|
||||
for (var t = 1; t < arguments.length; t++) {
|
||||
var r = null != arguments[t] ? arguments[t] : {};
|
||||
t % 2 ? e(Object(r), !0).forEach((function(t) {
|
||||
u(n, t, r[t])
|
||||
})) : Object.getOwnPropertyDescriptors ? Object.defineProperties(n, Object.getOwnPropertyDescriptors(r)) : e(Object(r)).forEach((function(t) {
|
||||
Object.defineProperty(n, t, Object.getOwnPropertyDescriptor(r, t))
|
||||
}))
|
||||
}
|
||||
return n
|
||||
}
|
||||
|
||||
function u(n, t, r) {
|
||||
return t in n ? Object.defineProperty(n, t, {
|
||||
value: r,
|
||||
enumerable: !0,
|
||||
configurable: !0,
|
||||
writable: !0
|
||||
}) : n[t] = r, n
|
||||
}
|
||||
var o = r(576),
|
||||
a = {
|
||||
color: "orange",
|
||||
radius: [.6, 5],
|
||||
speed: [1, 3],
|
||||
wind: [-1.5, 4]
|
||||
},
|
||||
c = function(t) {
|
||||
var r = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : null,
|
||||
e = arguments.length > 2 ? arguments[2] : void 0,
|
||||
u = i(i({}, a), e),
|
||||
c = u.radius,
|
||||
f = u.speed,
|
||||
l = u.wind,
|
||||
s = u.color,
|
||||
p = {
|
||||
color: s,
|
||||
x: o.random(0, t.offsetWidth),
|
||||
y: o.random(-t.offsetHeight, t.offsetHeight),
|
||||
radius: o.random.apply(o, n(c)),
|
||||
speed: o.random.apply(o, n(f)),
|
||||
wind: o.random.apply(o, n(l)),
|
||||
isResized: !1
|
||||
},
|
||||
h = t.getContext("2d"),
|
||||
d = function() {
|
||||
p.x = o.random(0, t.offsetWidth), p.y = o.random(-t.offsetHeight, 0)
|
||||
},
|
||||
v = function() {
|
||||
return p.isResized = !0
|
||||
},
|
||||
y = function() {
|
||||
h.beginPath(), h.arc(p.x, p.y, p.radius, 0, 2 * Math.PI), h.fillStyle = p.color, h.fill(), h.closePath()
|
||||
},
|
||||
g = r ? function() {
|
||||
return r(h, p)
|
||||
} : y,
|
||||
m = function() {
|
||||
p.y += p.speed, p.x += p.wind
|
||||
},
|
||||
b = function() {
|
||||
p.y < t.offsetHeight || (p.isResized ? (d(), p.isResized = !1) : (p.y = 0, p.x = o.random(0, t.offsetWidth)))
|
||||
},
|
||||
w = function() {
|
||||
m(), b()
|
||||
};
|
||||
return {
|
||||
update: w,
|
||||
resized: v,
|
||||
draw: g
|
||||
}
|
||||
},
|
||||
f = (document.getElementById("background_div"), document.querySelector("body"), document.getElementById("bg-canvas")),
|
||||
l = window.requestAnimationFrame || window.mozRequestAnimationFrame || window.webkitRequestAnimationFrame || window.msRequestAnimationFrame;
|
||||
! function(n, t, r) {
|
||||
var e = n.getContext("2d"),
|
||||
i = [],
|
||||
u = function(t) {
|
||||
return i.push(t(n))
|
||||
},
|
||||
a = function() {
|
||||
e.canvas.width = n.offsetWidth, e.canvas.height = n.offsetHeight, o.forEach(i, (function(n) {
|
||||
return n.resized()
|
||||
}))
|
||||
},
|
||||
f = function t() {
|
||||
e.clearRect(0, 0, n.offsetWidth, n.offsetHeight), o.forEach(i, (function(n) {
|
||||
return n.draw()
|
||||
})), o.forEach(i, (function(n) {
|
||||
return n.update()
|
||||
})), l(t)
|
||||
};
|
||||
o.times(t, (function() {
|
||||
return u((function(n) {
|
||||
return c(n, null, r)
|
||||
}))
|
||||
})), window.addEventListener("resize", a), f(), a()
|
||||
}(f, 500, {
|
||||
color: "white"
|
||||
})
|
||||
})()
|
||||
})();
|
|
@ -0,0 +1,145 @@
|
|||
/*
|
||||
__ __
|
||||
__ __ __ /_//_/ __ __
|
||||
| | / /__ ____/ /__ ___ __ _____ / _/_ _____ ___ ____ / / ___ ___ ____ _
|
||||
| |/ / -_) __/ '_// _ \/ // / _ \/ _/ // / _ \/ _ `(_-</ _ \/ _ `/ // / ' \
|
||||
|___/\__/_/ /_/\_\/_//_/\_,_/ .__/_/ \_,_/_//_/\_, /___/_.__/\_,_/\_,_/_/_/_/
|
||||
/_/ /___/
|
||||
|
||||
*/
|
||||
html,
|
||||
body {
|
||||
margin: 0;
|
||||
height: 100%;
|
||||
font-family: monospace;
|
||||
}
|
||||
|
||||
html {
|
||||
background-image: url('../images/background.webp');
|
||||
background-color: black;
|
||||
background-size: cover;
|
||||
background-attachment: fixed;
|
||||
}
|
||||
|
||||
body {
|
||||
padding-top: 35px;
|
||||
padding-bottom: 35px;
|
||||
height: fit-content;
|
||||
min-height: 100%;
|
||||
}
|
||||
|
||||
:root {
|
||||
--accentcolor: #fff;
|
||||
--delay: .3s;
|
||||
}
|
||||
|
||||
.description,
|
||||
.source {
|
||||
color: white;
|
||||
text-align: center;
|
||||
margin: 27px auto;
|
||||
margin-top: 10px;
|
||||
width: 90%;
|
||||
max-width: 500px;
|
||||
}
|
||||
|
||||
.separator {
|
||||
font-size: 1.1rem;
|
||||
font-weight: unset;
|
||||
}
|
||||
|
||||
.separator, .source {
|
||||
color: white;
|
||||
text-align: center;
|
||||
margin: 25px auto;
|
||||
margin-top: 20px;
|
||||
width: 90%;
|
||||
max-width: 500px;
|
||||
}
|
||||
|
||||
.source {
|
||||
font-size: small;
|
||||
margin-top: 50px;
|
||||
}
|
||||
|
||||
.picture, .picture img {
|
||||
position: relative;
|
||||
width: 130px;
|
||||
height: 130px;
|
||||
display: block;
|
||||
margin: 35px auto 20px;
|
||||
border-radius: 50%;
|
||||
}
|
||||
|
||||
.user {
|
||||
color: var(--accentcolor);
|
||||
font-size: x-large;
|
||||
font-weight: bold;
|
||||
line-height: 1.25;
|
||||
display: block;
|
||||
width: 100%;
|
||||
text-align: center;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.links, .link_list {
|
||||
max-width: 675px;
|
||||
width: auto;
|
||||
display: block;
|
||||
margin: 27px auto;
|
||||
padding-inline-start: 0;
|
||||
}
|
||||
|
||||
.link_item {
|
||||
list-style: none;
|
||||
}
|
||||
|
||||
.link {
|
||||
position: relative;
|
||||
background-color: rgba(0, 0, 0, 0.8);
|
||||
color: var(--accentcolor);
|
||||
border: solid var(--accentcolor) 2px;
|
||||
border-radius: 5px;
|
||||
font-size: 1rem;
|
||||
text-align: center;
|
||||
display: block;
|
||||
margin-left: 10px;
|
||||
margin-right: 10px;
|
||||
margin-bottom: 10px;
|
||||
padding: 10px;
|
||||
text-decoration: none;
|
||||
-webkit-tap-highlight-color: transparent;
|
||||
}
|
||||
|
||||
footer a {
|
||||
color: var(--accentcolor);
|
||||
font-weight: bold;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
@media (hover: hover) {
|
||||
.link:hover {
|
||||
background-color: var(--accentcolor);
|
||||
color: #000;
|
||||
/* Fallback for older browsers */
|
||||
color: rgba(0, 0, 0, 0.5);
|
||||
}
|
||||
}
|
||||
|
||||
.link:active {
|
||||
background-color: var(--accentcolor);
|
||||
color: #000;
|
||||
/* Fallback for older browsers */
|
||||
color: rgba(0, 0, 0, 0.5);
|
||||
}
|
||||
|
||||
|
||||
.flag {
|
||||
width: 1em;
|
||||
border-radius: 0.15em;
|
||||
}
|
||||
|
||||
svg {
|
||||
height: 1.1em;
|
||||
width: auto;
|
||||
}
|
Before Width: | Height: | Size: 357 B After Width: | Height: | Size: 357 B |
Before Width: | Height: | Size: 9.0 KiB After Width: | Height: | Size: 9.0 KiB |
|
@ -1,9 +1,9 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="800" height="480" viewBox="0 0 800 480">
|
||||
<g fill-rule="evenodd">
|
||||
<rect width="800" height="120" fill="#fef433"/>
|
||||
<rect width="800" height="120" y="120" fill="#ffffff"/>
|
||||
<rect width="800" height="120" y="240" fill="#9a59cf"/>
|
||||
<rect width="800" height="120" y="360" fill="#000000"/>
|
||||
</g>
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="800" height="480" viewBox="0 0 800 480">
|
||||
<g fill-rule="evenodd">
|
||||
<rect width="800" height="120" fill="#fef433"/>
|
||||
<rect width="800" height="120" y="120" fill="#ffffff"/>
|
||||
<rect width="800" height="120" y="240" fill="#9a59cf"/>
|
||||
<rect width="800" height="120" y="360" fill="#000000"/>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 414 B After Width: | Height: | Size: 422 B |
|
@ -1,20 +1,20 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Generator: Adobe Illustrator 16.0.4, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg enable-background="new 0 0 419.53 297.64" height="297.64px" version="1.1" viewBox="0 0 419.53 297.64" width="419.53px" x="0px" xml:space="preserve" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" y="0px">
|
||||
<switch>
|
||||
|
||||
<g extraneous="self">
|
||||
<g id="Ebene_1">
|
||||
<rect fill="#4AAAE0" height="297.638" width="419.528" x="0.001" y="-0.569"/>
|
||||
</g>
|
||||
<g id="Ebene_2">
|
||||
<rect fill="#FED905" height="198.425" width="419.528" x="0.002" y="0"/>
|
||||
</g>
|
||||
<g id="Ebene_3">
|
||||
<rect fill="#E5318A" height="99.213" width="419.527"/>
|
||||
</g>
|
||||
</g>
|
||||
</switch>
|
||||
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Generator: Adobe Illustrator 16.0.4, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg enable-background="new 0 0 419.53 297.64" height="297.64px" version="1.1" viewBox="0 0 419.53 297.64" width="419.53px" x="0px" xml:space="preserve" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" y="0px">
|
||||
<switch>
|
||||
|
||||
<g extraneous="self">
|
||||
<g id="Ebene_1">
|
||||
<rect fill="#4AAAE0" height="297.638" width="419.528" x="0.001" y="-0.569"/>
|
||||
</g>
|
||||
<g id="Ebene_2">
|
||||
<rect fill="#FED905" height="198.425" width="419.528" x="0.002" y="0"/>
|
||||
</g>
|
||||
<g id="Ebene_3">
|
||||
<rect fill="#E5318A" height="99.213" width="419.527"/>
|
||||
</g>
|
||||
</g>
|
||||
</switch>
|
||||
|
||||
</svg>
|
Before Width: | Height: | Size: 797 B After Width: | Height: | Size: 816 B |
Before Width: | Height: | Size: 7.3 MiB After Width: | Height: | Size: 7.3 MiB |
|
@ -1,2 +1,2 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" id="Ebene_1" data-name="Ebene 1" viewBox="0 0 419.53 297.64"><defs><style>.cls-1{fill:#ee3124;}.cls-2{fill:#f57f29;}.cls-3{fill:#fff000;}.cls-4{fill:#58b947;}.cls-5{fill:#0054a6;}.cls-6{fill:#9f248f;}.cls-7{fill:#603917;}.cls-8{fill:#7cc0ea;}.cls-9{fill:#f498c0;}.cls-10{fill:#fff;}</style></defs><rect class="cls-1" x="-44.5" y="0.02" width="468.17" height="49.36"/><rect class="cls-2" x="-44.5" y="49.38" width="468.17" height="49.89"/><rect class="cls-3" x="-44.5" y="99.27" width="468.17" height="49.89"/><rect class="cls-4" x="-44.5" y="149.16" width="468.17" height="49.89"/><rect class="cls-5" x="-44.5" y="199.05" width="468.17" height="49.89"/><rect class="cls-6" x="-44.5" y="248.94" width="468.17" height="48.76"/><polygon points="-123.67 -190.44 -462.99 148.88 -126.49 488.08 212.83 148.76 -123.67 -190.44"/><polygon class="cls-7" points="179.93 148.76 -123.75 -157.63 -432.88 148.8 -126.49 455.18 179.93 148.76"/><polygon class="cls-8" points="147.04 148.76 -123.58 -124.55 -399.8 148.97 -126.49 422.29 147.04 148.76"/><polygon class="cls-9" points="116.84 148.76 -123.92 -92 -364.55 148.63 -126.49 389.39 116.84 148.76"/><polygon class="cls-10" points="83.94 148.76 -123.74 -58.93 -331.48 148.81 -126.49 356.49 83.94 148.76"/></svg>
|
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.3 KiB |
|
@ -1,6 +1,6 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 800 400">
|
||||
<path fill="#5BCEFA" d="M0 0h800v400H0z"/>
|
||||
<path fill="#F5A9B8" d="M0 80h800v240H0z"/>
|
||||
<path fill="#FFF" d="M0 160h800v80H0z"/>
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 800 400">
|
||||
<path fill="#5BCEFA" d="M0 0h800v400H0z"/>
|
||||
<path fill="#F5A9B8" d="M0 80h800v240H0z"/>
|
||||
<path fill="#FFF" d="M0 160h800v80H0z"/>
|
||||
</svg>
|
Before Width: | Height: | Size: 242 B After Width: | Height: | Size: 247 B |
365
index.html
|
@ -1,201 +1,164 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<link href="assets/css/style.css" rel="stylesheet">
|
||||
<link href="assets/css/sites.css" rel="stylesheet">
|
||||
<meta name='viewport' content='width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0'>
|
||||
<link rel="shortcut icon" href="assets/images/jax_favicon.ico" type="image/webp">
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="images/favicon.png">
|
||||
<link rel="icon" href="assets/images/jax_favicon.ico" type="image/webp">
|
||||
<title>dalfuss.link</title>
|
||||
<link href="https://fonts.googleapis.com/css2?family=Noto+Sans:ital,wght@0,100..900;1,100..900&display=swap" rel="stylesheet">
|
||||
<script src="https://kit.fontawesome.com/14a35c233c.js" crossorigin="anonymous"></script>
|
||||
</head>
|
||||
<body>
|
||||
<!-- Snowfall Background Animation -->
|
||||
<section class="animated-background">
|
||||
<div id="stars1"></div>
|
||||
<div id="stars2"></div>
|
||||
<div id="stars3"></div>
|
||||
</section>
|
||||
<!-- End of Snowfall Background Animation -->
|
||||
|
||||
<div class="min-h-full flex-h-center" id="background_div">
|
||||
<div class="mt-48 page-full-wrap relative ">
|
||||
<input type="hidden" value="creator-page" id="page-type">
|
||||
<img class="display-image m-auto" data-src="assets/images/profilepicture.webp" src="assets/images/profilepicture.webp" alt="A digital drawing of a person (me) with long wavy hair, transitioning from blonde to pink. They have blue eyes, glasses, a beard, piercings in the nose and lip, and earrings. They are smiling slightly and wearing a black top."/>
|
||||
<h2 class="page-title page-text-color page-text-font mt-16 text-center">Sam Dalfuss</h2>
|
||||
<p class="description">
|
||||
<script>
|
||||
var dob = new Date("08/21/1998");
|
||||
//calculate month difference from current date in time
|
||||
var month_diff = Date.now() - dob.getTime();
|
||||
|
||||
//convert the calculated difference in date format
|
||||
var age_dt = new Date(month_diff);
|
||||
|
||||
//extract year from date
|
||||
var year = age_dt.getUTCFullYear();
|
||||
|
||||
//now calculate the age of the user
|
||||
var age = Math.abs(year - 1970);
|
||||
|
||||
//display the calculated age
|
||||
document.write(age);
|
||||
</script>
|
||||
| they/them/dey/er | Heidelberg | Streamer | Gamer | "Musician" <br>
|
||||
<img class="flag" src="./assets/images/pansexual.svg" /> <img class="flag" src="./assets/images/enby.svg" /> <img class="flag" src="./assets/images/trans.svg" /> <img class="flag" src="./assets/images/prog.svg" />
|
||||
</p>
|
||||
<div class="page-item-wrap relative dalfuss-net">
|
||||
<div class="page-item flex-both-center absolute dalfuss-net"></div>
|
||||
<a target="_blank" class="page-item-each py-10 flex-both-center dalfuss-net" href="https://dalfuss.net" data-id="261652" data-type="page_item">
|
||||
<span class="item-title text-center">dalfuss.net</span>
|
||||
</a>
|
||||
</div>
|
||||
<a id="socials">
|
||||
<h2 class="separator" title="Social Media / About Me">
|
||||
Social Media / About Me
|
||||
</h2>
|
||||
</a>
|
||||
<div class="mt-24">
|
||||
<div class="page-item-wrap relative mastodon">
|
||||
<div class="page-item flex-both-center absolute mastodon"></div>
|
||||
<a target="_blank" class="page-item-each py-10 flex-both-center mastodon" href="https://dalfuss24.de/@sam" data-id="261652" data-type="page_item">
|
||||
<svg class="link-each-image" fill="currentColor" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M433 179.1c0-97.2-63.7-125.7-63.7-125.7-62.5-28.7-228.6-28.4-290.5 0 0 0-63.7 28.5-63.7 125.7 0 115.7-6.6 259.4 105.6 289.1 40.5 10.7 75.3 13 103.3 11.4 50.8-2.8 79.3-18.1 79.3-18.1l-1.7-36.9s-36.3 11.4-77.1 10.1c-40.4-1.4-83-4.4-89.6-54a102.5 102.5 0 0 1 -.9-13.9c85.6 20.9 158.7 9.1 178.8 6.7 56.1-6.7 105-41.3 111.2-72.9 9.8-49.8 9-121.5 9-121.5zm-75.1 125.2h-46.6v-114.2c0-49.7-64-51.6-64 6.9v62.5h-46.3V197c0-58.5-64-56.6-64-6.9v114.2H90.2c0-122.1-5.2-147.9 18.4-175 25.9-28.9 79.8-30.8 103.8 6.1l11.6 19.5 11.6-19.5c24.1-37.1 78.1-34.8 103.8-6.1 23.7 27.3 18.4 53 18.4 175z"/></svg>
|
||||
<span class="item-title text-center">Mastodon/Fediverse</span>
|
||||
</a>
|
||||
</div>
|
||||
<div class="page-item-wrap relative">
|
||||
<div class="page-item flex-both-center absolute"></div>
|
||||
<a target="_blank" class="page-item-each py-10 flex-both-center twitch" href="https://jaxoff.tv" data-id="261685" data-type="page_item">
|
||||
<svg class="link-each-image" fill="currentColor" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M391.2 103.5H352.5v109.7h38.6zM285 103H246.4V212.8H285zM120.8 0 24.3 91.4V420.6H140.1V512l96.5-91.4h77.3L487.7 256V0zM449.1 237.8l-77.2 73.1H294.6l-67.6 64v-64H140.1V36.6H449.1z"/></svg>
|
||||
<span class="item-title text-center">Twitch</span>
|
||||
</a>
|
||||
</div>
|
||||
<div class="page-item-wrap relative">
|
||||
<div class="page-item flex-both-center absolute"></div>
|
||||
<a target="_blank" class="page-item-each py-10 flex-both-center instagram" href="https://dalfuss.link/insta" data-id="261685" data-type="page_item">
|
||||
<svg class="link-each-image" fill="currentColor" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M224.1 141c-63.6 0-114.9 51.3-114.9 114.9s51.3 114.9 114.9 114.9S339 319.5 339 255.9 287.7 141 224.1 141zm0 189.6c-41.1 0-74.7-33.5-74.7-74.7s33.5-74.7 74.7-74.7 74.7 33.5 74.7 74.7-33.6 74.7-74.7 74.7zm146.4-194.3c0 14.9-12 26.8-26.8 26.8-14.9 0-26.8-12-26.8-26.8s12-26.8 26.8-26.8 26.8 12 26.8 26.8zm76.1 27.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9 0-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9 1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0 35.9-1.7 67.7-9.9 93.9-36.2 26.2-26.2 34.4-58 36.2-93.9 2.1-37 2.1-147.8 0-184.8zM398.8 388c-7.8 19.6-22.9 34.7-42.6 42.6-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6 29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6 11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1z"/></svg>
|
||||
<span class="item-title text-center">Instagram</span>
|
||||
</a>
|
||||
</div>
|
||||
<div class="page-item-wrap relative">
|
||||
<div class="page-item flex-both-center absolute"></div>
|
||||
<a target="_blank" class="page-item-each py-10 flex-both-center discord" href="https://dalfuss.link/discord" data-id="261685" data-type="page_item">
|
||||
<svg class="link-each-image" fill="currentColor" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M524.5 69.8a1.5 1.5 0 0 0 -.8-.7A485.1 485.1 0 0 0 404.1 32a1.8 1.8 0 0 0 -1.9 .9 337.5 337.5 0 0 0 -14.9 30.6 447.8 447.8 0 0 0 -134.4 0 309.5 309.5 0 0 0 -15.1-30.6 1.9 1.9 0 0 0 -1.9-.9A483.7 483.7 0 0 0 116.1 69.1a1.7 1.7 0 0 0 -.8 .7C39.1 183.7 18.2 294.7 28.4 404.4a2 2 0 0 0 .8 1.4A487.7 487.7 0 0 0 176 479.9a1.9 1.9 0 0 0 2.1-.7A348.2 348.2 0 0 0 208.1 430.4a1.9 1.9 0 0 0 -1-2.6 321.2 321.2 0 0 1 -45.9-21.9 1.9 1.9 0 0 1 -.2-3.1c3.1-2.3 6.2-4.7 9.1-7.1a1.8 1.8 0 0 1 1.9-.3c96.2 43.9 200.4 43.9 295.5 0a1.8 1.8 0 0 1 1.9 .2c2.9 2.4 6 4.9 9.1 7.2a1.9 1.9 0 0 1 -.2 3.1 301.4 301.4 0 0 1 -45.9 21.8 1.9 1.9 0 0 0 -1 2.6 391.1 391.1 0 0 0 30 48.8 1.9 1.9 0 0 0 2.1 .7A486 486 0 0 0 610.7 405.7a1.9 1.9 0 0 0 .8-1.4C623.7 277.6 590.9 167.5 524.5 69.8zM222.5 337.6c-29 0-52.8-26.6-52.8-59.2S193.1 219.1 222.5 219.1c29.7 0 53.3 26.8 52.8 59.2C275.3 311 251.9 337.6 222.5 337.6zm195.4 0c-29 0-52.8-26.6-52.8-59.2S388.4 219.1 417.9 219.1c29.7 0 53.3 26.8 52.8 59.2C470.7 311 447.5 337.6 417.9 337.6z"/></svg>
|
||||
<span class="item-title text-center">Discord Server</span>
|
||||
</a>
|
||||
</div>
|
||||
<div class="page-item-wrap relative">
|
||||
<div class="page-item flex-both-center absolute"></div>
|
||||
<a target="_blank" class="page-item-each py-10 flex-both-center youtube" href="https://dalfuss.link/youtube" data-id="261685" data-type="page_item">
|
||||
<svg class="link-each-image" fill="currentColor" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M549.7 124.1c-6.3-23.7-24.8-42.3-48.3-48.6C458.8 64 288 64 288 64S117.2 64 74.6 75.5c-23.5 6.3-42 24.9-48.3 48.6-11.4 42.9-11.4 132.3-11.4 132.3s0 89.4 11.4 132.3c6.3 23.7 24.8 41.5 48.3 47.8C117.2 448 288 448 288 448s170.8 0 213.4-11.5c23.5-6.3 42-24.2 48.3-47.8 11.4-42.9 11.4-132.3 11.4-132.3s0-89.4-11.4-132.3zm-317.5 213.5V175.2l142.7 81.2-142.7 81.2z"/></svg>
|
||||
<span class=" item-title text-center">YouTube</span>
|
||||
</a>
|
||||
</div>
|
||||
<div class="page-item-wrap relative">
|
||||
<div class="page-item flex-both-center absolute"></div>
|
||||
<a target="_blank" class="page-item-each py-10 flex-both-center tiktok" href="https://dalfuss.link/tiktok" data-id="261685" data-type="page_item">
|
||||
<svg class="link-each-image" fill="currentColor" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M448 209.9a210.1 210.1 0 0 1 -122.8-39.3V349.4A162.6 162.6 0 1 1 185 188.3V278.2a74.6 74.6 0 1 0 52.2 71.2V0l88 0a121.2 121.2 0 0 0 1.9 22.2h0A122.2 122.2 0 0 0 381 102.4a121.4 121.4 0 0 0 67 20.1z"/></svg>
|
||||
<span class="item-title text-center">TikTok</span>
|
||||
</a>
|
||||
</div>
|
||||
<div class="page-item-wrap relative">
|
||||
<div class="page-item flex-both-center absolute"></div>
|
||||
<a target="_blank" class="page-item-each py-10 flex-both-center anilist" href="https://dalfuss.link/anilist" data-id="261685" data-type="page_item">
|
||||
<svg class="link-each-image" fill="currentColor" width="800px" height="800px" viewBox="0 0 24 24" role="img" xmlns="http://www.w3.org/2000/svg"><path d="M6.361 2.943 0 21.056h4.942l1.077-3.133H11.4l1.052 3.133H22.9c.71 0 1.1-.392 1.1-1.101V17.53c0-.71-.39-1.101-1.1-1.101h-6.483V4.045c0-.71-.392-1.102-1.101-1.102h-2.422c-.71 0-1.101.392-1.101 1.102v1.064l-.758-2.166zm2.324 5.948 1.688 5.018H7.144z"/></svg>
|
||||
<span class="item-title text-center">Anilist</span>
|
||||
</a>
|
||||
</div>
|
||||
<div class="page-item-wrap relative">
|
||||
<div class="page-item flex-both-center absolute"></div>
|
||||
<a target="_blank" class="page-item-each py-10 flex-both-center pronouns" href="https://pronouns.page/@dalfuss" data-id="261685" data-type="page_item">
|
||||
<svg class="link-each-image" fill="currentColor" xmlns="http://www.w3.org/2000/svg" fill="currentColor" viewBox="0 0 650 650"><path d="M396.52 174.35c1.35-2.4.21-4.35-2.54-4.35l-48.2.03c-2.75 0-6.15 1.94-7.54 4.31l-118.1 199.77c-16.48 27.15-39.48 33.15-61.58 30.47-37.94-4.6-58.34-32.45-58.34-69.54 0-37.25 30.31-67.56 67.56-67.56h75c2.75 0 6.12-1.95 7.48-4.34l27.03-47.2c1.37-2.39.23-4.34-2.52-4.34h-107c-68.06 0-123.44 55.37-123.44 123.44 0 32.89 12.85 68.36 36.22 91.54 23.03 22.84 53.8 31.21 86.64 31.89 18.54.21 69.46-.21 93.33-42.68 26.73-47.57 136-241.44 136-241.44zM571.94 244.44c-23.03-22.84-53.8-31.21-86.64-31.89-18.54-.21-69.46.21-93.33 42.68-26.72 47.55-136 241.42-136 241.42-1.35 2.4-.21 4.35 2.54 4.35l48.2-.03c2.75 0 6.15-1.94 7.54-4.31l118.1-199.77c16.48-27.15 39.48-33.15 61.58-30.47 37.94 4.6 58.34 32.45 58.34 69.54 0 37.25-30.31 67.56-67.56 67.56h-75c-2.75 0-6.12 1.95-7.48 4.34l-27.03 47.2c-1.37 2.39-.23 4.34 2.52 4.34h107c68.06 0 123.44-55.37 123.44-123.44 0-32.87-12.85-68.34-36.22-91.52z"/></svg>
|
||||
<span class="item-title text-center">Pronouns.page</span>
|
||||
</a>
|
||||
</div>
|
||||
<a id="stream">
|
||||
<h2 class="separator" title="Stream Notifications">
|
||||
Stream Notifications
|
||||
</h2>
|
||||
</a>
|
||||
<div class="page-item-wrap relative mastodon">
|
||||
<div class="page-item flex-both-center absolute mastodon"></div>
|
||||
<a target="_blank" rel="me" class="page-item-each py-10 flex-both-center mastodon" href="https://dalfuss24.de/@live" data-id="261652" data-type="page_item">
|
||||
<svg class="link-each-image" fill="currentColor" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M433 179.1c0-97.2-63.7-125.7-63.7-125.7-62.5-28.7-228.6-28.4-290.5 0 0 0-63.7 28.5-63.7 125.7 0 115.7-6.6 259.4 105.6 289.1 40.5 10.7 75.3 13 103.3 11.4 50.8-2.8 79.3-18.1 79.3-18.1l-1.7-36.9s-36.3 11.4-77.1 10.1c-40.4-1.4-83-4.4-89.6-54a102.5 102.5 0 0 1 -.9-13.9c85.6 20.9 158.7 9.1 178.8 6.7 56.1-6.7 105-41.3 111.2-72.9 9.8-49.8 9-121.5 9-121.5zm-75.1 125.2h-46.6v-114.2c0-49.7-64-51.6-64 6.9v62.5h-46.3V197c0-58.5-64-56.6-64-6.9v114.2H90.2c0-122.1-5.2-147.9 18.4-175 25.9-28.9 79.8-30.8 103.8 6.1l11.6 19.5 11.6-19.5c24.1-37.1 78.1-34.8 103.8-6.1 23.7 27.3 18.4 53 18.4 175z"/></svg>
|
||||
<span class="item-title text-center">Mastodon/Fediverse</span>
|
||||
</a>
|
||||
</div>
|
||||
<div class="page-item-wrap relative">
|
||||
<div class="page-item flex-both-center absolute"></div>
|
||||
<a target="_blank" class="page-item-each py-10 flex-both-center bluesky" href="https://bsky.app/profile/dalfuss.live" data-id="261685" data-type="page_item">
|
||||
<svg class="link-each-image" fill="currentColor" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M111.8 62.2C170.2 105.9 233 194.7 256 242.4c23-47.6 85.8-136.4 144.2-180.2c42.1-31.6 110.3-56 110.3 21.8c0 15.5-8.9 130.5-14.1 149.2C478.2 298 412 314.6 353.1 304.5c102.9 17.5 129.1 75.5 72.5 133.5c-107.4 110.2-154.3-27.6-166.3-62.9l0 0c-1.7-4.9-2.6-7.8-3.3-7.8s-1.6 3-3.3 7.8l0 0c-12 35.3-59 173.1-166.3 62.9c-56.5-58-30.4-116 72.5-133.5C100 314.6 33.8 298 15.7 233.1C10.4 214.4 1.5 99.4 1.5 83.9c0-77.8 68.2-53.4 110.3-21.8z"/></svg> <span class="item-title text-center">Bluesky</span>
|
||||
</a>
|
||||
</div>
|
||||
<div class="page-item-wrap relative">
|
||||
<div class="page-item flex-both-center absolute"></div>
|
||||
<a target="_blank" class="page-item-each py-10 flex-both-center twitch" href="https://dalfuss.live/schedule" data-id="261685" data-type="page_item">
|
||||
<svg class="link-each-image" fill="currentColor" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M391.2 103.5H352.5v109.7h38.6zM285 103H246.4V212.8H285zM120.8 0 24.3 91.4V420.6H140.1V512l96.5-91.4h77.3L487.7 256V0zM449.1 237.8l-77.2 73.1H294.6l-67.6 64v-64H140.1V36.6H449.1z"/></svg>
|
||||
<span class="item-title text-center">Twitch Schedule</span>
|
||||
</a>
|
||||
</div>
|
||||
<a id="projects">
|
||||
<h2 class="separator" title="Projects">
|
||||
Projects
|
||||
</h2>
|
||||
</a>
|
||||
<div class="page-item-wrap relative">
|
||||
<div class="page-item flex-both-center absolute"></div>
|
||||
<a target="_blank" class="page-item-each py-10 flex-both-center git" href="https://git.dalfuss.cloud/dalfuss" data-id="261685" data-type="page_item">
|
||||
<svg class="link-each-image" fill="currentColor" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M439.6 236.1L244 40.5a28.9 28.9 0 0 0 -40.8 0l-40.7 40.6 51.5 51.5c27.1-9.1 52.7 16.8 43.4 43.7l49.7 49.7c34.2-11.8 61.2 31 35.5 56.7-26.5 26.5-70.2-2.9-56-37.3L240.2 199v121.9c25.3 12.5 22.3 41.9 9.1 55a34.3 34.3 0 0 1 -48.6 0c-17.6-17.6-11.1-46.9 11.3-56v-123c-20.8-8.5-24.6-30.7-18.6-45L142.6 101 8.5 235.1a28.9 28.9 0 0 0 0 40.8l195.6 195.6a28.9 28.9 0 0 0 40.8 0l194.7-194.7a28.9 28.9 0 0 0 0-40.8z"/></svg>
|
||||
<span class="item-title text-center">Git</span>
|
||||
</a>
|
||||
</div>
|
||||
<div class="page-item-wrap relative">
|
||||
<div class="page-item flex-both-center absolute"></div>
|
||||
<a target="_blank" class="page-item-each py-10 flex-both-center elftwinks" href="https://elftwinks.gay" data-id="261685" data-type="page_item">
|
||||
<svg class="link-each-image" fill="currentColor" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M579.8 267.7c56.5-56.5 56.5-148 0-204.5c-50-50-128.8-56.5-186.3-15.4l-1.6 1.1c-14.4 10.3-17.7 30.3-7.4 44.6s30.3 17.7 44.6 7.4l1.6-1.1c32.1-22.9 76-19.3 103.8 8.6c31.5 31.5 31.5 82.5 0 114L422.3 334.8c-31.5 31.5-82.5 31.5-114 0c-27.9-27.9-31.5-71.8-8.6-103.8l1.1-1.6c10.3-14.4 6.9-34.4-7.4-44.6s-34.4-6.9-44.6 7.4l-1.1 1.6C206.5 251.2 213 330 263 380c56.5 56.5 148 56.5 204.5 0L579.8 267.7zM60.2 244.3c-56.5 56.5-56.5 148 0 204.5c50 50 128.8 56.5 186.3 15.4l1.6-1.1c14.4-10.3 17.7-30.3 7.4-44.6s-30.3-17.7-44.6-7.4l-1.6 1.1c-32.1 22.9-76 19.3-103.8-8.6C74 372 74 321 105.5 289.5L217.7 177.2c31.5-31.5 82.5-31.5 114 0c27.9 27.9 31.5 71.8 8.6 103.9l-1.1 1.6c-10.3 14.4-6.9 34.4 7.4 44.6s34.4 6.9 44.6-7.4l1.1-1.6C433.5 260.8 427 182 377 132c-56.5-56.5-148-56.5-204.5 0L60.2 244.3z"/></svg>
|
||||
<span class="item-title text-center">elftwinks.gay</span>
|
||||
</a>
|
||||
</div>
|
||||
<div class="page-item-wrap relative">
|
||||
<div class="page-item flex-both-center absolute"></div>
|
||||
<a target="_blank" class="page-item-each py-10 flex-both-center colours" href="https://colours.dalfuss.link" data-id="261685" data-type="page_item">
|
||||
<svg class="link-each-image" fill="currentColor" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M579.8 267.7c56.5-56.5 56.5-148 0-204.5c-50-50-128.8-56.5-186.3-15.4l-1.6 1.1c-14.4 10.3-17.7 30.3-7.4 44.6s30.3 17.7 44.6 7.4l1.6-1.1c32.1-22.9 76-19.3 103.8 8.6c31.5 31.5 31.5 82.5 0 114L422.3 334.8c-31.5 31.5-82.5 31.5-114 0c-27.9-27.9-31.5-71.8-8.6-103.8l1.1-1.6c10.3-14.4 6.9-34.4-7.4-44.6s-34.4-6.9-44.6 7.4l-1.1 1.6C206.5 251.2 213 330 263 380c56.5 56.5 148 56.5 204.5 0L579.8 267.7zM60.2 244.3c-56.5 56.5-56.5 148 0 204.5c50 50 128.8 56.5 186.3 15.4l1.6-1.1c14.4-10.3 17.7-30.3 7.4-44.6s-30.3-17.7-44.6-7.4l-1.6 1.1c-32.1 22.9-76 19.3-103.8-8.6C74 372 74 321 105.5 289.5L217.7 177.2c31.5-31.5 82.5-31.5 114 0c27.9 27.9 31.5 71.8 8.6 103.9l-1.1 1.6c-10.3 14.4-6.9 34.4 7.4 44.6s34.4 6.9 44.6-7.4l1.1-1.6C433.5 260.8 427 182 377 132c-56.5-56.5-148-56.5-204.5 0L60.2 244.3z"/></svg>
|
||||
<span class="item-title text-center">colours.dalfuss.link</span>
|
||||
</a>
|
||||
</div>
|
||||
<div class="page-item-wrap relative">
|
||||
<div class="page-item flex-both-center absolute"></div>
|
||||
<a target="_blank" class="page-item-each py-10 flex-both-center oc" href="https://oc.dalfuss.link" data-id="261685" data-type="page_item">
|
||||
<svg class="link-each-image" fill="currentColor" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M579.8 267.7c56.5-56.5 56.5-148 0-204.5c-50-50-128.8-56.5-186.3-15.4l-1.6 1.1c-14.4 10.3-17.7 30.3-7.4 44.6s30.3 17.7 44.6 7.4l1.6-1.1c32.1-22.9 76-19.3 103.8 8.6c31.5 31.5 31.5 82.5 0 114L422.3 334.8c-31.5 31.5-82.5 31.5-114 0c-27.9-27.9-31.5-71.8-8.6-103.8l1.1-1.6c10.3-14.4 6.9-34.4-7.4-44.6s-34.4-6.9-44.6 7.4l-1.1 1.6C206.5 251.2 213 330 263 380c56.5 56.5 148 56.5 204.5 0L579.8 267.7zM60.2 244.3c-56.5 56.5-56.5 148 0 204.5c50 50 128.8 56.5 186.3 15.4l1.6-1.1c14.4-10.3 17.7-30.3 7.4-44.6s-30.3-17.7-44.6-7.4l-1.6 1.1c-32.1 22.9-76 19.3-103.8-8.6C74 372 74 321 105.5 289.5L217.7 177.2c31.5-31.5 82.5-31.5 114 0c27.9 27.9 31.5 71.8 8.6 103.9l-1.1 1.6c-10.3 14.4-6.9 34.4 7.4 44.6s34.4 6.9 44.6-7.4l1.1-1.6C433.5 260.8 427 182 377 132c-56.5-56.5-148-56.5-204.5 0L60.2 244.3z"/></svg>
|
||||
<span class="item-title text-center">OC Site</span>
|
||||
</a>
|
||||
</div>
|
||||
<a id="contact">
|
||||
<h2 class="separator" title="Contact">
|
||||
Contact
|
||||
</h2>
|
||||
</a>
|
||||
<div class="page-item-wrap relative">
|
||||
<div class="page-item flex-both-center absolute"></div>
|
||||
<a target="_blank" class="page-item-each py-10 flex-both-center matrix-org" href="https://matrix.to/#/@dalfuss:catgirl.cloud" data-id="261685" data-type="page_item">
|
||||
<span class="item-title text-center">Matrix</span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<footer class="source" aria-label="Footer information">
|
||||
<p>© Sam Dalfuss
|
||||
<script>document.write(new Date().getFullYear())</script>
|
||||
</p>
|
||||
</footer>
|
||||
</body>
|
||||
|
||||
<!--
|
||||
A different snowfall
|
||||
<script src="assets/js/snowfall.js"></script>
|
||||
-->
|
||||
</html>
|
||||
<!--
|
||||
__ __
|
||||
__ __ __ /_//_/ __ __
|
||||
| | / /__ ____/ /__ ___ __ _____ / _/_ _____ ___ ____ / / ___ ___ ____ _
|
||||
| |/ / -_) __/ '_// _ \/ // / _ \/ _/ // / _ \/ _ `(_-</ _ \/ _ `/ // / ' \
|
||||
|___/\__/_/ /_/\_\/_//_/\_,_/ .__/_/ \_,_/_//_/\_, /___/_.__/\_,_/\_,_/_/_/_/
|
||||
/_/ /___/
|
||||
|
||||
-->
|
||||
<!DOCTYPE html>
|
||||
<html lang="en-US">
|
||||
<head> <!--TEST-->
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="description" content="YOUR DESCRIPTION HERE">
|
||||
<title>Dalfuss - Verknüpfungsbaum 🌳🔗 </title>
|
||||
<link rel="icon" href="./images/profile.jpg" type="image/x-icon">
|
||||
<link rel="stylesheet" href="./css/style.css">
|
||||
<!--
|
||||
With sites.css you can give the button a different color
|
||||
-->
|
||||
<link rel="stylesheet" href="./css/sites.css">
|
||||
<!--
|
||||
This script is designed to optimize the display of meta tags when sharing content on social media. By using this script, you can ensure that your content looks its best when it's shared on platforms like Mastodon, Diaspora, and Friendica (and the other pages from corpos!). The script is easy to use and can be customized to fit the specific needs of your website or social media campaign.
|
||||
-->
|
||||
<meta property="og:title" content="Sam Dalfuss - Verknüpfungsbaum 🌳🔗 ">
|
||||
<meta property="og:type" content="website">
|
||||
<meta property="og:image" content="./images/socialmediacard.webp">
|
||||
<meta property="og:url" content="https://dalfuss.link">
|
||||
<meta name="twitter:card" content="summary_large_image">
|
||||
<meta property="og:description" content="send nudes">
|
||||
<meta property="og:site_name" content="Dalfuss - Verknüpfungsbaum 🌳🔗">
|
||||
<!--
|
||||
This script is designed to include the ForkAwesome icon font in your Verknüpfungsbaum. ForkAwesome is a popular icon font that includes hundreds of customizable icons for a variety of purposes.
|
||||
|
||||
For Icon list see: https://forkaweso.me/Fork-Awesome/icons/
|
||||
-->
|
||||
<!-- <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/fork-awesome@1.2.0/css/fork-awesome.min.css" integrity="sha256-XoaMnoYC5TH6/+ihMEnospgm0J1PM/nioxbOUdnM8HY=" crossorigin="anonymous"> -->
|
||||
<script src="https://kit.fontawesome.com/14a35c233c.js" crossorigin="anonymous"></script>
|
||||
</head>
|
||||
<body>
|
||||
<header aria-label="Header with profile image and description">
|
||||
<div class="picture" role="img" aria-label="Profile picture">
|
||||
<img src="./images/profilepicture.webp" alt="YOUR ALT TEXT">
|
||||
</div>
|
||||
<h1 class="user" tabindex="0" title="USERNAME">
|
||||
Sam Dalfuss
|
||||
</h1>
|
||||
<p class="description">
|
||||
<script>
|
||||
var dob = new Date("08/21/1998");
|
||||
//calculate month difference from current date in time
|
||||
var month_diff = Date.now() - dob.getTime();
|
||||
|
||||
//convert the calculated difference in date format
|
||||
var age_dt = new Date(month_diff);
|
||||
|
||||
//extract year from date
|
||||
var year = age_dt.getUTCFullYear();
|
||||
|
||||
//now calculate the age of the user
|
||||
var age = Math.abs(year - 1970);
|
||||
|
||||
//display the calculated age
|
||||
document.write(age);
|
||||
</script>
|
||||
| they/them/dey/er | Heidelberg | Streamer | Gamer | "Musician" <br>
|
||||
<img class="flag" src="./images/pansexual.svg" /> <img class="flag" src="./images/enby.svg" /> <img class="flag" src="./images/trans.svg" /> <img class="flag" src="./images/prog.svg" />
|
||||
</p>
|
||||
<div class="links link_item">
|
||||
<a class="link" href="https://dalfuss.net" target="_blank">
|
||||
Dalfuss.net
|
||||
</a>
|
||||
</div>
|
||||
</header>
|
||||
<main id="main" aria-label="Main content with links">
|
||||
<div class="link_container">
|
||||
<h2 class="separator" title="Social Media / About Me">
|
||||
Social Media / About Me
|
||||
</h2>
|
||||
<ul class="link_list" aria-label="Social Media Link List">
|
||||
<li class="link_item"><a class="link mastodon" rel="me" href="https://dalfuss24.de/@sam" target="_blank"><i class="fa-brands fa-mastodon" aria-hidden="true"></i>
|
||||
Mastodon / Fediverse
|
||||
</a></li>
|
||||
|
||||
<li class="link_item"><a class="link twitch" href="https://dalfuss.live" target="_blank"><i class="fa fa-twitch" aria-hidden="true"></i>
|
||||
Twitch
|
||||
</a></li>
|
||||
|
||||
<li class="link_item"><a class="link instagram" href="https://dalfuss.link/insta" target="_blank"><i class="fa fa-instagram" aria-hidden="true"></i>
|
||||
Instagram
|
||||
</a></li>
|
||||
|
||||
<li class="link_item"><a class="link discord" href="https://dalfuss.link/discord" target="_blank"><i class="fa-brands fa-discord" aria-hidden="true"></i>
|
||||
Discord Server
|
||||
</a></li>
|
||||
|
||||
<li class="link_item"><a class="link youtube" href="https://dalfuss.link/youtube" target="_blank"><i class="fa fa-youtube" aria-hidden="true"></i>
|
||||
YouTube
|
||||
</a></li>
|
||||
|
||||
<li class="link_item"><a class="link tiktok" href="https://dalfuss.link/titok" target="_blank"><i class="fa-brands fa-tiktok" aria-hidden="true"></i>
|
||||
TikTok
|
||||
</a></li>
|
||||
|
||||
<li class="link_item"><a class="link anilist" href="https://dalfuss.link/anilist" target="_blank"><svg fill="currentColor" width="800px" height="800px" viewBox="0 0 24 24" role="img" xmlns="http://www.w3.org/2000/svg"><path d="M6.361 2.943 0 21.056h4.942l1.077-3.133H11.4l1.052 3.133H22.9c.71 0 1.1-.392 1.1-1.101V17.53c0-.71-.39-1.101-1.1-1.101h-6.483V4.045c0-.71-.392-1.102-1.101-1.102h-2.422c-.71 0-1.101.392-1.101 1.102v1.064l-.758-2.166zm2.324 5.948 1.688 5.018H7.144z"/></svg>
|
||||
Anilist
|
||||
</a></li>
|
||||
|
||||
<li class="link_item"><a class="link pronouns" href="https://pronouns.page/@dalfuss" target="_blank"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 650 650"><path d="M396.52 174.35c1.35-2.4.21-4.35-2.54-4.35l-48.2.03c-2.75 0-6.15 1.94-7.54 4.31l-118.1 199.77c-16.48 27.15-39.48 33.15-61.58 30.47-37.94-4.6-58.34-32.45-58.34-69.54 0-37.25 30.31-67.56 67.56-67.56h75c2.75 0 6.12-1.95 7.48-4.34l27.03-47.2c1.37-2.39.23-4.34-2.52-4.34h-107c-68.06 0-123.44 55.37-123.44 123.44 0 32.89 12.85 68.36 36.22 91.54 23.03 22.84 53.8 31.21 86.64 31.89 18.54.21 69.46-.21 93.33-42.68 26.73-47.57 136-241.44 136-241.44zM571.94 244.44c-23.03-22.84-53.8-31.21-86.64-31.89-18.54-.21-69.46.21-93.33 42.68-26.72 47.55-136 241.42-136 241.42-1.35 2.4-.21 4.35 2.54 4.35l48.2-.03c2.75 0 6.15-1.94 7.54-4.31l118.1-199.77c16.48-27.15 39.48-33.15 61.58-30.47 37.94 4.6 58.34 32.45 58.34 69.54 0 37.25-30.31 67.56-67.56 67.56h-75c-2.75 0-6.12 1.95-7.48 4.34l-27.03 47.2c-1.37 2.39-.23 4.34 2.52 4.34h107c68.06 0 123.44-55.37 123.44-123.44 0-32.87-12.85-68.34-36.22-91.52z" fill="#F8F9FA"/></svg>
|
||||
Pronouns.page
|
||||
</a></li>
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
<div class="link_container">
|
||||
<h2 class="separator" title="Projects">
|
||||
Projects
|
||||
</h2>
|
||||
<ul class="link_list" aria-label="Project Link List">
|
||||
|
||||
<li class="link_item"><a class="link git" href="https://git.cyberwa.re/dalfuss" target="_blank"><i class="fa-brands fa-git-alt" aria-hidden="true"></i>
|
||||
Git
|
||||
</a></li>
|
||||
|
||||
<li class="link_item"><a class="link elftwinks" href="https://elftwinks.gay" target="_blank"><i class="fa fa-link" aria-hidden="true"></i>
|
||||
ElfTwinks.Gay
|
||||
</a></li>
|
||||
|
||||
<li class="link_item"><a class="link colours" href="https://colours.dalfuss.link" target="_blank"><i class="fa fa-link" aria-hidden="true"></i>
|
||||
colours.dalfuss.link
|
||||
</a></li>
|
||||
|
||||
<li class="link_item"><a class="link oc" href="https://oc.dalfuss.link" target="_blank"><i class="fa fa-link" aria-hidden="true"></i>
|
||||
OC Site
|
||||
</a></li>
|
||||
|
||||
<li class="link_item"><a class="link Dave" href="https://cyber.ms/@dave" target="_blank"><i class="fa fa-link" aria-hidden="true"></i>
|
||||
Dave
|
||||
</a></li>
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="link_container">
|
||||
<h2 class="separator" title="Contact">
|
||||
Contact
|
||||
</h2>
|
||||
<ul class="link_list" aria-label="Contact Link List">
|
||||
|
||||
<li class="link_item"><a class="link matrix-org" href="https://matrix.to/#/@dalfuss:catgirl.cloud" target="_blank">
|
||||
Matrix
|
||||
</a></li>
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
</main>
|
||||
<footer class="source" aria-label="Footer information">
|
||||
<p>© Sam Dalfuss
|
||||
<script>document.write(new Date().getFullYear())</script>
|
||||
- Created with <a href="https://github.com/revengeday/verknuepfungsbaum" target="_blank">Verknüpfungsbaum 🔗🌳</a></p>
|
||||
</footer>
|
||||
</body>
|
||||
</html>
|
||||
|
|