Local CSS file & remove root
This commit is contained in:
parent
074e06236a
commit
d5402f3aa4
6 changed files with 288 additions and 35 deletions
3
.gitignore
vendored
3
.gitignore
vendored
|
@ -130,3 +130,6 @@ dist
|
|||
.yarn/install-state.gz
|
||||
.pnp.*
|
||||
|
||||
# Violet's Limbo
|
||||
testPath
|
||||
public
|
5
index.js
5
index.js
|
@ -40,6 +40,7 @@ const videoFormats = ["mp4", "mkv"]
|
|||
|
||||
app.use(express.static(directory))
|
||||
app.use(express.static(pubDir))
|
||||
app.use(express.static(path.join(__dirname, 'resources')))
|
||||
|
||||
app.listen(PORT, () => {
|
||||
console.log("Now listening on PORT: " + PORT)
|
||||
|
@ -104,11 +105,7 @@ app.get("/*", (req, res) => {
|
|||
var file = req.params[0]
|
||||
var absPath = path.join(pubDir, file)
|
||||
|
||||
if (file != '') {
|
||||
var baseHTML = fs.readFileSync(path.join(__dirname, 'resources/base.html')).toString()
|
||||
} else {
|
||||
var baseHTML = fs.readFileSync(path.join(__dirname, 'resources/root.html')).toString()
|
||||
}
|
||||
|
||||
var baseStart = baseHTML.substring(0, baseHTML.indexOf('{CONTENT}'))
|
||||
var baseEnd = baseHTML.substring(baseHTML.indexOf('{CONTENT}') + 9, baseHTML.length)
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
|
||||
<link rel="stylesheet" href="https://violets-purgatory.dev/style.css">
|
||||
<link rel="stylesheet" href="/style.css">
|
||||
|
||||
|
||||
<title>{TITLE}</title>
|
||||
|
|
|
@ -1,28 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
|
||||
<link rel="stylesheet" href="https://violets-purgatory.dev/style.css">
|
||||
|
||||
<title>Violet's Clipdump</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<h1>Welcome to Violet's Clip dump</h1>
|
||||
<div class="fadediv">
|
||||
<p>Yes, you heard that right. Well its more like a File Share but "Clip dump" is still pretty accurate,
|
||||
and rolls off the tongue better.<br>
|
||||
Here you'll mainly find just clips of me playin games and stuff. Its not really something designed to be
|
||||
"looked through"
|
||||
but I decided why not. It's not very organized so be warned!</p>
|
||||
<ul>
|
||||
{CONTENT}
|
||||
</ul>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
281
resources/style.css
Normal file
281
resources/style.css
Normal file
|
@ -0,0 +1,281 @@
|
|||
/*DO NOT MODIFY IF YOU ARE TRYING TO CHANGE THINGS ON THE SITE!!!This exists for compatibility with services on Violet's purgatorySoon, this will be removed, and replaced with a CDN or something...*/
|
||||
@import url("https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/css/bootstrap.min.css");
|
||||
|
||||
@font-face {
|
||||
font-display: swap;
|
||||
font-family: 'Rubik';
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
src: url('./fonts/rubik-v28-latin-regular.woff2') format('woff2');
|
||||
}
|
||||
|
||||
* {
|
||||
font-family: 'Rubik', Verdana, Geneva, Tahoma, sans-serif;
|
||||
padding: 0;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
h1 {
|
||||
color: rgb(225, 215, 255);
|
||||
font-size: 2.5rem;
|
||||
}
|
||||
|
||||
h2 {
|
||||
font-size: 2rem;
|
||||
color: rgb(225, 215, 255)
|
||||
}
|
||||
|
||||
h3 {
|
||||
font-size: 1.65rem
|
||||
}
|
||||
|
||||
h3,
|
||||
li {
|
||||
color: white;
|
||||
}
|
||||
|
||||
ul,
|
||||
ol {
|
||||
display: inline-block
|
||||
}
|
||||
|
||||
li {
|
||||
font-size: 1.2rem;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
body,
|
||||
html {
|
||||
overflow-x: hidden;
|
||||
margin: auto;
|
||||
background-color: rgb(15, 4, 45);
|
||||
background: linear-gradient(rgb(20, 4, 55), black);
|
||||
width: 100vw;
|
||||
height: 100vh;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
background-attachment: local;
|
||||
}
|
||||
|
||||
body {
|
||||
padding: 2.5%;
|
||||
}
|
||||
|
||||
.fadediv {
|
||||
animation-name: fade-in;
|
||||
animation-duration: .75s;
|
||||
animation-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
|
||||
margin: auto;
|
||||
max-width: 1000px;
|
||||
}
|
||||
|
||||
a {
|
||||
color: rgb(175, 225, 255);
|
||||
display: inline-block;
|
||||
transition: 1.5s all cubic-bezier(0.075, 0.82, 0.165, 1);
|
||||
}
|
||||
|
||||
.chip {
|
||||
position: relative;
|
||||
z-index: 3;
|
||||
font-size: 1.3rem;
|
||||
border: 2px gray solid;
|
||||
border-radius: 6px;
|
||||
background-color: black;
|
||||
padding: 8px;
|
||||
margin: 3px;
|
||||
display: inline-block;
|
||||
transform: scale(0.95);
|
||||
transition: transform 1.25s cubic-bezier(0.075, 0.82, 0.165, 1), background-color 2s cubic-bezier(0.075, 0.82, 0.165, 1);
|
||||
}
|
||||
|
||||
.chip,
|
||||
.chip>* {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.chip:hover {
|
||||
background-color: rgb(10, 0, 25);
|
||||
transform: scale(1);
|
||||
/* font-size: 1.35rem; */
|
||||
border-color: white;
|
||||
transition: transform 0.75s cubic-bezier(0.075, 0.82, 0.165, 1), background-color 3s cubic-bezier(0.075, 0.82, 0.165, 1);
|
||||
}
|
||||
|
||||
.chip:hover>.smallimg {
|
||||
background-color: rgb(10, 0, 25);
|
||||
}
|
||||
|
||||
.activity {
|
||||
border-width: 3px;
|
||||
border-radius: 10px;
|
||||
overflow: hidden;
|
||||
margin: auto;
|
||||
padding: 0;
|
||||
display: flex;
|
||||
position: relative;
|
||||
z-index: 3;
|
||||
}
|
||||
|
||||
.activity>p {
|
||||
width: 100%;
|
||||
overflow-wrap: break-word;
|
||||
}
|
||||
|
||||
.activity>img {
|
||||
width: 128px;
|
||||
aspect-ratio: 1/1;
|
||||
object-fit: cover;
|
||||
}
|
||||
|
||||
.activity>.smallimg {
|
||||
width: 64px;
|
||||
height: 64px;
|
||||
position: absolute;
|
||||
bottom: 0px;
|
||||
left: 72px;
|
||||
border-radius: 50px;
|
||||
background: black;
|
||||
padding: 5px;
|
||||
/* border: 2px gray solid; */
|
||||
transform: scale(0.9);
|
||||
}
|
||||
|
||||
.activity>.smallimg:hover {
|
||||
transform: scale(1);
|
||||
}
|
||||
|
||||
a:hover {
|
||||
color: white;
|
||||
transition: 0.5s all cubic-bezier(0.075, 0.82, 0.165, 1);
|
||||
}
|
||||
|
||||
p {
|
||||
color: white;
|
||||
font-size: 1.2rem;
|
||||
padding: 0;
|
||||
margin: 10px;
|
||||
}
|
||||
|
||||
img:not(.project-inner > div > img) {
|
||||
width: 100%;
|
||||
max-width: 135px;
|
||||
transition: all 2s cubic-bezier(0.075, 0.82, 0.165, 1);
|
||||
}
|
||||
|
||||
.pfp {
|
||||
border-radius: 15px;
|
||||
border: darkgray 4px solid;
|
||||
width: 60%;
|
||||
aspect-ratio: 1/1;
|
||||
transform: scale(0.9);
|
||||
border-radius: 50%;
|
||||
}
|
||||
|
||||
.pfp:hover {
|
||||
transform: scale(1);
|
||||
border-color: rgb(255, 200, 255);
|
||||
object-fit: cover;
|
||||
}
|
||||
|
||||
.emoji {
|
||||
width: 32px;
|
||||
border-radius: 10%;
|
||||
/* border: 1px gray solid; */
|
||||
}
|
||||
|
||||
hr {
|
||||
color: white;
|
||||
opacity: 0.25;
|
||||
border-width: 2px;
|
||||
margin: 15px 10%;
|
||||
}
|
||||
|
||||
#card {
|
||||
background-color: rgb(15, 5, 80);
|
||||
padding: 15px;
|
||||
border: 2px white solid;
|
||||
margin: 20px auto;
|
||||
width: 95%;
|
||||
max-width: 800px;
|
||||
z-index: 3;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.me {
|
||||
border-color: limegreen;
|
||||
}
|
||||
|
||||
.project {
|
||||
background-color: rgba(35, 35, 35, 0.8);
|
||||
padding: 15px;
|
||||
border: 2px gray solid;
|
||||
margin: 20px 0px;
|
||||
border-radius: 15px;
|
||||
}
|
||||
|
||||
.project-inner {
|
||||
overflow: hidden;
|
||||
padding: 0;
|
||||
margin: auto;
|
||||
z-index: 3;
|
||||
}
|
||||
|
||||
.project-inner>div>img {
|
||||
object-fit: cover;
|
||||
border: 2px white solid;
|
||||
width: 80%;
|
||||
max-width: 500px;
|
||||
margin: auto;
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
.project>p {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.minipfp {
|
||||
width: 70px;
|
||||
display: inline-block;
|
||||
margin-right: 10px;
|
||||
border: 2px lightgray solid;
|
||||
border-radius: 5px;
|
||||
}
|
||||
|
||||
.lengthBar {
|
||||
background-color: rgb(50, 40, 60);
|
||||
display: inline-block;
|
||||
width: 80%;
|
||||
height: 10px;
|
||||
padding: 0;
|
||||
overflow: hidden;
|
||||
border-radius: 5px;
|
||||
margin-right: 1.9%;
|
||||
}
|
||||
|
||||
.lengthBar>span {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
width: 100%;
|
||||
background-color: rgb(200, 200, 230);
|
||||
height: 20px;
|
||||
display: block;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.note {
|
||||
font-size: 0.95rem;
|
||||
color: lightgray;
|
||||
}
|
||||
|
||||
@keyframes fade-in {
|
||||
0% {
|
||||
opacity: 0;
|
||||
transform: translateY(50vh);
|
||||
}
|
||||
|
||||
100% {
|
||||
opacity: 1;
|
||||
transform: none;
|
||||
}
|
||||
}
|
|
@ -6,7 +6,7 @@
|
|||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
|
||||
<link rel="stylesheet" href="https://violets-purgatory.dev/style.css">
|
||||
<link rel="stylesheet" href="/style.css">
|
||||
|
||||
<meta property="og:site_name" content="Violet's Clipdump">
|
||||
<meta property="og:url" content="https://fs.violets-purgatory.dev/watch/{VID_PATH}">
|
||||
|
|
Loading…
Reference in a new issue