feat: some other front page stuff

This commit is contained in:
2024-02-14 17:07:22 +01:00
parent 368396f364
commit d8ed0cde8f
10 changed files with 83 additions and 44 deletions

View File

@@ -5,6 +5,9 @@ export const nextConfig = {
remotePatterns: [
{
hostname: 'img.srizan.dev'
},
{
hostname: 'res.cloudinary.com'
}
]
}

View File

@@ -2,7 +2,7 @@
<feed xmlns="http://www.w3.org/2005/Atom">
<id>https://srizan.dev/blog</id>
<title>Sr Izan's Blog</title>
<updated>2024-01-21T10:28:35.216Z</updated>
<updated>2024-02-14T16:06:48.920Z</updated>
<generator>https://github.com/jpmonette/feed</generator>
<author>
<name>Sr Izan</name>
@@ -320,19 +320,6 @@ StartupNotify=true
<content type="html"><![CDATA[<h1>Hey!</h1>
<p>This is probably the last time I&#39;m going to make a blog. I&#39;ve made a few in the past, but I&#39;ve never really stuck to them. I&#39;m hoping that this time will be different.<br>This one was made entirely from scratch using React and Markdown, initially trying to use MDX, but it was a pain to set up, and it didn&#39;t end up working in the end.<br>I&#39;m hoping to post about my projects, and maybe some other stuff too. I&#39;m not sure yet, but I&#39;ll figure it out as I go along.<br>Anyways, thank you for reading. I hope you enjoyed my UX/UI for this one!</p>
<p>PD: I need some help for making the blog text look good and readable, so hit me up on my Discord if you have any ideas.</p>
]]></content>
<author>
<name>Sr Izan</name>
<uri>https://srizan.dev</uri>
</author>
</entry>
<entry>
<title type="html"><![CDATA[My bonsai tree journey]]></title>
<id>https://srizan.dev/blog/5</id>
<link href="https://srizan.dev/blog/5"/>
<updated>2024-01-07T00:19:25.345Z</updated>
<content type="html"><![CDATA[<p>Hey! I&#39;ve been &quot;busy&quot; lately with an interesting gift: A bonsai.</p>
<p>In the beginning I was a bit </p>
]]></content>
<author>
<name>Sr Izan</name>

View File

@@ -57,17 +57,6 @@
"name": "Sr Izan",
"url": "https://srizan.dev"
}
},
{
"id": "https://srizan.dev/blog/5",
"content_html": "<p>Hey! I&#39;ve been &quot;busy&quot; lately with an interesting gift: A bonsai.</p>\n<p>In the beginning I was a bit </p>\n",
"url": "https://srizan.dev/blog/5",
"title": "My bonsai tree journey",
"date_modified": "2024-01-07T00:19:25.345Z",
"author": {
"name": "Sr Izan",
"url": "https://srizan.dev"
}
}
]
}

View File

@@ -4,7 +4,7 @@
<title>Sr Izan's Blog</title>
<link>https://srizan.dev/blog</link>
<description>My little donowall place on the net</description>
<lastBuildDate>Sun, 21 Jan 2024 10:28:35 GMT</lastBuildDate>
<lastBuildDate>Wed, 14 Feb 2024 16:06:48 GMT</lastBuildDate>
<docs>https://validator.w3.org/feed/docs/rss2.html</docs>
<generator>https://github.com/jpmonette/feed</generator>
<language>en</language>
@@ -308,15 +308,6 @@ StartupNotify=true
<content:encoded><![CDATA[<h1>Hey!</h1>
<p>This is probably the last time I&#39;m going to make a blog. I&#39;ve made a few in the past, but I&#39;ve never really stuck to them. I&#39;m hoping that this time will be different.<br>This one was made entirely from scratch using React and Markdown, initially trying to use MDX, but it was a pain to set up, and it didn&#39;t end up working in the end.<br>I&#39;m hoping to post about my projects, and maybe some other stuff too. I&#39;m not sure yet, but I&#39;ll figure it out as I go along.<br>Anyways, thank you for reading. I hope you enjoyed my UX/UI for this one!</p>
<p>PD: I need some help for making the blog text look good and readable, so hit me up on my Discord if you have any ideas.</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[My bonsai tree journey]]></title>
<link>https://srizan.dev/blog/5</link>
<guid>https://srizan.dev/blog/5</guid>
<pubDate>Sun, 07 Jan 2024 00:19:25 GMT</pubDate>
<content:encoded><![CDATA[<p>Hey! I&#39;ve been &quot;busy&quot; lately with an interesting gift: A bonsai.</p>
<p>In the beginning I was a bit </p>
]]></content:encoded>
</item>
</channel>

View File

@@ -12,8 +12,7 @@ export default function Page() {
<RandomBackground />
<div className='aboutMeBox'>
<Image src='/pfp.webp' alt='main profile picture' width='200' height='200' style={{ borderRadius: '100px' }} />
<p>A spanish hobbyist developer and osu! player</p>
<p>Stalk me on social media:</p>
<p>Hobbyist developer & <Link href={'https://sern.dev'}>sern</Link> lead developer team member</p>
<div className='icons'>
<Link href='https://github.com/SrIzan10'><FaGithub /></Link>
<Link href='/blog'><FaBlog /></Link>

View File

@@ -33,7 +33,7 @@ export default function NavBar(props: Props) {
return (
<div className={`navBar ${isScrolled ? 'hide' : ''}`}>
<div className="iconContainer">
<img src="/pfp.webp" alt="main profile picture" height="50vh" />
<img src="https://res.cloudinary.com/mainwebsite/image/upload/v1707926066/assets/emmhztassq5zyol9gubk.webp" alt="main profile picture" height="50vh" />
<p>{title}</p>
</div>
<Link href='#' onClick={() => router.back()} className="backHomeLink">Go back</Link>

View File

@@ -7,7 +7,7 @@ import { SpeedInsights } from "@vercel/speed-insights/next"
const inter = Inter({ subsets: ['latin'] })
export const metadata: Metadata = {
title: 'Sr Izan\'s corner for the net',
title: 'Sr Izan\'s corner of the net',
icons: { icon: '/pfp.webp' },
}

View File

@@ -1,30 +1,30 @@
[
{
"url": "https://img.srizan.dev/Dom%20Luis%20I%20Bridge%20Porto.jpg",
"url": "https://res.cloudinary.com/mainwebsite/image/upload/v1703593035/bg/Dom_Luis_I_Bridge_Porto_dsdodq.jpg",
"author": "me",
"description": "Dom Luis I Bridge (Porto)",
"location": "https://www.openstreetmap.org/way/98835981"
},
{
"url": "https://img.srizan.dev/Oviedo%20Landscape.jpg",
"url": "https://res.cloudinary.com/mainwebsite/image/upload/v1703593035/bg/Oviedo_Landscape_c8xva6.jpg",
"author": "me",
"description": "Oviedo Landscape",
"location": "https://www.openstreetmap.org/way/605000131#map=17/43.37598/-5.86843"
},
{
"url": "https://img.srizan.dev/Playa%20de%20Santa%20Marina.jpeg",
"url": "https://res.cloudinary.com/mainwebsite/image/upload/v1703593035/bg/Playa_de_Santa_Marina_ae389j.jpg",
"author": "me",
"description": "Playa de Santa Marina (Ribadesella)",
"location": "https://www.openstreetmap.org/way/822201400#map=19/43.46545/-5.06683"
},
{
"url": "https://img.srizan.dev/Hotel%20Best%20Benalmadena.JPG",
"url": "https://res.cloudinary.com/mainwebsite/image/upload/v1703593035/bg/Hotel_Best_Benalmadena_olqc9x.jpg",
"author": "me",
"description": "Hotel Best (Benalmádena)",
"location": "https://www.openstreetmap.org/node/1253883928"
},
{
"url": "https://img.srizan.dev/Douro%20River%20Porto.jpg",
"url": "https://res.cloudinary.com/mainwebsite/image/upload/v1703593035/bg/Douro_River_Porto_cuga4l.jpg",
"author": "me",
"description": "Douro River (Porto)",
"location": "https://www.openstreetmap.org/#map=18/41.14065/-8.60647"

View File

@@ -0,0 +1,68 @@
---
title: How I made the install functionality on Pyramid Launcher
description: ""
date: 2024-02-02T19:13:07.791Z
preview: ""
draft: true
tags: []
categories: []
---
# Introduction
Hey everyone! Back here with a random post about how I added the minecraft installation functionality to Pyramid Launcher.
Pyramid Launcher is yet another electron launcher I've been working on with [my buddies](https://github.com/pyramidmc/people).
# The problem
For some reason `@xmcl/installer` hasn't worked for me. It'd just get stuck downloading stuff. So I wanted to make my own installer.
# Minecraft's files
## Assets
Minecraft's assets are stored in a folder called `assets`. Inside it, there are two folders: `indexes` and `objects`. The `indexes` folder contains a JSON file with a list of all the assets and their hashes and the `objects` folder contains all the assets.
This last folder has all game files, and its layout was a bit confusing at first. It's a bit like this:
```
.
├── 00
├── 01
├── 02
├── 03
├── 04
├── 05
├── 06
├── 07
├── 08
├── 09
├── 0a
├── 0b
├── 0c
├── 0d
├── 0f
(...)
```
It looks a bit confusing, but when you notice that each folder is a hash of the file, it makes sense. This is a way to avoid having a lot of files in a single folder, which would make it slow to read, but also I don't think that's good for the filesystem read and writes! ;D
## Libraries
This one is probably the easiest one. It's just a folder with a bunch of `.jar` files inside the normal IDs that java packages use.
It's also the easiest one to query, as inside the [https://piston-meta.mojang.com/v1/packages/d546f1707a3f2b7d034eece5ea2e311eda875787/1.8.9.json](version metadata JSON file), there's a list of all the libraries, paths and their hashes.
## Versions
Finally, the versions folder, which has the client files and the metadata JSON file which is the same one as the one we pull the libraries from.
# The package
After starting off a new Typescript package project using [my ts-lib-boilerplate github repo](https://github.com/SrIzan10/ts-lib-boilerplate), I started off by creawting a new class called `Installer`.
This class would be responsible for downloading and installing the game files.
```typescript
```

View File

@@ -35,6 +35,8 @@ await glob('./src/blog/**/*.md').then(async (files) => {
const readFile = fs.readFileSync(file)
const dt = gm(readFile).data
const fileContent = gm(readFile).content
if (dt.draft) return
dt.fileContent = fileContent
dt.fileName = file.replace('src/blog/', '')
console.log(`File ${dt.fileName} read successfully`)