fix most errors

This commit is contained in:
Georges-Antoine Assi 2025-10-27 17:32:41 -04:00
parent 3a8c79f42a
commit ea2e4e6c81
No known key found for this signature in database
GPG Key ID: 30F6E9865ABBA06E
10 changed files with 98 additions and 88 deletions

View File

@ -6,4 +6,4 @@
<tspan x="589.494" y="296.458" style="font-style:normal;font-variant:normal;font-weight:700;font-stretch:normal;font-size:53.3333px;line-height:0;font-family:Calibri;-inkscape-font-specification:&quot;Calibri Bold&quot;;fill:#fff;fill-opacity:1;stroke-width:3.375">Beautiful, powerful,</tspan>
</text><text xml:space="preserve" x="582.656" y="207.396" style="font-style:normal;font-variant:normal;font-weight:400;font-stretch:normal;font-size:106.667px;line-height:0;font-family:Calibri;-inkscape-font-specification:Calibri;text-align:start;writing-mode:lr-tb;direction:ltr;text-anchor:start;fill:#3b82f6;fill-opacity:1;stroke-width:3.375">
<tspan x="582.656" y="207.396" style="font-style:normal;font-variant:normal;font-weight:700;font-stretch:normal;font-size:106.667px;line-height:0;font-family:Calibri;-inkscape-font-specification:&quot;Calibri Bold&quot;;fill:#fff;fill-opacity:1;stroke-width:3.375">RomM Docs</tspan>
</text></svg>
</text></svg>

Before

Width:  |  Height:  |  Size: 7.6 KiB

After

Width:  |  Height:  |  Size: 7.6 KiB

View File

@ -10,6 +10,7 @@ RomM automatically generates interactive API documentation using OpenAPI (Swagge
- **ReDoc**: Available at `http://your-instance:3000/api/redoc`
These interactive docs allow you to:
- Browse all available endpoints
- View request/response schemas
- Test API calls directly from your browser
@ -19,6 +20,7 @@ These interactive docs allow you to:
## Base URL
The API base URL is typically:
```text
http://your-instance:3000/api
```
@ -39,6 +41,7 @@ When using OAuth2, you'll need to obtain a token from `/api/token` endpoint and
The API uses OAuth2 scopes to control access to different resources:
**Read Scopes:**
- `me.read` - View your profile
- `roms.read` - View ROMs
- `platforms.read` - View platforms
@ -49,6 +52,7 @@ The API uses OAuth2 scopes to control access to different resources:
- `users.read` - View users
**Write Scopes:**
- `me.write` - Modify your profile
- `assets.write` - Modify assets
- `roms.user.write` - Modify user-rom properties
@ -64,12 +68,14 @@ The API uses OAuth2 scopes to control access to different resources:
The RomM API provides comprehensive endpoints for managing all aspects of your ROM collection:
### Core Resources
- **Platforms** - Manage and configure gaming platforms
- **ROMs** - Full CRUD operations for ROM files with extensive filtering, searching, and metadata matching
- **Collections** - Create and manage ROM collections, smart collections, and virtual collections
- **Users** - User management, authentication, invite links, and profiles
### Supporting Features
- **Authentication** - OAuth2 token management, OIDC login, password resets
- **Search** - Metadata provider search for ROMs and covers
- **Tasks** - Background task management and execution
@ -121,22 +127,22 @@ rom = response.json()
### Using JavaScript/Node.js
```javascript
const axios = require('axios');
const axios = require("axios");
// Setup authentication
const api = axios.create({
baseURL: 'http://your-instance:3000/api',
auth: {
username: 'username',
password: 'password'
}
baseURL: "http://your-instance:3000/api",
auth: {
username: "username",
password: "password",
},
});
// Get all libraries
const libraries = await api.get('/libraries');
const libraries = await api.get("/libraries");
// Get a specific ROM
const rom = await api.get('/roms/123');
const rom = await api.get("/roms/123");
```
## OpenAPI Specification
@ -157,4 +163,3 @@ For API-specific questions or issues:
2. Review the code in the [RomM repository](https://github.com/rommapp/romm)
3. Open an issue on [GitHub](https://github.com/rommapp/romm/issues)
4. Join the [Discord community](https://discord.com/invite/romm)

View File

@ -12,4 +12,3 @@ Welcome to the RomM API & Development documentation. This section contains resou
- **[API Reference](API-Reference.md)** - Complete API documentation with endpoints, schemas, and examples
- **[Contributing](Contributing.md)** - Guidelines for contributing code, translations, and documentation
- **[Development Setup](Development-Setup.md)** - How to set up your development environment

View File

@ -17,7 +17,7 @@ Exclude entire platforms (folders) from being scanned.
```yaml
exclude:
platforms: ["ps", "ngc", "gba"]
platforms: ["ps", "ngc", "gba"]
```
### ROMs
@ -35,10 +35,10 @@ Applies to ROMs that are single files (not in subfolders).
```yaml
exclude:
roms:
single_file:
extensions: ["xml", "txt"]
names: ["info.txt", "._*", "*.nfo"]
roms:
single_file:
extensions: ["xml", "txt"]
names: ["info.txt", "._*", "*.nfo"]
```
#### Multi-File ROMs
@ -53,12 +53,12 @@ Applies to ROMs stored as folders (multi-disc, with DLC, etc.).
```yaml
exclude:
roms:
multi_file:
names: ["final fantasy VII", "DLC"]
parts:
names: ["data.xml", "._*"]
extensions: ["xml", "txt"]
roms:
multi_file:
names: ["final fantasy VII", "DLC"]
parts:
names: ["data.xml", "._*"]
extensions: ["xml", "txt"]
```
---
@ -67,7 +67,7 @@ exclude:
Customize how RomM interprets your folder and platform names.
### Platforms
### Custom Folder Names
Map your custom folder names to RomM's recognized platform names.
@ -75,9 +75,9 @@ Map your custom folder names to RomM's recognized platform names.
```yaml
system:
platforms:
gc: "ngc" # Treats 'gc' folder as GameCube
psx: "ps" # Treats 'psx' folder as PlayStation
platforms:
gc: "ngc" # Treats 'gc' folder as GameCube
psx: "ps" # Treats 'psx' folder as PlayStation
```
### Versions
@ -88,8 +88,8 @@ Associate a platform with its main version. This also tells RomM to fetch metada
```yaml
system:
versions:
naomi: "arcade"
versions:
naomi: "arcade"
```
---
@ -104,7 +104,7 @@ If your ROMs folder is named `my_roms` instead of `roms`:
```yaml
filesystem:
roms_folder: "my_roms"
roms_folder: "my_roms"
```
---
@ -137,11 +137,11 @@ Controls metadata provider priority order.
```yaml
scan:
priority:
metadata:
- "igdb"
- "ss"
- "moby"
priority:
metadata:
- "igdb"
- "ss"
- "moby"
```
#### Artwork
@ -154,11 +154,11 @@ Controls artwork provider priority order for cover art and screenshots.
```yaml
scan:
priority:
artwork:
- "igdb"
- "ss"
- "moby"
priority:
artwork:
- "igdb"
- "ss"
- "moby"
```
#### Region
@ -171,11 +171,11 @@ Sets preferred region for cover art and game title (Screenscraper only).
```yaml
scan:
priority:
region:
- "us"
- "eu"
- "jp"
priority:
region:
- "us"
- "eu"
- "jp"
```
#### Language
@ -188,11 +188,11 @@ Sets preferred language for cover art and game title (Screenscraper only).
```yaml
scan:
priority:
language:
- "en"
- "es"
- "fr"
priority:
language:
- "en"
- "es"
- "fr"
```
### Media
@ -217,11 +217,11 @@ Configures which media assets to download (Screenscraper and ES-DE gamelist.xml
```yaml
scan:
media:
- box2d
- screenshot
- manual
- bezel
media:
- box2d
- screenshot
- manual
- bezel
```
---
@ -238,7 +238,7 @@ Enable debug mode to log available options to the browser console.
```yaml
emulatorjs:
debug: true
debug: true
```
### Cache Limit
@ -249,7 +249,7 @@ Cache limit per ROM in bytes. Set to `null` for unlimited.
```yaml
emulatorjs:
cache_limit: 52428800 # 50 MB
cache_limit: 52428800 # 50 MB
```
### Settings
@ -260,13 +260,13 @@ Configure core-specific settings. Use `default` to apply settings to all cores.
```yaml
emulatorjs:
settings:
parallel_n64: # Use the exact core name
vsync: disable
snes9x:
snes9x_region: ntsc
default: # These settings apply to all cores
fps: show
settings:
parallel_n64: # Use the exact core name
vsync: disable
snes9x:
snes9x_region: ntsc
default: # These settings apply to all cores
fps: show
```
### Controls
@ -277,16 +277,16 @@ Map keyboard and controller controls for each player.
```yaml
emulatorjs:
controls:
snes9x:
0: # Player 1
0: # Button mapping
value: x # Keyboard mapping
value2: BUTTON_2 # Controller mapping
1: # Player 2
0:
value: /
value2: BUTTON_2
controls:
snes9x:
0: # Player 1
0: # Button mapping
value: x # Keyboard mapping
value2: BUTTON_2 # Controller mapping
1: # Player 2
0:
value: /
value2: BUTTON_2
```
See [EmulatorJS documentation](https://emulatorjs.org/docs4devs/control-mapping/) for control mapping details.

View File

@ -55,7 +55,7 @@ This is a complete list of available environment variables; required variables a
| REDIS_USERNAME | Username for Redis/Valkey instance | | |
| REDIS_PASSWORD | Password for Redis/Valkey instance | | |
| REDIS_DB | Database number for Redis/Valkey instance | | `0` |
| REDIS_SSL | Enable SSL for Redis/Valkey instance | | `false` |
| REDIS_SSL | Enable SSL for Redis/Valkey instance | | `false` |
| SENTRY_DSN | DSN for Sentry error tracking | | |
## Metadata providers
@ -73,8 +73,8 @@ This is a complete list of available environment variables; required variables a
| LAUNCHBOX_API_ENABLED | Enable LaunchBox API integration | | `false` |
| PLAYMATCH_API_ENABLED | Enable PlayMatch API integration | | `false` |
| HASHEOUS_API_ENABLED | Enable Hasheous API integration | | `false` |
| FLASHPOINT_API_ENABLED | Enable Flashpoint API integration | | `false` |
| HLTB_API_ENABLED | Enable HowLongToBeat API integration | | `false` |
| FLASHPOINT_API_ENABLED | Enable Flashpoint API integration | | `false` |
| HLTB_API_ENABLED | Enable HowLongToBeat API integration | | `false` |
## Authentication

View File

@ -22,7 +22,7 @@ Here are some combinations you can use based on your needs:
- Supports 125+ popular systems
- ScreenScraper provides titles, descriptions, cover art, screenshots and manuals
- With the option for 3D boxes and CD/cartridge covers
- With the option for 3D boxes and CD/cartridge covers
- Retroachievements provides achievement progress
- **Use this if you want to avoid Twitch/Amazon products**
@ -137,17 +137,17 @@ EmulationStation, and it's modern successor ES-DE, use a custom XML format to st
```yaml
library/
└─ roms/
└─ roms/
└─ gba/
├─ game_1.gba
├─ game_2.gba
├─ gamelist.xml
├─ 3dboxes/
│ ├─ game_1.png
│ └─ game_2.png
├─ covers/
├─ screenshots/
└─ etc...
├─ game_1.gba
├─ game_2.gba
├─ gamelist.xml
├─ 3dboxes/
│ ├─ game_1.png
│ └─ game_2.png
├─ covers/
├─ screenshots/
└─ etc...
```
## Metadata Tags in Filenames

View File

@ -18,15 +18,19 @@ OIDC is an identity layer built on top of OAuth2. While OAuth2 primarily handles
RomM supports OIDC authentication with the following identity providers:
### [Authelia](../OIDC-Guides/OIDC-Setup-With-Authelia.md)
An open-source authentication and authorization server providing two-factor authentication and SSO. Ideal for self-hosters looking for a lightweight solution.
### [Authentik](../OIDC-Guides/OIDC-Setup-With-Authentik.md)
An open-source identity provider with support for modern authentication protocols, MFA, and comprehensive user management.
### [PocketID](../OIDC-Guides/OIDC-Setup-With-PocketID.md)
A simple OIDC provider that exclusively supports passkey authentication - no passwords required.
### [Zitadel](../OIDC-Guides/OIDC-Setup-With-Zitadel.md)
An enterprise-grade, open-source identity and access management platform supporting OAuth2, OIDC, SAML, and passwordless authentication.
## General Setup Requirements

View File

@ -14,6 +14,7 @@ Additionally, you can submit your RetroAchievements username and synchronize you
## User Interface
From here you can:
- Change your language
- Adjust the color scheme of RomM
- Control which ribbons are visible on the home screen
@ -24,6 +25,7 @@ From here you can:
## Library Management
From this screen you can:
- Edit platform bindings and versions on the Config tab
- Manage missing games on the Missing Games tab

View File

@ -76,7 +76,7 @@ The `Scan options` dropdown allows you to choose a specific type of scan to perf
- For example, selecting `IGDB` and `ScreenScraper` will update the metadata for games that **are matched** with IGDB **or** ScreenScraper, and will use `igdb_id` and/or `ssfr_id` to refetch the metadata from the respective providers.
- **Recalculate Hashes**: Recalculates hashes for all files in the selected platforms.
- **Total Rescan**: Rescans and rematches all games in the selected platforms (slowest).
- This will wipe all existing metadata matches, including the external IDs, and attempt to match them again, like on a fresh scan. *Saves, states and notes will be preserved.*
- This will wipe all existing metadata matches, including the external IDs, and attempt to match them again, like on a fresh scan. _Saves, states and notes will be preserved._
### Console

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.0 MiB

After

Width:  |  Height:  |  Size: 2.7 MiB