feat: restructure welcome blog post and update content for clarity

This commit is contained in:
2026-05-11 01:13:52 +10:00
parent e165203a8b
commit 16f72f58ce
11 changed files with 14 additions and 241 deletions

View File

@@ -1,140 +0,0 @@
---
title: Markdown Formatting Test
date: 2026-05-11
author: Test Author
tags: test, formatting, markdown
---
# Heading 1
## Heading 2
### Heading 3
#### Heading 4
##### Heading 5
###### Heading 6
## Text Formatting
This is **bold text** and this is *italic text* and this is ***bold italic text***.
Here's some `inline code` in a sentence.
## Links
Here's a [regular link](https://example.com) and here's a [YouTube link](https://youtube.com/watch?v=test).
## Lists
Unordered list:
* First item
* Second item
* Third item
Ordered list:
1. First step
2. Second step
3. Third step
## Code Blocks
Standard JavaScript:
```javascript
const hello = "world";
console.log(hello);
function test() {
return true;
}
```
Python with syntax highlighting:
```python
def hello_world():
print("Hello, World!")
return True
```
Code with max height (200px):
```javascript
// This is a long code block that will scroll
const data = [1, 2, 3, 4, 5];
function processData(arr) {
return arr.map(x => x * 2);
}
console.log(processData(data));
// Adding more lines to demonstrate scrolling
for (let i = 0; i < 10; i++) {
console.log(`Iteration ${i}`);
}
// Even more content
const obj = {
name: "Test",
value: 42,
nested: {
deep: true
}
};
```
## Blockquotes
> This is a blockquote.
> It can span multiple lines.
> And continues here.
## Horizontal Rule
***
## Images
![1.00](data/blog/media/test.gif "Caption Test")
![0.52](data/blog/media/paste-1778421636216-2lpkf.png)
## Mixed Content
<br />
You can mix **bold**, *italic*, and `code` in the same paragraph. Here's a [link with](https://example.com) **[bold](https://example.com)** [text](https://example.com) too.
### Nested Lists
* Top level itemsss
* Another top level
* Nested item (if supported)
* Another nested
1. Numbered item
2. Another numbered
* Mixed with bullets
* More bullets
## Special Characters
Testing special chars: < > & " '
## Long Paragraph
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 242 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 984 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 984 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 33 KiB

View File

@@ -1,52 +0,0 @@
---
title: Building Interactive Node Graphs
date: 2026-04-15
author: Max Litruv Boonzaayer
tags: javascript, graph-systems, tutorial
---
# Building Interactive Node Graphs
In this post, I'll share some insights on building interactive node-based graph systems for the web.
## Why Node Graphs?
Node graphs are powerful visual programming tools that make complex logic easier to understand and manipulate:
- **Visual Clarity**: See the flow of data and execution at a glance
- **Modularity**: Each node is a self-contained unit
- **Flexibility**: Easy to add new node types and behaviors
## The Architecture
The system is built on several key classes:
### NodeBase
The abstract base class that all nodes inherit from. It defines the blueprint interface:
```javascript
class NodeBase {
static NodeType = "";
static BlueprintPure_GetDefaultPins() { }
BlueprintNativeEvent_OnRender(article, graphNode, renderCtx) { }
async BlueprintCallable_Execute(ctx) { }
}
```
### Node Registry
Automatically registers node types and creates instances based on type strings.
### Execution Context
Handles the graph traversal and execution flow when nodes are triggered.
## Creating Custom Nodes
To create a new node type:
1. Extend `NodeBase`
2. Set a unique `NodeType`
3. Define pins with `BlueprintPure_GetDefaultPins()`
4. Implement rendering in `BlueprintNativeEvent_OnRender()`
5. Implement logic in `BlueprintCallable_Execute()`
That's the blueprint system in a nutshell!

View File

@@ -1,15 +0,0 @@
---
title: test d d d d
date: 2026-05-10
author: it me
---
asdffdsaasdffdsa
| <br /> | <br /> | <br /> | <br /> |
| :----- | :----- | :----- | -----: |
| <br /> | <br /> | <br /> | <br /> |
| <br /> | <br /> | <br /> | <br /> |
<br />
this is a test post, should't publish i guess, but who's reading lmao

View File

@@ -1,50 +1,30 @@
--- ---
title: Welcome to My Blog title: welcome
date: 2026-05-10 date: 2026-05-10
author: Max Litruv Boonzaayer author: Max Litruv Boonzaayer
tags: welcome, meta, introduction tags: welcome
--- ---
# Welcome to My Blog Congratulations on making it here, you've stumbled onto a game dev's blog, who's spent the past 12 years buried in Unreal Engine.
This is my first blog post! I'm excited to share my thoughts and experiences with you. From studying Programming and 3D Art & Animation at the Academy of Interactive Entertainment, to developing architectural experiences at [Orbit Solutions](https://www.orbitsolutions.com.au/), running 1-on-1 mentoring sessions on [Fiverr](https://www.fiverr.com/litruv), working with [Superfarm](https://superverse.co/), and now building my own games and tools with [Mates.dev](https://mates.dev) - this blog is where I will be dumping my processes.
## What This Blog Is About Expect game dev, systems design, experiments, tools, prototypes, and the occasional questionable decision that somehow worked out in the end.
This blog is built using a **custom node-based graph system** where each blog post is represented as a node in an interactive visual graph. Pretty cool, right? <br />
### Features ![1.00](data/blog/media/paste-1778426005842-2tr04.png)
* 📝 Markdown support with YAML front matter Like most people getting into game development, I started with terrible projects, helping others make technical decisions and squishing bugs along the way, I had many overly ambitious ideas, and an unhealthy confidence that I could probably work it out.
* 📅 Date-based organization *Somehow that part never really changed.*
* 🏷️ Tag system for categorization A lot of my work seems to revolve around systems-heavy gameplay, tools, modding workflows, UI frameworks, interaction systems, materials, save systems and going through weird technical problems that Unreal Engine has to solve. Somewhere along the way I also fell into hardware projects, self-hosted infrastructure, audio gear, embedded devices, and other rabbit holes that tend to consume my entire spare time.
* 🎨 Interactive node-based visualization These days I'm focused on building my own games and tech, while trying to document more of the process instead of letting years of experiments vanish into forgotten folders and messages.
* 📁 Media support in `data/blog/media/` ![1.00](blob:vscode-webview://1b6n822od8b3q8ir5r6it0k34211vkpefa12tlnhqbm9ukcvq8kt/01da462e-a8df-4331-ac20-7c487c5ba23b "Sewercide: Mash Lab")
## Technical Details This blog is mostly going to be a mix of development logs, technical breakdowns, experiments, ideas, failures, discoveries and whatever else crawls out of the workshop. Some posts will just document strange decisions made at unreasonable hours, the others might even be useful. Both are worth keeping around.
The build system automatically: <br />
1. Scans the `data/blog/` directory for `.md` files
2. Parses YAML front matter for metadata
3. Generates a `blogs.json` file
4. Makes posts available to the BlogPostNode
You can reference images like this:
![Example](data/blog/media/example.png)
## Code Examples
Here's some example code:
```javascript
const greeting = "Hello, World!";
console.log(greeting);
```
## Conclusion
Stay tuned for more posts! This is just the beginning of an exciting journey.