Create a Django website

This commit is contained in:
Michał Gdula 2023-06-18 18:06:01 +00:00
parent 69170f19fb
commit a71584ef98
60 changed files with 1344 additions and 1150 deletions

View file

@ -1,104 +0,0 @@
{% extends 'layout.html' %}
{% block nav_about %}selected{% endblock %}
{% block content %}
<div class="content">
<h1 data-value="About-Me">About-Me</h1>
</div>
<div class="content">
<h2 data-value="Meeeeeee">Meeeeeee</h2>
<p>Hewwo, I'm a 17 year old nerd, who likes to code and tinker with computers!</p>
<p>I'm mostly a frontend developer, with some knowlage of the backend. I also enjoy programming for the hell of it</p>
<p>Fluffy Bean is a maned wolf, he reflects my personality and is my fursona</p>
<p>Refsheet made by mrHDash</p>
</div>
<img src="{{ url_for('static', filename='images/ref.png') }}" alt="Orange maned wolf sneaking under a yellow sheet">
<div class="content">
<h2 data-value="Experiance and Projects">Experiance and Projects</h2>
<p>I'm quite well experianced with Python, HTML, CSS/Sass, and Shell Scripting.And have some experiance with JavaScript, PHP, MySQL and a few other languages</p>
<p>My main operating system has been Linux for about 1.5 years (Arch btw)</p>
<p>Now I have started to learn hardware and been messing around with Pi Picos!</p>
<p>Recently I have started working on a gallery, originally written in PHP for my own use before making it public</p>
<p>It is now written in Python with Flask and is open source! You can find it on <a href="https://github.com/Fluffy-Bean/onlylegs">GitHub</a>. Or on my self hosted instance of <a href="https://git.leggy.dev/Fluffy/onlylegs">Gitea</a>!</p>
</div>
<div class="content">
<h2 data-value="Level of knowlage">Level of knowlage</h2>
<p>My levels of knowlage are based on a scale of 0-5, with 0 being very little experiance and 5 being best in the world, obviously ;3</p>
<span class="bar-chart">
<h3 data-value="Languages">Languages</h3>
{% for lang in languages %}
<span class="sub_experiance"
data-value="{{ languages[lang].level }}"
style="background-color: {{ languages[lang].color }};">
<span class="fg"><span>{{ lang }} - Since {{ languages[lang].since }}</span></span>
<span class="bg">{{ lang }} - Since {{ languages[lang].since }}</span>
</span>
{% endfor %}
<h3 data-value="OS'">OS'</h3>
{% for os in systems %}
<span class="sub_experiance"
data-value="{{ systems[os].level }}"
style="background-color: {{ systems[os].color }};">
<span class="fg"><span>{{ os }} - Since {{ systems[os].since }}</span></span>
<span class="bg">{{ os }} - Since {{ systems[os].since }}</span>
</span>
{% endfor %}
<span class="marker" data-value="0"></span>
<span class="marker" data-value="1"></span>
<span class="marker" data-value="2"></span>
<span class="marker" data-value="3"></span>
<span class="marker" data-value="4"></span>
</span>
</div>
<script>
var bars = document.querySelectorAll(".sub_experiance");
bars.forEach(bar => {
var value = bar.getAttribute("data-value");
// 0 - 5
if (value == 0) {
bar.style.width = "20%";
} else if (value == 1) {
bar.style.width = "40%";
} else if (value == 2) {
bar.style.width = "60%";
} else if (value == 3) {
bar.style.width = "80%";
} else if (value == 4) {
bar.style.width = "100%";
} else if (value == 5) {
bar.style.width = "621%";
}
});
var markers = document.querySelectorAll(".marker");
markers.forEach(bar => {
var value = bar.getAttribute("data-value");
// 0 - 5
if (value == 0) {
bar.style.left = "20%";
} else if (value == 1) {
bar.style.left = "40%";
} else if (value == 2) {
bar.style.left = "60%";
} else if (value == 3) {
bar.style.left = "80%";
} else if (value == 4) {
bar.style.left = "100%";
} else if (value == 5) {
bar.style.left = "621%";
}
});
</script>
{% endblock %}

View file

@ -1,23 +0,0 @@
{% extends 'layout.html' %}
{% block nav_cretura %}selected{% endblock %}
{% block content %}
<h1 data-value="Cretura">Cretura</h1>
<p class="subtitle" data-value="Thanks to these critters!">Thanks to these critters!</p>
<div class="content" id="about">
<p>Jeetix: Helping me with learning how to make websites!</p>
<p>Carty: Teaching me how to run servers and the networking!</p>
<p>mrHDash: For the Ref Sheet, also my smelly brother</p>
<p>Zadok: Silly taidum art on the icon of this page!</p>
<!--
<p>
Shep: Provided free YCH,
<a href="https://twitter.com/ShepGoesBlep/status/1563946805062148102?s=20&t=0wVGqoYa74AsjSSnkZbzjA">you can find it here</a>
</p>
<img src="{{ url_for('static', filename='images/sneak.png') }}" alt="Orange maned wolf sneaking under a yellow sheet" height="200px" style="opacity:0" onload="fadeOnLoad(this)">
-->
</div>
<img src="{{url_for('static', filename='images/ny.png')}}">
{% endblock %}

View file

@ -1,7 +0,0 @@
{% extends 'layout.html' %}
{% block content %}
<div class="content">
<h1 data-value="{{error}}">{{error}}</h1>
<p class="subtitle" data-value="{{msg}}">{{msg}}</p>
</div>
{% endblock %}

View file

@ -1,28 +0,0 @@
{% extends 'layout.html' %}
{% block nav_home %}selected{% endblock %}
{% block content %}
<div class="content">
<h1 data-value="Social-Media">Social-Media</h1>
<p class="subtitle" data-value="{{msg}}">{{msg}}</p>
</div>
<div class="content">
<a href="https://twitter.com/fluffybeanUwU" class="btn" data-value="Twitter">Twitter</a>
<a href="https://meow.social/@Fluffy_Bean" class="btn" data-value="Mastodon">Mastodon</a>
<a href="https://t.me/Fluffy_Bean" class="btn" data-value="Telegram">Telegram</a>
<a href="https://github.com/Fluffy-Bean" class="btn" data-value="Github">Github</a>
<button class="btn" data-value="Discord" id="discord">Discord</button>
</div>
<script>
document.getElementById("discord").onclick = function() {
try {
navigator.clipboard.writeText("Fluffy Bean#5212");
addToast("Copied to clipboard");
} catch (err) {
addToast("Error copying to clipboard, are you on HTTP?");
}
}
</script>
{% endblock %}

View file

@ -1,27 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Leggy land</title>
<meta name="description" content="Fluffy Bean's amazing website">
<link rel="icon" href="{{url_for('static', filename='images/taidum.png')}}">
<link rel="stylesheet" href="{{url_for('static', filename='css/style.css')}}">
<script src="{{ url_for('static', filename='js/main.js') }}" defer></script>
</head>
<body>
<nav>
<a class="{% block nav_home %}{% endblock %}" href="/">Home</a>
<a class="{% block nav_about %}{% endblock %}" href="/about">About</a>
<a class="{% block nav_cretura %}{% endblock %}" href="/cretura">Cretura</a>
<span class="spacer"></span>
<a class="{% block nav_music %}{% endblock %}" href="/music">Music</a>
</nav>
<div class="wrapper">
{% block content %} {% endblock %}
</div>
<div class="toast-container"></div>
</body>
</html>

View file

@ -1,103 +0,0 @@
{% extends 'layout.html' %}
{% block nav_music %}selected{% endblock %}
{% block content %}
<h1 data-value="Muuuuuuusic">Muuuuuuusic</h1>
<div class="music">
<span class="loader"></span>
</div>
<div class="content">
<p>Provided by <a href="http://www.last.fm">Last.fm</a></p>
</div>
<script>
function processMusic(data) {
const music = document.querySelector('.music');
music.innerHTML = '';
data = JSON.parse(data);
Object.entries(data).forEach(([key, value]) => {
// Create track container
const track = document.createElement('div');
track.classList.add('track');
// Create track image container
const trackImage = document.createElement('span');
trackImage.classList.add('track-image');
// UUUUUUUUUGHHHHHHHHHH
trackImage.style.backgroundColor = `rgb(${value.palette[0]}, ${value.palette[1]}, ${value.palette[2]})`;
// Create track image
const trackImageImg = document.createElement('img');
trackImageImg.src = value.image;
trackImage.appendChild(trackImageImg);
// Create track info container
const trackInfo = document.createElement('div');
trackInfo.classList.add('track-info');
// Create track title
const trackTitle = document.createElement('a');
trackTitle.href = value.url;
trackTitle.innerHTML = value.name;
// Create track artist
const trackArtist = document.createElement('p');
trackArtist.innerHTML = 'by ' + value.artist;
// If track is now playing, add now playing text
// Else add album name
if (value.nowPlaying) {
const trackNowPlaying = document.createElement('p');
trackNowPlaying.classList.add('track-nowplaying');
trackNowPlaying.innerHTML = 'Now Playing:';
// Append now playing and track info to track info
trackInfo.appendChild(trackNowPlaying);
trackInfo.appendChild(trackTitle);
trackInfo.appendChild(trackArtist);
} else {
const trackAlbum = document.createElement('p');
trackAlbum.innerHTML = 'on ' + value.album;
// Append track title, artist and album to track info
trackInfo.appendChild(trackTitle);
trackInfo.appendChild(trackArtist);
trackInfo.appendChild(trackAlbum);
}
// Append track image and track info to track
track.appendChild(trackImage);
track.appendChild(trackInfo);
// Append track to music
music.appendChild(track);
});
}
// Make POST request with XHR
let xhr = new XMLHttpRequest();
xhr.open('POST', '/music', true);
xhr.setRequestHeader('Content-Type', 'application/json');
xhr.send(JSON.stringify({}));
// Handle response
xhr.onloadend = function () {
if (xhr.readyState == XMLHttpRequest.DONE) {
// check if no error occurred
if (xhr.status == 200) {
processMusic(xhr.responseText);
} else {
const music = document.querySelector('.music');
music.innerHTML = '<p>Music data could not be loaded :<</p>';
}
} else {
const music = document.querySelector('.music');
music.innerHTML = '<p>Music data could not be loaded :<</p>';
}
};
</script>
{% endblock %}