diff --git a/next.config.js b/next.config.js index c5f42bb..486d5c4 100644 --- a/next.config.js +++ b/next.config.js @@ -5,6 +5,9 @@ export const nextConfig = { remotePatterns: [ { hostname: 'img.srizan.dev' + }, + { + hostname: 'res.cloudinary.com' } ] } diff --git a/public/blog/atom.xml b/public/blog/atom.xml index 1b6a03a..5905f09 100644 --- a/public/blog/atom.xml +++ b/public/blog/atom.xml @@ -2,7 +2,7 @@ https://srizan.dev/blog Sr Izan's Blog - 2024-01-21T10:28:35.216Z + 2024-02-14T16:06:48.920Z https://github.com/jpmonette/feed Sr Izan @@ -320,19 +320,6 @@ StartupNotify=true Hey!

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.
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.
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.
Anyways, thank you for reading. I hope you enjoyed my UX/UI for this one!

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.

-]]>
- - Sr Izan - https://srizan.dev - - - - <![CDATA[My bonsai tree journey]]> - https://srizan.dev/blog/5 - - 2024-01-07T00:19:25.345Z - Hey! I've been "busy" lately with an interesting gift: A bonsai.

-

In the beginning I was a bit

]]>
Sr Izan diff --git a/public/blog/feed.json b/public/blog/feed.json index 51c4b20..ba8ee30 100644 --- a/public/blog/feed.json +++ b/public/blog/feed.json @@ -57,17 +57,6 @@ "name": "Sr Izan", "url": "https://srizan.dev" } - }, - { - "id": "https://srizan.dev/blog/5", - "content_html": "

Hey! I've been "busy" lately with an interesting gift: A bonsai.

\n

In the beginning I was a bit

\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" - } } ] } \ No newline at end of file diff --git a/public/blog/rss.xml b/public/blog/rss.xml index 0b6d2e5..80b228e 100644 --- a/public/blog/rss.xml +++ b/public/blog/rss.xml @@ -4,7 +4,7 @@ Sr Izan's Blog https://srizan.dev/blog My little donowall place on the net - Sun, 21 Jan 2024 10:28:35 GMT + Wed, 14 Feb 2024 16:06:48 GMT https://validator.w3.org/feed/docs/rss2.html https://github.com/jpmonette/feed en @@ -308,15 +308,6 @@ StartupNotify=true Hey!

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.
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.
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.
Anyways, thank you for reading. I hope you enjoyed my UX/UI for this one!

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.

-]]>
- - - <![CDATA[My bonsai tree journey]]> - https://srizan.dev/blog/5 - https://srizan.dev/blog/5 - Sun, 07 Jan 2024 00:19:25 GMT - Hey! I've been "busy" lately with an interesting gift: A bonsai.

-

In the beginning I was a bit

]]>
diff --git a/src/app/(pages)/(root)/page.tsx b/src/app/(pages)/(root)/page.tsx index 417be19..cd623db 100644 --- a/src/app/(pages)/(root)/page.tsx +++ b/src/app/(pages)/(root)/page.tsx @@ -12,8 +12,7 @@ export default function Page() {
main profile picture -

A spanish hobbyist developer and osu! player

-

Stalk me on social media:

+

Hobbyist developer & sern lead developer team member

diff --git a/src/app/_components/NavBar.tsx b/src/app/_components/NavBar.tsx index b79bc45..a61cfef 100644 --- a/src/app/_components/NavBar.tsx +++ b/src/app/_components/NavBar.tsx @@ -33,7 +33,7 @@ export default function NavBar(props: Props) { return (
- main profile picture + main profile picture

{title}

router.back()} className="backHomeLink">Go back diff --git a/src/app/layout.tsx b/src/app/layout.tsx index 2b9c451..2b635e0 100644 --- a/src/app/layout.tsx +++ b/src/app/layout.tsx @@ -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' }, } diff --git a/src/backgrounds.json b/src/backgrounds.json index 6663e91..d50cc2d 100644 --- a/src/backgrounds.json +++ b/src/backgrounds.json @@ -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" diff --git a/src/blog/2024-02-02-how-i-made-the-install-functionality-on-pyramid-launcher.md b/src/blog/2024-02-02-how-i-made-the-install-functionality-on-pyramid-launcher.md new file mode 100644 index 0000000..4a1225b --- /dev/null +++ b/src/blog/2024-02-02-how-i-made-the-install-functionality-on-pyramid-launcher.md @@ -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 + +``` \ No newline at end of file diff --git a/src/blogPostGenerator.js b/src/blogPostGenerator.js index 76d4e79..df1d0dc 100644 --- a/src/blogPostGenerator.js +++ b/src/blogPostGenerator.js @@ -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`)