mirror of
https://github.com/SrIzan10/mainwebsite.git
synced 2026-06-06 00:56:58 +00:00
feat: some other front page stuff
This commit is contained in:
@@ -5,6 +5,9 @@ export const nextConfig = {
|
||||
remotePatterns: [
|
||||
{
|
||||
hostname: 'img.srizan.dev'
|
||||
},
|
||||
{
|
||||
hostname: 'res.cloudinary.com'
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -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'm going to make a blog. I've made a few in the past, but I've never really stuck to them. I'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't end up working in the end.<br>I'm hoping to post about my projects, and maybe some other stuff too. I'm not sure yet, but I'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've been "busy" lately with an interesting gift: A bonsai.</p>
|
||||
<p>In the beginning I was a bit </p>
|
||||
]]></content>
|
||||
<author>
|
||||
<name>Sr Izan</name>
|
||||
|
||||
@@ -57,17 +57,6 @@
|
||||
"name": "Sr Izan",
|
||||
"url": "https://srizan.dev"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "https://srizan.dev/blog/5",
|
||||
"content_html": "<p>Hey! I've been "busy" 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"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -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'm going to make a blog. I've made a few in the past, but I've never really stuck to them. I'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't end up working in the end.<br>I'm hoping to post about my projects, and maybe some other stuff too. I'm not sure yet, but I'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've been "busy" lately with an interesting gift: A bonsai.</p>
|
||||
<p>In the beginning I was a bit </p>
|
||||
]]></content:encoded>
|
||||
</item>
|
||||
</channel>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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' },
|
||||
}
|
||||
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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
|
||||
|
||||
```
|
||||
@@ -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`)
|
||||
|
||||
Reference in New Issue
Block a user