initial commit lol
This commit is contained in:
commit
3037d7b4b1
6 changed files with 815 additions and 0 deletions
65
animations.css
Normal file
65
animations.css
Normal file
|
|
@ -0,0 +1,65 @@
|
||||||
|
@keyframes appearheader {
|
||||||
|
0% {
|
||||||
|
transform: translateY(-100vw);
|
||||||
|
}
|
||||||
|
50% {
|
||||||
|
transform: translateY(-100vw);
|
||||||
|
}
|
||||||
|
100% {
|
||||||
|
transform: translateY(0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes appearlinksrow {
|
||||||
|
0% {
|
||||||
|
transform: translateX(-100vw);
|
||||||
|
|
||||||
|
}
|
||||||
|
50% {
|
||||||
|
transform: translateX(0);
|
||||||
|
}
|
||||||
|
100% {
|
||||||
|
transform: translateX(0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@keyframes appearcontent {
|
||||||
|
0% {
|
||||||
|
transform: translateX(100vw);
|
||||||
|
}
|
||||||
|
50% {
|
||||||
|
transform: translateX(0);
|
||||||
|
}
|
||||||
|
100% {
|
||||||
|
transform: translateX(0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@keyframes disappearcontent {
|
||||||
|
0% {
|
||||||
|
transform: translateX(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
50% {
|
||||||
|
transform: translateX(-100vw);
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
transform: translateX(-100vw);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes appearfooter {
|
||||||
|
0% {
|
||||||
|
transform: translate(-100vw, 100vw);
|
||||||
|
}
|
||||||
|
50% {
|
||||||
|
transform: translate(0, 100vw);
|
||||||
|
}
|
||||||
|
100% {
|
||||||
|
transform: translate(0, 0);
|
||||||
|
}
|
||||||
|
}
|
||||||
17
base.css
Normal file
17
base.css
Normal file
|
|
@ -0,0 +1,17 @@
|
||||||
|
@font-face {
|
||||||
|
font-family: "Mono Code";
|
||||||
|
src: url("src/FiraCodeNerdFont-Regular.ttf");
|
||||||
|
}
|
||||||
|
|
||||||
|
* {
|
||||||
|
font-family: "Mono Code";
|
||||||
|
color: var(--mtf-font-color);
|
||||||
|
}
|
||||||
|
|
||||||
|
body {
|
||||||
|
background-color: var(--mtf-background-color);
|
||||||
|
/* background-image: var(--mtf-background-image); */
|
||||||
|
background-repeat: no-repeat;
|
||||||
|
background-attachment: fixed;
|
||||||
|
background-size: cover;
|
||||||
|
}
|
||||||
246
boxes.css
Normal file
246
boxes.css
Normal file
|
|
@ -0,0 +1,246 @@
|
||||||
|
.box {
|
||||||
|
color: var(--mtf-font-color);
|
||||||
|
text-align: center;
|
||||||
|
background-color: var(--mtf-background-2-color);
|
||||||
|
border-style: solid;
|
||||||
|
border-color: var(--mtf-accent-color);
|
||||||
|
border-radius: 5px;
|
||||||
|
padding: 20px;
|
||||||
|
margin: 20px;
|
||||||
|
flex-basis: 100%;
|
||||||
|
transition: background-color 0.5s ease, color 0.5s ease;
|
||||||
|
height: inherit;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.box a {
|
||||||
|
color: var(--mtf-font-color);
|
||||||
|
text-decoration: none;
|
||||||
|
display: inline-flex;
|
||||||
|
padding: 0.5% 0.5%;
|
||||||
|
border: solid;
|
||||||
|
border-radius: 10px;
|
||||||
|
border-color: #ffffff00;
|
||||||
|
transition: background-color 0.5s ease, color 0.5s ease;
|
||||||
|
}
|
||||||
|
|
||||||
|
.links a {
|
||||||
|
text-decoration: underline var(--mtf-accent-color) 2px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.box a:visited {
|
||||||
|
color: var(--mtf-font-color);
|
||||||
|
}
|
||||||
|
|
||||||
|
.box a:hover {
|
||||||
|
background-color: var(--mtf-accent-color);
|
||||||
|
color: var(--mtf-background-color);
|
||||||
|
}
|
||||||
|
|
||||||
|
#header {
|
||||||
|
position: relative;
|
||||||
|
display: flex;
|
||||||
|
padding-bottom: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#linksrow {
|
||||||
|
position: relative;
|
||||||
|
padding-bottom: 0px;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.footnote {
|
||||||
|
position: relative;
|
||||||
|
margin-top: 1%;
|
||||||
|
padding-bottom: 0px;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
#mainmain {
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
#main {
|
||||||
|
width: 100%;
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
.box-shower {
|
||||||
|
width: 100%;
|
||||||
|
height: 0px;
|
||||||
|
position: relative;
|
||||||
|
overflow: hidden;
|
||||||
|
transition: height 0.5s ease;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#lightdark {
|
||||||
|
align-self: right;
|
||||||
|
font-size: 40px;
|
||||||
|
border-color: #ffffff00;
|
||||||
|
}
|
||||||
|
|
||||||
|
#lightdark a:hover {
|
||||||
|
background-color: #ffffff00;
|
||||||
|
color: var(--mtf-font-color);
|
||||||
|
}
|
||||||
|
|
||||||
|
#darkmode
|
||||||
|
{
|
||||||
|
display:none;
|
||||||
|
}
|
||||||
|
|
||||||
|
#lightmode {
|
||||||
|
display:inline;
|
||||||
|
}
|
||||||
|
|
||||||
|
#service_icons {
|
||||||
|
margin-left: 25%;
|
||||||
|
width: 50%;
|
||||||
|
position: relative;
|
||||||
|
align-self: right;
|
||||||
|
margin-right: 25%;
|
||||||
|
}
|
||||||
|
|
||||||
|
a.service_icon {
|
||||||
|
color: var(--mtf-font-color);
|
||||||
|
font-size: 30px;
|
||||||
|
min-width: 30px;
|
||||||
|
min-height: 30px;
|
||||||
|
text-align: center;
|
||||||
|
text-justify: auto;
|
||||||
|
background-color: var(--mtf-background-2-color);
|
||||||
|
border-style: solid;
|
||||||
|
border-color: var(--mtf-accent-color);
|
||||||
|
border-radius: 5px;
|
||||||
|
padding: 20px;
|
||||||
|
margin: 20px;
|
||||||
|
transition: background-color 0.5s ease, color 0.5s ease;
|
||||||
|
}
|
||||||
|
|
||||||
|
#bookmarks {
|
||||||
|
left: 0;
|
||||||
|
right: 0;
|
||||||
|
top: -200px;
|
||||||
|
margin-left: auto;
|
||||||
|
margin-right: auto;
|
||||||
|
width: 60%;
|
||||||
|
height: calc(auto + 20%);
|
||||||
|
position: absolute;
|
||||||
|
display: none;
|
||||||
|
opacity: 0;
|
||||||
|
transition: opacity 1s ease;
|
||||||
|
z-index: 10000;
|
||||||
|
}
|
||||||
|
|
||||||
|
bookmarks_close {
|
||||||
|
left: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@media only screen and (max-width: 860px) {
|
||||||
|
.box-wrapper {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
|
.headersplit {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
|
#contact_logobox {
|
||||||
|
max-width: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.contact_logo {
|
||||||
|
min-width: 200px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.dotfiles_image {
|
||||||
|
min-width: 200px;
|
||||||
|
}
|
||||||
|
|
||||||
|
a.bmks {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
#bmks_mtf,
|
||||||
|
#bmks_scl {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
#hdrbx2 {
|
||||||
|
border: none;
|
||||||
|
background: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
#hdrbx1 {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@media only screen and (min-width: 861px) {
|
||||||
|
body {
|
||||||
|
width: 89vw;
|
||||||
|
padding: 5vw;
|
||||||
|
}
|
||||||
|
.box-wrapper {
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-evenly;
|
||||||
|
}
|
||||||
|
|
||||||
|
.headersplit {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
#contact_logobox {
|
||||||
|
max-width: 35%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.contact_logo {
|
||||||
|
max-height: 100%;
|
||||||
|
min-width: 200px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.dotfiles_image {
|
||||||
|
max-height: 100%;
|
||||||
|
max-width: 0.4vw;
|
||||||
|
min-width: 200px;
|
||||||
|
}
|
||||||
|
|
||||||
|
a.bmks {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#hdrbx1,
|
||||||
|
#hdrbx2 {
|
||||||
|
border: none;
|
||||||
|
background: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
.search-box input {
|
||||||
|
outline: none;
|
||||||
|
width: calc(100% - 150px);
|
||||||
|
height: 30px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.search-box button {
|
||||||
|
height: 30px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.contact_logo,
|
||||||
|
.dotfiles_image {
|
||||||
|
max-width: 100%;
|
||||||
|
background-color: var(--mtf-background-2-color);
|
||||||
|
border-style: solid;
|
||||||
|
border-color: var(--mtf-accent-color);
|
||||||
|
border-radius: 5px;
|
||||||
|
margin: 10px 0px 0px 0px;
|
||||||
|
}
|
||||||
269
index.html
Normal file
269
index.html
Normal file
|
|
@ -0,0 +1,269 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="english">
|
||||||
|
|
||||||
|
<!-- Head -->
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<title>Marty.TF</title>
|
||||||
|
<link rel="icon" href="src/marty_narklos.png">
|
||||||
|
<link rel="stylesheet" href="style.css">
|
||||||
|
<script src="script.js"></script>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<!-- Body -->
|
||||||
|
|
||||||
|
<body id="body" onload="startup()">
|
||||||
|
|
||||||
|
<!-- Header Bar -->
|
||||||
|
<div id="header" class="box">
|
||||||
|
<div class="box" id="hdrbx1">
|
||||||
|
</div>
|
||||||
|
<div class="box links" id="hdrbx2">
|
||||||
|
<h1>
|
||||||
|
<a class="link" href="/">Marty.TF</a>
|
||||||
|
</h1>
|
||||||
|
</div>
|
||||||
|
<div class="box" id="lightdark" style="background-color: #ffffff00">
|
||||||
|
<a class="link" href="#" id="lightmode" onclick="button_lightmode()"> </a>
|
||||||
|
<a class="link" href="#" id="darkmode" onclick="button_darkmode()"> </a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- Links Row -->
|
||||||
|
<div id="linksrow" class="box links">
|
||||||
|
<a class="link" href="javascript:void(0)" id="searchbutton" onclick="shiftcontent('search')">search</a>
|
||||||
|
<a class="link" href="javascript:void(0)" id="servicesbutton" onclick="shiftcontent('services')">services</a>
|
||||||
|
<a class="link" href="javascript:void(0)" id="aboutbutton" onclick="shiftcontent('about')">about</a>
|
||||||
|
<br class="headersplit">
|
||||||
|
<a class="link" href="javascript:void(0)" id="dotfilesbutton" onclick="shiftcontent('dotfiles')">dotfiles</a>
|
||||||
|
<!-- <a class="link" href="#" onclick="shiftcontent('server')">Server Setup</a> -->
|
||||||
|
<a class="link" href="javascript:void(0)" id="projectsbutton" onclick="shiftcontent('projects')">projects</a>
|
||||||
|
<a class="link" href="javascript:void(0)" id="contactbutton" onclick="shiftcontent('contact')">contact</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- Content -->
|
||||||
|
<div id="mainmain">
|
||||||
|
<div id="main">
|
||||||
|
|
||||||
|
<div class="box-shower" id="search">
|
||||||
|
<div class="box-wrapper">
|
||||||
|
<div class="box">
|
||||||
|
<form id="search-box" action="https://search.marty.tf/search" method="get" class="search-box">
|
||||||
|
<input id="searchbox" class="box" type="text" name="q" placeholder="search the web" autocomplete="off">
|
||||||
|
<button form="search-box" type="submit" style="display:none">Go</button>
|
||||||
|
</form>
|
||||||
|
<p class="links">powered by <a class="link" href="https://github.com/searxng/searxng">SearXNG</a>, a self-hosted <a class="link" href="https://en.wikipedia.org/wiki/Metasearch_engine"> metasearch engine </a></p>
|
||||||
|
<!--
|
||||||
|
<div class="box-wrapper nolinks" id="service_icons">
|
||||||
|
<a class="service_icon bmks" href="https://watch.marty.tf"> </a>
|
||||||
|
<a class="service_icon bmks" href="https://libreddit.marty.tf"> </a>
|
||||||
|
<a class="service_icon bmks" href="https://cloud.marty.tf"> </a>
|
||||||
|
<a class="service_icon bmks" href="https://elk.zone"> </a>
|
||||||
|
<a class="service_icon" href="javascript:void(0)" onclick="bookmarks_open()"> </a>
|
||||||
|
</div>
|
||||||
|
-->
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
<div class="box" id="bookmarks">
|
||||||
|
<div class="box links">
|
||||||
|
<h2> <a id="bookmarks_close" href="javascript:void(0)" onclick="bookmarks_close()"> close </a> </h2>
|
||||||
|
</div>
|
||||||
|
<div class="box-wrapper">
|
||||||
|
<div class="box links">
|
||||||
|
<h3> <a href="javascript:void(0)" onclick="bmks_exp('bmks_mtf')"> Marty.TF </a> </h3>
|
||||||
|
<div class="box-bmks" id="bmks_mtf">
|
||||||
|
hello
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="box links">
|
||||||
|
<h3> <a href="javasript:void(0)" onclick="bmks_exp('bmks_scl')"> Socials </a> </h3>
|
||||||
|
<div class="box-bmks" id="bmks_scl">
|
||||||
|
bye
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
-->
|
||||||
|
|
||||||
|
<div class="box-shower" id="services">
|
||||||
|
<div class="box-wrapper">
|
||||||
|
<div class="box links">
|
||||||
|
<h3>social media frontends</h3><br>
|
||||||
|
<a class="link" href="https://watch.marty.tf">invidious (youtube)</a> <br>
|
||||||
|
<a class="link" href="https://libreddit.marty.tf">redlib (reddit)</a> <br>
|
||||||
|
<a class="link" href="https://ig.marty.tf">proxigram (instagram)</a> <br>
|
||||||
|
<a class="link" href="https://sl.marty.tf">shoelace (threads)</a> <br>
|
||||||
|
<a class="link" href="https://proxitok.marty.tf">proxitok (tiktok)</a>
|
||||||
|
</div>
|
||||||
|
<div class="box links">
|
||||||
|
<h3>selfhosted services</h3><br>
|
||||||
|
<a class="link" href="https://share.marty.tf">fireshare (video clip sharing)</a> <br>
|
||||||
|
<a class="link" href="https://fedi.marty.tf">gotosocial (fediverse platform)</a> <br>
|
||||||
|
<a class="link" href="https://chat.marty.tf">matrix synapse (chat platform)</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="box-shower" id="about">
|
||||||
|
<div class="box-wrapper">
|
||||||
|
<div class="box">
|
||||||
|
personal website and hosting platform of multiple instance based web services <br>
|
||||||
|
every line of code has been written by a human. no large machine learning models have been used to steal
|
||||||
|
copy-righted and unlicensed code
|
||||||
|
<br> <br>
|
||||||
|
as I am not a webdev, this will be very barebones, and will be an aesthetic disaster <br> <br>
|
||||||
|
enjoy
|
||||||
|
</div>
|
||||||
|
<div class="box links" style="text-align: left">
|
||||||
|
licenses:
|
||||||
|
<ul>
|
||||||
|
<li>font: <a href="https://github.com/Trzcin/Fira-Code-Nerd"> firacode nerd font </a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="box-shower" id="dotfiles">
|
||||||
|
<div class="box-wrapper">
|
||||||
|
<div class="box links">
|
||||||
|
<h4> my dotfiles: </h4>
|
||||||
|
distro: arch linux <br>
|
||||||
|
window manager: hyprland <br>
|
||||||
|
terminal: kitty <br>
|
||||||
|
colour theme: catppuccin mocha (green) <br>
|
||||||
|
bar: waybar <br>
|
||||||
|
notifications: mako <br>
|
||||||
|
browser: firefox <br>
|
||||||
|
editor: emacs <br>
|
||||||
|
link to dotfiles: <a class="link" href="https://github.com/martyTF/dotfiles">github repo</a>
|
||||||
|
</div>
|
||||||
|
<div class="box">
|
||||||
|
<img class="dotfiles_image" src="src/dotfiles.png" alt="A screenshot of a monitor with 3 terminals, running asciiquarium, cava and nerdfetch, to display my dotfiles">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="box-shower" id="server">
|
||||||
|
<div class="box-wrapper">
|
||||||
|
<div class="box links">
|
||||||
|
<h1>WIP</h1>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="box-shower" id="projects">
|
||||||
|
<div class="box-wrapper">
|
||||||
|
<div class="box" id="projectbox">
|
||||||
|
<h2>School Projects</h2>
|
||||||
|
<div class="projects links">
|
||||||
|
<a class="link" href="javascript:void(0)" id="cybersec_glb11cbutton" onclick="shiftcontent('cybersec_glb11c')">Präsentation Cybersecurity</a>
|
||||||
|
<br>
|
||||||
|
<a class="link" href="/projects/pflanzenbuch/" style="display: none;">Pflanzenbuch</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="box-shower" id="cybersec_glb11c">
|
||||||
|
<div class="box-wrapper">
|
||||||
|
<div class="box">
|
||||||
|
<h2>Links</h2>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="box-wrapper">
|
||||||
|
|
||||||
|
<div class="box-wrapper cybersec">
|
||||||
|
<div class="box">
|
||||||
|
<h3>Privacy Tools</h3>
|
||||||
|
<a href="https://www.amiunique.org/fp">Ist dein Browser-Fingerprint einzigartig? Wenn ja, kann dich jede
|
||||||
|
Website identifizieren</a><br>
|
||||||
|
<a href="https://haveibeenpwned.com/">Email-Adressen nach Passwort-Leaks checken</a><br>
|
||||||
|
<a href="https://tosdr.org/">Zusammenfassungen vom "Kleingedruchten"</a><br>
|
||||||
|
<a href="https://vault.bitwarden.com/#/register">Bester Passwort-Manager</a><br>
|
||||||
|
</div>
|
||||||
|
<div class="box">
|
||||||
|
<h3>Social Media Frontends</h3>
|
||||||
|
<a href="https://nitter.net/">Nitter (Twitter)</a><br>
|
||||||
|
<a href="https://invidious.kavin.rocks">Invidious (YouTube)</a><br>
|
||||||
|
<a href="https://libreddit.marty.tf/">libReddit (Reddit)</a><br>
|
||||||
|
<a href="https://github.com/libredirect/libredirect#readme">App, welche automatisch zu diesen Diensten
|
||||||
|
weiterleitet</a><br>
|
||||||
|
<a
|
||||||
|
href="https://github.com/digitalblossom/alternative-frontends/blob/main/README.md#alternative-frontends">Volle
|
||||||
|
Liste aller Social Media Frontends</a><br>
|
||||||
|
</div>
|
||||||
|
<div class="box">
|
||||||
|
<h3>Fediverse</h3>
|
||||||
|
<a href="https://joinmastodon.org/">Homepage der größten Fediverse-Platform</a><br>
|
||||||
|
<a href="https://mastodon.social">Größter Mastodon Server; guter Startpunkt, um das Fediverse
|
||||||
|
kennenzulernen</a><br>
|
||||||
|
<a href="https://fedi.tips/">Benutzerfreundlicher Guide für das Fediverse</a><br>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="box-shower" id="contact">
|
||||||
|
<div class="box-wrapper">
|
||||||
|
<div class="box" id="contact_logobox">
|
||||||
|
<img class="contact_logo" src="src/marty_narklos.png" alt="a drawing of me, by narklos">
|
||||||
|
<br> <br>
|
||||||
|
headshot drawn by <a class="link" href="https://linktr.ee/Narklos">narklos</a>
|
||||||
|
</div>
|
||||||
|
<div class="box links" id="contactbox">
|
||||||
|
<div class="box-wrapper">
|
||||||
|
<div class="box">
|
||||||
|
discord
|
||||||
|
</div>
|
||||||
|
<div class="box">
|
||||||
|
<a href="https://discordapp.com/channels/@me/166778675390447616">martytf</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="box-wrapper">
|
||||||
|
<div class="box">
|
||||||
|
mail
|
||||||
|
</div>
|
||||||
|
<div class="box">
|
||||||
|
<a href="mailto:marty@marty.tf"> marty@marty.tf </a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="box-wrapper">
|
||||||
|
<div class="box">
|
||||||
|
matrix
|
||||||
|
</div>
|
||||||
|
<div class="box">
|
||||||
|
<a href="https://matrix.to/#/@marty:chat.marty.tf"> @marty:chat.marty.tf </a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="box-wrapper">
|
||||||
|
<div class="box">
|
||||||
|
fediverse
|
||||||
|
</div>
|
||||||
|
<div class="box">
|
||||||
|
<a rel="me" href="https://fedi.marty.tf/@marty"> @marty@fedi.marty.tf </a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="box footnote links" id="footer">
|
||||||
|
© 2023-2024 Marty.TF
|
||||||
|
|
|
||||||
|
<a class="link" href="https://github.com/martyTF/marty.tf-new">github repo</a>
|
||||||
|
|
|
||||||
|
<a class="link" href="https://martytf.github.io/marty.tf-new/">last stable version</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
|
||||||
|
</html>
|
||||||
215
script.js
Normal file
215
script.js
Normal file
|
|
@ -0,0 +1,215 @@
|
||||||
|
function setCookie(cname, cvalue, exdays) {
|
||||||
|
const d = new Date();
|
||||||
|
d.setTime(d.getTime() + (exdays * 24 * 60 * 60 * 1000));
|
||||||
|
let expires = "expires=" + d.toUTCString();
|
||||||
|
document.cookie = cname + "=" + cvalue + ";" + expires + ";path=/";
|
||||||
|
};
|
||||||
|
|
||||||
|
function getCookie(cname) {
|
||||||
|
let name = cname + "=";
|
||||||
|
let decodedCookie = decodeURIComponent(document.cookie);
|
||||||
|
let ca = decodedCookie.split(';');
|
||||||
|
for (let i = 0; i < ca.length; i++) {
|
||||||
|
let c = ca[i];
|
||||||
|
while (c.charAt(0) == ' ') {
|
||||||
|
c = c.substring(1);
|
||||||
|
}
|
||||||
|
if (c.indexOf(name) == 0) {
|
||||||
|
return c.substring(name.length, c.length);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return "";
|
||||||
|
};
|
||||||
|
|
||||||
|
function show(content) {
|
||||||
|
var cont = document.getElementById(content);
|
||||||
|
cont.style.transition = "height 1s ease";
|
||||||
|
cont.style.height = "auto";
|
||||||
|
var contheight = cont.offsetHeight;
|
||||||
|
cont.style.height = "0px";
|
||||||
|
setTimeout(function () {
|
||||||
|
cont.style.height = contheight + "px";
|
||||||
|
cont.style.overflow = "none";
|
||||||
|
}, 1);
|
||||||
|
};
|
||||||
|
|
||||||
|
function showcontent(content) {
|
||||||
|
show(content);
|
||||||
|
var contbutton = document.getElementById(content + "button");
|
||||||
|
contbutton.style.background = "var(--mtf-accent-color)";
|
||||||
|
contbutton.style.color = "var(--mtf-background-color)";
|
||||||
|
};
|
||||||
|
|
||||||
|
function hidecontent(content) {
|
||||||
|
var cont = document.getElementById(content);
|
||||||
|
var contbutton = document.getElementById(content + "button");
|
||||||
|
cont.style.transition = "height 1s ease";
|
||||||
|
setTimeout(function () {
|
||||||
|
cont.style.height = "0px";
|
||||||
|
cont.style.overflow = "none";
|
||||||
|
}, 1);
|
||||||
|
contbutton.style.background = "var(--mtf-base-color)";
|
||||||
|
contbutton.style.color = "var(--mtf-font-color)";
|
||||||
|
};
|
||||||
|
|
||||||
|
function startup() {
|
||||||
|
// var srch = document.getElementById("search");
|
||||||
|
// srch.style.height = "auto";
|
||||||
|
// srch.style.overflow = "auto";
|
||||||
|
// var srchh = srch.offsetHeight;
|
||||||
|
// var srchh = srchh + "px";
|
||||||
|
// srch.style.height = srchh;
|
||||||
|
setTimeout(function () {
|
||||||
|
document.getElementById('searchbox').focus();
|
||||||
|
}, 200);
|
||||||
|
if (getCookie("contentlist") == "") {
|
||||||
|
setCookie("contentlist", "search", 10000);
|
||||||
|
}
|
||||||
|
var darklight = getCookie("darklightc");
|
||||||
|
if (darklight == 0) {
|
||||||
|
button_lightmode();
|
||||||
|
}
|
||||||
|
else if (darklight == 1) {
|
||||||
|
button_darkmode();
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
return "";
|
||||||
|
};
|
||||||
|
var k = getCookie("contentlist").split(' ').length;
|
||||||
|
for (var l = 0; l < k; l++)
|
||||||
|
{
|
||||||
|
showcontent(getCookie("contentlist").split(' ')[l]);
|
||||||
|
};
|
||||||
|
|
||||||
|
show("header");
|
||||||
|
show("linksrow");
|
||||||
|
show("footer");
|
||||||
|
};
|
||||||
|
|
||||||
|
function shiftcontent(content) {
|
||||||
|
var contentlist = getCookie("contentlist");
|
||||||
|
let containcontent = contentlist.includes(content);
|
||||||
|
if (containcontent == false) {
|
||||||
|
newcontentlist = getCookie("contentlist") + " " + content;
|
||||||
|
setCookie("contentlist", newcontentlist, 10000);
|
||||||
|
showcontent(content);
|
||||||
|
var cont = document.getElementById(content);
|
||||||
|
var position = cont.getBoundingClientRect().top;
|
||||||
|
window.scrollTo({
|
||||||
|
top: position,
|
||||||
|
left: 0,
|
||||||
|
behavior: "smooth",
|
||||||
|
});
|
||||||
|
setTimeout(function () {
|
||||||
|
window.scrollTo({
|
||||||
|
top: position,
|
||||||
|
left: 0,
|
||||||
|
behavior: "smooth",
|
||||||
|
});
|
||||||
|
}, 300);
|
||||||
|
}
|
||||||
|
else if (containcontent == true) {
|
||||||
|
newcontentlist = getCookie("contentlist").replace(content,'');
|
||||||
|
setCookie("contentlist", newcontentlist, 10000);
|
||||||
|
hidecontent(content);
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
//function shiftcontent(content) {
|
||||||
|
// var x = document.getElementsByClassName("box-shower");
|
||||||
|
// var cont = document.getElementById(content);
|
||||||
|
// cont.style.height = "auto";
|
||||||
|
// var contheight = cont.offsetHeight;
|
||||||
|
// cont.style.height = "0px";
|
||||||
|
// for (var i = 0; i < x.length; i++)
|
||||||
|
// {
|
||||||
|
// x[i].style.height = "0px";
|
||||||
|
// x[i].style.overflow = "hidden";
|
||||||
|
// };
|
||||||
|
// setTimeout(function() {
|
||||||
|
// contheight = contheight + "px";
|
||||||
|
// cont.style.height = contheight;
|
||||||
|
// cont.style.overflow = "auto";
|
||||||
|
// }, 500);
|
||||||
|
// if (content == "search") {
|
||||||
|
// setTimeout(function ()
|
||||||
|
// {
|
||||||
|
// document.getElementById('searchbox').focus();
|
||||||
|
// }, 700);
|
||||||
|
// }
|
||||||
|
// else {
|
||||||
|
// return "";
|
||||||
|
// }
|
||||||
|
//};
|
||||||
|
|
||||||
|
function toggleld(ld) {
|
||||||
|
let clrs = document.body.style;
|
||||||
|
if (ld == light) {
|
||||||
|
document.getElementById("darkmode").style.display = "inline";
|
||||||
|
document.getElementById("lightmode").style.display = "none";
|
||||||
|
clrs.setProperty('--mtf-background-color', "#eff1f5");
|
||||||
|
clrs.setProperty('--mtf-font-color', "#4c4f69");
|
||||||
|
clrs.setProperty('--mtf-background-2-color', "#e6e9efdf");
|
||||||
|
clrs.setProperty('--mtf-accent-color', "#dc8a78");
|
||||||
|
clrs.setProperty('--mtf-background-image', "url('src/Clearnight.jpg')");
|
||||||
|
setCookie("darklightc", 0, 30);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
document.getElementById("darkmode").style.display = "none";
|
||||||
|
document.getElementById("lightmode").style.display = "inline";
|
||||||
|
clrs.setProperty('--mtf-background-color', "#1e1e2e");
|
||||||
|
clrs.setProperty('--mtf-font-color', "#cdd6f4");
|
||||||
|
clrs.setProperty('--mtf-background-2-color', "#181825df");
|
||||||
|
clrs.setProperty('--mtf-accent-color', "#f5e0dc");
|
||||||
|
clrs.setProperty('--mtf-background-image', "url('src/Clearday.jpg')");
|
||||||
|
setCookie("darklightc", 1, 30);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
function button_lightmode() {
|
||||||
|
document.getElementById("darkmode").style.display = "inline";
|
||||||
|
document.getElementById("lightmode").style.display = "none";
|
||||||
|
document.body.style.setProperty('--mtf-background-color', "#eff1f5");
|
||||||
|
document.body.style.setProperty('--mtf-font-color', "#4c4f69");
|
||||||
|
document.body.style.setProperty('--mtf-background-2-color', "#e6e9efdf");
|
||||||
|
document.body.style.setProperty('--mtf-accent-color', "#dc8a78");
|
||||||
|
document.body.style.setProperty('--mtf-background-image', "url('src/Clearnight.jpg')");
|
||||||
|
setCookie("darklightc", 0, 30);
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
function button_darkmode() {
|
||||||
|
document.getElementById("darkmode").style.display = "none";
|
||||||
|
document.getElementById("lightmode").style.display = "inline";
|
||||||
|
document.body.style.setProperty('--mtf-background-color', "#1e1e2e");
|
||||||
|
document.body.style.setProperty('--mtf-font-color', "#cdd6f4");
|
||||||
|
document.body.style.setProperty('--mtf-background-2-color', "#181825df");
|
||||||
|
document.body.style.setProperty('--mtf-accent-color', "#f5e0dc");
|
||||||
|
document.body.style.setProperty('--mtf-background-image', "url('src/Clearday.jpg')");
|
||||||
|
setCookie("darklightc", 1, 30);
|
||||||
|
};
|
||||||
|
|
||||||
|
function bookmarks_open() {
|
||||||
|
let bmks = document.getElementById("bookmarks");
|
||||||
|
bmks.style.display = "block";
|
||||||
|
bmks.style.opacity = "1"
|
||||||
|
};
|
||||||
|
|
||||||
|
function bookmarks_close() {
|
||||||
|
let bmks = document.getElementById("bookmarks");
|
||||||
|
bmks.style.display = "none";
|
||||||
|
bmks.style.opacity = "0";
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
function bmks_exp(bmrk) {
|
||||||
|
var bmk = document.getElementById(bmrk);
|
||||||
|
var disp = window.getComputedStyle(bmk).display;
|
||||||
|
if (disp == "none") {
|
||||||
|
bmk.style.display = "block";
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
bmk.style.display = "none";
|
||||||
|
}
|
||||||
|
}
|
||||||
3
style.css
Normal file
3
style.css
Normal file
|
|
@ -0,0 +1,3 @@
|
||||||
|
@import "base.css";
|
||||||
|
@import "boxes.css";
|
||||||
|
@import "animations.css";
|
||||||
Loading…
Add table
Add a link
Reference in a new issue