Skip to content

Commit 5f0ffa1

Browse files
committed
content(dnd): more stories
1 parent 4bc13da commit 5f0ffa1

21 files changed

+1135
-108
lines changed

public/stories/README.md

Lines changed: 85 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,13 @@ The content is organized as follows:
1010
public/stories/
1111
├── authors.piml
1212
├── books.piml
13+
├── characters.piml
14+
├── places.piml
15+
├── MarkdownExample.md
16+
├── _items_/
17+
│ ├── items.piml
18+
│ ├── [item-image].png
19+
│ └── ...
1320
└── [book-directory-name]/
1421
├── episode1.txt
1522
└── episode2.txt
@@ -18,7 +25,11 @@ public/stories/
1825

1926
* `authors.piml`: This PIML file contains the definitions for all authors.
2027
* `books.piml`: This PIML file serves as the main index for all story books and their respective episodes.
21-
* `[book-directory-name]/`: Each book's individual episode content files are stored in their own dedicated subdirectories. For example, `book-one/` would contain episodes for "Book One".
28+
* `characters.piml`: This PIML file contains the definitions for all characters (Dramatis Personae).
29+
* `places.piml`: This PIML file contains the definitions for all places and locations (The Atlas).
30+
* `_items_/`: Contains item definitions and their respective images.
31+
* `items.piml`: Definitions for artifacts and tools (The Armory).
32+
* `[book-directory-name]/`: Each book's individual episode content files are stored in their own dedicated subdirectories.
2233
* `episodeX.txt`: These are plain text files containing the actual narrative content for each episode.
2334

2435
## Episode File Contents
@@ -48,63 +59,101 @@ The `books.piml` file is a PIML document that, when parsed, results in an object
4859
(author) fezcode
4960
(date) 2025-11-14
5061
(updated) 2025-11-14
51-
> (episode)
52-
(id) 2
53-
(filename) book-one/episode2.txt
54-
(title) Episode 2: The Goblin Ambush
55-
(author) fezcode
56-
(date) 2025-11-14
57-
(updated) 2025-11-14
5862
(overlay) red
59-
60-
> (book)
61-
# ... more book objects
6263
```
6364

64-
### Root Object Properties:
65+
### Book Object Properties:
66+
67+
* `bookId` (Number): A unique identifier for the book.
68+
* `bookTitle` (String): The full title of the book.
69+
* `episodes` (Array): An array of episode objects belonging to this book.
70+
* `overlay` (String): A color string (e.g., "red", "blue", "black") used for visual styling in the application.
71+
72+
### Episode Object Properties:
6573

66-
* `books` (Array): An array of book objects.
74+
* `id` (Number): A unique identifier for the episode within its book.
75+
* `filename` (String): The relative path to the plain text file. Relative to the `public/stories/` directory.
76+
* `title` (String): The title of the episode.
77+
* `author` (String): The alias of the author, matching an `alias` in `authors.piml`.
78+
* `date` (String): Original release date.
79+
* `updated` (String): Last update date.
6780

6881
## Author Structure (authors.piml)
6982

70-
The `authors.piml` file is a PIML document that, when parsed, results in an object containing an `authors` array.
71-
7283
```piml
7384
(authors)
7485
> (author)
7586
(name) Samil
7687
(alias) fezcode
7788
(website) https://fezcode.com
7889
(image) https://avatars.githubusercontent.com/u/49845895?v=4
79-
> (author)
80-
(name) Sabri
81-
(alias) TheLastRoadRunner
82-
(website) https://github.com/TheLastRoadRunner
83-
(image) https://avatars.githubusercontent.com/u/99679216?v=4
84-
# more authors.
8590
```
8691

8792
### Author Object Properties:
8893

8994
* `name` (String): The name of the author.
90-
* `alias` (String): A unique alias for the author, used to link episodes to this author.
91-
* `website` (String, Optional): The website or URL associated with the author.
95+
* `alias` (String): A unique alias for the author.
96+
* `website` (String, Optional): The website URL.
9297
* `image` (String): A URL to the author's profile picture.
9398

94-
### Book Object Properties:
99+
## Character Structure (characters.piml)
95100

96-
* `bookId` (Number): A unique identifier for the book.
97-
* `bookTitle` (String): The full title of the book.
98-
* `episodes` (Array): An array of episode objects belonging to this book.
99-
* `overlay` (String): A color string (e.g., "red", "blue", "black") used for visual styling in the application.
101+
```piml
102+
(characters)
103+
> (character)
104+
(name) Corrigan
105+
(role) Private Investigator
106+
(book) The Broken Path
107+
(description) A cynical detective...
108+
(status) Alive (Haunted)
109+
```
100110

101-
### Episode Object Properties:
111+
### Character Object Properties:
102112

103-
* `id` (Number): A unique identifier for the episode within its book.
104-
* `filename` (String): The relative path to the plain text file containing the episode's content. This path is relative to the `public/stories/` directory (e.g., `book-one/episode1.txt`).
105-
* `title` (String): The title of the episode.
106-
* `author` (String): The alias of the author of the episode, matching an `alias` in the `authors` section.
107-
* `date` (String): The original release date of the episode.
108-
* `updated` (String): The last update date of the episode.
113+
* `name` (String): The name of the character.
114+
* `role` (String): The occupation or role.
115+
* `book` (String): Primary book appearance.
116+
* `description` (String): Brief biography.
117+
* `status` (String): Current status (e.g., Alive, Deceased).
118+
119+
## Place Structure (places.piml)
120+
121+
```piml
122+
(places)
123+
> (place)
124+
(name) Blade's Clinic
125+
(type) Medical Facility
126+
(book) The Tales of Doctor Blade
127+
(description) A sanctuary of white marble...
128+
(status) Active
129+
```
130+
131+
### Place Object Properties:
132+
133+
* `name` (String): The name of the location.
134+
* `type` (String): The type of place (e.g., Tavern, City).
135+
* `book` (String): The book where it is featured.
136+
* `description` (String): Description of the atmosphere.
137+
* `status` (String): Current status (e.g., Active, Destroyed).
138+
139+
## Item Structure (_items_/items.piml)
140+
141+
```piml
142+
(items)
143+
> (item)
144+
(name) Alilberry Extract
145+
(type) Potion / Poison
146+
(book) The Tales of Doctor Blade
147+
(description) A pearlescent grey mist...
148+
(owner) Doctor Blade
149+
(image) /stories/_items_/alilberry_extract.png
150+
```
151+
152+
### Item Object Properties:
109153

110-
This structure allows the application to dynamically load and display story content, organizing it into books and episodes with associated metadata, and also provides a central place for author information.
154+
* `name` (String): The name of the artifact or item.
155+
* `type` (String): The classification (e.g., Weapon, Tool, Potion).
156+
* `book` (String): The book where it first appears.
157+
* `description` (String): Detailed description of the item.
158+
* `owner` (String): The character or entity that owns the item.
159+
* `image` (String, Optional): Relative path to the item's image file.
1.37 MB
Loading

public/stories/_items_/items.piml

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
(items)
2+
> (item)
3+
(name) Alilberry Extract
4+
(type) Potion / Poison
5+
(book) The Tales of Doctor Blade
6+
(description) A pearlescent grey mist derived from a rare herb, processed through dwarven glass and sung over by a mute bard. One drop cures; two drops kill.
7+
(owner) Doctor Blade
8+
(image) /stories/_items_/alilberry_extract.png
9+
10+
> (item)
11+
(name) Soul of Viyu
12+
(type) Artifact
13+
(book) The Broken Path
14+
(description) A fragment of an ancient soul, pulsating with a faint, rhythmic light. It whispers to those who hold it, promising power at a terrible cost.
15+
(owner) Unknown
16+
(image) /stories/_items_/soul_of_viyu.png
1.39 MB
Loading

public/stories/books.piml

Lines changed: 26 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -1,86 +1,60 @@
11
(books)
22
> (book)
33
(bookId) 1
4-
(bookTitle) The Broken Path (EN)
4+
(bookTitle) The Broken Path
55
(episodes)
66
> (episode)
77
(id) 1
88
(filename) the-reflections/en/the-case-of-the-mirror-man.txt
9-
(title) The Case of the Mirror Man
9+
(title) The Case of the Mirror Man (EN)
1010
(author) Constellation
1111
(date) 2025-11-23
1212
(updated) 2025-11-23
13-
(overlay) dodgerblue
14-
15-
> (book)
16-
(bookId) 2
17-
(bookTitle) Yarım Kalmış Patika (TR)
18-
(episodes)
1913
> (episode)
20-
(id) 1
14+
(id) 2
2115
(filename) the-reflections/tr/the-case-of-the-mirror-man.txt
22-
(title) Ayna Adam Davası
16+
(title) Ayna Adam Davası (TR)
2317
(author) Constellation
2418
(date) 2025-11-23
2519
(updated) 2025-11-23
2620
(overlay) dodgerblue
2721

2822
> (book)
29-
(bookId) 3
30-
(bookTitle) Book Two: Separated Riches
31-
(episodes)
32-
> (episode)
33-
(id) 1
34-
(filename) book-one/episode1.txt
35-
(title) Episode 1: The Whispering Woods
36-
(author) fezcode
37-
(date) 2025-11-14
38-
(updated) 2025-11-14
39-
> (episode)
40-
(id) 2
41-
(filename) book-one/episode2.txt
42-
(title) Episode 2: The Goblin Ambush
43-
(author) fezcode
44-
(date) 2025-11-14
45-
(updated) 2025-11-14
46-
(overlay) blue
47-
48-
> (book)
49-
(bookId) 4
50-
(bookTitle) Book Three: Separated Riches
23+
(bookId) 2
24+
(bookTitle) The Tales of Doctor Blade
5125
(episodes)
5226
> (episode)
5327
(id) 1
54-
(filename) book-one/episode1.txt
55-
(title) Episode 1: The Whispering Woods
28+
(filename) doctor-blade/the-alilberry-cure.txt
29+
(title) The Drop of Alilberry (EN)
5630
(author) fezcode
57-
(date) 2025-11-14
58-
(updated) 2025-11-14
31+
(date) 2026-01-08
32+
(updated) 2026-01-08
5933
> (episode)
6034
(id) 2
61-
(filename) book-one/episode2.txt
62-
(title) Episode 2: The Goblin Ambush
35+
(filename) doctor-blade/alilberry-curesi.txt
36+
(title) Alilberry Damlası (TR)
6337
(author) fezcode
64-
(date) 2025-11-14
65-
(updated) 2025-11-14
66-
(overlay) black
38+
(date) 2026-01-08
39+
(updated) 2026-01-08
40+
(overlay) green
6741

6842
> (book)
69-
(bookId) 5
70-
(bookTitle) Book Four: Separated Riches
43+
(bookId) 3
44+
(bookTitle) The Butterfly's Jest
7145
(episodes)
7246
> (episode)
7347
(id) 1
74-
(filename) book-one/episode1.txt
75-
(title) Episode 1: The Whispering Woods
48+
(filename) the-butterflys-jest/the-last-laugh.txt
49+
(title) The Last Laugh (EN)
7650
(author) fezcode
77-
(date) 2025-11-14
78-
(updated) 2025-11-14
51+
(date) 2026-01-08
52+
(updated) 2026-01-08
7953
> (episode)
8054
(id) 2
81-
(filename) book-one/episode2.txt
82-
(title) Episode 2: The Goblin Ambush
55+
(filename) the-butterflys-jest/son-kahkaha.txt
56+
(title) Son Kahkaha (TR)
8357
(author) fezcode
84-
(date) 2025-11-14
85-
(updated) 2025-11-14
86-
(overlay) green
58+
(date) 2026-01-08
59+
(updated) 2026-01-08
60+
(overlay) violet

public/stories/characters.piml

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
(characters)
2+
> (character)
3+
(name) Corrigan
4+
(role) Private Investigator
5+
(book) The Broken Path
6+
(description) A cynical detective haunting the smog-choked streets, chasing his own demons and fractured memories.
7+
(status) Alive (Haunted)
8+
9+
> (character)
10+
(name) Doctor Blade
11+
(role) Physician & Assassin
12+
(book) The Tales of Doctor Blade
13+
(description) A legendary healer with a dark secret. He cures the incurable and kills with the same precision using the magical Alilberry.
14+
(status) Alive
15+
16+
> (character)
17+
(name) Master Vorn
18+
(role) Merchant
19+
(book) The Tales of Doctor Blade
20+
(description) A wealthy merchant, cheat, and slaver who sought a cure for his gout and found eternal rest instead.
21+
(status) Deceased
22+
23+
> (character)
24+
(name) Sultan of Butterflies
25+
(role) Comedian / Cult Leader
26+
(book) The Butterfly's Jest
27+
(description) A tall, beautiful, and sharp-witted widow turned comedian. She hides her quest for justice behind a mask of madness and punchlines.
28+
(status) Alive (Active)
29+
30+
> (character)
31+
(name) Galarian "Galar" Freiton
32+
(role) Scientist
33+
(book) The Butterfly's Jest
34+
(description) A brilliant scientist who spent 13 years discovering the "Soul of Viyu", a dark free energy source. Killed to keep it secret.
35+
(status) Deceased
36+
37+
> (character)
38+
(name) Agent Sprite
39+
(role) Government Agent
40+
(book) The Butterfly's Jest
41+
(description) A shadowy government operative involved in the assassination of Galarian Freiton.
42+
(status) Alive
43+
44+
> (character)
45+
(name) Agent Laozi
46+
(role) Government Agent
47+
(book) The Butterfly's Jest
48+
(description) A shadowy government operative involved in the assassination of Galarian Freiton.
49+
(status) Alive
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
Klinik her zaman sessizdi, beyaz mermerin ve hafif lavanta kokusunun hakim olduğu bir sığınak. Hastalar Doktor Blade'e sadece efsanevi yeteneği için değil, aynı zamanda gizliliği için de gelirlerdi. O, iyileştirilemezi iyileştirebilen, kemiği ve eti neredeyse ilahi bir dokunuşla birbirine örebilen adamdı. Ama Doktor Blade'in bir sırrı vardı, hem de çok kazançlı bir sır.
2+
3+
Ona "Alilberry Damlası" diyordu.
4+
5+
Eğitimsiz bir göze göre, Alilberry sinirleri yatıştırmak için çayda kullanılan nadir, zararsız bir ottu. Konsantre dozlarda, cüce camından yapılmış bir imbikten geçirilip dilsiz bir ozan tarafından üzerine şarkılar söylendiğinde, tamamen başka bir şeye dönüşüyordu. Mükemmel bir şifaya. Ve mükemmel bir silaha.
6+
7+
Blade gözlüklerini düzeltti, masada inleyen tüccara bakarak. "Gut korkunç bir şey, Efendi Vorn," dedi, sesi cilalı taş kadar pürüzsüzdü. "Ama bende çaresi var."
8+
9+
Küçük bir şişenin mantarını açtı. İçindeki sıvı sedefli gri bir sisle dönüyordu. Bir damla gutu anında iyileştirir, ürik asidi kandan sihir gibi temizlerdi. İki damla... eh, iki damla da aynısını yapardı, ama hastanın kalbi, klinikten ayrıldıktan yaklaşık bir saat sonra nazikçe, sessizce dururdu. Uykularında huzurlu bir geçiş. Doğal nedenler.
10+
11+
Kontrat dün gelmişti. Rakip bir lonca Vorn'un gitmesini istiyordu. Ödeme yüklüydü, Blade'in Aşağı Bölge'de gizlice desteklediği yetimhaneyi finanse etmeye yetecek kadardı. Ahlak kaygan bir zemindi, dedi Blade kendine. Vorn bir hilekâr ve köle tüccarıydı. O olmadan dünya daha temiz olacaktı.
12+
13+
"Açın ağzınızı," diye talimat verdi Blade.
14+
15+
Şişeyi eğdi. Bir damla düştü, Vorn'un diline yumuşak bir tıslamayla indi. Tüccarın yüzündeki rahatlama anındaydı.
16+
17+
"Mucizevi!" diye nefes nefese kaldı Vorn, doğrulurken. "Acı... gitti!"
18+
19+
"Memnun oldum," diye gülümsedi Blade, küçük, sıkı bir ifadeyle. "Ancak, bu kadar ilerlemiş bir vaka için, geri dönmemesini sağlamak adına bir takviye gereklidir."
20+
21+
"Her şey, Doktor! Her şey!"
22+
23+
Blade şişeyi tekrar eğdi. İlkine eşdeğer ikinci bir damla düştü.
24+
25+
"İşte," dedi Blade, şişeyi mantarlayarak. "İyileştiniz, Efendi Vorn. Eve gidin. Dinlenin. Önünüzde uzun bir uyku var."
26+
27+
Tüccar aceleyle dışarı çıkıp masaya ağır bir kese altın bırakırken, Doktor Blade şişeyi aldı ve ışığa tuttu. İçindeki sis dönüyor, kapana kısılmış bir ruh gibi dans ediyordu. O bir canavar değildi, diye mantık yürüttü. O sadece her rahatsızlık için tam dozajı bilen bir doktordu. Yaşam rahatsızlığı için bile.

0 commit comments

Comments
 (0)