You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: Theming.md
+6-368Lines changed: 6 additions & 368 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,376 +7,14 @@ nav_order: 1
7
7
8
8
# Theming Guide
9
9
10
-
Ghost includes a powerful theming system that allows you to customize the visual appearance of both the GUI and command outputs. This guide covers creating, editing, and managing themes.
10
+
Ghost features a multi-file shareable theming system. This page will show you how to create and install themes.
11
11
12
-
## Overview
12
+
### Creating a theme
13
+
To create a theme in Ghost. Go to the settings page (gear icon) in the GUI and expand the theming section. This is where you can create, select and delete themes. If you want to install a theme file, click on the folder button next to the delete button, this will open the themes folder. Put your theme file here and the theme should appear in the select theme drop down. If it doesn't restart Ghost.
13
14
14
-
Ghost supports two types of themes:
15
-
-**GUI Themes** - Control the appearance of the graphical interface
16
-
-**Message Themes** - Control how command outputs are displayed in Discord
17
-
18
-
## Built-in Themes
19
-
20
-
### GUI Themes
21
-
-**Ghost (Default)** - Dark theme with blue accents
22
-
-**Light** - Clean light theme with bright colors
23
-
24
-
### Message Themes
25
-
-**Ghost** - Default styling for command outputs
26
-
-**Custom themes** - User-created message themes
27
-
28
-
## Theme Commands
29
-
30
-
### Basic Theme Commands
31
-
32
-
| Command | Description | Usage |
33
-
|---------|-------------|-------|
34
-
|`theming`| Show theming commands |`theming <page>`|
35
-
|`themes`| List all available themes |`themes`|
36
-
|`theme`| Change active theme |`theme [name]`|
37
-
38
-
### Viewing Themes
39
-
40
-
```bash
41
-
.themes # List all available themes
42
-
.theme # Show current theme info
43
-
.theme ghost # Switch to 'ghost' theme
44
-
```
45
-
46
-
## GUI Theme Structure
47
-
48
-
GUI themes are stored in JSON format in the `data/` directory:
49
-
50
-
### Basic Structure
51
-
```json
52
-
{
53
-
"themes": [
54
-
{
55
-
"theme_name": {
56
-
"type": "dark",
57
-
"colors": {
58
-
"primary": "#433dfb",
59
-
"secondary": "#222324",
60
-
"success": "#0abf34",
61
-
"info": "#2b6eff",
62
-
"warning": "#f39c12",
63
-
"danger": "#ff341f",
64
-
"light": "#ADB5BD",
65
-
"dark": "#1a1c1c",
66
-
"bg": "#121111",
67
-
"fg": "#ffffff",
68
-
"selectbg": "#555555",
69
-
"selectfg": "#ffffff",
70
-
"border": "#121111",
71
-
"inputfg": "#ffffff",
72
-
"inputbg": "#2f2f2f",
73
-
"active": "#1F1F1F"
74
-
}
75
-
}
76
-
}
77
-
]
78
-
}
79
-
```
80
-
81
-
### Color Properties
82
-
83
-
| Property | Description | Example |
84
-
|----------|-------------|---------|
85
-
|`primary`| Primary accent color |`#433dfb`|
86
-
|`secondary`| Secondary background |`#222324`|
87
-
|`success`| Success/positive color |`#0abf34`|
88
-
|`info`| Information color |`#2b6eff`|
89
-
|`warning`| Warning color |`#f39c12`|
90
-
|`danger`| Error/danger color |`#ff341f`|
91
-
|`light`| Light text/elements |`#ADB5BD`|
92
-
|`dark`| Dark backgrounds |`#1a1c1c`|
93
-
|`bg`| Main background |`#121111`|
94
-
|`fg`| Main foreground/text |`#ffffff`|
95
-
|`selectbg`| Selection background |`#555555`|
96
-
|`selectfg`| Selection text |`#ffffff`|
97
-
|`border`| Border colors |`#121111`|
98
-
|`inputfg`| Input text color |`#ffffff`|
99
-
|`inputbg`| Input background |`#2f2f2f`|
100
-
|`active`| Active element color |`#1F1F1F`|
101
-
102
-
## Creating Custom GUI Themes
103
-
104
-
### Method 1: JSON File Creation
105
-
106
-
1.**Copy existing theme**:
107
-
```bash
108
-
cp data/gui_theme.json data/gui_theme_custom.json
109
-
```
110
-
111
-
2.**Edit the theme file**:
112
-
```json
113
-
{
114
-
"themes": [
115
-
{
116
-
"my_custom_theme": {
117
-
"type": "dark",
118
-
"colors": {
119
-
"primary": "#ff6b6b",
120
-
"secondary": "#4a4a4a",
121
-
"bg": "#2d2d2d",
122
-
"fg": "#ffffff"
123
-
// ... other colors
124
-
}
125
-
}
126
-
}
127
-
]
128
-
}
129
-
```
130
-
131
-
3.**Apply the theme**:
132
-
- Restart Ghost
133
-
- The new theme will be available in settings
134
-
135
-
### Method 2: GUI Theme Editor
136
-
137
-
1. Open Ghost GUI
138
-
2. Navigate to **Tools > Theme Editor**
139
-
3. Select "Create New Theme"
140
-
4. Customize colors using color pickers
141
-
5. Preview changes in real-time
142
-
6. Save and apply
143
-
144
-
## Message Theme Customization
145
-
146
-
Message themes control how Ghost's command outputs appear in Discord.
147
-
148
-
### Theme Components
149
-
150
-
**Title Styling:**
151
-
- Color scheme
152
-
- Font styling
153
-
- Icon usage
154
-
155
-
**Description Formatting:**
156
-
- Text layout
157
-
- Color coding
158
-
- Emphasis styles
159
-
160
-
**Embed Structure:**
161
-
- Field organization
162
-
- Footer information
163
-
- Thumbnail/image usage
164
-
165
-
### Custom Message Themes
166
-
167
-
Create custom message themes by:
168
-
169
-
1.**Using theme commands** to modify existing themes
170
-
2.**Creating theme templates** for consistent styling
171
-
3.**Configuring embed settings** in config.json
172
-
173
-
## Theme Configuration
174
-
175
-
### Global Theme Settings
176
-
177
-
In `config.json`:
178
-
```json
179
-
{
180
-
"theme": "ghost",
181
-
"message_settings": {
182
-
"style": "image",
183
-
"auto_delete_delay": 15
184
-
}
185
-
}
186
-
```
187
-
188
-
### Per-Command Theming
189
-
190
-
Some commands support theme overrides:
191
-
```bash
192
-
.command_name --theme custom_theme
193
-
```
194
-
195
-
## Advanced Theming
196
-
197
-
### Dynamic Themes
198
-
199
-
Create themes that change based on:
200
-
-**Time of day** - Automatic light/dark switching
201
-
-**Discord status** - Theme matches your Discord status
202
-
-**Server context** - Different themes per server
203
-
204
-
### Theme Inheritance
205
-
206
-
```json
207
-
{
208
-
"my_theme": {
209
-
"extends": "ghost",
210
-
"colors": {
211
-
"primary": "#custom_color"
212
-
// Only override specific colors
213
-
}
214
-
}
215
-
}
216
-
```
217
-
218
-
### Font Customization
219
-
220
-
```json
221
-
{
222
-
"fonts": {
223
-
"main": "Host Grotesk",
224
-
"mono": "JetBrains Mono",
225
-
"size": {
226
-
"small": 10,
227
-
"normal": 12,
228
-
"large": 14
229
-
}
230
-
}
231
-
}
232
-
```
233
-
234
-
## Theme Management
235
-
236
-
### Installing Themes
237
-
238
-
**From File:**
239
-
1. Copy theme file to `data/` directory
240
-
2. Restart Ghost
241
-
3. Theme appears in themes list
242
-
243
-
**From Community:**
244
-
1. Download community theme
245
-
2. Verify theme structure
246
-
3. Install using GUI or file copy
247
-
248
-
### Exporting Themes
249
-
250
-
**GUI Method:**
251
-
1. Tools > Theme Editor
252
-
2. Select theme to export
253
-
3. Click "Export Theme"
254
-
4. Save .json file
255
-
256
-
**Manual Method:**
257
-
Copy theme section from config file
258
-
259
-
### Sharing Themes
260
-
261
-
**Theme Package Structure:**
262
-
```
263
-
my_theme/
264
-
├── theme.json # Theme definition
265
-
├── preview.png # Theme preview image
266
-
├── README.md # Theme description
267
-
└── assets/ # Additional resources
268
-
├── icons/
269
-
└── fonts/
270
-
```
271
-
272
-
## Color Theory for Themes
273
-
274
-
### Accessibility Considerations
275
-
276
-
**Contrast Ratios:**
277
-
- Text: Minimum 4.5:1 contrast
278
-
- Large text: Minimum 3:1 contrast
279
-
- UI elements: Minimum 3:1 contrast
280
-
281
-
**Color Blindness Support:**
282
-
- Avoid red/green only distinctions
283
-
- Use patterns or icons with colors
284
-
- Test with color blindness simulators
285
-
286
-
### Design Principles
287
-
288
-
**Dark Themes:**
289
-
- Use warm grays, not pure black
290
-
- Limit bright whites
291
-
- Ensure sufficient contrast
292
-
293
-
**Light Themes:**
294
-
- Use cool grays for backgrounds
295
-
- Ensure text readability
296
-
- Balance brightness levels
297
-
298
-
## Troubleshooting Themes
299
-
300
-
### Common Issues
301
-
302
-
**Theme Not Loading:**
303
-
- Check JSON syntax
304
-
- Verify file location
305
-
- Restart Ghost
306
-
307
-
**Colors Not Applying:**
308
-
- Clear theme cache
309
-
- Check property names
310
-
- Verify color format (#hexadecimal)
311
-
312
-
**Performance Issues:**
313
-
- Reduce complex gradients
314
-
- Optimize image assets
315
-
- Use web-safe colors
316
-
317
-
### Theme Validation
318
-
319
-
**JSON Validation:**
320
-
```bash
321
-
python -m json.tool theme.json
322
-
```
323
-
324
-
**Color Format Check:**
325
-
- Use 6-digit hex codes: `#RRGGBB`
326
-
- Avoid named colors: `red`, `blue`
327
-
- Test transparency support
328
-
329
-
## Best Practices
330
-
331
-
### Theme Development
332
-
333
-
1.**Start with existing theme** - Copy and modify
334
-
2.**Test thoroughly** - Check all UI elements
335
-
3.**Document changes** - Keep notes on modifications
3.**Test on different devices** - Ensure compatibility
344
-
4.**Cache efficiently** - Optimize for repeated use
345
-
346
-
### User Experience
347
-
348
-
1.**Maintain consistency** - Keep similar elements similar
349
-
2.**Ensure readability** - Text must be clearly visible
350
-
3.**Consider context** - Themes for different use cases
351
-
4.**Provide options** - Light and dark variants
352
-
353
-
## Theme Gallery
354
-
355
-
### Popular Community Themes
356
-
357
-
**Cyberpunk:**
358
-
- Neon accents
359
-
- Dark background
360
-
- Futuristic styling
361
-
362
-
**Minimalist:**
363
-
- Clean lines
364
-
- Limited colors
365
-
- Focus on content
366
-
367
-
**High Contrast:**
368
-
- Accessibility focused
369
-
- Strong color differences
370
-
- Clear distinctions
371
-
372
-
### Contributing Themes
373
-
374
-
1.**Create unique theme**
375
-
2.**Test extensively**
376
-
3.**Document features**
377
-
4.**Share with community**
378
-
5.**Provide support**
15
+
### Example Theme
16
+

379
17
380
18
---
381
19
382
-
Theming allows you to make Ghost truly your own. Experiment with different color schemes and styles to create the perfect environment for your selfbot experience!
20
+
Theming allows you to make Ghost truly your own. Experiment with different color schemes and styles to create the perfect environment for your selfbot experience!
0 commit comments