Skip to content

Commit c448e73

Browse files
committed
more content
1 parent 5dd32da commit c448e73

File tree

9 files changed

+108
-48
lines changed

9 files changed

+108
-48
lines changed

public/logs/de-la-soul-stakes-is-high.txt

Lines changed: 0 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -24,20 +24,3 @@ Lines like, "I'm sick of bitches shakin' asses / I'm sick of talkin' about blunt
2424
* **2Pac's Response:** The criticisms on the *Stakes Is High* album drew a response from 2Pac on the track "Against All Odds" from his posthumous album *The Don Killuminati: The 7 Day Theory*.
2525

2626
"Stakes Is High" remains a pivotal track in hip hop history, a moment when one of the genre's most respected groups risked commercial success to make a statement about the music and culture they loved.
27-
28-
## Second Verse
29-
30-
```
31-
>> -- Trugoy the Dove --
32-
33-
I'm sick of bitches shakin' asses
34-
I'm sick of talkin' 'bout blunts, sick of Versace glasses
35-
Sick of slang, sick of half-ass awards shows
36-
Sick of name-brand clothes (Word)
37-
Sick of R&B bitches over bullshit tracks (Heard)
38-
Cocaine and crack, which brings sickness to blacks
39-
Sick of swoll'-head rappers with they sickenin' raps
40-
Clappers of gats, makin' the whole sick world collapse
41-
The facts are gettin' sicker, even sicker, perhaps (Sicker, perhaps)
42-
I Stickabush to make a bundle to escape this synapse
43-
```

public/logs/special-ed-neva-go-back.txt

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -27,9 +27,3 @@ He was also a member of the supergroup **Crooklyn Dodgers**.
2727
**Crooklyn Dodgers Connection:** Before the release of "Revelations," Special Ed was a member of the supergroup Crooklyn Dodgers, who recorded a song for the soundtrack to Spike Lee's film "Crooklyn."
2828

2929
**Reggae Collaboration**: The album also features a collaboration with the legendary reggae artist Bounty Killer on the track "Just a Killa."
30-
31-
## Hook
32-
```
33-
I neva go back, I neva flow wack
34-
I just come back, I just come phat
35-
```

public/posts/dnd-content.txt

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
# RPG and DnD Content
2+
3+
> When you see `d&d` tag, it also includes fantasy and rpg content as well.
4+
5+
Dungeons & Dragons is _kinda_ fun, offering engaging narratives and strategic depth.
6+
It's a hobby that provides a welcome escape and a platform for creative exploration.
7+
8+
## Introduction
9+
10+
Let's talk about some of the D&D and RPG content I enjoy.
11+
I often find myself immersed in the detailed lore and mechanics of games like **Divinity Original Sin 2**, where decisions carry weight.
12+
I appreciate shows like "Secret Level," especially for their Warhammer episodes, which offer a glimpse into the creative process behind these expansive universes.
13+
My gaming collection is rich with D&D-inspired titles such as **Baldur's Gate 3**, **Pathfinder**, **Warhammer 40,000: Dawn of War II**, and **SpellForce 3**.
14+
Beyond these, I also delve into other fantasy epics like the **Warcraft** series, each presenting its own blend of adventure and challenge.
15+
16+
My connection to these worlds also includes a practical side, evident in my Warhammer figurine collection.
17+
The process of building and painting these miniatures is a satisfying aspect of the hobby,
18+
complementing the imaginative battles they represent. It's an activity that combines creativity,
19+
strategic thinking, and a sense of community, all contributing to a well-rounded pastime.
20+
21+
## D&D, RPG, and Fantasy: A Quick Dive
22+
23+
It's easy to use terms like D&D, RPG, and fantasy interchangeably, and honestly, I often do! While they're distinct, they share a lot of common ground, especially in the realm of immersive storytelling and world-building.
24+
25+
**Dungeons & Dragons (D&D)** is a specific tabletop role-playing game, often considered the progenitor of modern RPGs. It has its own set of rules, lore, and established settings. When I talk about D&D, I'm usually referring to this specific game or experiences directly inspired by its mechanics and themes.
26+
27+
**Role-Playing Games (RPGs)** are a broader genre where players assume the roles of characters in a fictional setting. This can be tabletop (like D&D), video games (like Divinity Original Sin 2 or Baldur's Gate 3), or even live-action. The core is character development, narrative choice, and often, strategic combat.
28+
29+
**Fantasy** is a genre of speculative fiction set in a fictional universe, often inspired by real-world myth and folklore. It typically involves magic, mythical creatures, and supernatural elements. Many RPGs and D&D campaigns are set in fantasy worlds, but not all fantasy is an RPG, and not all RPGs are fantasy (think sci-fi RPGs).
30+
31+
Here's a quick comparison:
32+
33+
| Feature | Dungeons & Dragons (D&D) | Role-Playing Games (RPGs) | Fantasy Genre |
34+
| :---------------- | :----------------------- | :------------------------ | :------------------ |
35+
| **Definition** | Specific tabletop game | Broad game genre | Broad fiction genre |
36+
| **Ruleset** | Specific, detailed | Varies widely | N/A |
37+
| **Player Role** | Character in D&D world | Character in fictional setting | Reader/Viewer |
38+
| **Interaction** | High (tabletop) | High (tabletop/video game) | Low (passive) |
39+
| **Setting** | Typically fantasy | Any (fantasy, sci-fi, etc.) | Typically magical/mythical |
40+
41+
Despite their differences, the lines blur constantly. Many fantasy stories lend themselves perfectly to RPGs, and D&D is a prime example of a fantasy RPG. For me, when I say "DND," I'm often using it as a shorthand to encompass all these wonderful aspects: the specific game, the broader genre of role-playing, and the rich, imaginative fantasy worlds they inhabit. It's all part of the same grand adventure!

public/posts/my-first-dnd-post.txt

Lines changed: 0 additions & 15 deletions
This file was deleted.

public/posts/posts.json

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -176,13 +176,14 @@
176176
}
177177
},
178178
{
179-
"slug": "my-first-dnd-post",
180-
"title": "My First D&D Post",
179+
"slug": "dnd-content",
180+
"title": "The Necessary D&D Post",
181181
"date": "2025-10-21",
182+
"updated": "2025-11-03",
182183
"description": "An introduction to my D&D adventures.",
183184
"tags": ["dnd", "rpg", "adventure"],
184185
"category": "d&d",
185-
"filename": "my-first-dnd-post.txt"
186+
"filename": "dnd-content.txt"
186187
},
187188

188189
{
@@ -206,12 +207,12 @@
206207
"filename": "hashrouter-vs-browserrouter.txt"
207208
},
208209
{
209-
"slug": "warning-post",
210-
"title": "Warning Post",
210+
"slug": "about-fezcodex",
211+
"title": "About Fezcodex",
211212
"date": "2025-10-14",
212-
"updated": "2025-10-15",
213+
"updated": "2025-11-03",
213214
"tags": ["writing", "updates"],
214215
"category": "rant",
215-
"filename": "warning-post.txt"
216+
"filename": "about-fezcodex.txt"
216217
}
217218
]

src/components/AnimatedRoutes.js

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@ import DndEpisodePage from '../pages/DndEpisodePage'; // New import
1717
import DndLorePage from '../pages/DndLorePage'; // New import
1818
import DndBookPage from '../pages/DndBookPage'; // New import
1919

20+
import UsefulLinksPage from '../pages/UsefulLinksPage';
21+
2022
const pageVariants = {
2123
initial: {
2224
opacity: 0,
@@ -255,6 +257,20 @@ function AnimatedRoutes() {
255257
}
256258
/>
257259
{/* D&D specific 404 page */}
260+
<Route
261+
path="/useful-links"
262+
element={
263+
<motion.div
264+
initial="initial"
265+
animate="in"
266+
exit="out"
267+
variants={pageVariants}
268+
transition={pageTransition}
269+
>
270+
<UsefulLinksPage />
271+
</motion.div>
272+
}
273+
/>
258274
<Route
259275
path="/dnd/*"
260276
element={

src/components/Sidebar.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -296,9 +296,9 @@ const Sidebar = ({ isOpen, toggleSidebar, toggleModal }) => {
296296
<hr className="border-gray-700 my-4" />
297297

298298
<div className="flex space-x-2 font-sans">
299-
<button className="bg-gray-900 hover:bg-gray-800 text-white py-2 px-4 rounded-md transition-colors w-full font-sans">
300-
Button 1
301-
</button>
299+
<NavLink to="/useful-links" className="bg-gray-900 hover:bg-gray-800 text-white py-2 px-4 rounded-md transition-colors w-full font-sans text-center">
300+
Random
301+
</NavLink>
302302

303303
<button onClick={toggleModal} className="bg-gray-900 hover:bg-gray-800 text-white py-2 px-4 rounded-md transition-colors w-full font-sans">
304304
Contact Me

src/pages/UsefulLinksPage.js

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
import React, { useState, useEffect } from 'react';
2+
import { useNavigate } from 'react-router-dom';
3+
4+
const UsefulLinksPage = () => {
5+
const navigate = useNavigate();
6+
const [loading, setLoading] = useState(true);
7+
8+
useEffect(() => {
9+
const fetchAndRedirect = async () => {
10+
try {
11+
const logsResponse = await fetch('/logs/logs.json');
12+
13+
const logs = await logsResponse.json();
14+
15+
const allLogUrls = logs.map((log) => `/logs/${log.slug}`);
16+
17+
const randomUrl = allLogUrls[Math.floor(Math.random() * allLogUrls.length)];
18+
navigate(randomUrl, { replace: true });
19+
} catch (error) {
20+
console.error('Error fetching content for redirection:', error);
21+
// Fallback or error message
22+
setLoading(false);
23+
}
24+
};
25+
26+
fetchAndRedirect();
27+
}, [navigate]);
28+
29+
if (loading) {
30+
return <div className="text-center py-16">Finding a random log for you...</div>;
31+
}
32+
33+
return (
34+
<div className="text-center py-16">
35+
<p>If you are not redirected, please click <a href="/">here</a> to go to the homepage.</p>
36+
</div>
37+
);
38+
};
39+
40+
export default UsefulLinksPage;

0 commit comments

Comments
 (0)