Compare commits
2 commits
2734bc7fbb
...
e83758fc07
Author | SHA1 | Date | |
---|---|---|---|
Michael Rodin | e83758fc07 | ||
Michael Rodin | 05500cb27b |
9
.gitignore
vendored
9
.gitignore
vendored
|
@ -1,9 +1,8 @@
|
||||||
/*
|
/**
|
||||||
|
|
||||||
!/root
|
!/root
|
||||||
|
!/root/static
|
||||||
|
!/root/static/**
|
||||||
!/.gitignore
|
!/.gitignore
|
||||||
!/uptime-kuma-homepage.py
|
|
||||||
!/example.env.py
|
!/example.env.py
|
||||||
!/requirements.txt
|
!/requirements.txt
|
||||||
|
|
||||||
/root/homepagehtml.html
|
|
|
@ -1,2 +1 @@
|
||||||
uptime-kuma-api
|
uptime-kuma-api
|
||||||
json
|
|
|
@ -1,7 +1,18 @@
|
||||||
|
:root {
|
||||||
|
--foreground: #aa998fff; /*cinereous*/
|
||||||
|
--background: hsl(20, 12%, 75%);
|
||||||
|
--text: #454545ff; /*onyx*/
|
||||||
|
--tea-green: #e0fbb1ff;
|
||||||
|
--celestial-blue: #20a4f3ff;
|
||||||
|
--rust: #bc3908ff;
|
||||||
|
}
|
||||||
|
|
||||||
body {
|
body {
|
||||||
padding: 0;
|
padding: 0;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
font-family: Roboto;
|
font-family: Roboto;
|
||||||
|
color: var(--text);
|
||||||
|
background: var(--background);
|
||||||
}
|
}
|
||||||
|
|
||||||
@font-face {
|
@font-face {
|
||||||
|
@ -10,71 +21,81 @@ body {
|
||||||
}
|
}
|
||||||
|
|
||||||
.darkerbar {
|
.darkerbar {
|
||||||
background: lightgrey;
|
background: var(--foreground);
|
||||||
width: 100%;
|
width: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
#content > p {
|
header {
|
||||||
text-align: justify;
|
|
||||||
}
|
|
||||||
|
|
||||||
#topbar {
|
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
height: 5em;
|
height: 5em;
|
||||||
border-bottom: grey 1px solid;
|
border-bottom: grey 1px solid;
|
||||||
}
|
}
|
||||||
|
|
||||||
#content {
|
main {
|
||||||
padding: 1em;
|
padding: 1em;
|
||||||
}
|
}
|
||||||
|
|
||||||
a.item {
|
main > p {
|
||||||
text-decoration: none;
|
text-align: justify;
|
||||||
display: inline-flex;
|
}
|
||||||
flex: 0 2 80em;
|
|
||||||
|
#links-container {
|
||||||
|
justify-content: center;
|
||||||
|
display: flex;
|
||||||
|
width: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
div.item {
|
div.item {
|
||||||
background: lightgrey;
|
margin: 0 0.4em;
|
||||||
display: flex;
|
display: flex;
|
||||||
flex: 0 2 80em;
|
position: relative;
|
||||||
margin: 0.1em;
|
width: min-content;
|
||||||
padding: 0em 0.4em;
|
background: var(--foreground);
|
||||||
border: 1px grey solid;
|
border: solid grey 2px;
|
||||||
border-radius: 0.5em;
|
border-radius: 15pt;
|
||||||
box-sizing: border-box;
|
}
|
||||||
vertical-align: middle;
|
|
||||||
|
div.item > a {
|
||||||
|
border-radius: inherit;
|
||||||
|
position: absolute;
|
||||||
|
height: 100%;
|
||||||
|
width: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
div.item:hover {
|
div.item:hover {
|
||||||
background: beige;
|
animation:hover 0.2s forwards;
|
||||||
}
|
}
|
||||||
|
|
||||||
h2.item {
|
@keyframes hover {
|
||||||
text-decoration: none;
|
0% {background: var(--foreground)}
|
||||||
white-space: nowrap;
|
100% {background: var(--tea-green)}
|
||||||
color: black;
|
|
||||||
min-width: 7em;
|
|
||||||
margin: 1em 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.desc {
|
img.item {
|
||||||
text-decoration: none;
|
height: inherit;
|
||||||
font-size: 1em;
|
}
|
||||||
color: black;
|
|
||||||
margin: 0 3em;
|
div.image {
|
||||||
|
border-radius: 15pt;
|
||||||
|
height: 58pt;
|
||||||
|
width: auto;
|
||||||
|
display: inline-block;
|
||||||
|
padding: 5pt;
|
||||||
|
margin: 12pt 10pt 12pt 12pt;
|
||||||
|
background: white;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.desc {
|
||||||
|
margin: auto 6pt auto 0;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
align-self: center;
|
font-weight: 700;
|
||||||
}
|
font-size:15pt;
|
||||||
|
|
||||||
div.item-list {
|
|
||||||
display: flex;
|
|
||||||
justify-content: center;
|
|
||||||
flex-wrap: wrap;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
footer {
|
footer {
|
||||||
display: block;
|
position: fixed;
|
||||||
|
display: flex;
|
||||||
|
left: 0;
|
||||||
bottom: 0;
|
bottom: 0;
|
||||||
height: 10em;
|
height: 10em;
|
||||||
border-top: grey 1px solid;
|
border-top: grey 1px solid;
|
||||||
|
|
|
@ -10,17 +10,31 @@ $title = "Marcel's Homepage";
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
<div id="topbar" class="darkerbar"><h1><?php echo $title; ?></h1> </div>
|
<header id="topbar" class="darkerbar"><h1><?php echo $title; ?></h1> </header>
|
||||||
|
|
||||||
<div id="content">
|
<main>
|
||||||
<p>Hi, I am Marcel and this is my server (and my ugly homepage)! Lorem ipsum dolor sit amet or something.<br>
|
<div id="links-container">
|
||||||
Most of my services are for private use, because I don't want to track every user on my server or guarantee flawless connectivity.<br>
|
<div class="item" id="authentik">
|
||||||
If you know me personally, you may ask me for an account on one of my services.
|
<div class="image"><img class="item" alt="logo" src="static/authentik.svg"></div><div class="desc">authentik</div>
|
||||||
If you don't know me personally, then I probably won't give you access to my services.</p>
|
<a href="https://auth.marcelsite.com"></a>
|
||||||
<div class="item-list">
|
</div>
|
||||||
<?php include "/var/www/html/root/homepagehtml.html" ?>
|
<div class="item" id="uptime-kuma">
|
||||||
</div>
|
<div class="image"><img class="item" alt="logo" src="static/uptime-kuma.svg"></div><div class="desc">Uptime Kuma</div>
|
||||||
|
<a href="https://status.marcelsite.com"></a>
|
||||||
|
</div>
|
||||||
|
<div class="item" id="forgejo">
|
||||||
|
<div class="image"><img class="item" alt="logo" src="static/forgejo.svg"></div><div class="desc">Forgejo</div>
|
||||||
|
<a href="https://git.marcelsite.com"></a>
|
||||||
|
</div>
|
||||||
|
<div class="item" id="element">
|
||||||
|
<div class="image"><img class="item" alt="logo" src="static/element.svg"></div><div class="desc">Matrix (Element)</div>
|
||||||
|
<a href="https://element.marcelsite.com"></a>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<p>
|
||||||
|
You've reached my realm. Now look around or leave.
|
||||||
|
</p>
|
||||||
|
</main>
|
||||||
|
|
||||||
|
|
||||||
<footer id="bottombar" class="darkerbar"> </footer>
|
<footer id="bottombar" class="darkerbar"> </footer>
|
||||||
|
|
1
root/static/authentik.svg
Normal file
1
root/static/authentik.svg
Normal file
|
@ -0,0 +1 @@
|
||||||
|
<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1000 1000"><defs><style>.cls-1{fill:#fd4b2d;}</style></defs><rect class="cls-1" x="546.66" y="275.34" width="34.99" height="99.97"/><rect class="cls-1" x="637.66" y="271.13" width="34.99" height="78.19"/><path class="cls-1" d="M127.64,385.31a127.57,127.57,0,0,0-112.13,66.9H74.82c26.27-22.67,64.42-29.28,92,0h62.8C205.11,419.06,168.36,385.31,127.64,385.31Z"/><path class="cls-1" d="M212.39,512.53C130.55,683.65-12.89,537.81,74.82,452.21H15.51C-31,533.33,33.3,642.73,127.64,640.24c73,0,133.2-108.3,133.2-127.46,0-8.47-11.78-34.33-31.2-60.57h-62.8C187.65,471.08,205.81,498.56,212.39,512.53Zm2.17-5h0Z"/><path class="cls-1" d="M999.94,274.11V725.89c0,86.58-70.42,157.06-157.05,157.06H776.22V729.12H457.88V883H391.22c-86.64,0-157.06-70.48-157.06-157.06V583.81H738.87V312.11H495.24V464.76H234.16V274.11a151.29,151.29,0,0,1,1.06-18,154.4,154.4,0,0,1,3.88-21.15c.58-2.23,1.23-4.46,1.88-6.64a13.66,13.66,0,0,1,.52-1.64c.36-1.12.71-2.17,1.06-3.23s.76-2.17,1.18-3.23c.47-1.23.88-2.41,1.35-3.58s1-2.35,1.47-3.53a159,159,0,0,1,14.27-26.49c.06-.06.12-.17.17-.23,1.41-2.06,2.88-4.11,4.41-6.17,1.29-1.7,2.58-3.35,3.88-5,1.52-1.82,3.11-3.7,4.69-5.46s3.12-3.47,4.76-5.11l.18-.18a36.53,36.53,0,0,1,2.64-2.64,159.75,159.75,0,0,1,18.68-15.63c1.76-1.29,3.64-2.52,5.52-3.76,2.11-1.35,4.23-2.64,6.4-3.93,4.11-2.41,8.28-4.64,12.63-6.64,1.35-.64,2.76-1.29,4.11-1.88a152.81,152.81,0,0,1,18.38-6.63c2.41-.71,4.82-1.35,7.29-1.94,1.17-.3,2.35-.59,3.58-.82a158.5,158.5,0,0,1,21.26-3.12l3.12-.17c.52,0,1-.06,1.52-.06,2.35-.12,4.76-.18,7.17-.18H842.89c2.4,0,4.81.06,7.16.18.53,0,1,.06,1.53.06l3.11.17A158.26,158.26,0,0,1,876,120.58c1.24.23,2.41.52,3.59.82,2.46.59,4.87,1.23,7.28,1.94A152.81,152.81,0,0,1,905.2,130c1.35.59,2.76,1.24,4.11,1.88,4.35,2,8.52,4.23,12.63,6.64,2.18,1.29,4.29,2.58,6.4,3.93,1.88,1.24,3.76,2.47,5.52,3.76a157.53,157.53,0,0,1,21.5,18.45c1.65,1.64,3.23,3.34,4.76,5.11s3.17,3.64,4.7,5.46c1.29,1.64,2.58,3.29,3.87,5,1.53,2.06,3,4.11,4.41,6.17.06.06.12.17.18.23a159.71,159.71,0,0,1,14.27,26.49c.47,1.18,1,2.35,1.47,3.53s.88,2.35,1.35,3.58c.41,1.06.82,2.11,1.17,3.23s.71,2.11,1.06,3.23a15.74,15.74,0,0,1,.53,1.64c.64,2.18,1.29,4.41,1.88,6.64a155.92,155.92,0,0,1,3.87,21.15A151.29,151.29,0,0,1,999.94,274.11Z"/><path class="cls-1" d="M973.27,186.59H260.84A157.05,157.05,0,0,1,391.2,117.07H842.9A157.08,157.08,0,0,1,973.27,186.59Z"/><path class="cls-1" d="M998.94,256.1H235.16a155.35,155.35,0,0,1,25.68-69.51H973.27A155.34,155.34,0,0,1,998.94,256.1Z"/><path class="cls-1" d="M1000,274.11v51.51H738.87V312.11H495.24v13.51H234.1V274.11a153.41,153.41,0,0,1,1.06-18H998.94A151.29,151.29,0,0,1,1000,274.11Z"/><rect class="cls-1" x="234.1" y="325.62" width="261.13" height="69.54"/><rect class="cls-1" x="738.87" y="325.62" width="261.13" height="69.54"/><rect class="cls-1" x="234.1" y="395.16" width="261.13" height="69.48"/><rect class="cls-1" x="738.87" y="395.16" width="261.13" height="69.48"/></svg>
|
After Width: | Height: | Size: 2.9 KiB |
6
root/static/element.svg
Normal file
6
root/static/element.svg
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
<svg width="54" height="54" viewBox="0 0 54 54" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<path fill-rule="evenodd" clip-rule="evenodd" d="M19.4414 3.24C19.4414 1.4506 20.892 0 22.6814 0C34.6108 0 44.2814 9.67065 44.2814 21.6C44.2814 23.3894 42.8308 24.84 41.0414 24.84C39.252 24.84 37.8014 23.3894 37.8014 21.6C37.8014 13.2494 31.032 6.48 22.6814 6.48C20.892 6.48 19.4414 5.0294 19.4414 3.24Z" fill="#0DBD8B"/>
|
||||||
|
<path fill-rule="evenodd" clip-rule="evenodd" d="M34.5586 50.76C34.5586 52.5494 33.108 54 31.3186 54C19.3893 54 9.71861 44.3294 9.71861 32.4C9.71861 30.6106 11.1692 29.16 12.9586 29.16C14.748 29.16 16.1986 30.6106 16.1986 32.4C16.1986 40.7505 22.9681 47.52 31.3186 47.52C33.108 47.52 34.5586 48.9706 34.5586 50.76Z" fill="#0DBD8B"/>
|
||||||
|
<path fill-rule="evenodd" clip-rule="evenodd" d="M3.24 34.5601C1.4506 34.5601 -6.34076e-08 33.1095 -1.41625e-07 31.3201C-6.63074e-07 19.3907 9.67065 9.72007 21.6 9.72007C23.3894 9.72007 24.84 11.1707 24.84 12.9601C24.84 14.7495 23.3894 16.2001 21.6 16.2001C13.2495 16.2001 6.48 22.9695 6.48 31.3201C6.48 33.1095 5.0294 34.5601 3.24 34.5601Z" fill="#0DBD8B"/>
|
||||||
|
<path fill-rule="evenodd" clip-rule="evenodd" d="M50.76 19.4399C52.5494 19.4399 54 20.8905 54 22.6799C54 34.6093 44.3294 44.2799 32.4 44.2799C30.6106 44.2799 29.16 42.8293 29.16 41.0399C29.16 39.2505 30.6106 37.7999 32.4 37.7999C40.7505 37.7999 47.52 31.0305 47.52 22.6799C47.52 20.8905 48.9706 19.4399 50.76 19.4399Z" fill="#0DBD8B"/>
|
||||||
|
<style xmlns="http://www.w3.org/1999/xhtml" id="luctb0yu.0tf">.wk_K { display:inline!important;margin:0!important;padding:1px!important;border:0!important;outline:0!important;color:black;font-size:100%!important;vertical-align:baseline!important; background-color: rgba(221, 255, 208, 1) !important; /*color: black !important;*/ } .wk_X { display:inline!important;margin:0!important;padding:1px!important;border:0!important;outline:0!important;color:black;font-size:100%!important;vertical-align:baseline!important; background-color: rgba(190, 190, 190, 1) !important; /*color: black !important;*/ } .wk_A { display:inline!important;margin:0!important;padding:1px!important;border:0!important;outline:0!important;color:black;font-size:100%!important;vertical-align:baseline!important; background-color: rgba(208, 255, 255, 1) !important; /*color: black !important;*/ } .wk_S { display:inline!important;margin:0!important;padding:1px!important;border:0!important;outline:0!important;color:black;font-size:100%!important;vertical-align:baseline!important; background-color: rgba(255, 192, 255, 1) !important; /*color: black !important;*/ } .wk_C { display:inline!important;margin:0!important;padding:1px!important;border:0!important;outline:0!important;color:black;font-size:100%!important;vertical-align:baseline!important; background-color: rgba(140, 255, 120, 1) !important; /*color: black !important;*/ } .wk_0 { display:inline!important;margin:0!important;padding:1px!important;border:0!important;outline:0!important;color:black;font-size:100%!important;vertical-align:baseline!important; /*color: black;*/ background-color: rgba(255,255, 128, 1) !important; } .wk_1 { display:inline!important;margin:0!important;padding:1px!important;border:0!important;outline:0!important;color:black;font-size:100%!important;vertical-align:baseline!important; /*color: black;*/ background-color: rgba(255,223, 128, 1) !important; } .wk_2 { display:inline!important;margin:0!important;padding:1px!important;border:0!important;outline:0!important;color:black;font-size:100%!important;vertical-align:baseline!important; /*color: black;*/ background-color: rgba(255,191, 128, 1) !important; } .wk_3 { display:inline!important;margin:0!important;padding:1px!important;border:0!important;outline:0!important;color:black;font-size:100%!important;vertical-align:baseline!important; /*color: black;*/ background-color: rgba(255,159, 128, 1) !important; } .wk_4 { display:inline!important;margin:0!important;padding:1px!important;border:0!important;outline:0!important;color:black;font-size:100%!important;vertical-align:baseline!important; /*color: black;*/ background-color: rgba(255,128, 128, 1) !important; } </style></svg>
|
After Width: | Height: | Size: 4.1 KiB |
27
root/static/forgejo.svg
Normal file
27
root/static/forgejo.svg
Normal file
|
@ -0,0 +1,27 @@
|
||||||
|
<svg viewBox="0 0 212 212" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<style type="text/css">
|
||||||
|
circle {
|
||||||
|
fill: none;
|
||||||
|
stroke: #000;
|
||||||
|
stroke-width: 15;
|
||||||
|
}
|
||||||
|
path {
|
||||||
|
fill: none;
|
||||||
|
stroke: #000;
|
||||||
|
stroke-width: 25;
|
||||||
|
}
|
||||||
|
.orange {
|
||||||
|
stroke:#ff6600;
|
||||||
|
}
|
||||||
|
.red {
|
||||||
|
stroke:#d40000;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
<g transform="translate(6,6)">
|
||||||
|
<path d="M58 168 v-98 a50 50 0 0 1 50-50 h20" class="orange" />
|
||||||
|
<path d="M58 168 v-30 a50 50 0 0 1 50-50 h20" class="red" />
|
||||||
|
<circle cx="142" cy="20" r="18" class="orange" />
|
||||||
|
<circle cx="142" cy="88" r="18" class="red" />
|
||||||
|
<circle cx="58" cy="180" r="18" class="red" />
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 677 B |
9
root/static/uptime-kuma.svg
Normal file
9
root/static/uptime-kuma.svg
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
<svg width="640" height="640" viewBox="0 0 640 640" xml:space="preserve" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<g transform="matrix(1 0 0 1 320 320)">
|
||||||
|
<linearGradient id="S3" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1 0 0 1 -319.99875 -320.0001577393)" x1="259.78" y1="261.15" x2="463.85" y2="456.49">
|
||||||
|
<stop stop-color="#5CDD8B"/>
|
||||||
|
<stop offset="1" stop-color="#86E6A9"/>
|
||||||
|
</linearGradient>
|
||||||
|
<path style="stroke: rgb(242,242,242); stroke-opacity: 0.51; stroke-width: 200; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: url(#S3); fill-rule: nonzero; opacity: 1;" transform=" translate(0, 0)" d="M 170.40125 -84.36016 C 224.09125 38.37984 224.09125 115.33984 170.40125 146.49984 C 89.85125000000001 193.23984000000002 -120.03875 207.48984000000002 -180.45875 135.63984 C -220.73875 87.73983999999999 -220.73875 14.399839999999998 -180.45875 -84.36016000000001 C -139.49875 -151.82016 -81.28875000000001 -185.55016 -5.828750000000014 -185.55016 C 69.64124999999999 -185.55016 128.38125 -151.82016000000002 170.40124999999998 -84.36016000000001 z" stroke-linecap="round" />
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 1.1 KiB |
Loading…
Reference in a new issue