Skip to content

Commit 1a2c779

Browse files
Add files via upload
1 parent bf5b1d8 commit 1a2c779

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

47 files changed

+7816
-0
lines changed

README.md

Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
## Dynamic Fandom/Wiki System
2+
3+
A flexible, developer-friendly wiki system for games and media content. Create rich, interconnected wiki pages using a simple folder structure and TypeScript/JSON definitions.
4+
5+
### 📁 Getting Started
6+
7+
1. Clone this repository
8+
2. Install dependencies: `npm install`
9+
3. Start the development server: `npm run dev`
10+
11+
### 📚 Creating Wiki Pages
12+
13+
Pages are organized in category folders under `src/pages/`, example:
14+
15+
```
16+
src/pages/
17+
├── characters/
18+
│ ├── home.tsx
19+
│ └── hero.tsx
20+
├── items/
21+
│ ├── home.tsx
22+
│ └── sword.tsx
23+
└── locations/
24+
├── home.tsx
25+
└── castle.tsx
26+
```
27+
28+
Each category needs a `home.tsx` that serves as its landing page. Additional `.tsx` files in each folder are automatically registered as entries.
29+
30+
You can add any folder you wish and it will auto-register!
31+
32+
### 🌟 Rarity System
33+
34+
Content is classified using a 5-star rating system:
35+
36+
- ⭐⭐⭐⭐⭐ Legendary (Gold)
37+
- ⭐⭐⭐⭐ Epic (Purple)
38+
- ⭐⭐⭐ Rare (Blue)
39+
- ⭐⭐ Uncommon (Green)
40+
- ⭐ Common (Gray)
41+
42+
The rarity affects the display colour of content titles and influences their prominence in listings.
43+
44+
### 📈 Level Progression Systems
45+
46+
#### Character Ascension
47+
Characters can ascend through different level tiers (20, 40, 60, 80, 100), each requiring:
48+
- Experience points
49+
- Gold
50+
- Specific items
51+
- Unlocks new abilities
52+
- Improves stats
53+
54+
#### Enemy Difficulty
55+
Enemies have different difficulty tiers with:
56+
- Scaled stats
57+
- Improved abilities
58+
- Better drop rates
59+
- Unique rewards
60+
61+
### 📄 Page Schemas
62+
63+
More info about schemas can be found [here](src\pages\SCHEMA_GUIDE.md)
64+
65+
### 🔧 Type System
66+
67+
The wiki uses TypeScript interfaces to ensure consistency and provide autocompletion. See `src/types/WikiTypes.ts` for the complete type definitions.
68+
69+
### 🎨 Styling
70+
71+
The system uses Tailwind CSS for styling. Each component is responsive and optimized for readability.
72+
73+
### 🔄 Auto-Registration
74+
75+
New pages are automatically registered when added to the appropriate category folder. No manual routing or configuration is required.
76+
77+
### 🔍 Search & Navigation
78+
79+
The system includes built-in search functionality and automatic navigation generation based on the folder structure.

eslint.config.js

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
import js from '@eslint/js';
2+
import globals from 'globals';
3+
import reactHooks from 'eslint-plugin-react-hooks';
4+
import reactRefresh from 'eslint-plugin-react-refresh';
5+
import tseslint from 'typescript-eslint';
6+
7+
export default tseslint.config(
8+
{ ignores: ['dist'] },
9+
{
10+
extends: [js.configs.recommended, ...tseslint.configs.recommended],
11+
files: ['**/*.{ts,tsx}'],
12+
languageOptions: {
13+
ecmaVersion: 2020,
14+
globals: globals.browser,
15+
},
16+
plugins: {
17+
'react-hooks': reactHooks,
18+
'react-refresh': reactRefresh,
19+
},
20+
rules: {
21+
...reactHooks.configs.recommended.rules,
22+
'react-refresh/only-export-components': [
23+
'warn',
24+
{ allowConstantExport: true },
25+
],
26+
},
27+
}
28+
);

index.html

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
<!doctype html>
2+
<html lang="en">
3+
<head>
4+
<meta charset="UTF-8" />
5+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
6+
<title>Wiki Template</title>
7+
</head>
8+
<body>
9+
<div id="root"></div>
10+
<script type="module" src="/src/main.tsx"></script>
11+
</body>
12+
</html>

0 commit comments

Comments
 (0)