Skip to content

Commit c3006be

Browse files
committed
projects: revamp
1 parent 371db12 commit c3006be

21 files changed

Lines changed: 196 additions & 119 deletions

_config.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
title: Raresh Nistor
1+
title: Rareș Nistor
22
# description: >- # this means to ignore newlines until "baseurl:"
33
# Write an awesome description for your new site here. You can edit this
44
# line in _config.yml. It will appear in your document head meta (for
@@ -7,7 +7,7 @@ title: Raresh Nistor
77
baseurl: ""
88
url: "https://razza.io"
99

10-
author: Raresh Nistor
10+
author: Rareș Nistor
1111

1212
collections:
1313
projects:
@@ -22,7 +22,7 @@ collections:
2222

2323
feed:
2424
excerpt_only: true
25-
author: Raresh Nistor
25+
author: Rareș Nistor
2626

2727
plugins:
2828
- jekyll-feed

_includes/footer.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<footer class="wrapper">
22
<div class="links">
3-
&copy; 2016 - {{ 'now' | date: "%Y" }} Raresh Nistor
3+
&copy; 2016 - {{ 'now' | date: "%Y" }} <span id="footer-name">Rareș Nistor</span>
44
</div>
55
<!-- <div class="nz">
66
<img src="{{ '/assets/kiwi.svg' }}" alt="" height="16">

_includes/project-list.html

Lines changed: 3 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,6 @@
11
<div class="project-list">
2-
{% for project in site.projects %}
3-
{% assign logo_path = "/assets/logos/projects/" | append: project.slug | append: ".svg" %}
4-
5-
<a href="{{ project.url | relative_url }}" class="project-tile {% if project.wip %}bg-wip{% endif %}">
6-
<img src="{{ logo_path | relative_url }}" alt="" width="64" height="64">
7-
<span class="project-tile-meta">
8-
<span class="title">{{ project.title }}</span>
9-
<span class="description">{{ project.description }}</span>
10-
</span>
11-
<span class="labels">
12-
{% for platform in project.platforms %}
13-
<span class="label">{{ platform }}</span>
14-
{% endfor %}
15-
</span>
16-
</a>
2+
{% for project in projects %}
3+
{% include project-tile.html
4+
project=project %}
175
{% endfor %}
186
</div>

_includes/project-tile.html

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
{% assign logo_path = "/assets/logos/projects/" | append: project.slug | append: ".svg" %}
2+
3+
<a href="{{ project.url | relative_url }}" class="project-tile {% if project.wip %}bg-wip{% endif %}">
4+
<img src="{{ logo_path | relative_url }}" alt="" width="64" height="64">
5+
<span class="project-tile-meta">
6+
<span class="title">{{ project.title }}</span>
7+
<span class="description">{{ project.description }}</span>
8+
</span>
9+
<span class="labels">
10+
{% for platform in project.platforms %}
11+
<span class="label">{{ platform }}</span>
12+
{% endfor %}
13+
</span>
14+
</a>
15+

_javascript/main/index.ts

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,3 +3,23 @@ console.info(`You're more than welcome to look around here, but this whole this
33
More info: https://razza.io/projects/razza.io
44
GitHub: https://github.com/itisrazza/razza.io
55
`);
6+
7+
const footerNames = [
8+
"Rareș Nistor",
9+
"Raresh Nistor",
10+
"Razz Nistor",
11+
"Razza",
12+
"Рареш Нистор",
13+
"ラレシュ ニストル",
14+
"Ραρές Νίστορ",
15+
];
16+
17+
const footerName = document.getElementById("footer-name");
18+
if (footerName) {
19+
let index = 0;
20+
21+
footerName.addEventListener("click", () => {
22+
index = (index + 1) % footerNames.length;
23+
footerName.textContent = footerNames[index];
24+
});
25+
}

_layouts/projects.html

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
---
2+
layout: chrome
3+
---
4+
5+
<header>
6+
<h1>Projects</h1>
7+
<p>What I work on in my free time. Mostly tools for whatever niche problem I had.</p>
8+
</header>
9+
10+
<div class="project-list">
11+
{% assign projects = site.projects | where: "archived", nil %}
12+
{% for project in projects %}
13+
{%- include project-tile.html project=project %}
14+
{% endfor %}
15+
</div>
16+
17+
<section id="archived">
18+
<header class="chrome-inset">
19+
<h2>Archived</h2>
20+
<p>Some older projects I have tinkered with in the past.</p>
21+
</header>
22+
<div class="project-list">
23+
{% assign projects = site.projects | where: "archived", "true" %}
24+
{% for project in projects %}
25+
{%- include project-tile.html project=project %}
26+
{% endfor %}
27+
</div>
28+
</section>
29+
30+
<section id="one-off">
31+
<header class="chrome-inset">
32+
<h2>One-offs & historical</h2>
33+
<p>Below are some projects I had completed and am not longer updating.</p>
34+
</header>
35+
<main class="project-list">
36+
{% for project in site.data.projects %}
37+
{% assign icon = 'assets/logos/projects/undefined.svg' %}
38+
{% if project.icon %}
39+
{% assign icon = 'assets/logos/projects/' | append: project.icon %}
40+
{% endif %}
41+
42+
<a href="{{ project.link }}" class="miniproject-tile">
43+
<img src="{{ icon | relative_url }}" alt="" width="32" height="32">
44+
<span class="miniproject-tile-meta">
45+
<span class="title">{{ project.name }}</span>
46+
<span class="description">{{ project.description }}</span>
47+
</span>
48+
</a>
49+
{% endfor %}
50+
</main>
51+
</section>

_projects/beetroot.md

Lines changed: 12 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,12 @@ links:
1313
archived: true
1414
---
1515

16-
> Beetroot is currently in development.
16+
<div class="alert">
17+
<p>Development on Beetroot has been stopped.</p>
18+
<p>Integrating with multiple music services means working around APIs that are largely locked down. Keeping those integrations working solo over time just isn't feasible.</p>
19+
</div>
1720

18-
Beetroot solves the question of "who's on aux?" whenever someone asks to queue a song. It is similar to [SharePlay] and [Spotify Jams], but allows music from multiple sources to be queued.
21+
Beetroot answers the question of "who's on aux?" — a shared queue that lets anyone at a gathering add songs, similar to [SharePlay] and [Spotify Jams] but across multiple music sources.
1922

2023
<div style="text-align:center">
2124
<img src="{{ '/assets/images/beetroot/client-feb-2025.png' | relative_url }}" alt="Screenshot of Beetroot Player with a few tracks in the queue." style="max-width:100%">
@@ -24,21 +27,14 @@ Beetroot solves the question of "who's on aux?" whenever someone asks to queue a
2427
[SharePlay]: https://support.apple.com/en-nz/guide/iphone/iphb657eb791/ios
2528
[Spotify Jams]: https://support.spotify.com/us/article/jam
2629

27-
I'm looking at implementing the following sources:
28-
29-
* **Local Media Playback** - like your own collection of MP3s, for example
30-
* **[Spotify]**
31-
* **[Apple Music]¹**
32-
* **[SoundCloud]**
30+
## History
3331

34-
[Spotify]: https://spotify.com/
35-
[Apple Music]: https://music.apple.com/
36-
[SoundCloud]: https://soundcloud.com/
32+
Beetroot started in high school and got revisited a few times through university.
3733

38-
¹ Only on platforms where [MusicKit](https://developer.apple.com/musickit) is available
34+
The earliest version was built on [Electron]. It later moved to [UWP], and eventually to Java after discovering [librespot-java] — a reverse-engineered Spotify client library. That shift unlocked real progress: Spotify playback and MP3 support both landed, along with a rudimentary web relay that let people queue songs remotely.
3935

40-
At launch, Beetroot will be released for:
36+
It stalled out while trying to add YouTube support. Both YouTube and Spotify changed their APIs around the same time, and maintaining integrations across multiple services that actively resist third-party clients wasn't something I could keep up with solo.
4137

42-
* Windows
43-
* macOS
44-
* Linux (Flatpak)
38+
[Electron]: https://www.electronjs.org/
39+
[UWP]: https://learn.microsoft.com/en-us/windows/uwp/get-started/universal-application-platform-guide
40+
[librespot-java]: https://github.com/librespot-org/librespot-java

_projects/blue.md

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
title: Blue
3-
description: Embedded Runtime for Applications and Embedded Devices
3+
description: Lightweight scripting language for embedded devices
44
layout: project
55
platforms:
66
- C
@@ -12,15 +12,20 @@ published: false
1212
wip: true
1313
---
1414

15-
Blue is small runtime with the goal of adding modulal functionality to
16-
applications and embedded devices.
15+
Blue is a small scripting language inspired by [Lua](https://www.lua.org) in
16+
concept, built for low memory usage and broad compatibility — the goal is that
17+
it should compile with even the most limited C compilers.
1718

18-
The goal is to be as easy to integrate as [Lua](https://www.lua.org), but have
19-
smaller module binaries and lower memory usage by having the executable modules
20-
be stored as bytecode instead of ASCII text.
19+
It is designed for two use cases:
2120

22-
This project was envisioned for two potential use-cases:
21+
- **Embedded devices** — the primary target is a multi-application e-ink tablet
22+
for tabletop gaming: tracking health points in MTG, running a dice roller, a
23+
chess clock, and so on. Each app would be a Blue script loaded onto the device.
24+
- **Embedded in applications** — like Lua, Blue can be embedded into a host
25+
application (a game engine, for example) to provide a scripting layer.
2326

24-
* An e-Ink tablet to be used for board or TCG game sessions.
27+
Rather than distributing scripts as source text, Blue compiles to bytecode.
28+
The idea is that bytecode is more space-efficient to store and more efficient
29+
to execute than parsing text at runtime.
2530

2631
The project is named after [an energy drink](https://v-energy-drink.com/products/blue).

_projects/cablecar.md

Lines changed: 3 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,9 @@
11
---
22
title: Cable Car Games
3-
description: Bitmap painter and converter for low bpp image formats
3+
description: Games I made
44
layout: project
5-
links:
6-
- label: Download
7-
url: https://github.com/thegreatrazz/VGAPainter/releases
8-
- label: Microsoft Store
9-
url: https://www.microsoft.com/store/apps/9NLF1CTQ6Z49
10-
- label: GitHub
11-
url: https://github.com/thegreatrazz/VGAPainter
12-
platforms: [Windows, .NET]
5+
redirect_to: https://cable-car.itch.io/
136
published: false
147
---
158

16-
<div class="callout callout-info"><b>Update:</b> VGAPainter is planned to be revived and updated in the near future.</div>
17-
18-
VGAPainter is a 256-color bitmap editor primarily targeting VGA mode 13h. It also supports custom palletes, importing and exporting to true colour formats and a binary bitmap format.
19-
20-
This was created as an experiment and means of generating visuals capable of display in MS-DOS. But it can also be used in making pixel art for other systems as well.
21-
22-
# System Requirements
23-
24-
| | GitHub Releases | Microsoft Store |
25-
| ------------------ | --------------------------- | --------------------------------- |
26-
| **OS** | Windows XP or later\* | Windows 10, version 1809 or later |
27-
| **.NET Framework** | .NET Framework 4.0 or later | (bundled) |
28-
| **Licence** | [WTFPL] | [Microsoft Store Terms of Sale] |
29-
30-
[WTFPL]: http://www.wtfpl.net/about/
31-
[Microsoft Store Terms of Sale]: https://www.microsoft.com/en-nz/store/b/terms-of-sale
32-
33-
\* Any OS capable of running .NET Framework 4.0 binaries, for example Linux with [Mono](https://www.mono-project.com/).
9+
Redirecting to [cable-car.itch.io](https://cable-car.itch.io/)

_projects/razza.io.md

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,15 @@ custom theme written largely by hand with HTML and [SCSS].
1717
[GitHub Pages]: https://pages.github.com/
1818
[SCSS]: https://sass-lang.com/
1919

20-
HTML and CSS does the heavy lifting here, with some JS sprinked in to add a few
21-
easter eggs, analytics, or the map on the [Travels](travels) page.
20+
HTML and CSS do the heavy lifting here, with JavaScript sprinkled in for things
21+
like easter eggs[^eggs], analytics, and the map on the [Travels](travels) page — with
22+
more to come.[^react]
23+
24+
[^eggs]: Try clicking my name in the footer, or opening the browser console.
25+
[^react]: At least it's not entirely JavaScript, unlike most React sites.
2226

2327
This website was previously made with PHP in 2016-2022, React in 2021-2023. I
24-
switched to Jekyll because I keeps everything much simpler with keeping site
28+
switched to Jekyll because it keeps everything much simpler with keeping site
2529
content authored as Markdown, and saves on web server maintenance.
2630

2731
## Design

0 commit comments

Comments
 (0)