Refactor website structure and update licenses

- Replaced Apache License with MIT License in LICENSE file.
- Updated index.html with common meta tags and improved structure.
- Enhanced privacy.html with new styles and scripts for better presentation.
- Added sitemap reference in robots.txt.
- Created GitHub Actions workflow for automated site builds.
- Added .gitignore to exclude unnecessary files from version control.
- Implemented build.js for dynamic HTML generation from templates.
- Created src/index.html and src/privacy.html with metadata for dynamic content.
- Established templates for header, footer, and layout to standardize page structure.
This commit is contained in:
2025-06-06 12:35:26 +10:00
parent afb46a5edd
commit cd428b4a6d
12 changed files with 497 additions and 391 deletions

16
src/index.html Normal file
View File

@@ -0,0 +1,16 @@
<!--
METADATA:{
"title": "Litruv - Dev/Tech Artist",
"metaDescription": "Litruv - Dev/Tech Artist at MatesMedia. Follow for coding, game development, and creative projects.",
"csp": "script-src 'self' 'unsafe-inline'; connect-src https://public.api.bsky.app;",
"ogTitle": "Litruv - Dev/Tech Artist",
"ogDescription": "Dev/Tech Artist at MatesMedia. Follow for coding, game development, and creative projects.",
"ogUrl": "https://lit.ruv.wtf",
"twitterTitle": "Litruv - Dev/Tech Artist",
"twitterDescription": "Dev/Tech Artist at MatesMedia. Follow for coding, game development, and creative projects.",
"twitterUrl": "https://lit.ruv.wtf",
"useCommonHeader": true,
"useCommonFooter": true
}
-->
<div id="posts"></div>

97
src/privacy.html Normal file
View File

@@ -0,0 +1,97 @@
<!--
METADATA:{
"title": "Privacy Policy - Litruv",
"metaDescription": "Privacy Policy for Litruv's website and applications.",
"csp": "script-src 'self' 'unsafe-inline';",
"ogTitle": "Privacy Policy - Litruv",
"ogDescription": "Privacy Policy for Litruv's website and applications.",
"ogUrl": "https://lit.ruv.wtf/privacy.html",
"twitterTitle": "Privacy Policy - Litruv",
"twitterDescription": "Privacy Policy for Litruv's website and applications.",
"twitterUrl": "https://lit.ruv.wtf/privacy.html",
"useCommonHeader": false,
"useCommonFooter": true
}
-->
<!-- START_STYLES -->
<style>
.privacy-content {
background: white;
padding: 1.5rem 2rem;
margin-top: 2rem;
border: 2px solid #000;
box-shadow: 3px 3px 0 rgba(0, 0, 0, 0.1), 6px 6px 0 rgba(0, 0, 0, 0.05);
color: #333;
text-align: left;
}
.privacy-content h1 {
text-align: center;
font-size: 1.8rem;
color: #242424;
text-shadow: 1px 1px 0 #ffffff52, 2px 2px 0 #00000080;
margin-bottom: 1.5rem;
}
.privacy-content h2 {
font-size: 1.3rem;
color: #242424;
margin-top: 1.5rem;
margin-bottom: 0.5rem;
}
.privacy-content p {
line-height: 1.6;
margin-bottom: 1rem;
}
.privacy-content a {
color: #2563eb;
text-decoration: underline;
}
.privacy-content a:hover {
color: #1d4ed8;
}
</style>
<!-- END_STYLES -->
<!-- START_SCRIPTS_BODY_END -->
<script>
function getRandomRotation() {
return (Math.random() * 3) - 1.5;
}
document.addEventListener('DOMContentLoaded', function() {
const privacyBox = document.querySelector('.privacy-content');
if (privacyBox) {
privacyBox.style.transform = `rotate(${getRandomRotation()}deg)`;
}
// Ensure avatar also gets random rotation if desired for this page
const avatarImg = document.querySelector('.avatar-img');
if (avatarImg) {
// You might want a different rotation range or logic here
// For consistency with how posts might be styled if they were on this page:
// avatarImg.style.transform = `rotate(${(Math.random() * 6) - 3}deg)`;
}
});
</script>
<!-- END_SCRIPTS_BODY_END -->
<!-- Main page content for privacy.html -->
<img src="avatar.webp" alt="Avatar" class="avatar-img" width="250" height="250">
<header>
<h1><a href="/">Litruv</a></h1>
<div class="subtext">Privacy Policy</div>
</header>
<div class="privacy-content">
<h1>Privacy Policy</h1>
<p>I respect your privacy.</p>
<h2>Apps</h2>
<p>My apps do not collect, store, or share any personal information. No analytics, no tracking, no funny business.</p>
<h2>Website</h2>
<p>This site may collect anonymous usage data (such as page views or general browser information) to help improve functionality and performance. This data is non-personal and cannot be used to identify you. I do not sell or share this data with third parties.</p>
<p>Additionally, this site uses Cloudflare for performance and security. Cloudflare may collect its own analytics and statistical data, subject to their <a href="https://www.cloudflare.com/privacypolicy/" target="_blank" rel="noopener noreferrer">privacy policy</a>.</p>
<p>By using this site, you agree to this policy.</p>
</div>